fix: 修复cron组件问题

This commit is contained in:
xlsea 2024-04-23 21:18:45 +08:00
parent 487b654f8e
commit ebda32d2f1
6 changed files with 316 additions and 183 deletions

View File

@ -0,0 +1,58 @@
<script setup lang="ts">
import { ref, useAttrs, watch } from 'vue';
import type { InputProps } from 'naive-ui';
import { DEFAULT_CRON_EXPRESSION, DEFAULT_LOCALE } from '../shared/constants';
import CronModel from './internal/cron-model.vue';
defineOptions({ name: 'CronInput' });
const attrs: Partial<InputProps> = useAttrs();
interface Props {
modelValue?: string;
lang?: I18n.LocaleType;
}
const props = withDefaults(defineProps<Props>(), {
modelValue: DEFAULT_CRON_EXPRESSION,
lang: (JSON.parse(window.localStorage.getItem('lang')!) as I18n.LocaleType) || DEFAULT_LOCALE
});
interface Emits {
(e: 'update:modelValue', value: string): void;
}
const emit = defineEmits<Emits>();
const cronModelRef = ref();
const cron = ref<string>(props.modelValue);
watch(
() => cron.value,
val => {
emit('update:modelValue', val);
},
{ deep: true }
);
defineExpose({
validator: cronModelRef.value?.validator()
});
</script>
<template>
<NPopover trigger="click">
<template #trigger>
<NInput v-bind="attrs" v-model:value="cron" />
</template>
<CronModel ref="cronModelRef" v-model="cron" :lang="lang" />
</NPopover>
</template>
<style>
.n-popover {
padding: 0 !important;
}
.n-popover .n-popover-shared .n-popover-arrow-wrapper .n-popover-arrow {
}
</style>

View File

@ -106,7 +106,7 @@ const value = computed(() => {
return props.field.value === DATE ? type.value : `${lastDayOfWeek.value}${type.value}`;
case TYPE.SPECIFY: {
const specifyValue = specify.value;
return specifyValue.length ? specifyValue.sort((a, b) => a - b).join(type.value) : `${specifyValue[0]}`;
return specifyValue.length ? specifyValue.sort((a, b) => a - b).join(type.value) : `${specifyValue[0] || 0}`;
}
default:
return '';
@ -141,7 +141,8 @@ watch(
lastDayOfWeek.value = Number.parseInt(data, 10);
} else {
type.value = TYPE.SPECIFY;
specify.value = data.split(TYPE.SPECIFY).map(i => Number.parseInt(i, 10));
specify.value =
data !== 'undefined' && data !== 'NaN' ? data.split(TYPE.SPECIFY).map(i => Number.parseInt(i, 10)) : [];
}
}
);
@ -161,10 +162,10 @@ const onRangeStartChange = (val: number) => {
}
};
const onCheckboxGroupChange = (val: string[]) => {
const onCheckboxGroupChange = () => {
let checkType = TYPE.SPECIFY;
if (val.length === 0) {
if (specify.value.length === 0) {
checkType = props.field.value === YEAR ? TYPE.EMPTY : TYPE.EVERY;
}
@ -223,16 +224,18 @@ const onCheckboxGroupChange = (val: string[]) => {
<div class="cron-radio flex flex-wrap items-center justify-start gap-5px">
<NRadio class="cron-radio" :value="TYPE.SPECIFY">{{ label.specify }}</NRadio>
<NCheckboxGroup
v-model:checked="specify"
v-if="type === TYPE.SPECIFY"
v-model:value="specify"
class="p-l-22px"
:class="{ 'checkbox-group-en-week': isEnWeek }"
@update:checked="onCheckboxGroupChange"
@update:value="onCheckboxGroupChange"
>
<NCheckbox
v-for="option in specifies"
:key="option.value"
:label="option.label"
:value="option.value"
size="small"
class="min-w-50px"
/>
</NCheckboxGroup>

View File

@ -1,12 +1,12 @@
<script setup lang="ts">
import cronParser from 'cron-parser';
import { computed, ref, watch } from 'vue';
import { DEFAULT_CRON_EXPRESSION, DEFAULT_LOCALE, FIELDS, LOCALE_CN, TYPE } from '../shared/constants';
import { weekNumberToLetter, zerofill } from '../shared/utils';
import Locales from '../i18n';
import CronBase from './internal/cron-base.vue';
import { DEFAULT_CRON_EXPRESSION, DEFAULT_LOCALE, FIELDS, LOCALE_CN, TYPE } from '../../shared/constants';
import { weekNumberToLetter, zerofill } from '../../shared/utils';
import Locales from '../../i18n';
import CronBase from './cron-base.vue';
defineOptions({ name: 'CronInput' });
defineOptions({ name: 'CronModel' });
interface Props {
modelValue?: string;
@ -30,7 +30,11 @@ const activeKey = ref(FIELDS[0].value);
const previewTime = ref(5);
const width = computed(() => {
return props.lang === LOCALE_CN ? '460px' : '520px';
const clientWidth = document.documentElement.clientWidth;
if (clientWidth < 430 || clientWidth < 520) {
return '100%';
}
return props.lang === LOCALE_CN ? '430px' : '520px';
});
const fields = computed(() => {
@ -40,9 +44,9 @@ const fields = computed(() => {
});
});
const expressionLabel = computed(() => {
return Locales[props.lang].expression;
});
// const expressionLabel = computed(() => {
// return Locales[props.lang].expression;
// });
const previewLabel = computed(() => {
return Locales[props.lang].preview.join(previewTime.value.toString());
@ -52,11 +56,9 @@ const expression = computed(() => {
return Object.values(cron.value).join(' ');
});
const previews = computed(() => {
let previewList = [];
try {
const interval = cronParser.parseExpression(expression.value);
const parserCron = (data: string) => {
const previewList = [];
const interval = cronParser.parseExpression(data);
for (let i = 0; i < previewTime.value; i += 1) {
const datetime = interval.next();
@ -67,10 +69,17 @@ const previews = computed(() => {
const previewMinute = zerofill(datetime.getMinutes());
const previewSecond = zerofill(datetime.getSeconds());
previewList.push(
`${previewYear}-${previewMonth}-${previewDate} ${previewHour}:${previewMinute}:${previewSecond}`
);
previewList.push(`${previewYear}-${previewMonth}-${previewDate} ${previewHour}:${previewMinute}:${previewSecond}`);
}
return previewList;
};
const previews = computed(() => {
let previewList = [];
try {
previewList = parserCron(expression.value);
} catch (error) {
previewList = ['此表达式暂时无法解析!'];
}
@ -112,15 +121,27 @@ watch(
}
}
);
defineExpose({
validator: (): boolean => {
try {
cronParser.parseExpression(expression.value);
return true;
} catch (error) {
return false;
}
}
});
</script>
<template>
<div class="cron-wrapper" :style="{ maxWidth: width }">
<div class="cron-wrapper" :style="{ width: width }">
<NTabs v-model:value="activeKey" class="cron-tabs" type="segment">
<NTabPane v-for="field in fields" :key="field.value" :name="field.value" :tab="field.label">
<CronBase v-model="cron[field.value]" class="cron-base" :field="field" :locale="lang" />
</NTabPane>
</NTabs>
<!--
<div class="expression">
<div class="title">
<span class="label">{{ expressionLabel }}</span>
@ -128,11 +149,12 @@ watch(
<div class="h-9px"></div>
<span class="content">{{ expression }}</span>
</div>
-->
<div class="preview">
<div class="title">
<span class="label">{{ previewLabel }}</span>
</div>
<div class="h-9px"></div>
<div class="h-17px"></div>
<ul class="list">
<li v-for="(preview, index) in previews" :key="preview">
<span class="index">{{ index + 1 }}</span>
@ -147,12 +169,12 @@ watch(
<style lang="scss" scoped>
.cron-wrapper {
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.06);
// background-color: #fff;
//border: 1px solid rgba(0, 0, 0, 0.06);
.cron-tabs {
border: 1px solid rgba(0, 0, 0, 0.06);
border-radius: 3px;
// border: 1px solid rgba(0, 0, 0, 0.06);
// border-radius: 3px;
.cron-base {
padding: 0 16px 16px 18px;
@ -161,20 +183,22 @@ watch(
.expression,
.preview {
margin: 32px 0;
padding: 16px;
border: 1px solid rgba(0, 0, 0, 0.06);
border-radius: 3px;
// border: 1px solid rgba(0, 0, 0, 0.06);
// border-radius: 3px;
.title {
display: flex;
justify-content: center;
margin-top: -28px;
justify-content: flex-start;
margin-top: -20px;
margin-left: 3px;
font-weight: 600;
border-left: 5px solid rgb(var(--primary-color));
}
.label {
padding: 0 16px;
background-color: #ffffff;
padding-left: 12px;
// background-color: #ffffff;
}
.list {

View File

@ -1,3 +1,3 @@
import Cron from './components/cron.vue';
import CronInput from './components/cron-input.vue';
export default Cron;
export default CronInput;

View File

@ -1220,8 +1220,8 @@ packages:
/@iconify/types@2.0.0:
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
/@iconify/utils@2.1.22:
resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==}
/@iconify/utils@2.1.23:
resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
dependencies:
'@antfu/install-pkg': 0.1.1
'@antfu/utils': 0.7.7
@ -1466,48 +1466,58 @@ packages:
picomatch: 2.3.1
dev: true
/@rollup/rollup-android-arm-eabi@4.14.1:
resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==}
/@rollup/rollup-android-arm-eabi@4.16.3:
resolution: {integrity: sha512-1ACInKIT0pXmTYuPoJAL8sOT0lV3PEACFSVxnD03hGIojJ1CmbzZmLJyk2xew+yxqTlmx7xydkiJcBzdp0V+AQ==}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-android-arm64@4.14.1:
resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==}
/@rollup/rollup-android-arm64@4.16.3:
resolution: {integrity: sha512-vGl+Bny8cawCM7ExugzqEB8ke3t7Pm9/mo+ciA9kJh6pMuNyM+31qhewMwHwseDZ/LtdW0SCocW1CsMxcq1Lsg==}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.14.1:
resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==}
/@rollup/rollup-darwin-arm64@4.16.3:
resolution: {integrity: sha512-Lj8J9WzQRvfWO4GfI+bBkIThUFV1PtI+es/YH/3cwUQ+edXu8Mre0JRJfRrAeRjPiHDPFFZaX51zfgHHEhgRAg==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-x64@4.14.1:
resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==}
/@rollup/rollup-darwin-x64@4.16.3:
resolution: {integrity: sha512-NPPOXMTIWJk50lgZmRReEYJFvLG5rgMDzaVauWNB2MgFQYm9HuNXQdVVg3iEZ3A5StIzxhMlPjVyS5fsv4PJmg==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.14.1:
resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==}
/@rollup/rollup-linux-arm-gnueabihf@4.16.3:
resolution: {integrity: sha512-ij4tv1XtWcDScaTgoMnvDEYZ2Wjl2ZhDFEyftjBKu6sNNLHIkKuXBol/bVSh+md5zSJ6em9hUXyPO3cVPCsl4Q==}
cpu: [arm]
os: [linux]
libc: [glibc]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.14.1:
resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==}
/@rollup/rollup-linux-arm-musleabihf@4.16.3:
resolution: {integrity: sha512-MTMAl30dzcfYB+smHe1sJuS2P1/hB8pqylkCe0/8/Lo8CADjy/eM8x43nBoR5eqcYgpOtCh7IgHpvqSMAE38xw==}
cpu: [arm]
os: [linux]
libc: [musl]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.16.3:
resolution: {integrity: sha512-vY3fAg6JLDoNh781HHHMPvt8K6RWG3OmEj3xI9BOFSQTD5PNaGKvCB815MyGlDnFYUw7lH+WvvQqoBwLtRDR1A==}
cpu: [arm64]
os: [linux]
libc: [glibc]
@ -1515,8 +1525,8 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.14.1:
resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==}
/@rollup/rollup-linux-arm64-musl@4.16.3:
resolution: {integrity: sha512-61SpQGBSb8QkfV/hUYWezlEig4ro55t8NcE5wWmy1bqRsRVHCEDkF534d+Lln/YeLUoSWtJHvvG3bx9lH/S6uA==}
cpu: [arm64]
os: [linux]
libc: [musl]
@ -1524,17 +1534,17 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-powerpc64le-gnu@4.14.1:
resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==}
cpu: [ppc64le]
/@rollup/rollup-linux-powerpc64le-gnu@4.16.3:
resolution: {integrity: sha512-4XGexJthsNhEEgv/zK4/NnAOjYKoeCsIoT+GkqTY2u3rse0lbJ8ft1bpDCdlkvifsLDL2uwe4fn8PLR4IMTKQQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.14.1:
resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==}
/@rollup/rollup-linux-riscv64-gnu@4.16.3:
resolution: {integrity: sha512-/pArXjqnEdhbQ1qe4CTTlJ6/GjWGdWNRucKAp4fqKnKf7QC0BES3QEV34ACumHHQ4uEGt4GctF2ISCMRhkli0A==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
@ -1542,8 +1552,8 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-s390x-gnu@4.14.1:
resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==}
/@rollup/rollup-linux-s390x-gnu@4.16.3:
resolution: {integrity: sha512-vu4f3Y8iwjtRfSZdmtP8nC1jmRx1IrRVo2cLQlQfpFZ0e2AE9YbPgfIzpuK+i3C4zFETaLLNGezbBns2NuS/uA==}
cpu: [s390x]
os: [linux]
libc: [glibc]
@ -1551,8 +1561,8 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.14.1:
resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==}
/@rollup/rollup-linux-x64-gnu@4.16.3:
resolution: {integrity: sha512-n4HEgIJulNSmAKT3SYF/1wuzf9od14woSBseNkzur7a+KJIbh2Jb+J9KIsdGt3jJnsLW0BT1Sj6MiwL4Zzku6Q==}
cpu: [x64]
os: [linux]
libc: [glibc]
@ -1560,8 +1570,8 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.14.1:
resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==}
/@rollup/rollup-linux-x64-musl@4.16.3:
resolution: {integrity: sha512-guO/4N1884ig2AzTKPc6qA7OTnFMUEg/X2wiesywRO1eRD7FzHiaiTQQOLFmnUXWj2pgQXIT1g5g3e2RpezXcQ==}
cpu: [x64]
os: [linux]
libc: [musl]
@ -1569,24 +1579,24 @@ packages:
dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.14.1:
resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==}
/@rollup/rollup-win32-arm64-msvc@4.16.3:
resolution: {integrity: sha512-+rxD3memdkhGz0NhNqbYHXBoA33MoHBK4uubZjF1IeQv1Psi6tqgsCcC6vwQjxBM1qoCqOQQBy0cgNbbZKnGUg==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.14.1:
resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==}
/@rollup/rollup-win32-ia32-msvc@4.16.3:
resolution: {integrity: sha512-0NxVbLhBXmwANWWbgZY/RdSkeuHEgF+u8Dc0qBowUVBYsR2y2vwVGjKgUcj1wtu3jpjs057io5g9HAPr3Icqjg==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.14.1:
resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==}
/@rollup/rollup-win32-x64-msvc@4.16.3:
resolution: {integrity: sha512-hutnZavtOx/G4uVdgoZz5279By9NVbgmxOmGGgnzUjZYuwp2+NzGq6KXQmHXBWz7W/vottXn38QmKYAdQLa/vQ==}
cpu: [x64]
os: [win32]
requiresBuild: true
@ -1923,12 +1933,12 @@ packages:
'@typescript-eslint/visitor-keys': 7.2.0
dev: true
/@typescript-eslint/scope-manager@7.6.0:
resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
/@typescript-eslint/scope-manager@7.7.1:
resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/visitor-keys': 7.6.0
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/visitor-keys': 7.7.1
dev: true
/@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.4.4):
@ -1956,8 +1966,8 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
/@typescript-eslint/types@7.6.0:
resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
/@typescript-eslint/types@7.7.1:
resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==}
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
@ -1983,8 +1993,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.4):
resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
/@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.4):
resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
@ -1992,8 +2002,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/visitor-keys': 7.6.0
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/visitor-keys': 7.7.1
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@ -2024,8 +2034,8 @@ packages:
- typescript
dev: true
/@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
/@typescript-eslint/utils@7.7.1(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@ -2033,9 +2043,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.6.0
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4)
'@typescript-eslint/scope-manager': 7.7.1
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.4)
eslint: 8.57.0
semver: 7.6.0
transitivePeerDependencies:
@ -2051,11 +2061,11 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
/@typescript-eslint/visitor-keys@7.6.0:
resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
/@typescript-eslint/visitor-keys@7.7.1:
resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/types': 7.7.1
eslint-visitor-keys: 3.4.3
dev: true
@ -2068,7 +2078,7 @@ packages:
engines: {node: '>=14'}
dependencies:
'@unocss/core': 0.59.0
unconfig: 0.3.12
unconfig: 0.3.13
dev: true
/@unocss/core@0.59.0:
@ -2090,10 +2100,10 @@ packages:
resolution: {integrity: sha512-/tjX9Z84/EQy5UFR4xn+1aoXKTkAGH3roQMYPPS+cmbchy9vjgON/6mWvm1oRwHHt9RnLsCM/uT0IT/QfS4W7g==}
engines: {node: '>=14'}
dependencies:
'@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.4.4)
'@unocss/config': 0.59.0
'@unocss/core': 0.59.0
magic-string: 0.30.9
magic-string: 0.30.10
synckit: 0.9.0
transitivePeerDependencies:
- eslint
@ -2119,7 +2129,7 @@ packages:
/@unocss/preset-icons@0.59.0:
resolution: {integrity: sha512-P0tH0ueZYprU1XGVAJl3nDC9uhPBJ43bnsV098uebBa8G650j7W5kslvSfV3XxG+/iujo2k2EGKxja9/uR4E0g==}
dependencies:
'@iconify/utils': 2.1.22
'@iconify/utils': 2.1.23
'@unocss/core': 0.59.0
ofetch: 1.3.4
transitivePeerDependencies:
@ -2156,7 +2166,7 @@ packages:
engines: {node: '>=14'}
dependencies:
'@unocss/core': 0.59.0
magic-string: 0.30.9
magic-string: 0.30.10
dev: true
/@unocss/scope@0.59.0:
@ -2191,7 +2201,7 @@ packages:
'@unocss/transformer-directives': 0.59.0
chokidar: 3.6.0
fast-glob: 3.3.2
magic-string: 0.30.9
magic-string: 0.30.10
vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1)
transitivePeerDependencies:
- rollup
@ -2224,22 +2234,22 @@ packages:
vue: 3.4.21(typescript@5.4.4)
dev: true
/@volar/language-core@2.2.0-alpha.8:
resolution: {integrity: sha512-Ew1Iw7/RIRNuDLn60fWJdOLApAlfTVPxbPiSLzc434PReC9kleYtaa//Wo2WlN1oiRqneW0pWQQV0CwYqaimLQ==}
/@volar/language-core@2.2.0-alpha.10:
resolution: {integrity: sha512-njVJLtpu0zMvDaEk7K5q4BRpOgbyEUljU++un9TfJoJNhxG0z/hWwpwgTRImO42EKvwIxF3XUzeMk+qatAFy7Q==}
dependencies:
'@volar/source-map': 2.2.0-alpha.8
'@volar/source-map': 2.2.0-alpha.10
dev: true
/@volar/source-map@2.2.0-alpha.8:
resolution: {integrity: sha512-E1ZVmXFJ5DU4fWDcWHzi8OLqqReqIDwhXvIMhVdk6+VipfMVv4SkryXu7/rs4GA/GsebcRyJdaSkKBB3OAkIcA==}
/@volar/source-map@2.2.0-alpha.10:
resolution: {integrity: sha512-nrdWApVkP5cksAnDEyy1JD9rKdwOJsEq1B+seWO4vNXmZNcxQQCx4DULLBvKt7AzRUAQiAuw5aQkb9RBaSqdVA==}
dependencies:
muggle-string: 0.4.1
dev: true
/@volar/typescript@2.2.0-alpha.8:
resolution: {integrity: sha512-RLbRDI+17CiayHZs9HhSzlH0FhLl/+XK6o2qoiw2o2GGKcyD1aDoY6AcMd44acYncTOrqoTNoY6LuCiRyiJiGg==}
/@volar/typescript@2.2.0-alpha.10:
resolution: {integrity: sha512-GCa0vTVVdA9ULUsu2Rx7jwsIuyZQPvPVT9o3NrANTbYv+523Ao1gv3glC5vzNSDPM6bUl37r94HbCj7KINQr+g==}
dependencies:
'@volar/language-core': 2.2.0-alpha.8
'@volar/language-core': 2.2.0-alpha.10
path-browserify: 1.0.1
dev: true
@ -2281,7 +2291,7 @@ packages:
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.0
'@babel/parser': 7.24.4
'@vue/compiler-sfc': 3.4.21
'@vue/compiler-sfc': 3.4.24
dev: true
/@vue/compiler-core@3.4.21:
@ -2293,12 +2303,29 @@ packages:
estree-walker: 2.0.2
source-map-js: 1.2.0
/@vue/compiler-core@3.4.24:
resolution: {integrity: sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==}
dependencies:
'@babel/parser': 7.24.4
'@vue/shared': 3.4.24
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
dev: true
/@vue/compiler-dom@3.4.21:
resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
dependencies:
'@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21
/@vue/compiler-dom@3.4.24:
resolution: {integrity: sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==}
dependencies:
'@vue/compiler-core': 3.4.24
'@vue/shared': 3.4.24
dev: true
/@vue/compiler-sfc@3.4.21:
resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
dependencies:
@ -2308,16 +2335,37 @@ packages:
'@vue/compiler-ssr': 3.4.21
'@vue/shared': 3.4.21
estree-walker: 2.0.2
magic-string: 0.30.9
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
/@vue/compiler-sfc@3.4.24:
resolution: {integrity: sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==}
dependencies:
'@babel/parser': 7.24.4
'@vue/compiler-core': 3.4.24
'@vue/compiler-dom': 3.4.24
'@vue/compiler-ssr': 3.4.24
'@vue/shared': 3.4.24
estree-walker: 2.0.2
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
dev: true
/@vue/compiler-ssr@3.4.21:
resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
dependencies:
'@vue/compiler-dom': 3.4.21
'@vue/shared': 3.4.21
/@vue/compiler-ssr@3.4.24:
resolution: {integrity: sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==}
dependencies:
'@vue/compiler-dom': 3.4.24
'@vue/shared': 3.4.24
dev: true
/@vue/devtools-api@6.6.1:
resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
dev: false
@ -2363,9 +2411,9 @@ packages:
typescript:
optional: true
dependencies:
'@volar/language-core': 2.2.0-alpha.8
'@vue/compiler-dom': 3.4.21
'@vue/shared': 3.4.21
'@volar/language-core': 2.2.0-alpha.10
'@vue/compiler-dom': 3.4.24
'@vue/shared': 3.4.24
computeds: 0.0.1
minimatch: 9.0.4
path-browserify: 1.0.1
@ -2403,6 +2451,10 @@ packages:
/@vue/shared@3.4.21:
resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
/@vue/shared@3.4.24:
resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==}
dev: true
/@vueuse/core@10.9.0(vue@3.4.21):
resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
dependencies:
@ -2762,8 +2814,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001609
electron-to-chromium: 1.4.735
caniuse-lite: 1.0.30001612
electron-to-chromium: 1.4.746
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
dev: true
@ -2809,7 +2861,7 @@ packages:
resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==}
dependencies:
chokidar: 3.6.0
confbox: 0.1.6
confbox: 0.1.7
defu: 6.1.4
dotenv: 16.4.5
giget: 1.2.3
@ -2818,7 +2870,7 @@ packages:
ohash: 1.1.3
pathe: 1.1.2
perfect-debounce: 1.0.0
pkg-types: 1.0.3
pkg-types: 1.1.0
rc9: 2.1.2
dev: true
@ -2937,8 +2989,8 @@ packages:
resolution: {integrity: sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==}
dev: false
/caniuse-lite@1.0.30001609:
resolution: {integrity: sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==}
/caniuse-lite@1.0.30001612:
resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==}
dev: true
/chalk@1.1.3:
@ -3190,8 +3242,8 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
/confbox@0.1.6:
resolution: {integrity: sha512-ONc4FUXne/1UBN1EuxvQ5rAjjAbo+N4IxrxWI8bzGHbd1PyrFlI/E3G23/yoJZDFBaFFxPGfI0EOq0fa4dgX7A==}
/confbox@0.1.7:
resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
dev: true
/config-chain@1.1.13:
@ -3234,8 +3286,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/core-js-compat@3.36.1:
resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==}
/core-js-compat@3.37.0:
resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
dependencies:
browserslist: 4.23.0
dev: true
@ -3628,8 +3680,8 @@ packages:
zrender: 5.5.0
dev: false
/electron-to-chromium@1.4.735:
resolution: {integrity: sha512-pkYpvwg8VyOTQAeBqZ7jsmpCjko1Qc6We1ZtZCjRyYbT5v4AIUKDy5cQTRotQlSSZmMr8jqpEt6JtOj5k7lR7A==}
/electron-to-chromium@1.4.746:
resolution: {integrity: sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==}
dev: true
/emoji-regex@10.3.0:
@ -4013,7 +4065,7 @@ packages:
'@eslint/eslintrc': 2.1.4
ci-info: 4.0.0
clean-regexp: 1.0.0
core-js-compat: 3.36.1
core-js-compat: 3.37.0
eslint: 8.57.0
esquery: 1.5.0
indent-string: 4.0.0
@ -5442,10 +5494,6 @@ packages:
hasBin: true
dev: true
/jsonc-parser@3.2.1:
resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
dev: true
/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
dependencies:
@ -5587,7 +5635,7 @@ packages:
engines: {node: '>=14'}
dependencies:
mlly: 1.6.1
pkg-types: 1.0.3
pkg-types: 1.1.0
dev: true
/localforage@1.10.0:
@ -5665,6 +5713,11 @@ packages:
engines: {node: '>=12'}
dev: false
/magic-string@0.30.10:
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
/magic-string@0.30.6:
resolution: {integrity: sha512-n62qCLbPjNjyo+owKtveQxZFZTBm+Ms6YoGD23Wew6Vw337PElFNifQpknPruVRQV57kVShPnLGo9vWxVhpPvA==}
engines: {node: '>=12'}
@ -5672,12 +5725,6 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
/magic-string@0.30.9:
resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
/magicast@0.3.3:
resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==}
dependencies:
@ -5795,8 +5842,8 @@ packages:
engines: {node: '>= 8'}
dev: true
/micromark-core-commonmark@2.0.0:
resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
/micromark-core-commonmark@2.0.1:
resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==}
dependencies:
decode-named-character-reference: 1.0.2
devlop: 1.1.0
@ -5811,7 +5858,7 @@ packages:
micromark-util-html-tag-name: 2.0.0
micromark-util-normalize-identifier: 2.0.0
micromark-util-resolve-all: 2.0.0
micromark-util-subtokenize: 2.0.0
micromark-util-subtokenize: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
dev: true
@ -5929,8 +5976,8 @@ packages:
micromark-util-symbol: 2.0.0
dev: true
/micromark-util-subtokenize@2.0.0:
resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
/micromark-util-subtokenize@2.0.1:
resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==}
dependencies:
devlop: 1.1.0
micromark-util-chunked: 2.0.0
@ -5953,7 +6000,7 @@ packages:
debug: 4.3.4
decode-named-character-reference: 1.0.2
devlop: 1.1.0
micromark-core-commonmark: 2.0.0
micromark-core-commonmark: 2.0.1
micromark-factory-space: 2.0.0
micromark-util-character: 2.1.0
micromark-util-chunked: 2.0.0
@ -5963,7 +6010,7 @@ packages:
micromark-util-normalize-identifier: 2.0.0
micromark-util-resolve-all: 2.0.0
micromark-util-sanitize-uri: 2.0.0
micromark-util-subtokenize: 2.0.0
micromark-util-subtokenize: 2.0.1
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
transitivePeerDependencies:
@ -6178,7 +6225,7 @@ packages:
dependencies:
acorn: 8.11.3
pathe: 1.1.2
pkg-types: 1.0.3
pkg-types: 1.1.0
ufo: 1.5.3
dev: true
@ -6795,10 +6842,10 @@ packages:
vue-demi: 0.14.7(vue@3.4.21)
dev: false
/pkg-types@1.0.3:
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
/pkg-types@1.1.0:
resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
dependencies:
jsonc-parser: 3.2.1
confbox: 0.1.7
mlly: 1.6.1
pathe: 1.1.2
dev: true
@ -6859,8 +6906,8 @@ packages:
postcss: 8.4.38
dev: true
/postcss-prefix-selector@1.16.0(postcss@5.2.18):
resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==}
/postcss-prefix-selector@1.16.1(postcss@5.2.18):
resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==}
peerDependencies:
postcss: '>4 <9'
dependencies:
@ -7312,28 +7359,29 @@ packages:
glob: 10.3.12
dev: true
/rollup@4.14.1:
resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==}
/rollup@4.16.3:
resolution: {integrity: sha512-Ygm4fFO4usWcAG3Ud36Lmif5nudoi0X6QPLC+kRgrRjulAbmFkaTawP7fTIkRDnCNSf/4IAQzXM1T8e691kRtw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.14.1
'@rollup/rollup-android-arm64': 4.14.1
'@rollup/rollup-darwin-arm64': 4.14.1
'@rollup/rollup-darwin-x64': 4.14.1
'@rollup/rollup-linux-arm-gnueabihf': 4.14.1
'@rollup/rollup-linux-arm64-gnu': 4.14.1
'@rollup/rollup-linux-arm64-musl': 4.14.1
'@rollup/rollup-linux-powerpc64le-gnu': 4.14.1
'@rollup/rollup-linux-riscv64-gnu': 4.14.1
'@rollup/rollup-linux-s390x-gnu': 4.14.1
'@rollup/rollup-linux-x64-gnu': 4.14.1
'@rollup/rollup-linux-x64-musl': 4.14.1
'@rollup/rollup-win32-arm64-msvc': 4.14.1
'@rollup/rollup-win32-ia32-msvc': 4.14.1
'@rollup/rollup-win32-x64-msvc': 4.14.1
'@rollup/rollup-android-arm-eabi': 4.16.3
'@rollup/rollup-android-arm64': 4.16.3
'@rollup/rollup-darwin-arm64': 4.16.3
'@rollup/rollup-darwin-x64': 4.16.3
'@rollup/rollup-linux-arm-gnueabihf': 4.16.3
'@rollup/rollup-linux-arm-musleabihf': 4.16.3
'@rollup/rollup-linux-arm64-gnu': 4.16.3
'@rollup/rollup-linux-arm64-musl': 4.16.3
'@rollup/rollup-linux-powerpc64le-gnu': 4.16.3
'@rollup/rollup-linux-riscv64-gnu': 4.16.3
'@rollup/rollup-linux-s390x-gnu': 4.16.3
'@rollup/rollup-linux-x64-gnu': 4.16.3
'@rollup/rollup-linux-x64-musl': 4.16.3
'@rollup/rollup-win32-arm64-msvc': 4.16.3
'@rollup/rollup-win32-ia32-msvc': 4.16.3
'@rollup/rollup-win32-x64-msvc': 4.16.3
fsevents: 2.3.3
dev: true
@ -7900,7 +7948,7 @@ packages:
merge-options: 1.0.1
micromatch: 3.1.0
postcss: 5.2.18
postcss-prefix-selector: 1.16.0(postcss@5.2.18)
postcss-prefix-selector: 1.16.1(postcss@5.2.18)
posthtml-rename-id: 1.0.12
posthtml-svg-mode: 1.0.3
query-string: 4.3.4
@ -8197,13 +8245,12 @@ packages:
which-boxed-primitive: 1.0.2
dev: true
/unconfig@0.3.12:
resolution: {integrity: sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==}
/unconfig@0.3.13:
resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
dependencies:
'@antfu/utils': 0.7.7
defu: 6.1.4
jiti: 1.21.0
mlly: 1.6.1
dev: true
/undici-types@5.26.5:
@ -8288,7 +8335,7 @@ packages:
dependencies:
'@antfu/install-pkg': 0.3.2
'@antfu/utils': 0.7.7
'@iconify/utils': 2.1.22
'@iconify/utils': 2.1.23
debug: 4.3.4
kolorist: 1.8.0
local-pkg: 0.5.0
@ -8316,7 +8363,7 @@ packages:
debug: 4.3.4
fast-glob: 3.3.2
local-pkg: 0.4.3
magic-string: 0.30.9
magic-string: 0.30.10
minimatch: 9.0.4
resolve: 1.22.8
unplugin: 1.10.1
@ -8455,8 +8502,8 @@ packages:
vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1)
dev: true
/vite-plugin-inspect@0.8.3(vite@5.2.8):
resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==}
/vite-plugin-inspect@0.8.4(vite@5.2.8):
resolution: {integrity: sha512-G0N3rjfw+AiiwnGw50KlObIHYWfulVwaCBUBLh2xTW9G1eM9ocE5olXkEYUbwyTmX+azM8duubi+9w5awdCz+g==}
engines: {node: '>=14'}
peerDependencies:
'@nuxt/kit': '*'
@ -8522,7 +8569,7 @@ packages:
execa: 8.0.1
sirv: 2.0.4
vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1)
vite-plugin-inspect: 0.8.3(vite@5.2.8)
vite-plugin-inspect: 0.8.4(vite@5.2.8)
vite-plugin-vue-inspector: 4.0.2(vite@5.2.8)
transitivePeerDependencies:
- '@nuxt/kit'
@ -8542,9 +8589,9 @@ packages:
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
'@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4)
'@vue/compiler-dom': 3.4.21
'@vue/compiler-dom': 3.4.24
kolorist: 1.8.0
magic-string: 0.30.9
magic-string: 0.30.10
vite: 5.2.8(@types/node@20.12.5)(sass@1.74.1)
transitivePeerDependencies:
- supports-color
@ -8581,7 +8628,7 @@ packages:
'@types/node': 20.12.5
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.14.1
rollup: 4.16.3
sass: 1.74.1
optionalDependencies:
fsevents: 2.3.3
@ -8690,7 +8737,7 @@ packages:
peerDependencies:
typescript: '*'
dependencies:
'@volar/typescript': 2.2.0-alpha.8
'@volar/typescript': 2.2.0-alpha.10
'@vue/language-core': 2.0.11(typescript@5.4.4)
semver: 7.6.0
typescript: 5.4.4

View File

@ -45,6 +45,7 @@ declare module 'vue' {
NCollapse: typeof import('naive-ui')['NCollapse']
NCollapseItem: typeof import('naive-ui')['NCollapseItem']
NColorPicker: typeof import('naive-ui')['NColorPicker']
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
NDataTable: typeof import('naive-ui')['NDataTable']
NDatePicker: typeof import('naive-ui')['NDatePicker']
NDescriptions: typeof import('naive-ui')['NDescriptions']