This commit is contained in:
dap 2024-08-28 19:26:05 +08:00
commit 79b58d13e0
32 changed files with 897 additions and 85 deletions

View File

@ -0,0 +1,43 @@
<script setup lang="ts">
import { computed } from 'vue';
import PreviewGroup from './preview-group.vue';
interface Props {
files?: string;
}
const props = withDefaults(defineProps<Props>(), { files: '() => []' });
const parsedFiles = computed(() => {
try {
return JSON.parse(decodeURIComponent(props.files ?? ''));
} catch {
return [];
}
});
</script>
<template>
<div class="border-border shadow-float relative rounded-xl border">
<div
class="not-prose relative w-full overflow-x-auto rounded-t-lg px-4 py-6"
>
<div class="flex w-full max-w-[700px] px-2">
<slot v-if="parsedFiles.length > 0"></slot>
<div v-else class="text-destructive text-sm">
<span class="bg-destructive text-foreground rounded-sm px-1 py-1">
ERROR:
</span>
The preview directory does not exist. Please check the 'dir'
parameter.
</div>
</div>
</div>
<PreviewGroup v-if="parsedFiles.length > 0" :files="parsedFiles">
<template v-for="file in parsedFiles" #[file]>
<slot :name="file"></slot>
</template>
</PreviewGroup>
</div>
</template>

View File

@ -0,0 +1 @@
export { default as DemoPreview } from './demo-preview.vue';

View File

@ -0,0 +1,108 @@
<script setup lang="ts">
import { computed, ref, useSlots } from 'vue';
import { VbenTooltip } from '@vben-core/shadcn-ui';
import { Code } from 'lucide-vue-next';
import {
TabsContent,
TabsIndicator,
TabsList,
TabsRoot,
TabsTrigger,
} from 'radix-vue';
defineOptions({
inheritAttrs: false,
});
const props = withDefaults(
defineProps<{
files?: string[];
}>(),
{ files: () => [] },
);
const open = ref(false);
const slots = useSlots();
const tabs = computed(() => {
return props.files.map((file) => {
return {
component: slots[file],
label: file,
};
});
});
const currentTab = ref('index.vue');
const toggleOpen = () => {
open.value = !open.value;
};
</script>
<template>
<TabsRoot
v-model="currentTab"
class="bg-background-deep border-border overflow-hidden rounded-b-xl border-t"
@update:model-value="open = true"
>
<div class="border-border bg-background flex border-b-2 pr-2">
<div class="flex w-full items-center justify-between text-[13px]">
<TabsList class="relative flex">
<template v-if="open">
<TabsIndicator
class="absolute bottom-0 left-0 h-[2px] w-[--radix-tabs-indicator-size] translate-x-[--radix-tabs-indicator-position] rounded-full transition-[width,transform] duration-300"
>
<div class="size-full bg-[var(--vp-c-indigo-1)]"></div>
</TabsIndicator>
<TabsTrigger
v-for="(tab, index) in tabs"
:key="index"
:value="tab.label"
class="border-box text-foreground px-4 py-3 data-[state=active]:text-[var(--vp-c-indigo-1)]"
tabindex="-1"
>
{{ tab.label }}
</TabsTrigger>
</template>
</TabsList>
<div
:class="{
'py-2': !open,
}"
class="flex items-center"
>
<VbenTooltip side="top">
<template #trigger>
<Code
class="hover:bg-accent size-6.5 cursor-pointer rounded-full p-1.5"
@click="toggleOpen"
/>
</template>
{{ open ? 'Collapse code' : 'Expand code' }}
</VbenTooltip>
</div>
</div>
</div>
<div
:class="`${open ? 'h-[unset] max-h-[80vh]' : 'h-0'}`"
class="block overflow-y-scroll bg-[var(--vp-code-block-bg)] transition-all duration-300"
>
<TabsContent
v-for="tab in tabs"
:key="tab.label"
:value="tab.label"
as-child
class="rounded-xl"
>
<div class="text-foreground relative rounded-xl">
<component :is="tab.component" class="border-0" />
</div>
</TabsContent>
</div>
</TabsRoot>
</template>

View File

@ -13,7 +13,7 @@ export const en = defineConfig({
prev: 'Previous Page',
},
editLink: {
pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/:path',
pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/src/:path',
text: 'Edit this page on GitHub',
},
footer: {
@ -203,7 +203,7 @@ function nav(): DefaultTheme.NavItem[] {
},
{
link: '/commercial/technical-support',
text: '🦄 Technical Support',
text: '🦄 Tech Support',
},
{
link: '/sponsor/personal',

View File

@ -2,12 +2,12 @@ import { withPwa } from '@vite-pwa/vitepress';
import { defineConfigWithTheme } from 'vitepress';
import { en } from './en.mts';
import { shard } from './shard.mts';
import { shared } from './shared.mts';
import { zh } from './zh.mts';
export default withPwa(
defineConfigWithTheme({
...shard,
...shared,
locales: {
en: {
label: 'English',

View File

@ -0,0 +1,135 @@
import type { MarkdownEnv, MarkdownRenderer } from 'vitepress';
import crypto from 'node:crypto';
import { readdirSync } from 'node:fs';
import { join } from 'node:path';
export const rawPathRegexp =
// eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/strict
/^(.+?(?:\.([\da-z]+))?)(#[\w-]+)?(?: ?{(\d+(?:[,-]\d+)*)? ?(\S+)?})? ?(?:\[(.+)])?$/;
function rawPathToToken(rawPath: string) {
const [
filepath = '',
extension = '',
region = '',
lines = '',
lang = '',
rawTitle = '',
] = (rawPathRegexp.exec(rawPath) || []).slice(1);
const title = rawTitle || filepath.split('/').pop() || '';
return { extension, filepath, lang, lines, region, title };
}
export const demoPreviewPlugin = (md: MarkdownRenderer) => {
md.core.ruler.after('inline', 'demo-preview', (state) => {
const insertComponentImport = (importString: string) => {
const index = state.tokens.findIndex(
(i) => i.type === 'html_block' && i.content.match(/<script setup>/g),
);
if (index === -1) {
const importComponent = new state.Token('html_block', '', 0);
importComponent.content = `<script setup>\n${importString}\n</script>\n`;
state.tokens.splice(0, 0, importComponent);
} else {
if (state.tokens[index]) {
const content = state.tokens[index].content;
state.tokens[index].content = content.replace(
'</script>',
`${importString}\n</script>`,
);
}
}
};
// Define the regular expression to match the desired pattern
const regex = /<DemoPreview[^>]*\sdir="([^"]*)"/g;
// Iterate through the Markdown content and replace the pattern
state.src = state.src.replaceAll(regex, (_match, dir) => {
const componentDir = join(process.cwd(), 'src', dir);
let childFiles: string[] = [];
let dirExists = true;
try {
childFiles =
readdirSync(componentDir, {
encoding: 'utf8',
recursive: false,
withFileTypes: false,
}) || [];
} catch {
dirExists = false;
}
if (!dirExists) {
return '';
}
const uniqueWord = generateContentHash(componentDir);
const ComponentName = `DemoComponent_${uniqueWord}`;
insertComponentImport(
`import ${ComponentName} from '${componentDir}/index.vue'`,
);
const { path: _path } = state.env as MarkdownEnv;
const index = state.tokens.findIndex((i) => i.content.match(regex));
if (!state.tokens[index]) {
return '';
}
state.tokens[index].content =
`<DemoPreview files="${encodeURIComponent(JSON.stringify(childFiles))}" ><${ComponentName}/>
`;
const _dummyToken = new state.Token('', '', 0);
const tokenArray: Array<typeof _dummyToken> = [];
childFiles.forEach((filename) => {
// const slotName = filename.replace(extname(filename), '');
const templateStart = new state.Token('html_inline', '', 0);
templateStart.content = `<template #${filename}>`;
tokenArray.push(templateStart);
const resolvedPath = join(componentDir, filename);
const { extension, filepath, lang, lines, title } =
rawPathToToken(resolvedPath);
// Add code tokens for each line
const token = new state.Token('fence', 'code', 0);
token.info = `${lang || extension}${lines ? `{${lines}}` : ''}${
title ? `[${title}]` : ''
}`;
token.content = `<<< ${filepath}`;
(token as any).src = [resolvedPath];
tokenArray.push(token);
const templateEnd = new state.Token('html_inline', '', 0);
templateEnd.content = '</template>';
tokenArray.push(templateEnd);
});
const endTag = new state.Token('html_inline', '', 0);
endTag.content = '</DemoPreview>';
tokenArray.push(endTag);
state.tokens.splice(index + 1, 0, ...tokenArray);
// console.log(
// state.md.renderer.render(state.tokens, state?.options ?? [], state.env),
// );
return '';
});
});
};
function generateContentHash(input: string, length: number = 10): string {
// 使用 SHA-256 生成哈希值
const hash = crypto.createHash('sha256').update(input).digest('hex');
// 将哈希值转换为 Base36 编码,并取指定长度的字符作为结果
return Number.parseInt(hash, 16).toString(36).slice(0, length);
}

View File

@ -1,4 +1,5 @@
import type { PwaOptions } from '@vite-pwa/vitepress';
import type { HeadConfig } from 'vitepress';
import { resolve } from 'node:path';
@ -6,12 +7,20 @@ import {
GitChangelog,
GitChangelogMarkdownSection,
} from '@nolebase/vitepress-plugin-git-changelog/vite';
import { defineConfig, type HeadConfig } from 'vitepress';
import tailwind from 'tailwindcss';
import { defineConfig, postcssIsolateStyles } from 'vitepress';
import { demoPreviewPlugin } from './plugins/demo-preview';
import { search as zhSearch } from './zh.mts';
export const shard = defineConfig({
export const shared = defineConfig({
appearance: 'dark',
head: head(),
markdown: {
preConfig(md) {
md.use(demoPreviewPlugin);
},
},
pwa: pwa(),
srcDir: 'src',
themeConfig: {
@ -36,11 +45,34 @@ export const shard = defineConfig({
chunkSizeWarningLimit: Infinity,
minify: 'terser',
},
css: {
postcss: {
plugins: [
tailwind(),
postcssIsolateStyles({ includeFiles: [/vp-doc\.css/] }),
],
},
},
json: {
stringify: true,
},
plugins: [
GitChangelog({
mapAuthors: [
{
mapByNameAliases: ['Vben'],
name: 'vben',
username: 'anncwb',
},
{
name: 'vince',
username: 'vince292007',
},
{
name: 'Li Kui',
username: 'likui628',
},
],
repoURL: () => 'https://github.com/vbenjs/vue-vben-admin',
}),
GitChangelogMarkdownSection(),

View File

@ -13,7 +13,8 @@ export const zh = defineConfig({
prev: '上一页',
},
editLink: {
pattern: 'https://github.com/vbenjs/vue-vben-admin/edit/main/docs/:path',
pattern:
'https://github.com/vbenjs/vue-vben-admin/edit/main/docs/src/:path',
text: '在 GitHub 上编辑此页面',
},
footer: {
@ -38,6 +39,7 @@ export const zh = defineConfig({
sidebar: {
'/commercial/': { base: '/commercial/', items: sidebarCommercial() },
'/components/': { base: '/components/', items: sidebarComponents() },
'/guide/': { base: '/guide/', items: sidebarGuide() },
},
sidebarMenuLabel: '菜单',
@ -60,6 +62,11 @@ function sidebarGuide(): DefaultTheme.SidebarItem[] {
},
{ link: 'introduction/quick-start', text: '快速开始' },
{ link: 'introduction/thin', text: '精简版本' },
{
base: '/',
link: 'components/introduction',
text: '组件文档',
},
],
},
{
@ -117,7 +124,7 @@ function sidebarCommercial(): DefaultTheme.SidebarItem[] {
return [
{
link: 'community',
text: '社区交流',
text: '社区',
},
{
link: 'technical-support',
@ -130,6 +137,30 @@ function sidebarCommercial(): DefaultTheme.SidebarItem[] {
];
}
function sidebarComponents(): DefaultTheme.SidebarItem[] {
return [
{
text: '组件',
items: [
{
link: 'introduction',
text: '介绍',
},
],
},
{
collapsed: false,
text: '通用组件',
items: [
{
link: 'common-ui/vben-modal',
text: 'Modal 弹窗',
},
],
},
];
}
function nav(): DefaultTheme.NavItem[] {
return [
{
@ -138,28 +169,10 @@ function nav(): DefaultTheme.NavItem[] {
{
link: '/guide/introduction/vben',
text: '指南',
// items: [
// {
// link: '/guide/introduction/vben',
// text: '简介',
// },
// {
// link: '/guide/essentials/concept',
// text: '基础',
// },
// {
// link: '/guide/in-depth/layout',
// text: '深入',
// },
// {
// link: '/guide/project/standard',
// text: '工程',
// },
// {
// link: '/guide/other/project-update',
// text: '其他',
// },
// ],
},
{
link: '/components/introduction',
text: '组件',
},
{
text: '历史版本',
@ -234,7 +247,7 @@ function nav(): DefaultTheme.NavItem[] {
},
{
link: '/commercial/community',
text: '👨‍👦‍👦 社区交流',
text: '👨‍👦‍👦 社区',
// items: [
// {
// link: 'https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&appChannel=share&inviteCode=22ySzj7pKiw&businessType=9&from=246610&biz=ka&mainSourceId=share&subSourceId=others&jumpsource=shorturl#/pc',

View File

@ -1,9 +1,10 @@
// https://vitepress.dev/guide/custom-theme
import type { Theme } from 'vitepress';
import type { EnhanceAppContext, Theme } from 'vitepress';
import { NolebaseGitChangelogPlugin } from '@nolebase/vitepress-plugin-git-changelog/client';
import DefaultTheme from 'vitepress/theme';
import { DemoPreview } from '../components';
import SiteLayout from './components/site-layout.vue';
import VbenContributors from './components/vben-contributors.vue';
import { initHmPlugin } from './plugins/hm';
@ -13,9 +14,10 @@ import './styles';
import '@nolebase/vitepress-plugin-git-changelog/client/style.css';
export default {
enhanceApp({ app }) {
// ...
enhanceApp(ctx: EnhanceAppContext) {
const { app } = ctx;
app.component('VbenContributors', VbenContributors);
app.component('DemoPreview', DemoPreview);
app.use(NolebaseGitChangelogPlugin);
// 百度统计
initHmPlugin();

View File

@ -1,2 +1,3 @@
import './variables.css';
import './base.css';
import '@vben/styles';

View File

@ -8,10 +8,18 @@
"docs:preview": "vitepress preview"
},
"dependencies": {
"medium-zoom": "^1.1.0"
"@vben-core/shadcn-ui": "workspace:*",
"@vben/common-ui": "workspace:*",
"@vben/styles": "workspace:*",
"@vueuse/core": "^11.0.3",
"lucide-vue-next": "^0.436.0",
"markdown-it": "^14.1.0",
"medium-zoom": "^1.1.0",
"radix-vue": "^1.9.5"
},
"devDependencies": {
"@nolebase/vitepress-plugin-git-changelog": "^2.4.0",
"@types/markdown-it": "^14.1.2",
"@vite-pwa/vitepress": "^0.5.0",
"vitepress": "^1.3.4",
"vue": "^3.4.38"

View File

@ -0,0 +1,45 @@
---
outline: deep
---
# vben-modal
::: tip
文档还在完善中,敬请期待。
:::
框架提供的模态框组件,支持`拖拽`、`全屏`、`自定义`等功能。
## 基础用法
使用 `useVbenModal` 创建最基于的模态框。
<DemoPreview dir="demos/vben-modal/basic" />
## 组件抽离
modal 内的内容一般业务中,会比较复杂,所以我们可以将 modal 内的内容抽离出来。
<DemoPreview dir="demos/vben-modal/extra" />
## API
### 属性
| 属性名 | 描述 | 类型 | 默认值 |
| ------ | ----- | -------- | ------ |
| title | 标题. | `string` | — |
### 事件
| 事件名 | 描述 | 类型 |
| ------ | ---- | ---- |
| TODO | TODO | TODO |
### 插槽
| 插槽名 | 描述 |
| ------- | ---- |
| default | xx. |

View File

@ -0,0 +1,11 @@
# 介绍
::: tip README
该文档介绍的是框架组件的使用方法、属性、事件等。如果你觉得组件封装的不好,或者不符合你的需求,你可以直接使用原生的组件,或者自己封装一个组件,不需要拘泥于框架提供的组件。我们只是提供了一些常用的组件,方便你快速开发。是否使用,取决于你的需求。
:::
## 通用组件
通用组件是一些常用的组件,比如弹窗、抽屉、表单等。大部分基于 `Tailwind CSS` 实现,可适用于不同 UI 组件库的应用。

View File

@ -0,0 +1,11 @@
<script lang="ts" setup>
import { useVbenModal, VbenButton } from '@vben/common-ui';
const [Modal, modalApi] = useVbenModal();
</script>
<template>
<div>
<VbenButton @click="() => modalApi.open()">打开弹窗</VbenButton>
<Modal title="基础示例"> modal content </Modal>
</div>
</template>

View File

@ -0,0 +1,22 @@
<script lang="ts" setup>
import { useVbenModal, VbenButton } from '@vben/common-ui';
import ExtraModal from './modal.vue';
const [Modal, modalApi] = useVbenModal({
//
connectedComponent: ExtraModal,
});
function openModal() {
modalApi.open();
}
</script>
<template>
<div>
<Modal />
<VbenButton @click="openModal">打开弹窗</VbenButton>
</div>
</template>

View File

@ -0,0 +1,8 @@
<script lang="ts" setup>
import { useVbenModal } from '@vben/common-ui';
const [Modal] = useVbenModal();
</script>
<template>
<Modal title="基础示例"> extra modal content </Modal>
</template>

View File

@ -42,3 +42,5 @@ VITE_INJECT_APP_LOADING=false
<div class="title"><%= VITE_APP_TITLE %></div>
</div>
```
:::

11
docs/tailwind.config.mjs Normal file
View File

@ -0,0 +1,11 @@
import tailwindcssConfig from '@vben/tailwind-config';
export default {
...tailwindcssConfig,
content: [
...tailwindcssConfig.content,
'.vitepress/**/*.{js,mts,ts,vue}',
'src/demos/**/*.{js,mts,ts,vue}',
'src/**/*.md',
],
};

View File

@ -1,6 +1,13 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@vben/tsconfig/web.json",
"include": [".vitepress/*.mts", ".vitepress/**/*.ts", ".vitepress/**/*.vue"],
"include": [
".vitepress/*.mts",
".vitepress/**/*.ts",
".vitepress/**/*.vue",
"src/*.mts",
"src/**/*.ts",
"src/**/*.vue"
],
"exclude": ["node_modules"]
}

View File

@ -45,7 +45,7 @@
"@vitejs/plugin-vue-jsx": "^4.0.1",
"dayjs": "^1.11.13",
"dotenv": "^16.4.5",
"rollup": "^4.21.0",
"rollup": "^4.21.1",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.77.8",
"vite": "^5.4.2",

View File

@ -99,7 +99,7 @@
"node": ">=20",
"pnpm": ">=9"
},
"packageManager": "pnpm@9.7.1",
"packageManager": "pnpm@9.9.0",
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {

View File

@ -37,7 +37,7 @@
"dependencies": {
"@vben-core/shared": "workspace:*",
"@vueuse/core": "^11.0.3",
"radix-vue": "^1.9.4",
"radix-vue": "^1.9.5",
"sortablejs": "^1.15.2",
"vue": "^3.4.38"
},

View File

@ -184,9 +184,6 @@ const headerFixed = computed(() => {
});
const showSidebar = computed(() => {
// if (isMixedNav.value && !props.sideHidden) {
// return false;
// }
return isSideMode.value && sidebarEnable.value;
});

View File

@ -49,7 +49,7 @@
"@vueuse/core": "^11.0.3",
"class-variance-authority": "^0.7.0",
"lucide-vue-next": "^0.436.0",
"radix-vue": "^1.9.4",
"radix-vue": "^1.9.5",
"vue": "^3.4.38"
}
}

View File

@ -14,7 +14,7 @@ interface Props {
contentClass?: any;
contentStyle?: StyleValue;
delayDuration?: number;
side: TooltipContentProps['side'];
side?: TooltipContentProps['side'];
}
withDefaults(defineProps<Props>(), {
@ -33,7 +33,7 @@ withDefaults(defineProps<Props>(), {
:class="contentClass"
:side="side"
:style="contentStyle"
class="side-content text-popover-foreground bg-popover"
class="side-content text-popover-foreground bg-accent rounded-md"
>
<slot></slot>
</TooltipContent>

View File

@ -1,3 +1,5 @@
export * from './ellipsis-text';
export * from './page';
export * from '@vben-core/popup-ui';
export { VbenButton } from '@vben-core/shadcn-ui';

View File

@ -161,7 +161,7 @@ defineExpose({ resetCaptcha });
</script>
<template>
<div @keypress.enter.prevent="handleSubmit">
<div @keydown.enter.prevent="handleSubmit">
<Title>
{{ title || `${$t('authentication.welcomeBack')} 👋🏻` }}
<template #desc>

View File

@ -27,6 +27,8 @@ withDefaults(defineProps<Props>(), {
theme: 'light',
});
const emit = defineEmits<{ clearPreferencesAndLogout: [] }>();
const accessStore = useAccessStore();
const { globalSearchShortcutKey, preferencesButtonPosition } = usePreferences();
const slots = useSlots();
@ -90,6 +92,10 @@ const leftSlots = computed(() => {
});
return list.sort((a, b) => a.index - b.index);
});
function clearPreferencesAndLogout() {
emit('clearPreferencesAndLogout');
}
</script>
<template>
@ -123,7 +129,10 @@ const leftSlots = computed(() => {
</template>
<template v-else-if="slot.name === 'preferences'">
<PreferencesButton class="mr-2" />
<PreferencesButton
class="mr-2"
@clear-preferences-and-logout="clearPreferencesAndLogout"
/>
</template>
<template v-else-if="slot.name === 'theme-toggle'">
<ThemeToggle class="mr-2 mt-[2px]" />

View File

@ -78,23 +78,17 @@ const isMenuRounded = computed(() => {
});
const logoCollapsed = computed(() => {
const shouldCollapse = isHeaderNav.value || isMixedNav.value;
if (shouldCollapse) {
if (isMobile.value) {
return true;
}
if (isHeaderNav.value || isMixedNav.value) {
return false;
}
const shouldExpandOnMobile = !sidebarCollapsed.value && isMobile.value;
if (shouldExpandOnMobile) {
return false;
}
return sidebarCollapsed.value || isSideMixedNav.value;
});
const showHeaderNav = computed(() => {
return isHeaderNav.value || isMixedNav.value;
return !isMobile.value && (isHeaderNav.value || isMixedNav.value);
});
//
@ -208,7 +202,10 @@ const headerSlots = computed(() => {
</template>
<!-- 头部区域 -->
<template #header>
<LayoutHeader :theme="theme">
<LayoutHeader
:theme="theme"
@clear-preferences-and-logout="clearPreferencesAndLogout"
>
<template
v-if="!showHeaderNav && preferences.breadcrumb.enable"
#breadcrumb

View File

@ -3,9 +3,15 @@ import { Settings } from '@vben/icons';
import { VbenIconButton } from '@vben-core/shadcn-ui';
import Preferences from './preferences.vue';
const emit = defineEmits<{ clearPreferencesAndLogout: [] }>();
function clearPreferencesAndLogout() {
emit('clearPreferencesAndLogout');
}
</script>
<template>
<Preferences>
<Preferences @clear-preferences-and-logout="clearPreferencesAndLogout">
<VbenIconButton>
<Settings class="size-4" />
</VbenIconButton>

View File

@ -413,7 +413,6 @@ async function handleReset() {
variant="ghost"
@click="handleClearCache"
>
<!-- <RotateCw class="mr-2 size-4" /> -->
{{ $t('preferences.clearAndLogout') }}
</VbenButton>
</template>

View File

@ -286,7 +286,7 @@ importers:
devDependencies:
unplugin-element-plus:
specifier: ^0.8.0
version: 0.8.0(rollup@4.21.0)
version: 0.8.0(rollup@4.21.1)
apps/web-naive:
dependencies:
@ -350,13 +350,37 @@ importers:
docs:
dependencies:
'@vben-core/shadcn-ui':
specifier: workspace:*
version: link:../packages/@core/ui-kit/shadcn-ui
'@vben/common-ui':
specifier: workspace:*
version: link:../packages/effects/common-ui
'@vben/styles':
specifier: workspace:*
version: link:../packages/styles
'@vueuse/core':
specifier: ^11.0.3
version: 11.0.3(vue@3.4.38(typescript@5.5.4))
lucide-vue-next:
specifier: ^0.436.0
version: 0.436.0(vue@3.4.38(typescript@5.5.4))
markdown-it:
specifier: ^14.1.0
version: 14.1.0
medium-zoom:
specifier: ^1.1.0
version: 1.1.0
radix-vue:
specifier: ^1.9.5
version: 1.9.5(vue@3.4.38(typescript@5.5.4))
devDependencies:
'@nolebase/vitepress-plugin-git-changelog':
specifier: ^2.4.0
version: 2.4.0(@algolia/client-search@4.24.0)(@types/node@22.5.0)(async-validator@4.2.5)(axios@1.7.5)(nprogress@0.2.0)(postcss@8.4.41)(qrcode@1.5.4)(sass@1.77.8)(search-insights@2.16.3)(sortablejs@1.15.2)(terser@5.31.6)(typescript@5.5.4)
'@types/markdown-it':
specifier: ^14.1.2
version: 14.1.2
'@vite-pwa/vitepress':
specifier: ^0.5.0
version: 0.5.0(vite-plugin-pwa@0.20.1(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(workbox-build@7.1.1)(workbox-window@7.1.0))
@ -621,7 +645,7 @@ importers:
dependencies:
'@intlify/unplugin-vue-i18n':
specifier: ^4.0.0
version: 4.0.0(rollup@4.21.0)(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))
version: 4.0.0(rollup@4.21.1)(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))
'@jspm/generator':
specifier: ^2.1.3
version: 2.1.3
@ -648,7 +672,7 @@ importers:
version: 0.20.1(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(workbox-build@7.1.1)(workbox-window@7.1.0)
vite-plugin-vue-devtools:
specifier: ^7.3.9
version: 7.3.9(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
version: 7.3.9(rollup@4.21.1)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
devDependencies:
'@types/html-minifier-terser':
specifier: ^7.0.2
@ -669,11 +693,11 @@ importers:
specifier: ^16.4.5
version: 16.4.5
rollup:
specifier: ^4.21.0
version: 4.21.0
specifier: ^4.21.1
version: 4.21.1
rollup-plugin-visualizer:
specifier: ^5.12.0
version: 5.12.0(rollup@4.21.0)
version: 5.12.0(rollup@4.21.1)
sass:
specifier: ^1.77.8
version: 1.77.8
@ -685,7 +709,7 @@ importers:
version: 0.5.1(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
vite-plugin-dts:
specifier: 4.0.3
version: 4.0.3(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
version: 4.0.3(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
vite-plugin-html:
specifier: ^3.2.2
version: 3.2.2(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
@ -759,8 +783,8 @@ importers:
specifier: ^11.0.3
version: 11.0.3(vue@3.4.38(typescript@5.5.4))
radix-vue:
specifier: ^1.9.4
version: 1.9.4(vue@3.4.38(typescript@5.5.4))
specifier: ^1.9.5
version: 1.9.5(vue@3.4.38(typescript@5.5.4))
sortablejs:
specifier: ^1.15.2
version: 1.15.2
@ -877,8 +901,8 @@ importers:
specifier: ^0.436.0
version: 0.436.0(vue@3.4.38(typescript@5.5.4))
radix-vue:
specifier: ^1.9.4
version: 1.9.4(vue@3.4.38(typescript@5.5.4))
specifier: ^1.9.5
version: 1.9.5(vue@3.4.38(typescript@5.5.4))
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
@ -3747,90 +3771,224 @@ packages:
cpu: [arm]
os: [android]
<<<<<<< HEAD
=======
'@rollup/rollup-android-arm-eabi@4.21.1':
resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==}
cpu: [arm]
os: [android]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-android-arm64@4.21.0':
resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==}
cpu: [arm64]
os: [android]
<<<<<<< HEAD
=======
'@rollup/rollup-android-arm64@4.21.1':
resolution: {integrity: sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==}
cpu: [arm64]
os: [android]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-darwin-arm64@4.21.0':
resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==}
cpu: [arm64]
os: [darwin]
<<<<<<< HEAD
=======
'@rollup/rollup-darwin-arm64@4.21.1':
resolution: {integrity: sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==}
cpu: [arm64]
os: [darwin]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-darwin-x64@4.21.0':
resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==}
cpu: [x64]
os: [darwin]
<<<<<<< HEAD
=======
'@rollup/rollup-darwin-x64@4.21.1':
resolution: {integrity: sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==}
cpu: [x64]
os: [darwin]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-arm-gnueabihf@4.21.0':
resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==}
cpu: [arm]
os: [linux]
libc: [glibc]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-arm-gnueabihf@4.21.1':
resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==}
cpu: [arm]
os: [linux]
libc: [glibc]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-arm-musleabihf@4.21.0':
resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==}
cpu: [arm]
os: [linux]
libc: [musl]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-arm-musleabihf@4.21.1':
resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==}
cpu: [arm]
os: [linux]
libc: [musl]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-arm64-gnu@4.21.0':
resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==}
cpu: [arm64]
os: [linux]
libc: [glibc]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-arm64-gnu@4.21.1':
resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==}
cpu: [arm64]
os: [linux]
libc: [glibc]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-arm64-musl@4.21.0':
resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==}
cpu: [arm64]
os: [linux]
libc: [musl]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-arm64-musl@4.21.1':
resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==}
cpu: [arm64]
os: [linux]
libc: [musl]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-powerpc64le-gnu@4.21.1':
resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-riscv64-gnu@4.21.0':
resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-riscv64-gnu@4.21.1':
resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-s390x-gnu@4.21.0':
resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==}
cpu: [s390x]
os: [linux]
libc: [glibc]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-s390x-gnu@4.21.1':
resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==}
cpu: [s390x]
os: [linux]
libc: [glibc]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-x64-gnu@4.21.0':
resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==}
cpu: [x64]
os: [linux]
libc: [glibc]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-x64-gnu@4.21.1':
resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==}
cpu: [x64]
os: [linux]
libc: [glibc]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-linux-x64-musl@4.21.0':
resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==}
cpu: [x64]
os: [linux]
libc: [musl]
<<<<<<< HEAD
=======
'@rollup/rollup-linux-x64-musl@4.21.1':
resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==}
cpu: [x64]
os: [linux]
libc: [musl]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-win32-arm64-msvc@4.21.0':
resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==}
cpu: [arm64]
os: [win32]
<<<<<<< HEAD
=======
'@rollup/rollup-win32-arm64-msvc@4.21.1':
resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==}
cpu: [arm64]
os: [win32]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-win32-ia32-msvc@4.21.0':
resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==}
cpu: [ia32]
os: [win32]
<<<<<<< HEAD
=======
'@rollup/rollup-win32-ia32-msvc@4.21.1':
resolution: {integrity: sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==}
cpu: [ia32]
os: [win32]
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-win32-x64-msvc@4.21.0':
resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==}
cpu: [x64]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.21.1':
resolution: {integrity: sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==}
cpu: [x64]
os: [win32]
'@rushstack/node-core-library@5.5.1':
resolution: {integrity: sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g==}
peerDependencies:
@ -6930,6 +7088,9 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
lint-staged@15.2.9:
resolution: {integrity: sha512-BZAt8Lk3sEnxw7tfxM7jeZlPRuT4M68O0/CwZhhaw6eeWu0Lz5eERE3m386InivXB64fp/mDID452h48tvKlRQ==}
engines: {node: '>=18.12.0'}
@ -7109,6 +7270,10 @@ packages:
mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
mathml-tag-names@2.1.3:
resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==}
@ -7118,6 +7283,9 @@ packages:
mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
medium-zoom@1.1.0:
resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==}
@ -8276,6 +8444,10 @@ packages:
engines: {node: '>=16'}
hasBin: true
punycode.js@2.3.1:
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
engines: {node: '>=6'}
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@ -8298,8 +8470,8 @@ packages:
queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
radix-vue@1.9.4:
resolution: {integrity: sha512-d950wxB+MVVU6L9h39OsNzAdk2BiGDDfhXJiHsksPAIK5pCR8W4U0RB0WLQEdjmmL9p1aXOYm4FBDq0oIo2G/w==}
radix-vue@1.9.5:
resolution: {integrity: sha512-vtCq+WDAZj5BQtJiChGf/oC7w3y7jaod3agcntgph7fD6aqdcghLZYcUWdgT/XNJs2bEsk+3cjK3ONPRNeFcuQ==}
peerDependencies:
vue: 3.4.38
@ -8515,6 +8687,14 @@ packages:
rollup@4.21.0:
resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==}
<<<<<<< HEAD
=======
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
rollup@4.21.1:
resolution: {integrity: sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==}
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@ -9280,6 +9460,9 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
@ -12194,11 +12377,11 @@ snapshots:
'@intlify/shared@9.14.0': {}
'@intlify/unplugin-vue-i18n@4.0.0(rollup@4.21.0)(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))':
'@intlify/unplugin-vue-i18n@4.0.0(rollup@4.21.1)(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))':
dependencies:
'@intlify/bundle-utils': 8.0.0(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))
'@intlify/shared': 9.14.0
'@rollup/pluginutils': 5.1.0(rollup@4.21.0)
'@rollup/pluginutils': 5.1.0(rollup@4.21.1)
'@vue/compiler-sfc': 3.4.38
debug: 4.3.6
fast-glob: 3.3.2
@ -12712,6 +12895,7 @@ snapshots:
optionalDependencies:
rollup: 4.21.0
<<<<<<< HEAD
'@rollup/rollup-android-arm-eabi@4.21.0':
optional: true
@ -12757,9 +12941,112 @@ snapshots:
'@rollup/rollup-win32-ia32-msvc@4.21.0':
optional: true
=======
'@rollup/pluginutils@5.1.0(rollup@4.21.1)':
dependencies:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
optionalDependencies:
rollup: 4.21.1
'@rollup/rollup-android-arm-eabi@4.21.0':
optional: true
'@rollup/rollup-android-arm-eabi@4.21.1':
optional: true
'@rollup/rollup-android-arm64@4.21.0':
optional: true
'@rollup/rollup-android-arm64@4.21.1':
optional: true
'@rollup/rollup-darwin-arm64@4.21.0':
optional: true
'@rollup/rollup-darwin-arm64@4.21.1':
optional: true
'@rollup/rollup-darwin-x64@4.21.0':
optional: true
'@rollup/rollup-darwin-x64@4.21.1':
optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.21.0':
optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.21.1':
optional: true
'@rollup/rollup-linux-arm-musleabihf@4.21.0':
optional: true
'@rollup/rollup-linux-arm-musleabihf@4.21.1':
optional: true
'@rollup/rollup-linux-arm64-gnu@4.21.0':
optional: true
'@rollup/rollup-linux-arm64-gnu@4.21.1':
optional: true
'@rollup/rollup-linux-arm64-musl@4.21.0':
optional: true
'@rollup/rollup-linux-arm64-musl@4.21.1':
optional: true
'@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
optional: true
'@rollup/rollup-linux-powerpc64le-gnu@4.21.1':
optional: true
'@rollup/rollup-linux-riscv64-gnu@4.21.0':
optional: true
'@rollup/rollup-linux-riscv64-gnu@4.21.1':
optional: true
'@rollup/rollup-linux-s390x-gnu@4.21.0':
optional: true
'@rollup/rollup-linux-s390x-gnu@4.21.1':
optional: true
'@rollup/rollup-linux-x64-gnu@4.21.0':
optional: true
'@rollup/rollup-linux-x64-gnu@4.21.1':
optional: true
'@rollup/rollup-linux-x64-musl@4.21.0':
optional: true
'@rollup/rollup-linux-x64-musl@4.21.1':
optional: true
'@rollup/rollup-win32-arm64-msvc@4.21.0':
optional: true
'@rollup/rollup-win32-arm64-msvc@4.21.1':
optional: true
'@rollup/rollup-win32-ia32-msvc@4.21.0':
optional: true
'@rollup/rollup-win32-ia32-msvc@4.21.1':
optional: true
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@rollup/rollup-win32-x64-msvc@4.21.0':
optional: true
'@rollup/rollup-win32-x64-msvc@4.21.1':
optional: true
'@rushstack/node-core-library@5.5.1(@types/node@22.5.0)':
dependencies:
ajv: 8.13.0
@ -16355,6 +16642,10 @@ snapshots:
lines-and-columns@1.2.4: {}
linkify-it@5.0.0:
dependencies:
uc.micro: 2.1.0
lint-staged@15.2.9:
dependencies:
chalk: 5.3.0
@ -16571,12 +16862,23 @@ snapshots:
mark.js@8.11.1: {}
markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
entities: 4.5.0
linkify-it: 5.0.0
mdurl: 2.0.0
punycode.js: 2.3.1
uc.micro: 2.1.0
mathml-tag-names@2.1.3: {}
mdn-data@2.0.28: {}
mdn-data@2.0.30: {}
mdurl@2.0.0: {}
medium-zoom@1.1.0: {}
memoize-one@6.0.0: {}
@ -17745,6 +18047,8 @@ snapshots:
picocolors: 1.0.1
sade: 1.8.1
punycode.js@2.3.1: {}
punycode@2.3.1: {}
pupa@3.1.0:
@ -17763,7 +18067,7 @@ snapshots:
queue-tick@1.0.1: {}
radix-vue@1.9.4(vue@3.4.38(typescript@5.5.4)):
radix-vue@1.9.5(vue@3.4.38(typescript@5.5.4)):
dependencies:
'@floating-ui/dom': 1.6.10
'@floating-ui/vue': 1.1.4(vue@3.4.38(typescript@5.5.4))
@ -17989,6 +18293,15 @@ snapshots:
optionalDependencies:
rollup: 4.21.0
rollup-plugin-visualizer@5.12.0(rollup@4.21.1):
dependencies:
open: 8.4.2
picomatch: 2.3.1
source-map: 0.7.4
yargs: 17.7.2
optionalDependencies:
rollup: 4.21.1
rollup@2.79.1:
optionalDependencies:
fsevents: 2.3.3
@ -18019,6 +18332,28 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.21.0
fsevents: 2.3.3
rollup@4.21.1:
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.21.1
'@rollup/rollup-android-arm64': 4.21.1
'@rollup/rollup-darwin-arm64': 4.21.1
'@rollup/rollup-darwin-x64': 4.21.1
'@rollup/rollup-linux-arm-gnueabihf': 4.21.1
'@rollup/rollup-linux-arm-musleabihf': 4.21.1
'@rollup/rollup-linux-arm64-gnu': 4.21.1
'@rollup/rollup-linux-arm64-musl': 4.21.1
'@rollup/rollup-linux-powerpc64le-gnu': 4.21.1
'@rollup/rollup-linux-riscv64-gnu': 4.21.1
'@rollup/rollup-linux-s390x-gnu': 4.21.1
'@rollup/rollup-linux-x64-gnu': 4.21.1
'@rollup/rollup-linux-x64-musl': 4.21.1
'@rollup/rollup-win32-arm64-msvc': 4.21.1
'@rollup/rollup-win32-ia32-msvc': 4.21.1
'@rollup/rollup-win32-x64-msvc': 4.21.1
fsevents: 2.3.3
rotated-array-set@3.0.0: {}
rrweb-cssom@0.6.0: {}
@ -18843,6 +19178,8 @@ snapshots:
typescript@5.5.4: {}
uc.micro@2.1.0: {}
ufo@1.5.4: {}
unbox-primitive@1.0.2:
@ -18961,9 +19298,9 @@ snapshots:
universalify@2.0.1: {}
unplugin-element-plus@0.8.0(rollup@4.21.0):
unplugin-element-plus@0.8.0(rollup@4.21.1):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.21.0)
'@rollup/pluginutils': 5.1.0(rollup@4.21.1)
es-module-lexer: 1.5.4
magic-string: 0.30.11
unplugin: 1.12.2
@ -19119,11 +19456,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
vite-plugin-dts@4.0.3(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6)):
vite-plugin-dts@4.0.3(@types/node@22.5.0)(rollup@4.21.1)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6)):
dependencies:
'@microsoft/api-extractor': 7.47.4(@types/node@22.5.0)
<<<<<<< HEAD
'@rollup/pluginutils': 5.1.0(rollup@4.21.0)
'@volar/typescript': 2.4.0
=======
'@rollup/pluginutils': 5.1.0(rollup@4.21.1)
'@volar/typescript': 2.3.4
>>>>>>> c439d5601faedacdc5897902e85fffae2b27276b
'@vue/language-core': 2.0.29(typescript@5.5.4)
compare-versions: 6.1.1
debug: 4.3.6
@ -19155,10 +19497,10 @@ snapshots:
pathe: 0.2.0
vite: 5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6)
vite-plugin-inspect@0.8.5(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6)):
vite-plugin-inspect@0.8.5(rollup@4.21.1)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.21.0)
'@rollup/pluginutils': 5.1.0(rollup@4.21.1)
debug: 4.3.6
error-stack-parser-es: 0.1.5
fs-extra: 11.2.0
@ -19189,7 +19531,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
vite-plugin-vue-devtools@7.3.9(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4)):
vite-plugin-vue-devtools@7.3.9(rollup@4.21.1)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4)):
dependencies:
'@vue/devtools-core': 7.3.9(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
'@vue/devtools-kit': 7.3.9
@ -19197,7 +19539,7 @@ snapshots:
execa: 8.0.1
sirv: 2.0.4
vite: 5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6)
vite-plugin-inspect: 0.8.5(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
vite-plugin-inspect: 0.8.5(rollup@4.21.1)(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
vite-plugin-vue-inspector: 5.1.3(vite@5.4.2(@types/node@22.5.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.6))
transitivePeerDependencies:
- '@nuxt/kit'
@ -19224,7 +19566,7 @@ snapshots:
dependencies:
esbuild: 0.21.5
postcss: 8.4.41
rollup: 4.21.0
rollup: 4.21.1
optionalDependencies:
'@types/node': 22.5.0
fsevents: 2.3.3