@robot-admin/naive-ui-components 0.13.2 → 0.13.6

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 (292) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +25 -5
  3. package/README_EN.md +17 -5
  4. package/dist/C_ActionBar.css +75 -63
  5. package/dist/C_ActionBar2.cjs +1 -1
  6. package/dist/C_ActionBar2.js +1 -1
  7. package/dist/C_AntV.css +249 -79
  8. package/dist/C_AntV2.cjs +3 -3
  9. package/dist/C_AntV2.js +2 -2
  10. package/dist/C_AudioPlayer.css +88 -76
  11. package/dist/C_AudioPlayer2.cjs +1 -1
  12. package/dist/C_AudioPlayer2.js +1 -1
  13. package/dist/C_AvatarGroup.css +32 -28
  14. package/dist/C_AvatarGroup2.cjs +1 -1
  15. package/dist/C_AvatarGroup2.js +1 -1
  16. package/dist/C_Breadcrumb.css +35 -17
  17. package/dist/C_Breadcrumb2.cjs +1 -1
  18. package/dist/C_Breadcrumb2.js +1 -1
  19. package/dist/C_Captcha.css +66 -53
  20. package/dist/C_Captcha2.cjs +1 -1
  21. package/dist/C_Captcha2.js +1 -1
  22. package/dist/C_Cascade.css +6 -2
  23. package/dist/C_Cascade2.cjs +1 -1
  24. package/dist/C_Cascade2.js +1 -1
  25. package/dist/C_Chat.css +40 -33
  26. package/dist/C_City.css +37 -32
  27. package/dist/C_City2.cjs +1 -1
  28. package/dist/C_City2.js +1 -1
  29. package/dist/C_Code.css +53 -40
  30. package/dist/C_Code2.cjs +1 -1
  31. package/dist/C_Code2.js +1 -1
  32. package/dist/C_CollapsePanel.css +68 -55
  33. package/dist/C_CollapsePanel2.cjs +1 -1
  34. package/dist/C_CollapsePanel2.js +1 -1
  35. package/dist/C_ContextMenu.css +68 -26
  36. package/dist/C_ContextMenu2.cjs +1 -1
  37. package/dist/C_ContextMenu2.js +1 -1
  38. package/dist/C_Cron.css +95 -68
  39. package/dist/C_Cron2.cjs +1 -1
  40. package/dist/C_Cron2.js +1 -1
  41. package/dist/C_Date.css +8 -1
  42. package/dist/C_Date2.cjs +1 -1
  43. package/dist/C_Date2.js +1 -1
  44. package/dist/C_Draggable.css +60 -51
  45. package/dist/C_Draggable2.cjs +1 -1
  46. package/dist/C_Draggable2.js +1 -1
  47. package/dist/C_Editor.css +23 -15
  48. package/dist/C_Editor2.cjs +1 -1
  49. package/dist/C_Editor2.js +1 -1
  50. package/dist/C_FilePreview.css +200 -90
  51. package/dist/C_FilePreview2.cjs +1 -1
  52. package/dist/C_FilePreview2.js +1 -1
  53. package/dist/C_Form.base.css +284 -224
  54. package/dist/C_Form.css +307 -239
  55. package/dist/C_Form2.cjs +1 -1
  56. package/dist/C_Form2.js +1 -1
  57. package/dist/C_FormModal.css +18 -8
  58. package/dist/C_FormModal2.cjs +1 -1
  59. package/dist/C_FormModal2.js +1 -1
  60. package/dist/C_FormSearch.css +58 -45
  61. package/dist/C_FormSearch2.cjs +1 -1
  62. package/dist/C_FormSearch2.js +1 -1
  63. package/dist/C_FormulaEditor.css +62 -37
  64. package/dist/C_FormulaEditor2.cjs +1 -1
  65. package/dist/C_FormulaEditor2.js +1 -1
  66. package/dist/C_FullCalendar.css +16 -3
  67. package/dist/C_FullCalendar2.cjs +1 -1
  68. package/dist/C_FullCalendar2.js +1 -1
  69. package/dist/C_GlobalSearch.css +121 -112
  70. package/dist/C_GlobalSearch2.cjs +1 -1
  71. package/dist/C_GlobalSearch2.js +1 -1
  72. package/dist/C_Guide.css +30 -18
  73. package/dist/C_Guide2.cjs +1 -1
  74. package/dist/C_Guide2.js +1 -1
  75. package/dist/C_Icon.css +24 -17
  76. package/dist/C_Icon2.cjs +1 -1
  77. package/dist/C_Icon2.js +1 -1
  78. package/dist/C_ImageCropper.css +39 -22
  79. package/dist/C_ImageCropper2.cjs +1 -1
  80. package/dist/C_ImageCropper2.js +1 -1
  81. package/dist/C_Language.css +30 -17
  82. package/dist/C_Language2.cjs +1 -1
  83. package/dist/C_Language2.js +1 -1
  84. package/dist/C_Loading.cjs +1 -0
  85. package/dist/C_Loading.css +119 -0
  86. package/dist/C_Loading.d.cts +2 -0
  87. package/dist/C_Loading.d.ts +2 -0
  88. package/dist/C_Loading.js +1 -0
  89. package/dist/C_Loading2.cjs +1 -0
  90. package/dist/C_Loading2.js +1 -0
  91. package/dist/C_Login.css +162 -137
  92. package/dist/C_Login.d.cts +1 -1
  93. package/dist/C_Login.d.ts +1 -1
  94. package/dist/C_Login2.cjs +1 -1
  95. package/dist/C_Login2.js +1 -1
  96. package/dist/C_Map.css +25 -4
  97. package/dist/C_Map2.cjs +1 -1
  98. package/dist/C_Map2.js +1 -1
  99. package/dist/C_Markdown.css +47 -42
  100. package/dist/C_Markdown.d.cts +1 -1
  101. package/dist/C_Markdown.d.ts +1 -1
  102. package/dist/C_Markdown2.cjs +1 -1
  103. package/dist/C_Markdown2.js +1 -1
  104. package/dist/C_Menu.css +7 -1
  105. package/dist/C_Menu.d.ts +1 -1
  106. package/dist/C_Menu2.cjs +1 -1
  107. package/dist/C_Menu2.js +1 -1
  108. package/dist/C_NotificationCenter.css +134 -90
  109. package/dist/C_NotificationCenter2.cjs +1 -1
  110. package/dist/C_NotificationCenter2.js +1 -1
  111. package/dist/C_OrgChart.css +10 -0
  112. package/dist/C_OrgChart.d.cts +1 -1
  113. package/dist/C_OrgChart.d.ts +1 -1
  114. package/dist/C_OrgChart2.cjs +1 -1
  115. package/dist/C_OrgChart2.js +1 -1
  116. package/dist/C_Progress.d.cts +1 -1
  117. package/dist/C_Progress.d.ts +1 -1
  118. package/dist/C_QRCode.css +12 -8
  119. package/dist/C_QRCode2.cjs +1 -1
  120. package/dist/C_QRCode2.js +1 -1
  121. package/dist/C_Signature.css +18 -14
  122. package/dist/C_Signature2.cjs +1 -1
  123. package/dist/C_Signature2.js +1 -1
  124. package/dist/C_Skeleton.css +5 -0
  125. package/dist/C_Skeleton.d.cts +1 -1
  126. package/dist/C_Skeleton.d.ts +1 -1
  127. package/dist/C_Skeleton2.cjs +1 -1
  128. package/dist/C_Skeleton2.js +1 -1
  129. package/dist/C_SplitPane.css +61 -39
  130. package/dist/C_SplitPane2.cjs +1 -1
  131. package/dist/C_SplitPane2.js +1 -1
  132. package/dist/C_Steps.css +42 -38
  133. package/dist/C_Steps.d.cts +1 -1
  134. package/dist/C_Steps.d.ts +1 -1
  135. package/dist/C_Steps2.cjs +1 -1
  136. package/dist/C_Steps2.js +1 -1
  137. package/dist/C_Table.base.css +585 -352
  138. package/dist/C_Table.cjs +1 -1
  139. package/dist/C_Table.css +608 -367
  140. package/dist/C_Table.d.ts +2 -2
  141. package/dist/C_Table.js +1 -1
  142. package/dist/C_TagsView.css +93 -55
  143. package/dist/C_TagsView.d.cts +1 -1
  144. package/dist/C_TagsView.d.ts +1 -1
  145. package/dist/C_TagsView2.cjs +1 -1
  146. package/dist/C_TagsView2.js +1 -1
  147. package/dist/C_Theme.css +24 -17
  148. package/dist/C_Theme.d.cts +1 -1
  149. package/dist/C_Theme.d.ts +1 -1
  150. package/dist/C_Timeline.css +47 -36
  151. package/dist/C_Timeline.d.cts +1 -1
  152. package/dist/C_Timeline.d.ts +1 -1
  153. package/dist/C_Transfer.css +86 -67
  154. package/dist/C_Transfer.d.cts +1 -1
  155. package/dist/C_Transfer.d.ts +1 -1
  156. package/dist/C_Transfer2.cjs +1 -1
  157. package/dist/C_Transfer2.js +1 -1
  158. package/dist/C_Tree.css +48 -33
  159. package/dist/C_Tree2.cjs +1 -1
  160. package/dist/C_Tree2.js +1 -1
  161. package/dist/C_Upload.css +104 -51
  162. package/dist/C_Upload2.cjs +1 -1
  163. package/dist/C_Upload2.js +1 -1
  164. package/dist/C_VideoPlayer.css +140 -69
  165. package/dist/C_VideoPlayer2.cjs +1 -1
  166. package/dist/C_VideoPlayer2.js +1 -1
  167. package/dist/C_VtableGantt.css +42 -19
  168. package/dist/C_VtableGantt.d.cts +1 -1
  169. package/dist/C_VtableGantt.d.ts +1 -1
  170. package/dist/C_VtableGantt2.cjs +1 -1
  171. package/dist/C_VtableGantt2.js +1 -1
  172. package/dist/C_WaterFall.css +32 -16
  173. package/dist/C_WaterFall2.cjs +1 -1
  174. package/dist/C_WaterFall2.js +1 -1
  175. package/dist/C_WorkFlow.css +332 -221
  176. package/dist/C_WorkFlow2.cjs +1 -1
  177. package/dist/C_WorkFlow2.js +1 -1
  178. package/dist/config.cjs +1 -1
  179. package/dist/config.js +1 -1
  180. package/dist/constants.d.cts +4 -4
  181. package/dist/constants.d.ts +4 -4
  182. package/dist/constants2.d.cts +4 -4
  183. package/dist/constants2.d.ts +4 -4
  184. package/dist/constants3.d.cts +3 -3
  185. package/dist/constants3.d.ts +3 -3
  186. package/dist/constants4.d.cts +6 -6
  187. package/dist/constants4.d.ts +6 -6
  188. package/dist/constants5.d.cts +2 -2
  189. package/dist/constants5.d.ts +2 -2
  190. package/dist/data.d.cts +8 -8
  191. package/dist/data.d.ts +8 -8
  192. package/dist/data2.cjs +1 -1
  193. package/dist/data2.js +1 -1
  194. package/dist/index.cjs +1 -1
  195. package/dist/index.d.cts +28 -27
  196. package/dist/index.d.ts +28 -27
  197. package/dist/index.js +1 -1
  198. package/dist/index.vue.d.cts +1 -1
  199. package/dist/index.vue.d.ts +1 -1
  200. package/dist/index10.vue.d.cts +5 -5
  201. package/dist/index10.vue.d.ts +3 -3
  202. package/dist/index11.vue.d.cts +3 -3
  203. package/dist/index11.vue.d.ts +2 -2
  204. package/dist/index12.vue.d.cts +2 -2
  205. package/dist/index13.vue.d.ts +1 -1
  206. package/dist/index14.vue.d.cts +1 -1
  207. package/dist/index14.vue.d.ts +11 -9
  208. package/dist/index15.vue.d.cts +11 -9
  209. package/dist/index15.vue.d.ts +3 -3
  210. package/dist/index16.vue.d.cts +3 -3
  211. package/dist/index16.vue.d.ts +13 -129
  212. package/dist/index17.vue.d.cts +13 -129
  213. package/dist/index17.vue.d.ts +129 -76
  214. package/dist/index18.vue.d.cts +129 -76
  215. package/dist/index18.vue.d.ts +75 -71
  216. package/dist/index19.vue.d.cts +75 -93
  217. package/dist/index19.vue.d.ts +68 -90
  218. package/dist/index2.vue.d.cts +2 -2
  219. package/dist/index2.vue.d.ts +2 -2
  220. package/dist/index20.vue.d.cts +87 -40
  221. package/dist/index20.vue.d.ts +87 -40
  222. package/dist/index21.vue.d.cts +40 -89
  223. package/dist/index21.vue.d.ts +40 -89
  224. package/dist/index22.vue.d.cts +95 -37
  225. package/dist/index22.vue.d.ts +95 -37
  226. package/dist/index23.vue.d.cts +34 -8
  227. package/dist/index23.vue.d.ts +34 -8
  228. package/dist/index24.vue.d.cts +12 -654
  229. package/dist/index24.vue.d.ts +12 -654
  230. package/dist/index25.vue.d.cts +650 -85
  231. package/dist/index25.vue.d.ts +650 -85
  232. package/dist/index26.vue.d.cts +85 -100
  233. package/dist/index26.vue.d.ts +85 -100
  234. package/dist/index27.vue.d.cts +92 -61
  235. package/dist/index27.vue.d.ts +92 -61
  236. package/dist/index28.vue.d.cts +80 -0
  237. package/dist/index28.vue.d.ts +80 -0
  238. package/dist/index3.vue.d.cts +5 -5
  239. package/dist/index3.vue.d.ts +5 -5
  240. package/dist/index5.vue.d.ts +2 -2
  241. package/dist/index6.vue.d.cts +2 -2
  242. package/dist/index6.vue.d.ts +1 -1
  243. package/dist/index7.vue.d.cts +1 -1
  244. package/dist/index7.vue.d.ts +2 -2
  245. package/dist/index8.vue.d.cts +2 -2
  246. package/dist/index8.vue.d.ts +3 -3
  247. package/dist/index9.vue.d.cts +3 -3
  248. package/dist/index9.vue.d.ts +5 -5
  249. package/dist/mapUtils.d.cts +2 -2
  250. package/dist/mapUtils.d.ts +2 -2
  251. package/dist/presets.d.cts +1 -1
  252. package/dist/presets.d.ts +1 -1
  253. package/dist/resolver.cjs +1 -1
  254. package/dist/resolver.d.cts +1 -1
  255. package/dist/resolver.d.ts +1 -1
  256. package/dist/resolver.js +1 -1
  257. package/dist/style.css +3205 -1982
  258. package/dist/useCollapsePanel.d.cts +2 -2
  259. package/dist/useCollapsePanel.d.ts +2 -2
  260. package/dist/useCropperCore.d.cts +8 -8
  261. package/dist/useCropperCore.d.ts +8 -8
  262. package/dist/useDraggableLayout.d.cts +5 -5
  263. package/dist/useDraggableLayout.d.ts +5 -5
  264. package/dist/useDynamicFormState.d.cts +2 -2
  265. package/dist/useDynamicFormState.d.ts +2 -2
  266. package/dist/useEdgeInteraction.d.cts +1 -1
  267. package/dist/useEdgeInteraction.d.ts +1 -1
  268. package/dist/useFullscreen.d.cts +2 -2
  269. package/dist/useFullscreen.d.ts +2 -2
  270. package/dist/useInfiniteScroll.d.cts +3 -3
  271. package/dist/useInfiniteScroll.d.ts +3 -3
  272. package/dist/useQRCode.d.cts +2 -2
  273. package/dist/useQRCode.d.ts +2 -2
  274. package/dist/useSearchState.d.cts +6 -6
  275. package/dist/useSearchState.d.ts +6 -6
  276. package/dist/useSignatureHistory.d.cts +6 -6
  277. package/dist/useSignatureHistory.d.ts +6 -6
  278. package/dist/useSplitResize.d.cts +4 -4
  279. package/dist/useSplitResize.d.ts +4 -4
  280. package/dist/useTableQuery.cjs +3 -3
  281. package/dist/useTableQuery.d.cts +3 -1
  282. package/dist/useTableQuery.d.ts +3 -1
  283. package/dist/useTableQuery.js +3 -3
  284. package/dist/useTimeSelection.d.cts +4 -4
  285. package/dist/useTimeSelection.d.ts +4 -4
  286. package/dist/useTreeOperations.d.cts +6 -6
  287. package/dist/useTreeOperations.d.ts +6 -6
  288. package/dist/useWorkflowValidation.d.cts +6 -6
  289. package/dist/useWorkflowValidation.d.ts +6 -6
  290. package/dist/verification.d.cts +2 -2
  291. package/dist/verification.d.ts +2 -2
  292. package/package.json +10 -3
@@ -1,111 +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_Timeline/types.d.ts
5
+ //#region src/components/C_TagsView/useTagsView.d.ts
6
+ interface UseTagsViewOptions {
7
+ /** localStorage 持久化 key,传空字符串则不持久化 */
8
+ persistKey?: string;
9
+ /** 首页路径,用于 removeAll 后的回退 */
10
+ homePath?: string;
11
+ }
4
12
  /**
5
- * @Description: 时间线组件类型定义
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
+ * ```
6
22
  */
7
- /** 单条时间线节点 */
8
- interface TimelineItem {
9
- /** 唯一标识 */
10
- id: string | number;
11
- /** 标题 */
12
- title: string;
13
- /** 描述内容(支持 HTML 字符串) */
14
- content?: string;
15
- /** 时间标签 */
16
- time?: string;
17
- /** 节点颜色(CSS 颜色值) */
18
- color?: string;
19
- /** 节点图标(Iconify 图标名) */
20
- icon?: string;
21
- /** 节点状态 */
22
- status?: 'default' | 'success' | 'warning' | 'error' | 'info';
23
- /** 是否可展开/折叠详情 */
24
- collapsible?: boolean;
25
- /** 初始是否展开 */
26
- defaultExpanded?: boolean;
27
- /** 附加标签组 */
28
- tags?: Array<{
29
- text: string;
30
- type?: string;
31
- }>;
32
- /** 自定义额外数据 */
33
- extra?: Record<string, unknown>;
34
- }
35
- /** 组件 Props */
36
- interface TimelineProps {
37
- /** 时间线数据 */
38
- items: TimelineItem[];
39
- /** 布局方向 */
40
- mode?: 'vertical' | 'horizontal';
41
- /** 垂直模式下时间标签位置 */
42
- labelPlacement?: 'left' | 'right' | 'alternate';
43
- /** 是否显示尾部加载更多指示 */
44
- pending?: boolean;
45
- /** 加载更多文案 */
46
- pendingText?: string;
47
- /** 是否反转排列(最新在前) */
48
- reverse?: boolean;
49
- /** 节点大小 */
50
- size?: 'small' | 'medium' | 'large';
51
- /** 连接线样式 */
52
- lineType?: 'solid' | 'dashed' | 'dotted';
53
- /** 是否显示时间标签 */
54
- showTime?: boolean;
55
- }
56
- /** 默认 Props */
57
- declare const DEFAULT_TIMELINE_PROPS: {
58
- mode: "vertical";
59
- labelPlacement: "right";
60
- pending: boolean;
61
- pendingText: string;
62
- reverse: boolean;
63
- size: "medium";
64
- lineType: "solid";
65
- showTime: boolean;
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;
66
35
  };
67
- /** 状态 → 颜色映射 */
68
- declare const STATUS_COLOR_MAP: Record<string, string>;
69
36
  //#endregion
70
- //#region src/components/C_Timeline/index.vue.d.ts
71
- declare var __VLS_1: {
72
- item: TimelineItem;
73
- index: number;
74
- }, __VLS_8: {
75
- item: TimelineItem;
76
- index: number;
77
- };
78
- type __VLS_Slots = {} & {
79
- dot?: (props: typeof __VLS_1) => any;
80
- } & {
81
- title?: (props: typeof __VLS_8) => any;
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
+ }
45
+ //#endregion
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
+ }
54
+ type __VLS_Props = {
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;
82
65
  };
83
- declare const __VLS_base: vue.DefineComponent<TimelineProps, {
84
- /** 展开全部 */expandAll: () => void; /** 折叠全部 */
85
- collapseAll: () => void;
86
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
87
- "item-click": (item: TimelineItem, index: number) => any;
88
- expand: (item: TimelineItem, expanded: boolean) => any;
89
- }, string, vue.PublicProps, Readonly<TimelineProps> & Readonly<{
90
- "onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
91
- onExpand?: ((item: TimelineItem, expanded: boolean) => any) | undefined;
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;
84
+ }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
85
+ onClose?: ((fallbackPath: string) => any) | undefined;
86
+ onCloseAll?: (() => any) | undefined;
92
87
  }>, {
93
- reverse: boolean;
94
- size: "small" | "medium" | "large";
95
- mode: "vertical" | "horizontal";
96
- items: TimelineItem[];
97
- labelPlacement: "left" | "right" | "alternate";
98
- pending: boolean;
99
- pendingText: string;
100
- lineType: "solid" | "dashed" | "dotted";
101
- showTime: boolean;
88
+ persistKey: string;
89
+ homePath: string;
90
+ homeTitle: string;
91
+ homeIcon: string;
92
+ contextMenuLabels: LegacyContextMenuLabels;
102
93
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
103
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
104
94
  declare const _default: typeof __VLS_export;
105
- type __VLS_WithSlots<T, S> = T & {
106
- new (): {
107
- $slots: S;
108
- };
109
- };
110
95
  //#endregion
111
- export { TimelineProps as a, TimelineItem as i, DEFAULT_TIMELINE_PROPS as n, STATUS_COLOR_MAP as r, _default as t };
96
+ export { useTagsView as i, ContextMenuLabels as n, UseTagsViewOptions as r, _default as t };
@@ -1,111 +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_Timeline/types.d.ts
5
+ //#region src/components/C_TagsView/useTagsView.d.ts
6
+ interface UseTagsViewOptions {
7
+ /** localStorage 持久化 key,传空字符串则不持久化 */
8
+ persistKey?: string;
9
+ /** 首页路径,用于 removeAll 后的回退 */
10
+ homePath?: string;
11
+ }
4
12
  /**
5
- * @Description: 时间线组件类型定义
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
+ * ```
6
22
  */
7
- /** 单条时间线节点 */
8
- interface TimelineItem {
9
- /** 唯一标识 */
10
- id: string | number;
11
- /** 标题 */
12
- title: string;
13
- /** 描述内容(支持 HTML 字符串) */
14
- content?: string;
15
- /** 时间标签 */
16
- time?: string;
17
- /** 节点颜色(CSS 颜色值) */
18
- color?: string;
19
- /** 节点图标(Iconify 图标名) */
20
- icon?: string;
21
- /** 节点状态 */
22
- status?: 'default' | 'success' | 'warning' | 'error' | 'info';
23
- /** 是否可展开/折叠详情 */
24
- collapsible?: boolean;
25
- /** 初始是否展开 */
26
- defaultExpanded?: boolean;
27
- /** 附加标签组 */
28
- tags?: Array<{
29
- text: string;
30
- type?: string;
31
- }>;
32
- /** 自定义额外数据 */
33
- extra?: Record<string, unknown>;
34
- }
35
- /** 组件 Props */
36
- interface TimelineProps {
37
- /** 时间线数据 */
38
- items: TimelineItem[];
39
- /** 布局方向 */
40
- mode?: 'vertical' | 'horizontal';
41
- /** 垂直模式下时间标签位置 */
42
- labelPlacement?: 'left' | 'right' | 'alternate';
43
- /** 是否显示尾部加载更多指示 */
44
- pending?: boolean;
45
- /** 加载更多文案 */
46
- pendingText?: string;
47
- /** 是否反转排列(最新在前) */
48
- reverse?: boolean;
49
- /** 节点大小 */
50
- size?: 'small' | 'medium' | 'large';
51
- /** 连接线样式 */
52
- lineType?: 'solid' | 'dashed' | 'dotted';
53
- /** 是否显示时间标签 */
54
- showTime?: boolean;
55
- }
56
- /** 默认 Props */
57
- declare const DEFAULT_TIMELINE_PROPS: {
58
- mode: "vertical";
59
- labelPlacement: "right";
60
- pending: boolean;
61
- pendingText: string;
62
- reverse: boolean;
63
- size: "medium";
64
- lineType: "solid";
65
- showTime: boolean;
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;
66
35
  };
67
- /** 状态 → 颜色映射 */
68
- declare const STATUS_COLOR_MAP: Record<string, string>;
69
36
  //#endregion
70
- //#region src/components/C_Timeline/index.vue.d.ts
71
- declare var __VLS_1: {
72
- item: TimelineItem;
73
- index: number;
74
- }, __VLS_8: {
75
- item: TimelineItem;
76
- index: number;
77
- };
78
- type __VLS_Slots = {} & {
79
- dot?: (props: typeof __VLS_1) => any;
80
- } & {
81
- title?: (props: typeof __VLS_8) => any;
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
+ }
45
+ //#endregion
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
+ }
54
+ type __VLS_Props = {
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;
82
65
  };
83
- declare const __VLS_base: vue.DefineComponent<TimelineProps, {
84
- /** 展开全部 */expandAll: () => void; /** 折叠全部 */
85
- collapseAll: () => void;
86
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
87
- "item-click": (item: TimelineItem, index: number) => any;
88
- expand: (item: TimelineItem, expanded: boolean) => any;
89
- }, string, vue.PublicProps, Readonly<TimelineProps> & Readonly<{
90
- "onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
91
- onExpand?: ((item: TimelineItem, expanded: boolean) => any) | undefined;
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;
84
+ }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
85
+ onClose?: ((fallbackPath: string) => any) | undefined;
86
+ onCloseAll?: (() => any) | undefined;
92
87
  }>, {
93
- reverse: boolean;
94
- size: "small" | "medium" | "large";
95
- mode: "vertical" | "horizontal";
96
- items: TimelineItem[];
97
- labelPlacement: "left" | "right" | "alternate";
98
- pending: boolean;
99
- pendingText: string;
100
- lineType: "solid" | "dashed" | "dotted";
101
- showTime: boolean;
88
+ persistKey: string;
89
+ homePath: string;
90
+ homeTitle: string;
91
+ homeIcon: string;
92
+ contextMenuLabels: LegacyContextMenuLabels;
102
93
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
103
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
104
94
  declare const _default: typeof __VLS_export;
105
- type __VLS_WithSlots<T, S> = T & {
106
- new (): {
107
- $slots: S;
108
- };
109
- };
110
95
  //#endregion
111
- export { TimelineProps as a, TimelineItem as i, DEFAULT_TIMELINE_PROPS as n, STATUS_COLOR_MAP as r, _default as t };
96
+ export { useTagsView as i, ContextMenuLabels as n, UseTagsViewOptions as r, _default as t };
@@ -1,80 +1,111 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Transfer/types.d.ts
3
+ //#region src/components/C_Timeline/types.d.ts
4
4
  /**
5
- * @Description: 穿梭框组件类型定义
5
+ * @Description: 时间线组件类型定义
6
6
  */
7
- /** 穿梭框数据项 */
8
- interface TransferItem {
7
+ /** 单条时间线节点 */
8
+ interface TimelineItem {
9
9
  /** 唯一标识 */
10
- key: string | number;
11
- /** 显示标签 */
12
- label: string;
13
- /** 是否禁用 */
14
- disabled?: boolean;
15
- /** 分组名称 */
16
- group?: string;
17
- /** 描述信息(用于详细模式) */
18
- description?: string;
19
- /** 图标(Iconify) */
10
+ id: string | number;
11
+ /** 标题 */
12
+ title: string;
13
+ /** 描述内容(支持 HTML 字符串) */
14
+ content?: string;
15
+ /** 时间标签 */
16
+ time?: string;
17
+ /** 节点颜色(CSS 颜色值) */
18
+ color?: string;
19
+ /** 节点图标(Iconify 图标名) */
20
20
  icon?: string;
21
- /** 额外数据 */
21
+ /** 节点状态 */
22
+ status?: 'default' | 'success' | 'warning' | 'error' | 'info';
23
+ /** 是否可展开/折叠详情 */
24
+ collapsible?: boolean;
25
+ /** 初始是否展开 */
26
+ defaultExpanded?: boolean;
27
+ /** 附加标签组 */
28
+ tags?: Array<{
29
+ text: string;
30
+ type?: string;
31
+ }>;
32
+ /** 自定义额外数据 */
22
33
  extra?: Record<string, unknown>;
23
34
  }
24
35
  /** 组件 Props */
25
- interface TransferProps {
26
- /** 数据源 */
27
- data: TransferItem[];
28
- /** 右侧已选 key 列表 (v-model) */
29
- modelValue: Array<string | number>;
30
- /** 左右栏标题 */
31
- titles?: [string, string];
32
- /** 是否可搜索 */
33
- filterable?: boolean;
34
- /** 搜索占位符 */
35
- filterPlaceholder?: string;
36
- /** 自定义筛选函数 */
37
- filterMethod?: (query: string, item: TransferItem) => boolean;
38
- /** 是否显示全选复选框 */
39
- showSelectAll?: boolean;
40
- /** 左侧空状态描述 */
41
- sourceEmptyText?: string;
42
- /** 右侧空状态描述 */
43
- targetEmptyText?: string;
44
- /** 尺寸 */
36
+ interface TimelineProps {
37
+ /** 时间线数据 */
38
+ items: TimelineItem[];
39
+ /** 布局方向 */
40
+ mode?: 'vertical' | 'horizontal';
41
+ /** 垂直模式下时间标签位置 */
42
+ labelPlacement?: 'left' | 'right' | 'alternate';
43
+ /** 是否显示尾部加载更多指示 */
44
+ pending?: boolean;
45
+ /** 加载更多文案 */
46
+ pendingText?: string;
47
+ /** 是否反转排列(最新在前) */
48
+ reverse?: boolean;
49
+ /** 节点大小 */
45
50
  size?: 'small' | 'medium' | 'large';
51
+ /** 连接线样式 */
52
+ lineType?: 'solid' | 'dashed' | 'dotted';
53
+ /** 是否显示时间标签 */
54
+ showTime?: boolean;
46
55
  }
47
56
  /** 默认 Props */
48
- declare const DEFAULT_TRANSFER_PROPS: Partial<TransferProps>;
57
+ declare const DEFAULT_TIMELINE_PROPS: {
58
+ mode: "vertical";
59
+ labelPlacement: "right";
60
+ pending: boolean;
61
+ pendingText: string;
62
+ reverse: boolean;
63
+ size: "medium";
64
+ lineType: "solid";
65
+ showTime: boolean;
66
+ };
67
+ /** 状态 → 颜色映射 */
68
+ declare const STATUS_COLOR_MAP: Record<string, string>;
49
69
  //#endregion
50
- //#region src/components/C_Transfer/index.vue.d.ts
51
- type __VLS_Props = {
52
- data: TransferProps['data'];
53
- modelValue: TransferProps['modelValue'];
54
- titles?: TransferProps['titles'];
55
- filterable?: boolean;
56
- filterPlaceholder?: string;
57
- filterMethod?: TransferProps['filterMethod'];
58
- showSelectAll?: boolean;
59
- sourceEmptyText?: string;
60
- targetEmptyText?: string;
61
- size?: TransferProps['size'];
70
+ //#region src/components/C_Timeline/index.vue.d.ts
71
+ declare var __VLS_1: {
72
+ item: TimelineItem;
73
+ index: number;
74
+ }, __VLS_8: {
75
+ item: TimelineItem;
76
+ index: number;
77
+ };
78
+ type __VLS_Slots = {} & {
79
+ dot?: (props: typeof __VLS_1) => any;
80
+ } & {
81
+ title?: (props: typeof __VLS_8) => any;
62
82
  };
63
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
64
- change: (targetKeys: (string | number)[], direction: "left" | "right", moveKeys: (string | number)[]) => any;
65
- "update:modelValue": (value: (string | number)[]) => any;
66
- }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
67
- onChange?: ((targetKeys: (string | number)[], direction: "left" | "right", moveKeys: (string | number)[]) => any) | undefined;
68
- "onUpdate:modelValue"?: ((value: (string | number)[]) => any) | undefined;
83
+ declare const __VLS_base: vue.DefineComponent<TimelineProps, {
84
+ /** 展开全部 */expandAll: () => void; /** 折叠全部 */
85
+ collapseAll: () => void;
86
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
87
+ expand: (item: TimelineItem, expanded: boolean) => any;
88
+ "item-click": (item: TimelineItem, index: number) => any;
89
+ }, string, vue.PublicProps, Readonly<TimelineProps> & Readonly<{
90
+ onExpand?: ((item: TimelineItem, expanded: boolean) => any) | undefined;
91
+ "onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
69
92
  }>, {
93
+ reverse: boolean;
94
+ items: TimelineItem[];
70
95
  size: "small" | "medium" | "large";
71
- filterable: boolean;
72
- titles: [string, string];
73
- filterPlaceholder: string;
74
- showSelectAll: boolean;
75
- sourceEmptyText: string;
76
- targetEmptyText: string;
96
+ mode: "vertical" | "horizontal";
97
+ labelPlacement: "left" | "right" | "alternate";
98
+ pending: boolean;
99
+ pendingText: string;
100
+ lineType: "solid" | "dashed" | "dotted";
101
+ showTime: boolean;
77
102
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
103
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
78
104
  declare const _default: typeof __VLS_export;
105
+ type __VLS_WithSlots<T, S> = T & {
106
+ new (): {
107
+ $slots: S;
108
+ };
109
+ };
79
110
  //#endregion
80
- export { TransferProps as i, DEFAULT_TRANSFER_PROPS as n, TransferItem as r, _default as t };
111
+ export { TimelineProps as a, TimelineItem as i, DEFAULT_TIMELINE_PROPS as n, STATUS_COLOR_MAP as r, _default as t };