@robot-admin/naive-ui-components 0.17.6 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/C_AntV.css +10 -10
  3. package/dist/C_AntV.d.cts +2 -2
  4. package/dist/C_AntV.d.ts +2 -2
  5. package/dist/C_AntV2.cjs +1 -1
  6. package/dist/C_AntV2.js +1 -1
  7. package/dist/C_Date.cjs +1 -1
  8. package/dist/C_Date.css +5 -5
  9. package/dist/C_Date.d.cts +18 -2
  10. package/dist/C_Date.d.ts +18 -2
  11. package/dist/C_Date.js +1 -1
  12. package/dist/C_Date2.cjs +1 -1
  13. package/dist/C_Date2.js +1 -1
  14. package/dist/C_Draggable.css +53 -53
  15. package/dist/C_Draggable.d.cts +2 -2
  16. package/dist/C_Draggable.d.ts +2 -2
  17. package/dist/C_Draggable2.cjs +1 -1
  18. package/dist/C_Draggable2.js +1 -1
  19. package/dist/C_Editor.d.cts +1 -1
  20. package/dist/C_Editor.d.ts +1 -1
  21. package/dist/C_Form.cjs +1 -1
  22. package/dist/C_FormModal.d.cts +1 -1
  23. package/dist/C_FormModal.d.ts +1 -1
  24. package/dist/C_FormSearch.cjs +1 -1
  25. package/dist/C_FormSearch.css +52 -52
  26. package/dist/C_FormSearch.d.cts +18 -2
  27. package/dist/C_FormSearch.d.ts +18 -2
  28. package/dist/C_FormSearch.js +1 -1
  29. package/dist/C_FormSearch2.cjs +1 -1
  30. package/dist/C_FormSearch2.js +1 -1
  31. package/dist/C_Guide.d.cts +1 -1
  32. package/dist/C_Guide.d.ts +1 -1
  33. package/dist/C_Icon.d.cts +1 -1
  34. package/dist/C_Icon.d.ts +1 -1
  35. package/dist/C_Language.d.cts +1 -1
  36. package/dist/C_Language.d.ts +1 -1
  37. package/dist/C_Loading.d.cts +1 -1
  38. package/dist/C_Loading.d.ts +1 -1
  39. package/dist/C_Login.d.cts +1 -1
  40. package/dist/C_Login.d.ts +1 -1
  41. package/dist/C_Markdown.d.cts +1 -1
  42. package/dist/C_Markdown.d.ts +1 -1
  43. package/dist/C_Menu.d.ts +1 -1
  44. package/dist/C_OrgChart.d.cts +1 -1
  45. package/dist/C_OrgChart.d.ts +1 -1
  46. package/dist/C_Progress.d.cts +1 -1
  47. package/dist/C_Progress.d.ts +1 -1
  48. package/dist/C_Skeleton.d.cts +1 -1
  49. package/dist/C_Skeleton.d.ts +1 -1
  50. package/dist/C_Steps.d.cts +1 -1
  51. package/dist/C_Steps.d.ts +1 -1
  52. package/dist/C_Table.base.css +144 -155
  53. package/dist/C_Table.css +144 -155
  54. package/dist/C_Table.d.cts +2 -2
  55. package/dist/C_Table.d.ts +6 -6
  56. package/dist/C_TagsView.d.cts +1 -1
  57. package/dist/C_TagsView.d.ts +1 -1
  58. package/dist/C_Theme.d.cts +1 -1
  59. package/dist/C_Theme.d.ts +1 -1
  60. package/dist/C_Time.cjs +1 -1
  61. package/dist/C_Time.css +4 -4
  62. package/dist/C_Time.d.cts +18 -2
  63. package/dist/C_Time.d.ts +18 -2
  64. package/dist/C_Time.js +1 -1
  65. package/dist/C_Time2.cjs +1 -1
  66. package/dist/C_Time2.js +1 -1
  67. package/dist/C_Timeline.d.cts +1 -1
  68. package/dist/C_Timeline.d.ts +1 -1
  69. package/dist/C_Transfer.css +26 -26
  70. package/dist/C_Transfer.d.cts +2 -2
  71. package/dist/C_Transfer.d.ts +2 -2
  72. package/dist/C_Transfer2.cjs +1 -1
  73. package/dist/C_Transfer2.js +1 -1
  74. package/dist/C_Tree.css +23 -23
  75. package/dist/C_Tree.d.ts +4 -4
  76. package/dist/C_Tree2.cjs +1 -1
  77. package/dist/C_Tree2.js +1 -1
  78. package/dist/C_VtableGantt.cjs +1 -1
  79. package/dist/C_VtableGantt.css +31 -31
  80. package/dist/C_VtableGantt.d.cts +18 -2
  81. package/dist/C_VtableGantt.d.ts +18 -2
  82. package/dist/C_VtableGantt.js +1 -1
  83. package/dist/C_WorkFlow.css +150 -150
  84. package/dist/C_WorkFlow.d.cts +2 -2
  85. package/dist/C_WorkFlow.d.ts +2 -2
  86. package/dist/C_WorkFlow2.cjs +1 -1
  87. package/dist/C_WorkFlow2.js +1 -1
  88. package/dist/constants3.d.cts +6 -6
  89. package/dist/constants3.d.ts +6 -6
  90. package/dist/constants4.d.cts +7 -7
  91. package/dist/constants4.d.ts +7 -7
  92. package/dist/constants5.d.cts +2 -2
  93. package/dist/constants5.d.ts +2 -2
  94. package/dist/data.d.cts +7 -7
  95. package/dist/data.d.ts +7 -7
  96. package/dist/dateRange.d.cts +197 -0
  97. package/dist/dateRange.d.ts +197 -0
  98. package/dist/formValidation.cjs +1 -1
  99. package/dist/formValidation.js +1 -1
  100. package/dist/graphics.cjs +1 -0
  101. package/dist/graphics.d.cts +837 -0
  102. package/dist/graphics.d.ts +837 -0
  103. package/dist/graphics.js +1 -0
  104. package/dist/helpers.cjs +1 -1
  105. package/dist/index.cjs +1 -1
  106. package/dist/index.d.cts +47 -43
  107. package/dist/index.d.ts +47 -44
  108. package/dist/index.js +1 -1
  109. package/dist/index.vue.d.cts +4 -4
  110. package/dist/index.vue.d.ts +4 -4
  111. package/dist/index10.vue.d.cts +3 -3
  112. package/dist/index10.vue.d.ts +53 -68
  113. package/dist/index11.vue.d.cts +53 -68
  114. package/dist/index11.vue.d.ts +52 -58
  115. package/dist/index12.vue.d.cts +52 -58
  116. package/dist/index12.vue.d.ts +124 -50
  117. package/dist/index13.vue.d.cts +124 -50
  118. package/dist/index13.vue.d.ts +51 -123
  119. package/dist/index14.vue.d.cts +51 -123
  120. package/dist/index14.vue.d.ts +26 -52
  121. package/dist/index15.vue.d.cts +26 -52
  122. package/dist/index15.vue.d.ts +12 -26
  123. package/dist/index16.vue.d.cts +12 -26
  124. package/dist/index16.vue.d.ts +129 -13
  125. package/dist/index17.vue.d.cts +129 -13
  126. package/dist/index17.vue.d.ts +76 -129
  127. package/dist/index18.vue.d.cts +76 -129
  128. package/dist/index18.vue.d.ts +65 -75
  129. package/dist/index19.vue.d.cts +97 -75
  130. package/dist/index19.vue.d.ts +94 -62
  131. package/dist/index2.vue.d.cts +2 -2
  132. package/dist/index2.vue.d.ts +2 -2
  133. package/dist/index20.vue.d.cts +40 -91
  134. package/dist/index20.vue.d.ts +40 -91
  135. package/dist/index21.vue.d.cts +89 -40
  136. package/dist/index21.vue.d.ts +89 -40
  137. package/dist/index22.vue.d.cts +37 -95
  138. package/dist/index22.vue.d.ts +37 -95
  139. package/dist/index23.vue.d.cts +8 -34
  140. package/dist/index23.vue.d.ts +8 -34
  141. package/dist/index24.vue.d.cts +86 -9
  142. package/dist/index24.vue.d.ts +86 -9
  143. package/dist/index25.vue.d.cts +99 -654
  144. package/dist/index25.vue.d.ts +99 -654
  145. package/dist/index26.vue.d.cts +66 -87
  146. package/dist/index26.vue.d.ts +66 -87
  147. package/dist/index3.vue.d.cts +2 -2
  148. package/dist/index3.vue.d.ts +2 -2
  149. package/dist/index4.vue.d.cts +3 -3
  150. package/dist/index6.vue.d.ts +3 -3
  151. package/dist/index7.vue.d.cts +3 -3
  152. package/dist/index8.vue.d.ts +4 -4
  153. package/dist/index9.vue.d.cts +4 -4
  154. package/dist/index9.vue.d.ts +3 -3
  155. package/dist/mapUtils.d.cts +3 -3
  156. package/dist/mapUtils.d.ts +3 -3
  157. package/dist/presets.d.cts +5 -3
  158. package/dist/presets.d.ts +5 -3
  159. package/dist/style.css +499 -510
  160. package/dist/types.d.ts +51 -0
  161. package/dist/types2.d.cts +51 -0
  162. package/dist/useCalendarEvents.d.cts +2 -2
  163. package/dist/useCalendarEvents.d.ts +2 -2
  164. package/dist/useCollapsePanel.d.cts +4 -4
  165. package/dist/useCollapsePanel.d.ts +4 -4
  166. package/dist/useCropperCore.d.cts +9 -9
  167. package/dist/useCropperCore.d.ts +9 -9
  168. package/dist/useDraggableLayout.d.cts +94 -125
  169. package/dist/useDraggableLayout.d.ts +94 -125
  170. package/dist/useDynamicFormState.d.cts +23 -15
  171. package/dist/useDynamicFormState.d.ts +23 -15
  172. package/dist/useEdgeInteraction.d.cts +10 -5
  173. package/dist/useEdgeInteraction.d.ts +10 -5
  174. package/dist/useFullscreen.d.cts +3 -3
  175. package/dist/useFullscreen.d.ts +3 -3
  176. package/dist/useInfiniteScroll.d.cts +2 -2
  177. package/dist/useInfiniteScroll.d.ts +2 -2
  178. package/dist/useQRCode.d.cts +4 -4
  179. package/dist/useQRCode.d.ts +4 -4
  180. package/dist/useSignatureHistory.d.cts +3 -3
  181. package/dist/useSignatureHistory.d.ts +3 -3
  182. package/dist/useSplitResize.d.cts +6 -6
  183. package/dist/useSplitResize.d.ts +6 -6
  184. package/dist/useTableQuery.cjs +2 -2
  185. package/dist/useTableQuery.d.cts +490 -519
  186. package/dist/useTableQuery.d.ts +490 -519
  187. package/dist/useTableQuery.js +2 -2
  188. package/dist/useTimeSelection.d.cts +19 -52
  189. package/dist/useTimeSelection.d.ts +19 -52
  190. package/dist/useWorkflowValidation.d.cts +495 -116
  191. package/dist/useWorkflowValidation.d.ts +495 -116
  192. package/dist/verification.d.cts +4 -4
  193. package/dist/verification.d.ts +4 -4
  194. package/docs/guides/usage.en.md +18 -1
  195. package/docs/guides/usage.md +18 -1
  196. package/package.json +2 -2
  197. package/dist/C_VtableGantt2.cjs +0 -1
  198. package/dist/C_VtableGantt2.js +0 -1
  199. package/dist/index27.vue.d.cts +0 -111
  200. package/dist/index27.vue.d.ts +0 -111
  201. package/dist/index28.vue.d.cts +0 -84
  202. package/dist/index28.vue.d.ts +0 -84
  203. package/dist/useSearchState.d.cts +0 -163
  204. package/dist/useSearchState.d.ts +0 -163
@@ -1,103 +1,45 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Skeleton/types.d.ts
4
- /** 骨架屏预设模式 */
5
- type SkeletonPreset = 'text' | 'avatar' | 'card' | 'table' | 'form' | 'list' | 'detail' | 'image';
6
- /** 骨架屏动画类型 */
7
- type SkeletonAnimation = 'pulse' | 'wave' | false;
8
- /** 表格骨架配置 */
9
- interface SkeletonTableConfig {
10
- /** 行数 */
11
- rows?: number;
12
- /** 列数 */
13
- cols?: number;
14
- /** 是否显示表头 */
15
- showHeader?: boolean;
16
- /** 是否显示操作列 */
17
- showActions?: boolean;
18
- }
19
- /** 表单骨架配置 */
20
- interface SkeletonFormConfig {
21
- /** 字段数 */
22
- fields?: number;
23
- /** 每行列数 */
24
- cols?: number;
25
- /** 是否显示标签 */
26
- showLabel?: boolean;
27
- /** 是否显示操作按钮 */
28
- showActions?: boolean;
29
- }
30
- /** 列表骨架配置 */
31
- interface SkeletonListConfig {
32
- /** 列表项数 */
33
- items?: number;
34
- /** 是否显示头像 */
35
- showAvatar?: boolean;
36
- /** 描述行数 */
37
- descLines?: number;
38
- }
39
- /** 卡片骨架配置 */
40
- interface SkeletonCardConfig {
41
- /** 是否显示封面图 */
42
- showCover?: boolean;
43
- /** 标题行数 */
44
- titleLines?: number;
45
- /** 描述行数 */
46
- descLines?: number;
47
- /** 是否显示底部操作 */
48
- showFooter?: boolean;
49
- }
50
- /** 详情骨架配置 */
51
- interface SkeletonDetailConfig {
52
- /** 字段数 */
53
- fields?: number;
54
- /** 每个字段的值行数 */
55
- valueLines?: number;
56
- /** 是否显示头像 */
57
- showAvatar?: boolean;
58
- }
59
- /** C_Skeleton Props */
60
- interface SkeletonProps {
61
- /** 预设模式 */
62
- preset?: SkeletonPreset;
63
- /** 是否正在加载(true 显示骨架屏,false 显示插槽内容) */
64
- loading?: boolean;
65
- /** 动画类型 */
66
- animation?: SkeletonAnimation;
67
- /** 重复次数(用于 text/card/list 模式) */
68
- repeat?: number;
69
- /** 圆角大小 */
70
- borderRadius?: string;
71
- /** 表格配置 */
72
- table?: SkeletonTableConfig;
73
- /** 表单配置 */
74
- form?: SkeletonFormConfig;
75
- /** 列表配置 */
76
- list?: SkeletonListConfig;
77
- /** 卡片配置 */
78
- card?: SkeletonCardConfig;
79
- /** 详情配置 */
80
- detail?: SkeletonDetailConfig;
3
+ //#region src/components/C_Steps/types.d.ts
4
+ interface StepItem {
5
+ title: string;
6
+ description?: string;
7
+ time?: string;
8
+ icon?: string;
9
+ status?: 'wait' | 'process' | 'finish' | 'error';
10
+ disabled?: boolean;
11
+ detail?: string;
81
12
  }
82
13
  //#endregion
83
- //#region src/components/C_Skeleton/index.vue.d.ts
84
- declare var __VLS_1: {};
85
- type __VLS_Slots = {} & {
86
- default?: (props: typeof __VLS_1) => any;
14
+ //#region src/components/C_Steps/index.vue.d.ts
15
+ interface LegacyStepItem extends StepItem {
16
+ title: string;
17
+ description?: string;
18
+ time?: string;
19
+ icon?: string;
20
+ status?: 'wait' | 'process' | 'finish' | 'error';
21
+ disabled?: boolean;
22
+ detail?: string;
23
+ }
24
+ type __VLS_Props = {
25
+ steps: LegacyStepItem[];
26
+ current?: number;
27
+ direction?: 'horizontal' | 'vertical';
28
+ clickable?: boolean; /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/
29
+ connected?: boolean;
87
30
  };
88
- declare const __VLS_base: vue.DefineComponent<SkeletonProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {
89
- repeat: number;
90
- borderRadius: string;
91
- loading: boolean;
92
- preset: SkeletonPreset;
93
- animation: SkeletonAnimation;
31
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32
+ change: (args_0: number) => any;
33
+ "update:current": (args_0: number) => any;
34
+ }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
35
+ onChange?: ((args_0: number) => any) | undefined;
36
+ "onUpdate:current"?: ((args_0: number) => any) | undefined;
37
+ }>, {
38
+ connected: boolean;
39
+ current: number;
40
+ direction: "horizontal" | "vertical";
41
+ clickable: boolean;
94
42
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
95
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
96
43
  declare const _default: typeof __VLS_export;
97
- type __VLS_WithSlots<T, S> = T & {
98
- new (): {
99
- $slots: S;
100
- };
101
- };
102
44
  //#endregion
103
- export { SkeletonFormConfig as a, SkeletonProps as c, SkeletonDetailConfig as i, SkeletonTableConfig as l, SkeletonAnimation as n, SkeletonListConfig as o, SkeletonCardConfig as r, SkeletonPreset as s, _default as t };
45
+ export { StepItem as n, _default as t };
@@ -1,45 +1,19 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Steps/types.d.ts
4
- interface StepItem {
5
- title: string;
6
- description?: string;
7
- time?: string;
8
- icon?: string;
9
- status?: 'wait' | 'process' | 'finish' | 'error';
10
- disabled?: boolean;
11
- detail?: string;
12
- }
3
+ //#region src/components/C_Theme/types.d.ts
4
+ type ThemeMode = 'system' | 'light' | 'dark';
13
5
  //#endregion
14
- //#region src/components/C_Steps/index.vue.d.ts
15
- interface LegacyStepItem extends StepItem {
16
- title: string;
17
- description?: string;
18
- time?: string;
19
- icon?: string;
20
- status?: 'wait' | 'process' | 'finish' | 'error';
21
- disabled?: boolean;
22
- detail?: string;
23
- }
6
+ //#region src/components/C_Theme/index.vue.d.ts
24
7
  type __VLS_Props = {
25
- steps: LegacyStepItem[];
26
- current?: number;
27
- direction?: 'horizontal' | 'vertical';
28
- clickable?: boolean; /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/
29
- connected?: boolean;
8
+ modelValue?: ThemeMode;
30
9
  };
31
10
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32
- change: (args_0: number) => any;
33
- "update:current": (args_0: number) => any;
11
+ "update:modelValue": (mode: ThemeMode) => any;
34
12
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
35
- onChange?: ((args_0: number) => any) | undefined;
36
- "onUpdate:current"?: ((args_0: number) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((mode: ThemeMode) => any) | undefined;
37
14
  }>, {
38
- clickable: boolean;
39
- direction: "horizontal" | "vertical";
40
- current: number;
41
- connected: boolean;
15
+ modelValue: ThemeMode;
42
16
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
43
17
  declare const _default: typeof __VLS_export;
44
18
  //#endregion
45
- export { StepItem as n, _default as t };
19
+ export { ThemeMode as n, _default as t };
@@ -1,45 +1,19 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Steps/types.d.ts
4
- interface StepItem {
5
- title: string;
6
- description?: string;
7
- time?: string;
8
- icon?: string;
9
- status?: 'wait' | 'process' | 'finish' | 'error';
10
- disabled?: boolean;
11
- detail?: string;
12
- }
3
+ //#region src/components/C_Theme/types.d.ts
4
+ type ThemeMode = 'system' | 'light' | 'dark';
13
5
  //#endregion
14
- //#region src/components/C_Steps/index.vue.d.ts
15
- interface LegacyStepItem extends StepItem {
16
- title: string;
17
- description?: string;
18
- time?: string;
19
- icon?: string;
20
- status?: 'wait' | 'process' | 'finish' | 'error';
21
- disabled?: boolean;
22
- detail?: string;
23
- }
6
+ //#region src/components/C_Theme/index.vue.d.ts
24
7
  type __VLS_Props = {
25
- steps: LegacyStepItem[];
26
- current?: number;
27
- direction?: 'horizontal' | 'vertical';
28
- clickable?: boolean; /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/
29
- connected?: boolean;
8
+ modelValue?: ThemeMode;
30
9
  };
31
10
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32
- change: (args_0: number) => any;
33
- "update:current": (args_0: number) => any;
11
+ "update:modelValue": (mode: ThemeMode) => any;
34
12
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
35
- onChange?: ((args_0: number) => any) | undefined;
36
- "onUpdate:current"?: ((args_0: number) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((mode: ThemeMode) => any) | undefined;
37
14
  }>, {
38
- clickable: boolean;
39
- direction: "horizontal" | "vertical";
40
- current: number;
41
- connected: boolean;
15
+ modelValue: ThemeMode;
42
16
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
43
17
  declare const _default: typeof __VLS_export;
44
18
  //#endregion
45
- export { StepItem as n, _default as t };
19
+ export { ThemeMode as n, _default as t };
@@ -1,19 +1,96 @@
1
+ import { i as TagItem } from "./types.cjs";
1
2
  import * as vue from "vue";
3
+ import { Ref } from "vue";
2
4
 
3
- //#region src/components/C_Theme/types.d.ts
4
- type ThemeMode = 'system' | 'light' | 'dark';
5
+ //#region src/components/C_TagsView/useTagsView.d.ts
6
+ interface UseTagsViewOptions {
7
+ /** localStorage 持久化 key,传空字符串则不持久化 */
8
+ persistKey?: string;
9
+ /** 首页路径,用于 removeAll 后的回退 */
10
+ homePath?: string;
11
+ }
12
+ /**
13
+ * 标签页管理 composable
14
+ *
15
+ * 独立于组件使用 — 可在任何地方管理标签状态
16
+ *
17
+ * @example 独立使用
18
+ * ```ts
19
+ * const tags = useTagsView({ persistKey: 'my-tags' })
20
+ * tags.addTag({ path: '/home', title: '首页', meta: { affix: true } })
21
+ * ```
22
+ */
23
+ declare function useTagsView(options?: UseTagsViewOptions): {
24
+ tagsViewList: Ref<TagItem[], TagItem[]>;
25
+ activeTag: Ref<string, string>;
26
+ homePath: string;
27
+ initTags: (tags?: TagItem[]) => void;
28
+ setActiveTag: (path: string) => void;
29
+ addTag: (tag: TagItem) => void;
30
+ removeTag: (index: number) => string | null;
31
+ removeOtherTags: (index: number) => void;
32
+ removeLeftTags: (index: number) => void;
33
+ removeRightTags: (index: number) => void;
34
+ removeAllTags: () => void;
35
+ };
36
+ //#endregion
37
+ //#region src/components/C_TagsView/types.d.ts
38
+ interface ContextMenuLabels {
39
+ close?: string;
40
+ closeOthers?: string;
41
+ closeLeft?: string;
42
+ closeRight?: string;
43
+ closeAll?: string;
44
+ }
5
45
  //#endregion
6
- //#region src/components/C_Theme/index.vue.d.ts
46
+ //#region src/components/C_TagsView/index.vue.d.ts
47
+ interface LegacyContextMenuLabels extends ContextMenuLabels {
48
+ close?: string;
49
+ closeOthers?: string;
50
+ closeLeft?: string;
51
+ closeRight?: string;
52
+ closeAll?: string;
53
+ }
7
54
  type __VLS_Props = {
8
- modelValue?: ThemeMode;
55
+ /**
56
+ * 标签文本格式化函数(用于 i18n)
57
+ */
58
+ labelFormatter?: (label: string) => string; /** 首页路径 */
59
+ homePath?: string; /** 首页标题(原始文本) */
60
+ homeTitle?: string; /** 首页图标 */
61
+ homeIcon?: string; /** 持久化 localStorage key,传空字符串禁用 */
62
+ persistKey?: string; /** 右键菜单文案(国际化适配) */
63
+ contextMenuLabels?: LegacyContextMenuLabels; /** useTagsView 配置项(优先级最高) */
64
+ tagsViewOptions?: UseTagsViewOptions;
9
65
  };
10
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- "update:modelValue": (mode: ThemeMode) => any;
66
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {
67
+ /** useTagsView composable 实例 */tags: {
68
+ tagsViewList: vue.Ref<TagItem[], TagItem[]>;
69
+ activeTag: vue.Ref<string, string>;
70
+ homePath: string;
71
+ initTags: (tags?: TagItem[]) => void;
72
+ setActiveTag: (path: string) => void;
73
+ addTag: (tag: TagItem) => void;
74
+ removeTag: (index: number) => string | null;
75
+ removeOtherTags: (index: number) => void;
76
+ removeLeftTags: (index: number) => void;
77
+ removeRightTags: (index: number) => void;
78
+ removeAllTags: () => void;
79
+ }; /** 滚动到指定标签 */
80
+ scrollToTag: (path: string) => void;
81
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
82
+ close: (fallbackPath: string) => any;
83
+ closeAll: () => any;
12
84
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
13
- "onUpdate:modelValue"?: ((mode: ThemeMode) => any) | undefined;
85
+ onClose?: ((fallbackPath: string) => any) | undefined;
86
+ onCloseAll?: (() => any) | undefined;
14
87
  }>, {
15
- modelValue: ThemeMode;
88
+ persistKey: string;
89
+ homePath: string;
90
+ homeTitle: string;
91
+ homeIcon: string;
92
+ contextMenuLabels: LegacyContextMenuLabels;
16
93
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
17
94
  declare const _default: typeof __VLS_export;
18
95
  //#endregion
19
- export { ThemeMode as n, _default as t };
96
+ export { useTagsView as i, ContextMenuLabels as n, UseTagsViewOptions as r, _default as t };
@@ -1,19 +1,96 @@
1
+ import { s as TagItem } from "./public.js";
1
2
  import * as vue from "vue";
3
+ import { Ref } from "vue";
2
4
 
3
- //#region src/components/C_Theme/types.d.ts
4
- type ThemeMode = 'system' | 'light' | 'dark';
5
+ //#region src/components/C_TagsView/useTagsView.d.ts
6
+ interface UseTagsViewOptions {
7
+ /** localStorage 持久化 key,传空字符串则不持久化 */
8
+ persistKey?: string;
9
+ /** 首页路径,用于 removeAll 后的回退 */
10
+ homePath?: string;
11
+ }
12
+ /**
13
+ * 标签页管理 composable
14
+ *
15
+ * 独立于组件使用 — 可在任何地方管理标签状态
16
+ *
17
+ * @example 独立使用
18
+ * ```ts
19
+ * const tags = useTagsView({ persistKey: 'my-tags' })
20
+ * tags.addTag({ path: '/home', title: '首页', meta: { affix: true } })
21
+ * ```
22
+ */
23
+ declare function useTagsView(options?: UseTagsViewOptions): {
24
+ tagsViewList: Ref<TagItem[], TagItem[]>;
25
+ activeTag: Ref<string, string>;
26
+ homePath: string;
27
+ initTags: (tags?: TagItem[]) => void;
28
+ setActiveTag: (path: string) => void;
29
+ addTag: (tag: TagItem) => void;
30
+ removeTag: (index: number) => string | null;
31
+ removeOtherTags: (index: number) => void;
32
+ removeLeftTags: (index: number) => void;
33
+ removeRightTags: (index: number) => void;
34
+ removeAllTags: () => void;
35
+ };
36
+ //#endregion
37
+ //#region src/components/C_TagsView/types.d.ts
38
+ interface ContextMenuLabels {
39
+ close?: string;
40
+ closeOthers?: string;
41
+ closeLeft?: string;
42
+ closeRight?: string;
43
+ closeAll?: string;
44
+ }
5
45
  //#endregion
6
- //#region src/components/C_Theme/index.vue.d.ts
46
+ //#region src/components/C_TagsView/index.vue.d.ts
47
+ interface LegacyContextMenuLabels extends ContextMenuLabels {
48
+ close?: string;
49
+ closeOthers?: string;
50
+ closeLeft?: string;
51
+ closeRight?: string;
52
+ closeAll?: string;
53
+ }
7
54
  type __VLS_Props = {
8
- modelValue?: ThemeMode;
55
+ /**
56
+ * 标签文本格式化函数(用于 i18n)
57
+ */
58
+ labelFormatter?: (label: string) => string; /** 首页路径 */
59
+ homePath?: string; /** 首页标题(原始文本) */
60
+ homeTitle?: string; /** 首页图标 */
61
+ homeIcon?: string; /** 持久化 localStorage key,传空字符串禁用 */
62
+ persistKey?: string; /** 右键菜单文案(国际化适配) */
63
+ contextMenuLabels?: LegacyContextMenuLabels; /** useTagsView 配置项(优先级最高) */
64
+ tagsViewOptions?: UseTagsViewOptions;
9
65
  };
10
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- "update:modelValue": (mode: ThemeMode) => any;
66
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {
67
+ /** useTagsView composable 实例 */tags: {
68
+ tagsViewList: vue.Ref<TagItem[], TagItem[]>;
69
+ activeTag: vue.Ref<string, string>;
70
+ homePath: string;
71
+ initTags: (tags?: TagItem[]) => void;
72
+ setActiveTag: (path: string) => void;
73
+ addTag: (tag: TagItem) => void;
74
+ removeTag: (index: number) => string | null;
75
+ removeOtherTags: (index: number) => void;
76
+ removeLeftTags: (index: number) => void;
77
+ removeRightTags: (index: number) => void;
78
+ removeAllTags: () => void;
79
+ }; /** 滚动到指定标签 */
80
+ scrollToTag: (path: string) => void;
81
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
82
+ close: (fallbackPath: string) => any;
83
+ closeAll: () => any;
12
84
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
13
- "onUpdate:modelValue"?: ((mode: ThemeMode) => any) | undefined;
85
+ onClose?: ((fallbackPath: string) => any) | undefined;
86
+ onCloseAll?: (() => any) | undefined;
14
87
  }>, {
15
- modelValue: ThemeMode;
88
+ persistKey: string;
89
+ homePath: string;
90
+ homeTitle: string;
91
+ homeIcon: string;
92
+ contextMenuLabels: LegacyContextMenuLabels;
16
93
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
17
94
  declare const _default: typeof __VLS_export;
18
95
  //#endregion
19
- export { ThemeMode as n, _default as t };
96
+ export { useTagsView as i, ContextMenuLabels as n, UseTagsViewOptions as r, _default as t };