diff --git a/apps/web-antd/src/router/routes/modules/vben.ts b/apps/web-antd/src/router/routes/modules/vben.ts
deleted file mode 100644
index 96f980d10..000000000
--- a/apps/web-antd/src/router/routes/modules/vben.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import type { RouteRecordRaw } from 'vue-router';
-
-// import {
-// VBEN_DOC_URL,
-// VBEN_ELE_PREVIEW_URL,
-// VBEN_GITHUB_URL,
-// VBEN_LOGO_URL,
-// VBEN_NAIVE_PREVIEW_URL,
-// } from '@vben/constants';
-//
-// import { IFrameView } from '#/layouts';
-// import { $t } from '#/locales';
-
-const routes: RouteRecordRaw[] = [
- // {
- // meta: {
- // badgeType: 'dot',
- // icon: VBEN_LOGO_URL,
- // order: 9998,
- // title: $t('demos.vben.title'),
- // },
- // name: 'VbenProject',
- // path: '/vben-admin',
- // children: [
- // {
- // name: 'VbenDocument',
- // path: '/vben-admin/document',
- // component: IFrameView,
- // meta: {
- // icon: 'lucide:book-open-text',
- // link: VBEN_DOC_URL,
- // title: $t('demos.vben.document'),
- // },
- // },
- // {
- // name: 'VbenGithub',
- // path: '/vben-admin/github',
- // component: IFrameView,
- // meta: {
- // icon: 'mdi:github',
- // link: VBEN_GITHUB_URL,
- // title: 'Github',
- // },
- // },
- // {
- // name: 'VbenNaive',
- // path: '/vben-admin/naive',
- // component: IFrameView,
- // meta: {
- // badgeType: 'dot',
- // icon: 'logos:naiveui',
- // link: VBEN_NAIVE_PREVIEW_URL,
- // title: $t('demos.vben.naive-ui'),
- // },
- // },
- // {
- // name: 'VbenElementPlus',
- // path: '/vben-admin/ele',
- // component: IFrameView,
- // meta: {
- // badgeType: 'dot',
- // icon: 'logos:element',
- // link: VBEN_ELE_PREVIEW_URL,
- // title: $t('demos.vben.element-plus'),
- // },
- // },
- // ],
- // },
- // {
- // name: 'VbenAbout',
- // path: '/vben-admin/about',
- // component: () => import('#/views/_core/about/index.vue'),
- // meta: {
- // icon: 'lucide:copyright',
- // title: $t('demos.vben.about'),
- // order: 9999,
- // },
- // },
-];
-
-export default routes; // update by 芋艿:不展示
diff --git a/apps/web-ele/src/router/routes/modules/vben.ts b/apps/web-ele/src/router/routes/modules/vben.ts
deleted file mode 100644
index 96f980d10..000000000
--- a/apps/web-ele/src/router/routes/modules/vben.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import type { RouteRecordRaw } from 'vue-router';
-
-// import {
-// VBEN_DOC_URL,
-// VBEN_ELE_PREVIEW_URL,
-// VBEN_GITHUB_URL,
-// VBEN_LOGO_URL,
-// VBEN_NAIVE_PREVIEW_URL,
-// } from '@vben/constants';
-//
-// import { IFrameView } from '#/layouts';
-// import { $t } from '#/locales';
-
-const routes: RouteRecordRaw[] = [
- // {
- // meta: {
- // badgeType: 'dot',
- // icon: VBEN_LOGO_URL,
- // order: 9998,
- // title: $t('demos.vben.title'),
- // },
- // name: 'VbenProject',
- // path: '/vben-admin',
- // children: [
- // {
- // name: 'VbenDocument',
- // path: '/vben-admin/document',
- // component: IFrameView,
- // meta: {
- // icon: 'lucide:book-open-text',
- // link: VBEN_DOC_URL,
- // title: $t('demos.vben.document'),
- // },
- // },
- // {
- // name: 'VbenGithub',
- // path: '/vben-admin/github',
- // component: IFrameView,
- // meta: {
- // icon: 'mdi:github',
- // link: VBEN_GITHUB_URL,
- // title: 'Github',
- // },
- // },
- // {
- // name: 'VbenNaive',
- // path: '/vben-admin/naive',
- // component: IFrameView,
- // meta: {
- // badgeType: 'dot',
- // icon: 'logos:naiveui',
- // link: VBEN_NAIVE_PREVIEW_URL,
- // title: $t('demos.vben.naive-ui'),
- // },
- // },
- // {
- // name: 'VbenElementPlus',
- // path: '/vben-admin/ele',
- // component: IFrameView,
- // meta: {
- // badgeType: 'dot',
- // icon: 'logos:element',
- // link: VBEN_ELE_PREVIEW_URL,
- // title: $t('demos.vben.element-plus'),
- // },
- // },
- // ],
- // },
- // {
- // name: 'VbenAbout',
- // path: '/vben-admin/about',
- // component: () => import('#/views/_core/about/index.vue'),
- // meta: {
- // icon: 'lucide:copyright',
- // title: $t('demos.vben.about'),
- // order: 9999,
- // },
- // },
-];
-
-export default routes; // update by 芋艿:不展示
diff --git a/apps/web-tdesign/.env b/apps/web-tdesign/.env
new file mode 100644
index 000000000..dae0149d4
--- /dev/null
+++ b/apps/web-tdesign/.env
@@ -0,0 +1,8 @@
+# 应用标题
+VITE_APP_TITLE=Vben Admin Tdesign
+
+# 应用命名空间,用于缓存、store等功能的前缀,确保隔离
+VITE_APP_NAMESPACE=vben-web-tdesign
+
+# 对store进行加密的密钥,在将store持久化到localStorage时会使用该密钥进行加密
+VITE_APP_STORE_SECURE_KEY=please-replace-me-with-your-own-key
diff --git a/apps/web-tdesign/.env.analyze b/apps/web-tdesign/.env.analyze
new file mode 100644
index 000000000..ffafa8dd5
--- /dev/null
+++ b/apps/web-tdesign/.env.analyze
@@ -0,0 +1,7 @@
+# public path
+VITE_BASE=/
+
+# Basic interface address SPA
+VITE_GLOB_API_URL=/api
+
+VITE_VISUALIZER=true
diff --git a/apps/web-tdesign/.env.development b/apps/web-tdesign/.env.development
new file mode 100644
index 000000000..f2b444287
--- /dev/null
+++ b/apps/web-tdesign/.env.development
@@ -0,0 +1,16 @@
+# 端口号
+VITE_PORT=5999
+
+VITE_BASE=/
+
+# 接口地址
+VITE_GLOB_API_URL=/api
+
+# 是否开启 Nitro Mock服务,true 为开启,false 为关闭
+VITE_NITRO_MOCK=true
+
+# 是否打开 devtools,true 为打开,false 为关闭
+VITE_DEVTOOLS=false
+
+# 是否注入全局loading
+VITE_INJECT_APP_LOADING=true
diff --git a/apps/web-tdesign/.env.production b/apps/web-tdesign/.env.production
new file mode 100644
index 000000000..5375847a6
--- /dev/null
+++ b/apps/web-tdesign/.env.production
@@ -0,0 +1,19 @@
+VITE_BASE=/
+
+# 接口地址
+VITE_GLOB_API_URL=https://mock-napi.vben.pro/api
+
+# 是否开启压缩,可以设置为 none, brotli, gzip
+VITE_COMPRESS=none
+
+# 是否开启 PWA
+VITE_PWA=false
+
+# vue-router 的模式
+VITE_ROUTER_HISTORY=hash
+
+# 是否注入全局loading
+VITE_INJECT_APP_LOADING=true
+
+# 打包后是否生成dist.zip
+VITE_ARCHIVER=true
diff --git a/apps/web-tdesign/index.html b/apps/web-tdesign/index.html
new file mode 100644
index 000000000..480eb84de
--- /dev/null
+++ b/apps/web-tdesign/index.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+ <%= VITE_APP_TITLE %>
+
+
+
+
+
+
+
+
diff --git a/apps/web-tdesign/package.json b/apps/web-tdesign/package.json
new file mode 100644
index 000000000..fa364a330
--- /dev/null
+++ b/apps/web-tdesign/package.json
@@ -0,0 +1,54 @@
+{
+ "name": "@vben/web-tdesign",
+ "version": "5.5.9",
+ "homepage": "https://vben.pro",
+ "bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/vbenjs/vue-vben-admin.git",
+ "directory": "apps/web-tdesign"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "vben",
+ "email": "ann.vben@gmail.com",
+ "url": "https://github.com/anncwb"
+ },
+ "type": "module",
+ "scripts": {
+ "build": "pnpm vite build --mode production",
+ "build:analyze": "pnpm vite build --mode analyze",
+ "dev": "pnpm vite --mode development",
+ "preview": "vite preview",
+ "typecheck": "vue-tsc --noEmit --skipLibCheck"
+ },
+ "imports": {
+ "#/*": "./src/*"
+ },
+ "dependencies": {
+ "@vben/access": "workspace:*",
+ "@vben/common-ui": "workspace:*",
+ "@vben/constants": "workspace:*",
+ "@vben/hooks": "workspace:*",
+ "@vben/icons": "workspace:*",
+ "@vben/layouts": "workspace:*",
+ "@vben/locales": "workspace:*",
+ "@vben/plugins": "workspace:*",
+ "@vben/preferences": "workspace:*",
+ "@vben/request": "workspace:*",
+ "@vben/stores": "workspace:*",
+ "@vben/styles": "workspace:*",
+ "@vben/types": "workspace:*",
+ "@vben/utils": "workspace:*",
+ "@vueuse/core": "catalog:",
+ "dayjs": "catalog:",
+ "lodash-es": "^4.17.21",
+ "pinia": "catalog:",
+ "tdesign-vue-next": "^1.17.1",
+ "vue": "catalog:",
+ "vue-router": "catalog:"
+ },
+ "devDependencies": {
+ "@types/lodash-es": "^4.17.12"
+ }
+}
diff --git a/apps/web-tdesign/postcss.config.mjs b/apps/web-tdesign/postcss.config.mjs
new file mode 100644
index 000000000..3d8070455
--- /dev/null
+++ b/apps/web-tdesign/postcss.config.mjs
@@ -0,0 +1 @@
+export { default } from '@vben/tailwind-config/postcss';
diff --git a/apps/web-tdesign/public/favicon.ico b/apps/web-tdesign/public/favicon.ico
new file mode 100644
index 000000000..fcf9818e2
Binary files /dev/null and b/apps/web-tdesign/public/favicon.ico differ
diff --git a/apps/web-tdesign/src/adapter/component/index.ts b/apps/web-tdesign/src/adapter/component/index.ts
new file mode 100644
index 000000000..b7fc05478
--- /dev/null
+++ b/apps/web-tdesign/src/adapter/component/index.ts
@@ -0,0 +1,229 @@
+import type { Component } from 'vue';
+
+import type { BaseFormComponentType } from '@vben/common-ui';
+import type { Recordable } from '@vben/types';
+
+import { defineAsyncComponent, defineComponent, h, ref } from 'vue';
+
+import { ApiComponent, globalShareState, IconPicker } from '@vben/common-ui';
+import { $t } from '@vben/locales';
+
+import { notification } from '#/adapter/tdesign';
+
+/**
+ * 通用组件共同的使用的基础组件,原先放在 adapter/form 内部,限制了使用范围,这里提取出来,方便其他地方使用
+ * 可用于 vben-form、vben-modal、vben-drawer 等组件使用,
+ */
+
+const AutoComplete = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/auto-complete'),
+);
+const Button = defineAsyncComponent(() => import('tdesign-vue-next/es/button'));
+const Checkbox = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/checkbox'),
+);
+const CheckboxGroup = defineAsyncComponent(() =>
+ import('tdesign-vue-next/es/checkbox').then((res) => res.CheckboxGroup),
+);
+const DatePicker = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/date-picker'),
+);
+const Divider = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/divider'),
+);
+const Input = defineAsyncComponent(() => import('tdesign-vue-next/es/input'));
+const InputNumber = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/input-number'),
+);
+// const InputPassword = defineAsyncComponent(() =>
+// import('tdesign-vue-next/es/input').then((res) => res.InputPassword),
+// );
+// const Mentions = defineAsyncComponent(
+// () => import('tdesign-vue-next/es/mentions'),
+// );
+const Radio = defineAsyncComponent(() => import('tdesign-vue-next/es/radio'));
+const RadioGroup = defineAsyncComponent(() =>
+ import('tdesign-vue-next/es/radio').then((res) => res.RadioGroup),
+);
+const RangePicker = defineAsyncComponent(() =>
+ import('tdesign-vue-next/es/date-picker').then((res) => res.DateRangePicker),
+);
+const Rate = defineAsyncComponent(() => import('tdesign-vue-next/es/rate'));
+const Select = defineAsyncComponent(() => import('tdesign-vue-next/es/select'));
+const Space = defineAsyncComponent(() => import('tdesign-vue-next/es/space'));
+const Switch = defineAsyncComponent(() => import('tdesign-vue-next/es/switch'));
+const Textarea = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/textarea'),
+);
+const TimePicker = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/time-picker'),
+);
+const TreeSelect = defineAsyncComponent(
+ () => import('tdesign-vue-next/es/tree-select'),
+);
+const Upload = defineAsyncComponent(() => import('tdesign-vue-next/es/upload'));
+
+const withDefaultPlaceholder = (
+ component: T,
+ type: 'input' | 'select',
+ componentProps: Recordable = {},
+) => {
+ return defineComponent({
+ name: component.name,
+ inheritAttrs: false,
+ setup: (props: any, { attrs, expose, slots }) => {
+ const placeholder =
+ props?.placeholder ||
+ attrs?.placeholder ||
+ $t(`ui.placeholder.${type}`);
+ // 透传组件暴露的方法
+ const innerRef = ref();
+ expose(
+ new Proxy(
+ {},
+ {
+ get: (_target, key) => innerRef.value?.[key],
+ has: (_target, key) => key in (innerRef.value || {}),
+ },
+ ),
+ );
+ return () =>
+ h(
+ component,
+ { ...componentProps, placeholder, ...props, ...attrs, ref: innerRef },
+ slots,
+ );
+ },
+ });
+};
+
+// 这里需要自行根据业务组件库进行适配,需要用到的组件都需要在这里类型说明
+export type ComponentType =
+ | 'ApiSelect'
+ | 'ApiTreeSelect'
+ | 'AutoComplete'
+ | 'Checkbox'
+ | 'CheckboxGroup'
+ | 'DatePicker'
+ | 'DefaultButton'
+ | 'Divider'
+ | 'IconPicker'
+ | 'Input'
+ | 'InputNumber'
+ // | 'InputPassword'
+ // | 'Mentions'
+ | 'PrimaryButton'
+ | 'Radio'
+ | 'RadioGroup'
+ | 'RangePicker'
+ | 'Rate'
+ | 'Select'
+ | 'Space'
+ | 'Switch'
+ | 'Textarea'
+ | 'TimePicker'
+ | 'TreeSelect'
+ | 'Upload'
+ | BaseFormComponentType;
+
+async function initComponentAdapter() {
+ const components: Partial> = {
+ // 如果你的组件体积比较大,可以使用异步加载
+ // Button: () =>
+ // import('xxx').then((res) => res.Button),
+ ApiSelect: withDefaultPlaceholder(
+ {
+ ...ApiComponent,
+ name: 'ApiSelect',
+ },
+ 'select',
+ {
+ component: Select,
+ loadingSlot: 'suffixIcon',
+ visibleEvent: 'onDropdownVisibleChange',
+ modelPropName: 'value',
+ },
+ ),
+ ApiTreeSelect: withDefaultPlaceholder(
+ {
+ ...ApiComponent,
+ name: 'ApiTreeSelect',
+ },
+ 'select',
+ {
+ component: TreeSelect,
+ fieldNames: { label: 'label', value: 'value', children: 'children' },
+ loadingSlot: 'suffixIcon',
+ modelPropName: 'value',
+ optionsPropName: 'treeData',
+ visibleEvent: 'onVisibleChange',
+ },
+ ),
+ AutoComplete,
+ Checkbox,
+ CheckboxGroup,
+ DatePicker,
+ // 自定义默认按钮
+ DefaultButton: (props, { attrs, slots }) => {
+ return h(Button, { ...props, attrs, theme: 'default' }, slots);
+ },
+ Divider,
+ IconPicker: withDefaultPlaceholder(IconPicker, 'select', {
+ iconSlot: 'addonAfter',
+ inputComponent: Input,
+ modelValueProp: 'value',
+ }),
+ Input: withDefaultPlaceholder(Input, 'input'),
+ InputNumber: withDefaultPlaceholder(InputNumber, 'input'),
+ // InputPassword: withDefaultPlaceholder(InputPassword, 'input'),
+ // Mentions: withDefaultPlaceholder(Mentions, 'input'),
+ // 自定义主要按钮
+ PrimaryButton: (props, { attrs, slots }) => {
+ let ghost = false;
+ let variant = props.variant;
+ if (props.variant === 'ghost') {
+ ghost = true;
+ variant = 'base';
+ }
+ return h(
+ Button,
+ { ...props, ghost, variant, attrs, theme: 'primary' },
+ slots,
+ );
+ },
+ Radio,
+ RadioGroup,
+ RangePicker: (props, { attrs, slots }) => {
+ return h(
+ RangePicker,
+ { ...props, modelValue: props.modelValue ?? [], attrs },
+ slots,
+ );
+ },
+ Rate,
+ Select: withDefaultPlaceholder(Select, 'select'),
+ Space,
+ Switch,
+ Textarea: withDefaultPlaceholder(Textarea, 'input'),
+ TimePicker,
+ TreeSelect: withDefaultPlaceholder(TreeSelect, 'select'),
+ Upload,
+ };
+
+ // 将组件注册到全局共享状态中
+ globalShareState.setComponents(components);
+
+ // 定义全局共享状态中的消息提示
+ globalShareState.defineMessage({
+ // 复制成功消息提示
+ copyPreferencesSuccess: (title, content) => {
+ notification.success({
+ title,
+ content,
+ placement: 'bottom-right',
+ });
+ },
+ });
+}
+
+export { initComponentAdapter };
diff --git a/apps/web-tdesign/src/adapter/form.ts b/apps/web-tdesign/src/adapter/form.ts
new file mode 100644
index 000000000..ed0945142
--- /dev/null
+++ b/apps/web-tdesign/src/adapter/form.ts
@@ -0,0 +1,49 @@
+import type {
+ VbenFormSchema as FormSchema,
+ VbenFormProps,
+} from '@vben/common-ui';
+
+import type { ComponentType } from './component';
+
+import { setupVbenForm, useVbenForm as useForm, z } from '@vben/common-ui';
+import { $t } from '@vben/locales';
+
+async function initSetupVbenForm() {
+ setupVbenForm({
+ config: {
+ // tdesign组件库默认都是 v-model:value
+ baseModelPropName: 'value',
+
+ // 一些组件是 v-model:checked 或者 v-model:fileList
+ modelPropNameMap: {
+ Checkbox: 'checked',
+ Radio: 'checked',
+ Switch: 'checked',
+ Upload: 'fileList',
+ },
+ },
+ defineRules: {
+ // 输入项目必填国际化适配
+ required: (value, _params, ctx) => {
+ if (value === undefined || value === null || value.length === 0) {
+ return $t('ui.formRules.required', [ctx.label]);
+ }
+ return true;
+ },
+ // 选择项目必填国际化适配
+ selectRequired: (value, _params, ctx) => {
+ if (value === undefined || value === null) {
+ return $t('ui.formRules.selectRequired', [ctx.label]);
+ }
+ return true;
+ },
+ },
+ });
+}
+
+const useVbenForm = useForm;
+
+export { initSetupVbenForm, useVbenForm, z };
+
+export type VbenFormSchema = FormSchema;
+export type { VbenFormProps };
diff --git a/apps/web-tdesign/src/adapter/tdesign.ts b/apps/web-tdesign/src/adapter/tdesign.ts
new file mode 100644
index 000000000..70c67601e
--- /dev/null
+++ b/apps/web-tdesign/src/adapter/tdesign.ts
@@ -0,0 +1,5 @@
+export {
+ DialogPlugin as dialog,
+ MessagePlugin as message,
+ NotifyPlugin as notification,
+} from 'tdesign-vue-next';
diff --git a/apps/web-tdesign/src/adapter/vxe-table.ts b/apps/web-tdesign/src/adapter/vxe-table.ts
new file mode 100644
index 000000000..43bd68afd
--- /dev/null
+++ b/apps/web-tdesign/src/adapter/vxe-table.ts
@@ -0,0 +1,69 @@
+import type { VxeTableGridOptions } from '@vben/plugins/vxe-table';
+
+import { h } from 'vue';
+
+import { setupVbenVxeTable, useVbenVxeGrid } from '@vben/plugins/vxe-table';
+
+import { Button, Image } from 'tdesign-vue-next';
+
+import { useVbenForm } from './form';
+
+setupVbenVxeTable({
+ configVxeTable: (vxeUI) => {
+ vxeUI.setConfig({
+ grid: {
+ align: 'center',
+ border: false,
+ columnConfig: {
+ resizable: true,
+ },
+ minHeight: 180,
+ formConfig: {
+ // 全局禁用vxe-table的表单配置,使用formOptions
+ enabled: false,
+ },
+ proxyConfig: {
+ autoLoad: true,
+ response: {
+ result: 'items',
+ total: 'total',
+ list: 'items',
+ },
+ showActiveMsg: true,
+ showResponseMsg: false,
+ },
+ round: true,
+ showOverflow: true,
+ size: 'small',
+ } as VxeTableGridOptions,
+ });
+
+ // 表格配置项可以用 cellRender: { name: 'CellImage' },
+ vxeUI.renderer.add('CellImage', {
+ renderTableDefault(_renderOpts, params) {
+ const { column, row } = params;
+ return h(Image, { src: row[column.field] });
+ },
+ });
+
+ // 表格配置项可以用 cellRender: { name: 'CellLink' },
+ vxeUI.renderer.add('CellLink', {
+ renderTableDefault(renderOpts) {
+ const { props } = renderOpts;
+ return h(
+ Button,
+ { size: 'small', theme: 'primary', variant: 'text' },
+ { default: () => props?.text },
+ );
+ },
+ });
+
+ // 这里可以自行扩展 vxe-table 的全局配置,比如自定义格式化
+ // vxeUI.formats.add
+ },
+ useVbenForm,
+});
+
+export { useVbenVxeGrid };
+
+export type * from '@vben/plugins/vxe-table';
diff --git a/apps/web-tdesign/src/api/core/auth.ts b/apps/web-tdesign/src/api/core/auth.ts
new file mode 100644
index 000000000..71d9f9943
--- /dev/null
+++ b/apps/web-tdesign/src/api/core/auth.ts
@@ -0,0 +1,51 @@
+import { baseRequestClient, requestClient } from '#/api/request';
+
+export namespace AuthApi {
+ /** 登录接口参数 */
+ export interface LoginParams {
+ password?: string;
+ username?: string;
+ }
+
+ /** 登录接口返回值 */
+ export interface LoginResult {
+ accessToken: string;
+ }
+
+ export interface RefreshTokenResult {
+ data: string;
+ status: number;
+ }
+}
+
+/**
+ * 登录
+ */
+export async function loginApi(data: AuthApi.LoginParams) {
+ return requestClient.post('/auth/login', data);
+}
+
+/**
+ * 刷新accessToken
+ */
+export async function refreshTokenApi() {
+ return baseRequestClient.post('/auth/refresh', {
+ withCredentials: true,
+ });
+}
+
+/**
+ * 退出登录
+ */
+export async function logoutApi() {
+ return baseRequestClient.post('/auth/logout', {
+ withCredentials: true,
+ });
+}
+
+/**
+ * 获取用户权限码
+ */
+export async function getAccessCodesApi() {
+ return requestClient.get('/auth/codes');
+}
diff --git a/apps/web-tdesign/src/api/core/index.ts b/apps/web-tdesign/src/api/core/index.ts
new file mode 100644
index 000000000..28a5aef47
--- /dev/null
+++ b/apps/web-tdesign/src/api/core/index.ts
@@ -0,0 +1,3 @@
+export * from './auth';
+export * from './menu';
+export * from './user';
diff --git a/apps/web-tdesign/src/api/core/menu.ts b/apps/web-tdesign/src/api/core/menu.ts
new file mode 100644
index 000000000..9ef60b11c
--- /dev/null
+++ b/apps/web-tdesign/src/api/core/menu.ts
@@ -0,0 +1,10 @@
+import type { RouteRecordStringComponent } from '@vben/types';
+
+import { requestClient } from '#/api/request';
+
+/**
+ * 获取用户所有菜单
+ */
+export async function getAllMenusApi() {
+ return requestClient.get('/menu/all');
+}
diff --git a/apps/web-tdesign/src/api/core/user.ts b/apps/web-tdesign/src/api/core/user.ts
new file mode 100644
index 000000000..7e28ea848
--- /dev/null
+++ b/apps/web-tdesign/src/api/core/user.ts
@@ -0,0 +1,10 @@
+import type { UserInfo } from '@vben/types';
+
+import { requestClient } from '#/api/request';
+
+/**
+ * 获取用户信息
+ */
+export async function getUserInfoApi() {
+ return requestClient.get('/user/info');
+}
diff --git a/apps/web-tdesign/src/api/index.ts b/apps/web-tdesign/src/api/index.ts
new file mode 100644
index 000000000..4b0e04137
--- /dev/null
+++ b/apps/web-tdesign/src/api/index.ts
@@ -0,0 +1 @@
+export * from './core';
diff --git a/apps/web-tdesign/src/api/request.ts b/apps/web-tdesign/src/api/request.ts
new file mode 100644
index 000000000..86b181d33
--- /dev/null
+++ b/apps/web-tdesign/src/api/request.ts
@@ -0,0 +1,112 @@
+/**
+ * 该文件可自行根据业务逻辑进行调整
+ */
+import type { RequestClientOptions } from '@vben/request';
+
+import { useAppConfig } from '@vben/hooks';
+import { preferences } from '@vben/preferences';
+import {
+ authenticateResponseInterceptor,
+ defaultResponseInterceptor,
+ errorMessageResponseInterceptor,
+ RequestClient,
+} from '@vben/request';
+import { useAccessStore } from '@vben/stores';
+
+import { message } from '#/adapter/tdesign';
+import { useAuthStore } from '#/store';
+
+import { refreshTokenApi } from './core';
+
+const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
+
+function createRequestClient(baseURL: string, options?: RequestClientOptions) {
+ const client = new RequestClient({
+ ...options,
+ baseURL,
+ });
+
+ /**
+ * 重新认证逻辑
+ */
+ async function doReAuthenticate() {
+ console.warn('Access token or refresh token is invalid or expired. ');
+ const accessStore = useAccessStore();
+ const authStore = useAuthStore();
+ accessStore.setAccessToken(null);
+ if (
+ preferences.app.loginExpiredMode === 'modal' &&
+ accessStore.isAccessChecked
+ ) {
+ accessStore.setLoginExpired(true);
+ } else {
+ await authStore.logout();
+ }
+ }
+
+ /**
+ * 刷新token逻辑
+ */
+ async function doRefreshToken() {
+ const accessStore = useAccessStore();
+ const resp = await refreshTokenApi();
+ const newToken = resp.data;
+ accessStore.setAccessToken(newToken);
+ return newToken;
+ }
+
+ function formatToken(token: null | string) {
+ return token ? `Bearer ${token}` : null;
+ }
+
+ // 请求头处理
+ client.addRequestInterceptor({
+ fulfilled: async (config) => {
+ const accessStore = useAccessStore();
+
+ config.headers.Authorization = formatToken(accessStore.accessToken);
+ config.headers['Accept-Language'] = preferences.app.locale;
+ return config;
+ },
+ });
+
+ // 处理返回的响应数据格式
+ client.addResponseInterceptor(
+ defaultResponseInterceptor({
+ codeField: 'code',
+ dataField: 'data',
+ successCode: 0,
+ }),
+ );
+
+ // token过期的处理
+ client.addResponseInterceptor(
+ authenticateResponseInterceptor({
+ client,
+ doReAuthenticate,
+ doRefreshToken,
+ enableRefreshToken: preferences.app.enableRefreshToken,
+ formatToken,
+ }),
+ );
+
+ // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里
+ client.addResponseInterceptor(
+ errorMessageResponseInterceptor((msg: string, error) => {
+ // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg
+ // 当前mock接口返回的错误字段是 error 或者 message
+ const responseData = error?.response?.data ?? {};
+ const errorMessage = responseData?.error ?? responseData?.message ?? '';
+ // 如果没有错误信息,则会根据状态码进行提示
+ message.error(errorMessage || msg);
+ }),
+ );
+
+ return client;
+}
+
+export const requestClient = createRequestClient(apiURL, {
+ responseReturn: 'data',
+});
+
+export const baseRequestClient = new RequestClient({ baseURL: apiURL });
diff --git a/apps/web-tdesign/src/app.vue b/apps/web-tdesign/src/app.vue
new file mode 100644
index 000000000..57d5951cc
--- /dev/null
+++ b/apps/web-tdesign/src/app.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
diff --git a/apps/web-tdesign/src/bootstrap.ts b/apps/web-tdesign/src/bootstrap.ts
new file mode 100644
index 000000000..edcccea4c
--- /dev/null
+++ b/apps/web-tdesign/src/bootstrap.ts
@@ -0,0 +1,78 @@
+import { createApp, watchEffect } from 'vue';
+
+import { registerAccessDirective } from '@vben/access';
+import { registerLoadingDirective } from '@vben/common-ui/es/loading';
+import { preferences } from '@vben/preferences';
+import { initStores } from '@vben/stores';
+import '@vben/styles';
+import '@vben/styles/antd';
+
+import { useTitle } from '@vueuse/core';
+
+import { $t, setupI18n } from '#/locales';
+
+import { initComponentAdapter } from './adapter/component';
+import { initSetupVbenForm } from './adapter/form';
+import App from './app.vue';
+import { router } from './router';
+
+// 引入组件库的少量全局样式变量
+
+async function bootstrap(namespace: string) {
+ // 初始化组件适配器
+ await initComponentAdapter();
+
+ // 初始化表单组件
+ await initSetupVbenForm();
+
+ // // 设置弹窗的默认配置
+ // setDefaultModalProps({
+ // fullscreenButton: false,
+ // });
+ // // 设置抽屉的默认配置
+ // setDefaultDrawerProps({
+ // zIndex: 1020,
+ // });
+
+ const app = createApp(App);
+
+ // 注册v-loading指令
+ registerLoadingDirective(app, {
+ loading: 'loading', // 在这里可以自定义指令名称,也可以明确提供false表示不注册这个指令
+ spinning: 'spinning',
+ });
+
+ // 国际化 i18n 配置
+ await setupI18n(app);
+
+ // 配置 pinia-tore
+ await initStores(app, { namespace });
+
+ // 安装权限指令
+ registerAccessDirective(app);
+
+ // 初始化 tippy
+ const { initTippy } = await import('@vben/common-ui/es/tippy');
+ initTippy(app);
+
+ // 配置路由及路由守卫
+ app.use(router);
+
+ // 配置Motion插件
+ const { MotionPlugin } = await import('@vben/plugins/motion');
+ app.use(MotionPlugin);
+
+ // 动态更新标题
+ watchEffect(() => {
+ if (preferences.app.dynamicTitle) {
+ const routeTitle = router.currentRoute.value.meta?.title;
+ const pageTitle =
+ (routeTitle ? `${$t(routeTitle)} - ` : '') + preferences.app.name;
+ useTitle(pageTitle);
+ }
+ });
+
+ app.mount('#app');
+}
+
+export { bootstrap };
diff --git a/apps/web-tdesign/src/layouts/auth.vue b/apps/web-tdesign/src/layouts/auth.vue
new file mode 100644
index 000000000..18d415bc7
--- /dev/null
+++ b/apps/web-tdesign/src/layouts/auth.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/apps/web-tdesign/src/layouts/basic.vue b/apps/web-tdesign/src/layouts/basic.vue
new file mode 100644
index 000000000..805b8a73d
--- /dev/null
+++ b/apps/web-tdesign/src/layouts/basic.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-tdesign/src/layouts/index.ts b/apps/web-tdesign/src/layouts/index.ts
new file mode 100644
index 000000000..a43207805
--- /dev/null
+++ b/apps/web-tdesign/src/layouts/index.ts
@@ -0,0 +1,6 @@
+const BasicLayout = () => import('./basic.vue');
+const AuthPageLayout = () => import('./auth.vue');
+
+const IFrameView = () => import('@vben/layouts').then((m) => m.IFrameView);
+
+export { AuthPageLayout, BasicLayout, IFrameView };
diff --git a/apps/web-tdesign/src/locales/README.md b/apps/web-tdesign/src/locales/README.md
new file mode 100644
index 000000000..7b451032e
--- /dev/null
+++ b/apps/web-tdesign/src/locales/README.md
@@ -0,0 +1,3 @@
+# locale
+
+每个app使用的国际化可能不同,这里用于扩展国际化的功能,例如扩展 dayjs、antd组件库的多语言切换,以及app本身的国际化文件。
diff --git a/apps/web-tdesign/src/locales/index.ts b/apps/web-tdesign/src/locales/index.ts
new file mode 100644
index 000000000..6d98579af
--- /dev/null
+++ b/apps/web-tdesign/src/locales/index.ts
@@ -0,0 +1,77 @@
+import type { App } from 'vue';
+
+import type { LocaleSetupOptions, SupportedLanguagesType } from '@vben/locales';
+
+import {
+ $t,
+ setupI18n as coreSetup,
+ loadLocalesMapFromDir,
+} from '@vben/locales';
+import { preferences } from '@vben/preferences';
+
+import dayjs from 'dayjs';
+
+const modules = import.meta.glob('./langs/**/*.json');
+
+const localesMap = loadLocalesMapFromDir(
+ /\.\/langs\/([^/]+)\/(.*)\.json$/,
+ modules,
+);
+/**
+ * 加载应用特有的语言包
+ * 这里也可以改造为从服务端获取翻译数据
+ * @param lang
+ */
+async function loadMessages(lang: SupportedLanguagesType) {
+ const [appLocaleMessages] = await Promise.all([
+ localesMap[lang]?.(),
+ loadThirdPartyMessage(lang),
+ ]);
+ return appLocaleMessages?.default;
+}
+
+/**
+ * 加载第三方组件库的语言包
+ * @param lang
+ */
+async function loadThirdPartyMessage(lang: SupportedLanguagesType) {
+ await loadDayjsLocale(lang);
+}
+
+/**
+ * 加载dayjs的语言包
+ * @param lang
+ */
+async function loadDayjsLocale(lang: SupportedLanguagesType) {
+ let locale;
+ switch (lang) {
+ case 'en-US': {
+ locale = await import('dayjs/locale/en');
+ break;
+ }
+ case 'zh-CN': {
+ locale = await import('dayjs/locale/zh-cn');
+ break;
+ }
+ // 默认使用英语
+ default: {
+ locale = await import('dayjs/locale/en');
+ }
+ }
+ if (locale) {
+ dayjs.locale(locale);
+ } else {
+ console.error(`Failed to load dayjs locale for ${lang}`);
+ }
+}
+
+async function setupI18n(app: App, options: LocaleSetupOptions = {}) {
+ await coreSetup(app, {
+ defaultLocale: preferences.app.locale,
+ loadMessages,
+ missingWarn: !import.meta.env.PROD,
+ ...options,
+ });
+}
+
+export { $t, setupI18n };
diff --git a/apps/web-ele/src/locales/langs/en-US/demos.json b/apps/web-tdesign/src/locales/langs/en-US/demos.json
similarity index 81%
rename from apps/web-ele/src/locales/langs/en-US/demos.json
rename to apps/web-tdesign/src/locales/langs/en-US/demos.json
index 6eddebb53..e7bcea129 100644
--- a/apps/web-ele/src/locales/langs/en-US/demos.json
+++ b/apps/web-tdesign/src/locales/langs/en-US/demos.json
@@ -1,7 +1,6 @@
{
"title": "Demos",
- "elementPlus": "Element Plus",
- "form": "Form",
+ "tdesign": "TDesign Vue",
"vben": {
"title": "Project",
"about": "About",
diff --git a/apps/web-tdesign/src/locales/langs/en-US/page.json b/apps/web-tdesign/src/locales/langs/en-US/page.json
new file mode 100644
index 000000000..618a258c0
--- /dev/null
+++ b/apps/web-tdesign/src/locales/langs/en-US/page.json
@@ -0,0 +1,14 @@
+{
+ "auth": {
+ "login": "Login",
+ "register": "Register",
+ "codeLogin": "Code Login",
+ "qrcodeLogin": "Qr Code Login",
+ "forgetPassword": "Forget Password"
+ },
+ "dashboard": {
+ "title": "Dashboard",
+ "analytics": "Analytics",
+ "workspace": "Workspace"
+ }
+}
diff --git a/apps/web-ele/src/locales/langs/zh-CN/demos.json b/apps/web-tdesign/src/locales/langs/zh-CN/demos.json
similarity index 79%
rename from apps/web-ele/src/locales/langs/zh-CN/demos.json
rename to apps/web-tdesign/src/locales/langs/zh-CN/demos.json
index ba6d6ccd0..843a1f30d 100644
--- a/apps/web-ele/src/locales/langs/zh-CN/demos.json
+++ b/apps/web-tdesign/src/locales/langs/zh-CN/demos.json
@@ -1,7 +1,6 @@
{
"title": "演示",
- "elementPlus": "Element Plus",
- "form": "表单演示",
+ "tdesign": "TDesign Vue",
"vben": {
"title": "项目",
"about": "关于",
diff --git a/apps/web-tdesign/src/locales/langs/zh-CN/page.json b/apps/web-tdesign/src/locales/langs/zh-CN/page.json
new file mode 100644
index 000000000..4cb67081c
--- /dev/null
+++ b/apps/web-tdesign/src/locales/langs/zh-CN/page.json
@@ -0,0 +1,14 @@
+{
+ "auth": {
+ "login": "登录",
+ "register": "注册",
+ "codeLogin": "验证码登录",
+ "qrcodeLogin": "二维码登录",
+ "forgetPassword": "忘记密码"
+ },
+ "dashboard": {
+ "title": "概览",
+ "analytics": "分析页",
+ "workspace": "工作台"
+ }
+}
diff --git a/apps/web-tdesign/src/main.ts b/apps/web-tdesign/src/main.ts
new file mode 100644
index 000000000..5d728a02a
--- /dev/null
+++ b/apps/web-tdesign/src/main.ts
@@ -0,0 +1,31 @@
+import { initPreferences } from '@vben/preferences';
+import { unmountGlobalLoading } from '@vben/utils';
+
+import { overridesPreferences } from './preferences';
+
+/**
+ * 应用初始化完成之后再进行页面加载渲染
+ */
+async function initApplication() {
+ // name用于指定项目唯一标识
+ // 用于区分不同项目的偏好设置以及存储数据的key前缀以及其他一些需要隔离的数据
+ const env = import.meta.env.PROD ? 'prod' : 'dev';
+ const appVersion = import.meta.env.VITE_APP_VERSION;
+ const namespace = `${import.meta.env.VITE_APP_NAMESPACE}-${appVersion}-${env}`;
+
+ // app偏好设置初始化
+ await initPreferences({
+ namespace,
+ overrides: overridesPreferences,
+ });
+
+ // 启动应用并挂载
+ // vue应用主要逻辑及视图
+ const { bootstrap } = await import('./bootstrap');
+ await bootstrap(namespace);
+
+ // 移除并销毁loading
+ unmountGlobalLoading();
+}
+
+initApplication();
diff --git a/apps/web-tdesign/src/preferences.ts b/apps/web-tdesign/src/preferences.ts
new file mode 100644
index 000000000..b2e9ace43
--- /dev/null
+++ b/apps/web-tdesign/src/preferences.ts
@@ -0,0 +1,13 @@
+import { defineOverridesPreferences } from '@vben/preferences';
+
+/**
+ * @description 项目配置文件
+ * 只需要覆盖项目中的一部分配置,不需要的配置不用覆盖,会自动使用默认配置
+ * !!! 更改配置后请清空缓存,否则可能不生效
+ */
+export const overridesPreferences = defineOverridesPreferences({
+ // overrides
+ app: {
+ name: import.meta.env.VITE_APP_TITLE,
+ },
+});
diff --git a/apps/web-tdesign/src/router/access.ts b/apps/web-tdesign/src/router/access.ts
new file mode 100644
index 000000000..08cb4b0bd
--- /dev/null
+++ b/apps/web-tdesign/src/router/access.ts
@@ -0,0 +1,41 @@
+import type {
+ ComponentRecordType,
+ GenerateMenuAndRoutesOptions,
+} from '@vben/types';
+
+import { generateAccessible } from '@vben/access';
+import { preferences } from '@vben/preferences';
+
+import { message } from '#/adapter/tdesign';
+import { getAllMenusApi } from '#/api';
+import { BasicLayout, IFrameView } from '#/layouts';
+import { $t } from '#/locales';
+
+const forbiddenComponent = () => import('#/views/_core/fallback/forbidden.vue');
+
+async function generateAccess(options: GenerateMenuAndRoutesOptions) {
+ const pageMap: ComponentRecordType = import.meta.glob('../views/**/*.vue');
+
+ const layoutMap: ComponentRecordType = {
+ BasicLayout,
+ IFrameView,
+ };
+
+ return await generateAccessible(preferences.app.accessMode, {
+ ...options,
+ fetchMenuListAsync: async () => {
+ message.loading({
+ content: `${$t('common.loadingMenu')}...`,
+ duration: 1500,
+ });
+ return await getAllMenusApi();
+ },
+ // 可以指定没有权限跳转403页面
+ forbiddenComponent,
+ // 如果 route.meta.menuVisibleWithForbidden = true
+ layoutMap,
+ pageMap,
+ });
+}
+
+export { generateAccess };
diff --git a/apps/web-tdesign/src/router/guard.ts b/apps/web-tdesign/src/router/guard.ts
new file mode 100644
index 000000000..a1ad6d88c
--- /dev/null
+++ b/apps/web-tdesign/src/router/guard.ts
@@ -0,0 +1,133 @@
+import type { Router } from 'vue-router';
+
+import { LOGIN_PATH } from '@vben/constants';
+import { preferences } from '@vben/preferences';
+import { useAccessStore, useUserStore } from '@vben/stores';
+import { startProgress, stopProgress } from '@vben/utils';
+
+import { accessRoutes, coreRouteNames } from '#/router/routes';
+import { useAuthStore } from '#/store';
+
+import { generateAccess } from './access';
+
+/**
+ * 通用守卫配置
+ * @param router
+ */
+function setupCommonGuard(router: Router) {
+ // 记录已经加载的页面
+ const loadedPaths = new Set();
+
+ router.beforeEach((to) => {
+ to.meta.loaded = loadedPaths.has(to.path);
+
+ // 页面加载进度条
+ if (!to.meta.loaded && preferences.transition.progress) {
+ startProgress();
+ }
+ return true;
+ });
+
+ router.afterEach((to) => {
+ // 记录页面是否加载,如果已经加载,后续的页面切换动画等效果不在重复执行
+
+ loadedPaths.add(to.path);
+
+ // 关闭页面加载进度条
+ if (preferences.transition.progress) {
+ stopProgress();
+ }
+ });
+}
+
+/**
+ * 权限访问守卫配置
+ * @param router
+ */
+function setupAccessGuard(router: Router) {
+ router.beforeEach(async (to, from) => {
+ const accessStore = useAccessStore();
+ const userStore = useUserStore();
+ const authStore = useAuthStore();
+
+ // 基本路由,这些路由不需要进入权限拦截
+ if (coreRouteNames.includes(to.name as string)) {
+ if (to.path === LOGIN_PATH && accessStore.accessToken) {
+ return decodeURIComponent(
+ (to.query?.redirect as string) ||
+ userStore.userInfo?.homePath ||
+ preferences.app.defaultHomePath,
+ );
+ }
+ return true;
+ }
+
+ // accessToken 检查
+ if (!accessStore.accessToken) {
+ // 明确声明忽略权限访问权限,则可以访问
+ if (to.meta.ignoreAccess) {
+ return true;
+ }
+
+ // 没有访问权限,跳转登录页面
+ if (to.fullPath !== LOGIN_PATH) {
+ return {
+ path: LOGIN_PATH,
+ // 如不需要,直接删除 query
+ query:
+ to.fullPath === preferences.app.defaultHomePath
+ ? {}
+ : { redirect: encodeURIComponent(to.fullPath) },
+ // 携带当前跳转的页面,登录后重新跳转该页面
+ replace: true,
+ };
+ }
+ return to;
+ }
+
+ // 是否已经生成过动态路由
+ if (accessStore.isAccessChecked) {
+ return true;
+ }
+
+ // 生成路由表
+ // 当前登录用户拥有的角色标识列表
+ const userInfo = userStore.userInfo || (await authStore.fetchUserInfo());
+ const userRoles = userInfo.roles ?? [];
+
+ // 生成菜单和路由
+ const { accessibleMenus, accessibleRoutes } = await generateAccess({
+ roles: userRoles,
+ router,
+ // 则会在菜单中显示,但是访问会被重定向到403
+ routes: accessRoutes,
+ });
+
+ // 保存菜单信息和路由信息
+ accessStore.setAccessMenus(accessibleMenus);
+ accessStore.setAccessRoutes(accessibleRoutes);
+ accessStore.setIsAccessChecked(true);
+ const redirectPath = (from.query.redirect ??
+ (to.path === preferences.app.defaultHomePath
+ ? userInfo.homePath || preferences.app.defaultHomePath
+ : to.fullPath)) as string;
+
+ return {
+ ...router.resolve(decodeURIComponent(redirectPath)),
+ replace: true,
+ };
+ });
+}
+
+/**
+ * 项目守卫配置
+ * @param router
+ */
+function createRouterGuard(router: Router) {
+ /** 通用 */
+ setupCommonGuard(router);
+ /** 权限访问 */
+ setupAccessGuard(router);
+}
+
+export { createRouterGuard };
diff --git a/apps/web-tdesign/src/router/index.ts b/apps/web-tdesign/src/router/index.ts
new file mode 100644
index 000000000..484023034
--- /dev/null
+++ b/apps/web-tdesign/src/router/index.ts
@@ -0,0 +1,37 @@
+import {
+ createRouter,
+ createWebHashHistory,
+ createWebHistory,
+} from 'vue-router';
+
+import { resetStaticRoutes } from '@vben/utils';
+
+import { createRouterGuard } from './guard';
+import { routes } from './routes';
+
+/**
+ * @zh_CN 创建vue-router实例
+ */
+const router = createRouter({
+ history:
+ import.meta.env.VITE_ROUTER_HISTORY === 'hash'
+ ? createWebHashHistory(import.meta.env.VITE_BASE)
+ : createWebHistory(import.meta.env.VITE_BASE),
+ // 应该添加到路由的初始路由列表。
+ routes,
+ scrollBehavior: (to, _from, savedPosition) => {
+ if (savedPosition) {
+ return savedPosition;
+ }
+ return to.hash ? { behavior: 'smooth', el: to.hash } : { left: 0, top: 0 };
+ },
+ // 是否应该禁止尾部斜杠。
+ // strict: true,
+});
+
+const resetRoutes = () => resetStaticRoutes(router, routes);
+
+// 创建路由守卫
+createRouterGuard(router);
+
+export { resetRoutes, router };
diff --git a/apps/web-tdesign/src/router/routes/core.ts b/apps/web-tdesign/src/router/routes/core.ts
new file mode 100644
index 000000000..949b0b65a
--- /dev/null
+++ b/apps/web-tdesign/src/router/routes/core.ts
@@ -0,0 +1,97 @@
+import type { RouteRecordRaw } from 'vue-router';
+
+import { LOGIN_PATH } from '@vben/constants';
+import { preferences } from '@vben/preferences';
+
+import { $t } from '#/locales';
+
+const BasicLayout = () => import('#/layouts/basic.vue');
+const AuthPageLayout = () => import('#/layouts/auth.vue');
+/** 全局404页面 */
+const fallbackNotFoundRoute: RouteRecordRaw = {
+ component: () => import('#/views/_core/fallback/not-found.vue'),
+ meta: {
+ hideInBreadcrumb: true,
+ hideInMenu: true,
+ hideInTab: true,
+ title: '404',
+ },
+ name: 'FallbackNotFound',
+ path: '/:path(.*)*',
+};
+
+/** 基本路由,这些路由是必须存在的 */
+const coreRoutes: RouteRecordRaw[] = [
+ /**
+ * 根路由
+ * 使用基础布局,作为所有页面的父级容器,子级就不必配置BasicLayout。
+ * 此路由必须存在,且不应修改
+ */
+ {
+ component: BasicLayout,
+ meta: {
+ hideInBreadcrumb: true,
+ title: 'Root',
+ },
+ name: 'Root',
+ path: '/',
+ redirect: preferences.app.defaultHomePath,
+ children: [],
+ },
+ {
+ component: AuthPageLayout,
+ meta: {
+ hideInTab: true,
+ title: 'Authentication',
+ },
+ name: 'Authentication',
+ path: '/auth',
+ redirect: LOGIN_PATH,
+ children: [
+ {
+ name: 'Login',
+ path: 'login',
+ component: () => import('#/views/_core/authentication/login.vue'),
+ meta: {
+ title: $t('page.auth.login'),
+ },
+ },
+ {
+ name: 'CodeLogin',
+ path: 'code-login',
+ component: () => import('#/views/_core/authentication/code-login.vue'),
+ meta: {
+ title: $t('page.auth.codeLogin'),
+ },
+ },
+ {
+ name: 'QrCodeLogin',
+ path: 'qrcode-login',
+ component: () =>
+ import('#/views/_core/authentication/qrcode-login.vue'),
+ meta: {
+ title: $t('page.auth.qrcodeLogin'),
+ },
+ },
+ {
+ name: 'ForgetPassword',
+ path: 'forget-password',
+ component: () =>
+ import('#/views/_core/authentication/forget-password.vue'),
+ meta: {
+ title: $t('page.auth.forgetPassword'),
+ },
+ },
+ {
+ name: 'Register',
+ path: 'register',
+ component: () => import('#/views/_core/authentication/register.vue'),
+ meta: {
+ title: $t('page.auth.register'),
+ },
+ },
+ ],
+ },
+];
+
+export { coreRoutes, fallbackNotFoundRoute };
diff --git a/apps/web-tdesign/src/router/routes/index.ts b/apps/web-tdesign/src/router/routes/index.ts
new file mode 100644
index 000000000..e6fb14402
--- /dev/null
+++ b/apps/web-tdesign/src/router/routes/index.ts
@@ -0,0 +1,37 @@
+import type { RouteRecordRaw } from 'vue-router';
+
+import { mergeRouteModules, traverseTreeValues } from '@vben/utils';
+
+import { coreRoutes, fallbackNotFoundRoute } from './core';
+
+const dynamicRouteFiles = import.meta.glob('./modules/**/*.ts', {
+ eager: true,
+});
+
+// 有需要可以自行打开注释,并创建文件夹
+// const externalRouteFiles = import.meta.glob('./external/**/*.ts', { eager: true });
+// const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true });
+
+/** 动态路由 */
+const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles);
+
+/** 外部路由列表,访问这些页面可以不需要Layout,可能用于内嵌在别的系统(不会显示在菜单中) */
+// const externalRoutes: RouteRecordRaw[] = mergeRouteModules(externalRouteFiles);
+// const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles);
+const staticRoutes: RouteRecordRaw[] = [];
+const externalRoutes: RouteRecordRaw[] = [];
+
+/** 路由列表,由基本路由、外部路由和404兜底路由组成
+ * 无需走权限验证(会一直显示在菜单中) */
+const routes: RouteRecordRaw[] = [
+ ...coreRoutes,
+ ...externalRoutes,
+ fallbackNotFoundRoute,
+];
+
+/** 基本路由列表,这些路由不需要进入权限拦截 */
+const coreRouteNames = traverseTreeValues(coreRoutes, (route) => route.name);
+
+/** 有权限校验的路由列表,包含动态路由和静态路由 */
+const accessRoutes = [...dynamicRoutes, ...staticRoutes];
+export { accessRoutes, coreRouteNames, routes };
diff --git a/apps/web-tdesign/src/router/routes/modules/dashboard.ts b/apps/web-tdesign/src/router/routes/modules/dashboard.ts
new file mode 100644
index 000000000..5254dc65d
--- /dev/null
+++ b/apps/web-tdesign/src/router/routes/modules/dashboard.ts
@@ -0,0 +1,38 @@
+import type { RouteRecordRaw } from 'vue-router';
+
+import { $t } from '#/locales';
+
+const routes: RouteRecordRaw[] = [
+ {
+ meta: {
+ icon: 'lucide:layout-dashboard',
+ order: -1,
+ title: $t('page.dashboard.title'),
+ },
+ name: 'Dashboard',
+ path: '/dashboard',
+ children: [
+ {
+ name: 'Analytics',
+ path: '/analytics',
+ component: () => import('#/views/dashboard/analytics/index.vue'),
+ meta: {
+ affixTab: true,
+ icon: 'lucide:area-chart',
+ title: $t('page.dashboard.analytics'),
+ },
+ },
+ {
+ name: 'Workspace',
+ path: '/workspace',
+ component: () => import('#/views/dashboard/workspace/index.vue'),
+ meta: {
+ icon: 'carbon:workspace',
+ title: $t('page.dashboard.workspace'),
+ },
+ },
+ ],
+ },
+];
+
+export default routes;
diff --git a/apps/web-tdesign/src/router/routes/modules/demos.ts b/apps/web-tdesign/src/router/routes/modules/demos.ts
new file mode 100644
index 000000000..9ce8ec992
--- /dev/null
+++ b/apps/web-tdesign/src/router/routes/modules/demos.ts
@@ -0,0 +1,28 @@
+import type { RouteRecordRaw } from 'vue-router';
+
+import { $t } from '#/locales';
+
+const routes: RouteRecordRaw[] = [
+ {
+ meta: {
+ icon: 'ic:baseline-view-in-ar',
+ keepAlive: true,
+ order: 1000,
+ title: $t('demos.title'),
+ },
+ name: 'Demos',
+ path: '/demos',
+ children: [
+ {
+ meta: {
+ title: $t('demos.tdesign'),
+ },
+ name: 'TDesignDemos',
+ path: '/demos/tdesign',
+ component: () => import('#/views/demos/tdesign/index.vue'),
+ },
+ ],
+ },
+];
+
+export default routes;
diff --git a/apps/web-tdesign/src/router/routes/modules/vben.ts b/apps/web-tdesign/src/router/routes/modules/vben.ts
new file mode 100644
index 000000000..b1a3537c0
--- /dev/null
+++ b/apps/web-tdesign/src/router/routes/modules/vben.ts
@@ -0,0 +1,94 @@
+import type { RouteRecordRaw } from 'vue-router';
+
+import {
+ VBEN_ANT_PREVIEW_URL,
+ VBEN_DOC_URL,
+ VBEN_ELE_PREVIEW_URL,
+ VBEN_GITHUB_URL,
+ VBEN_LOGO_URL,
+ VBEN_NAIVE_PREVIEW_URL,
+} from '@vben/constants';
+import { SvgAntdvLogoIcon } from '@vben/icons';
+
+import { IFrameView } from '#/layouts';
+import { $t } from '#/locales';
+
+const routes: RouteRecordRaw[] = [
+ {
+ meta: {
+ badgeType: 'dot',
+ icon: VBEN_LOGO_URL,
+ order: 9998,
+ title: $t('demos.vben.title'),
+ },
+ name: 'VbenProject',
+ path: '/vben-admin',
+ children: [
+ {
+ name: 'VbenDocument',
+ path: '/vben-admin/document',
+ component: IFrameView,
+ meta: {
+ icon: 'lucide:book-open-text',
+ link: VBEN_DOC_URL,
+ title: $t('demos.vben.document'),
+ },
+ },
+ {
+ name: 'VbenGithub',
+ path: '/vben-admin/github',
+ component: IFrameView,
+ meta: {
+ icon: 'mdi:github',
+ link: VBEN_GITHUB_URL,
+ title: 'Github',
+ },
+ },
+ {
+ name: 'VbenNaive',
+ path: '/vben-admin/naive',
+ component: IFrameView,
+ meta: {
+ badgeType: 'dot',
+ icon: 'logos:naiveui',
+ link: VBEN_NAIVE_PREVIEW_URL,
+ title: $t('demos.vben.naive-ui'),
+ },
+ },
+ {
+ name: 'VbenAntdv',
+ path: '/vben-admin/antdv',
+ component: IFrameView,
+ meta: {
+ badgeType: 'dot',
+ icon: SvgAntdvLogoIcon,
+ link: VBEN_ANT_PREVIEW_URL,
+ title: $t('demos.vben.antdv'),
+ },
+ },
+ {
+ name: 'VbenElementPlus',
+ path: '/vben-admin/ele',
+ component: IFrameView,
+ meta: {
+ badgeType: 'dot',
+ icon: 'logos:element',
+ link: VBEN_ELE_PREVIEW_URL,
+ title: $t('demos.vben.element-plus'),
+ },
+ },
+ ],
+ },
+ {
+ name: 'VbenAbout',
+ path: '/vben-admin/about',
+ component: () => import('#/views/_core/about/index.vue'),
+ meta: {
+ icon: 'lucide:copyright',
+ title: $t('demos.vben.about'),
+ order: 9999,
+ },
+ },
+];
+
+export default routes;
diff --git a/apps/web-tdesign/src/store/auth.ts b/apps/web-tdesign/src/store/auth.ts
new file mode 100644
index 000000000..b3b4b7494
--- /dev/null
+++ b/apps/web-tdesign/src/store/auth.ts
@@ -0,0 +1,117 @@
+import type { Recordable, UserInfo } from '@vben/types';
+
+import { ref } from 'vue';
+import { useRouter } from 'vue-router';
+
+import { LOGIN_PATH } from '@vben/constants';
+import { preferences } from '@vben/preferences';
+import { resetAllStores, useAccessStore, useUserStore } from '@vben/stores';
+
+import { defineStore } from 'pinia';
+
+import { notification } from '#/adapter/tdesign';
+import { getAccessCodesApi, getUserInfoApi, loginApi, logoutApi } from '#/api';
+import { $t } from '#/locales';
+
+export const useAuthStore = defineStore('auth', () => {
+ const accessStore = useAccessStore();
+ const userStore = useUserStore();
+ const router = useRouter();
+
+ const loginLoading = ref(false);
+
+ /**
+ * 异步处理登录操作
+ * Asynchronously handle the login process
+ * @param params 登录表单数据
+ */
+ async function authLogin(
+ params: Recordable,
+ onSuccess?: () => Promise | void,
+ ) {
+ // 异步处理用户登录操作并获取 accessToken
+ let userInfo: null | UserInfo = null;
+ try {
+ loginLoading.value = true;
+ const { accessToken } = await loginApi(params);
+
+ // 如果成功获取到 accessToken
+ if (accessToken) {
+ accessStore.setAccessToken(accessToken);
+ // 获取用户信息并存储到 accessStore 中
+ const [fetchUserInfoResult, accessCodes] = await Promise.all([
+ fetchUserInfo(),
+ getAccessCodesApi(),
+ ]);
+
+ userInfo = fetchUserInfoResult;
+
+ userStore.setUserInfo(userInfo);
+ accessStore.setAccessCodes(accessCodes);
+
+ if (accessStore.loginExpired) {
+ accessStore.setLoginExpired(false);
+ } else {
+ onSuccess
+ ? await onSuccess?.()
+ : await router.push(
+ userInfo.homePath || preferences.app.defaultHomePath,
+ );
+ }
+
+ if (userInfo?.realName) {
+ notification.success({
+ title: $t('authentication.loginSuccess'),
+ content: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`,
+ duration: 3000,
+ });
+ }
+ }
+ } finally {
+ loginLoading.value = false;
+ }
+
+ return {
+ userInfo,
+ };
+ }
+
+ async function logout(redirect: boolean = true) {
+ try {
+ await logoutApi();
+ } catch {
+ // 不做任何处理
+ }
+ resetAllStores();
+ accessStore.setLoginExpired(false);
+
+ // 回登录页带上当前路由地址
+ await router.replace({
+ path: LOGIN_PATH,
+ query: redirect
+ ? {
+ redirect: encodeURIComponent(router.currentRoute.value.fullPath),
+ }
+ : {},
+ });
+ }
+
+ async function fetchUserInfo() {
+ let userInfo: null | UserInfo = null;
+ userInfo = await getUserInfoApi();
+ userStore.setUserInfo(userInfo);
+ return userInfo;
+ }
+
+ function $reset() {
+ loginLoading.value = false;
+ }
+
+ return {
+ $reset,
+ authLogin,
+ fetchUserInfo,
+ loginLoading,
+ logout,
+ };
+});
diff --git a/apps/web-tdesign/src/store/index.ts b/apps/web-tdesign/src/store/index.ts
new file mode 100644
index 000000000..269586ee8
--- /dev/null
+++ b/apps/web-tdesign/src/store/index.ts
@@ -0,0 +1 @@
+export * from './auth';
diff --git a/apps/web-tdesign/src/views/_core/README.md b/apps/web-tdesign/src/views/_core/README.md
new file mode 100644
index 000000000..8248afe6c
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/README.md
@@ -0,0 +1,3 @@
+# \_core
+
+此目录包含应用程序正常运行所需的基本视图。这些视图是应用程序布局中使用的视图。
diff --git a/apps/web-tdesign/src/views/_core/about/index.vue b/apps/web-tdesign/src/views/_core/about/index.vue
new file mode 100644
index 000000000..0ee524335
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/about/index.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/authentication/code-login.vue b/apps/web-tdesign/src/views/_core/authentication/code-login.vue
new file mode 100644
index 000000000..acfd1fd78
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/authentication/code-login.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/authentication/forget-password.vue b/apps/web-tdesign/src/views/_core/authentication/forget-password.vue
new file mode 100644
index 000000000..fef0d4279
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/authentication/forget-password.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/authentication/login.vue b/apps/web-tdesign/src/views/_core/authentication/login.vue
new file mode 100644
index 000000000..89af0c270
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/authentication/login.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/authentication/qrcode-login.vue b/apps/web-tdesign/src/views/_core/authentication/qrcode-login.vue
new file mode 100644
index 000000000..23f5f2dad
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/authentication/qrcode-login.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/authentication/register.vue b/apps/web-tdesign/src/views/_core/authentication/register.vue
new file mode 100644
index 000000000..1a80ff51a
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/authentication/register.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/fallback/coming-soon.vue b/apps/web-tdesign/src/views/_core/fallback/coming-soon.vue
new file mode 100644
index 000000000..f394930f2
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/fallback/coming-soon.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/fallback/forbidden.vue b/apps/web-tdesign/src/views/_core/fallback/forbidden.vue
new file mode 100644
index 000000000..8ea65fedb
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/fallback/forbidden.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/fallback/internal-error.vue b/apps/web-tdesign/src/views/_core/fallback/internal-error.vue
new file mode 100644
index 000000000..819a47d5e
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/fallback/internal-error.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/fallback/not-found.vue b/apps/web-tdesign/src/views/_core/fallback/not-found.vue
new file mode 100644
index 000000000..4d178e9cb
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/fallback/not-found.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/_core/fallback/offline.vue b/apps/web-tdesign/src/views/_core/fallback/offline.vue
new file mode 100644
index 000000000..5de4a88de
--- /dev/null
+++ b/apps/web-tdesign/src/views/_core/fallback/offline.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/analytics/analytics-trends.vue b/apps/web-tdesign/src/views/dashboard/analytics/analytics-trends.vue
new file mode 100644
index 000000000..f1f0b232a
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/analytics/analytics-trends.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-data.vue b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-data.vue
new file mode 100644
index 000000000..190fb41f4
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-data.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-sales.vue b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-sales.vue
new file mode 100644
index 000000000..02f509123
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-sales.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-source.vue b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-source.vue
new file mode 100644
index 000000000..0915c7af7
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits-source.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits.vue b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits.vue
new file mode 100644
index 000000000..7e0f10133
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/analytics/analytics-visits.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/analytics/index.vue b/apps/web-tdesign/src/views/dashboard/analytics/index.vue
new file mode 100644
index 000000000..5e3d6d285
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/analytics/index.vue
@@ -0,0 +1,90 @@
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/dashboard/workspace/index.vue b/apps/web-tdesign/src/views/dashboard/workspace/index.vue
new file mode 100644
index 000000000..b95d61381
--- /dev/null
+++ b/apps/web-tdesign/src/views/dashboard/workspace/index.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+ 早安, {{ userStore.userInfo?.realName }}, 开始您一天的工作吧!
+
+ 今日晴,20℃ - 32℃!
+
+
+
+
+
diff --git a/apps/web-tdesign/src/views/demos/tdesign/index.vue b/apps/web-tdesign/src/views/demos/tdesign/index.vue
new file mode 100644
index 000000000..f44f96e50
--- /dev/null
+++ b/apps/web-tdesign/src/views/demos/tdesign/index.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-tdesign/tailwind.config.mjs b/apps/web-tdesign/tailwind.config.mjs
new file mode 100644
index 000000000..f17f556fa
--- /dev/null
+++ b/apps/web-tdesign/tailwind.config.mjs
@@ -0,0 +1 @@
+export { default } from '@vben/tailwind-config';
diff --git a/apps/web-tdesign/tsconfig.json b/apps/web-tdesign/tsconfig.json
new file mode 100644
index 000000000..02c287fe6
--- /dev/null
+++ b/apps/web-tdesign/tsconfig.json
@@ -0,0 +1,12 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@vben/tsconfig/web-app.json",
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "#/*": ["./src/*"]
+ }
+ },
+ "references": [{ "path": "./tsconfig.node.json" }],
+ "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
+}
diff --git a/apps/web-tdesign/tsconfig.node.json b/apps/web-tdesign/tsconfig.node.json
new file mode 100644
index 000000000..c2f0d86cc
--- /dev/null
+++ b/apps/web-tdesign/tsconfig.node.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@vben/tsconfig/node.json",
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "noEmit": false
+ },
+ "include": ["vite.config.mts"]
+}
diff --git a/apps/web-tdesign/vite.config.mts b/apps/web-tdesign/vite.config.mts
new file mode 100644
index 000000000..b6360f1d4
--- /dev/null
+++ b/apps/web-tdesign/vite.config.mts
@@ -0,0 +1,20 @@
+import { defineConfig } from '@vben/vite-config';
+
+export default defineConfig(async () => {
+ return {
+ application: {},
+ vite: {
+ server: {
+ proxy: {
+ '/api': {
+ changeOrigin: true,
+ rewrite: (path) => path.replace(/^\/api/, ''),
+ // mock代理目标地址
+ target: 'http://localhost:5320/api',
+ ws: true,
+ },
+ },
+ },
+ },
+ };
+});
diff --git a/docs/src/en/guide/essentials/development.md b/docs/src/en/guide/essentials/development.md
index 9ff832b7b..437810f7a 100644
--- a/docs/src/en/guide/essentials/development.md
+++ b/docs/src/en/guide/essentials/development.md
@@ -60,6 +60,8 @@ The execution command is: `pnpm run [script]` or `npm run [script]`.
"build:ele": "pnpm run build --filter=@vben/web-ele",
// Build the web-naive application separately
"build:naive": "pnpm run build --filter=@vben/naive",
+ // Build the web-tdesign application separately
+ "build:tdesign": "pnpm run build --filter=@vben/web-tdesign",
// Build the playground application separately
"build:play": "pnpm run build --filter=@vben/playground",
// Changeset version management
diff --git a/docs/src/en/guide/introduction/thin.md b/docs/src/en/guide/introduction/thin.md
index a310ef398..7ca0468da 100644
--- a/docs/src/en/guide/introduction/thin.md
+++ b/docs/src/en/guide/introduction/thin.md
@@ -56,6 +56,7 @@ After slimming down, you may need to adjust commands according to your project.
"build:docs": "pnpm run build --filter=@vben/docs",
"build:ele": "pnpm run build --filter=@vben/web-ele",
"build:naive": "pnpm run build --filter=@vben/web-naive",
+ "build:tdesign": "pnpm run build --filter=@vben/web-tdesign",
"build:play": "pnpm run build --filter=@vben/playground",
"dev:antd": "pnpm -F @vben/web-antd run dev",
"dev:docs": "pnpm -F @vben/docs run dev",
diff --git a/docs/src/guide/essentials/development.md b/docs/src/guide/essentials/development.md
index cb55b6b5c..7f4e5107c 100644
--- a/docs/src/guide/essentials/development.md
+++ b/docs/src/guide/essentials/development.md
@@ -60,6 +60,8 @@ npm 脚本是项目常见的配置,用于执行一些常见的任务,比如
"build:ele": "pnpm run build --filter=@vben/web-ele",
// 单独构建 web-naive 应用
"build:naive": "pnpm run build --filter=@vben/naive",
+ // 单独构建 web-tdesign 应用
+ "build:tdesign": "pnpm run build --filter=@vben/web-tdesign",
// 单独构建 playground 应用
"build:play": "pnpm run build --filter=@vben/playground",
// changeset 版本管理
diff --git a/docs/src/guide/introduction/thin.md b/docs/src/guide/introduction/thin.md
index 808840058..157d51ffc 100644
--- a/docs/src/guide/introduction/thin.md
+++ b/docs/src/guide/introduction/thin.md
@@ -60,6 +60,7 @@ pnpm install
"build:docs": "pnpm run build --filter=@vben/docs",
"build:ele": "pnpm run build --filter=@vben/web-ele",
"build:naive": "pnpm run build --filter=@vben/web-naive",
+ "build:tdesign": "pnpm run build --filter=@vben/web-tdesign",
"build:play": "pnpm run build --filter=@vben/playground",
"dev:antd": "pnpm -F @vben/web-antd run dev",
"dev:docs": "pnpm -F @vben/docs run dev",
diff --git a/package.json b/package.json
index 0745b1137..1fa7eb49f 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"build:docs": "pnpm run build --filter=@vben/docs",
"build:ele": "pnpm run build --filter=@vben/web-ele",
"build:naive": "pnpm run build --filter=@vben/web-naive",
+ "build:tdesign": "pnpm run build --filter=@vben/web-tdesign",
"build:play": "pnpm run build --filter=@vben/playground",
"changeset": "pnpm exec changeset",
"check": "pnpm run check:circular && pnpm run check:dep && pnpm run check:type && pnpm check:cspell",
@@ -46,6 +47,7 @@
"dev:docs": "pnpm -F @vben/docs run dev",
"dev:ele": "pnpm -F @vben/web-ele run dev",
"dev:naive": "pnpm -F @vben/web-naive run dev",
+ "dev:tdesign": "pnpm -F @vben/web-tdesign run dev",
"dev:play": "pnpm -F @vben/playground run dev",
"format": "vsh lint --format",
"lint": "vsh lint",
diff --git a/packages/@core/base/shared/src/constants/vben.ts b/packages/@core/base/shared/src/constants/vben.ts
index 777768852..da513da16 100644
--- a/packages/@core/base/shared/src/constants/vben.ts
+++ b/packages/@core/base/shared/src/constants/vben.ts
@@ -27,3 +27,5 @@ export const VBEN_ELE_PREVIEW_URL = 'https://ele.vben.pro';
export const VBEN_NAIVE_PREVIEW_URL = 'https://naive.vben.pro';
export const VBEN_ANT_PREVIEW_URL = 'https://ant.vben.pro';
+
+export const VBEN_TD_PREVIEW_URL = 'https://tdesign.vben.pro';
diff --git a/packages/@core/base/shared/src/utils/date.ts b/packages/@core/base/shared/src/utils/date.ts
index f77b824a9..2f53041f1 100644
--- a/packages/@core/base/shared/src/utils/date.ts
+++ b/packages/@core/base/shared/src/utils/date.ts
@@ -7,7 +7,19 @@ dayjs.extend(timezone);
type FormatDate = Date | dayjs.Dayjs | number | string;
-export function formatDate(time: FormatDate, format = 'YYYY-MM-DD') {
+type Format =
+ | 'HH'
+ | 'HH:mm'
+ | 'HH:mm:ss'
+ | 'YYYY'
+ | 'YYYY-MM'
+ | 'YYYY-MM-DD'
+ | 'YYYY-MM-DD HH'
+ | 'YYYY-MM-DD HH:mm'
+ | 'YYYY-MM-DD HH:mm:ss'
+ | (string & {});
+
+export function formatDate(time?: FormatDate, format: Format = 'YYYY-MM-DD') {
try {
const date = dayjs.isDayjs(time) ? time : dayjs(time);
if (!date.isValid()) {
@@ -16,11 +28,11 @@ export function formatDate(time: FormatDate, format = 'YYYY-MM-DD') {
return date.tz().format(format);
} catch (error) {
console.error(`Error formatting date: ${error}`);
- return String(time);
+ return String(time ?? '');
}
}
-export function formatDateTime(time: FormatDate) {
+export function formatDateTime(time?: FormatDate) {
return formatDate(time, 'YYYY-MM-DD HH:mm:ss');
}
diff --git a/packages/@core/ui-kit/shadcn-ui/src/components/button/button.ts b/packages/@core/ui-kit/shadcn-ui/src/components/button/button.ts
index c95979852..e12729a4e 100644
--- a/packages/@core/ui-kit/shadcn-ui/src/components/button/button.ts
+++ b/packages/@core/ui-kit/shadcn-ui/src/components/button/button.ts
@@ -13,7 +13,7 @@ export interface VbenButtonProps {
/**
* Change the default rendered element for the one passed as a child, merging their props and behavior.
*
- * Read our [Composition](https://www.reka-vue.com/guides/composition.html) guide for more details.
+ * Read our [Composition](https://www.reka-ui.com/docs/guides/composition) guide for more details.
*/
asChild?: boolean;
class?: any;
diff --git a/packages/icons/src/svg/icons/tdesign-logo.svg b/packages/icons/src/svg/icons/tdesign-logo.svg
new file mode 100644
index 000000000..bdbba5cd9
--- /dev/null
+++ b/packages/icons/src/svg/icons/tdesign-logo.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/packages/icons/src/svg/index.ts b/packages/icons/src/svg/index.ts
index 00fe7e65d..1e81686c6 100644
--- a/packages/icons/src/svg/index.ts
+++ b/packages/icons/src/svg/index.ts
@@ -16,6 +16,7 @@ const SvgGoogleIcon = createIconifyIcon('svg:google');
const SvgQQChatIcon = createIconifyIcon('svg:qqchat');
const SvgWeChatIcon = createIconifyIcon('svg:wechat');
const SvgDingDingIcon = createIconifyIcon('svg:dingding');
+const SvgTDesignIcon = createIconifyIcon('svg:tdesign-logo');
/** AI */
const SvgGptIcon = createIconifyIcon('svg:gpt');
@@ -65,6 +66,7 @@ export {
SvgGptIcon,
SvgMockIcon,
SvgQQChatIcon,
+ SvgTDesignIcon,
SvgWalletIcon,
SvgWeChatIcon,
SvgWxAppIcon,
diff --git a/playground/src/api/request.ts b/playground/src/api/request.ts
index e741552dd..a88553613 100644
--- a/playground/src/api/request.ts
+++ b/playground/src/api/request.ts
@@ -29,11 +29,15 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) {
baseURL,
transformResponse: (data: any, header: AxiosResponseHeaders) => {
// storeAsString指示将BigInt存储为字符串,设为false则会存储为内置的BigInt类型
- return header.getContentType()?.toString().includes('application/json')
- ? cloneDeep(
- JSONBigInt({ storeAsString: true, strict: true }).parse(data),
- )
- : data;
+ if (
+ header.getContentType()?.toString().includes('application/json') &&
+ typeof data === 'string'
+ ) {
+ return cloneDeep(
+ JSONBigInt({ storeAsString: true, strict: true }).parse(data),
+ );
+ }
+ return data;
},
});
diff --git a/playground/src/locales/langs/en-US/demos.json b/playground/src/locales/langs/en-US/demos.json
index 44b12780e..8697ea3c6 100644
--- a/playground/src/locales/langs/en-US/demos.json
+++ b/playground/src/locales/langs/en-US/demos.json
@@ -65,6 +65,7 @@
"document": "Document",
"antdv": "Ant Design Vue Version",
"naive-ui": "Naive UI Version",
- "element-plus": "Element Plus Version"
+ "element-plus": "Element Plus Version",
+ "tdesign": "TDesign Vue Version"
}
}
diff --git a/playground/src/locales/langs/zh-CN/demos.json b/playground/src/locales/langs/zh-CN/demos.json
index 5cd87ce56..b7823b72e 100644
--- a/playground/src/locales/langs/zh-CN/demos.json
+++ b/playground/src/locales/langs/zh-CN/demos.json
@@ -66,6 +66,7 @@
"document": "文档",
"antdv": "Ant Design Vue 版本",
"naive-ui": "Naive UI 版本",
- "element-plus": "Element Plus 版本"
+ "element-plus": "Element Plus 版本",
+ "tdesign": "TDesign Vue 版本"
}
}
diff --git a/playground/src/router/routes/modules/vben.ts b/playground/src/router/routes/modules/vben.ts
index ec44d58ab..1c1777980 100644
--- a/playground/src/router/routes/modules/vben.ts
+++ b/playground/src/router/routes/modules/vben.ts
@@ -7,8 +7,9 @@ import {
VBEN_GITHUB_URL,
VBEN_LOGO_URL,
VBEN_NAIVE_PREVIEW_URL,
+ VBEN_TD_PREVIEW_URL,
} from '@vben/constants';
-import { SvgAntdvLogoIcon } from '@vben/icons';
+import { SvgAntdvLogoIcon, SvgTDesignIcon } from '@vben/icons';
import { IFrameView } from '#/layouts';
import { $t } from '#/locales';
@@ -77,6 +78,17 @@ const routes: RouteRecordRaw[] = [
title: $t('demos.vben.element-plus'),
},
},
+ {
+ name: 'VbenTDesign',
+ path: '/vben-admin/tdesign',
+ component: IFrameView,
+ meta: {
+ badgeType: 'dot',
+ icon: SvgTDesignIcon,
+ link: VBEN_TD_PREVIEW_URL,
+ title: $t('demos.vben.tdesign'),
+ },
+ },
],
},
{
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bbe029d79..a09ad1257 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -44,7 +44,7 @@ catalogs:
version: 3.2.32
'@iconify/json':
specifier: ^2.2.354
- version: 2.2.404
+ version: 2.2.405
'@iconify/tailwind':
specifier: ^1.2.0
version: 1.2.0
@@ -74,7 +74,7 @@ catalogs:
version: 1.56.1
'@pnpm/workspace.read-manifest':
specifier: ^1000.2.0
- version: 1000.2.5
+ version: 1000.2.6
'@stylistic/stylelint-plugin':
specifier: ^3.1.3
version: 3.1.3
@@ -173,7 +173,7 @@ catalogs:
version: 5.1.1
'@vue/shared':
specifier: ^3.5.17
- version: 3.5.23
+ version: 3.5.24
'@vue/test-utils':
specifier: ^2.4.6
version: 2.4.6
@@ -473,7 +473,7 @@ catalogs:
version: 6.1.0
rollup:
specifier: ^4.44.1
- version: 4.52.5
+ version: 4.53.1
rollup-plugin-visualizer:
specifier: ^5.14.0
version: 5.14.0
@@ -614,10 +614,10 @@ catalogs:
version: 4.1.0
vxe-pc-ui:
specifier: ^4.9.29
- version: 4.10.17
+ version: 4.10.18
vxe-table:
specifier: ^4.16.11
- version: 4.17.11
+ version: 4.17.12
watermark-js-plus:
specifier: ^1.6.2
version: 1.6.3
@@ -681,10 +681,10 @@ importers:
version: link:scripts/vsh
'@vitejs/plugin-vue':
specifier: 'catalog:'
- version: 6.0.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))
+ version: 6.0.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))
'@vitejs/plugin-vue-jsx':
specifier: 'catalog:'
- version: 5.1.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))
+ version: 5.1.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))
'@vue/test-utils':
specifier: 'catalog:'
version: 2.4.6
@@ -723,7 +723,7 @@ importers:
version: 5.9.3
unbuild:
specifier: 'catalog:'
- version: 3.6.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3))
+ version: 3.6.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3))
vite:
specifier: 'catalog:'
version: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
@@ -732,7 +732,7 @@ importers:
version: 3.2.4(@types/node@24.10.0)(happy-dom@17.6.3)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-tsc:
specifier: 'catalog:'
version: 2.2.10(typescript@5.9.3)
@@ -760,13 +760,13 @@ importers:
dependencies:
'@form-create/ant-design-vue':
specifier: 'catalog:'
- version: 3.2.32(vue@3.5.23(typescript@5.9.3))
+ version: 3.2.32(vue@3.5.24(typescript@5.9.3))
'@form-create/antd-designer':
specifier: 'catalog:'
- version: 3.3.2(vue@3.5.23(typescript@5.9.3))
+ version: 3.3.2(vue@3.5.24(typescript@5.9.3))
'@tinymce/tinymce-vue':
specifier: 'catalog:'
- version: 6.3.0(tinymce@7.9.1)(vue@3.5.23(typescript@5.9.3))
+ version: 6.3.0(tinymce@7.9.1)(vue@3.5.24(typescript@5.9.3))
'@vben/access':
specifier: workspace:*
version: link:../../packages/effects/access
@@ -811,16 +811,16 @@ importers:
version: link:../../packages/utils
'@videojs-player/vue':
specifier: 'catalog:'
- version: 1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.23(typescript@5.9.3))
+ version: 1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.24(typescript@5.9.3))
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
'@vueuse/integrations':
specifier: 'catalog:'
- version: 14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.23(typescript@5.9.3))
+ version: 14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.3))
ant-design-vue:
specifier: 'catalog:'
- version: 4.2.6(vue@3.5.23(typescript@5.9.3))
+ version: 4.2.6(vue@3.5.24(typescript@5.9.3))
benz-amr-recorder:
specifier: 'catalog:'
version: 1.1.5
@@ -853,7 +853,7 @@ importers:
version: 11.11.1
pinia:
specifier: ^3.0.3
- version: 3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
steady-xml:
specifier: 'catalog:'
version: 0.1.0
@@ -865,34 +865,34 @@ importers:
version: 7.21.7
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-dompurify-html:
specifier: 'catalog:'
- version: 5.3.0(vue@3.5.23(typescript@5.9.3))
+ version: 5.3.0(vue@3.5.24(typescript@5.9.3))
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
vue3-print-nb:
specifier: 'catalog:'
version: 0.1.4(typescript@5.9.3)
vue3-signature:
specifier: 'catalog:'
- version: 0.2.4(vue@3.5.23(typescript@5.9.3))
+ version: 0.2.4(vue@3.5.24(typescript@5.9.3))
vuedraggable:
specifier: 'catalog:'
- version: 4.1.0(vue@3.5.23(typescript@5.9.3))
+ version: 4.1.0(vue@3.5.24(typescript@5.9.3))
apps/web-ele:
dependencies:
'@form-create/designer':
specifier: 'catalog:'
- version: 3.3.1(vue@3.5.23(typescript@5.9.3))
+ version: 3.3.1(vue@3.5.24(typescript@5.9.3))
'@form-create/element-ui':
specifier: 'catalog:'
- version: 3.2.32(vue@3.5.23(typescript@5.9.3))
+ version: 3.2.32(vue@3.5.24(typescript@5.9.3))
'@tinymce/tinymce-vue':
specifier: 'catalog:'
- version: 6.3.0(tinymce@7.9.1)(vue@3.5.23(typescript@5.9.3))
+ version: 6.3.0(tinymce@7.9.1)(vue@3.5.24(typescript@5.9.3))
'@vben/access':
specifier: workspace:*
version: link:../../packages/effects/access
@@ -937,13 +937,13 @@ importers:
version: link:../../packages/utils
'@videojs-player/vue':
specifier: 'catalog:'
- version: 1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.23(typescript@5.9.3))
+ version: 1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.24(typescript@5.9.3))
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
'@vueuse/integrations':
specifier: 'catalog:'
- version: 14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.23(typescript@5.9.3))
+ version: 14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.3))
benz-amr-recorder:
specifier: 'catalog:'
version: 1.1.5
@@ -955,13 +955,13 @@ importers:
version: 1.11.19
element-plus:
specifier: 'catalog:'
- version: 2.11.7(vue@3.5.23(typescript@5.9.3))
+ version: 2.11.7(vue@3.5.24(typescript@5.9.3))
highlight.js:
specifier: 'catalog:'
version: 11.11.1
pinia:
specifier: ^3.0.3
- version: 3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
tinymce:
specifier: 'catalog:'
version: 7.9.1
@@ -970,16 +970,16 @@ importers:
version: 7.21.7
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-dompurify-html:
specifier: 'catalog:'
- version: 5.3.0(vue@3.5.23(typescript@5.9.3))
+ version: 5.3.0(vue@3.5.24(typescript@5.9.3))
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
vuedraggable:
specifier: 'catalog:'
- version: 4.1.0(vue@3.5.23(typescript@5.9.3))
+ version: 4.1.0(vue@3.5.24(typescript@5.9.3))
devDependencies:
unplugin-element-plus:
specifier: 'catalog:'
@@ -1031,22 +1031,92 @@ importers:
version: link:../../packages/utils
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
dayjs:
specifier: 'catalog:'
version: 1.11.19
naive-ui:
specifier: 'catalog:'
- version: 2.43.1(vue@3.5.23(typescript@5.9.3))
+ version: 2.43.1(vue@3.5.24(typescript@5.9.3))
pinia:
specifier: ^3.0.3
- version: 3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
+
+ apps/web-tdesign:
+ dependencies:
+ '@vben/access':
+ specifier: workspace:*
+ version: link:../../packages/effects/access
+ '@vben/common-ui':
+ specifier: workspace:*
+ version: link:../../packages/effects/common-ui
+ '@vben/constants':
+ specifier: workspace:*
+ version: link:../../packages/constants
+ '@vben/hooks':
+ specifier: workspace:*
+ version: link:../../packages/effects/hooks
+ '@vben/icons':
+ specifier: workspace:*
+ version: link:../../packages/icons
+ '@vben/layouts':
+ specifier: workspace:*
+ version: link:../../packages/effects/layouts
+ '@vben/locales':
+ specifier: workspace:*
+ version: link:../../packages/locales
+ '@vben/plugins':
+ specifier: workspace:*
+ version: link:../../packages/effects/plugins
+ '@vben/preferences':
+ specifier: workspace:*
+ version: link:../../packages/preferences
+ '@vben/request':
+ specifier: workspace:*
+ version: link:../../packages/effects/request
+ '@vben/stores':
+ specifier: workspace:*
+ version: link:../../packages/stores
+ '@vben/styles':
+ specifier: workspace:*
+ version: link:../../packages/styles
+ '@vben/types':
+ specifier: workspace:*
+ version: link:../../packages/types
+ '@vben/utils':
+ specifier: workspace:*
+ version: link:../../packages/utils
+ '@vueuse/core':
+ specifier: 'catalog:'
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
+ dayjs:
+ specifier: 'catalog:'
+ version: 1.11.19
+ lodash-es:
+ specifier: ^4.17.21
+ version: 4.17.21
+ pinia:
+ specifier: ^3.0.3
+ version: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
+ tdesign-vue-next:
+ specifier: ^1.17.1
+ version: 1.17.2(vue@3.5.24(typescript@5.9.3))
+ vue:
+ specifier: ^3.5.17
+ version: 3.5.24(typescript@5.9.3)
+ vue-router:
+ specifier: 'catalog:'
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
+ devDependencies:
+ '@types/lodash-es':
+ specifier: ^4.17.12
+ version: 4.17.12
docs:
dependencies:
@@ -1067,23 +1137,23 @@ importers:
version: link:../packages/styles
ant-design-vue:
specifier: 'catalog:'
- version: 4.2.6(vue@3.5.23(typescript@5.9.3))
+ version: 4.2.6(vue@3.5.24(typescript@5.9.3))
lucide-vue-next:
specifier: 'catalog:'
- version: 0.507.0(vue@3.5.23(typescript@5.9.3))
+ version: 0.507.0(vue@3.5.24(typescript@5.9.3))
medium-zoom:
specifier: 'catalog:'
version: 1.1.0
reka-ui:
specifier: 'catalog:'
- version: 2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 2.6.0(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vitepress-plugin-group-icons:
specifier: 'catalog:'
version: 1.6.5(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))
devDependencies:
'@nolebase/vitepress-plugin-git-changelog':
specifier: 'catalog:'
- version: 2.18.2(vitepress@1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3))
+ version: 2.18.2(vitepress@1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3))
'@vben/vite-config':
specifier: workspace:*
version: link:../internal/vite-config
@@ -1092,10 +1162,10 @@ importers:
version: 1.0.1(vite-plugin-pwa@1.1.0(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(workbox-build@7.3.0)(workbox-window@7.3.0))
vitepress:
specifier: 'catalog:'
- version: 1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3)
+ version: 1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3)
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
internal/lint-configs/commitlint-config:
dependencies:
@@ -1286,7 +1356,7 @@ importers:
dependencies:
'@iconify/json':
specifier: 'catalog:'
- version: 2.2.404
+ version: 2.2.405
'@iconify/tailwind':
specifier: 'catalog:'
version: 1.2.0
@@ -1341,7 +1411,7 @@ importers:
dependencies:
'@intlify/unplugin-vue-i18n':
specifier: 'catalog:'
- version: 6.0.8(@vue/compiler-dom@3.5.23)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))
+ version: 6.0.8(@vue/compiler-dom@3.5.24)(eslint@9.39.1(jiti@2.6.1))(rollup@4.53.1)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)))(vue@3.5.24(typescript@5.9.3))
'@jspm/generator':
specifier: 'catalog:'
version: 2.7.6
@@ -1368,11 +1438,11 @@ importers:
version: 1.1.0(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0)
vite-plugin-vue-devtools:
specifier: 'catalog:'
- version: 7.7.7(rollup@4.52.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))
+ version: 7.7.7(rollup@4.53.1)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))
devDependencies:
'@pnpm/workspace.read-manifest':
specifier: 'catalog:'
- version: 1000.2.5
+ version: 1000.2.6
'@types/archiver':
specifier: 'catalog:'
version: 6.0.4
@@ -1384,10 +1454,10 @@ importers:
version: link:../node-utils
'@vitejs/plugin-vue':
specifier: 'catalog:'
- version: 6.0.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))
+ version: 6.0.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))
'@vitejs/plugin-vue-jsx':
specifier: 'catalog:'
- version: 5.1.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))
+ version: 5.1.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))
dayjs:
specifier: 'catalog:'
version: 1.11.19
@@ -1396,10 +1466,10 @@ importers:
version: 16.6.1
rollup:
specifier: 'catalog:'
- version: 4.52.5
+ version: 4.53.1
rollup-plugin-visualizer:
specifier: 'catalog:'
- version: 5.14.0(rollup@4.52.5)
+ version: 5.14.0(rollup@4.53.1)
sass:
specifier: 'catalog:'
version: 1.93.3
@@ -1411,7 +1481,7 @@ importers:
version: 0.5.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
vite-plugin-dts:
specifier: 'catalog:'
- version: 4.5.4(@types/node@24.10.0)(rollup@4.52.5)(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
+ version: 4.5.4(@types/node@24.10.0)(rollup@4.53.1)(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
vite-plugin-html:
specifier: 'catalog:'
version: 3.2.2(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
@@ -1425,13 +1495,13 @@ importers:
dependencies:
'@iconify/vue':
specifier: 'catalog:'
- version: 5.0.0(vue@3.5.23(typescript@5.9.3))
+ version: 5.0.0(vue@3.5.24(typescript@5.9.3))
lucide-vue-next:
specifier: 'catalog:'
- version: 0.507.0(vue@3.5.23(typescript@5.9.3))
+ version: 0.507.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/@core/base/shared:
dependencies:
@@ -1440,10 +1510,10 @@ importers:
version: 4.2.0
'@tanstack/vue-store':
specifier: 'catalog:'
- version: 0.7.7(vue@3.5.23(typescript@5.9.3))
+ version: 0.7.7(vue@3.5.24(typescript@5.9.3))
'@vue/shared':
specifier: 'catalog:'
- version: 3.5.23
+ version: 3.5.24
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -1504,10 +1574,10 @@ importers:
dependencies:
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
packages/@core/composables:
dependencies:
@@ -1516,16 +1586,16 @@ importers:
version: link:../base/shared
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
reka-ui:
specifier: 'catalog:'
- version: 2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 2.6.0(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
sortablejs:
specifier: 'catalog:'
version: 1.15.6
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
devDependencies:
'@types/sortablejs':
specifier: 'catalog:'
@@ -1541,10 +1611,10 @@ importers:
version: link:../base/typings
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/@core/ui-kit/form-ui:
dependencies:
@@ -1565,16 +1635,16 @@ importers:
version: link:../../base/typings
'@vee-validate/zod':
specifier: 'catalog:'
- version: 4.15.1(vue@3.5.23(typescript@5.9.3))(zod@3.25.76)
+ version: 4.15.1(vue@3.5.24(typescript@5.9.3))(zod@3.25.76)
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vee-validate:
specifier: 'catalog:'
- version: 4.15.1(vue@3.5.23(typescript@5.9.3))
+ version: 4.15.1(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
zod:
specifier: 'catalog:'
version: 3.25.76
@@ -1601,10 +1671,10 @@ importers:
version: link:../../base/typings
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/@core/ui-kit/menu-ui:
dependencies:
@@ -1625,10 +1695,10 @@ importers:
version: link:../../base/typings
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/@core/ui-kit/popup-ui:
dependencies:
@@ -1649,10 +1719,10 @@ importers:
version: link:../../base/typings
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/@core/ui-kit/shadcn-ui:
dependencies:
@@ -1670,22 +1740,22 @@ importers:
version: link:../../base/typings
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
class-variance-authority:
specifier: 'catalog:'
version: 0.7.1
lucide-vue-next:
specifier: 'catalog:'
- version: 0.507.0(vue@3.5.23(typescript@5.9.3))
+ version: 0.507.0(vue@3.5.24(typescript@5.9.3))
reka-ui:
specifier: 'catalog:'
- version: 2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 2.6.0(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vee-validate:
specifier: 'catalog:'
- version: 4.15.1(vue@3.5.23(typescript@5.9.3))
+ version: 4.15.1(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/@core/ui-kit/tabs-ui:
dependencies:
@@ -1703,10 +1773,10 @@ importers:
version: link:../../base/typings
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/constants:
dependencies:
@@ -1730,7 +1800,7 @@ importers:
version: link:../../utils
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
packages/effects/common-ui:
dependencies:
@@ -1766,10 +1836,10 @@ importers:
version: link:../../types
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
'@vueuse/integrations':
specifier: 'catalog:'
- version: 14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.23(typescript@5.9.3))
+ version: 14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.3))
json-bigint:
specifier: 'catalog:'
version: 1.0.0
@@ -1781,16 +1851,16 @@ importers:
version: 6.3.7
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-json-viewer:
specifier: 'catalog:'
- version: 3.0.4(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.4(vue@3.5.24(typescript@5.9.3))
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
vue-tippy:
specifier: 'catalog:'
- version: 6.7.1(vue@3.5.23(typescript@5.9.3))
+ version: 6.7.1(vue@3.5.24(typescript@5.9.3))
devDependencies:
'@types/qrcode':
specifier: 'catalog:'
@@ -1815,13 +1885,13 @@ importers:
version: link:../../utils
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
watermark-js-plus:
specifier: 'catalog:'
version: 1.6.3
@@ -1878,19 +1948,19 @@ importers:
version: link:../../utils
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
packages/effects/plugins:
dependencies:
'@tinyflow-ai/vue':
specifier: 'catalog:'
- version: 1.1.9(svelte@5.43.4)(vue@3.5.23(typescript@5.9.3))
+ version: 1.1.9(svelte@5.43.5)(vue@3.5.24(typescript@5.9.3))
'@vben-core/form-ui':
specifier: workspace:*
version: link:../../@core/ui-kit/form-ui
@@ -1920,10 +1990,10 @@ importers:
version: link:../../utils
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
'@vueuse/motion':
specifier: 'catalog:'
- version: 3.0.3(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.3(vue@3.5.24(typescript@5.9.3))
codemirror:
specifier: 'catalog:'
version: 5.65.20
@@ -1947,13 +2017,13 @@ importers:
version: 0.16.0(markmap-common@0.16.0)
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vxe-pc-ui:
specifier: 'catalog:'
- version: 4.10.17(vue@3.5.23(typescript@5.9.3))
+ version: 4.10.18(vue@3.5.24(typescript@5.9.3))
vxe-table:
specifier: 'catalog:'
- version: 4.17.11(vue@3.5.23(typescript@5.9.3))
+ version: 4.17.12(vue@3.5.24(typescript@5.9.3))
devDependencies:
'@types/codemirror':
specifier: 'catalog:'
@@ -2003,10 +2073,10 @@ importers:
version: link:../@core/composables
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-i18n:
specifier: 'catalog:'
- version: 11.1.12(vue@3.5.23(typescript@5.9.3))
+ version: 11.1.12(vue@3.5.24(typescript@5.9.3))
packages/preferences:
dependencies:
@@ -2030,19 +2100,19 @@ importers:
version: link:../@core/base/typings
pinia:
specifier: ^3.0.3
- version: 3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
pinia-plugin-persistedstate:
specifier: 'catalog:'
- version: 4.7.1(@nuxt/kit@3.20.1)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)))
+ version: 4.7.1(@nuxt/kit@3.20.1)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3)))
secure-ls:
specifier: 'catalog:'
version: 2.0.0
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
packages/styles:
dependencies:
@@ -2057,10 +2127,10 @@ importers:
version: link:../@core/base/typings
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
packages/utils:
dependencies:
@@ -2072,13 +2142,13 @@ importers:
version: link:../@core/base/typings
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
playground:
dependencies:
'@tanstack/vue-query':
specifier: 'catalog:'
- version: 5.90.7(vue@3.5.23(typescript@5.9.3))
+ version: 5.90.7(vue@3.5.24(typescript@5.9.3))
'@vben-core/menu-ui':
specifier: workspace:*
version: link:../packages/@core/ui-kit/menu-ui
@@ -2126,10 +2196,10 @@ importers:
version: link:../packages/utils
'@vueuse/core':
specifier: 'catalog:'
- version: 13.9.0(vue@3.5.23(typescript@5.9.3))
+ version: 13.9.0(vue@3.5.24(typescript@5.9.3))
ant-design-vue:
specifier: 'catalog:'
- version: 4.2.6(vue@3.5.23(typescript@5.9.3))
+ version: 4.2.6(vue@3.5.24(typescript@5.9.3))
dayjs:
specifier: 'catalog:'
version: 1.11.19
@@ -2138,13 +2208,13 @@ importers:
version: 1.0.0
pinia:
specifier: ^3.0.3
- version: 3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ version: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vue:
specifier: ^3.5.17
- version: 3.5.23(typescript@5.9.3)
+ version: 3.5.24(typescript@5.9.3)
vue-router:
specifier: 'catalog:'
- version: 4.6.3(vue@3.5.23(typescript@5.9.3))
+ version: 4.6.3(vue@3.5.24(typescript@5.9.3))
devDependencies:
'@types/json-bigint':
specifier: 'catalog:'
@@ -2182,8 +2252,8 @@ importers:
packages:
- '@algolia/abtesting@1.8.0':
- resolution: {integrity: sha512-Hb4BkGNnvgCj3F9XzqjiFTpA5IGkjOXwGAOV13qtc27l2qNF8X9rzSp1H5hu8XewlC0DzYtQtZZIOYzRZDyuXg==}
+ '@algolia/abtesting@1.9.0':
+ resolution: {integrity: sha512-4q9QCxFPiDIx1n5w41A1JMkrXI8p0ugCQnCGFtCKZPmWtwgWCqwVRncIbp++81xSELFZVQUfiB7Kbsla1tIBSw==}
engines: {node: '>= 14.0.0'}
'@algolia/autocomplete-core@1.17.7':
@@ -2206,56 +2276,56 @@ packages:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- '@algolia/client-abtesting@5.42.0':
- resolution: {integrity: sha512-JLyyG7bb7XOda+w/sp8ch7rEVy6LnWs3qtxr6VJJ2XIINqGsY6U+0L3aJ6QFliBRNUeEAr2QBDxSm8u9Sal5uA==}
+ '@algolia/client-abtesting@5.43.0':
+ resolution: {integrity: sha512-YsKYkohIMxiYEAu8nppZi5EioYDUIo9Heoor8K8vMUnkUtGCOEU/Q4p5OWaYSSBx3evo09Ga9rG4jsKViIcDzQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-analytics@5.42.0':
- resolution: {integrity: sha512-SkCrvtZpdSWjNq9NGu/TtOg4TbzRuUToXlQqV6lLePa2s/WQlEyFw7QYjrz4itprWG9ASuH+StDlq7n49F2sBA==}
+ '@algolia/client-analytics@5.43.0':
+ resolution: {integrity: sha512-kDGJWt3nzf0nu5RPFXQhNGl6Q0cn35fazxVWXhd0Fw3Vo6gcVfrcezcBenHb66laxnVJ7uwr1uKhmsu3Wy25sQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-common@5.42.0':
- resolution: {integrity: sha512-6iiFbm2tRn6B2OqFv9XDTcw5LdWPudiJWIbRk+fsTX+hkPrPm4e1/SbU+lEYBciPoaTShLkDbRge4UePEyCPMQ==}
+ '@algolia/client-common@5.43.0':
+ resolution: {integrity: sha512-RAFipkAnI8xhL/Sgi/gpXgNWN5HDM6F7z4NNNOcI8ZMYysZEBsqVXojg/WdKEKkQCOHVTZ3mooIjc5BaQdyVtA==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-insights@5.42.0':
- resolution: {integrity: sha512-iEokmw2k6FBa8g/TT7ClyEriaP/FUEmz3iczRoCklEHWSgoABMkaeYrxRXrA2yx76AN+gyZoC8FX0iCJ55dsOg==}
+ '@algolia/client-insights@5.43.0':
+ resolution: {integrity: sha512-PmVs83THco8Qig3cAjU9a5eAGaSxsfgh7PdmWMQFE/MCmIcLPv0MVpgfcGGyPjZGYvPC4cg+3q7JJxcNSsEaTg==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-personalization@5.42.0':
- resolution: {integrity: sha512-ivVniRqX2ARd+jGvRHTxpWeOtO9VT+rK+OmiuRgkSunoTyxk0vjeDO7QkU7+lzBOXiYgakNjkZrBtIpW9c+muw==}
+ '@algolia/client-personalization@5.43.0':
+ resolution: {integrity: sha512-Bs4zMLXvkAr19FSOZWNizlNUpRFxZVxtvyEJ+q3n3+hPZUcKjo0LIh15qghhRcQPEihjBN6Gr/U+AqRfOCsvnA==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-query-suggestions@5.42.0':
- resolution: {integrity: sha512-9+BIw6rerUfA+eLMIS2lF4mgoeBGTCIHiqb35PLn3699Rm3CaJXz03hChdwAWcA6SwGw0haYXYJa7LF0xI6EpA==}
+ '@algolia/client-query-suggestions@5.43.0':
+ resolution: {integrity: sha512-pwHv+z8TZAKbwAWt9+v2gIqlqcCFiMdteTdgdPn2yOBRx4WUQdsIWAaG9GiV3by8jO51FuFQnTohhauuI63y3A==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-search@5.42.0':
- resolution: {integrity: sha512-NZR7yyHj2WzK6D5X8gn+/KOxPdzYEXOqVdSaK/biU8QfYUpUuEA0sCWg/XlO05tPVEcJelF/oLrrNY3UjRbOww==}
+ '@algolia/client-search@5.43.0':
+ resolution: {integrity: sha512-wKy6x6fKcnB1CsfeNNdGp4dzLzz04k8II3JLt6Sp81F8s57Ks3/K9qsysmL9SJa8P486s719bBttVLE8JJYurQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/ingestion@1.42.0':
- resolution: {integrity: sha512-MBkjRymf4BT6VOvMpJlg6kq8K+PkH9q+N+K4YMNdzTXlL40YwOa1wIWQ5LxP/Jhlz64kW5g9/oaMWY06Sy9dcw==}
+ '@algolia/ingestion@1.43.0':
+ resolution: {integrity: sha512-TA21h2KwqCUyPXhSAWF3R2UES/FAnzjaVPDI6cRPXeadX+pdrGN0GWat5gSUATJVcMHECn+lGvuMMRxO86o2Pg==}
engines: {node: '>= 14.0.0'}
- '@algolia/monitoring@1.42.0':
- resolution: {integrity: sha512-kmLs7YfjT4cpr4FnhhRmnoSX4psh9KYZ9NAiWt/YcUV33m0B/Os5L4QId30zVXkOqAPAEpV5VbDPWep+/aoJdQ==}
+ '@algolia/monitoring@1.43.0':
+ resolution: {integrity: sha512-rvWVEiA1iLcFmHS3oIXGIBreHIxNZqEFDjiNyRtLEffgd62kul2DjXM7H5bOouDMTo1ywMWT9OeQnzrhlTGAwA==}
engines: {node: '>= 14.0.0'}
- '@algolia/recommend@5.42.0':
- resolution: {integrity: sha512-U5yZ8+Jj+A4ZC0IMfElpPcddQ9NCoawD1dKyWmjHP49nzN2Z4284IFVMAJWR6fq/0ddGf4OMjjYO9cnF8L+5tw==}
+ '@algolia/recommend@5.43.0':
+ resolution: {integrity: sha512-scCijGd38npvH2uHbYhO4f1SR8It5R2FZqOjNcMfw/7Ph7Hxvl+cd7Mo6RzIxsNRcLW5RrwjtpTK3gpDe8r/WQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/requester-browser-xhr@5.42.0':
- resolution: {integrity: sha512-EbuxgteaYBlKgc2Fs3JzoPIKAIaevAIwmv1F+fakaEXeibG4pkmVNsyTUjpOZIgJ1kXeqNvDrcjRb6g3vYBJ9A==}
+ '@algolia/requester-browser-xhr@5.43.0':
+ resolution: {integrity: sha512-jMkRLWJYr4Hcmpl89e4vIWs69Mkf8Uwx7MG5ZKk2UxW3G3TmouGjI0Ph5mVPmg3Jf1UG3AdmVDc4XupzycT1Jw==}
engines: {node: '>= 14.0.0'}
- '@algolia/requester-fetch@5.42.0':
- resolution: {integrity: sha512-4vnFvY5Q8QZL9eDNkywFLsk/eQCRBXCBpE8HWs8iUsFNHYoamiOxAeYMin0W/nszQj6abc+jNxMChHmejO+ftQ==}
+ '@algolia/requester-fetch@5.43.0':
+ resolution: {integrity: sha512-KyQiVz+HdYtissC0J9KIGhHhKytQyJX+82GVsbv5rSCXbETnAoojvUyCn+3KRtWUvMDYCsZ+Y7hM71STTUJUJg==}
engines: {node: '>= 14.0.0'}
- '@algolia/requester-node-http@5.42.0':
- resolution: {integrity: sha512-gkLNpU+b1pCIwk1hKTJz2NWQPT8gsfGhQasnZ5QVv4jd79fKRL/1ikd86P0AzuIQs9tbbhlMwxsSTyJmlq502w==}
+ '@algolia/requester-node-http@5.43.0':
+ resolution: {integrity: sha512-UnUBNY0U+oT0bkYDsEqVsCkErC2w7idk4CRiLSzicqY8tGylD9oP0j13X/fse1CuiAFCCr3jfl+cBlN6dC0OFw==}
engines: {node: '>= 14.0.0'}
'@alloc/quick-lru@5.2.0':
@@ -3962,17 +4032,17 @@ packages:
'@iconify-json/logos@1.2.10':
resolution: {integrity: sha512-qxaXKJ6fu8jzTMPQdHtNxlfx6tBQ0jXRbHZIYy5Ilh8Lx9US9FsAdzZWUR8MXV8PnWTKGDFO4ZZee9VwerCyMA==}
- '@iconify-json/octicon@1.2.17':
- resolution: {integrity: sha512-U/mznjeCeZzuqpP25zWGcF4amLaYnNLs9sTN2hYALa+28n33KUXj/XjLmpAjIUvsyvn91jxfwdxSE79HfM4jCg==}
+ '@iconify-json/octicon@1.2.18':
+ resolution: {integrity: sha512-rj94lgRl70HXovRxD+xSOpSql6cj3N8rv3ouSh7UJEuAFim0RcCEt2JQhr8hiS5Lj1D65EQP7oSNMrVOkYi8kg==}
- '@iconify-json/simple-icons@1.2.57':
- resolution: {integrity: sha512-/yWbO502M6WfvmcV5OjEgA4uoPN/76nrn7Hri/8g9L4GiNQ6VMgXWE9vFp4tDsmGMAe4ZCov3NbH6vJCgXZ1hA==}
+ '@iconify-json/simple-icons@1.2.58':
+ resolution: {integrity: sha512-XtXEoRALqztdNc9ujYBj2tTCPKdIPKJBdLNDebFF46VV1aOAwTbAYMgNsK5GMCpTJupLCmpBWDn+gX5SpECorQ==}
'@iconify-json/vscode-icons@1.2.33':
resolution: {integrity: sha512-2lKDybGxXXeLeeqeNT2YVDYXs5va0YMHf06w3GemS22j/0CCTpKwKDK7REaibsCq3bRV8qX0RJDM4AbREE7L+w==}
- '@iconify/json@2.2.404':
- resolution: {integrity: sha512-K11bUBMW7gb/PhzJNZvDDJDq3hEVXoJArsdbr+9LQQqd2TrWEd5+PtctNcfJLu4epgjwDppaLJnN6AEPI1BL9w==}
+ '@iconify/json@2.2.405':
+ resolution: {integrity: sha512-wpZMsZoqt6tHbipJ/JmkhRK1TWkmRrTBfL2pi48qXyqUxF56+OEUVB61VkcQ1hMKj/tDAIicFSirkaRZkMwliw==}
'@iconify/tailwind@1.2.0':
resolution: {integrity: sha512-KgpIHWOTcRYw1XcoUqyNSrmYyfLLqZYu3AmP8zdfLk0F5TqRO8YerhlvlQmGfn7rJXgPeZN569xPAJnJ53zZxA==}
@@ -3988,8 +4058,8 @@ packages:
peerDependencies:
vue: ^3.5.17
- '@inquirer/external-editor@1.0.2':
- resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==}
+ '@inquirer/external-editor@1.0.3':
+ resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
@@ -4332,12 +4402,12 @@ packages:
resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==}
engines: {node: '>=12'}
- '@pnpm/types@1000.9.0':
- resolution: {integrity: sha512-UvDTCxnbyqkTg2X0dBOuZ4IdFJ8g4UFu0Ybv/5/cZAxCWVhNl1hC/Xc9hR4tZrlBL0NRFePLRhO/iw9LmA1lbw==}
+ '@pnpm/types@1001.0.0':
+ resolution: {integrity: sha512-9P7I8Zv8hvAO81+D5KVmwveH4nmxhBNFEEeb77YYPV72bkyqzKTR6I8OGEs7TNZ6gPHufF+lIyBVEqO6SMFpJA==}
engines: {node: '>=18.12'}
- '@pnpm/workspace.read-manifest@1000.2.5':
- resolution: {integrity: sha512-kiFdZbwoIqNEwfBVSprSXuaKHdlORingq2uR4ofH9F8r8lwpIY/2bACl6VuFASHGSZ1Bs3Oy6VicSMPQRsKTJg==}
+ '@pnpm/workspace.read-manifest@1000.2.6':
+ resolution: {integrity: sha512-XfdmbSiej5AdyclbLeI7kvQ7GQ/2GL0hILpaATQUwgVFR7oijscpcBEKtuN8AZXZSHBfuJXzsGAHIwBAyPrXLg==}
engines: {node: '>=18.12'}
'@polka/url@1.0.0-next.29':
@@ -4472,124 +4542,124 @@ packages:
rollup:
optional: true
- '@rollup/rollup-android-arm-eabi@4.52.5':
- resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==}
+ '@rollup/rollup-android-arm-eabi@4.53.1':
+ resolution: {integrity: sha512-bxZtughE4VNVJlL1RdoSE545kc4JxL7op57KKoi59/gwuU5rV6jLWFXXc8jwgFoT6vtj+ZjO+Z2C5nrY0Cl6wA==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.52.5':
- resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==}
+ '@rollup/rollup-android-arm64@4.53.1':
+ resolution: {integrity: sha512-44a1hreb02cAAfAKmZfXVercPFaDjqXCK+iKeVOlJ9ltvnO6QqsBHgKVPTu+MJHSLLeMEUbeG2qiDYgbFPU48g==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.52.5':
- resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==}
+ '@rollup/rollup-darwin-arm64@4.53.1':
+ resolution: {integrity: sha512-usmzIgD0rf1syoOZ2WZvy8YpXK5G1V3btm3QZddoGSa6mOgfXWkkv+642bfUUldomgrbiLQGrPryb7DXLovPWQ==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.52.5':
- resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==}
+ '@rollup/rollup-darwin-x64@4.53.1':
+ resolution: {integrity: sha512-is3r/k4vig2Gt8mKtTlzzyaSQ+hd87kDxiN3uDSDwggJLUV56Umli6OoL+/YZa/KvtdrdyNfMKHzL/P4siOOmg==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.52.5':
- resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==}
+ '@rollup/rollup-freebsd-arm64@4.53.1':
+ resolution: {integrity: sha512-QJ1ksgp/bDJkZB4daldVmHaEQkG4r8PUXitCOC2WRmRaSaHx5RwPoI3DHVfXKwDkB+Sk6auFI/+JHacTekPRSw==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.52.5':
- resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==}
+ '@rollup/rollup-freebsd-x64@4.53.1':
+ resolution: {integrity: sha512-J6ma5xgAzvqsnU6a0+jgGX/gvoGokqpkx6zY4cWizRrm0ffhHDpJKQgC8dtDb3+MqfZDIqs64REbfHDMzxLMqQ==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.52.5':
- resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.53.1':
+ resolution: {integrity: sha512-JzWRR41o2U3/KMNKRuZNsDUAcAVUYhsPuMlx5RUldw0E4lvSIXFUwejtYz1HJXohUmqs/M6BBJAUBzKXZVddbg==}
cpu: [arm]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm-musleabihf@4.52.5':
- resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.53.1':
+ resolution: {integrity: sha512-L8kRIrnfMrEoHLHtHn+4uYA52fiLDEDyezgxZtGUTiII/yb04Krq+vk3P2Try+Vya9LeCE9ZHU8CXD6J9EhzHQ==}
cpu: [arm]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-arm64-gnu@4.52.5':
- resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
+ '@rollup/rollup-linux-arm64-gnu@4.53.1':
+ resolution: {integrity: sha512-ysAc0MFRV+WtQ8li8hi3EoFi7us6d1UzaS/+Dp7FYZfg3NdDljGMoVyiIp6Ucz7uhlYDBZ/zt6XI0YEZbUO11Q==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm64-musl@4.52.5':
- resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
+ '@rollup/rollup-linux-arm64-musl@4.53.1':
+ resolution: {integrity: sha512-UV6l9MJpDbDZZ/fJvqNcvO1PcivGEf1AvKuTcHoLjVZVFeAMygnamCTDikCVMRnA+qJe+B3pSbgX2+lBMqgBhA==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-loong64-gnu@4.52.5':
- resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
+ '@rollup/rollup-linux-loong64-gnu@4.53.1':
+ resolution: {integrity: sha512-UDUtelEprkA85g95Q+nj3Xf0M4hHa4DiJ+3P3h4BuGliY4NReYYqwlc0Y8ICLjN4+uIgCEvaygYlpf0hUj90Yg==}
cpu: [loong64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-ppc64-gnu@4.52.5':
- resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
+ '@rollup/rollup-linux-ppc64-gnu@4.53.1':
+ resolution: {integrity: sha512-vrRn+BYhEtNOte/zbc2wAUQReJXxEx2URfTol6OEfY2zFEUK92pkFBSXRylDM7aHi+YqEPJt9/ABYzmcrS4SgQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-riscv64-gnu@4.52.5':
- resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
+ '@rollup/rollup-linux-riscv64-gnu@4.53.1':
+ resolution: {integrity: sha512-gto/1CxHyi4A7YqZZNznQYrVlPSaodOBPKM+6xcDSCMVZN/Fzb4K+AIkNz/1yAYz9h3Ng+e2fY9H6bgawVq17w==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-riscv64-musl@4.52.5':
- resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
+ '@rollup/rollup-linux-riscv64-musl@4.53.1':
+ resolution: {integrity: sha512-KZ6Vx7jAw3aLNjFR8eYVcQVdFa/cvBzDNRFM3z7XhNNunWjA03eUrEwJYPk0G8V7Gs08IThFKcAPS4WY/ybIrQ==}
cpu: [riscv64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-s390x-gnu@4.52.5':
- resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
+ '@rollup/rollup-linux-s390x-gnu@4.53.1':
+ resolution: {integrity: sha512-HvEixy2s/rWNgpwyKpXJcHmE7om1M89hxBTBi9Fs6zVuLU4gOrEMQNbNsN/tBVIMbLyysz/iwNiGtMOpLAOlvA==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-gnu@4.52.5':
- resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
+ '@rollup/rollup-linux-x64-gnu@4.53.1':
+ resolution: {integrity: sha512-E/n8x2MSjAQgjj9IixO4UeEUeqXLtiA7pyoXCFYLuXpBA/t2hnbIdxHfA7kK9BFsYAoNU4st1rHYdldl8dTqGA==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-musl@4.52.5':
- resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
+ '@rollup/rollup-linux-x64-musl@4.53.1':
+ resolution: {integrity: sha512-IhJ087PbLOQXCN6Ui/3FUkI9pWNZe/Z7rEIVOzMsOs1/HSAECCvSZ7PkIbkNqL/AZn6WbZvnoVZw/qwqYMo4/w==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rollup/rollup-openharmony-arm64@4.52.5':
- resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==}
+ '@rollup/rollup-openharmony-arm64@4.53.1':
+ resolution: {integrity: sha512-0++oPNgLJHBblreu0SFM7b3mAsBJBTY0Ksrmu9N6ZVrPiTkRgda52mWR7TKhHAsUb9noCjFvAw9l6ZO1yzaVbA==}
cpu: [arm64]
os: [openharmony]
- '@rollup/rollup-win32-arm64-msvc@4.52.5':
- resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==}
+ '@rollup/rollup-win32-arm64-msvc@4.53.1':
+ resolution: {integrity: sha512-VJXivz61c5uVdbmitLkDlbcTk9Or43YC2QVLRkqp86QoeFSqI81bNgjhttqhKNMKnQMWnecOCm7lZz4s+WLGpQ==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.52.5':
- resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==}
+ '@rollup/rollup-win32-ia32-msvc@4.53.1':
+ resolution: {integrity: sha512-NmZPVTUOitCXUH6erJDzTQ/jotYw4CnkMDjCYRxNHVD9bNyfrGoIse684F9okwzKCV4AIHRbUkeTBc9F2OOH5Q==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-gnu@4.52.5':
- resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==}
+ '@rollup/rollup-win32-x64-gnu@4.53.1':
+ resolution: {integrity: sha512-2SNj7COIdAf6yliSpLdLG8BEsp5lgzRehgfkP0Av8zKfQFKku6JcvbobvHASPJu4f3BFxej5g+HuQPvqPhHvpQ==}
cpu: [x64]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.52.5':
- resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==}
+ '@rollup/rollup-win32-x64-msvc@4.53.1':
+ resolution: {integrity: sha512-rLarc1Ofcs3DHtgSzFO31pZsCh8g05R2azN1q3fF+H423Co87My0R+tazOEvYVKXSLh8C4LerMK41/K7wlklcg==}
cpu: [x64]
os: [win32]
@@ -4975,12 +5045,18 @@ packages:
'@types/tern@0.23.9':
resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==}
+ '@types/tinycolor2@1.4.6':
+ resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==}
+
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@types/validator@13.15.4':
+ resolution: {integrity: sha512-LSFfpSnJJY9wbC0LQxgvfb+ynbHftFo0tMsFOl/J4wexLnYMmDSPaj2ZyDv3TkfL1UePxPrxOWJfbiRS8mQv7A==}
+
'@types/video.js@7.3.58':
resolution: {integrity: sha512-1CQjuSrgbv1/dhmcfQ83eVyYbvGyqhTvb2Opxr0QCV+iJ4J6/J+XWQ3Om59WiwCd1MN3rDUHasx5XRrpUtewYQ==}
@@ -5296,17 +5372,17 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@vue/compiler-core@3.5.23':
- resolution: {integrity: sha512-nW7THWj5HOp085ROk65LwaoxuzDsjIxr485F4iu63BoxsXoSqKqmsUUoP4A7Gl67DgIgi0zJ8JFgHfvny/74MA==}
+ '@vue/compiler-core@3.5.24':
+ resolution: {integrity: sha512-eDl5H57AOpNakGNAkFDH+y7kTqrQpJkZFXhWZQGyx/5Wh7B1uQYvcWkvZi11BDhscPgj8N7XV3oRwiPnx1Vrig==}
- '@vue/compiler-dom@3.5.23':
- resolution: {integrity: sha512-AT8RMw0vEzzzO0JU5gY0F6iCzaWUIh/aaRVordzMBKXRpoTllTT4kocHDssByPsvodNCfump/Lkdow2mT/O5KQ==}
+ '@vue/compiler-dom@3.5.24':
+ resolution: {integrity: sha512-1QHGAvs53gXkWdd3ZMGYuvQFXHW4ksKWPG8HP8/2BscrbZ0brw183q2oNWjMrSWImYLHxHrx1ItBQr50I/q2zw==}
- '@vue/compiler-sfc@3.5.23':
- resolution: {integrity: sha512-3QTEUo4qg7FtQwaDJa8ou1CUikx5WTtZlY61rRRDu3lK2ZKrGoAGG8mvDgOpDsQ4A1bez9s+WtBB6DS2KuFCPw==}
+ '@vue/compiler-sfc@3.5.24':
+ resolution: {integrity: sha512-8EG5YPRgmTB+YxYBM3VXy8zHD9SWHUJLIGPhDovo3Z8VOgvP+O7UP5vl0J4BBPWYD9vxtBabzW1EuEZ+Cqs14g==}
- '@vue/compiler-ssr@3.5.23':
- resolution: {integrity: sha512-Hld2xphbMjXs9Q9WKxPf2EqmE+Rq/FEDnK/wUBtmYq74HCV4XDdSCheAaB823OQXIIFGq9ig/RbAZkF9s4U0Ow==}
+ '@vue/compiler-ssr@3.5.24':
+ resolution: {integrity: sha512-trOvMWNBMQ/odMRHW7Ae1CdfYx+7MuiQu62Jtu36gMLXcaoqKvAyh+P73sYG9ll+6jLB6QPovqoKGGZROzkFFg==}
'@vue/compiler-vue2@2.7.16':
resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
@@ -5344,22 +5420,22 @@ packages:
typescript:
optional: true
- '@vue/reactivity@3.5.23':
- resolution: {integrity: sha512-ji5w0qvrPyBmBx5Ldv4QGNsw0phgRreEvjt0iUf1lei2Sm8//9ZAi78uM2ZjsT5gk0YZilLuoRCIMvtuZlHMJw==}
+ '@vue/reactivity@3.5.24':
+ resolution: {integrity: sha512-BM8kBhtlkkbnyl4q+HiF5R5BL0ycDPfihowulm02q3WYp2vxgPcJuZO866qa/0u3idbMntKEtVNuAUp5bw4teg==}
- '@vue/runtime-core@3.5.23':
- resolution: {integrity: sha512-LMB0S6/G7mFJcpQeQaZrbsthFbWrIX8FVTzu5x9U3Ec8YW5MY1CGAnBBHNj+TPOBu3pIbtPpjrXtcaN04X+aBw==}
+ '@vue/runtime-core@3.5.24':
+ resolution: {integrity: sha512-RYP/byyKDgNIqfX/gNb2PB55dJmM97jc9wyF3jK7QUInYKypK2exmZMNwnjueWwGceEkP6NChd3D2ZVEp9undQ==}
- '@vue/runtime-dom@3.5.23':
- resolution: {integrity: sha512-r/PYc8W9THzEL0UExpTkV+d31zO+Jid/RMZIDG6aS/NekOEUHuCJkJgftySWZw7JTJO/+q9Kxkg8p+i7Q7Q+ew==}
+ '@vue/runtime-dom@3.5.24':
+ resolution: {integrity: sha512-Z8ANhr/i0XIluonHVjbUkjvn+CyrxbXRIxR7wn7+X7xlcb7dJsfITZbkVOeJZdP8VZwfrWRsWdShH6pngMxRjw==}
- '@vue/server-renderer@3.5.23':
- resolution: {integrity: sha512-NiWZsNCsXA20/VufcrW5u+Trt/PyFlpMmxaB2KERYM8eZgUoKUjXxJQb9ypq+LZ0Sp3XHJGNBR8DkhRnkKAMUw==}
+ '@vue/server-renderer@3.5.24':
+ resolution: {integrity: sha512-Yh2j2Y4G/0/4z/xJ1Bad4mxaAk++C2v4kaa8oSYTMJBJ00/ndPuxCnWeot0/7/qafQFLh5pr6xeV6SdMcE/G1w==}
peerDependencies:
vue: ^3.5.17
- '@vue/shared@3.5.23':
- resolution: {integrity: sha512-0YZ1DYuC5o/YJPf6pFdt2KYxVGDxkDbH/1NYJnVJWUkzr8ituBEmFVQRNX2gCaAsFEjEDnLkWpgqlZA7htgS/g==}
+ '@vue/shared@3.5.24':
+ resolution: {integrity: sha512-9cwHL2EsJBdi8NY22pngYYWzkTDhld6fAD6jlaeloNGciNSJL6bLpbxVgXl96X00Jtc6YWQv96YA/0sxex/k1A==}
'@vue/test-utils@2.4.6':
resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
@@ -5579,8 +5655,8 @@ packages:
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- algoliasearch@5.42.0:
- resolution: {integrity: sha512-X5+PtWc9EJIPafT/cj8ZG+6IU3cjRRnlHGtqMHK/9gsiupQbAyYlH5y7qt/FtsAhfX5AICHffZy69ZAsVrxWkQ==}
+ algoliasearch@5.43.0:
+ resolution: {integrity: sha512-hbkK41JsuGYhk+atBDxlcKxskjDCh3OOEDpdKZPtw+3zucBqhlojRG5e5KtCmByGyYvwZswVeaSWglgLn2fibg==}
engines: {node: '>= 14.0.0'}
alien-signals@0.4.14:
@@ -5815,8 +5891,8 @@ packages:
bintrees@1.0.2:
resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==}
- birpc@2.7.0:
- resolution: {integrity: sha512-tub/wFGH49vNCm0xraykcY3TcRgX/3JsALYq/Lwrtti+bTyFHkCUAWF5wgYoie8P41wYwig2mIKiqoocr1EkEQ==}
+ birpc@2.8.0:
+ resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==}
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
@@ -6894,8 +6970,8 @@ packages:
engines: {node: '>=0.10.0'}
hasBin: true
- electron-to-chromium@1.5.248:
- resolution: {integrity: sha512-zsur2yunphlyAO4gIubdJEXCK6KOVvtpiuDfCIqbM9FjcnMYiyn0ICa3hWfPr0nc41zcLWobgy1iL7VvoOyA2Q==}
+ electron-to-chromium@1.5.249:
+ resolution: {integrity: sha512-5vcfL3BBe++qZ5kuFhD/p8WOM1N9m3nwvJPULJx+4xf2usSlZFJ0qoNYO2fOX4hi3ocuDcmDobtA+5SFr4OmBg==}
element-plus@2.11.7:
resolution: {integrity: sha512-Bh47wuzsqaNBNDkbtlOlZER1cGcOB8GsXp/+C9b95MOrk0wvoHUV4NKKK7xMkfYNFYdYysQ752oMhnExgAL6+g==}
@@ -9207,8 +9283,8 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- path-scurry@2.0.0:
- resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
+ path-scurry@2.0.1:
+ resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==}
engines: {node: 20 || >=22}
path-type@4.0.0:
@@ -10144,8 +10220,8 @@ packages:
engines: {node: '>=10.0.0'}
hasBin: true
- rollup@4.52.5:
- resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==}
+ rollup@4.53.1:
+ resolution: {integrity: sha512-n2I0V0lN3E9cxxMqBCT3opWOiQBzRN7UG60z/WDKqdX2zHUS/39lezBcsckZFsV6fUTSnfqI7kHf60jDAPGKug==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -10682,8 +10758,8 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- svelte@5.43.4:
- resolution: {integrity: sha512-tPNp21nDWB0PSHE+VrTvEy9cFtDp2Q+ATxQoFomISEVdikZ1QZ69UqBPz/LlT+Oc8/LYS/COYwDQZrmZEUr+JQ==}
+ svelte@5.43.5:
+ resolution: {integrity: sha512-HQoZArIewxQVNedseDsgMgnRSC4XOXczxXLF9rOJaPIJkg58INOPUiL8aEtzqZIXNSZJyw8NmqObwg/voajiHQ==}
engines: {node: '>=18'}
sver@1.8.4:
@@ -10740,6 +10816,17 @@ packages:
resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==}
engines: {node: '>=18'}
+ tdesign-icons-vue-next@0.4.1:
+ resolution: {integrity: sha512-uDPuTLRORnGcTyVGNoentNaK4V+ZcBmhYwcY3KqDaQQ5rrPeLMxu0ZVmgOEf0JtF2QZiqAxY7vodNEiLUdoRKA==}
+ peerDependencies:
+ vue: ^3.5.17
+
+ tdesign-vue-next@1.17.2:
+ resolution: {integrity: sha512-nTofPSKGQguOS+Lb62fDiLS1Rs3Ngzb8rE8sPEjfMdDjdFZ5kEUgvVp+J+8GKfgwVRAZRjv//qSzZVt6cqgXxA==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ vue: ^3.5.17
+
temp-dir@2.0.0:
resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
engines: {node: '>=8'}
@@ -10790,6 +10877,9 @@ packages:
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+ tinycolor2@1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+
tinyexec@0.3.2:
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
@@ -11171,6 +11261,10 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ validator@13.15.22:
+ resolution: {integrity: sha512-uT/YQjiyLJP7HSrv/dPZqK9L28xf8hsNca01HSz1dfmI0DgMfjopp1rO/z13NeGF1tVystF0Ejx3y4rUKPw+bQ==}
+ engines: {node: '>= 0.10'}
+
vdirs@0.1.8:
resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==}
peerDependencies:
@@ -11457,8 +11551,8 @@ packages:
peerDependencies:
vue: ^3.5.17
- vue@3.5.23:
- resolution: {integrity: sha512-CfvZv/vI52xUhumUvHtD6iFIS78nGWfX4IJnHfBGhpqMI0CwDq2YEngXOeaBFMRmiArcqczuVrLxurvesTYT9w==}
+ vue@3.5.24:
+ resolution: {integrity: sha512-uTHDOpVQTMjcGgrqFPSb8iO2m1DUvo+WbGqoXQz8Y1CeBYQ0FXf2z1gLRaBtHjlRz7zZUBHxjVB5VTLzYkvftg==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -11475,11 +11569,11 @@ packages:
peerDependencies:
vue: ^3.5.17
- vxe-pc-ui@4.10.17:
- resolution: {integrity: sha512-datz5KCkS8aUMdKhV+1Ec3B1HOiT1CVNIP1KTek2bLHY0JmiLsTS1d0HeZ1fBuoazcB51ReIJ6GydCMr2A8Rpw==}
+ vxe-pc-ui@4.10.18:
+ resolution: {integrity: sha512-YNlD9vs5AfEbtne2adCUDT5qt+7gN9FvczjamYpPm+2G8pi2Vs7T7VlxMhXh6jzFIymzFn6UfV3oszgpG8cS0A==}
- vxe-table@4.17.11:
- resolution: {integrity: sha512-M4+7yV5EPcm0zzC9/Hamo/1qdShFyKDXz5JQgceQGDFIorSpwE6UbA2SK6muk/qMUQwvc9cSOVPKMPNGE2VftA==}
+ vxe-table@4.17.12:
+ resolution: {integrity: sha512-gutC0uNC0Et2kelZH7Cn/808m+DUm7Cef9fNTRBy+oZkieqqoBkXajf2pBTnVry+72nsXfSyg9dUMKYm6hqPcg==}
w3c-keyname@2.2.8:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
@@ -11762,117 +11856,117 @@ packages:
snapshots:
- '@algolia/abtesting@1.8.0':
+ '@algolia/abtesting@1.9.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)(search-insights@2.17.3)':
+ '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3)':
dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)(search-insights@2.17.3)
- '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)
+ '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- search-insights
- '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)(search-insights@2.17.3)':
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3)':
dependencies:
- '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)
search-insights: 2.17.3
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)':
+ '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)':
dependencies:
- '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)
- '@algolia/client-search': 5.42.0
- algoliasearch: 5.42.0
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)
+ '@algolia/client-search': 5.43.0
+ algoliasearch: 5.43.0
- '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)':
+ '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)':
dependencies:
- '@algolia/client-search': 5.42.0
- algoliasearch: 5.42.0
+ '@algolia/client-search': 5.43.0
+ algoliasearch: 5.43.0
- '@algolia/client-abtesting@5.42.0':
+ '@algolia/client-abtesting@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/client-analytics@5.42.0':
+ '@algolia/client-analytics@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/client-common@5.42.0': {}
+ '@algolia/client-common@5.43.0': {}
- '@algolia/client-insights@5.42.0':
+ '@algolia/client-insights@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/client-personalization@5.42.0':
+ '@algolia/client-personalization@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/client-query-suggestions@5.42.0':
+ '@algolia/client-query-suggestions@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/client-search@5.42.0':
+ '@algolia/client-search@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/ingestion@1.42.0':
+ '@algolia/ingestion@1.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/monitoring@1.42.0':
+ '@algolia/monitoring@1.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/recommend@5.42.0':
+ '@algolia/recommend@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
- '@algolia/requester-browser-xhr@5.42.0':
+ '@algolia/requester-browser-xhr@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
+ '@algolia/client-common': 5.43.0
- '@algolia/requester-fetch@5.42.0':
+ '@algolia/requester-fetch@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
+ '@algolia/client-common': 5.43.0
- '@algolia/requester-node-http@5.42.0':
+ '@algolia/requester-node-http@5.43.0':
dependencies:
- '@algolia/client-common': 5.42.0
+ '@algolia/client-common': 5.43.0
'@alloc/quick-lru@5.2.0': {}
@@ -11882,11 +11976,11 @@ snapshots:
'@ant-design/icons-svg@4.4.2': {}
- '@ant-design/icons-vue@7.0.1(vue@3.5.23(typescript@5.9.3))':
+ '@ant-design/icons-vue@7.0.1(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@ant-design/colors': 6.0.0
'@ant-design/icons-svg': 4.4.2
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
'@antfu/install-pkg@1.1.0':
dependencies:
@@ -12789,7 +12883,7 @@ snapshots:
'@changesets/should-skip-package': 0.1.2
'@changesets/types': 6.1.0
'@changesets/write': 0.4.0
- '@inquirer/external-editor': 1.0.2(@types/node@24.10.0)
+ '@inquirer/external-editor': 1.0.3(@types/node@24.10.0)
'@manypkg/get-packages': 1.1.3
ansi-colors: 4.1.3
ci-info: 3.9.0
@@ -13275,9 +13369,9 @@ snapshots:
dependencies:
css-render: 0.15.14
- '@css-render/vue3-ssr@0.15.14(vue@3.5.23(typescript@5.9.3))':
+ '@css-render/vue3-ssr@0.15.14(vue@3.5.24(typescript@5.9.3))':
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
'@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
@@ -13576,9 +13670,9 @@ snapshots:
'@docsearch/css@3.8.2': {}
- '@docsearch/js@3.8.2(@algolia/client-search@5.42.0)(search-insights@2.17.3)':
+ '@docsearch/js@3.8.2(@algolia/client-search@5.43.0)(search-insights@2.17.3)':
dependencies:
- '@docsearch/react': 3.8.2(@algolia/client-search@5.42.0)(search-insights@2.17.3)
+ '@docsearch/react': 3.8.2(@algolia/client-search@5.43.0)(search-insights@2.17.3)
preact: 10.27.2
transitivePeerDependencies:
- '@algolia/client-search'
@@ -13587,12 +13681,12 @@ snapshots:
- react-dom
- search-insights
- '@docsearch/react@3.8.2(@algolia/client-search@5.42.0)(search-insights@2.17.3)':
+ '@docsearch/react@3.8.2(@algolia/client-search@5.43.0)(search-insights@2.17.3)':
dependencies:
- '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)(search-insights@2.17.3)
- '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.42.0)(algoliasearch@5.42.0)
+ '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)
'@docsearch/css': 3.8.2
- algoliasearch: 5.42.0
+ algoliasearch: 5.43.0
optionalDependencies:
search-insights: 2.17.3
transitivePeerDependencies:
@@ -13600,9 +13694,9 @@ snapshots:
'@dual-bundle/import-meta-resolve@4.2.1': {}
- '@element-plus/icons-vue@2.3.2(vue@3.5.23(typescript@5.9.3))':
+ '@element-plus/icons-vue@2.3.2(vue@3.5.24(typescript@5.9.3))':
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
'@emnapi/core@1.7.0':
dependencies:
@@ -13777,36 +13871,36 @@ snapshots:
'@floating-ui/utils@0.2.10': {}
- '@floating-ui/vue@1.1.9(vue@3.5.23(typescript@5.9.3))':
+ '@floating-ui/vue@1.1.9(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@floating-ui/dom': 1.7.4
'@floating-ui/utils': 0.2.10
- vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3))
+ vue-demi: 0.14.10(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- '@form-create/ant-design-vue@3.2.32(vue@3.5.23(typescript@5.9.3))':
+ '@form-create/ant-design-vue@3.2.32(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@form-create/component-antdv-frame': 3.2.31
'@form-create/component-antdv-group': 3.2.31
'@form-create/component-antdv-upload': 3.2.31
'@form-create/component-subform': 3.1.34
- '@form-create/core': 3.2.32(vue@3.5.23(typescript@5.9.3))
+ '@form-create/core': 3.2.32(vue@3.5.24(typescript@5.9.3))
'@form-create/utils': 3.2.31
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@form-create/antd-designer@3.3.2(vue@3.5.23(typescript@5.9.3))':
+ '@form-create/antd-designer@3.3.2(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@form-create/ant-design-vue': 3.2.32(vue@3.5.23(typescript@5.9.3))
+ '@form-create/ant-design-vue': 3.2.32(vue@3.5.24(typescript@5.9.3))
'@form-create/component-wangeditor': 3.2.14
'@form-create/utils': 3.2.31
- ant-design-vue: 4.2.6(vue@3.5.23(typescript@5.9.3))
+ ant-design-vue: 4.2.6(vue@3.5.24(typescript@5.9.3))
codemirror: 6.65.7
js-beautify: 1.15.4
signature_pad: 5.1.1
- vue: 3.5.23(typescript@5.9.3)
- vuedraggable: 4.1.0(vue@3.5.23(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
+ vuedraggable: 4.1.0(vue@3.5.24(typescript@5.9.3))
'@form-create/component-antdv-frame@3.2.31':
dependencies:
@@ -13854,26 +13948,26 @@ snapshots:
dependencies:
wangeditor: 4.7.15
- '@form-create/core@3.2.32(vue@3.5.23(typescript@5.9.3))':
+ '@form-create/core@3.2.32(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@form-create/utils': 3.2.31
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@form-create/designer@3.3.1(vue@3.5.23(typescript@5.9.3))':
+ '@form-create/designer@3.3.1(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@form-create/component-wangeditor': 3.2.14
- '@form-create/element-ui': 3.2.32(vue@3.5.23(typescript@5.9.3))
+ '@form-create/element-ui': 3.2.32(vue@3.5.24(typescript@5.9.3))
'@form-create/utils': 3.2.31
codemirror: 6.65.7
- element-plus: 2.11.7(vue@3.5.23(typescript@5.9.3))
+ element-plus: 2.11.7(vue@3.5.24(typescript@5.9.3))
js-beautify: 1.15.4
signature_pad: 5.1.1
- vue: 3.5.23(typescript@5.9.3)
- vuedraggable: 4.1.0(vue@3.5.23(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
+ vuedraggable: 4.1.0(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/composition-api'
- '@form-create/element-ui@3.2.32(vue@3.5.23(typescript@5.9.3))':
+ '@form-create/element-ui@3.2.32(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@form-create/component-elm-checkbox': 3.2.31
'@form-create/component-elm-frame': 3.2.31
@@ -13883,9 +13977,9 @@ snapshots:
'@form-create/component-elm-tree': 3.2.31
'@form-create/component-elm-upload': 3.2.31
'@form-create/component-subform': 3.1.34
- '@form-create/core': 3.2.32(vue@3.5.23(typescript@5.9.3))
+ '@form-create/core': 3.2.32(vue@3.5.24(typescript@5.9.3))
'@form-create/utils': 3.2.31
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
'@form-create/utils@3.2.31': {}
@@ -13910,11 +14004,11 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
- '@iconify-json/octicon@1.2.17':
+ '@iconify-json/octicon@1.2.18':
dependencies:
'@iconify/types': 2.0.0
- '@iconify-json/simple-icons@1.2.57':
+ '@iconify-json/simple-icons@1.2.58':
dependencies:
'@iconify/types': 2.0.0
@@ -13922,7 +14016,7 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
- '@iconify/json@2.2.404':
+ '@iconify/json@2.2.405':
dependencies:
'@iconify/types': 2.0.0
pathe: 2.0.3
@@ -13946,12 +14040,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@iconify/vue@5.0.0(vue@3.5.23(typescript@5.9.3))':
+ '@iconify/vue@5.0.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@iconify/types': 2.0.0
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@inquirer/external-editor@1.0.2(@types/node@24.10.0)':
+ '@inquirer/external-editor@1.0.3(@types/node@24.10.0)':
dependencies:
chardet: 2.1.1
iconv-lite: 0.7.0
@@ -13966,7 +14060,7 @@ snapshots:
dependencies:
'@swc/helpers': 0.5.17
- '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))':
+ '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)))':
dependencies:
'@intlify/message-compiler': 11.1.12
'@intlify/shared': 11.1.12
@@ -13978,7 +14072,7 @@ snapshots:
source-map-js: 1.2.1
yaml-eslint-parser: 1.3.0
optionalDependencies:
- vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3))
+ vue-i18n: 11.1.12(vue@3.5.24(typescript@5.9.3))
'@intlify/core-base@11.1.12':
dependencies:
@@ -13992,13 +14086,13 @@ snapshots:
'@intlify/shared@11.1.12': {}
- '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.23)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))':
+ '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.24)(eslint@9.39.1(jiti@2.6.1))(rollup@4.53.1)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)))(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1))
- '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))
+ '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)))
'@intlify/shared': 11.1.12
- '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.23)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.24)(vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)))(vue@3.5.24(typescript@5.9.3))
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
'@typescript-eslint/scope-manager': 8.46.3
'@typescript-eslint/typescript-estree': 8.46.3(typescript@5.9.3)
debug: 4.4.3
@@ -14009,9 +14103,9 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
unplugin: 1.16.1
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
- vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3))
+ vue-i18n: 11.1.12(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/compiler-dom'
- eslint
@@ -14019,14 +14113,14 @@ snapshots:
- supports-color
- typescript
- '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.23)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))':
+ '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.24)(vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)))(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@babel/parser': 7.28.5
optionalDependencies:
'@intlify/shared': 11.1.12
- '@vue/compiler-dom': 3.5.23
- vue: 3.5.23(typescript@5.9.3)
- vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3))
+ '@vue/compiler-dom': 3.5.24
+ vue: 3.5.24(typescript@5.9.3)
+ vue-i18n: 11.1.12(vue@3.5.24(typescript@5.9.3))
'@ioredis/commands@1.4.0': {}
@@ -14219,17 +14313,17 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.19.1
- '@nolebase/ui@2.18.2(vitepress@1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3))':
+ '@nolebase/ui@2.18.2(vitepress@1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@iconify-json/octicon': 1.2.17
+ '@iconify-json/octicon': 1.2.18
less: 4.4.2
- vitepress: 1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3)
- vue: 3.5.23(typescript@5.9.3)
+ vitepress: 1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@nolebase/vitepress-plugin-git-changelog@2.18.2(vitepress@1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3))':
+ '@nolebase/vitepress-plugin-git-changelog@2.18.2(vitepress@1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@iconify-json/octicon': 1.2.17
- '@nolebase/ui': 2.18.2(vitepress@1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3))
+ '@iconify-json/octicon': 1.2.18
+ '@nolebase/ui': 2.18.2(vitepress@1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3))
colorette: 2.0.20
date-fns: 4.1.0
defu: 6.1.4
@@ -14239,7 +14333,7 @@ snapshots:
gray-matter: 4.0.3
less: 4.4.2
uncrypto: 0.1.3
- vitepress: 1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3)
+ vitepress: 1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3)
transitivePeerDependencies:
- vue
@@ -14368,13 +14462,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/types@1000.9.0': {}
+ '@pnpm/types@1001.0.0': {}
- '@pnpm/workspace.read-manifest@1000.2.5':
+ '@pnpm/workspace.read-manifest@1000.2.6':
dependencies:
'@pnpm/constants': 1001.3.1
'@pnpm/error': 1000.0.5
- '@pnpm/types': 1000.9.0
+ '@pnpm/types': 1001.0.0
read-yaml-file: 2.1.0
'@polka/url@1.0.0-next.29': {}
@@ -14399,9 +14493,9 @@ snapshots:
'@rolldown/pluginutils@1.0.0-beta.47': {}
- '@rollup/plugin-alias@5.1.1(rollup@4.52.5)':
+ '@rollup/plugin-alias@5.1.1(rollup@4.53.1)':
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
'@rollup/plugin-babel@5.3.1(@babel/core@7.28.5)(rollup@2.79.2)':
dependencies:
@@ -14412,9 +14506,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@rollup/plugin-commonjs@28.0.9(rollup@4.52.5)':
+ '@rollup/plugin-commonjs@28.0.9(rollup@4.53.1)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
commondir: 1.0.1
estree-walker: 2.0.2
fdir: 6.5.0(picomatch@4.0.3)
@@ -14422,21 +14516,21 @@ snapshots:
magic-string: 0.30.21
picomatch: 4.0.3
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
- '@rollup/plugin-inject@5.0.5(rollup@4.52.5)':
+ '@rollup/plugin-inject@5.0.5(rollup@4.53.1)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
estree-walker: 2.0.2
magic-string: 0.30.21
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
- '@rollup/plugin-json@6.1.0(rollup@4.52.5)':
+ '@rollup/plugin-json@6.1.0(rollup@4.53.1)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
'@rollup/plugin-node-resolve@15.3.1(rollup@2.79.2)':
dependencies:
@@ -14448,15 +14542,15 @@ snapshots:
optionalDependencies:
rollup: 2.79.2
- '@rollup/plugin-node-resolve@16.0.3(rollup@4.52.5)':
+ '@rollup/plugin-node-resolve@16.0.3(rollup@4.53.1)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.11
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
'@rollup/plugin-replace@2.4.2(rollup@2.79.2)':
dependencies:
@@ -14464,12 +14558,12 @@ snapshots:
magic-string: 0.25.9
rollup: 2.79.2
- '@rollup/plugin-replace@6.0.3(rollup@4.52.5)':
+ '@rollup/plugin-replace@6.0.3(rollup@4.53.1)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
magic-string: 0.30.21
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
'@rollup/plugin-terser@0.4.4(rollup@2.79.2)':
dependencies:
@@ -14479,13 +14573,13 @@ snapshots:
optionalDependencies:
rollup: 2.79.2
- '@rollup/plugin-terser@0.4.4(rollup@4.52.5)':
+ '@rollup/plugin-terser@0.4.4(rollup@4.53.1)':
dependencies:
serialize-javascript: 6.0.2
smob: 1.5.0
terser: 5.44.1
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
'@rollup/pluginutils@3.1.0(rollup@2.79.2)':
dependencies:
@@ -14507,78 +14601,78 @@ snapshots:
optionalDependencies:
rollup: 2.79.2
- '@rollup/pluginutils@5.3.0(rollup@4.52.5)':
+ '@rollup/pluginutils@5.3.0(rollup@4.53.1)':
dependencies:
'@types/estree': 1.0.8
estree-walker: 2.0.2
picomatch: 4.0.3
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
- '@rollup/rollup-android-arm-eabi@4.52.5':
+ '@rollup/rollup-android-arm-eabi@4.53.1':
optional: true
- '@rollup/rollup-android-arm64@4.52.5':
+ '@rollup/rollup-android-arm64@4.53.1':
optional: true
- '@rollup/rollup-darwin-arm64@4.52.5':
+ '@rollup/rollup-darwin-arm64@4.53.1':
optional: true
- '@rollup/rollup-darwin-x64@4.52.5':
+ '@rollup/rollup-darwin-x64@4.53.1':
optional: true
- '@rollup/rollup-freebsd-arm64@4.52.5':
+ '@rollup/rollup-freebsd-arm64@4.53.1':
optional: true
- '@rollup/rollup-freebsd-x64@4.52.5':
+ '@rollup/rollup-freebsd-x64@4.53.1':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.52.5':
+ '@rollup/rollup-linux-arm-gnueabihf@4.53.1':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.52.5':
+ '@rollup/rollup-linux-arm-musleabihf@4.53.1':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.52.5':
+ '@rollup/rollup-linux-arm64-gnu@4.53.1':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.52.5':
+ '@rollup/rollup-linux-arm64-musl@4.53.1':
optional: true
- '@rollup/rollup-linux-loong64-gnu@4.52.5':
+ '@rollup/rollup-linux-loong64-gnu@4.53.1':
optional: true
- '@rollup/rollup-linux-ppc64-gnu@4.52.5':
+ '@rollup/rollup-linux-ppc64-gnu@4.53.1':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.52.5':
+ '@rollup/rollup-linux-riscv64-gnu@4.53.1':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.52.5':
+ '@rollup/rollup-linux-riscv64-musl@4.53.1':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.52.5':
+ '@rollup/rollup-linux-s390x-gnu@4.53.1':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.52.5':
+ '@rollup/rollup-linux-x64-gnu@4.53.1':
optional: true
- '@rollup/rollup-linux-x64-musl@4.52.5':
+ '@rollup/rollup-linux-x64-musl@4.53.1':
optional: true
- '@rollup/rollup-openharmony-arm64@4.52.5':
+ '@rollup/rollup-openharmony-arm64@4.53.1':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.52.5':
+ '@rollup/rollup-win32-arm64-msvc@4.53.1':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.52.5':
+ '@rollup/rollup-win32-ia32-msvc@4.53.1':
optional: true
- '@rollup/rollup-win32-x64-gnu@4.52.5':
+ '@rollup/rollup-win32-x64-gnu@4.53.1':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.52.5':
+ '@rollup/rollup-win32-x64-msvc@4.53.1':
optional: true
'@rushstack/node-core-library@5.18.0(@types/node@24.10.0)':
@@ -14694,9 +14788,9 @@ snapshots:
magic-string: 0.25.9
string.prototype.matchall: 4.0.12
- '@svelte-put/shortcut@4.1.0(svelte@5.43.4)':
+ '@svelte-put/shortcut@4.1.0(svelte@5.43.5)':
dependencies:
- svelte: 5.43.4
+ svelte: 5.43.5
'@sveltejs/acorn-typescript@1.0.6(acorn@8.15.0)':
dependencies:
@@ -14728,42 +14822,42 @@ snapshots:
'@tanstack/virtual-core@3.13.12': {}
- '@tanstack/vue-query@5.90.7(vue@3.5.23(typescript@5.9.3))':
+ '@tanstack/vue-query@5.90.7(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@tanstack/match-sorter-utils': 8.19.4
'@tanstack/query-core': 5.90.7
'@vue/devtools-api': 6.6.4
- vue: 3.5.23(typescript@5.9.3)
- vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
+ vue-demi: 0.14.10(vue@3.5.24(typescript@5.9.3))
- '@tanstack/vue-store@0.7.7(vue@3.5.23(typescript@5.9.3))':
+ '@tanstack/vue-store@0.7.7(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@tanstack/store': 0.7.7
- vue: 3.5.23(typescript@5.9.3)
- vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
+ vue-demi: 0.14.10(vue@3.5.24(typescript@5.9.3))
- '@tanstack/vue-virtual@3.13.12(vue@3.5.23(typescript@5.9.3))':
+ '@tanstack/vue-virtual@3.13.12(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@tanstack/virtual-core': 3.13.12
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@tinyflow-ai/ui@1.1.9(svelte@5.43.4)':
+ '@tinyflow-ai/ui@1.1.9(svelte@5.43.5)':
dependencies:
'@floating-ui/dom': 1.7.4
- '@xyflow/svelte': 1.4.1(svelte@5.43.4)
+ '@xyflow/svelte': 1.4.1(svelte@5.43.5)
transitivePeerDependencies:
- svelte
- '@tinyflow-ai/vue@1.1.9(svelte@5.43.4)(vue@3.5.23(typescript@5.9.3))':
+ '@tinyflow-ai/vue@1.1.9(svelte@5.43.5)(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@tinyflow-ai/ui': 1.1.9(svelte@5.43.4)
- vue: 3.5.23(typescript@5.9.3)
+ '@tinyflow-ai/ui': 1.1.9(svelte@5.43.5)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- svelte
- '@tinymce/tinymce-vue@6.3.0(tinymce@7.9.1)(vue@3.5.23(typescript@5.9.3))':
+ '@tinymce/tinymce-vue@6.3.0(tinymce@7.9.1)(vue@3.5.24(typescript@5.9.3))':
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
tinymce: 7.9.1
@@ -15013,10 +15107,14 @@ snapshots:
dependencies:
'@types/estree': 1.0.8
+ '@types/tinycolor2@1.4.6': {}
+
'@types/trusted-types@2.0.7': {}
'@types/unist@3.0.3': {}
+ '@types/validator@13.15.4': {}
+
'@types/video.js@7.3.58': {}
'@types/web-bluetooth@0.0.16': {}
@@ -15215,18 +15313,18 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.11.1':
optional: true
- '@vee-validate/zod@4.15.1(vue@3.5.23(typescript@5.9.3))(zod@3.25.76)':
+ '@vee-validate/zod@4.15.1(vue@3.5.24(typescript@5.9.3))(zod@3.25.76)':
dependencies:
type-fest: 4.41.0
- vee-validate: 4.15.1(vue@3.5.23(typescript@5.9.3))
+ vee-validate: 4.15.1(vue@3.5.24(typescript@5.9.3))
zod: 3.25.76
transitivePeerDependencies:
- vue
- '@vercel/nft@0.30.3(rollup@4.52.5)':
+ '@vercel/nft@0.30.3(rollup@4.53.1)':
dependencies:
'@mapbox/node-pre-gyp': 2.0.0
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
acorn: 8.15.0
acorn-import-attributes: 1.9.5(acorn@8.15.0)
async-sema: 3.1.1
@@ -15242,11 +15340,11 @@ snapshots:
- rollup
- supports-color
- '@videojs-player/vue@1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.23(typescript@5.9.3))':
+ '@videojs-player/vue@1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@types/video.js': 7.3.58
video.js: 7.21.7
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
'@videojs/http-streaming@2.16.3(video.js@7.21.7)':
dependencies:
@@ -15275,7 +15373,7 @@ snapshots:
dependencies:
vite-plugin-pwa: 1.1.0(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(workbox-build@7.3.0)(workbox-window@7.3.0)
- '@vitejs/plugin-vue-jsx@5.1.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))':
+ '@vitejs/plugin-vue-jsx@5.1.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@babel/core': 7.28.5
'@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5)
@@ -15283,20 +15381,20 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.47
'@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5)
vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-vue@5.2.4(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(vue@3.5.23(typescript@5.9.3))':
+ '@vitejs/plugin-vue@5.2.4(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(vue@3.5.24(typescript@5.9.3))':
dependencies:
vite: 5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@vitejs/plugin-vue@6.0.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))':
+ '@vitejs/plugin-vue@6.0.1(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-beta.29
vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
'@vitest/expect@3.2.4':
dependencies:
@@ -15364,7 +15462,7 @@ snapshots:
'@babel/types': 7.28.5
'@vue/babel-helper-vue-transform-on': 1.5.0
'@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.5)
- '@vue/shared': 3.5.23
+ '@vue/shared': 3.5.24
optionalDependencies:
'@babel/core': 7.28.5
transitivePeerDependencies:
@@ -15377,39 +15475,39 @@ snapshots:
'@babel/helper-module-imports': 7.27.1
'@babel/helper-plugin-utils': 7.27.1
'@babel/parser': 7.28.5
- '@vue/compiler-sfc': 3.5.23
+ '@vue/compiler-sfc': 3.5.24
transitivePeerDependencies:
- supports-color
- '@vue/compiler-core@3.5.23':
+ '@vue/compiler-core@3.5.24':
dependencies:
'@babel/parser': 7.28.5
- '@vue/shared': 3.5.23
+ '@vue/shared': 3.5.24
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.23':
+ '@vue/compiler-dom@3.5.24':
dependencies:
- '@vue/compiler-core': 3.5.23
- '@vue/shared': 3.5.23
+ '@vue/compiler-core': 3.5.24
+ '@vue/shared': 3.5.24
- '@vue/compiler-sfc@3.5.23':
+ '@vue/compiler-sfc@3.5.24':
dependencies:
'@babel/parser': 7.28.5
- '@vue/compiler-core': 3.5.23
- '@vue/compiler-dom': 3.5.23
- '@vue/compiler-ssr': 3.5.23
- '@vue/shared': 3.5.23
+ '@vue/compiler-core': 3.5.24
+ '@vue/compiler-dom': 3.5.24
+ '@vue/compiler-ssr': 3.5.24
+ '@vue/shared': 3.5.24
estree-walker: 2.0.2
magic-string: 0.30.21
postcss: 8.5.6
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.23':
+ '@vue/compiler-ssr@3.5.24':
dependencies:
- '@vue/compiler-dom': 3.5.23
- '@vue/shared': 3.5.23
+ '@vue/compiler-dom': 3.5.24
+ '@vue/shared': 3.5.24
'@vue/compiler-vue2@2.7.16':
dependencies:
@@ -15422,7 +15520,7 @@ snapshots:
dependencies:
'@vue/devtools-kit': 7.7.7
- '@vue/devtools-core@7.7.7(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))':
+ '@vue/devtools-core@7.7.7(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@vue/devtools-kit': 7.7.7
'@vue/devtools-shared': 7.7.7
@@ -15430,14 +15528,14 @@ snapshots:
nanoid: 5.1.6
pathe: 2.0.3
vite-hot-client: 2.1.0(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- vite
'@vue/devtools-kit@7.7.7':
dependencies:
'@vue/devtools-shared': 7.7.7
- birpc: 2.7.0
+ birpc: 2.8.0
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
@@ -15451,9 +15549,9 @@ snapshots:
'@vue/language-core@2.2.0(typescript@5.9.3)':
dependencies:
'@volar/language-core': 2.4.23
- '@vue/compiler-dom': 3.5.23
+ '@vue/compiler-dom': 3.5.24
'@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.23
+ '@vue/shared': 3.5.24
alien-signals: 0.4.14
minimatch: 9.0.5
muggle-string: 0.4.1
@@ -15464,9 +15562,9 @@ snapshots:
'@vue/language-core@2.2.10(typescript@5.9.3)':
dependencies:
'@volar/language-core': 2.4.23
- '@vue/compiler-dom': 3.5.23
+ '@vue/compiler-dom': 3.5.24
'@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.23
+ '@vue/shared': 3.5.24
alien-signals: 1.0.13
minimatch: 9.0.5
muggle-string: 0.4.1
@@ -15474,29 +15572,29 @@ snapshots:
optionalDependencies:
typescript: 5.9.3
- '@vue/reactivity@3.5.23':
+ '@vue/reactivity@3.5.24':
dependencies:
- '@vue/shared': 3.5.23
+ '@vue/shared': 3.5.24
- '@vue/runtime-core@3.5.23':
+ '@vue/runtime-core@3.5.24':
dependencies:
- '@vue/reactivity': 3.5.23
- '@vue/shared': 3.5.23
+ '@vue/reactivity': 3.5.24
+ '@vue/shared': 3.5.24
- '@vue/runtime-dom@3.5.23':
+ '@vue/runtime-dom@3.5.24':
dependencies:
- '@vue/reactivity': 3.5.23
- '@vue/runtime-core': 3.5.23
- '@vue/shared': 3.5.23
+ '@vue/reactivity': 3.5.24
+ '@vue/runtime-core': 3.5.24
+ '@vue/shared': 3.5.24
csstype: 3.1.3
- '@vue/server-renderer@3.5.23(vue@3.5.23(typescript@5.9.3))':
+ '@vue/server-renderer@3.5.24(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.23
- '@vue/shared': 3.5.23
- vue: 3.5.23(typescript@5.9.3)
+ '@vue/compiler-ssr': 3.5.24
+ '@vue/shared': 3.5.24
+ vue: 3.5.24(typescript@5.9.3)
- '@vue/shared@3.5.23': {}
+ '@vue/shared@3.5.24': {}
'@vue/test-utils@2.4.6':
dependencies:
@@ -15508,30 +15606,30 @@ snapshots:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 12.8.2
'@vueuse/shared': 12.8.2(typescript@5.9.3)
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- '@vueuse/core@13.9.0(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/core@13.9.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 13.9.0
- '@vueuse/shared': 13.9.0(vue@3.5.23(typescript@5.9.3))
- vue: 3.5.23(typescript@5.9.3)
+ '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
- '@vueuse/core@14.0.0(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/core@14.0.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 14.0.0
- '@vueuse/shared': 14.0.0(vue@3.5.23(typescript@5.9.3))
- vue: 3.5.23(typescript@5.9.3)
+ '@vueuse/shared': 14.0.0(vue@3.5.24(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
- '@vueuse/core@9.13.0(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/core@9.13.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
- '@vueuse/shared': 9.13.0(vue@3.5.23(typescript@5.9.3))
- vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3))
+ '@vueuse/shared': 9.13.0(vue@3.5.24(typescript@5.9.3))
+ vue-demi: 0.14.10(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -15540,7 +15638,7 @@ snapshots:
dependencies:
'@vueuse/core': 12.8.2(typescript@5.9.3)
'@vueuse/shared': 12.8.2(typescript@5.9.3)
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
async-validator: 4.2.5
axios: 1.13.2
@@ -15551,11 +15649,11 @@ snapshots:
transitivePeerDependencies:
- typescript
- '@vueuse/integrations@14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/integrations@14.0.0(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@vueuse/core': 14.0.0(vue@3.5.23(typescript@5.9.3))
- '@vueuse/shared': 14.0.0(vue@3.5.23(typescript@5.9.3))
- vue: 3.5.23(typescript@5.9.3)
+ '@vueuse/core': 14.0.0(vue@3.5.24(typescript@5.9.3))
+ '@vueuse/shared': 14.0.0(vue@3.5.24(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
async-validator: 4.2.5
axios: 1.13.2
@@ -15572,15 +15670,15 @@ snapshots:
'@vueuse/metadata@9.13.0': {}
- '@vueuse/motion@3.0.3(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/motion@3.0.3(vue@3.5.24(typescript@5.9.3))':
dependencies:
- '@vueuse/core': 13.9.0(vue@3.5.23(typescript@5.9.3))
- '@vueuse/shared': 13.9.0(vue@3.5.23(typescript@5.9.3))
+ '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.3))
+ '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@5.9.3))
defu: 6.1.4
framesync: 6.1.2
popmotion: 11.0.5
style-value-types: 5.1.2
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
'@nuxt/kit': 3.20.1
transitivePeerDependencies:
@@ -15588,38 +15686,38 @@ snapshots:
'@vueuse/shared@12.8.2(typescript@5.9.3)':
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- '@vueuse/shared@13.9.0(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/shared@13.9.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@vueuse/shared@14.0.0(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/shared@14.0.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- '@vueuse/shared@9.13.0(vue@3.5.23(typescript@5.9.3))':
+ '@vueuse/shared@9.13.0(vue@3.5.24(typescript@5.9.3))':
dependencies:
- vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3))
+ vue-demi: 0.14.10(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- '@vxe-ui/core@4.2.13(vue@3.5.23(typescript@5.9.3))':
+ '@vxe-ui/core@4.2.13(vue@3.5.24(typescript@5.9.3))':
dependencies:
dom-zindex: 1.0.6
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
xe-utils: 3.7.9
'@xmldom/xmldom@0.8.11': {}
- '@xyflow/svelte@1.4.1(svelte@5.43.4)':
+ '@xyflow/svelte@1.4.1(svelte@5.43.5)':
dependencies:
- '@svelte-put/shortcut': 4.1.0(svelte@5.43.4)
+ '@svelte-put/shortcut': 4.1.0(svelte@5.43.5)
'@xyflow/system': 0.0.72
- svelte: 5.43.4
+ svelte: 5.43.5
'@xyflow/system@0.0.72':
dependencies:
@@ -15701,22 +15799,22 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- algoliasearch@5.42.0:
+ algoliasearch@5.43.0:
dependencies:
- '@algolia/abtesting': 1.8.0
- '@algolia/client-abtesting': 5.42.0
- '@algolia/client-analytics': 5.42.0
- '@algolia/client-common': 5.42.0
- '@algolia/client-insights': 5.42.0
- '@algolia/client-personalization': 5.42.0
- '@algolia/client-query-suggestions': 5.42.0
- '@algolia/client-search': 5.42.0
- '@algolia/ingestion': 1.42.0
- '@algolia/monitoring': 1.42.0
- '@algolia/recommend': 5.42.0
- '@algolia/requester-browser-xhr': 5.42.0
- '@algolia/requester-fetch': 5.42.0
- '@algolia/requester-node-http': 5.42.0
+ '@algolia/abtesting': 1.9.0
+ '@algolia/client-abtesting': 5.43.0
+ '@algolia/client-analytics': 5.43.0
+ '@algolia/client-common': 5.43.0
+ '@algolia/client-insights': 5.43.0
+ '@algolia/client-personalization': 5.43.0
+ '@algolia/client-query-suggestions': 5.43.0
+ '@algolia/client-search': 5.43.0
+ '@algolia/ingestion': 1.43.0
+ '@algolia/monitoring': 1.43.0
+ '@algolia/recommend': 5.43.0
+ '@algolia/requester-browser-xhr': 5.43.0
+ '@algolia/requester-fetch': 5.43.0
+ '@algolia/requester-node-http': 5.43.0
alien-signals@0.4.14: {}
@@ -15742,10 +15840,10 @@ snapshots:
ansi-styles@6.2.3: {}
- ant-design-vue@4.2.6(vue@3.5.23(typescript@5.9.3)):
+ ant-design-vue@4.2.6(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@ant-design/colors': 6.0.0
- '@ant-design/icons-vue': 7.0.1(vue@3.5.23(typescript@5.9.3))
+ '@ant-design/icons-vue': 7.0.1(vue@3.5.24(typescript@5.9.3))
'@babel/runtime': 7.28.4
'@ctrl/tinycolor': 4.2.0
'@emotion/hash': 0.9.2
@@ -15764,8 +15862,8 @@ snapshots:
shallow-equal: 1.2.1
stylis: 4.3.6
throttle-debounce: 5.0.2
- vue: 3.5.23(typescript@5.9.3)
- vue-types: 3.0.2(vue@3.5.23(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
+ vue-types: 3.0.2(vue@3.5.24(typescript@5.9.3))
warning: 4.0.3
any-promise@1.3.0: {}
@@ -15954,7 +16052,7 @@ snapshots:
bintrees@1.0.2: {}
- birpc@2.7.0: {}
+ birpc@2.8.0: {}
boolbase@1.0.0: {}
@@ -16022,7 +16120,7 @@ snapshots:
dependencies:
baseline-browser-mapping: 2.8.25
caniuse-lite: 1.0.30001754
- electron-to-chromium: 1.5.248
+ electron-to-chromium: 1.5.249
node-releases: 2.0.27
update-browserslist-db: 1.1.4(browserslist@4.27.0)
@@ -16225,7 +16323,7 @@ snapshots:
circular-dependency-scanner@2.3.0:
dependencies:
'@ast-grep/napi': 0.37.0
- '@vue/compiler-sfc': 3.5.23
+ '@vue/compiler-sfc': 3.5.24
commander: 12.1.0
get-tsconfig: 4.13.0
graph-cycles: 3.0.0
@@ -16950,7 +17048,7 @@ snapshots:
dependencies:
'@babel/parser': 7.28.5
'@babel/traverse': 7.28.5
- '@vue/compiler-sfc': 3.5.23
+ '@vue/compiler-sfc': 3.5.24
callsite: 1.0.0
camelcase: 6.3.0
cosmiconfig: 7.1.0
@@ -17152,17 +17250,17 @@ snapshots:
dependencies:
jake: 10.9.4
- electron-to-chromium@1.5.248: {}
+ electron-to-chromium@1.5.249: {}
- element-plus@2.11.7(vue@3.5.23(typescript@5.9.3)):
+ element-plus@2.11.7(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@ctrl/tinycolor': 4.2.0
- '@element-plus/icons-vue': 2.3.2(vue@3.5.23(typescript@5.9.3))
+ '@element-plus/icons-vue': 2.3.2(vue@3.5.24(typescript@5.9.3))
'@floating-ui/dom': 1.7.4
'@popperjs/core': '@sxzz/popperjs-es@2.11.7'
'@types/lodash': 4.17.20
'@types/lodash-es': 4.17.12
- '@vueuse/core': 9.13.0(vue@3.5.23(typescript@5.9.3))
+ '@vueuse/core': 9.13.0(vue@3.5.24(typescript@5.9.3))
async-validator: 4.2.5
dayjs: 1.11.19
lodash: 4.17.21
@@ -17170,7 +17268,7 @@ snapshots:
lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
memoize-one: 6.0.0
normalize-wheel-es: 1.2.0
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- '@vue/composition-api'
@@ -17825,7 +17923,7 @@ snapshots:
dependencies:
magic-string: 0.30.21
mlly: 1.8.0
- rollup: 4.52.5
+ rollup: 4.53.1
flat-cache@4.0.1:
dependencies:
@@ -18028,7 +18126,7 @@ snapshots:
minimatch: 10.1.1
minipass: 7.1.2
package-json-from-dist: 1.0.1
- path-scurry: 2.0.0
+ path-scurry: 2.0.1
glob@7.2.3:
dependencies:
@@ -18958,9 +19056,9 @@ snapshots:
dependencies:
yallist: 4.0.0
- lucide-vue-next@0.507.0(vue@3.5.23(typescript@5.9.3)):
+ lucide-vue-next@0.507.0(vue@3.5.24(typescript@5.9.3)):
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
luxon@3.7.2: {}
@@ -19197,7 +19295,7 @@ snapshots:
mitt@3.0.1: {}
- mkdist@2.4.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3)):
+ mkdist@2.4.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3)):
dependencies:
autoprefixer: 10.4.21(postcss@8.5.6)
citty: 0.1.6
@@ -19215,7 +19313,7 @@ snapshots:
optionalDependencies:
sass: 1.93.3
typescript: 5.9.3
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
vue-tsc: 2.2.10(typescript@5.9.3)
mlly@1.8.0:
@@ -19269,10 +19367,10 @@ snapshots:
object-assign: 4.1.1
thenify-all: 1.6.0
- naive-ui@2.43.1(vue@3.5.23(typescript@5.9.3)):
+ naive-ui@2.43.1(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@css-render/plugin-bem': 0.15.14(css-render@0.15.14)
- '@css-render/vue3-ssr': 0.15.14(vue@3.5.23(typescript@5.9.3))
+ '@css-render/vue3-ssr': 0.15.14(vue@3.5.24(typescript@5.9.3))
'@types/katex': 0.16.7
'@types/lodash': 4.17.20
'@types/lodash-es': 4.17.12
@@ -19287,10 +19385,10 @@ snapshots:
lodash-es: 4.17.21
seemly: 0.3.10
treemate: 0.3.11
- vdirs: 0.1.8(vue@3.5.23(typescript@5.9.3))
- vooks: 0.2.12(vue@3.5.23(typescript@5.9.3))
- vue: 3.5.23(typescript@5.9.3)
- vueuc: 0.4.65(vue@3.5.23(typescript@5.9.3))
+ vdirs: 0.1.8(vue@3.5.24(typescript@5.9.3))
+ vooks: 0.2.12(vue@3.5.24(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
+ vueuc: 0.4.65(vue@3.5.24(typescript@5.9.3))
nanoid@3.3.11: {}
@@ -19313,14 +19411,14 @@ snapshots:
nitropack@2.12.9:
dependencies:
'@cloudflare/kv-asset-handler': 0.4.0
- '@rollup/plugin-alias': 5.1.1(rollup@4.52.5)
- '@rollup/plugin-commonjs': 28.0.9(rollup@4.52.5)
- '@rollup/plugin-inject': 5.0.5(rollup@4.52.5)
- '@rollup/plugin-json': 6.1.0(rollup@4.52.5)
- '@rollup/plugin-node-resolve': 16.0.3(rollup@4.52.5)
- '@rollup/plugin-replace': 6.0.3(rollup@4.52.5)
- '@rollup/plugin-terser': 0.4.4(rollup@4.52.5)
- '@vercel/nft': 0.30.3(rollup@4.52.5)
+ '@rollup/plugin-alias': 5.1.1(rollup@4.53.1)
+ '@rollup/plugin-commonjs': 28.0.9(rollup@4.53.1)
+ '@rollup/plugin-inject': 5.0.5(rollup@4.53.1)
+ '@rollup/plugin-json': 6.1.0(rollup@4.53.1)
+ '@rollup/plugin-node-resolve': 16.0.3(rollup@4.53.1)
+ '@rollup/plugin-replace': 6.0.3(rollup@4.53.1)
+ '@rollup/plugin-terser': 0.4.4(rollup@4.53.1)
+ '@vercel/nft': 0.30.3(rollup@4.53.1)
archiver: 7.0.1
c12: 3.3.1(magicast@0.5.1)
chokidar: 4.0.3
@@ -19362,8 +19460,8 @@ snapshots:
pkg-types: 2.3.0
pretty-bytes: 7.1.0
radix3: 1.1.2
- rollup: 4.52.5
- rollup-plugin-visualizer: 6.0.5(rollup@4.52.5)
+ rollup: 4.53.1
+ rollup-plugin-visualizer: 6.0.5(rollup@4.53.1)
scule: 1.3.0
semver: 7.7.3
serve-placeholder: 2.0.2
@@ -19713,7 +19811,7 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.2
- path-scurry@2.0.0:
+ path-scurry@2.0.1:
dependencies:
lru-cache: 11.2.2
minipass: 7.1.2
@@ -19744,17 +19842,17 @@ snapshots:
pify@4.0.1: {}
- pinia-plugin-persistedstate@4.7.1(@nuxt/kit@3.20.1)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))):
+ pinia-plugin-persistedstate@4.7.1(@nuxt/kit@3.20.1)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))):
dependencies:
defu: 6.1.4
optionalDependencies:
'@nuxt/kit': 3.20.1
- pinia: 3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))
+ pinia: 3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
- pinia@3.0.4(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)):
+ pinia@3.0.4(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@vue/devtools-api': 7.7.7
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
typescript: 5.9.3
@@ -20486,19 +20584,19 @@ snapshots:
dependencies:
jsesc: 3.1.0
- reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)):
+ reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@floating-ui/dom': 1.7.4
- '@floating-ui/vue': 1.1.9(vue@3.5.23(typescript@5.9.3))
+ '@floating-ui/vue': 1.1.9(vue@3.5.24(typescript@5.9.3))
'@internationalized/date': 3.10.0
'@internationalized/number': 3.6.5
- '@tanstack/vue-virtual': 3.13.12(vue@3.5.23(typescript@5.9.3))
+ '@tanstack/vue-virtual': 3.13.12(vue@3.5.24(typescript@5.9.3))
'@vueuse/core': 12.8.2(typescript@5.9.3)
'@vueuse/shared': 12.8.2(typescript@5.9.3)
aria-hidden: 1.2.6
defu: 6.1.4
ohash: 2.0.11
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- '@vue/composition-api'
- typescript
@@ -20559,62 +20657,62 @@ snapshots:
robust-predicates@3.0.2: {}
- rollup-plugin-dts@6.2.3(rollup@4.52.5)(typescript@5.9.3):
+ rollup-plugin-dts@6.2.3(rollup@4.53.1)(typescript@5.9.3):
dependencies:
magic-string: 0.30.21
- rollup: 4.52.5
+ rollup: 4.53.1
typescript: 5.9.3
optionalDependencies:
'@babel/code-frame': 7.27.1
- rollup-plugin-visualizer@5.14.0(rollup@4.52.5):
+ rollup-plugin-visualizer@5.14.0(rollup@4.53.1):
dependencies:
open: 8.4.2
picomatch: 4.0.3
source-map: 0.7.6
yargs: 17.7.2
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
- rollup-plugin-visualizer@6.0.5(rollup@4.52.5):
+ rollup-plugin-visualizer@6.0.5(rollup@4.53.1):
dependencies:
open: 8.4.2
picomatch: 4.0.3
source-map: 0.7.6
yargs: 17.7.2
optionalDependencies:
- rollup: 4.52.5
+ rollup: 4.53.1
rollup@2.79.2:
optionalDependencies:
fsevents: 2.3.3
- rollup@4.52.5:
+ rollup@4.53.1:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.52.5
- '@rollup/rollup-android-arm64': 4.52.5
- '@rollup/rollup-darwin-arm64': 4.52.5
- '@rollup/rollup-darwin-x64': 4.52.5
- '@rollup/rollup-freebsd-arm64': 4.52.5
- '@rollup/rollup-freebsd-x64': 4.52.5
- '@rollup/rollup-linux-arm-gnueabihf': 4.52.5
- '@rollup/rollup-linux-arm-musleabihf': 4.52.5
- '@rollup/rollup-linux-arm64-gnu': 4.52.5
- '@rollup/rollup-linux-arm64-musl': 4.52.5
- '@rollup/rollup-linux-loong64-gnu': 4.52.5
- '@rollup/rollup-linux-ppc64-gnu': 4.52.5
- '@rollup/rollup-linux-riscv64-gnu': 4.52.5
- '@rollup/rollup-linux-riscv64-musl': 4.52.5
- '@rollup/rollup-linux-s390x-gnu': 4.52.5
- '@rollup/rollup-linux-x64-gnu': 4.52.5
- '@rollup/rollup-linux-x64-musl': 4.52.5
- '@rollup/rollup-openharmony-arm64': 4.52.5
- '@rollup/rollup-win32-arm64-msvc': 4.52.5
- '@rollup/rollup-win32-ia32-msvc': 4.52.5
- '@rollup/rollup-win32-x64-gnu': 4.52.5
- '@rollup/rollup-win32-x64-msvc': 4.52.5
+ '@rollup/rollup-android-arm-eabi': 4.53.1
+ '@rollup/rollup-android-arm64': 4.53.1
+ '@rollup/rollup-darwin-arm64': 4.53.1
+ '@rollup/rollup-darwin-x64': 4.53.1
+ '@rollup/rollup-freebsd-arm64': 4.53.1
+ '@rollup/rollup-freebsd-x64': 4.53.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.53.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.53.1
+ '@rollup/rollup-linux-arm64-gnu': 4.53.1
+ '@rollup/rollup-linux-arm64-musl': 4.53.1
+ '@rollup/rollup-linux-loong64-gnu': 4.53.1
+ '@rollup/rollup-linux-ppc64-gnu': 4.53.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.53.1
+ '@rollup/rollup-linux-riscv64-musl': 4.53.1
+ '@rollup/rollup-linux-s390x-gnu': 4.53.1
+ '@rollup/rollup-linux-x64-gnu': 4.53.1
+ '@rollup/rollup-linux-x64-musl': 4.53.1
+ '@rollup/rollup-openharmony-arm64': 4.53.1
+ '@rollup/rollup-win32-arm64-msvc': 4.53.1
+ '@rollup/rollup-win32-ia32-msvc': 4.53.1
+ '@rollup/rollup-win32-x64-gnu': 4.53.1
+ '@rollup/rollup-win32-x64-msvc': 4.53.1
fsevents: 2.3.3
rotated-array-set@3.0.0: {}
@@ -21221,7 +21319,7 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- svelte@5.43.4:
+ svelte@5.43.5:
dependencies:
'@jridgewell/remapping': 2.3.5
'@jridgewell/sourcemap-codec': 1.5.5
@@ -21325,6 +21423,28 @@ snapshots:
minizlib: 3.1.0
yallist: 5.0.0
+ tdesign-icons-vue-next@0.4.1(vue@3.5.24(typescript@5.9.3)):
+ dependencies:
+ '@babel/runtime': 7.28.4
+ vue: 3.5.24(typescript@5.9.3)
+
+ tdesign-vue-next@1.17.2(vue@3.5.24(typescript@5.9.3)):
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@popperjs/core': 2.11.8
+ '@types/lodash-es': 4.17.12
+ '@types/sortablejs': 1.15.9
+ '@types/tinycolor2': 1.4.6
+ '@types/validator': 13.15.4
+ dayjs: 1.11.19
+ lodash-es: 4.17.21
+ mitt: 3.0.1
+ sortablejs: 1.15.6
+ tdesign-icons-vue-next: 0.4.1(vue@3.5.24(typescript@5.9.3))
+ tinycolor2: 1.6.0
+ validator: 13.15.22
+ vue: 3.5.24(typescript@5.9.3)
+
temp-dir@2.0.0: {}
tempy@0.6.0:
@@ -21371,6 +21491,8 @@ snapshots:
tinybench@2.9.0: {}
+ tinycolor2@1.6.0: {}
+
tinyexec@0.3.2: {}
tinyexec@1.0.2: {}
@@ -21520,14 +21642,14 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
- unbuild@3.6.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3)):
+ unbuild@3.6.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3)):
dependencies:
- '@rollup/plugin-alias': 5.1.1(rollup@4.52.5)
- '@rollup/plugin-commonjs': 28.0.9(rollup@4.52.5)
- '@rollup/plugin-json': 6.1.0(rollup@4.52.5)
- '@rollup/plugin-node-resolve': 16.0.3(rollup@4.52.5)
- '@rollup/plugin-replace': 6.0.3(rollup@4.52.5)
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/plugin-alias': 5.1.1(rollup@4.53.1)
+ '@rollup/plugin-commonjs': 28.0.9(rollup@4.53.1)
+ '@rollup/plugin-json': 6.1.0(rollup@4.53.1)
+ '@rollup/plugin-node-resolve': 16.0.3(rollup@4.53.1)
+ '@rollup/plugin-replace': 6.0.3(rollup@4.53.1)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
citty: 0.1.6
consola: 3.4.2
defu: 6.1.4
@@ -21536,13 +21658,13 @@ snapshots:
hookable: 5.5.3
jiti: 2.6.1
magic-string: 0.30.21
- mkdist: 2.4.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.23(typescript@5.9.3))
+ mkdist: 2.4.1(sass@1.93.3)(typescript@5.9.3)(vue-tsc@2.2.10(typescript@5.9.3))(vue@3.5.24(typescript@5.9.3))
mlly: 1.8.0
pathe: 2.0.3
pkg-types: 2.3.0
pretty-bytes: 7.1.0
- rollup: 4.52.5
- rollup-plugin-dts: 6.2.3(rollup@4.52.5)(typescript@5.9.3)
+ rollup: 4.53.1
+ rollup-plugin-dts: 6.2.3(rollup@4.53.1)(typescript@5.9.3)
scule: 1.3.0
tinyglobby: 0.2.15
untyped: 2.0.0
@@ -21763,16 +21885,18 @@ snapshots:
util-deprecate@1.0.2: {}
- vdirs@0.1.8(vue@3.5.23(typescript@5.9.3)):
+ validator@13.15.22: {}
+
+ vdirs@0.1.8(vue@3.5.24(typescript@5.9.3)):
dependencies:
evtd: 0.2.4
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vee-validate@4.15.1(vue@3.5.23(typescript@5.9.3)):
+ vee-validate@4.15.1(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@vue/devtools-api': 7.7.7
type-fest: 4.41.0
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
vfile-message@4.0.3:
dependencies:
@@ -21840,10 +21964,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vite-plugin-dts@4.5.4(@types/node@24.10.0)(rollup@4.52.5)(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)):
+ vite-plugin-dts@4.5.4(@types/node@24.10.0)(rollup@4.53.1)(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)):
dependencies:
'@microsoft/api-extractor': 7.54.0(@types/node@24.10.0)
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
'@volar/typescript': 2.4.23
'@vue/language-core': 2.2.0(typescript@5.9.3)
compare-versions: 6.1.1
@@ -21875,10 +21999,10 @@ snapshots:
pathe: 0.2.0
vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
- vite-plugin-inspect@0.8.9(rollup@4.52.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)):
+ vite-plugin-inspect@0.8.9(rollup@4.53.1)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)):
dependencies:
'@antfu/utils': 0.7.10
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
debug: 4.4.3
error-stack-parser-es: 0.1.5
fs-extra: 11.3.2
@@ -21893,9 +22017,9 @@ snapshots:
vite-plugin-lazy-import@1.0.7:
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.1)
es-module-lexer: 1.7.0
- rollup: 4.52.5
+ rollup: 4.53.1
xe-utils: 3.7.9
vite-plugin-pwa@1.1.0(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(workbox-build@7.3.0)(workbox-window@7.3.0):
@@ -21920,15 +22044,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vite-plugin-vue-devtools@7.7.7(rollup@4.52.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)):
+ vite-plugin-vue-devtools@7.7.7(rollup@4.53.1)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)):
dependencies:
- '@vue/devtools-core': 7.7.7(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))
+ '@vue/devtools-core': 7.7.7(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))
'@vue/devtools-kit': 7.7.7
'@vue/devtools-shared': 7.7.7
execa: 9.6.0
sirv: 3.0.2
vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
- vite-plugin-inspect: 0.8.9(rollup@4.52.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
+ vite-plugin-inspect: 0.8.9(rollup@4.53.1)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
vite-plugin-vue-inspector: 5.3.2(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1))
transitivePeerDependencies:
- '@nuxt/kit'
@@ -21944,7 +22068,7 @@ snapshots:
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5)
'@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5)
'@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5)
- '@vue/compiler-dom': 3.5.23
+ '@vue/compiler-dom': 3.5.24
kolorist: 1.8.0
magic-string: 0.30.21
vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)(yaml@2.8.1)
@@ -21955,7 +22079,7 @@ snapshots:
dependencies:
esbuild: 0.25.3
postcss: 8.5.6
- rollup: 4.52.5
+ rollup: 4.53.1
optionalDependencies:
'@types/node': 24.10.0
fsevents: 2.3.3
@@ -21969,7 +22093,7 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
- rollup: 4.52.5
+ rollup: 4.53.1
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 24.10.0
@@ -21990,18 +22114,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vitepress@1.6.4(@algolia/client-search@5.42.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3):
+ vitepress@1.6.4(@algolia/client-search@5.43.0)(@types/node@24.10.0)(async-validator@4.2.5)(axios@1.13.2)(less@4.4.2)(nprogress@0.2.0)(postcss@8.5.6)(qrcode@1.5.4)(sass@1.93.3)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.44.1)(typescript@5.9.3):
dependencies:
'@docsearch/css': 3.8.2
- '@docsearch/js': 3.8.2(@algolia/client-search@5.42.0)(search-insights@2.17.3)
- '@iconify-json/simple-icons': 1.2.57
+ '@docsearch/js': 3.8.2(@algolia/client-search@5.43.0)(search-insights@2.17.3)
+ '@iconify-json/simple-icons': 1.2.58
'@shikijs/core': 2.5.0
'@shikijs/transformers': 2.5.0
'@shikijs/types': 2.5.0
'@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 5.2.4(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(vue@3.5.23(typescript@5.9.3))
+ '@vitejs/plugin-vue': 5.2.4(vite@5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1))(vue@3.5.24(typescript@5.9.3))
'@vue/devtools-api': 7.7.7
- '@vue/shared': 3.5.23
+ '@vue/shared': 3.5.24
'@vueuse/core': 12.8.2(typescript@5.9.3)
'@vueuse/integrations': 12.8.2(async-validator@4.2.5)(axios@1.13.2)(focus-trap@7.6.6)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.9.3)
focus-trap: 7.6.6
@@ -22009,7 +22133,7 @@ snapshots:
minisearch: 7.2.0
shiki: 2.5.0
vite: 5.4.21(@types/node@24.10.0)(less@4.4.2)(sass@1.93.3)(terser@5.44.1)
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
optionalDependencies:
postcss: 8.5.6
transitivePeerDependencies:
@@ -22081,10 +22205,10 @@ snapshots:
- tsx
- yaml
- vooks@0.2.12(vue@3.5.23(typescript@5.9.3)):
+ vooks@0.2.12(vue@3.5.24(typescript@5.9.3)):
dependencies:
evtd: 0.2.4
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
vscode-languageserver-textdocument@1.0.12: {}
@@ -22092,14 +22216,14 @@ snapshots:
vue-component-type-helpers@2.2.12: {}
- vue-demi@0.14.10(vue@3.5.23(typescript@5.9.3)):
+ vue-demi@0.14.10(vue@3.5.24(typescript@5.9.3)):
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vue-dompurify-html@5.3.0(vue@3.5.23(typescript@5.9.3)):
+ vue-dompurify-html@5.3.0(vue@3.5.24(typescript@5.9.3)):
dependencies:
dompurify: 3.3.0
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
vue-eslint-parser@10.2.0(eslint@9.39.1(jiti@2.6.1)):
dependencies:
@@ -22113,27 +22237,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)):
+ vue-i18n@11.1.12(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@intlify/core-base': 11.1.12
'@intlify/shared': 11.1.12
'@vue/devtools-api': 6.6.4
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vue-json-viewer@3.0.4(vue@3.5.23(typescript@5.9.3)):
+ vue-json-viewer@3.0.4(vue@3.5.24(typescript@5.9.3)):
dependencies:
clipboard: 2.0.11
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)):
+ vue-router@4.6.3(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@vue/devtools-api': 6.6.4
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vue-tippy@6.7.1(vue@3.5.23(typescript@5.9.3)):
+ vue-tippy@6.7.1(vue@3.5.24(typescript@5.9.3)):
dependencies:
tippy.js: 6.3.7
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
vue-tsc@2.2.10(typescript@5.9.3):
dependencies:
@@ -22141,58 +22265,58 @@ snapshots:
'@vue/language-core': 2.2.10(typescript@5.9.3)
typescript: 5.9.3
- vue-types@3.0.2(vue@3.5.23(typescript@5.9.3)):
+ vue-types@3.0.2(vue@3.5.24(typescript@5.9.3)):
dependencies:
is-plain-object: 3.0.1
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
vue3-print-nb@0.1.4(typescript@5.9.3):
dependencies:
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- vue3-signature@0.2.4(vue@3.5.23(typescript@5.9.3)):
+ vue3-signature@0.2.4(vue@3.5.24(typescript@5.9.3)):
dependencies:
default-passive-events: 2.0.0
signature_pad: 3.0.0-beta.4
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vue@3.5.23(typescript@5.9.3):
+ vue@3.5.24(typescript@5.9.3):
dependencies:
- '@vue/compiler-dom': 3.5.23
- '@vue/compiler-sfc': 3.5.23
- '@vue/runtime-dom': 3.5.23
- '@vue/server-renderer': 3.5.23(vue@3.5.23(typescript@5.9.3))
- '@vue/shared': 3.5.23
+ '@vue/compiler-dom': 3.5.24
+ '@vue/compiler-sfc': 3.5.24
+ '@vue/runtime-dom': 3.5.24
+ '@vue/server-renderer': 3.5.24(vue@3.5.24(typescript@5.9.3))
+ '@vue/shared': 3.5.24
optionalDependencies:
typescript: 5.9.3
- vuedraggable@4.1.0(vue@3.5.23(typescript@5.9.3)):
+ vuedraggable@4.1.0(vue@3.5.24(typescript@5.9.3)):
dependencies:
sortablejs: 1.14.0
- vue: 3.5.23(typescript@5.9.3)
+ vue: 3.5.24(typescript@5.9.3)
- vueuc@0.4.65(vue@3.5.23(typescript@5.9.3)):
+ vueuc@0.4.65(vue@3.5.24(typescript@5.9.3)):
dependencies:
- '@css-render/vue3-ssr': 0.15.14(vue@3.5.23(typescript@5.9.3))
+ '@css-render/vue3-ssr': 0.15.14(vue@3.5.24(typescript@5.9.3))
'@juggle/resize-observer': 3.4.0
css-render: 0.15.14
evtd: 0.2.4
seemly: 0.3.10
- vdirs: 0.1.8(vue@3.5.23(typescript@5.9.3))
- vooks: 0.2.12(vue@3.5.23(typescript@5.9.3))
- vue: 3.5.23(typescript@5.9.3)
+ vdirs: 0.1.8(vue@3.5.24(typescript@5.9.3))
+ vooks: 0.2.12(vue@3.5.24(typescript@5.9.3))
+ vue: 3.5.24(typescript@5.9.3)
- vxe-pc-ui@4.10.17(vue@3.5.23(typescript@5.9.3)):
+ vxe-pc-ui@4.10.18(vue@3.5.24(typescript@5.9.3)):
dependencies:
- '@vxe-ui/core': 4.2.13(vue@3.5.23(typescript@5.9.3))
+ '@vxe-ui/core': 4.2.13(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- vue
- vxe-table@4.17.11(vue@3.5.23(typescript@5.9.3)):
+ vxe-table@4.17.12(vue@3.5.24(typescript@5.9.3)):
dependencies:
- vxe-pc-ui: 4.10.17(vue@3.5.23(typescript@5.9.3))
+ vxe-pc-ui: 4.10.18(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- vue
diff --git a/vben-admin.code-workspace b/vben-admin.code-workspace
index aa8205bda..33df5a752 100644
--- a/vben-admin.code-workspace
+++ b/vben-admin.code-workspace
@@ -16,6 +16,10 @@
"name": "@vben/web-naive",
"path": "apps/web-naive",
},
+ {
+ "name": "@vben/web-tdesign",
+ "path": "apps/web-tdesign",
+ },
{
"name": "@vben/docs",
"path": "docs",