From ce6be02a152c9920e6af68616c4e0c395427dc99 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Thu, 21 Sep 2023 15:30:12 +0800 Subject: [PATCH 01/18] refactor: use unocss --- .vscode/extensions.json | 1 + .vscode/settings.json | 11 ++- .../Application/src/AppDarkModeToggle.vue | 28 +++----- .../src/search/AppSearchFooter.vue | 14 +--- src/components/Basic/src/BasicHelp.vue | 23 ++---- .../ContextMenu/src/ContextMenu.vue | 2 +- src/components/CronTab/src/CronTabInput.vue | 24 +------ src/components/Cropper/src/CropperAvatar.vue | 9 +-- .../Drawer/src/components/DrawerFooter.vue | 32 +++------ .../Drawer/src/components/DrawerHeader.vue | 36 ++-------- .../Form/src/components/FileUpload.vue | 8 +-- .../src/components/VFormCreate/index.vue | 8 +-- .../VFormDesign/components/FormOptions.vue | 33 +-------- .../components/ImportJsonModal.vue | 8 +-- .../VFormDesign/components/PreviewCode.vue | 16 +---- .../src/components/VFormDesign/index.vue | 22 +----- src/components/Page/src/PageFooter.vue | 18 +---- src/components/Table/src/BasicTable.vue | 2 +- src/design/index.less | 1 - src/layouts/default/footer/index.vue | 42 ++--------- .../header/components/notify/NoticeList.vue | 70 +++---------------- .../header/components/notify/index.vue | 2 - src/layouts/default/index.vue | 22 +----- .../setting/components/InputNumberItem.vue | 20 +----- .../default/setting/components/SelectItem.vue | 21 +----- .../setting/components/SettingFooter.vue | 14 +--- .../default/setting/components/SwitchItem.vue | 14 +--- src/views/base/login/Login.vue | 5 +- src/views/base/login/SessionTimeoutLogin.vue | 16 +---- src/views/base/profile/AccountBind.vue | 17 +---- src/views/base/profile/BaseSetting.vue | 13 +--- src/views/base/profile/MsgNotify.vue | 10 +-- src/views/base/profile/SecureSetting.vue | 13 +--- src/views/base/profile/index.vue | 18 +---- .../bpm/processInstance/create/index.vue | 10 +-- src/views/infra/codegen/EditTable.vue | 10 +-- .../codegen/components/BasicInfoForm.vue | 42 +++-------- .../codegen/components/CloumInfoForm.vue | 39 +++-------- .../infra/codegen/components/FinishForm.vue | 14 +--- 39 files changed, 112 insertions(+), 596 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 5d7e57f3..0127df89 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,6 +6,7 @@ "stylelint.vscode-stylelint", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", + "usernamehw.errorlens", "mrmlnc.vscode-less", "lokalise.i18n-ally", "redhat.vscode-yaml", diff --git a/.vscode/settings.json b/.vscode/settings.json index f45d23cf..81f0295e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -66,6 +66,12 @@ "source.fixAll.eslint": true, "source.organizeImports": false }, + "eslint.rules.customizations": [ + { + "rule": "@stylistic/*", + "severity": "off" + } + ], "eslint.validate": [ "javascript", "javascriptreact", @@ -82,7 +88,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" @@ -166,6 +172,9 @@ "*.env": "$(capture).env.*", "package.json": ".hintrc,pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.gitignore,prettier.config.js,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" }, + "eslint.codeAction.showDocumentation": { + "enable": true + }, "terminal.integrated.scrollback": 10000, "nuxt.isNuxtApp": false } diff --git a/src/components/Application/src/AppDarkModeToggle.vue b/src/components/Application/src/AppDarkModeToggle.vue index 1a51fcad..7cde953f 100644 --- a/src/components/Application/src/AppDarkModeToggle.vue +++ b/src/components/Application/src/AppDarkModeToggle.vue @@ -29,8 +29,14 @@ function toggleDarkMode() { </script> <template> - <div v-if="getShowDarkModeToggle" :class="getClass" @click="toggleDarkMode"> - <div :class="`${prefixCls}-inner`" /> + <div + v-if="getShowDarkModeToggle" :class="getClass" + class="relative mr-auto h-6.5 w-12.5 flex cursor-pointer items-center justify-between rounded-4.5 bg-black px-1.5" + @click="toggleDarkMode" + > + <div + class="dark:(transform translateX(calc(100% + 2px))) absolute z-1 h-4.5 w-4.5 rounded-1/2 bg-white will-change-transform" + /> <SvgIcon size="14" name="sun" /> <SvgIcon size="14" name="moon" /> </div> @@ -46,29 +52,11 @@ html[data-theme='dark'] { } .@{prefix-cls} { - position: relative; - display: flex; - align-items: center; - justify-content: space-between; - width: 50px; - height: 26px; - padding: 0 6px; - margin-left: auto; - cursor: pointer; - background-color: #151515; - border-radius: 30px; &-inner { - position: absolute; - z-index: 1; - width: 18px; - height: 18px; - background-color: #fff; - border-radius: 50%; transition: transform 0.5s, background-color 0.5s; - will-change: transform; } &--dark { diff --git a/src/components/Application/src/search/AppSearchFooter.vue b/src/components/Application/src/search/AppSearchFooter.vue index 373de941..2b449803 100644 --- a/src/components/Application/src/search/AppSearchFooter.vue +++ b/src/components/Application/src/search/AppSearchFooter.vue @@ -8,7 +8,7 @@ const { t } = useI18n() </script> <template> - <div :class="`${prefixCls}`"> + <div class="relative h-10 flex flex-shrink-0 items-center border-t-1 rounded-bl-2xl px-4 py-0 dark:border-light-100"> <AppSearchKeyItem :class="`${prefixCls}-item`" icon="ant-design:enter-outlined" /> <span>{{ t('component.app.toSearch') }}</span> <AppSearchKeyItem :class="`${prefixCls}-item`" icon="ion:arrow-up-outline" /> @@ -23,18 +23,6 @@ const { t } = useI18n() @prefix-cls: ~'@{namespace}-app-search-footer'; .@{prefix-cls} { - position: relative; - display: flex; - flex-shrink: 0; - align-items: center; - height: 44px; - padding: 0 16px; - font-size: 12px; - // color: var(--text-color); - // background-color: var(--component-background); - border-top: 1px solid var(--border-color); - border-radius: 0 0 16px 16px; - &-item { display: flex; align-items: center; diff --git a/src/components/Basic/src/BasicHelp.vue b/src/components/Basic/src/BasicHelp.vue index 06c94509..8990fdb8 100644 --- a/src/components/Basic/src/BasicHelp.vue +++ b/src/components/Basic/src/BasicHelp.vue @@ -6,7 +6,6 @@ import { InfoCircleOutlined } from '@ant-design/icons-vue' import { getPopupContainer } from '@/utils' import { isArray, isString } from '@/utils/is' import { getSlot } from '@/utils/helper/tsxHelper' -import { useDesign } from '@/hooks/web/useDesign' const props = { /** @@ -44,7 +43,6 @@ export default defineComponent({ components: { Tooltip }, props, setup(props, { slots }) { - const { prefixCls } = useDesign('basic-help') const getTooltipStyle = computed((): CSSProperties => ({ color: props.color, fontSize: props.fontSize })) @@ -74,14 +72,14 @@ export default defineComponent({ return () => { return ( <Tooltip - overlayClassName={`${prefixCls}__wrap`} + overlayClassName="overlay-class" title={<div style={unref(getTooltipStyle)}>{renderTitle()}</div>} autoAdjustOverflow={true} overlayStyle={unref(getOverlayStyle)} placement={props.placement as 'right'} getPopupContainer={() => getPopupContainer()} > - <span class={prefixCls}>{getSlot(slots) || <InfoCircleOutlined />}</span> + <span class="ml-1.5 inline-block cursor-pointer text-sm">{getSlot(slots) || <InfoCircleOutlined />}</span> </Tooltip> ) } @@ -89,19 +87,10 @@ export default defineComponent({ }) </script> -<style lang="less"> -@prefix-cls: ~'@{namespace}-basic-help'; - -.@{prefix-cls} { - display: inline-block; - margin-left: 6px; - font-size: 14px; - cursor: pointer; - - &__wrap { - p { - margin-bottom: 0; - } +<style> +.overlay-class { + p { + margin-bottom: 0; } } </style> diff --git a/src/components/ContextMenu/src/ContextMenu.vue b/src/components/ContextMenu/src/ContextMenu.vue index db46712e..dbdddf13 100644 --- a/src/components/ContextMenu/src/ContextMenu.vue +++ b/src/components/ContextMenu/src/ContextMenu.vue @@ -31,7 +31,7 @@ const props = { const ItemContent: FunctionalComponent<ItemContentProps> = (props) => { const { item } = props return ( - <span style="display: inline-block; width: 100%; " class="px-4" onClick={props.handler.bind(null, item)}> + <span class="inline-block w-full px-4" onClick={props.handler.bind(null, item)}> {props.showIcon && item.icon && <Icon class="mr-2" icon={item.icon} />} <span>{item.label}</span> </span> diff --git a/src/components/CronTab/src/CronTabInput.vue b/src/components/CronTab/src/CronTabInput.vue index 963ffe6f..def73fca 100644 --- a/src/components/CronTab/src/CronTabInput.vue +++ b/src/components/CronTab/src/CronTabInput.vue @@ -3,7 +3,6 @@ import { ref, watch } from 'vue' import { Input } from 'ant-design-vue' import CronTabModal from './CronTabModal.vue' import { cronEmits, cronProps } from './cron.data' -import { useDesign } from '@/hooks/web/useDesign' import { useModal } from '@/components/Modal' import { propTypes } from '@/utils/propTypes' import { Icon } from '@/components/Icon' @@ -14,7 +13,6 @@ const props = defineProps({ exeStartTime: propTypes.oneOfType([propTypes.number, propTypes.string, propTypes.object]).def(0), }) const emit = defineEmits([...cronEmits]) -const { prefixCls } = useDesign('cron-input') const [registerModal, { openModal }] = useModal() const editCronValue = ref(props.value) @@ -37,11 +35,11 @@ function showConfigModal() { </script> <template> - <div :class="`${prefixCls}`"> + <div> <Input v-model:value="editCronValue" :placeholder="placeholder" :disabled="disabled"> <template #addonAfter> - <a class="open-btn" :disabled="disabled ? 'disabled' : null" @click="showConfigModal"> - <Icon icon="ant-design:setting-outlined" /> + <a class="cursor-pointer" :disabled="disabled ? 'disabled' : null" @click="showConfigModal"> + <Icon class="relative right-0.5 top-0.25" icon="ant-design:setting-outlined" /> <span>选择</span> </a> </template> @@ -56,19 +54,3 @@ function showConfigModal() { /> </div> </template> - -<style lang="less"> -@prefix-cls: ~'@{namespace}-cron-input'; - -.@{prefix-cls} { - a.open-btn { - cursor: pointer; - - .app-iconify { - position: relative; - top: 1px; - right: 2px; - } - } -} -</style> diff --git a/src/components/Cropper/src/CropperAvatar.vue b/src/components/Cropper/src/CropperAvatar.vue index cd5b8cce..38214f11 100644 --- a/src/components/Cropper/src/CropperAvatar.vue +++ b/src/components/Cropper/src/CropperAvatar.vue @@ -1,6 +1,7 @@ <script lang="ts" setup> import type { CSSProperties } from 'vue' import { computed, ref, unref, watch, watchEffect } from 'vue' +import { Avatar } from 'ant-design-vue' import CopperModal from './CopperModal.vue' import { useDesign } from '@/hooks/web/useDesign' import { useModal } from '@/components/Modal' @@ -65,9 +66,9 @@ defineExpose({ openModal: openModal.bind(null, true), closeModal }) <div :class="`${prefixCls}-image-mask`" :style="getImageWrapperStyle"> <Icon icon="ant-design:cloud-upload-outlined" :size="getIconWidth" :style="getImageWrapperStyle" color="#d6d6d6" /> </div> - <img v-if="sourceValue" :src="sourceValue" alt="avatar"> + <Avatar v-if="sourceValue" :size="{ xs: 24, sm: 32, md: 40, lg: 64, xl: 80, xxl: 100 }" :src="sourceValue" alt="avatar" /> </div> - <a-button v-if="showBtn" :class="`${prefixCls}-upload-btn`" v-bind="btnProps" @click="openModal"> + <a-button v-if="showBtn" class="mx-auto my-2.5" v-bind="btnProps" @click="openModal"> {{ btnText ? btnText : t('component.cropper.selectImage') }} </a-button> @@ -113,9 +114,5 @@ defineExpose({ openModal: openModal.bind(null, true), closeModal }) &-image-mask:hover { opacity: 40; } - - &-upload-btn { - margin: 10px auto; - } } </style> diff --git a/src/components/Drawer/src/components/DrawerFooter.vue b/src/components/Drawer/src/components/DrawerFooter.vue index b437f35d..cd780b90 100644 --- a/src/components/Drawer/src/components/DrawerFooter.vue +++ b/src/components/Drawer/src/components/DrawerFooter.vue @@ -2,7 +2,6 @@ import type { CSSProperties } from 'vue' import { computed } from 'vue' import { footerProps } from '../props' -import { useDesign } from '@/hooks/web/useDesign' defineOptions({ name: 'BasicDrawerFooter' }) @@ -15,8 +14,6 @@ const props = defineProps({ }) const emit = defineEmits(['ok', 'close']) -const { prefixCls } = useDesign('basic-drawer-footer') - const getStyle = computed((): CSSProperties => { const heightStr = `${props.height}` return { @@ -35,14 +32,21 @@ function handleClose() { </script> <template> - <div v-if="showFooter || $slots.footer" :class="prefixCls" :style="getStyle"> + <div + v-if="showFooter || $slots.footer" + class="absolute bottom-0 w-full border-t-1 border-light-200 bg-white pl-5 pr-3 dark:bg-dark" + :style="getStyle" + > <template v-if="!$slots.footer"> <slot name="insertFooter" /> <a-button v-if="showCancelBtn" v-bind="cancelButtonProps" class="mr-2" @click="handleClose"> {{ cancelText }} </a-button> <slot name="centerFooter" /> - <a-button v-if="showOkBtn" :type="okType" v-bind="okButtonProps" class="mr-2" :loading="confirmLoading" @click="handleOk"> + <a-button + v-if="showOkBtn" :type="okType" v-bind="okButtonProps" class="mr-2" :loading="confirmLoading" + @click="handleOk" + > {{ okText }} </a-button> <slot name="appendFooter" /> @@ -53,21 +57,3 @@ function handleClose() { </template> </div> </template> - -<style lang="less"> -@prefix-cls: ~'@{namespace}-basic-drawer-footer'; -@footer-height: 60px; -.@{prefix-cls} { - position: absolute; - bottom: 0; - width: 100%; - padding: 0 12px 0 20px; - text-align: right; - background-color: var(--component-background); - border-top: 1px solid var(--border-color); - - > * { - margin-right: 8px; - } -} -</style> diff --git a/src/components/Drawer/src/components/DrawerHeader.vue b/src/components/Drawer/src/components/DrawerHeader.vue index adce20a8..074eb25f 100644 --- a/src/components/Drawer/src/components/DrawerHeader.vue +++ b/src/components/Drawer/src/components/DrawerHeader.vue @@ -1,7 +1,6 @@ <script lang="ts" setup> import { ArrowLeftOutlined } from '@ant-design/icons-vue' import { BasicTitle } from '@/components/Basic' -import { useDesign } from '@/hooks/web/useDesign' import { propTypes } from '@/utils/propTypes' defineOptions({ name: 'BasicDrawerHeader' }) @@ -13,52 +12,27 @@ defineProps({ }) const emit = defineEmits(['close']) -const { prefixCls } = useDesign('basic-drawer-header') - function handleClose() { emit('close') } </script> <template> - <BasicTitle v-if="!isDetail" :class="prefixCls"> + <BasicTitle v-if="!isDetail" class="h-full flex items-center"> <slot name="title" /> {{ !$slots.title ? title : '' }} </BasicTitle> - <div v-else :class="[prefixCls, `${prefixCls}--detail`]"> - <span :class="`${prefixCls}__twrap`"> + <div v-else> + <span class="flex-1"> <span v-if="showDetailBack" @click="handleClose"> - <ArrowLeftOutlined :class="`${prefixCls}__back`" /> + <ArrowLeftOutlined class="cursor-pointer px-3" /> </span> <span v-if="title">{{ title }}</span> </span> - <span :class="`${prefixCls}__toolbar`"> + <span class="pr-12.5"> <slot name="titleToolbar" /> </span> </div> </template> - -<style lang="less"> -@prefix-cls: ~'@{namespace}-basic-drawer-header'; -@footer-height: 60px; -.@{prefix-cls} { - display: flex; - align-items: center; - height: 100%; - - &__back { - padding: 0 12px; - cursor: pointer; - } - - &__twrap { - flex: 1; - } - - &__toolbar { - padding-right: 50px; - } -} -</style> diff --git a/src/components/Form/src/components/FileUpload.vue b/src/components/Form/src/components/FileUpload.vue index 6baece2f..43ec3f7f 100644 --- a/src/components/Form/src/components/FileUpload.vue +++ b/src/components/Form/src/components/FileUpload.vue @@ -280,11 +280,11 @@ function getFileName(path) { <Upload :headers="headers" :multiple="multiple" - :action="uploadUrl as any" + :action="uploadUrl" :file-list="fileList" :disabled="disabled" v-bind="bindProps" - @remove="onRemove as any" + @remove="onRemove" @change="onFileChange" @preview="onFilePreview" > @@ -305,7 +305,6 @@ function getFileName(path) { </template> <style lang="less"> -//noinspection LessUnresolvedVariable @prefix-cls: ~'@{namespace}-upload'; .@{prefix-cls} { @@ -323,12 +322,9 @@ function getFileName(path) { } } - /* update-begin-author:taoyan date:2022-5-24 for:VUEN-1093详情界面 图片下载按钮显示不全 */ .upload-download-handler { right: 6px !important; } - - /* update-end-author:taoyan date:2022-5-24 for:VUEN-1093详情界面 图片下载按钮显示不全 */ } .ant-upload-list-item { diff --git a/src/components/FormDesign/src/components/VFormCreate/index.vue b/src/components/FormDesign/src/components/VFormCreate/index.vue index 5285d6c5..63ece88e 100644 --- a/src/components/FormDesign/src/components/VFormCreate/index.vue +++ b/src/components/FormDesign/src/components/VFormCreate/index.vue @@ -119,7 +119,7 @@ export default defineComponent({ <template> <div class="v-form-container"> - <Form ref="eFormModel" class="v-form-model" :model="formModel" v-bind="formModelProps"> + <Form ref="eFormModel" class="overflow-hidden" :model="formModel" v-bind="formModelProps"> <Row> <FormRender v-for="(schema, index) of noHiddenList" @@ -143,9 +143,3 @@ export default defineComponent({ </Form> </div> </template> - -<style lang="less" scoped> -.v-form-model { - overflow: hidden; -} -</style> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue b/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue index 9e0e0ded..4770fd13 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue @@ -52,10 +52,10 @@ function deleteGridOptions(index: number) { </div> <div v-else> <div v-for="(item, index) of formConfig.currentItem!.componentProps![key]" :key="index"> - <div class="options-box"> + <div class="mb-1.5 flex items-center"> <Input v-model:value="item.label" /> - <Input v-model:value="item.value" class="options-value" /> - <a class="options-delete" @click="deleteOptions(index)"> + <Input v-model:value="item.value" class="mx-2" /> + <a class="h-7.5 w-7.5 rounded-full bg-light-50 text-center text-gray-500 hover:bg-red-500" @click="deleteOptions(index)"> <Icon icon="ant-design:delete-outlined" /> </a> </div> @@ -67,30 +67,3 @@ function deleteGridOptions(index: number) { </div> </div> </template> - -<style lang="less" scoped> -.options-box { - display: flex; - align-items: center; - margin-bottom: 5px; - - .options-value { - margin: 0 8px; - } - - .options-delete { - flex-shrink: 0; - width: 30px; - height: 30px; - line-height: 30px; - color: #666; - text-align: center; - background: #f5f5f5; - border-radius: 50%; - - &:hover { - background: #ff4d4f; - } - } -} -</style> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue b/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue index e7e5a486..8a5f2700 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue @@ -109,7 +109,7 @@ defineExpose({ showModal }) 取消 </a-button> <Upload - class="upload-button" + class="mx-2.5" :before-upload="beforeUpload" :show-upload-list="false" accept="application/json" @@ -124,9 +124,3 @@ defineExpose({ showModal }) </template> </Modal> </template> - -<style lang="less" scoped> -.upload-button { - margin: 0 10px; -} -</style> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue b/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue index 171564a3..44db4897 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue @@ -72,10 +72,10 @@ export default defineComponent({ <div class="v-json-box"> <CodeEditor ref="myEditor" :value="editorJson" :mode="MODE.JSON" /> </div> - <div class="copy-btn-box"> + <div class="pt-2 text-center"> <a-button type="primary" - class="copy-btn" + class="mr-2" data-clipboard-action="copy" :data-clipboard-text="editorJson" @click="handleCopyJson" @@ -88,15 +88,3 @@ export default defineComponent({ </div> </div> </template> - -<style lang="less" scoped> -// modal复制按钮样式 -.copy-btn-box { - padding-top: 8px; - text-align: center; - - .copy-btn { - margin-right: 8px; - } -} -</style> diff --git a/src/components/FormDesign/src/components/VFormDesign/index.vue b/src/components/FormDesign/src/components/VFormDesign/index.vue index c9eb7bad..8f27b905 100644 --- a/src/components/FormDesign/src/components/VFormDesign/index.vue +++ b/src/components/FormDesign/src/components/VFormDesign/index.vue @@ -19,7 +19,6 @@ import PropsPanel from './modules/PropsPanel.vue' import ImportJsonModal from './components/ImportJsonModal.vue' import CodeModal from './components/CodeModal.vue' import { globalConfigState } from './config/formItemPropsConfig' -import { useDesign } from '@/hooks/web/useDesign' import { CollapseContainer } from '@/components/Container/index' import 'codemirror/mode/javascript/javascript' @@ -29,7 +28,6 @@ defineProps({ default: 'v-form-antd表单设计器', }, }) -const { prefixCls } = useDesign('form-design') // 子组件实例 const propsPanel = ref<null | IPropsPanel>(null) const jsonModal = ref<null | IToolbarMethods>(null) @@ -251,7 +249,7 @@ provide<IFormDesignMethods>('formDesignMethods', { <template> <Layout> <LayoutSider - :class="`left ${prefixCls}-sider`" + class="bg-white dark:bg-black" collapsible collapsed-width="0" width="270" @@ -302,7 +300,7 @@ provide<IFormDesignMethods>('formDesignMethods', { /> </LayoutContent> <LayoutSider - :class="`right ${prefixCls}-sider`" + class="bg-white dark:bg-black" collapsible :reverse-arrow="true" collapsed-width="0" @@ -327,19 +325,3 @@ provide<IFormDesignMethods>('formDesignMethods', { <VFormPreview ref="eFormPreview" :form-config="formConfig" /> <VFormPreview2 ref="eFormPreview2" :form-config="formConfig" /> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-form-design'; - -[data-theme='dark'] { - .@{prefix-cls}-sider { - background-color: #1f1f1f; - } -} - -[data-theme='light'] { - .@{prefix-cls}-sider { - background-color: #fff; - } -} -</style> diff --git a/src/components/Page/src/PageFooter.vue b/src/components/Page/src/PageFooter.vue index 31eda4c8..8932ed26 100644 --- a/src/components/Page/src/PageFooter.vue +++ b/src/components/Page/src/PageFooter.vue @@ -9,8 +9,8 @@ const { getCalcContentWidth } = useMenuSetting() </script> <template> - <div :class="prefixCls" :style="{ width: getCalcContentWidth }"> - <div :class="`${prefixCls}__left`"> + <div class="fixed bottom-0 right-0 z-99 w-full flex items-center border-t-1 px-6 text-base/44" :style="{ width: getCalcContentWidth }"> + <div class="flex-1-1"> <slot name="left" /> </div> <slot /> @@ -24,24 +24,10 @@ const { getCalcContentWidth } = useMenuSetting() @prefix-cls: ~'@{namespace}-page-footer'; .@{prefix-cls} { - position: fixed; - right: 0; - bottom: 0; - z-index: @page-footer-z-index; - display: flex; - align-items: center; - width: 100%; - padding: 0 24px; - line-height: 44px; - border-top: 1px solid var(--border-color); box-shadow: 0 -6px 16px -8px rgb(0 0 0 / 8%), 0 -9px 28px 0 rgb(0 0 0 / 5%), 0 -12px 48px 16px rgb(0 0 0 / 3%); transition: width 0.2s; - - &__left { - flex: 1 1; - } } </style> diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue index 885bc840..0e79bd6b 100644 --- a/src/components/Table/src/BasicTable.vue +++ b/src/components/Table/src/BasicTable.vue @@ -316,7 +316,7 @@ emit('register', tableAction, formActions) <style lang="less"> @prefix-cls: ~'@{namespace}-basic-table'; -[data-theme='dark'] { +html[data-theme='dark'] { .ant-table-tbody > tr:hover.ant-table-row-selected > td, .ant-table-tbody > tr.ant-table-row-selected td { background-color: #262626; diff --git a/src/design/index.less b/src/design/index.less index ab4c0cc0..a8b52ea8 100644 --- a/src/design/index.less +++ b/src/design/index.less @@ -1,7 +1,6 @@ @import "transition/index.less"; @import "var/index.less"; @import "public.less"; -// @import "ant/index.less"; @import "./theme.less"; @import "./entry.css"; diff --git a/src/layouts/default/footer/index.vue b/src/layouts/default/footer/index.vue index 7cf18559..de6cef27 100644 --- a/src/layouts/default/footer/index.vue +++ b/src/layouts/default/footer/index.vue @@ -11,7 +11,6 @@ import { openWindow } from '@/utils' import { useI18n } from '@/hooks/web/useI18n' import { useRootSetting } from '@/hooks/setting/useRootSetting' -import { useDesign } from '@/hooks/web/useDesign' defineOptions({ name: 'LayoutFooter' }) @@ -22,7 +21,6 @@ const Footer = Layout.Footer const { t } = useI18n() const { getShowFooter } = useRootSetting() const { currentRoute } = useRouter() -const { prefixCls } = useDesign('layout-footer') const footerRef = ref<ComponentRef>(null) const { setFooterHeight } = useLayoutHeight() @@ -40,43 +38,15 @@ const getShowLayoutFooter = computed(() => { </script> <template> - <Footer v-if="getShowLayoutFooter" ref="footerRef" :class="prefixCls"> - <div :class="`${prefixCls}__links`"> - <a @click="openWindow(SITE_URL)">外包咨询</a> + <Footer v-if="getShowLayoutFooter" ref="footerRef" class="text-center text-[var(--normal-text)]"> + <div class="mb-2"> + <a class="text-[var(--normal-text)] hover:text-[var(--hover-text)]" @click="openWindow(SITE_URL)">外包咨询</a> - <GithubFilled :class="`${prefixCls}__github`" @click="openWindow(GITHUB_URL)" /> + <GithubFilled class="mx-7.5 hover:text-[var(--hover-text)]" @click="openWindow(GITHUB_URL)" /> - <a @click="openWindow(DOC_URL)">{{ t('layout.footer.onlineDocument') }}</a> + <a class="text-[var(--normal-text)] hover:text-[var(--hover-text)]" @click="openWindow(DOC_URL)">{{ + t('layout.footer.onlineDocument') }}</a> </div> <div>Copyright ©2023 {{ SITE_TITLE }}</div> </Footer> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-layout-footer'; - -.@{prefix-cls} { - color: var(--normal-text); - text-align: center; - - &__links { - margin-bottom: 8px; - - a { - color: var(--normal-text); - - &:hover { - color: var(--hover-text); - } - } - } - - &__github { - margin: 0 30px; - - &:hover { - color: var(--hover-text); - } - } -} -</style> diff --git a/src/layouts/default/header/components/notify/NoticeList.vue b/src/layouts/default/header/components/notify/NoticeList.vue index 0df97f58..5b4884dc 100644 --- a/src/layouts/default/header/components/notify/NoticeList.vue +++ b/src/layouts/default/header/components/notify/NoticeList.vue @@ -2,7 +2,6 @@ import { computed, ref, unref, watch } from 'vue' import { Avatar, List, Tag, Typography } from 'ant-design-vue' import type { ListItem } from './data' -import { useDesign } from '@/hooks/web/useDesign' import { isNumber } from '@/utils/is' const props = defineProps({ @@ -31,7 +30,6 @@ const props = defineProps({ }, }) const emit = defineEmits(['update:currentPage']) -const { prefixCls } = useDesign('header-notify-list') const current = ref(props.currentPage || 1) const getData = computed(() => { const { pageSize, list } = props @@ -72,12 +70,12 @@ function handleTitleClick(item: ListItem) { </script> <template> - <List :class="prefixCls" bordered :pagination="getPagination"> + <List class="display-none" bordered :pagination="getPagination"> <template v-for="item in getData" :key="item.id"> - <List.Item class="list-item"> + <List.Item class="cursor-pointer overflow-hidden p-1.5 transition-all delay-300"> <List.Item.Meta> <template #title> - <div class="title"> + <div class="mb-2 font-normal"> <Typography.Paragraph style="width: 100%; margin-bottom: 0 !important" :style="{ cursor: isTitleClickable ? 'pointer' : '' }" @@ -86,8 +84,8 @@ function handleTitleClick(item: ListItem) { :content="item.title" @click="handleTitleClick(item)" /> - <div v-if="item.extra" class="extra"> - <Tag class="tag" :color="item.color"> + <div v-if="item.extra" class="float-right mr-0 font-normal -mt-0.375"> + <Tag class="mr-0" :color="item.color"> {{ item.extra }} </Tag> </div> @@ -95,20 +93,20 @@ function handleTitleClick(item: ListItem) { </template> <template #avatar> - <Avatar v-if="item.avatar" class="avatar" :src="item.avatar" /> + <Avatar v-if="item.avatar" class="mt-1" :src="item.avatar" /> <span v-else> {{ item.avatar }}</span> </template> <template #description> <div> - <div v-if="item.description" class="description"> + <div v-if="item.description" class="text-xs/18"> <Typography.Paragraph style="width: 100%; margin-bottom: 0 !important" :ellipsis="$props.descRows && $props.descRows > 0 ? { rows: $props.descRows, tooltip: !!item.description } : false" :content="item.description" /> </div> - <div class="datetime"> + <div class="mt-1 text-xs/18"> {{ item.datetime }} </div> </div> @@ -118,55 +116,3 @@ function handleTitleClick(item: ListItem) { </template> </List> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-header-notify-list'; - -.@{prefix-cls} { - &::-webkit-scrollbar { - display: none; - } - - ::v-deep(.ant-pagination-disabled) { - display: inline-block !important; - } - - &-item { - padding: 6px; - overflow: hidden; - cursor: pointer; - transition: all 0.3s; - - .title { - margin-bottom: 8px; - font-weight: normal; - - .extra { - float: right; - margin-top: -1.5px; - margin-right: 0; - font-weight: normal; - - .tag { - margin-right: 0; - } - } - - .avatar { - margin-top: 4px; - } - - .description { - font-size: 12px; - line-height: 18px; - } - - .datetime { - margin-top: 4px; - font-size: 12px; - line-height: 18px; - } - } - } -} -</style> diff --git a/src/layouts/default/header/components/notify/index.vue b/src/layouts/default/header/components/notify/index.vue index 9201c38c..65b19cb3 100644 --- a/src/layouts/default/header/components/notify/index.vue +++ b/src/layouts/default/header/components/notify/index.vue @@ -33,5 +33,3 @@ onMounted(async () => { </Tooltip> </div> </template> - -<style lang="less"></style> diff --git a/src/layouts/default/index.vue b/src/layouts/default/index.vue index 306a26f9..9abaff54 100644 --- a/src/layouts/default/index.vue +++ b/src/layouts/default/index.vue @@ -9,7 +9,6 @@ import LayoutSideBar from './sider/index.vue' import { useHeaderSetting } from '@/hooks/setting/useHeaderSetting' import { useMenuSetting } from '@/hooks/setting/useMenuSetting' import { useAppInject } from '@/hooks/web/useAppInject' -import { useDesign } from '@/hooks/web/useDesign' import { useLockPage } from '@/hooks/web/useLockPage' import { createAsyncComponent } from '@/utils/factory/createAsyncComponent' @@ -18,7 +17,6 @@ defineOptions({ name: 'DefaultLayout' }) const LayoutFeatures = createAsyncComponent(() => import('@/layouts/default/feature/index.vue')) const LayoutFooter = createAsyncComponent(() => import('@/layouts/default/footer/index.vue')) -const { prefixCls } = useDesign('default-layout') const { getIsMobile } = useAppInject() const { getShowFullHeaderRef } = useHeaderSetting() const { getShowSidebar, getIsMixSidebar, getShowMenu } = useMenuSetting() @@ -36,12 +34,12 @@ const layoutClass = computed(() => { </script> <template> - <Layout :class="prefixCls" v-bind="lockEvents"> + <Layout class="min-h-full w-full flex flex-col" v-bind="lockEvents"> <LayoutFeatures /> <LayoutHeader v-if="getShowFullHeaderRef" fixed /> <Layout :class="[layoutClass]"> <LayoutSideBar v-if="getShowSidebar || getIsMobile" /> - <Layout :class="`${prefixCls}-main`"> + <Layout class="ml-0.25 w-full"> <LayoutMultipleHeader /> <LayoutContent /> <LayoutFooter /> @@ -49,19 +47,3 @@ const layoutClass = computed(() => { </Layout> </Layout> </template> - -<style lang="less"> - @prefix-cls: ~'@{namespace}-default-layout'; - - .@{prefix-cls} { - display: flex; - flex-direction: column; - width: 100%; - min-height: 100%; - - &-main { - width: 100%; - margin-left: 1px; - } - } -</style> diff --git a/src/layouts/default/setting/components/InputNumberItem.vue b/src/layouts/default/setting/components/InputNumberItem.vue index 96306e2b..07bf4540 100644 --- a/src/layouts/default/setting/components/InputNumberItem.vue +++ b/src/layouts/default/setting/components/InputNumberItem.vue @@ -2,7 +2,6 @@ import { InputNumber } from 'ant-design-vue' import { baseHandler } from '../handler' import type { HandlerEnum } from '../enum' -import { useDesign } from '@/hooks/web/useDesign' defineOptions({ name: 'InputNumberItem' }) @@ -14,7 +13,6 @@ const props = defineProps({ type: String, }, }) -const { prefixCls } = useDesign('setting-input-number-item') function handleChange(e) { props.event && baseHandler(props.event, e) @@ -22,22 +20,8 @@ function handleChange(e) { </script> <template> - <div :class="prefixCls"> + <div class="my-4 flex justify-between"> <span> {{ title }}</span> - <InputNumber v-bind="$attrs" :class="`${prefixCls}-input-number`" @change="handleChange" /> + <InputNumber v-bind="$attrs" class="max-w-32 w-30" @change="handleChange" /> </div> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-setting-input-number-item'; - -.@{prefix-cls} { - display: flex; - justify-content: space-between; - margin: 16px 0; - - &-input-number { - width: 126px !important; - } -} -</style> diff --git a/src/layouts/default/setting/components/SelectItem.vue b/src/layouts/default/setting/components/SelectItem.vue index a4f8cdb6..dec8ec9c 100644 --- a/src/layouts/default/setting/components/SelectItem.vue +++ b/src/layouts/default/setting/components/SelectItem.vue @@ -4,7 +4,6 @@ import { computed } from 'vue' import { Select } from 'ant-design-vue' import { baseHandler } from '../handler' import type { HandlerEnum } from '../enum' -import { useDesign } from '@/hooks/web/useDesign' defineOptions({ name: 'SelectItem' }) @@ -29,33 +28,19 @@ const props = defineProps({ default: () => [], }, }) -const { prefixCls } = useDesign('setting-select-item') const getBindValue = computed(() => { return props.def ? { value: props.def, defaultValue: props.initValue || props.def } : {} }) -function handleChange(e: ChangeEvent) { +function handleChange(e) { props.event && baseHandler(props.event, e) } </script> <template> - <div :class="prefixCls"> + <div class="my-4 flex justify-between"> <span> {{ title }}</span> - <Select v-bind="getBindValue" :class="`${prefixCls}-select`" :disabled="disabled" :options="options" @change="handleChange as any" /> + <Select v-bind="getBindValue" class="max-w-32 w-30" :disabled="disabled" :options="options" @change="handleChange" /> </div> </template> -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-setting-select-item'; - -.@{prefix-cls} { - display: flex; - justify-content: space-between; - margin: 16px 0; - - &-select { - width: 126px; - } -} -</style> diff --git a/src/layouts/default/setting/components/SettingFooter.vue b/src/layouts/default/setting/components/SettingFooter.vue index ce102432..80910a43 100644 --- a/src/layouts/default/setting/components/SettingFooter.vue +++ b/src/layouts/default/setting/components/SettingFooter.vue @@ -8,7 +8,6 @@ import { usePermissionStore } from '@/store/modules/permission' import { useMultipleTabStore } from '@/store/modules/multipleTab' import { useUserStore } from '@/store/modules/user' -import { useDesign } from '@/hooks/web/useDesign' import { useI18n } from '@/hooks/web/useI18n' import { useMessage } from '@/hooks/web/useMessage' import { useCopyToClipboard } from '@/hooks/web/useCopyToClipboard' @@ -22,7 +21,6 @@ import { updateSidebarBgColor } from '@/logics/theme/updateBackground' defineOptions({ name: 'SettingFooter' }) const permissionStore = usePermissionStore() -const { prefixCls } = useDesign('setting-footer') const { t } = useI18n() const { createSuccessModal, createMessage } = useMessage() const tabStore = useMultipleTabStore() @@ -63,7 +61,7 @@ function handleClearAndRedo() { </script> <template> - <div :class="prefixCls"> + <div class="flex flex-col items-center"> <a-button type="primary" block @click="handleCopy"> <CopyOutlined class="mr-2" /> {{ t('layout.setting.copyBtn') }} @@ -80,13 +78,3 @@ function handleClearAndRedo() { </a-button> </div> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-setting-footer'; - -.@{prefix-cls} { - display: flex; - flex-direction: column; - align-items: center; -} -</style> diff --git a/src/layouts/default/setting/components/SwitchItem.vue b/src/layouts/default/setting/components/SwitchItem.vue index 5eaab82f..46415af0 100644 --- a/src/layouts/default/setting/components/SwitchItem.vue +++ b/src/layouts/default/setting/components/SwitchItem.vue @@ -4,7 +4,6 @@ import { computed } from 'vue' import { Switch } from 'ant-design-vue' import { baseHandler } from '../handler' import type { HandlerEnum } from '../enum' -import { useDesign } from '@/hooks/web/useDesign' import { useI18n } from '@/hooks/web/useI18n' defineOptions({ name: 'SwitchItem' }) @@ -23,7 +22,6 @@ const props = defineProps({ type: Boolean, }, }) -const { prefixCls } = useDesign('setting-switch-item') const { t } = useI18n() const getBindValue = computed(() => { @@ -35,7 +33,7 @@ function handleChange(e) { </script> <template> - <div :class="prefixCls"> + <div class="my-4 flex justify-between"> <span> {{ title }}</span> <Switch v-bind="getBindValue" @@ -46,13 +44,3 @@ function handleChange(e) { /> </div> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-setting-switch-item'; - -.@{prefix-cls} { - display: flex; - justify-content: space-between; - margin: 16px 0; -} -</style> diff --git a/src/views/base/login/Login.vue b/src/views/base/login/Login.vue index fc24925a..6fa3b845 100644 --- a/src/views/base/login/Login.vue +++ b/src/views/base/login/Login.vue @@ -26,7 +26,7 @@ const title = computed(() => globSetting?.title ?? '') </script> <template> - <div :class="prefixCls" class="relative h-full w-full px-4"> + <div :class="prefixCls" class="relative h-full min-h-full w-full overflow-hidden px-4"> <div class="absolute right-4 top-4 flex items-center"> <AppDarkModeToggle v-if="!sessionTimeout" class="enter-x mr-2" /> <AppLocalePicker v-if="!sessionTimeout && showLocale" class="enter-x xl:text-gray-600" :show-text="false" /> @@ -108,9 +108,6 @@ html[data-theme='dark'] { } .@{prefix-cls} { - min-height: 100%; - overflow: hidden; - @media (max-width: @screen-xl) { background-color: #293146; diff --git a/src/views/base/login/SessionTimeoutLogin.vue b/src/views/base/login/SessionTimeoutLogin.vue index 6d60cedf..c9b33bf5 100644 --- a/src/views/base/login/SessionTimeoutLogin.vue +++ b/src/views/base/login/SessionTimeoutLogin.vue @@ -1,13 +1,11 @@ <script lang="ts" setup> import { onBeforeUnmount, onMounted, ref } from 'vue' import Login from './Login.vue' -import { useDesign } from '@/hooks/web/useDesign' import { useUserStore } from '@/store/modules/user' import { usePermissionStore } from '@/store/modules/permission' import { useAppStore } from '@/store/modules/app' import { PermissionModeEnum } from '@/enums/appEnum' -const { prefixCls } = useDesign('st-login') const userStore = useUserStore() const permissionStore = usePermissionStore() const appStore = useAppStore() @@ -36,20 +34,8 @@ onBeforeUnmount(() => { <template> <transition> - <div :class="prefixCls"> + <div class="fixed z-9999999 h-full w-full bg-[var(--component-background)]"> <Login session-timeout /> </div> </transition> </template> - -<style lang="less" scoped> -@prefix-cls: ~'@{namespace}-st-login'; - -.@{prefix-cls} { - position: fixed; - z-index: 9999999; - width: 100%; - height: 100%; - background: var(--component-background); -} -</style> diff --git a/src/views/base/profile/AccountBind.vue b/src/views/base/profile/AccountBind.vue index 2985fcfc..2c59d4d3 100644 --- a/src/views/base/profile/AccountBind.vue +++ b/src/views/base/profile/AccountBind.vue @@ -32,11 +32,11 @@ onMounted(async () => { <List.Item> <List.Item.Meta> <template #avatar> - <Icon v-if="item.avatar" class="avatar" :icon="item.avatar" :color="item.color" /> + <Icon v-if="item.avatar" class="text-4xl" :icon="item.avatar" :color="item.color" /> </template> <template #title> {{ item.title }} - <a-button v-if="item.extra" type="link" size="small" class="extra"> + <a-button v-if="item.extra" type="link" size="small" class="float-right mr-7.5 mt-2.5 cursor-pointer"> {{ item.extra }} </a-button> </template> @@ -49,16 +49,3 @@ onMounted(async () => { </List> </CollapseContainer> </template> - -<style lang="less" scoped> -.avatar { - font-size: 40px !important; -} - -.extra { - float: right; - margin-top: 10px; - margin-right: 30px; - cursor: pointer; -} -</style> diff --git a/src/views/base/profile/BaseSetting.vue b/src/views/base/profile/BaseSetting.vue index fc852b32..dee9d151 100644 --- a/src/views/base/profile/BaseSetting.vue +++ b/src/views/base/profile/BaseSetting.vue @@ -54,7 +54,7 @@ async function handleSubmit() { <BasicForm @register="register" /> </Col> <Col :span="10"> - <div class="change-avatar"> + <div> <div class="mb-2"> 头像 </div> @@ -63,6 +63,7 @@ async function handleSubmit() { btn-text="更换头像" :btn-props="{ preIcon: 'ant-design:cloud-upload-outlined' }" width="150" + class="mb-4 block rounded-full" @change="updateAvatar" /> </div> @@ -73,13 +74,3 @@ async function handleSubmit() { </Button> </CollapseContainer> </template> - -<style lang="less" scoped> -.change-avatar { - img { - display: block; - margin-bottom: 15px; - border-radius: 50%; - } -} -</style> diff --git a/src/views/base/profile/MsgNotify.vue b/src/views/base/profile/MsgNotify.vue index 7890a21e..d3d6cee6 100644 --- a/src/views/base/profile/MsgNotify.vue +++ b/src/views/base/profile/MsgNotify.vue @@ -15,7 +15,7 @@ const ListItemMeta = List.Item.Meta <ListItemMeta> <template #title> {{ item.title }} - <Switch class="extra" checked-children="开" un-checked-children="关" default-checked /> + <Switch class="float-right mr-7.5 mt-0" checked-children="开" un-checked-children="关" default-checked /> </template> <template #description> <div>{{ item.description }}</div> @@ -26,11 +26,3 @@ const ListItemMeta = List.Item.Meta </List> </CollapseContainer> </template> - -<style lang="less" scoped> -.extra { - float: right; - margin-top: 10px; - margin-right: 30px; -} -</style> diff --git a/src/views/base/profile/SecureSetting.vue b/src/views/base/profile/SecureSetting.vue index 3805eb40..b3dfc7fb 100644 --- a/src/views/base/profile/SecureSetting.vue +++ b/src/views/base/profile/SecureSetting.vue @@ -29,7 +29,7 @@ function handleSuccess() { <ListItemMeta> <template #title> {{ item.title }} - <div v-if="item.extra" class="extra"> + <div v-if="item.extra" class="float-right mr-7.5 mt-2.5 cursor-pointer font-normal text-blue-500"> <a-button type="link" @click="handleEdit(item.title)"> {{ item.extra }} </a-button> @@ -45,14 +45,3 @@ function handleSuccess() { </CollapseContainer> <PasswordModal @register="registerModal" @success="handleSuccess" /> </template> - -<style lang="less" scoped> -.extra { - float: right; - margin-top: 10px; - margin-right: 30px; - font-weight: normal; - color: #1890ff; - cursor: pointer; -} -</style> diff --git a/src/views/base/profile/index.vue b/src/views/base/profile/index.vue index 5dc3ed17..a48e4e38 100644 --- a/src/views/base/profile/index.vue +++ b/src/views/base/profile/index.vue @@ -15,7 +15,7 @@ const tabBarStyle = { width: '220px' } <template> <ScrollContainer> - <div ref="wrapperRef" class="account-setting"> + <div ref="wrapperRef" class="m-3 rounded-1.5 bg-[var(--component-background)]"> <Tabs tab-position="left" :tab-bar-style="tabBarStyle"> <template v-for="item in settingList" :key="item.key"> <TabPane :tab="item.name"> @@ -29,19 +29,3 @@ const tabBarStyle = { width: '220px' } </div> </ScrollContainer> </template> - -<style lang="less"> -.account-setting { - margin: 12px; - background-color: var(--component-background); - border-radius: 6px; - - .base-title { - padding-left: 0; - } - - // .ant-tabs-tab-active { - // background-color: @item-active-bg; - // } -} -</style> diff --git a/src/views/bpm/processInstance/create/index.vue b/src/views/bpm/processInstance/create/index.vue index d8b1fae6..69e51c47 100644 --- a/src/views/bpm/processInstance/create/index.vue +++ b/src/views/bpm/processInstance/create/index.vue @@ -78,7 +78,7 @@ async function submitForm(formData) { <template> <PageWrapper> - <div class="step-form-form"> + <div class="mx-auto my-0 mt-2.5 w-200"> <Steps :current="current"> <Steps.Step title="选择流程" /> <Steps.Step title="流程提交" /> @@ -113,11 +113,3 @@ async function submitForm(formData) { </div> </PageWrapper> </template> - -<style lang="less" scoped> -.step-form-form { - width: 750px; - margin: 0 auto; - margin-top: 10px; -} -</style> diff --git a/src/views/infra/codegen/EditTable.vue b/src/views/infra/codegen/EditTable.vue index d8f4d9ce..d3de37d8 100644 --- a/src/views/infra/codegen/EditTable.vue +++ b/src/views/infra/codegen/EditTable.vue @@ -73,7 +73,7 @@ onMounted(async () => { <template> <PageWrapper> - <div class="step-form-form"> + <div class="mx-auto my-0 mt-2.5 w-200"> <Steps :current="current"> <Step title="生成信息" /> <Step title="字段信息" /> @@ -94,11 +94,3 @@ onMounted(async () => { </div> </PageWrapper> </template> - -<style lang="less" scoped> -.step-form-form { - width: 750px; - margin: 0 auto; - margin-top: 10px; -} -</style> diff --git a/src/views/infra/codegen/components/BasicInfoForm.vue b/src/views/infra/codegen/components/BasicInfoForm.vue index d6a38631..98f12d3d 100644 --- a/src/views/infra/codegen/components/BasicInfoForm.vue +++ b/src/views/infra/codegen/components/BasicInfoForm.vue @@ -51,46 +51,20 @@ watch( </script> <template> - <div class="step1"> - <div class="step1-form"> + <div> + <div class="mx-auto my-0 w-80%"> <BasicForm @register="register" /> </div> <Divider /> - <h3>说明</h3> - <h4>基本信息</h4> + <h3 class="mb-3 text-base"> + 说明 + </h3> + <h4 class="mb-1 text-sm"> + 基本信息 + </h4> <p> 配置生成的基本信息 </p> <h4>生成信息</h4> <p> 配置生成生成的详细信息。 </p> </div> </template> - -<style lang="less" scoped> -.step1 { - &-form { - width: 80%; - margin: 0 auto; - } - - h3 { - margin: 0 0 12px; - font-size: 16px; - line-height: 32px; - } - - h4 { - margin: 0 0 4px; - font-size: 14px; - line-height: 22px; - } - -} - -.pay-select { - width: 20%; -} - -.pay-input { - width: 70%; -} -</style> diff --git a/src/views/infra/codegen/components/CloumInfoForm.vue b/src/views/infra/codegen/components/CloumInfoForm.vue index 59c11ab1..0062d304 100644 --- a/src/views/infra/codegen/components/CloumInfoForm.vue +++ b/src/views/infra/codegen/components/CloumInfoForm.vue @@ -39,11 +39,11 @@ function handleEdit(record: EditRecordRow) { <template> <div class="step2"> - <div class="step2-table"> + <div class="mx-auto my-0 w-full"> <BasicTable :data-source="columnsInfo" @register="registerTable" @row-click="handleEdit" /> </div> <Divider /> - <div class="step2-button"> + <div class="flex justify-center"> <a-button @click="customResetFunc"> 上一步 </a-button> @@ -51,35 +51,12 @@ function handleEdit(record: EditRecordRow) { 提交 </a-button> </div> - <h3>说明</h3> - <h4>配置字段</h4> + <h3 class="mb-3 text-base"> + 说明 + </h3> + <h4 class="mb-1 text-sm"> + 配置字段 + </h4> <p> 配置表的字段类型,增删改查,字典等 </p> </div> </template> - -<style lang="less" scoped> -.step2 { - &-table { - width: 100%; - margin: 0 auto; - } - - &-button { - display: flex; - justify-content: center; - } - - h3 { - margin: 0 0 12px; - font-size: 16px; - line-height: 32px; - } - - h4 { - margin: 0 0 4px; - font-size: 14px; - line-height: 22px; - } - -} -</style> diff --git a/src/views/infra/codegen/components/FinishForm.vue b/src/views/infra/codegen/components/FinishForm.vue index 39cad7f0..048eb471 100644 --- a/src/views/infra/codegen/components/FinishForm.vue +++ b/src/views/infra/codegen/components/FinishForm.vue @@ -36,7 +36,7 @@ function handleGoList() { </script> <template> - <div class="result-success m-5"> + <div class="m-5 bg-white px-8 py-12 dark:bg-dark"> <Result status="success" title="代码生成成功" sub-title="可点击下方按钮预览、下载,或返回列表页。"> <template #extra> <a-button key="console" type="primary" @click="handleGoList"> @@ -53,15 +53,3 @@ function handleGoList() { <PreviewModal @register="registerPreviewModal" /> </div> </template> - -<style lang="less" scoped> -.result-success { - padding: 48px 32px; - background-color: var(--component-background); - - &__content { - padding: 24px 40px; - background-color: @background-color-light; - } -} -</style> From 0df27a39bc54e3845326f4fafdd495a428d72a70 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Thu, 21 Sep 2023 15:32:54 +0800 Subject: [PATCH 02/18] docs: doc --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 81f0295e..c7608880 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -126,6 +126,7 @@ "i18n-ally.enabledFrameworks": ["vue", "react"], "cSpell.words": [ "antd", + "antdv", "antfu", "antv", "brotli", From b808fceb5f7d55ba85579470ed3c813cef48c70e Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Fri, 22 Sep 2023 18:07:20 +0800 Subject: [PATCH 03/18] refactor: use setup --- .../VFormDesign/components/ComponentProps.vue | 287 +++++------- .../components/FormItemColumnProps.vue | 48 +- .../VFormDesign/components/FormItemProps.vue | 76 +--- .../VFormDesign/components/FormNode.vue | 39 +- .../VFormDesign/components/LayoutItem.vue | 62 +-- .../VFormDesign/components/PreviewCode.vue | 80 ++-- .../VFormDesign/modules/CollapseItem.vue | 48 +- .../modules/FormComponentPanel.vue | 71 ++- .../VFormDesign/modules/PropsPanel.vue | 28 +- .../VFormDesign/modules/Toolbar.vue | 105 ++--- .../header/components/lock/LockModal.vue | 49 +-- src/layouts/default/sider/MixSider.vue | 410 ++++++++---------- 12 files changed, 511 insertions(+), 792 deletions(-) diff --git a/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue b/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue index c4e537c5..906b2b58 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue @@ -1,22 +1,9 @@ <!-- * @Description: 组件属性控件 --> -<script lang="ts"> -import { - Checkbox, - Col, - Empty, - Form, - FormItem, - Input, - InputNumber, - RadioGroup, - Row, - Select, - Switch, -} from 'ant-design-vue' -import RadioButtonGroup from '/@/components/Form/src/components/RadioButtonGroup.vue' -import { computed, defineComponent, ref, watch } from 'vue' +<script lang="ts" setup> +import { Checkbox, Col, Empty, Form, FormItem, Select } from 'ant-design-vue' +import { computed, ref, watch } from 'vue' import { useFormDesignState } from '../../../hooks/useFormDesignState' import { baseComponentAttrs, @@ -28,145 +15,116 @@ import { formItemsForEach, remove } from '../../../utils' import type { IBaseFormAttrs } from '../config/formItemPropsConfig' import FormOptions from './FormOptions.vue' -export default defineComponent({ - name: 'ComponentProps', - components: { - FormOptions, - Empty, - Input, - Form, - FormItem, - Switch, - Checkbox, - Select, - InputNumber, - RadioGroup, - RadioButtonGroup, - Col, - Row, +const { formConfig } = useFormDesignState() +// 让compuated属性自动更新 +const allOptions = ref([] as Omit<IBaseFormAttrs, 'tag'>[]) +function showControlAttrs(includes: string[] | undefined) { + if (!includes) + return true + return includes.includes(formConfig.value.currentItem!.component) +} + +if (formConfig.value.currentItem) { + formConfig.value.currentItem.componentProps + = formConfig.value.currentItem.componentProps || {} +} + +watch( + () => formConfig.value.currentItem?.field, + (_newValue, oldValue) => { + formConfig.value.schemas + && formItemsForEach(formConfig.value.schemas, (item) => { + if (item.link) { + const index = item.link.findIndex(linkItem => linkItem === oldValue) + index !== -1 && remove(item.link, index) + } + }) }, - setup() { - // 让compuated属性自动更新 - - const allOptions = ref([] as Omit<IBaseFormAttrs, 'tag'>[]) - const showControlAttrs = (includes: string[] | undefined) => { - if (!includes) - return true - return includes.includes(formConfig.value.currentItem!.component) - } - - const { formConfig } = useFormDesignState() - - if (formConfig.value.currentItem) { - formConfig.value.currentItem.componentProps - = formConfig.value.currentItem.componentProps || {} - } - - watch( - () => formConfig.value.currentItem?.field, - (_newValue, oldValue) => { - formConfig.value.schemas - && formItemsForEach(formConfig.value.schemas, (item) => { - if (item.link) { - const index = item.link.findIndex(linkItem => linkItem === oldValue) - index !== -1 && remove(item.link, index) - } - }) - }, - ) +) + +watch( + () => formConfig.value.currentItem && formConfig.value.currentItem.component, + () => { + allOptions.value = [] + baseComponentControlAttrs.forEach((item) => { + item.category = 'control' + if (!item.includes) { + // 如果属性没有include,所有的控件都适用 + + allOptions.value.push(item) + } + else if (item.includes.includes(formConfig.value.currentItem!.component)) { + // 如果有include,检查是否包含了当前控件类型 + allOptions.value.push(item) + } + }) - watch( - () => formConfig.value.currentItem && formConfig.value.currentItem.component, - () => { - allOptions.value = [] - baseComponentControlAttrs.forEach((item) => { - item.category = 'control' - if (!item.includes) { - // 如果属性没有include,所有的控件都适用 + baseComponentCommonAttrs.forEach((item) => { + item.category = 'input' + if (item.includes) { + if (item.includes.includes(formConfig.value.currentItem!.component)) + allOptions.value.push(item) + } + else if (item.exclude) { + if (!item.exclude.includes(formConfig.value.currentItem!.component)) + allOptions.value.push(item) + } + else { + allOptions.value.push(item) + } + }) + baseComponentAttrs[formConfig.value.currentItem!.component] + && baseComponentAttrs[formConfig.value.currentItem!.component].forEach(async (item) => { + if (item.component) { + if (['Switch', 'Checkbox', 'Radio'].includes(item.component)) { + item.category = 'control' allOptions.value.push(item) } - else if (item.includes.includes(formConfig.value.currentItem!.component)) { - // 如果有include,检查是否包含了当前控件类型 - allOptions.value.push(item) - } - }) - - baseComponentCommonAttrs.forEach((item) => { - item.category = 'input' - if (item.includes) { - if (item.includes.includes(formConfig.value.currentItem!.component)) - allOptions.value.push(item) - } - else if (item.exclude) { - if (!item.exclude.includes(formConfig.value.currentItem!.component)) - allOptions.value.push(item) - } else { + item.category = 'input' allOptions.value.push(item) } - }) - - baseComponentAttrs[formConfig.value.currentItem!.component] - && baseComponentAttrs[formConfig.value.currentItem!.component].forEach(async (item) => { - if (item.component) { - if (['Switch', 'Checkbox', 'Radio'].includes(item.component)) { - item.category = 'control' - allOptions.value.push(item) - } - else { - item.category = 'input' - allOptions.value.push(item) - } - } - }) - }, - { - immediate: true, - }, - ) - // 控制性的选项 - const controlOptions = computed(() => { - return allOptions.value.filter((item) => { - return item.category === 'control' + } }) - }) + }, + { + immediate: true, + }, +) +// 控制性的选项 +const controlOptions = computed(() => { + return allOptions.value.filter((item) => { + return item.category === 'control' + }) +}) - // 非控制性选择 - const inputOptions = computed(() => { - return allOptions.value.filter((item) => { - return item.category === 'input' - }) - }) +// 非控制性选择 +const inputOptions = computed(() => { + return allOptions.value.filter((item) => { + return item.category === 'input' + }) +}) - watch( - () => formConfig.value.currentItem!.componentProps, - () => { - const func = componentPropsFuncs[formConfig.value.currentItem!.component] - if (func) - func(formConfig.value.currentItem!.componentProps, allOptions.value) - }, - { - immediate: true, - deep: true, - }, - ) - const linkOptions = computed(() => { - return ( - formConfig.value.schemas - && formConfig.value.schemas - .filter(item => item.key !== formConfig.value.currentItem!.key) - .map(({ label, field }) => ({ label: `${label}/${field}`, value: field })) - ) - }) - return { - formConfig, - showControlAttrs, - linkOptions, - controlOptions, - inputOptions, - } +watch( + () => formConfig.value.currentItem!.componentProps, + () => { + const func = componentPropsFuncs[formConfig.value.currentItem!.component] + if (func) + func(formConfig.value.currentItem!.componentProps, allOptions.value) + }, + { + immediate: true, + deep: true, }, +) +const linkOptions = computed(() => { + return ( + formConfig.value.schemas + && formConfig.value.schemas + .filter(item => item.key !== formConfig.value.currentItem!.key) + .map(({ label, field }) => ({ label: `${label}/${field}`, value: field })) + ) }) </script> @@ -184,27 +142,20 @@ export default defineComponent({ <div v-if="item.children"> <component - v-bind="child.componentProps" - :is="child.component" - v-for="(child, index) of item.children" - :key="index" - v-model:value="formConfig.currentItem.componentProps[item.name][index]" + v-bind="child.componentProps" :is="child.component" v-for="(child, index) of item.children" + :key="index" v-model:value="formConfig.currentItem.componentProps[item.name][index]" /> </div> <!-- 如果不是数组,则正常处理属性值 --> <component - v-bind="item.componentProps" - :is="item.component" - v-else - v-model:value="formConfig.currentItem.componentProps[item.name]" - class="component-prop" + v-bind="item.componentProps" :is="item.component" v-else + v-model:value="formConfig.currentItem.componentProps[item.name]" class="component-prop" /> </FormItem> <FormItem label="控制属性"> <Col v-for="item in controlOptions" :key="item.name"> <Checkbox - v-if="showControlAttrs(item.includes)" - v-bind="item.componentProps" + v-if="showControlAttrs(item.includes)" v-bind="item.componentProps" v-model:checked="formConfig.currentItem.componentProps[item.name]" > {{ item.label }} @@ -213,25 +164,19 @@ export default defineComponent({ </FormItem> </div> <FormItem label="关联字段"> - <Select - v-model:value="formConfig.currentItem.link" - mode="multiple" - :options="linkOptions" - /> + <Select v-model:value="formConfig.currentItem.link" mode="multiple" :options="linkOptions" /> </FormItem> <FormItem - v-if=" - [ - 'Select', - 'CheckboxGroup', - 'RadioGroup', - 'TreeSelect', - 'Cascader', - 'AutoComplete', - ].includes(formConfig.currentItem.component) - " - label="选项" + v-if="[ + 'Select', + 'CheckboxGroup', + 'RadioGroup', + 'TreeSelect', + 'Cascader', + 'AutoComplete', + ].includes(formConfig.currentItem.component) + " label="选项" > <FormOptions /> </FormItem> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/FormItemColumnProps.vue b/src/components/FormDesign/src/components/VFormDesign/components/FormItemColumnProps.vue index 17c96b68..fc6bcdac 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/FormItemColumnProps.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/FormItemColumnProps.vue @@ -1,45 +1,20 @@ <!-- * @Description: 表单项属性 --> -<script lang="ts"> -import { defineComponent } from 'vue' -import { Checkbox, Empty, Form, FormItem, Input, Select, Slider, Switch } from 'ant-design-vue' +<script lang="ts" setup> +import { Empty, Form, FormItem } from 'ant-design-vue' import { isArray } from 'lodash-es' import { baseItemColumnProps } from '../config/formItemPropsConfig' import { useFormDesignState } from '../../../hooks/useFormDesignState' -import RuleProps from './RuleProps.vue' -export default defineComponent({ - name: 'FormItemProps', - components: { - RuleProps, - Empty, - Input, - Form, - FormItem, - Switch, - Checkbox, - Select, - Slider, - }, - // props: {} as PropsOptions, +const { formConfig } = useFormDesignState() +function showProps(exclude: string[] | undefined) { + if (!exclude) + return true - setup() { - const { formConfig } = useFormDesignState() - const showProps = (exclude: string[] | undefined) => { - if (!exclude) - return true - - return isArray(exclude) ? !exclude.includes(formConfig.value.currentItem!.component) : true - } - return { - baseItemColumnProps, - formConfig, - showProps, - } - }, -}) + return isArray(exclude) ? !exclude.includes(formConfig.value.currentItem!.component) : true +} </script> <template> @@ -50,11 +25,8 @@ export default defineComponent({ <div v-for="item of baseItemColumnProps" :key="item.name"> <FormItem v-if="showProps(item.exclude)" :label="item.label"> <component - v-bind="item.componentProps" - :is="item.component" - v-if="formConfig.currentItem.colProps" - v-model:value="formConfig.currentItem.colProps[item.name]" - class="component-props" + v-bind="item.componentProps" :is="item.component" v-if="formConfig.currentItem.colProps" + v-model:value="formConfig.currentItem.colProps[item.name]" class="component-props" /> </FormItem> </div> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/FormItemProps.vue b/src/components/FormDesign/src/components/VFormDesign/components/FormItemProps.vue index 4e5127b0..1d4a68d1 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/FormItemProps.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/FormItemProps.vue @@ -1,8 +1,8 @@ <!-- * @Description: 表单项属性,控件属性面板 --> -<script lang="ts"> -import { computed, defineComponent, watch } from 'vue' +<script lang="ts" setup> +import { computed, watch } from 'vue' import { Checkbox, Col, @@ -10,9 +10,6 @@ import { Form, FormItem, Input, - RadioGroup, - Select, - Slider, Switch, } from 'ant-design-vue' import { isArray } from 'lodash-es' @@ -26,61 +23,32 @@ import { import { useFormDesignState } from '../../../hooks/useFormDesignState' import RuleProps from './RuleProps.vue' -export default defineComponent({ - name: 'FormItemProps', - components: { - RuleProps, - Empty, - Input, - Form, - FormItem, - Switch, - Checkbox, - Select, - Slider, - Col, - RadioGroup, - }, - // props: {} as PropsOptions, - - setup() { - const { formConfig } = useFormDesignState() +const { formConfig } = useFormDesignState() - watch( - () => formConfig.value, - () => { - if (formConfig.value.currentItem) { - formConfig.value.currentItem.itemProps = formConfig.value.currentItem.itemProps || {} - formConfig.value.currentItem.itemProps.labelCol +watch( + () => formConfig.value, + () => { + if (formConfig.value.currentItem) { + formConfig.value.currentItem.itemProps = formConfig.value.currentItem.itemProps || {} + formConfig.value.currentItem.itemProps.labelCol = formConfig.value.currentItem.itemProps.labelCol || {} - formConfig.value.currentItem.itemProps.wrapperCol + formConfig.value.currentItem.itemProps.wrapperCol = formConfig.value.currentItem.itemProps.wrapperCol || {} - } - }, - { deep: true, immediate: true }, - ) - const showProps = (exclude: string[] | undefined) => { - if (!exclude) - return true - - return isArray(exclude) ? !exclude.includes(formConfig.value.currentItem!.component) : true } + }, + { deep: true, immediate: true }, +) +function showProps(exclude: string[] | undefined) { + if (!exclude) + return true - const controlPropsList = computed(() => { - return baseFormItemControlAttrs.filter((item) => { - return showProps(item.exclude) - }) - }) + return isArray(exclude) ? !exclude.includes(formConfig.value.currentItem!.component) : true +} - return { - baseFormItemProps, - advanceFormItemProps, - advanceFormItemColProps, - formConfig, - controlPropsList, - showProps, - } - }, +const controlPropsList = computed(() => { + return baseFormItemControlAttrs.filter((item) => { + return showProps(item.exclude) + }) }) </script> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/FormNode.vue b/src/components/FormDesign/src/components/VFormDesign/components/FormNode.vue index 877b764c..7a1b04f0 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/FormNode.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/FormNode.vue @@ -1,42 +1,29 @@ <!-- * @Description: 拖拽节点控件 --> -<script lang="ts"> +<script lang="ts" setup> import type { PropType } from 'vue' -import { defineComponent, reactive, toRefs } from 'vue' import type { IVFormComponent } from '../../../typings/v-form-component' import { useFormDesignState } from '../../../hooks/useFormDesignState' import VFormItem from '../../VFormItem/index.vue' import FormNodeOperate from './FormNodeOperate.vue' -// import VFormItem from '../../VFormItem/vFormItem.vue'; -export default defineComponent({ - name: 'FormNode', - components: { - VFormItem, - FormNodeOperate, - }, - props: { +const props = defineProps( + { schema: { type: Object as PropType<IVFormComponent>, required: true, - }, - }, - setup(props) { - const { formConfig, formDesignMethods } = useFormDesignState() - const state = reactive({}) - // 获取 formDesignMethods - const handleSelectItem = () => { - // 调用 formDesignMethods - formDesignMethods.handleSetSelectItem(props.schema) - } - return { - ...toRefs(state), - handleSelectItem, - formConfig, - } + }, }, -}) + +) + +const { formConfig, formDesignMethods } = useFormDesignState() +// 获取 formDesignMethods +function handleSelectItem() { + // 调用 formDesignMethods + formDesignMethods.handleSetSelectItem(props.schema) +} </script> <template> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue b/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue index 76dcaad8..f6b8b843 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue @@ -3,9 +3,9 @@ * 千万不要在template下面的第一行加注释,因为这里拖动的第一个元素 --> -<script lang="ts"> +<script lang="ts" setup> import type { PropType } from 'vue' -import { computed, defineComponent, reactive, toRefs } from 'vue' +import { computed } from 'vue' import draggable from 'vuedraggable' import { Col, Row } from 'ant-design-vue' import { useFormDesignState } from '../../../hooks/useFormDesignState' @@ -13,16 +13,8 @@ import type { IVFormComponent } from '../../../typings/v-form-component' import FormNode from './FormNode.vue' import FormNodeOperate from './FormNodeOperate.vue' -export default defineComponent({ - name: 'LayoutItem', - components: { - FormNode, - FormNodeOperate, - Draggable: draggable, - Row, - Col, - }, - props: { +const props = defineProps( + { schema: { type: Object as PropType<IVFormComponent>, required: true, @@ -32,33 +24,23 @@ export default defineComponent({ required: true, }, }, - emits: ['dragStart', 'handleColAdd', 'handle-copy', 'handle-delete'], - setup(props) { - const { - formDesignMethods: { handleSetSelectItem }, - formConfig, - } = useFormDesignState() - const state = reactive({}) - const colPropsComputed = computed(() => { - const { colProps = {} } = props.schema - return colProps - }) +) - const list1 = computed(() => props.schema.columns) +const emit = defineEmits(['dragStart', 'handleColAdd', 'handle-copy', 'handle-delete']) - // 计算布局元素,水平模式下为ACol,非水平模式下为div - const layoutTag = computed(() => { - return formConfig.value.layout === 'horizontal' ? 'Col' : 'div' - }) +const Draggable = draggable - return { - ...toRefs(state), - colPropsComputed, - handleSetSelectItem, - layoutTag, - list1, - } - }, +const { formDesignMethods: { handleSetSelectItem }, formConfig } = useFormDesignState() +const colPropsComputed = computed(() => { + const { colProps = {} } = props.schema + return colProps +}) + +const list1 = computed(() => props.schema.columns) + +// 计算布局元素,水平模式下为ACol,非水平模式下为div +const layoutTag = computed(() => { + return formConfig.value.layout === 'horizontal' ? 'Col' : 'div' }) </script> @@ -87,8 +69,8 @@ export default defineComponent({ class="drag-move" :schema="element" :current-item="currentItem" - @handle-copy="$emit('handle-copy')" - @handle-delete="$emit('handle-delete')" + @handle-copy="emit('handle-copy')" + @handle-delete="emit('handle-delete')" /> </template> </Draggable> @@ -102,8 +84,8 @@ export default defineComponent({ :key="schema.key" :schema="schema" :current-item="currentItem" - @handle-copy="$emit('handle-copy')" - @handle-delete="$emit('handle-delete')" + @handle-copy="emit('handle-copy')" + @handle-delete="emit('handle-delete')" /> </Col> </template> diff --git a/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue b/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue index 44db4897..4ad6d9d0 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue @@ -1,16 +1,12 @@ -<script lang="ts"> -import { defineComponent, reactive, ref, toRefs, unref } from 'vue' +<script lang="ts" setup> +import { ref, unref } from 'vue' import { CodeEditor, MODE } from '@/components/CodeEditor' import { useCopyToClipboard } from '@/hooks/web/useCopyToClipboard' import { useMessage } from '@/hooks/web/useMessage' -export default defineComponent({ - name: 'PreviewCode', - components: { - CodeEditor, - }, - props: { +const props = defineProps( + { fileFormat: { type: String, default: 'json', @@ -20,51 +16,37 @@ export default defineComponent({ default: '', }, }, - setup(props) { - const state = reactive({ - open: false, - }) - - const myEditor = ref(null) +) - const exportData = (data: string, fileName = `file.${props.fileFormat}`) => { - let content = 'data:text/csv;charset=utf-8,' - content += data - const encodedUri = encodeURI(content) - const actions = document.createElement('a') - actions.setAttribute('href', encodedUri) - actions.setAttribute('download', fileName) - actions.click() - } +const myEditor = ref(null) - const handleExportJson = () => { - exportData(props.editorJson) - } - const { clipboardRef, copiedRef } = useCopyToClipboard() - const { createMessage } = useMessage() +function exportData(data: string, fileName = `file.${props.fileFormat}`) { + let content = 'data:text/csv;charset=utf-8,' + content += data + const encodedUri = encodeURI(content) + const actions = document.createElement('a') + actions.setAttribute('href', encodedUri) + actions.setAttribute('download', fileName) + actions.click() +} - const handleCopyJson = () => { - // 复制数据 - const value = props.editorJson - if (!value) { - createMessage.warning('代码为空!') - return - } - clipboardRef.value = value - if (unref(copiedRef)) - createMessage.warning('复制成功!') - } +function handleExportJson() { + exportData(props.editorJson) +} +const { clipboardRef, copiedRef } = useCopyToClipboard() +const { createMessage } = useMessage() - return { - ...toRefs(state), - myEditor, - exportData, - handleCopyJson, - handleExportJson, - MODE, - } - }, -}) +function handleCopyJson() { + // 复制数据 + const value = props.editorJson + if (!value) { + createMessage.warning('代码为空!') + return + } + clipboardRef.value = value + if (unref(copiedRef)) + createMessage.warning('复制成功!') +} </script> <template> diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue b/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue index acb7e696..fe962397 100644 --- a/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue +++ b/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue @@ -1,16 +1,13 @@ -<script lang="ts"> -import { defineComponent, reactive } from 'vue' +<script lang="ts" setup> import draggable from 'vuedraggable' import type { IVFormComponent } from '../../../typings/v-form-component' import { Icon } from '@/components/Icon' import { useDesign } from '@/hooks/web/useDesign' -export default defineComponent({ - name: 'CollapseItem', - components: { Draggable: draggable, Icon }, - props: { +const props = defineProps( + { list: { - type: [Array], + type: Array as unknown as any[], default: () => [], }, handleListPush: { @@ -18,24 +15,23 @@ export default defineComponent({ default: null, }, }, - setup(props, { emit }) { - const { prefixCls } = useDesign('form-design-collapse-item') +) +const emit = defineEmits(['start', 'add-attrs', 'handle-list-push']) +const Draggable = draggable - const state = reactive({}) - const handleStart = (e: any, list1: IVFormComponent[]) => { - emit('start', list1[e.oldIndex].component) - } - const handleAdd = (e: any) => { - console.log(e) - } - // https://github.com/SortableJS/vue.draggable.next - // https://github.com/SortableJS/vue.draggable.next/blob/master/example/components/custom-clone.vue - const cloneItem = (one) => { - return props.handleListPush(one) - } - return { prefixCls, state, handleStart, handleAdd, cloneItem } - }, -}) +const { prefixCls } = useDesign('form-design-collapse-item') + +function handleStart(e: any, list1: IVFormComponent[]) { + emit('start', list1[e.oldIndex].component) +} +function handleAdd(e: any) { + console.log(e) +} +// https://github.com/SortableJS/vue.draggable.next +// https://github.com/SortableJS/vue.draggable.next/blob/master/example/components/custom-clone.vue +function cloneItem(one) { + return props.handleListPush(one) +} </script> <template> @@ -57,8 +53,8 @@ export default defineComponent({ <template #item="{ element, index }"> <li class="bs-box text-ellipsis" - @dragstart="$emit('add-attrs', list, index)" - @click="$emit('handle-list-push', element)" + @dragstart="emit('add-attrs', list, index)" + @click="emit('handle-list-push', element)" > <!-- <svg v-if="element.icon.indexOf('icon-') > -1" class="icon" aria-hidden="true"> <use :xlink:href="`#${element.icon}`" /> diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue b/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue index 91652b25..9c16a3fd 100644 --- a/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue +++ b/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue @@ -2,7 +2,7 @@ * @Description: 中间表单布局面板 * https://github.com/SortableJS/vue.draggable.next/issues/138 --> -<script lang="ts"> +<script lang="ts" setup> import draggable from 'vuedraggable' import { computed, defineComponent } from 'vue' import { cloneDeep } from 'lodash-es' @@ -10,52 +10,37 @@ import { Empty, Form } from 'ant-design-vue' import { useFormDesignState } from '../../../hooks/useFormDesignState' import LayoutItem from '../components/LayoutItem.vue' -export default defineComponent({ - name: 'FormComponentPanel', - components: { - LayoutItem, - Draggable: draggable, - Form, - Empty, - }, - emits: ['handleSetSelectItem'], - setup(_, { emit }) { - const { formConfig } = useFormDesignState() - - /** - * 拖拽完成事件 - * @param newIndex - */ - const addItem = ({ newIndex }: any) => { - formConfig.value.schemas = formConfig.value.schemas || [] - - const schemas = formConfig.value.schemas - schemas[newIndex] = cloneDeep(schemas[newIndex]) - emit('handleSetSelectItem', schemas[newIndex]) - } +const emit = defineEmits(['handleSetSelectItem']) - /** - * 拖拽开始事件 - * @param e {Object} 事件对象 - */ - const handleDragStart = (e: any) => { - emit('handleSetSelectItem', formConfig.value.schemas[e.oldIndex]) - } +const Draggable = draggable - // 获取祖先组件传递的currentItem +const { formConfig } = useFormDesignState() - // 计算布局元素,水平模式下为ACol,非水平模式下为div - const layoutTag = computed(() => { - return formConfig.value.layout === 'horizontal' ? 'Col' : 'div' - }) +/** + * 拖拽完成事件 + * @param newIndex + */ +function addItem({ newIndex }: any) { + formConfig.value.schemas = formConfig.value.schemas || [] - return { - addItem, - handleDragStart, - formConfig, - layoutTag, - } - }, + const schemas = formConfig.value.schemas + schemas[newIndex] = cloneDeep(schemas[newIndex]) + emit('handleSetSelectItem', schemas[newIndex]) +} + +/** + * 拖拽开始事件 + * @param e {Object} 事件对象 + */ +function handleDragStart(e: any) { + emit('handleSetSelectItem', formConfig.value.schemas[e.oldIndex]) +} + +// 获取祖先组件传递的currentItem + +// 计算布局元素,水平模式下为ACol,非水平模式下为div +const layoutTag = computed(() => { + return formConfig.value.layout === 'horizontal' ? 'Col' : 'div' }) </script> diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue b/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue index 53bc796c..39f70a44 100644 --- a/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue +++ b/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue @@ -1,8 +1,8 @@ <!-- * @Description: 右侧属性配置面板 --> -<script lang="ts"> -import { computed, defineComponent } from 'vue' +<script lang="ts" setup> +import { computed } from 'vue' import { TabPane, Tabs } from 'ant-design-vue' import FormProps from '../components/FormProps.vue' import FormItemProps from '../components/FormItemProps.vue' @@ -15,25 +15,11 @@ type ChangeTabKey = 1 | 2 export interface IPropsPanel { changeTab: (key: ChangeTabKey) => void } -export default defineComponent({ - name: 'PropsPanel', - components: { - FormProps, - FormItemProps, - ComponentProps, - ComponentColumnProps, - Tabs, - TabPane, - }, - setup() { - const { formConfig } = useFormDesignState() - const slotProps = computed(() => { - return customComponents.find( - item => item.component === formConfig.value.currentItem?.component, - ) - }) - return { formConfig, customComponents, slotProps } - }, +const { formConfig } = useFormDesignState() +const slotProps = computed(() => { + return customComponents.find( + item => item.component === formConfig.value.currentItem?.component, + ) }) </script> diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue b/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue index a9d482fd..3456f667 100644 --- a/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue +++ b/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue @@ -1,8 +1,8 @@ <!-- * @Description: 工具栏 --> -<script lang="ts"> -import { defineComponent, inject, reactive, toRefs } from 'vue' +<script lang="ts" setup> +import { inject, reactive } from 'vue' import type { UseRefHistoryReturn } from '@vueuse/core' import { Divider, Tooltip } from 'ant-design-vue' import type { IFormConfig } from '../../../typings/v-form-component' @@ -15,62 +15,51 @@ interface IToolbarsConfig { event: string } -export default defineComponent({ - name: 'OperatingArea', - components: { - Tooltip, - Icon, - Divider, - }, - setup() { - const state = reactive<{ - toolbarsConfigs: IToolbarsConfig[] - }>({ - toolbarsConfigs: [ - { - title: '预览-支持布局', - type: 'preview', - event: 'handlePreview', - icon: 'ant-design:chrome-filled', - }, - { - title: '预览-不支持布局', - type: 'preview', - event: 'handlePreview2', - icon: 'ant-design:chrome-filled', - }, - { - title: '导入JSON', - type: 'importJson', - event: 'handleOpenImportJsonModal', - icon: 'ant-design:import-outlined', - }, - { - title: '生成JSON', - type: 'exportJson', - event: 'handleOpenJsonModal', - icon: 'ant-design:export-outlined', - }, - { - title: '生成代码', - type: 'exportCode', - event: 'handleOpenCodeModal', - icon: 'ant-design:code-filled', - }, - { - title: '清空', - type: 'reset', - event: 'handleClearFormItems', - icon: 'ant-design:clear-outlined', - }, - ], - }) - const historyRef = inject('historyReturn') as UseRefHistoryReturn<IFormConfig, IFormConfig> - - const { undo, redo, canUndo, canRedo } = historyRef - return { ...toRefs(state), undo, redo, canUndo, canRedo } - }, +const state = reactive<{ + toolbarsConfigs: IToolbarsConfig[] +}>({ + toolbarsConfigs: [ + { + title: '预览-支持布局', + type: 'preview', + event: 'handlePreview', + icon: 'ant-design:chrome-filled', + }, + { + title: '预览-不支持布局', + type: 'preview', + event: 'handlePreview2', + icon: 'ant-design:chrome-filled', + }, + { + title: '导入JSON', + type: 'importJson', + event: 'handleOpenImportJsonModal', + icon: 'ant-design:import-outlined', + }, + { + title: '生成JSON', + type: 'exportJson', + event: 'handleOpenJsonModal', + icon: 'ant-design:export-outlined', + }, + { + title: '生成代码', + type: 'exportCode', + event: 'handleOpenCodeModal', + icon: 'ant-design:code-filled', + }, + { + title: '清空', + type: 'reset', + event: 'handleClearFormItems', + icon: 'ant-design:clear-outlined', + }, + ], }) +const historyRef = inject('historyReturn') as UseRefHistoryReturn<IFormConfig, IFormConfig> + +const { undo, redo, canUndo, canRedo } = historyRef </script> <template> @@ -78,7 +67,7 @@ export default defineComponent({ <!-- 头部操作按钮区域 start --> <!-- 操作左侧区域 start --> <div class="left-btn-box"> - <Tooltip v-for="item in toolbarsConfigs" :key="item.icon" :title="item.title"> + <Tooltip v-for="item in state.toolbarsConfigs" :key="item.icon" :title="item.title"> <a class="toolbar-text" @click="$emit(item.event)"> <Icon :icon="item.icon" /> </a> diff --git a/src/layouts/default/header/components/lock/LockModal.vue b/src/layouts/default/header/components/lock/LockModal.vue index fa3feb82..81314915 100644 --- a/src/layouts/default/header/components/lock/LockModal.vue +++ b/src/layouts/default/header/components/lock/LockModal.vue @@ -1,7 +1,6 @@ <script lang="ts" setup> import { computed } from 'vue' import { useI18n } from '@/hooks/web/useI18n' -import { useDesign } from '@/hooks/web/useDesign' import { BasicForm, useForm } from '@/components/Form' import { BasicModal, useModalInner } from '@/components/Modal' import { useUserStore } from '@/store/modules/user' @@ -11,7 +10,6 @@ import headerImg from '@/assets/images/header.jpg' defineOptions({ name: 'LockModal' }) const { t } = useI18n() -const { prefixCls } = useDesign('header-lock-modal') const userStore = useUserStore() const lockStore = useLockStore() @@ -52,18 +50,18 @@ const avatar = computed(() => { </script> <template> - <BasicModal :footer="null" width="25%" :title="t('layout.header.lockScreen')" v-bind="$attrs" :class="prefixCls" @register="register"> - <div :class="`${prefixCls}__entry`"> - <div :class="`${prefixCls}__header`"> - <img :src="avatar" :class="`${prefixCls}__header-img`"> - <p :class="`${prefixCls}__header-name`"> + <BasicModal :footer="null" width="25%" :title="t('layout.header.lockScreen')" v-bind="$attrs" @register="register"> + <div class="relative rounded-10 px-8 pb-8 pt-30"> + <div class="absolute left-[calc(50%-45px)] top-0 w-auto text-center"> + <img :src="avatar" class="w-18 rounded-50%"> + <p class="mt-2"> {{ getRealName }} </p> </div> <BasicForm @register="registerForm" /> - <div :class="`${prefixCls}__footer`"> + <div class="mt-4 text-center"> <a-button type="primary" block class="mt-2" @click="handleLock"> {{ t('layout.header.lockScreenBtn') }} </a-button> @@ -71,38 +69,3 @@ const avatar = computed(() => { </div> </BasicModal> </template> - -<style lang="less"> -@prefix-cls: ~'@{namespace}-header-lock-modal'; - -.@{prefix-cls} { - &__entry { - position: relative; - //height: 240px; - padding: 130px 30px 30px; - border-radius: 10px; - } - - &__header { - position: absolute; - top: 0; - left: calc(50% - 45px); - width: auto; - text-align: center; - - &-img { - width: 70px; - border-radius: 50%; - } - - &-name { - margin-top: 5px; - } - } - - &__footer { - margin-top: 16px; - text-align: center; - } -} -</style> diff --git a/src/layouts/default/sider/MixSider.vue b/src/layouts/default/sider/MixSider.vue index c0acb3db..abcc0844 100644 --- a/src/layouts/default/sider/MixSider.vue +++ b/src/layouts/default/sider/MixSider.vue @@ -1,7 +1,8 @@ -<script lang="ts"> +<script lang="ts" setup> import type { CSSProperties } from 'vue' -import { computed, defineComponent, onMounted, ref, unref, watch } from 'vue' +import { computed, onMounted, ref, unref, watch } from 'vue' import type { RouteLocationNormalized } from 'vue-router' +import { onClickOutside } from '@vueuse/core' import LayoutTrigger from '../trigger/index.vue' import { useDragLine } from './useLayoutSider' import type { Menu } from '@/router/types' @@ -16,257 +17,220 @@ import { useDesign } from '@/hooks/web/useDesign' import { useI18n } from '@/hooks/web/useI18n' import { useGo } from '@/hooks/web/usePage' import { SIDE_BAR_MINI_WIDTH, SIDE_BAR_SHOW_TIT_MINI_WIDTH } from '@/enums/appEnum' -import clickOutside from '@/directives/clickOutside' import { getChildrenMenus, getCurrentParentPath, getShallowMenus } from '@/router/menus' import { listenerRouteChange } from '@/logics/mitt/routeChange' -export default defineComponent({ - name: 'LayoutMixSider', - components: { - ScrollContainer, - AppLogo, - SimpleMenu, - Icon, - LayoutTrigger, - SimpleMenuTag, - }, - directives: { - clickOutside, - }, - setup() { - const menuModules = ref<Menu[]>([]) - const activePath = ref('') - const childrenMenus = ref<Menu[]>([]) - const openMenu = ref(false) - const dragBarRef = ref<ElRef>(null) - const sideRef = ref<ElRef>(null) - const currentRoute = ref<Nullable<RouteLocationNormalized>>(null) - - const { prefixCls } = useDesign('layout-mix-sider') - const go = useGo() - const { t } = useI18n() - const { - getMenuWidth, - getCanDrag, - getCloseMixSidebarOnChange, - getMenuTheme, - getMixSideTrigger, - getRealWidth, - getMixSideFixed, - mixSideHasChildren, - setMenuSetting, - getIsMixSidebar, - getCollapsed, - } = useMenuSetting() - - const { title } = useGlobSetting() - const permissionStore = usePermissionStore() - - useDragLine(sideRef, dragBarRef, true) - - const getMenuStyle = computed((): CSSProperties => { - return { - width: unref(openMenu) ? `${unref(getMenuWidth)}px` : 0, - // eslint-disable-next-line @typescript-eslint/no-use-before-define - left: `${unref(getMixSideWidth)}px`, - } - }) - - const getIsFixed = computed(() => { - // eslint-disable-next-line vue/no-side-effects-in-computed-properties - mixSideHasChildren.value = unref(childrenMenus).length > 0 - const isFixed = unref(getMixSideFixed) && unref(mixSideHasChildren) - if (isFixed) - // eslint-disable-next-line vue/no-side-effects-in-computed-properties - openMenu.value = true +const wrap = ref(null) +const menuModules = ref<Menu[]>([]) +const activePath = ref('') +const childrenMenus = ref<Menu[]>([]) +const openMenu = ref(false) +const dragBarRef = ref<ElRef>(null) +const sideRef = ref<ElRef>(null) +const currentRoute = ref<Nullable<RouteLocationNormalized>>(null) + +const { prefixCls } = useDesign('layout-mix-sider') +const go = useGo() +const { t } = useI18n() +const { + getMenuWidth, + getCanDrag, + getCloseMixSidebarOnChange, + getMenuTheme, + getMixSideTrigger, + getRealWidth, + getMixSideFixed, + mixSideHasChildren, + setMenuSetting, + getIsMixSidebar, + getCollapsed, +} = useMenuSetting() + +const { title } = useGlobSetting() +const permissionStore = usePermissionStore() + +useDragLine(sideRef, dragBarRef, true) + +const getMenuStyle = computed((): CSSProperties => { + return { + width: unref(openMenu) ? `${unref(getMenuWidth)}px` : 0, + // eslint-disable-next-line @typescript-eslint/no-use-before-define + left: `${unref(getMixSideWidth)}px`, + } +}) - return isFixed - }) - - const getMixSideWidth = computed(() => { - return unref(getCollapsed) ? SIDE_BAR_MINI_WIDTH : SIDE_BAR_SHOW_TIT_MINI_WIDTH - }) - - const getDomStyle = computed((): CSSProperties => { - const fixedWidth = unref(getIsFixed) ? unref(getRealWidth) : 0 - const width = `${unref(getMixSideWidth) + fixedWidth}px` - return getWrapCommonStyle(width) - }) - - const getWrapStyle = computed((): CSSProperties => { - const width = `${unref(getMixSideWidth)}px` - return getWrapCommonStyle(width) - }) - - const getMenuEvents = computed(() => { - return !unref(getMixSideFixed) - ? { - onMouseleave: () => { - setActive(true) - closeMenu() - }, - } - : {} - }) +const getIsFixed = computed(() => { + // eslint-disable-next-line vue/no-side-effects-in-computed-properties + mixSideHasChildren.value = unref(childrenMenus).length > 0 + const isFixed = unref(getMixSideFixed) && unref(mixSideHasChildren) + if (isFixed) + // eslint-disable-next-line vue/no-side-effects-in-computed-properties + openMenu.value = true - const getShowDragBar = computed(() => unref(getCanDrag)) + return isFixed +}) - onMounted(async () => { - menuModules.value = await getShallowMenus() - }) +const getMixSideWidth = computed(() => { + return unref(getCollapsed) ? SIDE_BAR_MINI_WIDTH : SIDE_BAR_SHOW_TIT_MINI_WIDTH +}) - // Menu changes - watch( - [() => permissionStore.getLastBuildMenuTime, () => permissionStore.getBackMenuList], - async () => { - menuModules.value = await getShallowMenus() - }, - { - immediate: true, - }, - ) +const getDomStyle = computed((): CSSProperties => { + const fixedWidth = unref(getIsFixed) ? unref(getRealWidth) : 0 + const width = `${unref(getMixSideWidth) + fixedWidth}px` + return getWrapCommonStyle(width) +}) - listenerRouteChange((route) => { - currentRoute.value = route - setActive(true) - if (unref(getCloseMixSidebarOnChange)) - closeMenu() - }) - - function getWrapCommonStyle(width: string): CSSProperties { - return { - width, - maxWidth: width, - minWidth: width, - flex: `0 0 ${width}`, - } - } +const getWrapStyle = computed((): CSSProperties => { + const width = `${unref(getMixSideWidth)}px` + return getWrapCommonStyle(width) +}) - // Process module menu click - async function handleModuleClick(path: string, hover = false) { - const children = await getChildrenMenus(path) - if (unref(activePath) === path) { - if (!hover) { - if (!unref(openMenu)) - openMenu.value = true - else - closeMenu() - } - else { - if (!unref(openMenu)) - openMenu.value = true - } - if (!unref(openMenu)) - setActive() - } - else { - openMenu.value = true - activePath.value = path +const getMenuEvents = computed(() => { + return !unref(getMixSideFixed) + ? { + onMouseleave: () => { + setActive(true) + closeMenu() + }, } + : {} +}) - if (!children || children.length === 0) { - if (!hover) - go(path) - childrenMenus.value = [] +const getShowDragBar = computed(() => unref(getCanDrag)) + +onMounted(async () => { + menuModules.value = await getShallowMenus() +}) + +// Menu changes +watch( + [() => permissionStore.getLastBuildMenuTime, () => permissionStore.getBackMenuList], + async () => { + menuModules.value = await getShallowMenus() + }, + { + immediate: true, + }, +) + +listenerRouteChange((route) => { + currentRoute.value = route + setActive(true) + if (unref(getCloseMixSidebarOnChange)) + closeMenu() +}) + +function getWrapCommonStyle(width: string): CSSProperties { + return { + width, + maxWidth: width, + minWidth: width, + flex: `0 0 ${width}`, + } +} + +// Process module menu click +async function handleModuleClick(path: string, hover = false) { + const children = await getChildrenMenus(path) + if (unref(activePath) === path) { + if (!hover) { + if (!unref(openMenu)) + openMenu.value = true + else closeMenu() - return - } - childrenMenus.value = children } - - // Set the currently active menu and submenu - async function setActive(setChildren = false) { - const path = currentRoute.value?.path - if (!path) - return - activePath.value = await getCurrentParentPath(path) - // hanldeModuleClick(parentPath); - if (unref(getIsMixSidebar)) { - const activeMenu = unref(menuModules).find(item => item.path === unref(activePath)) - const p = activeMenu?.path - if (p) { - const children = await getChildrenMenus(p) - if (setChildren) { - childrenMenus.value = children - - if (unref(getMixSideFixed)) - openMenu.value = children.length > 0 - } - if (children.length === 0) - childrenMenus.value = [] - } - } + else { + if (!unref(openMenu)) + openMenu.value = true } + if (!unref(openMenu)) + setActive() + } + else { + openMenu.value = true + activePath.value = path + } - function handleMenuClick(path: string) { + if (!children || children.length === 0) { + if (!hover) go(path) - } - - function handleClickOutside() { - setActive(true) - closeMenu() - } + childrenMenus.value = [] + closeMenu() + return + } + childrenMenus.value = children +} - function getItemEvents(item: Menu) { - if (unref(getMixSideTrigger) === 'hover') { - return { - onMouseenter: () => handleModuleClick(item.path, true), - onClick: async () => { - const children = await getChildrenMenus(item.path) - if (item.path && (!children || children.length === 0)) - go(item.path) - }, - } - } - return { - onClick: () => handleModuleClick(item.path), +// Set the currently active menu and submenu +async function setActive(setChildren = false) { + const path = currentRoute.value?.path + if (!path) + return + activePath.value = await getCurrentParentPath(path) + // hanldeModuleClick(parentPath); + if (unref(getIsMixSidebar)) { + const activeMenu = unref(menuModules).find(item => item.path === unref(activePath)) + const p = activeMenu?.path + if (p) { + const children = await getChildrenMenus(p) + if (setChildren) { + childrenMenus.value = children + + if (unref(getMixSideFixed)) + openMenu.value = children.length > 0 } + if (children.length === 0) + childrenMenus.value = [] } + } +} - function handleFixedMenu() { - setMenuSetting({ - mixSideFixed: !unref(getIsFixed), - }) - } +function handleMenuClick(path: string) { + go(path) +} - // Close menu - function closeMenu() { - if (!unref(getIsFixed)) - openMenu.value = false - } +function handleClickOutside() { + setActive(true) + closeMenu() +} +function getItemEvents(item: Menu) { + if (unref(getMixSideTrigger) === 'hover') { return { - t, - prefixCls, - menuModules, - handleModuleClick, - activePath, - childrenMenus, - getShowDragBar, - handleMenuClick, - getMenuStyle, - handleClickOutside, - sideRef, - dragBarRef, - title, - openMenu, - getMenuTheme, - getItemEvents, - getMenuEvents, - getDomStyle, - handleFixedMenu, - getMixSideFixed, - getWrapStyle, - getCollapsed, + onMouseenter: () => handleModuleClick(item.path, true), + onClick: async () => { + const children = await getChildrenMenus(item.path) + if (item.path && (!children || children.length === 0)) + go(item.path) + }, } - }, + } + return { + onClick: () => handleModuleClick(item.path), + } +} + +function handleFixedMenu() { + setMenuSetting({ + mixSideFixed: !unref(getIsFixed), + }) +} + +// Close menu +function closeMenu() { + if (!unref(getIsFixed)) + openMenu.value = false +} + +onClickOutside(wrap, () => { + handleClickOutside() }) </script> <template> <div :class="`${prefixCls}-dom`" :style="getDomStyle" /> <div - v-click-outside="handleClickOutside" + ref="wrap" :style="getWrapStyle" :class="[ prefixCls, From 5b27f87ef3a24c613472a111c7f4504d92cc8d84 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Fri, 22 Sep 2023 18:08:20 +0800 Subject: [PATCH 04/18] chore: update deps --- README.md | 4 +- package.json | 12 +- pnpm-lock.yaml | 323 +++++++++++++++++++++++++------------------------ 3 files changed, 170 insertions(+), 169 deletions(-) diff --git a/README.md b/README.md index 517288d9..f24bb958 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,8 @@ | [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.1.6 | | [vueuse](https://vueuse.org/) | 常用工具集 | 10.4.1 | | [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.4.1 | -| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.4 | -| [unocss](https://uno.antfu.me/) | 原子 css | 0.55.7 | +| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.5 | +| [unocss](https://uno.antfu.me/) | 原子 css | 0.56.1 | | [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.1 | -  diff --git a/package.json b/package.json index 104c42e1..8766ca72 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "vue": "^3.3.4", "vue-i18n": "^9.4.1", "vue-json-pretty": "^2.2.4", - "vue-router": "^4.2.4", + "vue-router": "^4.2.5", "vue-types": "^5.1.1", "vuedraggable": "^4.1.0", "xlsx": "^0.18.5" @@ -84,7 +84,7 @@ "devDependencies": { "@commitlint/cli": "^17.7.1", "@commitlint/config-conventional": "^17.7.0", - "@iconify/json": "^2.2.117", + "@iconify/json": "^2.2.119", "@purge-icons/generated": "^0.9.0", "@types/codemirror": "^5.60.10", "@types/crypto-js": "^4.1.2", @@ -95,7 +95,7 @@ "@types/nprogress": "^0.2.0", "@types/qs": "^6.9.8", "@types/sortablejs": "^1.15.2", - "@unocss/eslint-config": "^0.56.0", + "@unocss/eslint-config": "^0.56.1", "@vitejs/plugin-vue": "4.3.4", "@vitejs/plugin-vue-jsx": "^3.0.2", "@vue/compiler-sfc": "^3.3.4", @@ -126,9 +126,9 @@ "stylelint-config-standard": "^34.0.0", "stylelint-order": "^6.0.3", "stylelint-prettier": "^4.0.2", - "terser": "^5.19.4", + "terser": "^5.20.0", "typescript": "^5.2.2", - "unocss": "^0.56.0", + "unocss": "^0.56.1", "vite": "^4.4.9", "vite-plugin-compression": "^0.5.1", "vite-plugin-mkcert": "^1.16.0", @@ -138,7 +138,7 @@ "vite-plugin-svg-icons": "^2.0.1", "vite-vue-plugin-html": "^1.0.2", "vue-eslint-parser": "^9.3.1", - "vue-tsc": "^1.8.11" + "vue-tsc": "^1.8.13" }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eff4faa8..63823821 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,8 +96,8 @@ dependencies: specifier: ^2.2.4 version: 2.2.4(vue@3.3.4) vue-router: - specifier: ^4.2.4 - version: 4.2.4(vue@3.3.4) + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.4) vue-types: specifier: ^5.1.1 version: 5.1.1(vue@3.3.4) @@ -116,8 +116,8 @@ devDependencies: specifier: ^17.7.0 version: 17.7.0 '@iconify/json': - specifier: ^2.2.117 - version: 2.2.117 + specifier: ^2.2.119 + version: 2.2.119 '@purge-icons/generated': specifier: ^0.9.0 version: 0.9.0 @@ -149,8 +149,8 @@ devDependencies: specifier: ^1.15.2 version: 1.15.2 '@unocss/eslint-config': - specifier: ^0.56.0 - version: 0.56.0(eslint@8.49.0)(typescript@5.2.2) + specifier: ^0.56.1 + version: 0.56.1(eslint@8.49.0)(typescript@5.2.2) '@vitejs/plugin-vue': specifier: 4.3.4 version: 4.3.4(vite@4.4.9)(vue@3.3.4) @@ -242,17 +242,17 @@ devDependencies: specifier: ^4.0.2 version: 4.0.2(prettier@3.0.3)(stylelint@15.10.3) terser: - specifier: ^5.19.4 - version: 5.19.4 + specifier: ^5.20.0 + version: 5.20.0 typescript: specifier: ^5.2.2 version: 5.2.2 unocss: - specifier: ^0.56.0 - version: 0.56.0(postcss@8.4.30)(rollup@3.29.2)(vite@4.4.9) + specifier: ^0.56.1 + version: 0.56.1(postcss@8.4.30)(rollup@3.29.2)(vite@4.4.9) vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + version: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) vite-plugin-compression: specifier: ^0.5.1 version: 0.5.1(vite@4.4.9) @@ -278,8 +278,8 @@ devDependencies: specifier: ^9.3.1 version: 9.3.1(eslint@8.49.0) vue-tsc: - specifier: ^1.8.11 - version: 1.8.11(typescript@5.2.2) + specifier: ^1.8.13 + version: 1.8.13(typescript@5.2.2) packages: @@ -2047,8 +2047,8 @@ packages: dependencies: '@iconify/types': 2.0.0 - /@iconify/json@2.2.117: - resolution: {integrity: sha512-JJO8TzYJHq1geopQOOO2B1n5D0brls9RUcgaZ9+B8qpkJ9FZrwLv0gd50lySLqVEruhp8WJg1ujULispbVcOpw==} + /@iconify/json@2.2.119: + resolution: {integrity: sha512-tYvxJpBds6UgXe6/iq2pW7hblsniDGWuKEwCr8PnSKLmZMilrtzHX7v+pg7FFmV2l2qA2Iw4toMRpe11tWBI4Q==} dependencies: '@iconify/types': 2.0.0 pathe: 1.1.1 @@ -2881,32 +2881,32 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unocss/astro@0.56.0(rollup@3.29.2)(vite@4.4.9): - resolution: {integrity: sha512-yBkpp2vc/dH6AiLAZrHC+trpR16VN4SiMVPgiy/UREj9BHJXVwFxFscjqXnuNP1vaxmVEfcvTkph9nJf/+JFjQ==} + /@unocss/astro@0.56.1(rollup@3.29.2)(vite@4.4.9): + resolution: {integrity: sha512-ivWm69J76DRwCiEFM75qR4WPMCC6nyOrUM5iQDTypwKbBX26XlXcYYCN3DLoQTmWdp5f2BubZXAg3KIdgVxrYg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.56.0 - '@unocss/reset': 0.56.0 - '@unocss/vite': 0.56.0(rollup@3.29.2)(vite@4.4.9) - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + '@unocss/core': 0.56.1 + '@unocss/reset': 0.56.1 + '@unocss/vite': 0.56.1(rollup@3.29.2)(vite@4.4.9) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.56.0(rollup@3.29.2): - resolution: {integrity: sha512-+SD7Pd6xTHj4lW5vZXtebLnCAdhyjrNWsfBHK8exjZF6PVbJWW3wfZ1cBPqveWvS8/1kqsMp2I3GFORKjBiFoQ==} + /@unocss/cli@0.56.1(rollup@3.29.2): + resolution: {integrity: sha512-s7lRtPkNw7GXdej3uYKFgfyal3Bq0Ux9oJKQ3rV7ysvY5AMfHs+ayc1EC6vXsAunziJ39dloPrRY5cx1H7abkQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.0.4(rollup@3.29.2) - '@unocss/config': 0.56.0 - '@unocss/core': 0.56.0 - '@unocss/preset-uno': 0.56.0 + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + '@unocss/preset-uno': 0.56.1 cac: 6.7.14 chokidar: 3.5.3 colorette: 2.0.20 @@ -2919,36 +2919,36 @@ packages: - rollup dev: true - /@unocss/config@0.56.0: - resolution: {integrity: sha512-TGyh3Ns15rKPRrVmiqcF9BcZ9yC0fixxwUGm49a2rQ91GOKNIZ6O/tX2MHxoncU/Sp2ZkrRreoT8fsEejfHAYg==} + /@unocss/config@0.56.1: + resolution: {integrity: sha512-ZwKWtbMfg38laUNwjERkiTo3JKCgpw+hZMBqbbr2N4Rhc1ZaT4EJyQmcc/+P05JoNNr+ueYMoCMOCOtn/wuheQ==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 unconfig: 0.3.10 dev: true - /@unocss/core@0.56.0: - resolution: {integrity: sha512-KpaEMCg5XnTK7aQRgwNWoPCAFLEmPGjw+OSZWuMtkGvMr4RwDAVUAqPdGyGOavKMyWs+Is+lxXL5NHy9nhZ2oA==} + /@unocss/core@0.56.1: + resolution: {integrity: sha512-2qmb/+hQ2CXmIgSqaeL6Pw2reO2MxsZlLMFuu71J8T3+UKrkI9NAwkZ4sdb38EoOisVIr2lvE48uc44XBfaOdg==} dev: true - /@unocss/eslint-config@0.56.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-TRzCx+5gNwakFY9BXIVTctRcO+h4JB7WdayfwZ5T2eYRB1DLhdiGg2gJTlPtVQV0DzIdza+BCDbg9W+dGiC/lQ==} + /@unocss/eslint-config@0.56.1(eslint@8.49.0)(typescript@5.2.2): + resolution: {integrity: sha512-ph1w2FO+wCHq0jz0iQyxUbjwLSVjSz6wQ2yd0fCsm6mHNlewWHmu6gD3Grs9j5XDyFJEwz4HZZRHspJanqSJyA==} engines: {node: '>=14'} dependencies: - '@unocss/eslint-plugin': 0.56.0(eslint@8.49.0)(typescript@5.2.2) + '@unocss/eslint-plugin': 0.56.1(eslint@8.49.0)(typescript@5.2.2) transitivePeerDependencies: - eslint - supports-color - typescript dev: true - /@unocss/eslint-plugin@0.56.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-hjGWM6eJawYuXcdEB/Tg5hmcT9SnqzMrwSRwPyVhEmaPZV/3pqJWXbrPessMMH0ZeTKhBd4au79Zb7ZmoWcnJA==} + /@unocss/eslint-plugin@0.56.1(eslint@8.49.0)(typescript@5.2.2): + resolution: {integrity: sha512-WLTybFXK9FJUMmEdUBa4Yj6uZx4qTCThGVej5Rn3XA+5f58zNmcSbipUG5oz16Z/QqYKP8iKhtg5zAQJMi0erg==} engines: {node: '>=14'} dependencies: '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@unocss/config': 0.56.0 - '@unocss/core': 0.56.0 + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 magic-string: 0.30.3 synckit: 0.8.5 transitivePeerDependencies: @@ -2957,158 +2957,159 @@ packages: - typescript dev: true - /@unocss/extractor-arbitrary-variants@0.56.0: - resolution: {integrity: sha512-OtdDsief0sqzYkS0GH9+LYUWojOjisjYjk5nLBI9lMfU23l/G76T2BzN8/W19MjUEs80relP4nO/ruefJn0hvw==} + /@unocss/extractor-arbitrary-variants@0.56.1: + resolution: {integrity: sha512-2vEcVwUTpC0yROjvKGjR3HSE8jaf1cwQqL+Ba5oP+Y4Vrjlf8hqvoSowgVT+wp/ecPH8z82xFNhS+XMOdgXpGA==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/inspector@0.56.0: - resolution: {integrity: sha512-YGIyDe0eDzf0XhIHZRxZFV4xGKIA8jGBQ/rOF9k32Z8hyJ3jdJYf7s/ckA6s1kYxFq4qFmznylWeuh8JSUHeMg==} + /@unocss/inspector@0.56.1: + resolution: {integrity: sha512-PJ3MEwOvUjLaiySPQQKlw0XgwpReNK7c+nDX0D8ZBmUyw3swSn8wSar2cCOLsKLRtKRRp4kz1brM/BaleyYyeg==} dependencies: - '@unocss/rule-utils': 0.56.0 + '@unocss/rule-utils': 0.56.1 gzip-size: 6.0.0 sirv: 2.0.3 dev: true - /@unocss/postcss@0.56.0(postcss@8.4.30): - resolution: {integrity: sha512-4wYpu8u8fjEeDvpA7m7Sq2wdIcXdoRSuu2HG/co7uqdXJJD6dQtOgI5Q0ooyPhWNx4w3zBCfaADBxfIcWsZotg==} + /@unocss/postcss@0.56.1(postcss@8.4.30): + resolution: {integrity: sha512-8jUS5ynopvMbZmdUQhGv+lvKziuAPHHl9LaZzCJ4uHgPOwITNXWTi4dmNbytdYC3iYPQ++8eOph93VPCxdqVsw==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 dependencies: - '@unocss/config': 0.56.0 - '@unocss/core': 0.56.0 + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + '@unocss/rule-utils': 0.56.1 css-tree: 2.3.1 fast-glob: 3.3.1 magic-string: 0.30.3 postcss: 8.4.30 dev: true - /@unocss/preset-attributify@0.56.0: - resolution: {integrity: sha512-0K+dy8Ey081Tgn1beADIrGmO3yhthM5KVqz+E+ni4o9paZg1DrBXnKA1Y8+fK3fEE1LmKK1hGhBrx68gCFX7XA==} + /@unocss/preset-attributify@0.56.1: + resolution: {integrity: sha512-z+riyM9Fl+aYReg3cgxDRrI52teOL6ebj1UkMOje5sXuhneEQobUkg3k4Oi9NGTdalO5PU/jwcYCNfVksMPWZg==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/preset-icons@0.56.0: - resolution: {integrity: sha512-b0WrDmChgk+5db6LSiZkCZ3wUInntFU82bbNSspE3DhCSsaNP0S6vxK6RGlyNuQayodsoW3gqThVuND8KYj7kg==} + /@unocss/preset-icons@0.56.1: + resolution: {integrity: sha512-Jwyy7i39Hvt4gf+/vtlIcKucNP2y7IV5nF9KPuDnikho4xS/D24z3lbUclrscbH8XGfRcsUzGHI/y+8gD7zZjQ==} dependencies: '@iconify/utils': 2.1.10 - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 ofetch: 1.3.3 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini@0.56.0: - resolution: {integrity: sha512-uEdaiWF4RiU+RFtQjiv0R3RDRjNV+OFa3C+xVELLOIROnvb+h/D2wVxC8t8qOuVe8I6cHsGJgWfEpT3ptDhxqQ==} + /@unocss/preset-mini@0.56.1: + resolution: {integrity: sha512-hOujmUN5kiA7KCkH1mUFf3cStsa3WZTi3g/I91VQ8EM4S6R7aRvME7LBXlb38z68+pckoDLhOhbN7gSg2iZTjA==} dependencies: - '@unocss/core': 0.56.0 - '@unocss/extractor-arbitrary-variants': 0.56.0 - '@unocss/rule-utils': 0.56.0 + '@unocss/core': 0.56.1 + '@unocss/extractor-arbitrary-variants': 0.56.1 + '@unocss/rule-utils': 0.56.1 dev: true - /@unocss/preset-tagify@0.56.0: - resolution: {integrity: sha512-8FBHa+yPEFQ26BcqgBUrlLX7ThoMPRbH2AjQCk0RpgVhhy6OBweOFXmE0FhcOpNnM6DJadA6vlp3bTXZ0epqVA==} + /@unocss/preset-tagify@0.56.1: + resolution: {integrity: sha512-cd1McbaEpoerduOt8dA6MOkVZQIutuF3dHyjrI/pXbDtoyzBWjT9MLEeV77Hlz3S09+9cqGZddBBkqo0WGsM0w==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/preset-typography@0.56.0: - resolution: {integrity: sha512-CF1dz+00TqTxQSIRkmCaUMk6+bB77z6PWB0VbxxpeYgpxKU1yC247tcBDmrQGhp1NmO4zr9COGEnl/o++OEXmQ==} + /@unocss/preset-typography@0.56.1: + resolution: {integrity: sha512-3p+dWEtMDe8MSPbUZseS94OpdYbv/pMTs2K1NBysE5BjIEVlyxRNWcZ8FC6risAJ1U0Ouctb6BqP6IA8r9BiWQ==} dependencies: - '@unocss/core': 0.56.0 - '@unocss/preset-mini': 0.56.0 + '@unocss/core': 0.56.1 + '@unocss/preset-mini': 0.56.1 dev: true - /@unocss/preset-uno@0.56.0: - resolution: {integrity: sha512-DlTZZ4kS6BEwJTTp5ly86UdhnUhCfgctRDv6gT8LYcji7VInYEPdTA0+Szy7PZtQFeQE8E3kONsiKuoVlwLtPw==} + /@unocss/preset-uno@0.56.1: + resolution: {integrity: sha512-rNnjpmnfrP/1P462dyELBQHe5NDlFSrJevwjCpAOeFXdO0XCCULpHokuaovZYwesNvzzWu+cZequya38n5hkSw==} dependencies: - '@unocss/core': 0.56.0 - '@unocss/preset-mini': 0.56.0 - '@unocss/preset-wind': 0.56.0 - '@unocss/rule-utils': 0.56.0 + '@unocss/core': 0.56.1 + '@unocss/preset-mini': 0.56.1 + '@unocss/preset-wind': 0.56.1 + '@unocss/rule-utils': 0.56.1 dev: true - /@unocss/preset-web-fonts@0.56.0: - resolution: {integrity: sha512-25BSNm29oOY9N37awVV902cmdGd3e8G1EdVm0kqA7YxwUViSdoej0C1R+i27WsrBPtwpLyulRjrjWgtxM/3E8g==} + /@unocss/preset-web-fonts@0.56.1: + resolution: {integrity: sha512-SO2ZjrcFSi02QgQT3UVUtIlZE59A92gB1pzmYTMGZhjhmxqq6aghvBKEC00LfnQ200MRtAawgiZ+5Xysi/XsGg==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 ofetch: 1.3.3 dev: true - /@unocss/preset-wind@0.56.0: - resolution: {integrity: sha512-P978d2+kc/LALmDO8bG00oCvAAA2EGW0mIzoZRM+eb5zWSDEkkSuC+YoiLehbByRkw0voAMgqobWxYIb2GUmfg==} + /@unocss/preset-wind@0.56.1: + resolution: {integrity: sha512-/fR0eYlmezu6R3wWvN5zVNAfOE6rcC1CsEZKH0SdwchMvNDjJNd0rmAechI2BnVBaa3++H2Cz+0AfCDEP8tsjg==} dependencies: - '@unocss/core': 0.56.0 - '@unocss/preset-mini': 0.56.0 - '@unocss/rule-utils': 0.56.0 + '@unocss/core': 0.56.1 + '@unocss/preset-mini': 0.56.1 + '@unocss/rule-utils': 0.56.1 dev: true - /@unocss/reset@0.56.0: - resolution: {integrity: sha512-zTvUeN4Dkn+DY8YFHjKd+hfIpqcsNOKOeD0M64fWVjD0LmuuyuFASySYEGjlfvEEUjDiyNg96SnTXyOETYDclg==} + /@unocss/reset@0.56.1: + resolution: {integrity: sha512-nfzLKv2W9Y3fZLny6lYTroa/YExczGYHsVPCBPGkVt0TrM0yDA+ZKOHbN93b5myY9hzJ3pHTEQmYFsFwzzr6Kg==} dev: true - /@unocss/rule-utils@0.56.0: - resolution: {integrity: sha512-ozxI/KlAZmvRlsVy+oysuCXoxXm6141QsYwH1q8heIBBVTOY1jku82VveCfv4ZWrewYkgd27ME7e77ArfGLzyw==} + /@unocss/rule-utils@0.56.1: + resolution: {integrity: sha512-mmmbx10eELAyhYZqBWlQFPOafnL1hHp2fo18rUbZLedvMJWds3Z23Q/u3VKEpJnCszNkr03BXVwscR5+ZdF4uw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/scope@0.56.0: - resolution: {integrity: sha512-zGUxAhHh04cqzBgfsAFjQg4xsna+3Y9ST1G/Lcs3CNzm9GC/SSPwcNzFel+r75Wtx/2WlhjmWCnK5gOzRR3l6Q==} + /@unocss/scope@0.56.1: + resolution: {integrity: sha512-qIq/JuibrVOAJw/TCUm54XwHRcDImgrb1abZVuaicFh6fjmpdOi/iglYxoFqXS5gusp0m2vNnOLbaBB4LrPf5Q==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.56.0: - resolution: {integrity: sha512-wOMAr5TnGOZgc6Pqkdecg3O3x1kH7lsyDQxsTqZz3CjYDr9iJMWdRir3UwQVTxg6Xy/BfRE0Qe7LcFIR0BJPHg==} + /@unocss/transformer-attributify-jsx-babel@0.56.1: + resolution: {integrity: sha512-8+l4tfifHiSnga3iaxqXfAMgEJG7yLphKPDSm6DHEMUqKeia9rn3V/bABx5KZxpMmnH6FoiYboJL4uf5W58a5Q==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/transformer-attributify-jsx@0.56.0: - resolution: {integrity: sha512-g1zc7y/oLsSi6qH2GwdfWwWaG6w/hQaL3XyOJ0hpn86N8qcLbeeH7IJdnrGXX1R/w7Z0t9Lz9lhGb+UP3ymmfQ==} + /@unocss/transformer-attributify-jsx@0.56.1: + resolution: {integrity: sha512-2dQ7immRBnZJQ9aU+VIiAbcFCycXq8yXG2RPd82Pl0tAV8f5DtLbbuTC5mzo5lGOhuXJ+/u+IpuL9xchjOV7WQ==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/transformer-compile-class@0.56.0: - resolution: {integrity: sha512-8+CKMGk5qBe3I1/c8DoggWuhVmZ/6QlTHpLRs5Xt6LS5CF2vrLhjyqMNnBvVcp8OKTeAfv2U6kGKPXFSvSEVUA==} + /@unocss/transformer-compile-class@0.56.1: + resolution: {integrity: sha512-v3ICzTWj3oQ1S6qkGzg/oyzrk05ZgdcvjYFSZlgBIu2iUJldBhO0+7ZMuDpniaT21GjJvukLwiWrOF4mYyJCyg==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/transformer-directives@0.56.0: - resolution: {integrity: sha512-6WthoetYrDDKamuYfsRbX+R3scyomcxA10YV8VlZ19hJIyIhZdCWEoyLccVsS4+uBIZUo0RjhxaxwyYtPa1dBQ==} + /@unocss/transformer-directives@0.56.1: + resolution: {integrity: sha512-Pwh+JUxxn8ECqpEWETeD38OON5Y2oYAOC1CFKAyXoK22J7f51THoS07z2rZpDNdQA2T/szxenNCdRt72/NJ/pg==} dependencies: - '@unocss/core': 0.56.0 - '@unocss/rule-utils': 0.56.0 + '@unocss/core': 0.56.1 + '@unocss/rule-utils': 0.56.1 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.56.0: - resolution: {integrity: sha512-4QLGUPD2ephvrSemIapiL3ckr1xcdcjxk/VZ/SOobLrHyxCLzLaHZz6x7RabCWf2Ub/01xWtLY3eSNIphZ5iSg==} + /@unocss/transformer-variant-group@0.56.1: + resolution: {integrity: sha512-UwXNcW00R6MjHZajy8lmSfwWDwhnvd+rF9eRGfcJTEzWr+LtEmgw8SJBr7STCB4ZwRE37NIp4oLLl1jF8omGNg==} dependencies: - '@unocss/core': 0.56.0 + '@unocss/core': 0.56.1 dev: true - /@unocss/vite@0.56.0(rollup@3.29.2)(vite@4.4.9): - resolution: {integrity: sha512-QFuX2jHYiNCdzffxVyBuECnkaaQzYkvf+P3VU/yNyUuH9DAzSIBVEpS04dRQQ7IdQiVduIpldL+IgUr/qW+IUA==} + /@unocss/vite@0.56.1(rollup@3.29.2)(vite@4.4.9): + resolution: {integrity: sha512-IztLc304zP2LYQMsP3yVHmLwXlLUgCY3q6Nkqw6Hpds7l5JXBsE7Q19DtNW+4nDOp9wvWhw7CjQLmoh8d+V0lQ==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.0.4(rollup@3.29.2) - '@unocss/config': 0.56.0 - '@unocss/core': 0.56.0 - '@unocss/inspector': 0.56.0 - '@unocss/scope': 0.56.0 - '@unocss/transformer-directives': 0.56.0 + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + '@unocss/inspector': 0.56.1 + '@unocss/scope': 0.56.1 + '@unocss/transformer-directives': 0.56.1 chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.3 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true @@ -3168,7 +3169,7 @@ packages: '@babel/core': 7.22.17 '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.17) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.17) - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -3181,7 +3182,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) vue: 3.3.4 dev: true @@ -3264,8 +3265,8 @@ packages: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: false - /@vue/language-core@1.8.11(typescript@5.2.2): - resolution: {integrity: sha512-+MZOBGqGwfld6hpo0DB47x8eNM0dNqk15ZdfOhj19CpvuYuOWCeVdOEGZunKDyo3QLkTn3kLOSysJzg7FDOQBA==} + /@vue/language-core@1.8.13(typescript@5.2.2): + resolution: {integrity: sha512-nata2fYBZAkl4QJrU+IcArJCMTHt1VP8ePL/Z7eUPC2AF+Cm7Qgo9ksNCPBzZRh1LYjCaSaqV7njqNogwpsMVg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3322,11 +3323,11 @@ packages: /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - /@vue/typescript@1.8.11(typescript@5.2.2): - resolution: {integrity: sha512-skUmMDiPUUtu1flPmf2YybF+PX8IzBtMioQOaNn6Ck/RhdrPJGj1AX/7s3Buf9G6ln+/KHR1XQuti/FFxw5XVA==} + /@vue/typescript@1.8.13(typescript@5.2.2): + resolution: {integrity: sha512-ALJjHFqQ3dgZVCI/ogAS/dZ7JEhIi1N0Em5I7uwabY1p9RDRK3odLsycMHyxZRjm5dLI15c07eeBloHiD2Otlg==} dependencies: '@volar/typescript': 1.10.1 - '@vue/language-core': 1.8.11(typescript@5.2.2) + '@vue/language-core': 1.8.13(typescript@5.2.2) transitivePeerDependencies: - typescript dev: true @@ -5969,7 +5970,7 @@ packages: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.19.4 + terser: 5.20.0 dev: true /html-tags@3.3.1: @@ -8149,7 +8150,7 @@ packages: jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.19.4 + terser: 5.20.0 dev: true /rollup-plugin-visualizer@5.9.2(rollup@3.29.2): @@ -8895,8 +8896,8 @@ packages: unique-string: 2.0.0 dev: true - /terser@5.19.4: - resolution: {integrity: sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==} + /terser@5.20.0: + resolution: {integrity: sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9250,11 +9251,11 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.56.0(postcss@8.4.30)(rollup@3.29.2)(vite@4.4.9): - resolution: {integrity: sha512-Ge0lMi1zYL2z/NCv0OMeYMUeLsjQGNeohSc/3qumEtGhBNiGrF6sVX80BnJ99fAFsn80nxJepWbCApUmZ/2tJA==} + /unocss@0.56.1(postcss@8.4.30)(rollup@3.29.2)(vite@4.4.9): + resolution: {integrity: sha512-jjkcyXfW90CUjN4tBV6SrHX9ifi5GQgcwAQlMRB0copJEW3ejM/nyZnRgNexaV7hi7Ao76XMVqCKbOC5B+IuOA==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.56.0 + '@unocss/webpack': 0.56.1 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: '@unocss/webpack': @@ -9262,27 +9263,27 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.56.0(rollup@3.29.2)(vite@4.4.9) - '@unocss/cli': 0.56.0(rollup@3.29.2) - '@unocss/core': 0.56.0 - '@unocss/extractor-arbitrary-variants': 0.56.0 - '@unocss/postcss': 0.56.0(postcss@8.4.30) - '@unocss/preset-attributify': 0.56.0 - '@unocss/preset-icons': 0.56.0 - '@unocss/preset-mini': 0.56.0 - '@unocss/preset-tagify': 0.56.0 - '@unocss/preset-typography': 0.56.0 - '@unocss/preset-uno': 0.56.0 - '@unocss/preset-web-fonts': 0.56.0 - '@unocss/preset-wind': 0.56.0 - '@unocss/reset': 0.56.0 - '@unocss/transformer-attributify-jsx': 0.56.0 - '@unocss/transformer-attributify-jsx-babel': 0.56.0 - '@unocss/transformer-compile-class': 0.56.0 - '@unocss/transformer-directives': 0.56.0 - '@unocss/transformer-variant-group': 0.56.0 - '@unocss/vite': 0.56.0(rollup@3.29.2)(vite@4.4.9) - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + '@unocss/astro': 0.56.1(rollup@3.29.2)(vite@4.4.9) + '@unocss/cli': 0.56.1(rollup@3.29.2) + '@unocss/core': 0.56.1 + '@unocss/extractor-arbitrary-variants': 0.56.1 + '@unocss/postcss': 0.56.1(postcss@8.4.30) + '@unocss/preset-attributify': 0.56.1 + '@unocss/preset-icons': 0.56.1 + '@unocss/preset-mini': 0.56.1 + '@unocss/preset-tagify': 0.56.1 + '@unocss/preset-typography': 0.56.1 + '@unocss/preset-uno': 0.56.1 + '@unocss/preset-web-fonts': 0.56.1 + '@unocss/preset-wind': 0.56.1 + '@unocss/reset': 0.56.1 + '@unocss/transformer-attributify-jsx': 0.56.1 + '@unocss/transformer-attributify-jsx-babel': 0.56.1 + '@unocss/transformer-compile-class': 0.56.1 + '@unocss/transformer-directives': 0.56.1 + '@unocss/transformer-variant-group': 0.56.1 + '@unocss/vite': 0.56.1(rollup@3.29.2)(vite@4.4.9) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - postcss - rollup @@ -9409,7 +9410,7 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - supports-color dev: true @@ -9424,7 +9425,7 @@ packages: axios: 1.5.0(debug@4.3.4) debug: 4.3.4 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - encoding - supports-color @@ -9439,7 +9440,7 @@ packages: picocolors: 1.0.0 progress: 2.0.3 rd: 2.0.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) dev: true /vite-plugin-purge-icons@0.9.2(vite@4.4.9): @@ -9451,7 +9452,7 @@ packages: '@purge-icons/core': 0.9.1 '@purge-icons/generated': 0.9.0 rollup-plugin-purge-icons: 0.9.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - encoding - supports-color @@ -9468,7 +9469,7 @@ packages: debug: 4.3.4 fast-glob: 3.3.1 pretty-bytes: 6.1.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: @@ -9488,7 +9489,7 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - supports-color dev: true @@ -9510,12 +9511,12 @@ packages: html-minifier-terser: 7.2.0 node-html-parser: 6.1.9 pathe: 1.1.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4) + vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true - /vite@4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.19.4): + /vite@4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -9548,7 +9549,7 @@ packages: less: 4.2.0 postcss: 8.4.30 rollup: 3.29.2 - terser: 5.19.4 + terser: 5.20.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -9607,8 +9608,8 @@ packages: vue: 3.3.4 dev: false - /vue-router@4.2.4(vue@3.3.4): - resolution: {integrity: sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==} + /vue-router@4.2.5(vue@3.3.4): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: @@ -9623,14 +9624,14 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.11(typescript@5.2.2): - resolution: {integrity: sha512-BzfiMdPqDHBlysx4g26NkfVHSQwGD/lTRausmxN9sFyjXz34OWfsbkh0YsVkX84Hu65In1fFlxHiG39Tr4Vojg==} + /vue-tsc@1.8.13(typescript@5.2.2): + resolution: {integrity: sha512-Hl8zUXPVK2KzPtbXeMCN0CSFkwvD96YOtYt9KvJPG9W8QGcNpGk9KHwPuGMxA8blWXSIli7gtsoC+clICEVdVg==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.11(typescript@5.2.2) - '@vue/typescript': 1.8.11(typescript@5.2.2) + '@vue/language-core': 1.8.13(typescript@5.2.2) + '@vue/typescript': 1.8.13(typescript@5.2.2) semver: 7.5.4 typescript: 5.2.2 dev: true From 96501ceb002fe81bf1defc8d75ab4c59521ec83b Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Fri, 22 Sep 2023 18:13:06 +0800 Subject: [PATCH 05/18] fix: eslint --- .../Application/src/AppDarkModeToggle.vue | 2 +- .../modules/FormComponentPanel.vue | 139 ++++++++---------- 2 files changed, 65 insertions(+), 76 deletions(-) diff --git a/src/components/Application/src/AppDarkModeToggle.vue b/src/components/Application/src/AppDarkModeToggle.vue index 7cde953f..66ac4690 100644 --- a/src/components/Application/src/AppDarkModeToggle.vue +++ b/src/components/Application/src/AppDarkModeToggle.vue @@ -35,7 +35,7 @@ function toggleDarkMode() { @click="toggleDarkMode" > <div - class="dark:(transform translateX(calc(100% + 2px))) absolute z-1 h-4.5 w-4.5 rounded-1/2 bg-white will-change-transform" + class="absolute z-1 h-4.5 w-4.5 rounded-1/2 bg-white will-change-transform" /> <SvgIcon size="14" name="sun" /> <SvgIcon size="14" name="moon" /> diff --git a/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue b/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue index 9c16a3fd..ab950c5b 100644 --- a/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue +++ b/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue @@ -4,7 +4,7 @@ --> <script lang="ts" setup> import draggable from 'vuedraggable' -import { computed, defineComponent } from 'vue' +import { computed } from 'vue' import { cloneDeep } from 'lodash-es' import { Empty, Form } from 'ant-design-vue' import { useFormDesignState } from '../../../hooks/useFormDesignState' @@ -12,7 +12,7 @@ import LayoutItem from '../components/LayoutItem.vue' const emit = defineEmits(['handleSetSelectItem']) -const Draggable = draggable +const Draggable = draggable const { formConfig } = useFormDesignState() @@ -46,30 +46,17 @@ const layoutTag = computed(() => { <template> <div class="v-form-container form-panel"> - <Empty - v-show="formConfig.schemas.length === 0" - class="empty-text" - description="从左侧选择控件添加" - /> + <Empty v-show="formConfig.schemas.length === 0" class="empty-text" description="从左侧选择控件添加" /> <Form v-bind="formConfig"> <div class="draggable-box"> <Draggable - v-model="formConfig.schemas" - class="list-main ant-row" - group="form-draggable" - :component-data="{ name: 'list', tag: 'div', type: 'transition-group' }" - ghost-class="moving" - :animation="180" - handle=".drag-move" - item-key="key" - @add="addItem" - @start="handleDragStart" + v-model="formConfig.schemas" class="list-main ant-row" group="form-draggable" + :component-data="{ name: 'list', tag: 'div', type: 'transition-group' }" ghost-class="moving" :animation="180" + handle=".drag-move" item-key="key" @add="addItem" @start="handleDragStart" > <template #item="{ element }"> <LayoutItem - class="drag-move" - :schema="element" - :data="formConfig" + class="drag-move" :schema="element" :data="formConfig" :current-item="formConfig.currentItem || {}" /> </template> @@ -80,72 +67,74 @@ const layoutTag = computed(() => { </template> <style lang="less" scoped> - @import url('../styles/variable.less'); - @import url('../styles/drag.less'); - - .v-form-container { - // 内联布局样式 - .ant-form-inline { - .list-main { - display: flex; - flex-wrap: wrap; - align-content: flex-start; - justify-content: flex-start; - - .layout-width { - width: 100%; - } - } +@import url('../styles/variable.less'); +@import url('../styles/drag.less'); + +.v-form-container { - .ant-form-item-control-wrapper { - min-width: 175px !important; + // 内联布局样式 + .ant-form-inline { + .list-main { + display: flex; + flex-wrap: wrap; + align-content: flex-start; + justify-content: flex-start; + + .layout-width { + width: 100%; } } + + .ant-form-item-control-wrapper { + min-width: 175px !important; + } + } +} + +.form-panel { + position: relative; + height: 100%; + + .empty-text { + position: absolute; + inset: -10% 0 0; + z-index: 100; + height: 150px; + margin: auto; + color: #aaa; } - .form-panel { - position: relative; - height: 100%; - - .empty-text { - position: absolute; - inset: -10% 0 0; - z-index: 100; - height: 150px; - margin: auto; - color: #aaa; + .draggable-box { + height: calc(100vh - 200px); + // width: 100%; + overflow: auto; + + .drag-move { + min-height: 62px; + cursor: move; } - .draggable-box { - height: calc(100vh - 200px); - // width: 100%; - overflow: auto; + .list-main { + + // 列表动画 + .list-enter-active { + transition: all 0.5s; + } - .drag-move { - min-height: 62px; - cursor: move; + .list-leave-active { + transition: all 0.3s; } - .list-main { - // 列表动画 - .list-enter-active { - transition: all 0.5s; - } - - .list-leave-active { - transition: all 0.3s; - } - - .list-enter, - .list-leave-to { - opacity: 0; - transform: translateX(-100px); - } - - .list-enter { - height: 30px; - } + .list-enter, + .list-leave-to { + opacity: 0; + transform: translateX(-100px); + } + + .list-enter { + height: 30px; } } } +} </style> From b8ac3dd136a0d541d94506c580ec2878fcf66d98 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Sun, 24 Sep 2023 19:55:13 +0800 Subject: [PATCH 06/18] style(TableColumn): fix Column settings container is too wide --- src/components/Table/src/components/settings/ColumnSetting.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Table/src/components/settings/ColumnSetting.vue b/src/components/Table/src/components/settings/ColumnSetting.vue index 74460d6f..9763604f 100644 --- a/src/components/Table/src/components/settings/ColumnSetting.vue +++ b/src/components/Table/src/components/settings/ColumnSetting.vue @@ -438,6 +438,7 @@ function updateSortOption(column: BasicColumn) { } .ant-checkbox-group { + display: inline-block; width: 100%; min-width: 260px; // flex-wrap: wrap; From e304a37b37d9b095becdf3cffce3ff78dec4d1d2 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Sun, 24 Sep 2023 19:56:35 +0800 Subject: [PATCH 07/18] =?UTF-8?q?feat:=20=E8=A7=A3=E5=86=B3Form=E7=BB=84?= =?UTF-8?q?=E4=BB=B6slot=E5=BF=85=E9=A1=BB=E4=BC=A0=E9=80=92component?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=89=8D=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Form/src/components/FormItem.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/Form/src/components/FormItem.vue b/src/components/Form/src/components/FormItem.vue index 5f5b3c75..0ef96fd3 100644 --- a/src/components/Form/src/components/FormItem.vue +++ b/src/components/Form/src/components/FormItem.vue @@ -140,7 +140,8 @@ export default defineComponent({ const { rulesMessageJoinLabel: globalRulesMessageJoinLabel } = props.formProps const joinLabel = Reflect.has(props.schema, 'rulesMessageJoinLabel') ? rulesMessageJoinLabel : globalRulesMessageJoinLabel - const defaultMsg = `${createPlaceholderMessage(component)}${joinLabel ? label : ''}` + const assertLabel = joinLabel ? label : '' + const defaultMsg = component ? createPlaceholderMessage(component) + assertLabel : assertLabel function validator(rule: any, value: any) { const msg = rule.message || defaultMsg @@ -354,8 +355,8 @@ export default defineComponent({ } return () => { - const { colProps = {}, colSlot, renderColContent, component } = props.schema - if (!componentMap.has(component)) + const { colProps = {}, colSlot, renderColContent, component, slot } = props.schema + if (!componentMap.has(component) && !slot) return null const { baseColProps = {} } = props.formProps From 9dab524b4580f3e2f0411390ce7b1ad66b3195c5 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Sun, 24 Sep 2023 20:33:23 +0800 Subject: [PATCH 08/18] fix: use table --- src/components/Table/src/hooks/useCustomRow.ts | 5 +++-- src/components/Table/src/hooks/useTable.ts | 4 ++-- src/components/Table/src/types/table.ts | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/components/Table/src/hooks/useCustomRow.ts b/src/components/Table/src/hooks/useCustomRow.ts index 90ce9887..2e70e43c 100644 --- a/src/components/Table/src/hooks/useCustomRow.ts +++ b/src/components/Table/src/hooks/useCustomRow.ts @@ -1,12 +1,13 @@ import type { ComputedRef } from 'vue' import { unref } from 'vue' +import type { Key } from 'ant-design-vue/lib/table/interface' import type { BasicTableProps } from '../types/table' import { ROW_KEY } from '../const' import { isFunction, isString } from '@/utils/is' interface Options { - setSelectedRowKeys: (keys: string[]) => void - getSelectRowKeys: () => string[] + setSelectedRowKeys: (keys: Key[]) => void + getSelectRowKeys: () => Key[] clearSelectedRowKeys: () => void emit: EmitType getAutoCreateKey: ComputedRef<boolean | undefined> diff --git a/src/components/Table/src/hooks/useTable.ts b/src/components/Table/src/hooks/useTable.ts index 5e8b3c9b..07983fe0 100644 --- a/src/components/Table/src/hooks/useTable.ts +++ b/src/components/Table/src/hooks/useTable.ts @@ -163,8 +163,8 @@ export function useTable(tableProps?: Props): [ scrollTo: (pos: string) => { getTableInstance().scrollTo(pos) }, - setShowForm: async (show: boolean) => { - await getTableInstance().setShowForm(show) + setShowForm: async (flag: boolean) => { + await getTableInstance().setShowForm(flag) }, getShowForm: () => { return toRaw(getTableInstance().getShowForm()) diff --git a/src/components/Table/src/types/table.ts b/src/components/Table/src/types/table.ts index d7787871..f8ea22a8 100644 --- a/src/components/Table/src/types/table.ts +++ b/src/components/Table/src/types/table.ts @@ -86,7 +86,7 @@ export interface TableActionType { expandRows: (keys: (string | number)[]) => void collapseAll: () => void scrollTo: (pos: string) => void // pos: id | "top" | "bottom" - getSelectRowKeys: () => string[] + getSelectRowKeys: () => Key[] deleteSelectRowByKey: (key: string) => void setPagination: (info: Partial<PaginationProps>) => void setTableData: <T extends Ref<Recordable<any>[]>>(values: T[]) => void @@ -108,11 +108,11 @@ export interface TableActionType { getCacheColumns: () => BasicColumn[] emit?: EmitType updateTableData: (index: number, key: string, value: any) => Recordable - setShowPagination: (show: boolean) => Promise<void> + setShowPagination: (show: boolean) => void getShowPagination: () => boolean setCacheColumnsByField?: (dataIndex: string | undefined, value: BasicColumn) => void setCacheColumns?: (columns: BasicColumn[]) => void - setShowForm: (show: boolean) => Promise<void> + setShowForm: (flag: boolean) => void getShowForm: () => boolean } @@ -403,6 +403,7 @@ export interface BasicTableProps<T = any> { export type CellFormat = string | ((text: string, record: Recordable, index: number) => string | number) | Map<string | number, any> +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error export interface BasicColumn extends ColumnProps<Recordable> { children?: BasicColumn[] From 9c429afec6992d3a035aa39cd82b96660170d306 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Sun, 24 Sep 2023 20:33:32 +0800 Subject: [PATCH 09/18] fix: dark --- .../Application/src/AppDarkModeToggle.vue | 28 +++++++++++++------ src/components/Modal/src/index.less | 2 +- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/components/Application/src/AppDarkModeToggle.vue b/src/components/Application/src/AppDarkModeToggle.vue index 66ac4690..1a51fcad 100644 --- a/src/components/Application/src/AppDarkModeToggle.vue +++ b/src/components/Application/src/AppDarkModeToggle.vue @@ -29,14 +29,8 @@ function toggleDarkMode() { </script> <template> - <div - v-if="getShowDarkModeToggle" :class="getClass" - class="relative mr-auto h-6.5 w-12.5 flex cursor-pointer items-center justify-between rounded-4.5 bg-black px-1.5" - @click="toggleDarkMode" - > - <div - class="absolute z-1 h-4.5 w-4.5 rounded-1/2 bg-white will-change-transform" - /> + <div v-if="getShowDarkModeToggle" :class="getClass" @click="toggleDarkMode"> + <div :class="`${prefixCls}-inner`" /> <SvgIcon size="14" name="sun" /> <SvgIcon size="14" name="moon" /> </div> @@ -52,11 +46,29 @@ html[data-theme='dark'] { } .@{prefix-cls} { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + width: 50px; + height: 26px; + padding: 0 6px; + margin-left: auto; + cursor: pointer; + background-color: #151515; + border-radius: 30px; &-inner { + position: absolute; + z-index: 1; + width: 18px; + height: 18px; + background-color: #fff; + border-radius: 50%; transition: transform 0.5s, background-color 0.5s; + will-change: transform; } &--dark { diff --git a/src/components/Modal/src/index.less b/src/components/Modal/src/index.less index c26a1a88..0bf614dc 100644 --- a/src/components/Modal/src/index.less +++ b/src/components/Modal/src/index.less @@ -70,7 +70,7 @@ &-close { width: auto !important; font-weight: normal; - background: rgb(255 255 255/ 0%) !important; + background: transparent !important; outline: none; } From 6f671d05934c3573f212ea0d10fcacfa91c7d169 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Sun, 24 Sep 2023 20:33:44 +0800 Subject: [PATCH 10/18] chore: update deps --- package.json | 6 +- pnpm-lock.yaml | 1443 +++++++++++++++++++++++------------------------- 2 files changed, 694 insertions(+), 755 deletions(-) diff --git a/package.json b/package.json index 8766ca72..e62ca14d 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "@types/inquirer": "^9.0.3", "@types/lodash-es": "^4.17.9", "@types/node": "^20.6.0", - "@types/nprogress": "^0.2.0", + "@types/nprogress": "^0.2.1", "@types/qs": "^6.9.8", "@types/sortablejs": "^1.15.2", "@unocss/eslint-config": "^0.56.1", @@ -104,7 +104,7 @@ "cz-git": "^1.7.1", "czg": "^1.7.1", "dotenv": "^16.3.1", - "eslint": "^8.49.0", + "eslint": "^8.50.0", "esno": "^0.17.0", "fs-extra": "^11.1.1", "husky": "^8.0.3", @@ -117,7 +117,7 @@ "postcss-less": "^6.0.0", "prettier": "^3.0.3", "rimraf": "^5.0.1", - "rollup": "^3.29.2", + "rollup": "^3.29.3", "rollup-plugin-visualizer": "^5.9.2", "stylelint": "^15.10.3", "stylelint-config-recess-order": "^4.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 63823821..06ea66f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -138,10 +138,10 @@ devDependencies: version: 4.17.9 '@types/node': specifier: ^20.6.0 - version: 20.6.0 + version: 20.6.4 '@types/nprogress': - specifier: ^0.2.0 - version: 0.2.0 + specifier: ^0.2.1 + version: 0.2.1 '@types/qs': specifier: ^6.9.8 version: 6.9.8 @@ -150,7 +150,7 @@ devDependencies: version: 1.15.2 '@unocss/eslint-config': specifier: ^0.56.1 - version: 0.56.1(eslint@8.49.0)(typescript@5.2.2) + version: 0.56.1(eslint@8.50.0)(typescript@5.2.2) '@vitejs/plugin-vue': specifier: 4.3.4 version: 4.3.4(vite@4.4.9)(vue@3.3.4) @@ -162,7 +162,7 @@ devDependencies: version: 3.3.4 '@xingyuv/eslint-config': specifier: ^0.1.6 - version: 0.1.6(eslint@8.49.0)(typescript@5.2.2) + version: 0.1.6(eslint@8.50.0)(typescript@5.2.2) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -176,8 +176,8 @@ devDependencies: specifier: ^16.3.1 version: 16.3.1 eslint: - specifier: ^8.49.0 - version: 8.49.0 + specifier: ^8.50.0 + version: 8.50.0 esno: specifier: ^0.17.0 version: 0.17.0 @@ -215,11 +215,11 @@ devDependencies: specifier: ^5.0.1 version: 5.0.1 rollup: - specifier: ^3.29.2 - version: 3.29.2 + specifier: ^3.29.3 + version: 3.29.3 rollup-plugin-visualizer: specifier: ^5.9.2 - version: 5.9.2(rollup@3.29.2) + version: 5.9.2(rollup@3.29.3) stylelint: specifier: ^15.10.3 version: 15.10.3(typescript@5.2.2) @@ -249,10 +249,10 @@ devDependencies: version: 5.2.2 unocss: specifier: ^0.56.1 - version: 0.56.1(postcss@8.4.30)(rollup@3.29.2)(vite@4.4.9) + version: 0.56.1(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9) vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + version: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) vite-plugin-compression: specifier: ^0.5.1 version: 0.5.1(vite@4.4.9) @@ -273,10 +273,10 @@ devDependencies: version: 2.0.1(vite@4.4.9) vite-vue-plugin-html: specifier: ^1.0.2 - version: 1.0.2(rollup@3.29.2)(vite@4.4.9) + version: 1.0.2(rollup@3.29.3)(vite@4.4.9) vue-eslint-parser: specifier: ^9.3.1 - version: 9.3.1(eslint@8.49.0) + version: 9.3.1(eslint@8.50.0) vue-tsc: specifier: ^1.8.13 version: 1.8.13(typescript@5.2.2) @@ -349,29 +349,29 @@ packages: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.13 + '@babel/highlight': 7.22.20 chalk: 2.4.2 dev: true - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/compat-data@7.22.20: + resolution: {integrity: sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.22.17: - resolution: {integrity: sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==} + /@babel/core@7.22.20: + resolution: {integrity: sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.15 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helpers': 7.22.15 '@babel/parser': 7.22.16 '@babel/template': 7.22.15 - '@babel/traverse': 7.22.17 - '@babel/types': 7.22.17 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -385,7 +385,7 @@ packages: resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -395,74 +395,74 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.9 + '@babel/compat-data': 7.22.20 '@babel/helper-validator-option': 7.22.15 - browserslist: 4.21.10 + browserslist: 4.21.11 lru-cache: 5.1.1 semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.17): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.17): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.17): + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.20): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.6 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true @@ -471,49 +471,49 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-member-expression-to-functions@7.22.15: resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true - /@babel/helper-module-transforms@7.22.17(@babel/core@7.22.17): - resolution: {integrity: sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ==} + /@babel/helper-module-transforms@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.20 dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -521,26 +521,26 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.17(@babel/core@7.22.17): - resolution: {integrity: sha512-bxH77R5gjH3Nkde6/LuncQoLaP16THYPscurp1S8z7S9ZgezCyV3G8Hc+TZiCmY8pz4fp8CvKSgtJMW0FkLAxA==} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.17 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.17): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 dev: true @@ -549,29 +549,29 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.15: - resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.22.15: @@ -579,13 +579,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.22.17: - resolution: {integrity: sha512-nAhoheCMlrqU41tAojw9GpVEKDlTS8r3lzFmF0lP52LwblCPbuFSO7nGIZoIcoU5NIm1ABrna0cJExE4Ay6l2Q==} + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.15 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helpers@7.22.15: @@ -593,17 +593,17 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.22.17 - '@babel/types': 7.22.17 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight@7.22.13: - resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 dev: true @@ -613,872 +613,872 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.17): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.17): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.17): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.17): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.20): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.17): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.20): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.17): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.20): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.17): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.17): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.17): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.20): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.17): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.17): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.20): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.17): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.20): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.17): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.17): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.20): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.17): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.20): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.17): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.17): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.20): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.17(@babel/core@7.22.17) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.17) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.17(@babel/core@7.22.17) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.17) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 dev: true - /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.17) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.17) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.17 + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.17) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.17): + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.20): resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.17) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.17): + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.20): resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.20): resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.20) dev: true - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.17): + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.20): resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.17): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.22.15(@babel/core@7.22.17): - resolution: {integrity: sha512-tZFHr54GBkHk6hQuVA8w4Fmq+MSPsfvMG0vPnOYyTnJpyfMqybL8/MbNCPRT9zc2KBO2pe4tq15g6Uno4Jpoag==} + /@babel/preset-env@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.17 + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.17) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.17) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.17) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.17) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.17) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.17) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.17) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.17) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.17) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.17) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.17) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.17) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.17) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.17) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.17) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.17) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.17) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.17) - '@babel/types': 7.22.17 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.17) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.17) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.17) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.20) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.20) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.20) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.20) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.20) + '@babel/types': 7.22.19 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) + babel-plugin-polyfill-corejs3: 0.8.4(@babel/core@7.22.20) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) core-js-compat: 3.32.2 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.17): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.20): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 esutils: 2.0.3 dev: true @@ -1498,33 +1498,33 @@ packages: dependencies: '@babel/code-frame': 7.22.13 '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true - /@babel/traverse@7.22.17: - resolution: {integrity: sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==} + /@babel/traverse@7.22.20: + resolution: {integrity: sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.15 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.22.17: - resolution: {integrity: sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==} + /@babel/types@7.22.19: + resolution: {integrity: sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 /@commitlint/cli@17.7.1: @@ -1615,13 +1615,13 @@ packages: '@commitlint/types': 17.4.4 '@types/node': 20.4.7 chalk: 4.1.2 - cosmiconfig: 8.3.5(typescript@5.2.2) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.4.7)(cosmiconfig@8.3.5)(ts-node@10.9.1)(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.4.7)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@20.6.0)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.6.4)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - '@swc/core' @@ -1758,25 +1758,25 @@ packages: jsdoc-type-pratt-parser: 4.0.0 dev: true - /@esbuild-kit/cjs-loader@2.4.2: - resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} + /@esbuild-kit/cjs-loader@2.4.4: + resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} dependencies: - '@esbuild-kit/core-utils': 3.2.3 - get-tsconfig: 4.7.0 + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.2 dev: true - /@esbuild-kit/core-utils@3.2.3: - resolution: {integrity: sha512-daTXIDXv6lTpADQYTfY9BgHfL3HjVfY7xD8aOuPWtD1bJdqk9hAtHK5cErBcxcBtjFcfB0B2tftFtW01jTveKw==} + /@esbuild-kit/core-utils@3.3.2: + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} dependencies: esbuild: 0.18.20 source-map-support: 0.5.21 dev: true - /@esbuild-kit/esm-loader@2.5.5: - resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} + /@esbuild-kit/esm-loader@2.6.5: + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} dependencies: - '@esbuild-kit/core-utils': 3.2.3 - get-tsconfig: 4.7.0 + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.2 dev: true /@esbuild/android-arm64@0.18.20: @@ -1977,18 +1977,18 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.49.0 + eslint: 8.50.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.8.0: - resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==} + /@eslint-community/regexpp@4.8.1: + resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -1999,7 +1999,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.21.0 + globals: 13.22.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2009,8 +2009,8 @@ packages: - supports-color dev: true - /@eslint/js@8.49.0: - resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} + /@eslint/js@8.50.0: + resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -2212,8 +2212,8 @@ packages: - encoding dev: true - /@octokit/openapi-types@18.0.0: - resolution: {integrity: sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==} + /@octokit/openapi-types@18.1.1: + resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} dev: true /@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4): @@ -2287,13 +2287,13 @@ packages: /@octokit/types@10.0.0: resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==} dependencies: - '@octokit/openapi-types': 18.0.0 + '@octokit/openapi-types': 18.1.1 dev: true /@octokit/types@9.3.2: resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} dependencies: - '@octokit/openapi-types': 18.0.0 + '@octokit/openapi-types': 18.1.1 dev: true /@pkgjs/parseargs@0.11.0: @@ -2338,7 +2338,7 @@ packages: '@iconify/iconify': 3.1.1 dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.22.17)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.22.20)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -2349,7 +2349,7 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 @@ -2366,7 +2366,7 @@ packages: builtin-modules: 3.3.0 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.6 rollup: 2.79.1 dev: true @@ -2392,7 +2392,7 @@ packages: rollup: 2.79.1 dev: true - /@rollup/pluginutils@5.0.4(rollup@3.29.2): + /@rollup/pluginutils@5.0.4(rollup@3.29.3): resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2401,10 +2401,10 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.2 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.29.2 + rollup: 3.29.3 dev: true /@simonwep/pickr@1.8.2: @@ -2425,17 +2425,17 @@ packages: graphemer: 1.4.0 dev: true - /@stylistic/eslint-plugin-ts@0.0.3(eslint@8.49.0)(typescript@5.2.2): + /@stylistic/eslint-plugin-ts@0.0.3(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-G/jZ+XHlZtkxABOXswJNTmN4h8qNmECTjPLkWPMykPlfQeD1RSpBMEQHiJHZ3GAxnEcqAgi7CNA1FTvGWz6qwQ==} peerDependencies: eslint: '*' typescript: '*' dependencies: '@stylistic/eslint-plugin-js': 0.0.3 - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/type-utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/type-utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 graphemer: 1.4.0 semver: 7.5.4 typescript: 5.2.2 @@ -2449,7 +2449,7 @@ packages: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 - string.prototype.matchall: 4.0.9 + string.prototype.matchall: 4.0.10 dev: true /@trysound/sax@0.2.0: @@ -2476,7 +2476,7 @@ packages: /@types/codemirror@5.60.10: resolution: {integrity: sha512-ZTA3teiCWKT8HUUofqlGPlShu5ojdIajizsS0HpH6GL0/iEdjRt7fXbCLHHqKYP5k7dC/HnnWIjZAiELUwBdjQ==} dependencies: - '@types/tern': 0.23.4 + '@types/tern': 0.23.5 dev: true /@types/crypto-js@4.1.2: @@ -2487,42 +2487,42 @@ packages: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + /@types/estree@1.0.2: + resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} dev: true /@types/fs-extra@11.0.2: resolution: {integrity: sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==} dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 20.6.0 + '@types/jsonfile': 6.1.2 + '@types/node': 20.6.4 dev: true /@types/inquirer@9.0.3: resolution: {integrity: sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==} dependencies: - '@types/through': 0.0.30 + '@types/through': 0.0.31 rxjs: 7.8.1 dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} dev: true - /@types/jsonfile@6.1.1: - resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} + /@types/jsonfile@6.1.2: + resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.4 dev: true /@types/lodash-es@4.17.9: resolution: {integrity: sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==} dependencies: - '@types/lodash': 4.14.198 + '@types/lodash': 4.14.199 dev: true - /@types/lodash@4.14.198: - resolution: {integrity: sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==} + /@types/lodash@4.14.199: + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} dev: true /@types/mdast@3.0.12: @@ -2543,16 +2543,16 @@ packages: resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} dev: true - /@types/node@20.6.0: - resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==} + /@types/node@20.6.4: + resolution: {integrity: sha512-nU6d9MPY0NBUMiE/nXd2IIoC4OLvsLpwAjheoAeuzgvDZA1Cb10QYg+91AF6zQiKWRN5i1m07x6sMe0niBznoQ==} dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/normalize-package-data@2.4.2: + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} dev: true - /@types/nprogress@0.2.0: - resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} + /@types/nprogress@0.2.1: + resolution: {integrity: sha512-TYuyVnp+nOnimgdOydDIDYIxv2kSeuJZw4tF0p/KG7hpzcMF1WkHaREwM8O4blqfT1F7rq0nht6Ko2KVUfWzBA==} dev: true /@types/qs@6.9.8: @@ -2562,11 +2562,11 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.4 dev: true - /@types/semver@7.5.1: - resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} + /@types/semver@7.5.2: + resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} dev: true /@types/sortablejs@1.15.2: @@ -2576,23 +2576,23 @@ packages: /@types/svgo@2.6.4: resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.4 dev: true - /@types/tern@0.23.4: - resolution: {integrity: sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==} + /@types/tern@0.23.5: + resolution: {integrity: sha512-POau56wDk3TQ0mQ0qG7XDzv96U5whSENZ9lC0htDvEH+9YUREo+J2U+apWcVRgR2UydEE70JXZo44goG+akTNQ==} dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.2 dev: true - /@types/through@0.0.30: - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} + /@types/through@0.0.31: + resolution: {integrity: sha512-LpKpmb7FGevYgXnBXYs6HWnmiFyVG07Pt1cnbgM1IhEacITTiUaBXXvOR3Y50ksaJWGSfhbEvQFivQEFGCC55w==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.4 dev: true - /@types/trusted-types@2.0.3: - resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} + /@types/trusted-types@2.0.4: + resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} dev: true /@types/unist@2.0.8: @@ -2607,7 +2607,7 @@ packages: resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: false - /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2618,14 +2618,14 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.0 - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@eslint-community/regexpp': 4.8.1 + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/type-utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -2636,7 +2636,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.7.2(eslint@8.49.0)(typescript@5.2.2): + /@typescript-eslint/parser@6.7.2(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2651,7 +2651,7 @@ packages: '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -2665,14 +2665,6 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.7.0: - resolution: {integrity: sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/visitor-keys': 6.7.0 - dev: true - /@typescript-eslint/scope-manager@6.7.2: resolution: {integrity: sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2681,27 +2673,7 @@ packages: '@typescript-eslint/visitor-keys': 6.7.2 dev: true - /@typescript-eslint/type-utils@6.7.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.49.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/type-utils@6.7.2(eslint@8.49.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@6.7.2(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2712,9 +2684,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -2726,11 +2698,6 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.7.0: - resolution: {integrity: sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/types@6.7.2: resolution: {integrity: sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2757,27 +2724,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.7.0(typescript@5.2.2): - resolution: {integrity: sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/visitor-keys': 6.7.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/typescript-estree@6.7.2(typescript@5.2.2): resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2799,19 +2745,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.49.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.62.0(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.49.0 + eslint: 8.50.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -2819,38 +2765,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.7.0(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.1 - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - eslint: 8.49.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@6.7.2(eslint@8.49.0)(typescript@5.2.2): + /@typescript-eslint/utils@6.7.2(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 6.7.2 '@typescript-eslint/types': 6.7.2 '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) - eslint: 8.49.0 + eslint: 8.50.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -2865,14 +2792,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.7.0: - resolution: {integrity: sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.7.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@6.7.2: resolution: {integrity: sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2881,7 +2800,7 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unocss/astro@0.56.1(rollup@3.29.2)(vite@4.4.9): + /@unocss/astro@0.56.1(rollup@3.29.3)(vite@4.4.9): resolution: {integrity: sha512-ivWm69J76DRwCiEFM75qR4WPMCC6nyOrUM5iQDTypwKbBX26XlXcYYCN3DLoQTmWdp5f2BubZXAg3KIdgVxrYg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 @@ -2891,19 +2810,19 @@ packages: dependencies: '@unocss/core': 0.56.1 '@unocss/reset': 0.56.1 - '@unocss/vite': 0.56.1(rollup@3.29.2)(vite@4.4.9) - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + '@unocss/vite': 0.56.1(rollup@3.29.3)(vite@4.4.9) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.56.1(rollup@3.29.2): + /@unocss/cli@0.56.1(rollup@3.29.3): resolution: {integrity: sha512-s7lRtPkNw7GXdej3uYKFgfyal3Bq0Ux9oJKQ3rV7ysvY5AMfHs+ayc1EC6vXsAunziJ39dloPrRY5cx1H7abkQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.4(rollup@3.29.2) + '@rollup/pluginutils': 5.0.4(rollup@3.29.3) '@unocss/config': 0.56.1 '@unocss/core': 0.56.1 '@unocss/preset-uno': 0.56.1 @@ -2931,22 +2850,22 @@ packages: resolution: {integrity: sha512-2qmb/+hQ2CXmIgSqaeL6Pw2reO2MxsZlLMFuu71J8T3+UKrkI9NAwkZ4sdb38EoOisVIr2lvE48uc44XBfaOdg==} dev: true - /@unocss/eslint-config@0.56.1(eslint@8.49.0)(typescript@5.2.2): + /@unocss/eslint-config@0.56.1(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-ph1w2FO+wCHq0jz0iQyxUbjwLSVjSz6wQ2yd0fCsm6mHNlewWHmu6gD3Grs9j5XDyFJEwz4HZZRHspJanqSJyA==} engines: {node: '>=14'} dependencies: - '@unocss/eslint-plugin': 0.56.1(eslint@8.49.0)(typescript@5.2.2) + '@unocss/eslint-plugin': 0.56.1(eslint@8.50.0)(typescript@5.2.2) transitivePeerDependencies: - eslint - supports-color - typescript dev: true - /@unocss/eslint-plugin@0.56.1(eslint@8.49.0)(typescript@5.2.2): + /@unocss/eslint-plugin@0.56.1(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-WLTybFXK9FJUMmEdUBa4Yj6uZx4qTCThGVej5Rn3XA+5f58zNmcSbipUG5oz16Z/QqYKP8iKhtg5zAQJMi0erg==} engines: {node: '>=14'} dependencies: - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) '@unocss/config': 0.56.1 '@unocss/core': 0.56.1 magic-string: 0.30.3 @@ -3094,13 +3013,13 @@ packages: '@unocss/core': 0.56.1 dev: true - /@unocss/vite@0.56.1(rollup@3.29.2)(vite@4.4.9): + /@unocss/vite@0.56.1(rollup@3.29.3)(vite@4.4.9): resolution: {integrity: sha512-IztLc304zP2LYQMsP3yVHmLwXlLUgCY3q6Nkqw6Hpds7l5JXBsE7Q19DtNW+4nDOp9wvWhw7CjQLmoh8d+V0lQ==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.4(rollup@3.29.2) + '@rollup/pluginutils': 5.0.4(rollup@3.29.3) '@unocss/config': 0.56.1 '@unocss/core': 0.56.1 '@unocss/inspector': 0.56.1 @@ -3109,7 +3028,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.3 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true @@ -3166,10 +3085,10 @@ packages: vite: ^4.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.17) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.17) - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + '@babel/core': 7.22.20 + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.20) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.20) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -3182,7 +3101,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) vue: 3.3.4 dev: true @@ -3208,17 +3127,17 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.17): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.20): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.20 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.20) '@babel/template': 7.22.15 - '@babel/traverse': 7.22.17 - '@babel/types': 7.22.17 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -3357,26 +3276,26 @@ packages: - vue dev: false - /@xingyuv/eslint-config-basic@0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): + /@xingyuv/eslint-config-basic@0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-JTwjfotgqyiBkgRX4eQmnEYMhYYIkclQCvddswnfLWsI9XrGz/78Jzc/J+VHCeLCBAuUvhVlOYQpNEg7PJ85ww==} peerDependencies: eslint: '>=7.4.0' dependencies: '@stylistic/eslint-plugin-js': 0.0.3 - eslint: 8.49.0 - eslint-plugin-eslint-comments: 3.2.0(eslint@8.49.0) + eslint: 8.50.0 + eslint-plugin-eslint-comments: 3.2.0(eslint@8.50.0) eslint-plugin-html: 7.1.0 - eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.49.0) - eslint-plugin-jsdoc: 46.8.1(eslint@8.49.0) - eslint-plugin-jsonc: 2.9.0(eslint@8.49.0) - eslint-plugin-markdown: 3.0.1(eslint@8.49.0) - eslint-plugin-n: 16.1.0(eslint@8.49.0) + eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.50.0) + eslint-plugin-jsdoc: 46.8.2(eslint@8.50.0) + eslint-plugin-jsonc: 2.9.0(eslint@8.50.0) + eslint-plugin-markdown: 3.0.1(eslint@8.50.0) + eslint-plugin-n: 16.1.0(eslint@8.50.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-promise: 6.1.1(eslint@8.49.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.49.0) - eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.49.0) - eslint-plugin-xingyuv: 0.1.6(eslint@8.49.0)(typescript@5.2.2) - eslint-plugin-yml: 1.9.0(eslint@8.49.0) + eslint-plugin-promise: 6.1.1(eslint@8.50.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.50.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0) + eslint-plugin-xingyuv: 0.1.6(eslint@8.50.0)(typescript@5.2.2) + eslint-plugin-yml: 1.9.0(eslint@8.50.0) jsonc-eslint-parser: 2.3.0 yaml-eslint-parser: 1.2.2 transitivePeerDependencies: @@ -3388,18 +3307,18 @@ packages: - typescript dev: true - /@xingyuv/eslint-config-ts@0.1.6(eslint@8.49.0)(typescript@5.2.2): + /@xingyuv/eslint-config-ts@0.1.6(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-Lr4VwHMaO0iBtkRztiypyUCOaBbc8ToSiXPy1M+vhSkMNGyAyln5u61o/Er8bMwSuY5x5YtcsFA5PTapT897zg==} peerDependencies: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@stylistic/eslint-plugin-ts': 0.0.3(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@xingyuv/eslint-config-basic': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 - eslint-plugin-jest: 27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.49.0)(typescript@5.2.2) + '@stylistic/eslint-plugin-ts': 0.0.3(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@xingyuv/eslint-config-basic': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-plugin-jest: 27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -3408,15 +3327,15 @@ packages: - supports-color dev: true - /@xingyuv/eslint-config-vue@0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): + /@xingyuv/eslint-config-vue@0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-swe4T0yG9FEGWuLInpXAZgQuxsRrkk/UfCfo8hc9Y/WOtNe2JqIaqh5EJhr7ERtRzpGeCnqVzm5+udd0dhxivA==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@xingyuv/eslint-config-basic': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - '@xingyuv/eslint-config-ts': 0.1.6(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 - eslint-plugin-vue: 9.17.0(eslint@8.49.0) + '@xingyuv/eslint-config-basic': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@xingyuv/eslint-config-ts': 0.1.6(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-plugin-vue: 9.17.0(eslint@8.50.0) local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' @@ -3428,24 +3347,24 @@ packages: - typescript dev: true - /@xingyuv/eslint-config@0.1.6(eslint@8.49.0)(typescript@5.2.2): + /@xingyuv/eslint-config@0.1.6(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-ka4tHMcHDlIaBUaD95PsprWif2VZAqfRUvd/ft1rtpQEq7py5zAGLXRDXzdveafhUKdDDuT9mdjbDDD4qYQgAA==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@xingyuv/eslint-config-vue': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 - eslint-plugin-eslint-comments: 3.2.0(eslint@8.49.0) + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@xingyuv/eslint-config-vue': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-plugin-eslint-comments: 3.2.0(eslint@8.50.0) eslint-plugin-html: 7.1.0 - eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.49.0) - eslint-plugin-jsonc: 2.9.0(eslint@8.49.0) - eslint-plugin-n: 16.1.0(eslint@8.49.0) - eslint-plugin-promise: 6.1.1(eslint@8.49.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.49.0) - eslint-plugin-vue: 9.17.0(eslint@8.49.0) - eslint-plugin-yml: 1.9.0(eslint@8.49.0) + eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.50.0) + eslint-plugin-jsonc: 2.9.0(eslint@8.50.0) + eslint-plugin-n: 16.1.0(eslint@8.50.0) + eslint-plugin-promise: 6.1.1(eslint@8.50.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.50.0) + eslint-plugin-vue: 9.17.0(eslint@8.50.0) + eslint-plugin-yml: 1.9.0(eslint@8.50.0) jsonc-eslint-parser: 2.3.0 yaml-eslint-parser: 1.2.2 transitivePeerDependencies: @@ -3677,8 +3596,8 @@ packages: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -3733,7 +3652,7 @@ packages: /axios@0.26.1(debug@4.3.4): resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} dependencies: - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.3(debug@4.3.4) transitivePeerDependencies: - debug dev: true @@ -3741,44 +3660,44 @@ packages: /axios@1.5.0(debug@4.3.4): resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.3(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.17): + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.20): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.17 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.17) + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.17): - resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} + /babel-plugin-polyfill-corejs3@0.8.4(@babel/core@7.22.20): + resolution: {integrity: sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) core-js-compat: 3.32.2 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.17): + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.20): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) transitivePeerDependencies: - supports-color dev: true @@ -3897,15 +3816,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist@4.21.10: - resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + /browserslist@4.21.11: + resolution: {integrity: sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001532 - electron-to-chromium: 1.4.513 + caniuse-lite: 1.0.30001538 + electron-to-chromium: 1.4.528 node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.10) + update-browserslist-db: 1.0.13(browserslist@4.21.11) dev: true /buffer-from@1.1.2: @@ -4004,8 +3923,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001532: - resolution: {integrity: sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw==} + /caniuse-lite@1.0.30001538: + resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} dev: true /cfb@1.2.2: @@ -4123,8 +4042,8 @@ packages: restore-cursor: 4.0.0 dev: true - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} dev: true @@ -4313,7 +4232,7 @@ packages: /core-js-compat@3.32.2: resolution: {integrity: sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==} dependencies: - browserslist: 4.21.10 + browserslist: 4.21.11 dev: true /core-js@3.32.2: @@ -4329,7 +4248,7 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig-typescript-loader@4.4.0(@types/node@20.4.7)(cosmiconfig@8.3.5)(ts-node@10.9.1)(typescript@5.2.2): + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.4.7)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2): resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -4339,13 +4258,13 @@ packages: typescript: '>=4' dependencies: '@types/node': 20.4.7 - cosmiconfig: 8.3.5(typescript@5.2.2) - ts-node: 10.9.1(@types/node@20.6.0)(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.6.4)(typescript@5.2.2) typescript: 5.2.2 dev: true - /cosmiconfig@8.3.5(typescript@5.2.2): - resolution: {integrity: sha512-A5Xry3xfS96wy2qbiLkQLAg4JUrR2wvfybxj6yqLmrUfMAvhS3MZxIP2oQn0grgYIvJqzpeTEWu4vK0t+12NNw==} + /cosmiconfig@8.3.6(typescript@5.2.2): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -4590,6 +4509,15 @@ packages: clone: 1.0.4 dev: true + /define-data-property@1.1.0: + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -4600,10 +4528,11 @@ packages: engines: {node: '>=12'} dev: true - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: + define-data-property: 1.1.0 has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: true @@ -4809,8 +4738,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.513: - resolution: {integrity: sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==} + /electron-to-chromium@1.4.528: + resolution: {integrity: sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA==} dev: true /element-kit@1.0.6: @@ -4862,8 +4791,8 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 @@ -4893,7 +4822,7 @@ packages: object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 + regexp.prototype.flags: 1.5.1 safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.8 @@ -4980,12 +4909,12 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.13.0 - resolve: 1.22.4 + resolve: 1.22.6 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint@8.49.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5006,33 +4935,33 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.49.0 + eslint: 8.50.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es-x@7.2.0(eslint@8.49.0): + /eslint-plugin-es-x@7.2.0(eslint@8.50.0): resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@eslint-community/regexpp': 4.8.0 - eslint: 8.49.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@eslint-community/regexpp': 4.8.1 + eslint: 8.50.0 dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@8.49.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.50.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.49.0 + eslint: 8.50.0 ignore: 5.2.4 dev: true @@ -5042,7 +4971,7 @@ packages: htmlparser2: 8.0.2 dev: true - /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.49.0): + /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.50.0): resolution: {integrity: sha512-a4oVt0j3ixNhGhvV4XF6NS7OWRFK2rrJ0Q5C4S2dSRb8FxZi31J0uUd5WJLL58wnVJ/OiQ1BxiXnFA4dWQO1Cg==} engines: {node: '>=12'} peerDependencies: @@ -5050,13 +4979,13 @@ packages: dependencies: debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.49.0 + eslint: 8.50.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint@8.49.0) - get-tsconfig: 4.7.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0) + get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 - resolve: 1.22.4 + resolve: 1.22.6 semver: 7.5.4 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -5065,7 +4994,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.49.0)(typescript@5.2.2): + /eslint-plugin-jest@27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-ukVeKmMPAUA5SWjHenvyyXnirKfHKMdOsTZdn5tZx5EW05HGVQwBohigjFZGGj3zuv1cV6hc82FvWv6LdIbkgg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -5078,16 +5007,16 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsdoc@46.8.1(eslint@8.49.0): - resolution: {integrity: sha512-uTce7IBluPKXIQMWJkIwFsI1gv7sZRmLjctca2K5DIxPi8fSBj9f4iru42XmGwuiMyH2f3nfc60sFmnSGv4Z/A==} + /eslint-plugin-jsdoc@46.8.2(eslint@8.50.0): + resolution: {integrity: sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==} engines: {node: '>=16'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -5097,7 +5026,7 @@ packages: comment-parser: 1.4.0 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.49.0 + eslint: 8.50.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.5.4 @@ -5106,45 +5035,45 @@ packages: - supports-color dev: true - /eslint-plugin-jsonc@2.9.0(eslint@8.49.0): + /eslint-plugin-jsonc@2.9.0(eslint@8.50.0): resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - eslint: 8.49.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + eslint: 8.50.0 jsonc-eslint-parser: 2.3.0 natural-compare: 1.4.0 dev: true - /eslint-plugin-markdown@3.0.1(eslint@8.49.0): + /eslint-plugin-markdown@3.0.1(eslint@8.50.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.49.0 + eslint: 8.50.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-n@16.1.0(eslint@8.49.0): + /eslint-plugin-n@16.1.0(eslint@8.50.0): resolution: {integrity: sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) builtins: 5.0.1 - eslint: 8.49.0 - eslint-plugin-es-x: 7.2.0(eslint@8.49.0) - get-tsconfig: 4.7.0 + eslint: 8.50.0 + eslint-plugin-es-x: 7.2.0(eslint@8.50.0) + get-tsconfig: 4.7.2 ignore: 5.2.4 is-core-module: 2.13.0 minimatch: 3.1.2 - resolve: 1.22.4 + resolve: 1.22.6 semver: 7.5.4 dev: true @@ -5153,26 +5082,26 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-promise@6.1.1(eslint@8.49.0): + /eslint-plugin-promise@6.1.1(eslint@8.50.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.49.0 + eslint: 8.50.0 dev: true - /eslint-plugin-unicorn@48.0.1(eslint@8.49.0): + /eslint-plugin-unicorn@48.0.1(eslint@8.50.0): resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: - '@babel/helper-validator-identifier': 7.22.15 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.49.0 + eslint: 8.50.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -5186,7 +5115,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.49.0): + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0): resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5196,47 +5125,47 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vue@9.17.0(eslint@8.49.0): + /eslint-plugin-vue@9.17.0(eslint@8.50.0): resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - eslint: 8.49.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + eslint: 8.50.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.13 semver: 7.5.4 - vue-eslint-parser: 9.3.1(eslint@8.49.0) + vue-eslint-parser: 9.3.1(eslint@8.50.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-xingyuv@0.1.6(eslint@8.49.0)(typescript@5.2.2): + /eslint-plugin-xingyuv@0.1.6(eslint@8.50.0)(typescript@5.2.2): resolution: {integrity: sha512-ZKb+0FFVj/EpjuHRJBh5kjjKVrkTVpZWDO9PxtcWxee3a5+dQefNzN2Gltvbu03E/RsTP2pczEDa9Li4YtBfxA==} dependencies: - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) transitivePeerDependencies: - eslint - supports-color - typescript dev: true - /eslint-plugin-yml@1.9.0(eslint@8.49.0): + /eslint-plugin-yml@1.9.0(eslint@8.50.0): resolution: {integrity: sha512-ayuC57WyVQ5+QZ02y62GiB//5+zsiyzUGxUX/mrhLni+jfsKA4KoITjkbR65iUdjjhWpyTJHPcAIFLKQIOwgsw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -5270,15 +5199,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.49.0: - resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} + /eslint@8.50.0: + resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@eslint-community/regexpp': 4.8.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@eslint-community/regexpp': 4.8.1 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.49.0 + '@eslint/js': 8.50.0 '@humanwhocodes/config-array': 0.11.11 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5297,7 +5226,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.21.0 + globals: 13.22.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -5320,7 +5249,7 @@ packages: resolution: {integrity: sha512-w78cQGlptQfsBYfootUCitsKS+MD74uR5L6kNsvwVkJsfzEepIafbvWsx2xK4rcFP4IUftt4F6J8EhagUxX+Bg==} hasBin: true dependencies: - tsx: 3.12.8 + tsx: 3.12.10 dev: true /espree@9.6.1: @@ -5557,17 +5486,17 @@ packages: resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 keyv: 4.5.3 rimraf: 3.0.2 dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /follow-redirects@1.15.2(debug@4.3.4): - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.3(debug@4.3.4): + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5664,8 +5593,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 functions-have-names: 1.2.3 dev: true @@ -5708,8 +5637,8 @@ packages: get-intrinsic: 1.2.1 dev: true - /get-tsconfig@4.7.0: - resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 dev: true @@ -5745,8 +5674,8 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.3.4: - resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==} + /glob@10.3.6: + resolution: {integrity: sha512-mEfImdc/fiYHEcF6pHFfD2b/KrdFB1qH9mRe5vI5HROF8G51SWxQJ2V56Ezl6ZL9y86gsxQ1Lgo2S746KGUPSQ==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: @@ -5803,8 +5732,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + /globals@13.22.0: + resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -5814,7 +5743,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 dev: true /globby@11.1.0: @@ -6517,7 +6446,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.4 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -7280,8 +7209,8 @@ packages: whatwg-url: 5.0.0 dev: true - /node-html-parser@6.1.9: - resolution: {integrity: sha512-nQ+MRf0PmRTLcMalVqMsWvceSaBydBCBlnQSL78HVk/E8e0Aazyao4SI9aB67XAAgOgHMsw7q5dJBUPPt9XE3g==} + /node-html-parser@6.1.10: + resolution: {integrity: sha512-6/uWdWxjQWQ7tMcFK2wWlrflsQUzh1HsEzlIf2j5+TtzfhT2yUvg3DwZYAmjEHeR3uX74ko7exjHW69J0tOzIg==} dependencies: css-select: 5.1.0 he: 1.2.0 @@ -7295,7 +7224,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 + resolve: 1.22.6 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -7373,7 +7302,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true @@ -7451,7 +7380,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.1 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -7904,7 +7833,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.2 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -7914,7 +7843,7 @@ packages: resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} engines: {node: '>=12'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.2 normalize-package-data: 3.0.3 parse-json: 5.2.0 type-fest: 1.4.0 @@ -7952,8 +7881,8 @@ packages: strip-indent: 4.0.0 dev: true - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -7985,13 +7914,13 @@ packages: hasBin: true dev: true - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + define-properties: 1.2.1 + set-function-name: 2.0.1 dev: true /regexpu-core@5.3.2: @@ -8000,7 +7929,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -8075,8 +8004,8 @@ packages: deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.6: + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.0 @@ -8126,7 +8055,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - glob: 10.3.4 + glob: 10.3.6 dev: true /rollup-plugin-purge-icons@0.9.1: @@ -8153,7 +8082,7 @@ packages: terser: 5.20.0 dev: true - /rollup-plugin-visualizer@5.9.2(rollup@3.29.2): + /rollup-plugin-visualizer@5.9.2(rollup@3.29.3): resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==} engines: {node: '>=14'} hasBin: true @@ -8165,7 +8094,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 3.29.2 + rollup: 3.29.3 source-map: 0.7.4 yargs: 17.7.2 dev: true @@ -8178,8 +8107,8 @@ packages: fsevents: 2.3.3 dev: true - /rollup@3.29.2: - resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==} + /rollup@3.29.3: + resolution: {integrity: sha512-T7du6Hum8jOkSWetjRgbwpM6Sy0nECYrYRSmZjayFcOddtKJWU4d17AC3HNUk7HRuqy4p+G7aEZclSHytqUmEg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -8290,6 +8219,15 @@ packages: randombytes: 2.1.0 dev: true + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + dev: true + /set-value@2.0.1: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} @@ -8461,7 +8399,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.15 dev: true /spdx-exceptions@2.3.0: @@ -8472,11 +8410,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.15 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.15: + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} dev: true /split-string@3.1.0: @@ -8540,16 +8478,17 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.matchall@4.0.9: - resolution: {integrity: sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==} + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 has-symbols: 1.0.3 internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 side-channel: 1.0.4 dev: true @@ -8558,24 +8497,24 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true /string@3.3.3: @@ -8742,7 +8681,7 @@ packages: '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 8.3.5(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) css-functions-list: 3.2.0 css-tree: 2.3.1 debug: 4.3.4 @@ -9021,7 +8960,7 @@ packages: typescript: 5.2.2 dev: true - /ts-node@10.9.1(@types/node@20.6.0)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.6.4)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9040,7 +8979,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.6.0 + '@types/node': 20.6.4 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -9074,13 +9013,13 @@ packages: typescript: 5.2.2 dev: true - /tsx@3.12.8: - resolution: {integrity: sha512-Lt9KYaRGF023tlLInPj8rgHwsZU8qWLBj4iRXNWxTfjIkU7canGL806AqKear1j722plHuiYNcL2ZCo6uS9UJA==} + /tsx@3.12.10: + resolution: {integrity: sha512-2+46h4xvUt1aLDNvk5YBT8Uzw+b7BolGbn7iSMucYqCXZiDc+1IMghLVdw8kKjING32JFOeO+Am9posvjkeclA==} hasBin: true dependencies: - '@esbuild-kit/cjs-loader': 2.4.2 - '@esbuild-kit/core-utils': 3.2.3 - '@esbuild-kit/esm-loader': 2.5.5 + '@esbuild-kit/cjs-loader': 2.4.4 + '@esbuild-kit/core-utils': 3.3.2 + '@esbuild-kit/esm-loader': 2.6.5 optionalDependencies: fsevents: 2.3.3 dev: true @@ -9251,7 +9190,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.56.1(postcss@8.4.30)(rollup@3.29.2)(vite@4.4.9): + /unocss@0.56.1(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9): resolution: {integrity: sha512-jjkcyXfW90CUjN4tBV6SrHX9ifi5GQgcwAQlMRB0copJEW3ejM/nyZnRgNexaV7hi7Ao76XMVqCKbOC5B+IuOA==} engines: {node: '>=14'} peerDependencies: @@ -9263,8 +9202,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.56.1(rollup@3.29.2)(vite@4.4.9) - '@unocss/cli': 0.56.1(rollup@3.29.2) + '@unocss/astro': 0.56.1(rollup@3.29.3)(vite@4.4.9) + '@unocss/cli': 0.56.1(rollup@3.29.3) '@unocss/core': 0.56.1 '@unocss/extractor-arbitrary-variants': 0.56.1 '@unocss/postcss': 0.56.1(postcss@8.4.30) @@ -9282,8 +9221,8 @@ packages: '@unocss/transformer-compile-class': 0.56.1 '@unocss/transformer-directives': 0.56.1 '@unocss/transformer-variant-group': 0.56.1 - '@unocss/vite': 0.56.1(rollup@3.29.2)(vite@4.4.9) - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + '@unocss/vite': 0.56.1(rollup@3.29.3)(vite@4.4.9) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - postcss - rollup @@ -9308,13 +9247,13 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.13(browserslist@4.21.11): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.10 + browserslist: 4.21.11 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -9410,7 +9349,7 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - supports-color dev: true @@ -9425,7 +9364,7 @@ packages: axios: 1.5.0(debug@4.3.4) debug: 4.3.4 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - encoding - supports-color @@ -9440,7 +9379,7 @@ packages: picocolors: 1.0.0 progress: 2.0.3 rd: 2.0.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) dev: true /vite-plugin-purge-icons@0.9.2(vite@4.4.9): @@ -9452,7 +9391,7 @@ packages: '@purge-icons/core': 0.9.1 '@purge-icons/generated': 0.9.0 rollup-plugin-purge-icons: 0.9.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - encoding - supports-color @@ -9469,7 +9408,7 @@ packages: debug: 4.3.4 fast-glob: 3.3.1 pretty-bytes: 6.1.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: @@ -9489,17 +9428,17 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - supports-color dev: true - /vite-vue-plugin-html@1.0.2(rollup@3.29.2)(vite@4.4.9): + /vite-vue-plugin-html@1.0.2(rollup@3.29.3)(vite@4.4.9): resolution: {integrity: sha512-MADzWRhKRXQDefI2ttVukx5NMMh+Wh9S2bhmXW4Kce4F4IfTgy5dain6KYZvS5NtqMXiTj/bURPpdaAxwrQ9DA==} peerDependencies: vite: '>=4.2.0' dependencies: - '@rollup/pluginutils': 5.0.4(rollup@3.29.2) + '@rollup/pluginutils': 5.0.4(rollup@3.29.3) colorette: 2.0.20 connect-history-api-fallback: 2.0.0 consola: 3.2.3 @@ -9509,14 +9448,14 @@ packages: fast-glob: 3.3.1 fs-extra: 11.1.1 html-minifier-terser: 7.2.0 - node-html-parser: 6.1.9 + node-html-parser: 6.1.10 pathe: 1.1.1 - vite: 4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true - /vite@4.4.9(@types/node@20.6.0)(less@4.2.0)(terser@5.20.0): + /vite@4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -9544,11 +9483,11 @@ packages: terser: optional: true dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.4 esbuild: 0.18.20 less: 4.2.0 postcss: 8.4.30 - rollup: 3.29.2 + rollup: 3.29.3 terser: 5.20.0 optionalDependencies: fsevents: 2.3.3 @@ -9569,14 +9508,14 @@ packages: vue: 3.3.4 dev: false - /vue-eslint-parser@9.3.1(eslint@8.49.0): + /vue-eslint-parser@9.3.1(eslint@8.50.0): resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -9776,10 +9715,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.22.17 - '@babel/preset-env': 7.22.15(@babel/core@7.22.17) + '@babel/core': 7.22.20 + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) '@babel/runtime': 7.22.15 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.17)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.20)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -9900,7 +9839,7 @@ packages: /workbox-window@7.0.0: resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} dependencies: - '@types/trusted-types': 2.0.3 + '@types/trusted-types': 2.0.4 workbox-core: 7.0.0 dev: true From efe71b9d8ec21daf46f631e62821c2adbc4055d0 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Mon, 25 Sep 2023 16:32:19 +0800 Subject: [PATCH 11/18] feat: use unocss --- .vscode/settings.json | 1 + .../VirtualScroll/src/VirtualScroll.vue | 2 +- src/layouts/default/feature/index.vue | 40 ++++--------------- .../setting/components/SettingFooter.vue | 4 +- src/layouts/default/setting/index.vue | 2 +- 5 files changed, 12 insertions(+), 37 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index c7608880..4b294f99 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -157,6 +157,7 @@ "vben", "vditor", "videojs", + "vite", "vitejs", "vuedraggable", "vueuse", diff --git a/src/components/VirtualScroll/src/VirtualScroll.vue b/src/components/VirtualScroll/src/VirtualScroll.vue index b26e882f..bc0a5e04 100644 --- a/src/components/VirtualScroll/src/VirtualScroll.vue +++ b/src/components/VirtualScroll/src/VirtualScroll.vue @@ -104,7 +104,7 @@ export default defineComponent({ if (!wrapEl) return 0 - const height = Number.parseInt(props.height || 0, 10) || wrapEl.clientHeight + const height = Number.parseInt(`${props.height || 0}`, 10) || wrapEl.clientHeight return first + Math.ceil(height / unref(getItemHeightRef)) } diff --git a/src/layouts/default/feature/index.vue b/src/layouts/default/feature/index.vue index 61946232..9aedecd0 100644 --- a/src/layouts/default/feature/index.vue +++ b/src/layouts/default/feature/index.vue @@ -6,7 +6,6 @@ import { computed, unref } from 'vue' import { SettingButtonPositionEnum } from '@/enums/appEnum' import { useHeaderSetting } from '@/hooks/setting/useHeaderSetting' import { useRootSetting } from '@/hooks/setting/useRootSetting' -import { useDesign } from '@/hooks/web/useDesign' import { useUserStoreWithOut } from '@/store/modules/user' import { createAsyncComponent } from '@/utils/factory/createAsyncComponent' import SessionTimeoutLogin from '@/views/base/login/SessionTimeoutLogin.vue' @@ -18,11 +17,10 @@ const LayoutLockPage = createAsyncComponent(() => import('@/views/base/lock/inde const SettingDrawer = createAsyncComponent(() => import('@/layouts/default/setting/index.vue')) const { getUseOpenBackTop, getShowSettingButton, getSettingButtonPosition, getFullContent } - = useRootSetting() + = useRootSetting() const getTarget = () => document.body const userStore = useUserStoreWithOut() -const { prefixCls } = useDesign('setting-drawer-feature') const { getShowHeader } = useHeaderSetting() const getIsSessionTimeout = computed(() => userStore.getSessionTimeout) @@ -44,41 +42,17 @@ const getIsFixedSettingDrawer = computed(() => { <LayoutLockPage /> <FloatButton.BackTop v-if="getUseOpenBackTop" :target="getTarget" /> <FloatButton - shape="circle" - type="primary" - :badge="{ dot: true }" - :style="{ + shape="circle" type="primary" :badge="{ dot: true }" :style="{ right: '64px', - }" - @click="openWindow(SITE_URL)" + }" @click="openWindow(SITE_URL)" > <template #icon> <QuestionCircleOutlined /> </template> </FloatButton> - <SettingDrawer v-if="getIsFixedSettingDrawer" :class="prefixCls" /> + <SettingDrawer + v-if="getIsFixedSettingDrawer" + class="absolute top-[45%] z-10 flex cursor-pointer items-center justify-items-center rounded-l-md rounded-r-none p-2.5" + /> <SessionTimeoutLogin v-if="getIsSessionTimeout" /> </template> - -<style lang="less"> - @prefix-cls: ~'@{namespace}-setting-drawer-feature'; - - .@{prefix-cls} { - position: absolute; - top: 45%; - right: 0; - z-index: 10; - display: flex; - align-items: center; - justify-content: center; - padding: 10px; - color: @white; - cursor: pointer; - border-radius: 6px 0 0 6px; - - svg { - width: 1em; - height: 1em; - } - } -</style> diff --git a/src/layouts/default/setting/components/SettingFooter.vue b/src/layouts/default/setting/components/SettingFooter.vue index 80910a43..266c61ec 100644 --- a/src/layouts/default/setting/components/SettingFooter.vue +++ b/src/layouts/default/setting/components/SettingFooter.vue @@ -67,12 +67,12 @@ function handleClearAndRedo() { {{ t('layout.setting.copyBtn') }} </a-button> - <a-button color="warning" block class="my-3" @click="handleResetSetting"> + <a-button block class="my-3" @click="handleResetSetting"> <RedoOutlined class="mr-2" /> {{ t('common.resetText') }} </a-button> - <a-button color="error" block @click="handleClearAndRedo"> + <a-button type="primary" danger block @click="handleClearAndRedo"> <RedoOutlined class="mr-2" /> {{ t('layout.setting.clearBtn') }} </a-button> diff --git a/src/layouts/default/setting/index.vue b/src/layouts/default/setting/index.vue index dd585295..0ddff896 100644 --- a/src/layouts/default/setting/index.vue +++ b/src/layouts/default/setting/index.vue @@ -11,7 +11,7 @@ const [register, { openDrawer }] = useDrawer() <template> <div @click="openDrawer(true)"> - <Icon icon="ion:settings-outline" /> + <Icon class="h-4 w-4" icon="ion:settings-outline" /> <SettingDrawer @register="register" /> </div> </template> From 1e3cb0c885ab20c3b36b5b7f5fe3e17a997fecbe Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Mon, 25 Sep 2023 17:32:16 +0800 Subject: [PATCH 12/18] fix: eslint --- src/components/Form/src/hooks/useAutoFocus.ts | 2 +- src/components/Form/src/hooks/useForm.ts | 2 +- .../Form/src/hooks/useFormEvents.ts | 2 ++ .../SimpleMenu/src/components/Menu.vue | 2 -- src/components/Table/src/BasicTable.vue | 1 + src/components/Table/src/hooks/useTable.ts | 1 + src/layouts/default/sider/MixSider.vue | 22 +++++++++++-------- src/router/types.ts | 1 + src/store/modules/multipleTab.ts | 1 + src/utils/domUtils.ts | 3 +++ src/utils/index.ts | 3 +++ src/utils/props.ts | 3 +-- 12 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/components/Form/src/hooks/useAutoFocus.ts b/src/components/Form/src/hooks/useAutoFocus.ts index f291d6ce..1e26d24d 100644 --- a/src/components/Form/src/hooks/useAutoFocus.ts +++ b/src/components/Form/src/hooks/useAutoFocus.ts @@ -8,7 +8,7 @@ interface UseAutoFocusContext { isInitedDefault: Ref<boolean> formElRef: Ref<FormActionType> } -export async function useAutoFocus({ getSchema, getProps, formElRef, isInitedDefault }: UseAutoFocusContext) { +export function useAutoFocus({ getSchema, getProps, formElRef, isInitedDefault }: UseAutoFocusContext) { watchEffect(async () => { if (unref(isInitedDefault) || !unref(getProps).autoFocusFirstItem) return diff --git a/src/components/Form/src/hooks/useForm.ts b/src/components/Form/src/hooks/useForm.ts index 85ad707c..0103244a 100644 --- a/src/components/Form/src/hooks/useForm.ts +++ b/src/components/Form/src/hooks/useForm.ts @@ -78,7 +78,7 @@ export function useForm(props?: Props): UseFormReturnType { }, removeSchemaByField: async (field: string | string[]) => { - unref(formRef)?.removeSchemaByField(field) + await unref(formRef)?.removeSchemaByField(field) }, // TODO promisify diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index d2ce15c2..984e3e3a 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/require-await */ import type { ComputedRef, Ref } from 'vue' import type { NamePath } from 'ant-design-vue/lib/form/interface' import { nextTick, toRaw, unref } from 'vue' @@ -89,6 +90,7 @@ export function useFormEvents({ const defaultValueObj = schema?.defaultValueObj const fieldKeys = Object.keys(defaultValueObj || {}) if (fieldKeys.length) { + // eslint-disable-next-line array-callback-return fieldKeys.map((field) => { formModel[field] = defaultValueObj![field] }) diff --git a/src/components/SimpleMenu/src/components/Menu.vue b/src/components/SimpleMenu/src/components/Menu.vue index 962eaeb3..5a03c744 100644 --- a/src/components/SimpleMenu/src/components/Menu.vue +++ b/src/components/SimpleMenu/src/components/Menu.vue @@ -6,8 +6,6 @@ import { useDesign } from '@/hooks/web/useDesign' import { propTypes } from '@/utils/propTypes' import mitt from '@/utils/mitt' -defineOptions({ name: 'Menu' }) - const props = defineProps({ theme: propTypes.oneOf(['light', 'dark']).def('light'), activeName: propTypes.oneOfType([propTypes.string, propTypes.number]), diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue index 0e79bd6b..38397f83 100644 --- a/src/components/Table/src/BasicTable.vue +++ b/src/components/Table/src/BasicTable.vue @@ -1,3 +1,4 @@ +<!-- eslint-disable no-useless-call --> <script lang="ts" setup> import { computed, inject, ref, toRaw, unref, useAttrs, useSlots, watchEffect } from 'vue' import { Table } from 'ant-design-vue' diff --git a/src/components/Table/src/hooks/useTable.ts b/src/components/Table/src/hooks/useTable.ts index 07983fe0..7df75d07 100644 --- a/src/components/Table/src/hooks/useTable.ts +++ b/src/components/Table/src/hooks/useTable.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/await-thenable */ import type { WatchStopHandle } from 'vue' import { onUnmounted, ref, toRaw, unref, watch } from 'vue' import type { BasicColumn, BasicTableProps, FetchParams, TableActionType } from '../types/table' diff --git a/src/layouts/default/sider/MixSider.vue b/src/layouts/default/sider/MixSider.vue index abcc0844..2285ee07 100644 --- a/src/layouts/default/sider/MixSider.vue +++ b/src/layouts/default/sider/MixSider.vue @@ -1,3 +1,4 @@ +<!-- eslint-disable vue/no-side-effects-in-computed-properties --> <script lang="ts" setup> import type { CSSProperties } from 'vue' import { computed, onMounted, ref, unref, watch } from 'vue' @@ -51,28 +52,27 @@ const permissionStore = usePermissionStore() useDragLine(sideRef, dragBarRef, true) +const getMixSideWidth = computed(() => { + return unref(getCollapsed) ? SIDE_BAR_MINI_WIDTH : SIDE_BAR_SHOW_TIT_MINI_WIDTH +}) + const getMenuStyle = computed((): CSSProperties => { return { width: unref(openMenu) ? `${unref(getMenuWidth)}px` : 0, - // eslint-disable-next-line @typescript-eslint/no-use-before-define left: `${unref(getMixSideWidth)}px`, } }) const getIsFixed = computed(() => { - // eslint-disable-next-line vue/no-side-effects-in-computed-properties mixSideHasChildren.value = unref(childrenMenus).length > 0 const isFixed = unref(getMixSideFixed) && unref(mixSideHasChildren) if (isFixed) - // eslint-disable-next-line vue/no-side-effects-in-computed-properties openMenu.value = true return isFixed }) -const getMixSideWidth = computed(() => { - return unref(getCollapsed) ? SIDE_BAR_MINI_WIDTH : SIDE_BAR_SHOW_TIT_MINI_WIDTH -}) + const getDomStyle = computed((): CSSProperties => { const fixedWidth = unref(getIsFixed) ? unref(getRealWidth) : 0 @@ -292,6 +292,7 @@ onClickOutside(wrap, () => { <style lang="less"> @prefix-cls: ~'@{namespace}-layout-mix-sider'; @width: 80px; + .@{prefix-cls} { position: fixed; top: 0; @@ -326,7 +327,7 @@ onClickOutside(wrap, () => { } &.open { - > .scrollbar { + >.scrollbar { border-right: 1px solid rgb(238 238 238); } } @@ -341,6 +342,7 @@ onClickOutside(wrap, () => { } } } + .@{prefix-cls}-menu-list { &__content { box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%); @@ -364,10 +366,11 @@ onClickOutside(wrap, () => { border-bottom: 1px solid var(--sider-dark-lighten-bg-color); } - > .scrollbar { + >.scrollbar { border-right: 1px solid var(--sider-dark-lighten-bg-color); } } + .@{prefix-cls}-menu-list { background-color: var(--sider-dark-bg-color); @@ -379,7 +382,7 @@ onClickOutside(wrap, () => { } } - > .scrollbar { + >.scrollbar { height: calc(100% - @header-height - 38px); } @@ -408,6 +411,7 @@ onClickOutside(wrap, () => { &:hover { color: @white; } + // &:hover, &--active { font-weight: 700; diff --git a/src/router/types.ts b/src/router/types.ts index 253da3b6..e48d9170 100644 --- a/src/router/types.ts +++ b/src/router/types.ts @@ -4,6 +4,7 @@ import type { RoleEnum } from '@/enums/roleEnum' export type Component<T = any> = ReturnType<typeof defineComponent> | (() => Promise<typeof import('*.vue')>) | (() => Promise<T>) +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> { keepAlive?: boolean diff --git a/src/store/modules/multipleTab.ts b/src/store/modules/multipleTab.ts index 152f3006..dd710eea 100644 --- a/src/store/modules/multipleTab.ts +++ b/src/store/modules/multipleTab.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/unbound-method */ import type { RouteLocationNormalized, RouteLocationRaw, Router } from 'vue-router' import { toRaw, unref } from 'vue' diff --git a/src/utils/domUtils.ts b/src/utils/domUtils.ts index 043a61b5..e627afa5 100644 --- a/src/utils/domUtils.ts +++ b/src/utils/domUtils.ts @@ -158,13 +158,16 @@ export function once(el: HTMLElement, event: string, fn: EventListener): void { export function useRafThrottle<T extends FunctionArgs>(fn: T): T { let locked = false + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error return function (...args: any[]) { if (locked) return locked = true window.requestAnimationFrame(() => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error + // eslint-disable-next-line @typescript-eslint/no-invalid-this fn.apply(this, args) locked = false }) diff --git a/src/utils/index.ts b/src/utils/index.ts index 95897562..1b243893 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -164,6 +164,9 @@ export function simpleDebounce(fn, delay = 100) { clearTimeout(timer) timer = setTimeout(() => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + // eslint-disable-next-line @typescript-eslint/no-invalid-this fn.apply(this, args) }, delay) } diff --git a/src/utils/props.ts b/src/utils/props.ts index 64981a8f..f30966d6 100644 --- a/src/utils/props.ts +++ b/src/utils/props.ts @@ -34,8 +34,7 @@ type _BuildPropType<T, V, C> = export type BuildPropType<T, V, C> = _BuildPropType<IfUnknown<T, never>, IfUnknown<V, never>, IfUnknown<C, never>> type _BuildPropDefault<T, D> = [T] extends [ - // eslint-disable-next-line @typescript-eslint/ban-types - Record<string, unknown> | Array<any> | Function, + Record<string, unknown> | Array<any> | Fn, ] ? D : D extends () => T From 2e06c047ff751632f8555024651a032fcd195ca5 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Mon, 25 Sep 2023 17:32:28 +0800 Subject: [PATCH 13/18] chore: update deps --- .vscode/settings.json | 31 ------ package.json | 8 +- pnpm-lock.yaml | 252 +++++++++++++++++++++--------------------- 3 files changed, 130 insertions(+), 161 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 4b294f99..1d75990f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -84,37 +84,6 @@ "jsonc", "yaml" ], - "[javascriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" - }, - "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[html]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[css]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[less]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[scss]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[vue]": { - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true, - "source.organizeImports": false, - "source.fixAll.stylelint": true - } - }, "i18n-ally.localesPaths": ["src/locales/lang"], "i18n-ally.keystyle": "nested", "i18n-ally.sortKeys": true, diff --git a/package.json b/package.json index e62ca14d..60680123 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yudao-ui-admin-vben", - "version": "1.8.1-snapshot", + "version": "1.8.2-snapshot", "packageManager": "pnpm@8.6.0", "author": { "name": "xingyuv", @@ -84,7 +84,7 @@ "devDependencies": { "@commitlint/cli": "^17.7.1", "@commitlint/config-conventional": "^17.7.0", - "@iconify/json": "^2.2.119", + "@iconify/json": "^2.2.120", "@purge-icons/generated": "^0.9.0", "@types/codemirror": "^5.60.10", "@types/crypto-js": "^4.1.2", @@ -95,7 +95,7 @@ "@types/nprogress": "^0.2.1", "@types/qs": "^6.9.8", "@types/sortablejs": "^1.15.2", - "@unocss/eslint-config": "^0.56.1", + "@unocss/eslint-config": "^0.56.2", "@vitejs/plugin-vue": "4.3.4", "@vitejs/plugin-vue-jsx": "^3.0.2", "@vue/compiler-sfc": "^3.3.4", @@ -128,7 +128,7 @@ "stylelint-prettier": "^4.0.2", "terser": "^5.20.0", "typescript": "^5.2.2", - "unocss": "^0.56.1", + "unocss": "^0.56.2", "vite": "^4.4.9", "vite-plugin-compression": "^0.5.1", "vite-plugin-mkcert": "^1.16.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 06ea66f9..1b02e21c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -116,8 +116,8 @@ devDependencies: specifier: ^17.7.0 version: 17.7.0 '@iconify/json': - specifier: ^2.2.119 - version: 2.2.119 + specifier: ^2.2.120 + version: 2.2.120 '@purge-icons/generated': specifier: ^0.9.0 version: 0.9.0 @@ -149,8 +149,8 @@ devDependencies: specifier: ^1.15.2 version: 1.15.2 '@unocss/eslint-config': - specifier: ^0.56.1 - version: 0.56.1(eslint@8.50.0)(typescript@5.2.2) + specifier: ^0.56.2 + version: 0.56.2(eslint@8.50.0)(typescript@5.2.2) '@vitejs/plugin-vue': specifier: 4.3.4 version: 4.3.4(vite@4.4.9)(vue@3.3.4) @@ -248,8 +248,8 @@ devDependencies: specifier: ^5.2.2 version: 5.2.2 unocss: - specifier: ^0.56.1 - version: 0.56.1(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9) + specifier: ^0.56.2 + version: 0.56.2(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9) vite: specifier: ^4.4.9 version: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) @@ -2047,8 +2047,8 @@ packages: dependencies: '@iconify/types': 2.0.0 - /@iconify/json@2.2.119: - resolution: {integrity: sha512-tYvxJpBds6UgXe6/iq2pW7hblsniDGWuKEwCr8PnSKLmZMilrtzHX7v+pg7FFmV2l2qA2Iw4toMRpe11tWBI4Q==} + /@iconify/json@2.2.120: + resolution: {integrity: sha512-vxE3fNGgQEEu2nvMuR/g4Cu/CxPpQWjc3cwsk/KY3iTN4hLKL0lnBsi1GmQL1ITSsyib2f72h329j+D9S9esbg==} dependencies: '@iconify/types': 2.0.0 pathe: 1.1.1 @@ -2800,32 +2800,32 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unocss/astro@0.56.1(rollup@3.29.3)(vite@4.4.9): - resolution: {integrity: sha512-ivWm69J76DRwCiEFM75qR4WPMCC6nyOrUM5iQDTypwKbBX26XlXcYYCN3DLoQTmWdp5f2BubZXAg3KIdgVxrYg==} + /@unocss/astro@0.56.2(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-IwkTODLjxeTZRM6vIU7neGglMt68nXXejRxDThDNzLZ0DfCUGkrfBr/K+k0c5oRGCu6389slphkhTwF/Zxt+jw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.56.1 - '@unocss/reset': 0.56.1 - '@unocss/vite': 0.56.1(rollup@3.29.3)(vite@4.4.9) + '@unocss/core': 0.56.2 + '@unocss/reset': 0.56.2 + '@unocss/vite': 0.56.2(rollup@3.29.3)(vite@4.4.9) vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.56.1(rollup@3.29.3): - resolution: {integrity: sha512-s7lRtPkNw7GXdej3uYKFgfyal3Bq0Ux9oJKQ3rV7ysvY5AMfHs+ayc1EC6vXsAunziJ39dloPrRY5cx1H7abkQ==} + /@unocss/cli@0.56.2(rollup@3.29.3): + resolution: {integrity: sha512-HLb2fC8waIxygG2/QTT0WEZjndwBHgRzEz+Vlb1s+mz4UGnmCA6hgsRLaop0Bdi+gVnmJv+bi2/nbJ+jlTFXYQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.0.4(rollup@3.29.3) - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 - '@unocss/preset-uno': 0.56.1 + '@unocss/config': 0.56.2 + '@unocss/core': 0.56.2 + '@unocss/preset-uno': 0.56.2 cac: 6.7.14 chokidar: 3.5.3 colorette: 2.0.20 @@ -2838,36 +2838,36 @@ packages: - rollup dev: true - /@unocss/config@0.56.1: - resolution: {integrity: sha512-ZwKWtbMfg38laUNwjERkiTo3JKCgpw+hZMBqbbr2N4Rhc1ZaT4EJyQmcc/+P05JoNNr+ueYMoCMOCOtn/wuheQ==} + /@unocss/config@0.56.2: + resolution: {integrity: sha512-dIm7ARnqSgyMs1urXTeqlLUAbifAhllnSh1ZiUmh7c+ThcXcTYAD6xtosSA2SXJU94D6pRCaMhuoRix9j6asZw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 unconfig: 0.3.10 dev: true - /@unocss/core@0.56.1: - resolution: {integrity: sha512-2qmb/+hQ2CXmIgSqaeL6Pw2reO2MxsZlLMFuu71J8T3+UKrkI9NAwkZ4sdb38EoOisVIr2lvE48uc44XBfaOdg==} + /@unocss/core@0.56.2: + resolution: {integrity: sha512-44pqqOgO9Lxg9WHpz5RYJ8PvnuEyoc5WuntmPkIeQcoIBArgAleAMKuDQ53MLsF+M1fwz6oBeWDk8ASO6Wd/kw==} dev: true - /@unocss/eslint-config@0.56.1(eslint@8.50.0)(typescript@5.2.2): - resolution: {integrity: sha512-ph1w2FO+wCHq0jz0iQyxUbjwLSVjSz6wQ2yd0fCsm6mHNlewWHmu6gD3Grs9j5XDyFJEwz4HZZRHspJanqSJyA==} + /@unocss/eslint-config@0.56.2(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-63qzwai0DVArrjpabn6Em8jqsssIrWngqB53olDWCLJ7MzwFKMPWb6fsWkl3Eab7YYcUiOzxsdIeolFnmGIgtw==} engines: {node: '>=14'} dependencies: - '@unocss/eslint-plugin': 0.56.1(eslint@8.50.0)(typescript@5.2.2) + '@unocss/eslint-plugin': 0.56.2(eslint@8.50.0)(typescript@5.2.2) transitivePeerDependencies: - eslint - supports-color - typescript dev: true - /@unocss/eslint-plugin@0.56.1(eslint@8.50.0)(typescript@5.2.2): - resolution: {integrity: sha512-WLTybFXK9FJUMmEdUBa4Yj6uZx4qTCThGVej5Rn3XA+5f58zNmcSbipUG5oz16Z/QqYKP8iKhtg5zAQJMi0erg==} + /@unocss/eslint-plugin@0.56.2(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-dEH1JgILVnQ9RMjj5zurZ0LTwlgQMoIaLMn/ZDM3Htb5Rw3WllG0JwLGzxOQaWG4E0y9HRmuQSmuJZ/xCuSi8w==} engines: {node: '>=14'} dependencies: '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 + '@unocss/config': 0.56.2 + '@unocss/core': 0.56.2 magic-string: 0.30.3 synckit: 0.8.5 transitivePeerDependencies: @@ -2876,155 +2876,155 @@ packages: - typescript dev: true - /@unocss/extractor-arbitrary-variants@0.56.1: - resolution: {integrity: sha512-2vEcVwUTpC0yROjvKGjR3HSE8jaf1cwQqL+Ba5oP+Y4Vrjlf8hqvoSowgVT+wp/ecPH8z82xFNhS+XMOdgXpGA==} + /@unocss/extractor-arbitrary-variants@0.56.2: + resolution: {integrity: sha512-mDuCk5S2j3lmtflzibMUKtkdPXUycuNMw0FRtTobjl1p6V1TcJaN6SrL8+voIwLn+PffLWibuNljyal0BC/sMw==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/inspector@0.56.1: - resolution: {integrity: sha512-PJ3MEwOvUjLaiySPQQKlw0XgwpReNK7c+nDX0D8ZBmUyw3swSn8wSar2cCOLsKLRtKRRp4kz1brM/BaleyYyeg==} + /@unocss/inspector@0.56.2: + resolution: {integrity: sha512-VqmmFpHwlbRiQw5I//oF3o7xHtaZOk6m9xHW6hxVuAkRNFPNFR73hToilfQgkvrt0Qw/rEzDsLYMvI1LuWpvKg==} dependencies: - '@unocss/rule-utils': 0.56.1 + '@unocss/rule-utils': 0.56.2 gzip-size: 6.0.0 sirv: 2.0.3 dev: true - /@unocss/postcss@0.56.1(postcss@8.4.30): - resolution: {integrity: sha512-8jUS5ynopvMbZmdUQhGv+lvKziuAPHHl9LaZzCJ4uHgPOwITNXWTi4dmNbytdYC3iYPQ++8eOph93VPCxdqVsw==} + /@unocss/postcss@0.56.2(postcss@8.4.30): + resolution: {integrity: sha512-mqNEQflEGxaYeqEJuMlFrlnzj1I9O5yvUEhux4EDy0hkqojCldwtjAosJ9jeBU/Sutr/YjWDOQ2+SU0Ei58Rxg==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 dependencies: - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/config': 0.56.2 + '@unocss/core': 0.56.2 + '@unocss/rule-utils': 0.56.2 css-tree: 2.3.1 fast-glob: 3.3.1 magic-string: 0.30.3 postcss: 8.4.30 dev: true - /@unocss/preset-attributify@0.56.1: - resolution: {integrity: sha512-z+riyM9Fl+aYReg3cgxDRrI52teOL6ebj1UkMOje5sXuhneEQobUkg3k4Oi9NGTdalO5PU/jwcYCNfVksMPWZg==} + /@unocss/preset-attributify@0.56.2: + resolution: {integrity: sha512-kH7IMjShgkXfL6DMznsHyDIZ1NGRQK2CFZUUCyBORckhKd2mFTzeycnTkYnsGG0bDoakGiBcpIMzX4fS7vQrpw==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/preset-icons@0.56.1: - resolution: {integrity: sha512-Jwyy7i39Hvt4gf+/vtlIcKucNP2y7IV5nF9KPuDnikho4xS/D24z3lbUclrscbH8XGfRcsUzGHI/y+8gD7zZjQ==} + /@unocss/preset-icons@0.56.2: + resolution: {integrity: sha512-aXeClNH/3744cIhICT61PPpfsKX5c8J70p9nj2F2cTYE4K3XlfjyAbUnVpEYz0G/mkJsA5X36t1TWGRC8/L9Cg==} dependencies: '@iconify/utils': 2.1.10 - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 ofetch: 1.3.3 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini@0.56.1: - resolution: {integrity: sha512-hOujmUN5kiA7KCkH1mUFf3cStsa3WZTi3g/I91VQ8EM4S6R7aRvME7LBXlb38z68+pckoDLhOhbN7gSg2iZTjA==} + /@unocss/preset-mini@0.56.2: + resolution: {integrity: sha512-vAVf6bkkg/rr3/xsTRJDNHHfhSr3ypzEf7pRX4ay9lZraCCF/L+WUPPY/ZppV6ZMqnBxoineGad2Ph82cONwFA==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/extractor-arbitrary-variants': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.2 + '@unocss/extractor-arbitrary-variants': 0.56.2 + '@unocss/rule-utils': 0.56.2 dev: true - /@unocss/preset-tagify@0.56.1: - resolution: {integrity: sha512-cd1McbaEpoerduOt8dA6MOkVZQIutuF3dHyjrI/pXbDtoyzBWjT9MLEeV77Hlz3S09+9cqGZddBBkqo0WGsM0w==} + /@unocss/preset-tagify@0.56.2: + resolution: {integrity: sha512-Z9yj5LyF7pw9lFaxagEX6JxDm0P0/50GF3zXapVsAdNfqG+868vQxgu7VI2G556Kd3zeUNuQhiAWkv9PZY8UJw==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/preset-typography@0.56.1: - resolution: {integrity: sha512-3p+dWEtMDe8MSPbUZseS94OpdYbv/pMTs2K1NBysE5BjIEVlyxRNWcZ8FC6risAJ1U0Ouctb6BqP6IA8r9BiWQ==} + /@unocss/preset-typography@0.56.2: + resolution: {integrity: sha512-pyhH9M4yu0pzot0OWiZ0qRjVpVmIWppsuZw/mnrKzzD+FwfMRGfys885Fqu9E0vdCP3PnkkpSHqpLmm7L7S/Qg==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/preset-mini': 0.56.1 + '@unocss/core': 0.56.2 + '@unocss/preset-mini': 0.56.2 dev: true - /@unocss/preset-uno@0.56.1: - resolution: {integrity: sha512-rNnjpmnfrP/1P462dyELBQHe5NDlFSrJevwjCpAOeFXdO0XCCULpHokuaovZYwesNvzzWu+cZequya38n5hkSw==} + /@unocss/preset-uno@0.56.2: + resolution: {integrity: sha512-fHBc4eCDX8QBnypDVpUVxaZFtE7zkbry+lTBPqhTZZojX9bvInLv5+KJohDmWfONO3qFB0qYTXfSemuux2XwZw==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/preset-mini': 0.56.1 - '@unocss/preset-wind': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.2 + '@unocss/preset-mini': 0.56.2 + '@unocss/preset-wind': 0.56.2 + '@unocss/rule-utils': 0.56.2 dev: true - /@unocss/preset-web-fonts@0.56.1: - resolution: {integrity: sha512-SO2ZjrcFSi02QgQT3UVUtIlZE59A92gB1pzmYTMGZhjhmxqq6aghvBKEC00LfnQ200MRtAawgiZ+5Xysi/XsGg==} + /@unocss/preset-web-fonts@0.56.2: + resolution: {integrity: sha512-ebrl3/UK3DLNwYfqR67zQG+3fWRazG08H4531C2ileYgwX5+j1Lg/H4OBWm9dz9is04+1hyyZB5glr9Gxlm20Q==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 ofetch: 1.3.3 dev: true - /@unocss/preset-wind@0.56.1: - resolution: {integrity: sha512-/fR0eYlmezu6R3wWvN5zVNAfOE6rcC1CsEZKH0SdwchMvNDjJNd0rmAechI2BnVBaa3++H2Cz+0AfCDEP8tsjg==} + /@unocss/preset-wind@0.56.2: + resolution: {integrity: sha512-wHkdgt8SGe2Xe8DUaXTf/FJKqAak5wLIr0wQlOT9yYBnFraUCSqPAcXykHcevxvPXAxnAof9C2oN58kPtk8NnA==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/preset-mini': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.2 + '@unocss/preset-mini': 0.56.2 + '@unocss/rule-utils': 0.56.2 dev: true - /@unocss/reset@0.56.1: - resolution: {integrity: sha512-nfzLKv2W9Y3fZLny6lYTroa/YExczGYHsVPCBPGkVt0TrM0yDA+ZKOHbN93b5myY9hzJ3pHTEQmYFsFwzzr6Kg==} + /@unocss/reset@0.56.2: + resolution: {integrity: sha512-RFI5XXb0Oc0WyarL6x4gti3/bKPqY9LKB/kHoEx05aZhFFtz1GzUYzqFdDakieS6FM2Jc1IFWpeC6Y3b7xce8A==} dev: true - /@unocss/rule-utils@0.56.1: - resolution: {integrity: sha512-mmmbx10eELAyhYZqBWlQFPOafnL1hHp2fo18rUbZLedvMJWds3Z23Q/u3VKEpJnCszNkr03BXVwscR5+ZdF4uw==} + /@unocss/rule-utils@0.56.2: + resolution: {integrity: sha512-cG2DtKSjaJOety1ELqbQeavQvpX6CZbrbrANR53671Y4SE+S1QAL/muqr61HI0gFveLidqws5dIQq/8SaZPCyg==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/scope@0.56.1: - resolution: {integrity: sha512-qIq/JuibrVOAJw/TCUm54XwHRcDImgrb1abZVuaicFh6fjmpdOi/iglYxoFqXS5gusp0m2vNnOLbaBB4LrPf5Q==} + /@unocss/scope@0.56.2: + resolution: {integrity: sha512-8QvO3HlUVe97faBNpkB9i0BVjjqAU0T4ohK/yhG1AIUYhqfXRY5vh22TJxPIqAsNXbF4cUfxvZg1oSi8S6gmqQ==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.56.1: - resolution: {integrity: sha512-8+l4tfifHiSnga3iaxqXfAMgEJG7yLphKPDSm6DHEMUqKeia9rn3V/bABx5KZxpMmnH6FoiYboJL4uf5W58a5Q==} + /@unocss/transformer-attributify-jsx-babel@0.56.2: + resolution: {integrity: sha512-lMv8YWVTPpioDVDc25FurJFvNuDLswoUjVobshQ3KhoLOlJUruQ2MX3admzBHvEtWqdi2SXWlwKQRRqKuZ69/A==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/transformer-attributify-jsx@0.56.1: - resolution: {integrity: sha512-2dQ7immRBnZJQ9aU+VIiAbcFCycXq8yXG2RPd82Pl0tAV8f5DtLbbuTC5mzo5lGOhuXJ+/u+IpuL9xchjOV7WQ==} + /@unocss/transformer-attributify-jsx@0.56.2: + resolution: {integrity: sha512-0k4uNM3tSTmDSPCW54/psSFCqF/ACpEGMHUTJaPzDNyHQZTjLe5JafytWJ0IgFKiycMkpvj8Xzzx+YVBNd6F/A==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/transformer-compile-class@0.56.1: - resolution: {integrity: sha512-v3ICzTWj3oQ1S6qkGzg/oyzrk05ZgdcvjYFSZlgBIu2iUJldBhO0+7ZMuDpniaT21GjJvukLwiWrOF4mYyJCyg==} + /@unocss/transformer-compile-class@0.56.2: + resolution: {integrity: sha512-iTagdlcnB3uvH40nGCsvxWNxt1ubEEfxOnCXM3jgfzNRmiqjMI6iRNp7X7+DwVPv3VeXratnWqOg9MZvp/TE3A==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/transformer-directives@0.56.1: - resolution: {integrity: sha512-Pwh+JUxxn8ECqpEWETeD38OON5Y2oYAOC1CFKAyXoK22J7f51THoS07z2rZpDNdQA2T/szxenNCdRt72/NJ/pg==} + /@unocss/transformer-directives@0.56.2: + resolution: {integrity: sha512-yZkGBfdp+HMAJaTqUF0tYV3aYMcBMJUl6AgACz2ziXLmcjlKHwqHmryqSDrBZBj8sdQieBfLvWlaAMQ7Zgjw+Q==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.2 + '@unocss/rule-utils': 0.56.2 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.56.1: - resolution: {integrity: sha512-UwXNcW00R6MjHZajy8lmSfwWDwhnvd+rF9eRGfcJTEzWr+LtEmgw8SJBr7STCB4ZwRE37NIp4oLLl1jF8omGNg==} + /@unocss/transformer-variant-group@0.56.2: + resolution: {integrity: sha512-9d0z1Rr07rloQqeoCoM7ChhSzZJ+Pj/kcRhi8Jd5O27xEfopYnzf27+2KPYyLSumGay0TgJmSjmg5H2rx6/P6A==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.2 dev: true - /@unocss/vite@0.56.1(rollup@3.29.3)(vite@4.4.9): - resolution: {integrity: sha512-IztLc304zP2LYQMsP3yVHmLwXlLUgCY3q6Nkqw6Hpds7l5JXBsE7Q19DtNW+4nDOp9wvWhw7CjQLmoh8d+V0lQ==} + /@unocss/vite@0.56.2(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-kM+wc2JvhCIsU08sdyM7ho+nyJ+NfA1rfrsg/pQy2o7PY7pEjSl4ownDA4hDgX4PdmxHCQD/xZCK2/El9nLVlA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.0.4(rollup@3.29.3) - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 - '@unocss/inspector': 0.56.1 - '@unocss/scope': 0.56.1 - '@unocss/transformer-directives': 0.56.1 + '@unocss/config': 0.56.2 + '@unocss/core': 0.56.2 + '@unocss/inspector': 0.56.2 + '@unocss/scope': 0.56.2 + '@unocss/transformer-directives': 0.56.2 chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.3 @@ -9190,11 +9190,11 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.56.1(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9): - resolution: {integrity: sha512-jjkcyXfW90CUjN4tBV6SrHX9ifi5GQgcwAQlMRB0copJEW3ejM/nyZnRgNexaV7hi7Ao76XMVqCKbOC5B+IuOA==} + /unocss@0.56.2(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-ZEj8/9OVv6zyuwSVWRGDULHeUdFgTnUAN3Hn8prysfbCI4x06xzsu46xLV9SoHE4eOJ1eSUs7YaJHGKFOocsQQ==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.56.1 + '@unocss/webpack': 0.56.2 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: '@unocss/webpack': @@ -9202,26 +9202,26 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.56.1(rollup@3.29.3)(vite@4.4.9) - '@unocss/cli': 0.56.1(rollup@3.29.3) - '@unocss/core': 0.56.1 - '@unocss/extractor-arbitrary-variants': 0.56.1 - '@unocss/postcss': 0.56.1(postcss@8.4.30) - '@unocss/preset-attributify': 0.56.1 - '@unocss/preset-icons': 0.56.1 - '@unocss/preset-mini': 0.56.1 - '@unocss/preset-tagify': 0.56.1 - '@unocss/preset-typography': 0.56.1 - '@unocss/preset-uno': 0.56.1 - '@unocss/preset-web-fonts': 0.56.1 - '@unocss/preset-wind': 0.56.1 - '@unocss/reset': 0.56.1 - '@unocss/transformer-attributify-jsx': 0.56.1 - '@unocss/transformer-attributify-jsx-babel': 0.56.1 - '@unocss/transformer-compile-class': 0.56.1 - '@unocss/transformer-directives': 0.56.1 - '@unocss/transformer-variant-group': 0.56.1 - '@unocss/vite': 0.56.1(rollup@3.29.3)(vite@4.4.9) + '@unocss/astro': 0.56.2(rollup@3.29.3)(vite@4.4.9) + '@unocss/cli': 0.56.2(rollup@3.29.3) + '@unocss/core': 0.56.2 + '@unocss/extractor-arbitrary-variants': 0.56.2 + '@unocss/postcss': 0.56.2(postcss@8.4.30) + '@unocss/preset-attributify': 0.56.2 + '@unocss/preset-icons': 0.56.2 + '@unocss/preset-mini': 0.56.2 + '@unocss/preset-tagify': 0.56.2 + '@unocss/preset-typography': 0.56.2 + '@unocss/preset-uno': 0.56.2 + '@unocss/preset-web-fonts': 0.56.2 + '@unocss/preset-wind': 0.56.2 + '@unocss/reset': 0.56.2 + '@unocss/transformer-attributify-jsx': 0.56.2 + '@unocss/transformer-attributify-jsx-babel': 0.56.2 + '@unocss/transformer-compile-class': 0.56.2 + '@unocss/transformer-directives': 0.56.2 + '@unocss/transformer-variant-group': 0.56.2 + '@unocss/vite': 0.56.2(rollup@3.29.3)(vite@4.4.9) vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - postcss From e0f5b4ff155e56165de886b18095e46d825640bb Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Mon, 25 Sep 2023 19:48:37 +0800 Subject: [PATCH 14/18] fix: menu --- src/components/SimpleMenu/src/components/Menu.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/SimpleMenu/src/components/Menu.vue b/src/components/SimpleMenu/src/components/Menu.vue index 5a03c744..884437dd 100644 --- a/src/components/SimpleMenu/src/components/Menu.vue +++ b/src/components/SimpleMenu/src/components/Menu.vue @@ -6,6 +6,9 @@ import { useDesign } from '@/hooks/web/useDesign' import { propTypes } from '@/utils/propTypes' import mitt from '@/utils/mitt' +// eslint-disable-next-line vue/no-reserved-component-names +defineOptions({ name: 'Menu' }) + const props = defineProps({ theme: propTypes.oneOf(['light', 'dark']).def('light'), activeName: propTypes.oneOfType([propTypes.string, propTypes.number]), From f4b012eaafabe51148dd3758f1a531a30e7bafe7 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Tue, 26 Sep 2023 09:39:51 +0800 Subject: [PATCH 15/18] fix: button bg color --- src/components/Button/src/BasicButton.vue | 5 +-- src/components/Button/src/props.ts | 6 +-- src/components/CountDown/src/CountButton.vue | 6 ++- .../CountDown/src/CountdownInput.vue | 2 +- src/views/base/login/ForgetPasswordForm.vue | 10 ++--- src/views/base/login/LoginForm.vue | 38 +++++++++---------- src/views/base/login/MobileForm.vue | 10 ++--- src/views/base/login/QrCodeForm.vue | 6 +-- src/views/base/login/RegisterForm.vue | 10 ++--- src/views/base/login/SSOForm.vue | 14 +++---- 10 files changed, 52 insertions(+), 55 deletions(-) diff --git a/src/components/Button/src/BasicButton.vue b/src/components/Button/src/BasicButton.vue index bc0d535f..c3490fde 100644 --- a/src/components/Button/src/BasicButton.vue +++ b/src/components/Button/src/BasicButton.vue @@ -11,10 +11,9 @@ const props = defineProps(buttonProps) // get component class const attrs = useAttrs({ excludeDefaultKeys: false }) const getButtonClass = computed(() => { - const { color, disabled } = props + const { disabled } = props return [ { - [`ant-btn-${color}`]: !!color, 'is-disabled': disabled, }, ] @@ -25,7 +24,7 @@ const getBindValue = computed(() => ({ ...unref(attrs), ...props })) </script> <template> - <Button v-bind="getBindValue" :class="getButtonClass" @click="onClick"> + <Button v-bind="getBindValue" :style="{ backgroundColor: color }" :class="getButtonClass" @click="onClick"> <template #default="data"> <Icon v-if="preIcon" :icon="preIcon" :size="iconSize" /> <slot v-bind="data || {}" /> diff --git a/src/components/Button/src/props.ts b/src/components/Button/src/props.ts index d2a9a5ba..a50d8f4c 100644 --- a/src/components/Button/src/props.ts +++ b/src/components/Button/src/props.ts @@ -1,10 +1,6 @@ -const validColors = ['primary', 'error', 'warning', 'success', ''] as const -type ButtonColorType = (typeof validColors)[number] - export const buttonProps = { color: { - type: String as PropType<ButtonColorType>, - validator: v => validColors.includes(v), + type: String, default: '', }, loading: { type: Boolean }, diff --git a/src/components/CountDown/src/CountButton.vue b/src/components/CountDown/src/CountButton.vue index 20b89813..a1787f4f 100644 --- a/src/components/CountDown/src/CountButton.vue +++ b/src/components/CountDown/src/CountButton.vue @@ -11,7 +11,7 @@ const props = defineProps({ value: { type: [Object, Number, String, Array] }, count: { type: Number, default: 60 }, beforeStartFunc: { - type: Function as PropType<() => Promise<boolean>>, + type: Function as PropType<() => Promise<any>>, default: null, }, }) @@ -38,7 +38,9 @@ async function handleStart() { loading.value = true try { const canStart = await beforeStartFunc() - canStart && start() + if (canStart) + start() + } finally { loading.value = false diff --git a/src/components/CountDown/src/CountdownInput.vue b/src/components/CountDown/src/CountdownInput.vue index 2ad29e43..4a5f6174 100644 --- a/src/components/CountDown/src/CountdownInput.vue +++ b/src/components/CountDown/src/CountdownInput.vue @@ -10,7 +10,7 @@ const props = defineProps({ size: { type: String, validator: (v: string) => ['default', 'large', 'small'].includes(v) }, count: { type: Number, default: 60 }, sendCodeApi: { - type: Function as PropType<() => Promise<boolean>>, + type: Function as PropType<() => Promise<any>>, default: null, }, }) diff --git a/src/views/base/login/ForgetPasswordForm.vue b/src/views/base/login/ForgetPasswordForm.vue index 0f11384f..f262d0d7 100644 --- a/src/views/base/login/ForgetPasswordForm.vue +++ b/src/views/base/login/ForgetPasswordForm.vue @@ -1,6 +1,6 @@ <script lang="ts" setup> import { computed, reactive, ref, unref } from 'vue' -import { Button, Form, Input } from 'ant-design-vue' +import { Form, Input } from 'ant-design-vue' import LoginFormTitle from './LoginFormTitle.vue' import { LoginStateEnum, useFormRules, useLoginState } from './useLogin' import { CountdownInput } from '@/components/CountDown' @@ -46,12 +46,12 @@ async function handleReset() { </FormItem> <FormItem class="enter-x"> - <Button type="primary" size="large" block :loading="loading" @click="handleReset"> + <a-button type="primary" size="large" block :loading="loading" @click="handleReset"> {{ t('common.resetText') }} - </Button> - <Button size="large" block class="mt-4" @click="handleBackLogin"> + </a-button> + <a-button size="large" block class="mt-4" @click="handleBackLogin"> {{ t('sys.login.backSignIn') }} - </Button> + </a-button> </FormItem> </Form> </template> diff --git a/src/views/base/login/LoginForm.vue b/src/views/base/login/LoginForm.vue index e6cb9433..358665f1 100644 --- a/src/views/base/login/LoginForm.vue +++ b/src/views/base/login/LoginForm.vue @@ -1,7 +1,7 @@ <script lang="ts" setup> import { computed, reactive, ref, unref } from 'vue' -import { Button, Checkbox, Col, Divider, Form, Input, Row } from 'ant-design-vue' +import { Checkbox, Col, Divider, Form, Input, Row } from 'ant-design-vue' import { AlipayCircleFilled, GithubFilled, WechatFilled } from '@ant-design/icons-vue' import LoginFormTitle from './LoginFormTitle.vue' @@ -147,31 +147,31 @@ async function handleLogin(params) { <Col :span="12"> <FormItem :style="{ 'text-align': 'right' }"> <!-- No logic, you need to deal with it yourself --> - <Button type="link" size="small" @click="setLoginState(LoginStateEnum.RESET_PASSWORD)"> + <a-button type="link" size="small" @click="setLoginState(LoginStateEnum.RESET_PASSWORD)"> {{ t('sys.login.forgetPassword') }} - </Button> + </a-button> </FormItem> </Col> </Row> <FormItem class="enter-x"> - <Button type="primary" size="large" block :loading="loading" @click="getCode"> + <a-button type="primary" size="large" block :loading="loading" @click="getCode"> {{ t('sys.login.loginButton') }} - </Button> - <!-- <Button size="large" class="mt-4 enter-x" block @click="handleRegister"> + </a-button> + <!-- <a-button size="large" class="mt-4 enter-x" block @click="handleRegister"> {{ t('sys.login.registerButton') }} - </Button> --> + </a-button> --> </FormItem> <Row class="enter-x" :gutter="[16, 16]"> <Col :md="8" :xs="24"> - <Button block @click="setLoginState(LoginStateEnum.MOBILE)"> + <a-button block @click="setLoginState(LoginStateEnum.MOBILE)"> {{ t('sys.login.mobileSignInFormTitle') }} - </Button> + </a-button> </Col> <Col :md="8" :xs="24"> - <Button block @click="setLoginState(LoginStateEnum.QR_CODE)"> + <a-button block @click="setLoginState(LoginStateEnum.QR_CODE)"> {{ t('sys.login.qrSignInFormTitle') }} - </Button> + </a-button> </Col> <Col :md="8" :xs="24"> <a-button block @click="setLoginState(LoginStateEnum.REGISTER)"> @@ -197,18 +197,18 @@ async function handleLogin(params) { 萌新必读 </Divider> <div class="enter-x flex justify-evenly" :class="`${prefixCls}-sign-in-way`"> - <Button href="https://doc.iocoder.cn/" target="_blank"> + <a-button href="https://doc.iocoder.cn/" target="_blank"> 📚开发指南 - </Button> - <Button href="https://doc.iocoder.cn/video/" target="_blank" style="padding-left: 10px"> + </a-button> + <a-button href="https://doc.iocoder.cn/video/" target="_blank" class="pl-2"> 🔥视频教程 - </Button> - <Button href="https://www.iocoder.cn/Interview/good-collection/" target="_blank" style="padding-left: 10px"> + </a-button> + <a-button href="https://www.iocoder.cn/Interview/good-collection/" target="_blank" class="pl-2"> ⚡面试手册 - </Button> - <Button href="http://static.yudao.iocoder.cn/mp/xinyu370.jpeg" target="_blank" style="padding-left: 10px"> + </a-button> + <a-button href="http://static.yudao.iocoder.cn/mp/xinyu370.jpeg" target="_blank" class="pl-2"> 🤝外包咨询 - </Button> + </a-button> </div> </Form> <Verify ref="verify" mode="pop" :captcha-type="captchaType" :img-size="{ width: '400px', height: '200px' }" @success="handleLogin" /> diff --git a/src/views/base/login/MobileForm.vue b/src/views/base/login/MobileForm.vue index da563a4a..2cf470e7 100644 --- a/src/views/base/login/MobileForm.vue +++ b/src/views/base/login/MobileForm.vue @@ -1,6 +1,6 @@ <script lang="ts" setup> import { computed, reactive, ref, unref } from 'vue' -import { Button, Form, Input } from 'ant-design-vue' +import { Form, Input } from 'ant-design-vue' import LoginFormTitle from './LoginFormTitle.vue' import { LoginStateEnum, useFormRules, useFormValid, useLoginState } from './useLogin' import { CountdownInput } from '@/components/CountDown' @@ -142,12 +142,12 @@ async function getSmsCode() { </FormItem> <FormItem class="enter-x"> - <Button type="primary" size="large" block :loading="loading" @click="getCode"> + <a-button type="primary" size="large" block :loading="loading" @click="getCode"> {{ t('sys.login.loginButton') }} - </Button> - <Button size="large" block class="mt-4" @click="handleBackLogin"> + </a-button> + <a-button size="large" block class="mt-4" @click="handleBackLogin"> {{ t('sys.login.backSignIn') }} - </Button> + </a-button> </FormItem> </Form> <Verify ref="verify" mode="pop" :captcha-type="captchaType" :img-size="{ width: '400px', height: '200px' }" @success="handleLogin" /> diff --git a/src/views/base/login/QrCodeForm.vue b/src/views/base/login/QrCodeForm.vue index 89889070..4118ec07 100644 --- a/src/views/base/login/QrCodeForm.vue +++ b/src/views/base/login/QrCodeForm.vue @@ -1,6 +1,6 @@ <script lang="ts" setup> import { computed, unref } from 'vue' -import { Button, Divider, Popover, QRCode } from 'ant-design-vue' +import { Divider, Popover, QRCode } from 'ant-design-vue' import LoginFormTitle from './LoginFormTitle.vue' import { LoginStateEnum, useLoginState } from './useLogin' import { useI18n } from '@/hooks/web/useI18n' @@ -28,9 +28,9 @@ const getShow = computed(() => unref(getLoginState) === LoginStateEnum.QR_CODE) <Divider class="enter-x"> {{ t('sys.login.scanSign') }} </Divider> - <Button size="large" block class="enter-x mt-4" @click="handleBackLogin"> + <a-button size="large" block class="enter-x mt-4" @click="handleBackLogin"> {{ t('sys.login.backSignIn') }} - </Button> + </a-button> </div> </div> </template> diff --git a/src/views/base/login/RegisterForm.vue b/src/views/base/login/RegisterForm.vue index b94a1dcc..4215ad57 100644 --- a/src/views/base/login/RegisterForm.vue +++ b/src/views/base/login/RegisterForm.vue @@ -1,6 +1,6 @@ <script lang="ts" setup> import { computed, reactive, ref, unref } from 'vue' -import { Button, Checkbox, Form, Input } from 'ant-design-vue' +import { Checkbox, Form, Input } from 'ant-design-vue' import LoginFormTitle from './LoginFormTitle.vue' import { LoginStateEnum, useFormRules, useFormValid, useLoginState } from './useLogin' import { StrengthMeter } from '@/components/StrengthMeter' @@ -69,12 +69,12 @@ async function handleRegister() { </Checkbox> </FormItem> - <Button type="primary" class="enter-x" size="large" block :loading="loading" @click="handleRegister"> + <a-button type="primary" class="enter-x" size="large" block :loading="loading" @click="handleRegister"> {{ t('sys.login.registerButton') }} - </Button> - <Button size="large" block class="enter-x mt-4" @click="handleBackLogin"> + </a-button> + <a-button size="large" block class="enter-x mt-4" @click="handleBackLogin"> {{ t('sys.login.backSignIn') }} - </Button> + </a-button> </Form> </div> </template> diff --git a/src/views/base/login/SSOForm.vue b/src/views/base/login/SSOForm.vue index e765a10e..f33eb55c 100644 --- a/src/views/base/login/SSOForm.vue +++ b/src/views/base/login/SSOForm.vue @@ -1,7 +1,7 @@ <script lang="ts" setup> import { onMounted, reactive, ref } from 'vue' import { useRoute } from 'vue-router' -import { Button, Checkbox, Col, Form, Row } from 'ant-design-vue' +import { Checkbox, Col, Form, Row } from 'ant-design-vue' import { useFormValid, useLoginState } from './useLogin' import { useI18n } from '@/hooks/web/useI18n' @@ -178,9 +178,9 @@ onMounted(() => { <FormItem> <!-- No logic, you need to deal with it yourself --> <Checkbox :checked="scope" size="small"> - <Button type="link" size="small"> + <a-button type="link" size="small"> {{ formatScope(scope) }} - </Button> + </a-button> </Checkbox> </FormItem> </template> @@ -188,12 +188,12 @@ onMounted(() => { </Row> <FormItem class="enter-x"> - <Button type="primary" size="large" block :loading="loading" @click="handleAuthorize(true)"> + <a-button type="primary" size="large" block :loading="loading" @click="handleAuthorize(true)"> {{ t('sys.login.loginButton') }} - </Button> - <Button size="large" class="enter-x mt-4" block @click="handleBackLogin"> + </a-button> + <a-button size="large" class="enter-x mt-4" block @click="handleBackLogin"> {{ t('common.cancelText') }} - </Button> + </a-button> </FormItem> </Form> </template> From 30e3ad9c178987b06fd9f8074b3a0eb8412eb099 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Tue, 26 Sep 2023 09:43:27 +0800 Subject: [PATCH 16/18] chore: update deps --- package.json | 12 +++--- pnpm-lock.yaml | 112 ++++++++++++++++++++++++------------------------- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index 60680123..ecb1f507 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "ant-design-vue": "^4.0.3", "axios": "^1.5.0", "benz-amr-recorder": "^1.1.5", - "codemirror": "^5.65.3", + "codemirror": "5.65.3", "cron-parser": "^4.9.0", "cropperjs": "^1.6.1", "crypto-js": "^4.1.1", @@ -70,7 +70,7 @@ "qs": "^6.11.2", "resize-observer-polyfill": "^1.5.1", "sortablejs": "^1.15.0", - "tinymce": "^5.10.7", + "tinymce": "5.10.7", "vditor": "^3.9.5", "video-js": "^0.7.0", "vue": "^3.3.4", @@ -91,10 +91,10 @@ "@types/fs-extra": "^11.0.2", "@types/inquirer": "^9.0.3", "@types/lodash-es": "^4.17.9", - "@types/node": "^20.6.0", + "@types/node": "^20.7.0", "@types/nprogress": "^0.2.1", "@types/qs": "^6.9.8", - "@types/sortablejs": "^1.15.2", + "@types/sortablejs": "^1.15.3", "@unocss/eslint-config": "^0.56.2", "@vitejs/plugin-vue": "4.3.4", "@vitejs/plugin-vue-jsx": "^3.0.2", @@ -116,7 +116,7 @@ "postcss-html": "^1.5.0", "postcss-less": "^6.0.0", "prettier": "^3.0.3", - "rimraf": "^5.0.1", + "rimraf": "^5.0.4", "rollup": "^3.29.3", "rollup-plugin-visualizer": "^5.9.2", "stylelint": "^15.10.3", @@ -138,7 +138,7 @@ "vite-plugin-svg-icons": "^2.0.1", "vite-vue-plugin-html": "^1.0.2", "vue-eslint-parser": "^9.3.1", - "vue-tsc": "^1.8.13" + "vue-tsc": "^1.8.14" }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b02e21c..6c5d8ab4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ dependencies: specifier: ^1.1.5 version: 1.1.5 codemirror: - specifier: ^5.65.3 - version: 5.65.15 + specifier: 5.65.3 + version: 5.65.3 cron-parser: specifier: ^4.9.0 version: 4.9.0 @@ -78,7 +78,7 @@ dependencies: specifier: ^1.15.0 version: 1.15.0 tinymce: - specifier: ^5.10.7 + specifier: 5.10.7 version: 5.10.7 vditor: specifier: ^3.9.5 @@ -137,8 +137,8 @@ devDependencies: specifier: ^4.17.9 version: 4.17.9 '@types/node': - specifier: ^20.6.0 - version: 20.6.4 + specifier: ^20.7.0 + version: 20.7.0 '@types/nprogress': specifier: ^0.2.1 version: 0.2.1 @@ -146,8 +146,8 @@ devDependencies: specifier: ^6.9.8 version: 6.9.8 '@types/sortablejs': - specifier: ^1.15.2 - version: 1.15.2 + specifier: ^1.15.3 + version: 1.15.3 '@unocss/eslint-config': specifier: ^0.56.2 version: 0.56.2(eslint@8.50.0)(typescript@5.2.2) @@ -212,8 +212,8 @@ devDependencies: specifier: ^3.0.3 version: 3.0.3 rimraf: - specifier: ^5.0.1 - version: 5.0.1 + specifier: ^5.0.4 + version: 5.0.4 rollup: specifier: ^3.29.3 version: 3.29.3 @@ -252,7 +252,7 @@ devDependencies: version: 0.56.2(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9) vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + version: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) vite-plugin-compression: specifier: ^0.5.1 version: 0.5.1(vite@4.4.9) @@ -278,8 +278,8 @@ devDependencies: specifier: ^9.3.1 version: 9.3.1(eslint@8.50.0) vue-tsc: - specifier: ^1.8.13 - version: 1.8.13(typescript@5.2.2) + specifier: ^1.8.14 + version: 1.8.14(typescript@5.2.2) packages: @@ -1621,7 +1621,7 @@ packages: lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@20.6.4)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.7.0)(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - '@swc/core' @@ -2495,7 +2495,7 @@ packages: resolution: {integrity: sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.6.4 + '@types/node': 20.7.0 dev: true /@types/inquirer@9.0.3: @@ -2512,7 +2512,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.6.4 + '@types/node': 20.7.0 dev: true /@types/lodash-es@4.17.9: @@ -2543,8 +2543,8 @@ packages: resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} dev: true - /@types/node@20.6.4: - resolution: {integrity: sha512-nU6d9MPY0NBUMiE/nXd2IIoC4OLvsLpwAjheoAeuzgvDZA1Cb10QYg+91AF6zQiKWRN5i1m07x6sMe0niBznoQ==} + /@types/node@20.7.0: + resolution: {integrity: sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==} dev: true /@types/normalize-package-data@2.4.2: @@ -2562,21 +2562,21 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.6.4 + '@types/node': 20.7.0 dev: true /@types/semver@7.5.2: resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} dev: true - /@types/sortablejs@1.15.2: - resolution: {integrity: sha512-mOIv/EnPMzAZAVbuh9uGjOZ1BBdimP9Y6IPGntsvQJtko5yapSDKB7GwB3AOlF5N3bkpk4sBwQRpS3aEkiUbaA==} + /@types/sortablejs@1.15.3: + resolution: {integrity: sha512-v+zh6TZP/cLeMUK0MDx1onp8e7Jk2/4iTQ7sb/n80rTAvBm14yJkpOEfJdrTCkHiF7IZbPjxGX2NRJfogRoYIg==} dev: true /@types/svgo@2.6.4: resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} dependencies: - '@types/node': 20.6.4 + '@types/node': 20.7.0 dev: true /@types/tern@0.23.5: @@ -2588,7 +2588,7 @@ packages: /@types/through@0.0.31: resolution: {integrity: sha512-LpKpmb7FGevYgXnBXYs6HWnmiFyVG07Pt1cnbgM1IhEacITTiUaBXXvOR3Y50ksaJWGSfhbEvQFivQEFGCC55w==} dependencies: - '@types/node': 20.6.4 + '@types/node': 20.7.0 dev: true /@types/trusted-types@2.0.4: @@ -2811,7 +2811,7 @@ packages: '@unocss/core': 0.56.2 '@unocss/reset': 0.56.2 '@unocss/vite': 0.56.2(rollup@3.29.3)(vite@4.4.9) - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true @@ -3028,7 +3028,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.3 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true @@ -3088,7 +3088,7 @@ packages: '@babel/core': 7.22.20 '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.20) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.20) - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -3101,7 +3101,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) vue: 3.3.4 dev: true @@ -3184,8 +3184,8 @@ packages: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: false - /@vue/language-core@1.8.13(typescript@5.2.2): - resolution: {integrity: sha512-nata2fYBZAkl4QJrU+IcArJCMTHt1VP8ePL/Z7eUPC2AF+Cm7Qgo9ksNCPBzZRh1LYjCaSaqV7njqNogwpsMVg==} + /@vue/language-core@1.8.14(typescript@5.2.2): + resolution: {integrity: sha512-15GGOkUP/AgE/jzGdUMtOaQ+XPokrP+Q5Z0DS3aun3i72E6MjFvwB7E2k/ap0mABjdRCRjoVPnsMF1+TkzGqQg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3242,11 +3242,11 @@ packages: /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - /@vue/typescript@1.8.13(typescript@5.2.2): - resolution: {integrity: sha512-ALJjHFqQ3dgZVCI/ogAS/dZ7JEhIi1N0Em5I7uwabY1p9RDRK3odLsycMHyxZRjm5dLI15c07eeBloHiD2Otlg==} + /@vue/typescript@1.8.14(typescript@5.2.2): + resolution: {integrity: sha512-ZNV6MkYNCNNyYSty/uvlChxftOUhpeTr3TkoMkwhovjXQERM3IBCP2lcOLnT6gb7dQ9vdN7dI5kPf8PYPmbkUA==} dependencies: '@volar/typescript': 1.10.1 - '@vue/language-core': 1.8.13(typescript@5.2.2) + '@vue/language-core': 1.8.14(typescript@5.2.2) transitivePeerDependencies: - typescript dev: true @@ -4079,8 +4079,8 @@ packages: engines: {node: '>=0.8'} dev: true - /codemirror@5.65.15: - resolution: {integrity: sha512-YC4EHbbwQeubZzxLl5G4nlbLc1T21QTrKGaOal/Pkm9dVDMZXMH7+ieSPEOZCtO9I68i8/oteJKOxzHC2zR+0g==} + /codemirror@5.65.3: + resolution: {integrity: sha512-kCC0iwGZOVZXHEKW3NDTObvM7pTIyowjty4BUqeREROc/3I6bWbgZDA3fGDwlA+rbgRjvnRnfqs9SfXynel1AQ==} dev: false /codepage@1.15.0: @@ -4259,7 +4259,7 @@ packages: dependencies: '@types/node': 20.4.7 cosmiconfig: 8.3.6(typescript@5.2.2) - ts-node: 10.9.1(@types/node@20.6.4)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.7.0)(typescript@5.2.2) typescript: 5.2.2 dev: true @@ -5674,8 +5674,8 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.3.6: - resolution: {integrity: sha512-mEfImdc/fiYHEcF6pHFfD2b/KrdFB1qH9mRe5vI5HROF8G51SWxQJ2V56Ezl6ZL9y86gsxQ1Lgo2S746KGUPSQ==} + /glob@10.3.7: + resolution: {integrity: sha512-wCMbE1m9Nx5yD9LYtgsVWq5VhHlk5WzJirw594qZR6AIvQYuHrdDtIktUVjQItalD53y7dqoedu9xP0u0WaxIQ==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: @@ -6446,7 +6446,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.6.4 + '@types/node': 20.7.0 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -8050,12 +8050,12 @@ packages: glob: 7.2.3 dev: true - /rimraf@5.0.1: - resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==} + /rimraf@5.0.4: + resolution: {integrity: sha512-rizQI/o/YAMM1us0Zyax0uRfIK39XR52EAjjOi0fzMolpGp0onj6CWzBAXuOx6+6Xi9Rgi0d9tUZojhJerLUmQ==} engines: {node: '>=14'} hasBin: true dependencies: - glob: 10.3.6 + glob: 10.3.7 dev: true /rollup-plugin-purge-icons@0.9.1: @@ -8960,7 +8960,7 @@ packages: typescript: 5.2.2 dev: true - /ts-node@10.9.1(@types/node@20.6.4)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.7.0)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -8979,7 +8979,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.6.4 + '@types/node': 20.7.0 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -9222,7 +9222,7 @@ packages: '@unocss/transformer-directives': 0.56.2 '@unocss/transformer-variant-group': 0.56.2 '@unocss/vite': 0.56.2(rollup@3.29.3)(vite@4.4.9) - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - postcss - rollup @@ -9349,7 +9349,7 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - supports-color dev: true @@ -9364,7 +9364,7 @@ packages: axios: 1.5.0(debug@4.3.4) debug: 4.3.4 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - encoding - supports-color @@ -9379,7 +9379,7 @@ packages: picocolors: 1.0.0 progress: 2.0.3 rd: 2.0.1 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) dev: true /vite-plugin-purge-icons@0.9.2(vite@4.4.9): @@ -9391,7 +9391,7 @@ packages: '@purge-icons/core': 0.9.1 '@purge-icons/generated': 0.9.0 rollup-plugin-purge-icons: 0.9.1 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - encoding - supports-color @@ -9408,7 +9408,7 @@ packages: debug: 4.3.4 fast-glob: 3.3.1 pretty-bytes: 6.1.1 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: @@ -9428,7 +9428,7 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - supports-color dev: true @@ -9450,12 +9450,12 @@ packages: html-minifier-terser: 7.2.0 node-html-parser: 6.1.10 pathe: 1.1.1 - vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite: 4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0) transitivePeerDependencies: - rollup dev: true - /vite@4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0): + /vite@4.4.9(@types/node@20.7.0)(less@4.2.0)(terser@5.20.0): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -9483,7 +9483,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.6.4 + '@types/node': 20.7.0 esbuild: 0.18.20 less: 4.2.0 postcss: 8.4.30 @@ -9563,14 +9563,14 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.13(typescript@5.2.2): - resolution: {integrity: sha512-Hl8zUXPVK2KzPtbXeMCN0CSFkwvD96YOtYt9KvJPG9W8QGcNpGk9KHwPuGMxA8blWXSIli7gtsoC+clICEVdVg==} + /vue-tsc@1.8.14(typescript@5.2.2): + resolution: {integrity: sha512-nlxsS8pbTCVho2Yqc4fvygDrXsdzftYdBHH2EO5m9KHjJYwYo8LtGGJ3XVl9ayqZlt+WfuzUD6Hts7va7+wdUQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.13(typescript@5.2.2) - '@vue/typescript': 1.8.13(typescript@5.2.2) + '@vue/language-core': 1.8.14(typescript@5.2.2) + '@vue/typescript': 1.8.14(typescript@5.2.2) semver: 7.5.4 typescript: 5.2.2 dev: true From a710ffc8c38a3c72590616a936089d1eb89fed59 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Tue, 26 Sep 2023 10:02:35 +0800 Subject: [PATCH 17/18] chore: setting --- .vscode/settings.json | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 1d75990f..1ece3ed3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -84,6 +84,37 @@ "jsonc", "yaml" ], + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[css]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[less]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[vue]": { + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true, + "source.organizeImports": false, + "source.fixAll.stylelint": true + } + }, "i18n-ally.localesPaths": ["src/locales/lang"], "i18n-ally.keystyle": "nested", "i18n-ally.sortKeys": true, @@ -126,7 +157,6 @@ "vben", "vditor", "videojs", - "vite", "vitejs", "vuedraggable", "vueuse", @@ -141,7 +171,7 @@ "*.ts": "$(capture).test.ts, $(capture).test.tsx", "*.tsx": "$(capture).test.ts, $(capture).test.tsx", "*.env": "$(capture).env.*", - "package.json": ".hintrc,pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.gitignore,prettier.config.js,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" + "package.json": ".hintrc,pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.gitignore,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" }, "eslint.codeAction.showDocumentation": { "enable": true From d15e75bb3f6ab3de3b945facc268fc6bb2040947 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Tue, 26 Sep 2023 10:02:52 +0800 Subject: [PATCH 18/18] fix: button color --- src/components/Button/src/BasicButton.vue | 27 +++++++++++++++++++---- src/components/Button/src/props.ts | 6 ++++- src/views/base/login/LoginForm.vue | 10 +++++++-- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/components/Button/src/BasicButton.vue b/src/components/Button/src/BasicButton.vue index c3490fde..9072c56a 100644 --- a/src/components/Button/src/BasicButton.vue +++ b/src/components/Button/src/BasicButton.vue @@ -1,13 +1,14 @@ <script lang="ts" setup> -import { Button } from 'ant-design-vue' +import { Button, theme } from 'ant-design-vue' import { computed, unref } from 'vue' import { buttonProps } from './props' -import { Icon } from '@/components/Icon' import { useAttrs } from '@/hooks/core/useAttrs' +import { Icon } from '@/components/Icon' defineOptions({ name: 'AButton', extends: Button, indeterminate: false }) - const props = defineProps(buttonProps) +const { useToken } = theme +const { token } = useToken() // get component class const attrs = useAttrs({ excludeDefaultKeys: false }) const getButtonClass = computed(() => { @@ -24,7 +25,25 @@ const getBindValue = computed(() => ({ ...unref(attrs), ...props })) </script> <template> - <Button v-bind="getBindValue" :style="{ backgroundColor: color }" :class="getButtonClass" @click="onClick"> + <Button + v-bind="getBindValue" :style="{ + backgroundColor: color + ? ( + color === 'primary' + ? token.colorPrimary + : ( + color === 'error' + ? token.colorError + : ( + color === 'warning' + ? token.colorWarning + : (color === 'success' ? token.colorSuccess : '') + ) + ) + ) + : '', + }" :class="getButtonClass" @click="onClick" + > <template #default="data"> <Icon v-if="preIcon" :icon="preIcon" :size="iconSize" /> <slot v-bind="data || {}" /> diff --git a/src/components/Button/src/props.ts b/src/components/Button/src/props.ts index a50d8f4c..d2a9a5ba 100644 --- a/src/components/Button/src/props.ts +++ b/src/components/Button/src/props.ts @@ -1,6 +1,10 @@ +const validColors = ['primary', 'error', 'warning', 'success', ''] as const +type ButtonColorType = (typeof validColors)[number] + export const buttonProps = { color: { - type: String, + type: String as PropType<ButtonColorType>, + validator: v => validColors.includes(v), default: '', }, loading: { type: Boolean }, diff --git a/src/views/base/login/LoginForm.vue b/src/views/base/login/LoginForm.vue index 358665f1..1e53d162 100644 --- a/src/views/base/login/LoginForm.vue +++ b/src/views/base/login/LoginForm.vue @@ -112,7 +112,10 @@ async function handleLogin(params) { <template> <LoginFormTitle v-show="getShow" class="enter-x" /> - <Form v-show="getShow" ref="formRef" class="enter-x p-4" :model="formData" :rules="getFormRules" @keypress.enter="handleLogin"> + <Form + v-show="getShow" ref="formRef" class="enter-x p-4" :model="formData" :rules="getFormRules" + @keypress.enter="handleLogin" + > <FormItem name="tenantName" class="enter-x"> <Input v-if="tenantEnable === 'true'" @@ -123,7 +126,10 @@ async function handleLogin(params) { /> </FormItem> <FormItem name="username" class="enter-x"> - <Input v-model:value="formData.username" size="large" :placeholder="t('sys.login.userName')" class="fix-auto-fill" /> + <Input + v-model:value="formData.username" size="large" :placeholder="t('sys.login.userName')" + class="fix-auto-fill" + /> </FormItem> <FormItem name="password" class="enter-x"> <InputPassword