@robot-admin/naive-ui-components 0.22.0 → 0.23.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 (321) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +9 -5
  3. package/README_EN.md +9 -5
  4. package/dist/C_ActionBar.d.cts +2 -1
  5. package/dist/C_ActionBar.d.ts +2 -1
  6. package/dist/C_AntV2.cjs +3 -3
  7. package/dist/C_AntV2.js +3 -3
  8. package/dist/C_BatchResult.cjs +1 -0
  9. package/dist/C_BatchResult.css +32 -0
  10. package/dist/C_BatchResult.d.cts +2 -0
  11. package/dist/C_BatchResult.d.ts +2 -0
  12. package/dist/C_BatchResult.js +1 -0
  13. package/dist/C_BatchResult2.cjs +1 -0
  14. package/dist/C_BatchResult2.js +1 -0
  15. package/dist/C_Breadcrumb.d.cts +2 -2
  16. package/dist/C_Breadcrumb.d.ts +1 -1
  17. package/dist/C_Captcha.d.ts +2 -0
  18. package/dist/C_Cascade.d.cts +1 -1
  19. package/dist/C_Cascade.d.ts +1 -1
  20. package/dist/C_Chat.d.cts +1 -1
  21. package/dist/C_Chat.d.ts +1 -1
  22. package/dist/C_City.d.cts +1 -1
  23. package/dist/C_City.d.ts +1 -1
  24. package/dist/C_Code.d.cts +1 -1
  25. package/dist/C_Code.d.ts +1 -1
  26. package/dist/C_ContextMenu.d.cts +1 -1
  27. package/dist/C_ContextMenu.d.ts +1 -1
  28. package/dist/C_DataPicker.cjs +1 -0
  29. package/dist/C_DataPicker.css +54 -0
  30. package/dist/C_DataPicker.d.cts +2 -0
  31. package/dist/C_DataPicker.d.ts +5 -0
  32. package/dist/C_DataPicker.js +1 -0
  33. package/dist/C_DataPicker2.cjs +1 -0
  34. package/dist/C_DataPicker2.js +1 -0
  35. package/dist/C_Date.d.cts +1 -1
  36. package/dist/C_Date.d.ts +1 -1
  37. package/dist/C_Density.cjs +1 -0
  38. package/dist/C_Density.css +1 -0
  39. package/dist/C_Density.d.cts +3 -0
  40. package/dist/C_Density.d.ts +3 -0
  41. package/dist/C_Density.js +1 -0
  42. package/dist/C_Density2.cjs +1 -0
  43. package/dist/C_Density2.js +1 -0
  44. package/dist/C_Editor.d.cts +1 -1
  45. package/dist/C_Editor.d.ts +1 -1
  46. package/dist/C_ErrorSummary.cjs +1 -0
  47. package/dist/C_ErrorSummary.css +29 -0
  48. package/dist/C_ErrorSummary.d.cts +3 -0
  49. package/dist/C_ErrorSummary.d.ts +3 -0
  50. package/dist/C_ErrorSummary.js +1 -0
  51. package/dist/C_ErrorSummary2.cjs +1 -0
  52. package/dist/C_ErrorSummary2.js +1 -0
  53. package/dist/C_Form.base.css +150 -148
  54. package/dist/C_Form.cjs +1 -1
  55. package/dist/C_Form.css +151 -253
  56. package/dist/C_Form.d.cts +3 -1
  57. package/dist/C_Form.d.ts +19 -1
  58. package/dist/C_Form.js +1 -1
  59. package/dist/C_FormModal.css +11 -12
  60. package/dist/C_FormModal.d.cts +1 -1
  61. package/dist/C_FormModal.d.ts +18 -2
  62. package/dist/C_FormModal2.cjs +1 -1
  63. package/dist/C_FormModal2.js +1 -1
  64. package/dist/C_FormSearch.cjs +1 -1
  65. package/dist/C_FormSearch.css +128 -56
  66. package/dist/C_FormSearch.d.cts +3 -3
  67. package/dist/C_FormSearch.d.ts +5 -3
  68. package/dist/C_FormSearch.js +1 -1
  69. package/dist/C_FormulaEditor.d.cts +1 -1
  70. package/dist/C_FormulaEditor.d.ts +1 -1
  71. package/dist/C_Guide.d.cts +1 -1
  72. package/dist/C_Guide.d.ts +1 -1
  73. package/dist/C_Icon.d.cts +1 -1
  74. package/dist/C_Icon.d.ts +1 -1
  75. package/dist/C_Language.d.cts +1 -1
  76. package/dist/C_Language.d.ts +1 -1
  77. package/dist/C_Loading.d.cts +1 -1
  78. package/dist/C_Loading.d.ts +1 -1
  79. package/dist/C_Login.d.cts +1 -1
  80. package/dist/C_Login.d.ts +4 -1
  81. package/dist/C_Markdown.d.cts +1 -1
  82. package/dist/C_Markdown.d.ts +1 -1
  83. package/dist/C_Menu.d.cts +2 -2
  84. package/dist/C_Menu.d.ts +1 -1
  85. package/dist/C_OrgChart.d.cts +1 -1
  86. package/dist/C_OrgChart.d.ts +1 -1
  87. package/dist/C_Progress.d.cts +1 -1
  88. package/dist/C_Progress.d.ts +1 -1
  89. package/dist/C_SectionNav.cjs +1 -0
  90. package/dist/C_SectionNav.css +46 -0
  91. package/dist/C_SectionNav.d.cts +2 -0
  92. package/dist/C_SectionNav.d.ts +2 -0
  93. package/dist/C_SectionNav.js +1 -0
  94. package/dist/C_SectionNav2.cjs +1 -0
  95. package/dist/C_SectionNav2.js +1 -0
  96. package/dist/C_Skeleton.d.cts +1 -1
  97. package/dist/C_Skeleton.d.ts +1 -1
  98. package/dist/C_Steps.d.cts +1 -1
  99. package/dist/C_Steps.d.ts +1 -1
  100. package/dist/C_Table.base.css +258 -256
  101. package/dist/C_Table.cjs +1 -1
  102. package/dist/C_Table.css +109 -1283
  103. package/dist/C_Table.d.cts +2 -1
  104. package/dist/C_Table.d.ts +11 -7
  105. package/dist/C_Table.js +1 -1
  106. package/dist/C_Table2.cjs +3 -0
  107. package/dist/C_Table2.js +3 -0
  108. package/dist/C_Tabs.cjs +1 -1
  109. package/dist/C_Tabs.d.cts +1 -1
  110. package/dist/C_Tabs.d.ts +1 -1
  111. package/dist/C_Tabs.js +1 -1
  112. package/dist/C_TagsView.d.cts +1 -1
  113. package/dist/C_Theme.d.cts +1 -1
  114. package/dist/C_Theme.d.ts +1 -1
  115. package/dist/C_Timeline.d.cts +1 -1
  116. package/dist/C_Timeline.d.ts +1 -1
  117. package/dist/C_Transfer.d.cts +1 -1
  118. package/dist/C_Transfer.d.ts +1 -1
  119. package/dist/C_Tree.d.cts +1 -1
  120. package/dist/C_Tree.d.ts +10 -6
  121. package/dist/C_Upload.d.cts +1 -1
  122. package/dist/C_Upload.d.ts +1 -1
  123. package/dist/C_WorkFlow2.cjs +1 -1
  124. package/dist/C_WorkFlow2.js +1 -1
  125. package/dist/Card.cjs +1 -1
  126. package/dist/Card.js +1 -1
  127. package/dist/Steps.cjs +1 -1
  128. package/dist/Steps.js +1 -1
  129. package/dist/Tabs.cjs +1 -1
  130. package/dist/Tabs.js +1 -1
  131. package/dist/batchPatch.cjs +1 -0
  132. package/dist/batchPatch.d.cts +26 -0
  133. package/dist/batchPatch.d.ts +26 -0
  134. package/dist/batchPatch.js +1 -0
  135. package/dist/config.cjs +1 -1
  136. package/dist/config.d.cts +7 -1
  137. package/dist/config.d.ts +7 -1
  138. package/dist/config.js +1 -1
  139. package/dist/config2.d.ts +14 -0
  140. package/dist/constants.d.cts +3 -3
  141. package/dist/constants.d.ts +3 -3
  142. package/dist/constants2.d.cts +402 -173
  143. package/dist/constants2.d.ts +402 -173
  144. package/dist/constants3.d.cts +3 -3
  145. package/dist/constants3.d.ts +3 -3
  146. package/dist/constants4.d.cts +173 -402
  147. package/dist/constants4.d.ts +173 -402
  148. package/dist/constants5.d.cts +2 -2
  149. package/dist/constants5.d.ts +2 -2
  150. package/dist/data.cjs +1 -1
  151. package/dist/data.d.cts +5 -108
  152. package/dist/data.d.ts +5 -108
  153. package/dist/data.js +1 -1
  154. package/dist/data2.cjs +1 -1
  155. package/dist/data2.d.cts +108 -0
  156. package/dist/data2.d.ts +108 -0
  157. package/dist/data2.js +1 -1
  158. package/dist/data3.cjs +1 -0
  159. package/dist/data3.js +1 -0
  160. package/dist/dateRange.d.cts +108 -13
  161. package/dist/dateRange.d.ts +108 -13
  162. package/dist/density.cjs +1 -1
  163. package/dist/density.js +1 -1
  164. package/dist/dictionary.cjs +1 -0
  165. package/dist/dictionary.d.cts +38 -0
  166. package/dist/dictionary.d.ts +38 -0
  167. package/dist/dictionary.js +1 -0
  168. package/dist/helpers.cjs +1 -1
  169. package/dist/helpers.js +1 -1
  170. package/dist/index.cjs +1 -1
  171. package/dist/index.d.cts +65 -53
  172. package/dist/index.d.ts +73 -57
  173. package/dist/index.js +1 -1
  174. package/dist/index.vue.d.cts +1 -1
  175. package/dist/index.vue.d.ts +1 -1
  176. package/dist/index10.vue.d.cts +37 -80
  177. package/dist/index10.vue.d.ts +77 -53
  178. package/dist/index11.vue.d.cts +77 -53
  179. package/dist/index11.vue.d.ts +1117 -45
  180. package/dist/index12.vue.d.cts +1117 -45
  181. package/dist/index12.vue.d.ts +17 -128
  182. package/dist/index13.vue.d.cts +17 -128
  183. package/dist/index13.vue.d.ts +57 -53
  184. package/dist/index14.vue.d.cts +57 -53
  185. package/dist/index14.vue.d.ts +16 -25
  186. package/dist/index15.vue.d.cts +16 -25
  187. package/dist/index15.vue.d.ts +52 -12
  188. package/dist/index16.vue.d.cts +52 -12
  189. package/dist/index16.vue.d.ts +13 -129
  190. package/dist/index17.vue.d.cts +13 -129
  191. package/dist/index17.vue.d.ts +123 -74
  192. package/dist/index18.vue.d.cts +123 -74
  193. package/dist/index18.vue.d.ts +48 -71
  194. package/dist/index19.vue.d.cts +40 -91
  195. package/dist/index19.vue.d.ts +36 -96
  196. package/dist/index2.vue.d.cts +2 -2
  197. package/dist/index2.vue.d.ts +2 -2
  198. package/dist/index20.vue.d.cts +38 -47
  199. package/dist/index20.vue.d.ts +13 -48
  200. package/dist/index21.vue.d.cts +12 -96
  201. package/dist/index21.vue.d.ts +25 -95
  202. package/dist/index22.vue.d.cts +20 -32
  203. package/dist/index22.vue.d.ts +75 -37
  204. package/dist/index23.vue.d.cts +77 -13
  205. package/dist/index23.vue.d.ts +71 -13
  206. package/dist/index24.vue.d.cts +2 -2
  207. package/dist/index24.vue.d.ts +1 -1
  208. package/dist/index25.vue.d.cts +116 -90
  209. package/dist/index25.vue.d.ts +116 -90
  210. package/dist/index26.vue.d.cts +94 -59
  211. package/dist/index26.vue.d.ts +94 -59
  212. package/dist/index27.vue.d.cts +75 -0
  213. package/dist/index27.vue.d.ts +75 -0
  214. package/dist/index28.vue.d.cts +103 -0
  215. package/dist/index28.vue.d.ts +103 -0
  216. package/dist/index29.vue.d.cts +105 -0
  217. package/dist/index29.vue.d.ts +105 -0
  218. package/dist/index3.vue.d.cts +4 -4
  219. package/dist/index3.vue.d.ts +4 -4
  220. package/dist/index30.vue.d.cts +28 -0
  221. package/dist/index30.vue.d.ts +28 -0
  222. package/dist/index4.vue.d.cts +19 -128
  223. package/dist/index4.vue.d.ts +17 -34
  224. package/dist/index5.vue.d.cts +127 -35
  225. package/dist/index5.vue.d.ts +30 -19
  226. package/dist/index6.vue.d.cts +30 -19
  227. package/dist/index6.vue.d.ts +22 -118
  228. package/dist/index7.vue.d.cts +22 -118
  229. package/dist/index7.vue.d.ts +112 -18
  230. package/dist/index8.vue.d.cts +112 -18
  231. package/dist/index8.vue.d.ts +24 -35
  232. package/dist/index9.vue.d.cts +24 -35
  233. package/dist/index9.vue.d.ts +37 -80
  234. package/dist/mapUtils.d.cts +4 -4
  235. package/dist/mapUtils.d.ts +4 -4
  236. package/dist/numberCodec.cjs +1 -0
  237. package/dist/numberCodec.d.cts +25 -0
  238. package/dist/numberCodec.d.ts +25 -0
  239. package/dist/numberCodec.js +1 -0
  240. package/dist/observer.cjs +1 -0
  241. package/dist/observer.js +1 -0
  242. package/dist/presets.d.cts +3 -66
  243. package/dist/presets.d.ts +3 -66
  244. package/dist/resolver.cjs +1 -1
  245. package/dist/resolver.d.cts +1 -1
  246. package/dist/resolver.d.ts +1 -1
  247. package/dist/resolver.js +1 -1
  248. package/dist/serializeSearch.cjs +1 -0
  249. package/dist/serializeSearch.js +1 -0
  250. package/dist/style.css +561 -322
  251. package/dist/types.d.cts +60 -103
  252. package/dist/types.d.ts +62 -52
  253. package/dist/types2.d.cts +104 -51
  254. package/dist/types2.d.ts +56 -0
  255. package/dist/types3.d.cts +56 -0
  256. package/dist/useCalendarEvents.d.cts +1 -1
  257. package/dist/useCalendarEvents.d.ts +1 -1
  258. package/dist/useCollapsePanel.d.cts +6 -6
  259. package/dist/useCollapsePanel.d.ts +6 -6
  260. package/dist/useComponentLocale.cjs +1 -1
  261. package/dist/useComponentLocale.js +1 -1
  262. package/dist/useCropperCore.d.cts +13 -13
  263. package/dist/useCropperCore.d.ts +13 -13
  264. package/dist/useDataResource.cjs +1 -0
  265. package/dist/useDataResource.js +1 -0
  266. package/dist/useDictionary.cjs +1 -0
  267. package/dist/useDictionary.js +1 -0
  268. package/dist/useDynamicFormState.d.cts +959 -582
  269. package/dist/useDynamicFormState.d.ts +951 -584
  270. package/dist/useEdgeInteraction.d.cts +3 -3
  271. package/dist/useEdgeInteraction.d.ts +3 -3
  272. package/dist/useFormArray.cjs +1 -0
  273. package/dist/useFormArray.d.cts +69 -0
  274. package/dist/useFormArray.d.ts +69 -0
  275. package/dist/useFormArray.js +1 -0
  276. package/dist/useFormConfig.cjs +1 -0
  277. package/dist/useFormConfig.d.cts +590 -0
  278. package/dist/useFormConfig.d.ts +590 -0
  279. package/dist/useFormConfig.js +1 -0
  280. package/dist/useFullscreen.d.cts +3 -3
  281. package/dist/useFullscreen.d.ts +3 -3
  282. package/dist/useGridWidth.cjs +1 -0
  283. package/dist/useGridWidth.js +1 -0
  284. package/dist/useInfiniteScroll.d.cts +2 -2
  285. package/dist/useInfiniteScroll.d.ts +2 -2
  286. package/dist/useQRCode.d.cts +3 -3
  287. package/dist/useQRCode.d.ts +3 -3
  288. package/dist/useSignatureHistory.d.cts +4 -4
  289. package/dist/useSignatureHistory.d.ts +4 -4
  290. package/dist/useSplitResize.d.cts +5 -5
  291. package/dist/useSplitResize.d.ts +5 -5
  292. package/dist/useTableGlobalConfig.cjs +1 -0
  293. package/dist/useTableGlobalConfig.js +1 -0
  294. package/dist/useTableQuery.cjs +1 -3
  295. package/dist/useTableQuery.js +1 -3
  296. package/dist/useWorkflowValidation.d.cts +6 -6
  297. package/dist/useWorkflowValidation.d.ts +6 -6
  298. package/dist/validation.cjs +1 -0
  299. package/dist/validation.d.cts +18 -0
  300. package/dist/validation.d.ts +18 -0
  301. package/dist/validation.js +1 -0
  302. package/dist/verification.d.cts +4 -4
  303. package/dist/verification.d.ts +4 -4
  304. package/dist/workflows.cjs +1 -0
  305. package/dist/workflows.d.cts +2 -0
  306. package/dist/workflows.d.ts +2 -0
  307. package/dist/workflows.js +1 -0
  308. package/docs/components.en.md +13 -1
  309. package/docs/components.md +13 -1
  310. package/docs/guides/batch-results.md +47 -0
  311. package/docs/guides/data-picker.md +65 -0
  312. package/docs/guides/data-workflows.md +123 -0
  313. package/docs/guides/form-density.en.md +56 -3
  314. package/docs/guides/form-density.md +56 -3
  315. package/docs/guides/search-workflows.md +164 -0
  316. package/docs/guides/usage.en.md +1 -1
  317. package/package.json +21 -1
  318. package/dist/C_FormSearch2.cjs +0 -1
  319. package/dist/C_FormSearch2.js +0 -1
  320. package/dist/useTableQuery.d.cts +0 -1957
  321. package/dist/useTableQuery.d.ts +0 -1957
@@ -1,135 +1,26 @@
1
- import { n as RouteItem } from "./types.cjs";
1
+ import { n as BatchOperationResult } from "./batchPatch.cjs";
2
+ import { n as ComponentLocale } from "./contracts.cjs";
2
3
  import * as vue from "vue";
3
- import { Ref, VNode } from "vue";
4
- import { DropdownProps, MenuInst, MenuOption } from "naive-ui";
5
4
 
6
- //#region src/components/_shared/menuAdapter.d.ts
7
- /**
8
- * 菜单适配器配置
9
- */
10
- interface MenuAdapterConfig {
11
- /**
12
- * 标签文本格式化函数(用于 i18n)
13
- * 默认:原样返回 title
14
- */
15
- labelFormatter?: (title: string) => string;
16
- /**
17
- * 获取菜单项的唯一 key
18
- * 默认:`normalizePath(route.path)`
19
- */
20
- getKey?: (route: RouteItem) => string;
21
- /**
22
- * 获取显示文本
23
- * 默认:`route.meta?.title || route.name || ''`
24
- */
25
- getLabel?: (route: RouteItem) => string;
26
- /**
27
- * 路由过滤器 — return false 排除该项
28
- * 默认:排除 `meta.hidden === true`
29
- */
30
- filter?: (route: RouteItem) => boolean;
31
- /**
32
- * 自定义图标渲染
33
- * 默认:字符串 → Iconify Icon;函数 → 直接调用
34
- */
35
- renderIcon?: (icon: string | (() => VNode) | undefined) => (() => VNode) | undefined;
36
- /**
37
- * 是否递归处理 children
38
- * 默认:true
39
- */
40
- recursive?: boolean;
5
+ //#region src/components/C_BatchResult/types.d.ts
6
+ interface BatchResultProps {
7
+ results: readonly BatchOperationResult[];
8
+ title?: string;
9
+ pageSize?: number;
10
+ locale?: ComponentLocale;
41
11
  }
42
- /**
43
- * 将路由数据转换为 NMenu 的 MenuOption[]
44
- *
45
- * 支持的输入格式:
46
- * 1. **Vue Router RouteRecordRaw** — 直接传 `router.getRoutes()` 或手写路由表
47
- * 2. **后端 JSON 路由表** — `{ path, meta: { title, icon }, children }`
48
- * 3. **自定义格式** — 通过 config 完全自定义 key/label/icon 的取值逻辑
49
- *
50
- * @param routes 路由数据数组
51
- * @param config 适配器配置
52
- * @returns NMenu 可直接使用的 MenuOption[]
53
- */
54
- declare function createMenuOptions(routes: RouteItem[], config?: MenuAdapterConfig): MenuOption[];
55
- /**
56
- * 将路由树扁平化为一维数组(常用于搜索、快捷导航)
57
- *
58
- * @param routes 路由数据数组
59
- * @param filter 过滤器(默认排除 hidden)
60
- * @returns 扁平化后的路由数组
61
- */
62
- declare function flattenRoutes(routes: RouteItem[], filter?: (route: RouteItem) => boolean): RouteItem[];
63
- //#endregion
64
- //#region src/components/C_Menu/types.d.ts
65
- type MenuKey = string | number;
66
- type MenuValue = MenuKey | null;
67
- type OwnMenuKey<Option> = Option extends {
68
- key?: infer Key;
69
- } ? Extract<Key, MenuKey> : never;
70
- /** 已遇到的递归业务类型或原生完整键类型均停止展开,内联配置包含子节点。 */
71
- type MenuOptionKeys<Option, Seen = never> = Option extends Seen ? OwnMenuKey<Option> : MenuKey extends OwnMenuKey<Option> ? MenuKey : OwnMenuKey<Option> | (Option extends {
72
- children?: infer Children;
73
- } ? Children extends readonly unknown[] ? MenuOptionKeys<Children[number], Seen | Option> : never : never);
74
- type WidenMenuKey<Key> = Key extends string ? string : Key extends number ? number : never;
75
- type MenuSelectionKey<O extends MenuOption[] | undefined> = O extends MenuOption[] ? [MenuOptionKeys<O[number]>] extends [never] ? MenuKey : WidenMenuKey<MenuOptionKeys<O[number]>> : string;
76
- interface MenuProps<O extends MenuOption[] | undefined = MenuOption[] | undefined> {
77
- options?: O;
78
- routes?: RouteItem[];
79
- adapterConfig?: MenuAdapterConfig;
80
- labelFormatter?: (label: string) => string;
81
- /** @deprecated Use modelValue. */
82
- value?: MenuValue;
83
- modelValue?: MenuValue;
84
- expandedKeys?: MenuKey[];
85
- defaultExpandedKeys?: MenuKey[];
86
- mode?: 'vertical' | 'horizontal';
87
- collapsed?: boolean;
88
- collapsedWidth?: number;
89
- collapsedIconSize?: number;
90
- inverted?: boolean;
91
- themeOverrides?: Record<string, any>;
92
- indent?: number;
93
- rootIndent?: number;
94
- dropdownProps?: DropdownProps;
95
- }
96
- interface MenuEmits<O extends MenuOption[] | undefined = MenuOption[] | undefined> {
97
- select: [key: MenuSelectionKey<O>];
98
- /** 鼠标或键盘聚焦叶子项时触发,可用于无副作用的路由预取。 */
99
- intent: [key: MenuSelectionKey<O>];
100
- 'update:modelValue': [key: MenuSelectionKey<O> | null];
101
- /** @deprecated Use update:modelValue. */
102
- 'update:value': [key: MenuSelectionKey<O> | null];
103
- 'update:expandedKeys': [keys: MenuSelectionKey<O>[]];
104
- }
105
- interface MenuExpose {
106
- showOption: (key: MenuKey) => void;
107
- /** Vue 公开实例会解包顶层 Ref。 */
108
- menuRef: MenuInst | null;
12
+ interface BatchResultEmits {
13
+ retry: [keys: (string | number)[]];
109
14
  }
110
15
  //#endregion
111
- //#region src/components/C_Menu/index.vue.d.ts
112
- declare const __VLS_export: <Options extends MenuOption[] | undefined = undefined>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
113
- props: vue.PublicProps & __VLS_PrettifyLocal<MenuProps<Options> & {
114
- "onUpdate:modelValue"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
115
- onSelect?: ((key: MenuSelectionKey<Options>) => any) | undefined;
116
- onIntent?: ((key: MenuSelectionKey<Options>) => any) | undefined;
117
- "onUpdate:value"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
118
- "onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
119
- }> & (typeof globalThis extends {
120
- __VLS_PROPS_FALLBACK: infer P;
121
- } ? P : {});
122
- expose: (exposed: vue.ShallowUnwrapRef<{
123
- showOption: (key: MenuKey) => void | undefined;
124
- menuRef: Ref<MenuInst | null, MenuInst | null>;
125
- }>) => void;
126
- attrs: any;
127
- slots: {};
128
- emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "intent", key: MenuSelectionKey<Options>) => void) & ((evt: "update:value", key: MenuSelectionKey<Options> | null) => void) & ((evt: "update:expandedKeys", keys: MenuSelectionKey<Options>[]) => void);
129
- }>) => vue.VNode & {
130
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
131
- };
16
+ //#region src/components/C_BatchResult/index.vue.d.ts
17
+ declare const __VLS_export: vue.DefineComponent<BatchResultProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
18
+ retry: (keys: (string | number)[]) => any;
19
+ }, string, vue.PublicProps, Readonly<BatchResultProps> & Readonly<{
20
+ onRetry?: ((keys: (string | number)[]) => any) | undefined;
21
+ }>, {
22
+ pageSize: number;
23
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
132
24
  declare const _default: typeof __VLS_export;
133
- type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
134
25
  //#endregion
135
- export { MenuProps as a, createMenuOptions as c, MenuKey as i, flattenRoutes as l, MenuEmits as n, MenuValue as o, MenuExpose as r, MenuAdapterConfig as s, _default as t };
26
+ export { BatchResultEmits as n, BatchResultProps as r, _default as t };
@@ -1,43 +1,26 @@
1
- import { i as BreadcrumbItem } from "./public.js";
1
+ import { n as BatchOperationResult } from "./batchPatch.js";
2
+ import { n as ComponentLocale } from "./contracts.js";
2
3
  import * as vue from "vue";
3
4
 
4
- //#region src/components/C_Breadcrumb/types.d.ts
5
- interface BreadcrumbRouteMeta {
6
- [key: string]: unknown;
7
- title?: unknown;
8
- icon?: unknown;
9
- hidden?: unknown;
10
- breadcrumb?: unknown;
5
+ //#region src/components/C_BatchResult/types.d.ts
6
+ interface BatchResultProps {
7
+ results: readonly BatchOperationResult[];
8
+ title?: string;
9
+ pageSize?: number;
10
+ locale?: ComponentLocale;
11
11
  }
12
- /** 可直接接收应用提供的授权菜单,非字符串图标由组件安全忽略。 */
13
- interface BreadcrumbMenuItem {
14
- path?: string;
15
- key?: string | number;
16
- name?: string | symbol | null;
17
- label?: string;
18
- icon?: unknown;
19
- meta?: BreadcrumbRouteMeta;
20
- children?: readonly BreadcrumbMenuItem[];
21
- disabled?: boolean;
22
- type?: string;
12
+ interface BatchResultEmits {
13
+ retry: [keys: (string | number)[]];
23
14
  }
24
15
  //#endregion
25
- //#region src/components/C_Breadcrumb/index.vue.d.ts
26
- type __VLS_Props = {
27
- /** 手动路径,标签沿用传入值。 */items?: readonly BreadcrumbItem[]; /** 授权后的菜单树;提供时(含空数组)作为目录的唯一数据来源。 */
28
- menus?: readonly BreadcrumbMenuItem[];
29
- showIcon?: boolean;
30
- iconSize?: number; /** 自动路径和菜单标签的翻译函数。 */
31
- labelFormatter?: (label: string) => string;
32
- };
33
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
34
- select: (path: string) => any;
35
- }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
36
- onSelect?: ((path: string) => any) | undefined;
16
+ //#region src/components/C_BatchResult/index.vue.d.ts
17
+ declare const __VLS_export: vue.DefineComponent<BatchResultProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
18
+ retry: (keys: (string | number)[]) => any;
19
+ }, string, vue.PublicProps, Readonly<BatchResultProps> & Readonly<{
20
+ onRetry?: ((keys: (string | number)[]) => any) | undefined;
37
21
  }>, {
38
- showIcon: boolean;
39
- iconSize: number;
22
+ pageSize: number;
40
23
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
41
24
  declare const _default: typeof __VLS_export;
42
25
  //#endregion
43
- export { BreadcrumbMenuItem as n, _default as t };
26
+ export { BatchResultEmits as n, BatchResultProps as r, _default as t };
@@ -1,43 +1,135 @@
1
- import { t as BreadcrumbItem } from "./types.cjs";
1
+ import { n as RouteItem } from "./types2.cjs";
2
2
  import * as vue from "vue";
3
+ import { Ref, VNode } from "vue";
4
+ import { DropdownProps, MenuInst, MenuOption } from "naive-ui";
3
5
 
4
- //#region src/components/C_Breadcrumb/types.d.ts
5
- interface BreadcrumbRouteMeta {
6
- [key: string]: unknown;
7
- title?: unknown;
8
- icon?: unknown;
9
- hidden?: unknown;
10
- breadcrumb?: unknown;
11
- }
12
- /** 可直接接收应用提供的授权菜单,非字符串图标由组件安全忽略。 */
13
- interface BreadcrumbMenuItem {
14
- path?: string;
15
- key?: string | number;
16
- name?: string | symbol | null;
17
- label?: string;
18
- icon?: unknown;
19
- meta?: BreadcrumbRouteMeta;
20
- children?: readonly BreadcrumbMenuItem[];
21
- disabled?: boolean;
22
- type?: string;
6
+ //#region src/components/_shared/menuAdapter.d.ts
7
+ /**
8
+ * 菜单适配器配置
9
+ */
10
+ interface MenuAdapterConfig {
11
+ /**
12
+ * 标签文本格式化函数(用于 i18n)
13
+ * 默认:原样返回 title
14
+ */
15
+ labelFormatter?: (title: string) => string;
16
+ /**
17
+ * 获取菜单项的唯一 key
18
+ * 默认:`normalizePath(route.path)`
19
+ */
20
+ getKey?: (route: RouteItem) => string;
21
+ /**
22
+ * 获取显示文本
23
+ * 默认:`route.meta?.title || route.name || ''`
24
+ */
25
+ getLabel?: (route: RouteItem) => string;
26
+ /**
27
+ * 路由过滤器 — return false 排除该项
28
+ * 默认:排除 `meta.hidden === true`
29
+ */
30
+ filter?: (route: RouteItem) => boolean;
31
+ /**
32
+ * 自定义图标渲染
33
+ * 默认:字符串 → Iconify Icon;函数 → 直接调用
34
+ */
35
+ renderIcon?: (icon: string | (() => VNode) | undefined) => (() => VNode) | undefined;
36
+ /**
37
+ * 是否递归处理 children
38
+ * 默认:true
39
+ */
40
+ recursive?: boolean;
23
41
  }
42
+ /**
43
+ * 将路由数据转换为 NMenu 的 MenuOption[]
44
+ *
45
+ * 支持的输入格式:
46
+ * 1. **Vue Router RouteRecordRaw** — 直接传 `router.getRoutes()` 或手写路由表
47
+ * 2. **后端 JSON 路由表** — `{ path, meta: { title, icon }, children }`
48
+ * 3. **自定义格式** — 通过 config 完全自定义 key/label/icon 的取值逻辑
49
+ *
50
+ * @param routes 路由数据数组
51
+ * @param config 适配器配置
52
+ * @returns NMenu 可直接使用的 MenuOption[]
53
+ */
54
+ declare function createMenuOptions(routes: RouteItem[], config?: MenuAdapterConfig): MenuOption[];
55
+ /**
56
+ * 将路由树扁平化为一维数组(常用于搜索、快捷导航)
57
+ *
58
+ * @param routes 路由数据数组
59
+ * @param filter 过滤器(默认排除 hidden)
60
+ * @returns 扁平化后的路由数组
61
+ */
62
+ declare function flattenRoutes(routes: RouteItem[], filter?: (route: RouteItem) => boolean): RouteItem[];
24
63
  //#endregion
25
- //#region src/components/C_Breadcrumb/index.vue.d.ts
26
- type __VLS_Props = {
27
- /** 手动路径,标签沿用传入值。 */items?: readonly BreadcrumbItem[]; /** 授权后的菜单树;提供时(含空数组)作为目录的唯一数据来源。 */
28
- menus?: readonly BreadcrumbMenuItem[];
29
- showIcon?: boolean;
30
- iconSize?: number; /** 自动路径和菜单标签的翻译函数。 */
64
+ //#region src/components/C_Menu/types.d.ts
65
+ type MenuKey = string | number;
66
+ type MenuValue = MenuKey | null;
67
+ type OwnMenuKey<Option> = Option extends {
68
+ key?: infer Key;
69
+ } ? Extract<Key, MenuKey> : never;
70
+ /** 已遇到的递归业务类型或原生完整键类型均停止展开,内联配置包含子节点。 */
71
+ type MenuOptionKeys<Option, Seen = never> = Option extends Seen ? OwnMenuKey<Option> : MenuKey extends OwnMenuKey<Option> ? MenuKey : OwnMenuKey<Option> | (Option extends {
72
+ children?: infer Children;
73
+ } ? Children extends readonly unknown[] ? MenuOptionKeys<Children[number], Seen | Option> : never : never);
74
+ type WidenMenuKey<Key> = Key extends string ? string : Key extends number ? number : never;
75
+ type MenuSelectionKey<O extends MenuOption[] | undefined> = O extends MenuOption[] ? [MenuOptionKeys<O[number]>] extends [never] ? MenuKey : WidenMenuKey<MenuOptionKeys<O[number]>> : string;
76
+ interface MenuProps<O extends MenuOption[] | undefined = MenuOption[] | undefined> {
77
+ options?: O;
78
+ routes?: RouteItem[];
79
+ adapterConfig?: MenuAdapterConfig;
31
80
  labelFormatter?: (label: string) => string;
81
+ /** @deprecated Use modelValue. */
82
+ value?: MenuValue;
83
+ modelValue?: MenuValue;
84
+ expandedKeys?: MenuKey[];
85
+ defaultExpandedKeys?: MenuKey[];
86
+ mode?: 'vertical' | 'horizontal';
87
+ collapsed?: boolean;
88
+ collapsedWidth?: number;
89
+ collapsedIconSize?: number;
90
+ inverted?: boolean;
91
+ themeOverrides?: Record<string, any>;
92
+ indent?: number;
93
+ rootIndent?: number;
94
+ dropdownProps?: DropdownProps;
95
+ }
96
+ interface MenuEmits<O extends MenuOption[] | undefined = MenuOption[] | undefined> {
97
+ select: [key: MenuSelectionKey<O>];
98
+ /** 鼠标或键盘聚焦叶子项时触发,可用于无副作用的路由预取。 */
99
+ intent: [key: MenuSelectionKey<O>];
100
+ 'update:modelValue': [key: MenuSelectionKey<O> | null];
101
+ /** @deprecated Use update:modelValue. */
102
+ 'update:value': [key: MenuSelectionKey<O> | null];
103
+ 'update:expandedKeys': [keys: MenuSelectionKey<O>[]];
104
+ }
105
+ interface MenuExpose {
106
+ showOption: (key: MenuKey) => void;
107
+ /** Vue 公开实例会解包顶层 Ref。 */
108
+ menuRef: MenuInst | null;
109
+ }
110
+ //#endregion
111
+ //#region src/components/C_Menu/index.vue.d.ts
112
+ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefined>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
113
+ props: vue.PublicProps & __VLS_PrettifyLocal<MenuProps<Options> & {
114
+ onSelect?: ((key: MenuSelectionKey<Options>) => any) | undefined;
115
+ "onUpdate:modelValue"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
116
+ onIntent?: ((key: MenuSelectionKey<Options>) => any) | undefined;
117
+ "onUpdate:value"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
118
+ "onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
119
+ }> & (typeof globalThis extends {
120
+ __VLS_PROPS_FALLBACK: infer P;
121
+ } ? P : {});
122
+ expose: (exposed: vue.ShallowUnwrapRef<{
123
+ showOption: (key: MenuKey) => void | undefined;
124
+ menuRef: Ref<MenuInst | null, MenuInst | null>;
125
+ }>) => void;
126
+ attrs: any;
127
+ slots: {};
128
+ emit: ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "intent", key: MenuSelectionKey<Options>) => void) & ((evt: "update:value", key: MenuSelectionKey<Options> | null) => void) & ((evt: "update:expandedKeys", keys: MenuSelectionKey<Options>[]) => void);
129
+ }>) => vue.VNode & {
130
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
32
131
  };
33
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
34
- select: (path: string) => any;
35
- }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
36
- onSelect?: ((path: string) => any) | undefined;
37
- }>, {
38
- showIcon: boolean;
39
- iconSize: number;
40
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
41
132
  declare const _default: typeof __VLS_export;
133
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
42
134
  //#endregion
43
- export { BreadcrumbMenuItem as n, _default as t };
135
+ export { MenuProps as a, createMenuOptions as c, MenuKey as i, flattenRoutes as l, MenuEmits as n, MenuValue as o, MenuExpose as r, MenuAdapterConfig as s, _default as t };
@@ -1,32 +1,43 @@
1
+ import { i as BreadcrumbItem } from "./public.js";
1
2
  import * as vue from "vue";
2
3
 
3
- //#region src/components/C_Cascade/types.d.ts
4
- interface CascadeItem {
5
- label: string;
6
- value: string | number;
7
- children?: CascadeItem[];
4
+ //#region src/components/C_Breadcrumb/types.d.ts
5
+ interface BreadcrumbRouteMeta {
6
+ [key: string]: unknown;
7
+ title?: unknown;
8
+ icon?: unknown;
9
+ hidden?: unknown;
10
+ breadcrumb?: unknown;
8
11
  }
9
- interface CascadeValue {
10
- primary?: Pick<CascadeItem, 'label' | 'value'> | null;
11
- secondary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
- tertiary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
+ /** 可直接接收应用提供的授权菜单,非字符串图标由组件安全忽略。 */
13
+ interface BreadcrumbMenuItem {
14
+ path?: string;
15
+ key?: string | number;
16
+ name?: string | symbol | null;
17
+ label?: string;
18
+ icon?: unknown;
19
+ meta?: BreadcrumbRouteMeta;
20
+ children?: readonly BreadcrumbMenuItem[];
21
+ disabled?: boolean;
22
+ type?: string;
13
23
  }
14
24
  //#endregion
15
- //#region src/components/C_Cascade/index.vue.d.ts
25
+ //#region src/components/C_Breadcrumb/index.vue.d.ts
16
26
  type __VLS_Props = {
17
- data: CascadeItem[];
18
- placeholders?: string[];
19
- modelValue?: CascadeValue;
27
+ /** 手动路径,标签沿用传入值。 */items?: readonly BreadcrumbItem[]; /** 授权后的菜单树;提供时(含空数组)作为目录的唯一数据来源。 */
28
+ menus?: readonly BreadcrumbMenuItem[];
29
+ showIcon?: boolean;
30
+ iconSize?: number; /** 自动路径和菜单标签的翻译函数。 */
31
+ labelFormatter?: (label: string) => string;
20
32
  };
21
33
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
22
- "update:modelValue": (value: CascadeValue) => any;
23
- change: (value: CascadeValue) => any;
34
+ select: (path: string) => any;
24
35
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
25
- "onUpdate:modelValue"?: ((value: CascadeValue) => any) | undefined;
26
- onChange?: ((value: CascadeValue) => any) | undefined;
36
+ onSelect?: ((path: string) => any) | undefined;
27
37
  }>, {
28
- placeholders: string[];
38
+ showIcon: boolean;
39
+ iconSize: number;
29
40
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
30
41
  declare const _default: typeof __VLS_export;
31
42
  //#endregion
32
- export { CascadeItem as n, CascadeValue as r, _default as t };
43
+ export { BreadcrumbMenuItem as n, _default as t };
@@ -1,32 +1,43 @@
1
+ import { t as BreadcrumbItem } from "./types2.cjs";
1
2
  import * as vue from "vue";
2
3
 
3
- //#region src/components/C_Cascade/types.d.ts
4
- interface CascadeItem {
5
- label: string;
6
- value: string | number;
7
- children?: CascadeItem[];
4
+ //#region src/components/C_Breadcrumb/types.d.ts
5
+ interface BreadcrumbRouteMeta {
6
+ [key: string]: unknown;
7
+ title?: unknown;
8
+ icon?: unknown;
9
+ hidden?: unknown;
10
+ breadcrumb?: unknown;
8
11
  }
9
- interface CascadeValue {
10
- primary?: Pick<CascadeItem, 'label' | 'value'> | null;
11
- secondary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
- tertiary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
+ /** 可直接接收应用提供的授权菜单,非字符串图标由组件安全忽略。 */
13
+ interface BreadcrumbMenuItem {
14
+ path?: string;
15
+ key?: string | number;
16
+ name?: string | symbol | null;
17
+ label?: string;
18
+ icon?: unknown;
19
+ meta?: BreadcrumbRouteMeta;
20
+ children?: readonly BreadcrumbMenuItem[];
21
+ disabled?: boolean;
22
+ type?: string;
13
23
  }
14
24
  //#endregion
15
- //#region src/components/C_Cascade/index.vue.d.ts
25
+ //#region src/components/C_Breadcrumb/index.vue.d.ts
16
26
  type __VLS_Props = {
17
- data: CascadeItem[];
18
- placeholders?: string[];
19
- modelValue?: CascadeValue;
27
+ /** 手动路径,标签沿用传入值。 */items?: readonly BreadcrumbItem[]; /** 授权后的菜单树;提供时(含空数组)作为目录的唯一数据来源。 */
28
+ menus?: readonly BreadcrumbMenuItem[];
29
+ showIcon?: boolean;
30
+ iconSize?: number; /** 自动路径和菜单标签的翻译函数。 */
31
+ labelFormatter?: (label: string) => string;
20
32
  };
21
33
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
22
- "update:modelValue": (value: CascadeValue) => any;
23
- change: (value: CascadeValue) => any;
34
+ select: (path: string) => any;
24
35
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
25
- "onUpdate:modelValue"?: ((value: CascadeValue) => any) | undefined;
26
- onChange?: ((value: CascadeValue) => any) | undefined;
36
+ onSelect?: ((path: string) => any) | undefined;
27
37
  }>, {
28
- placeholders: string[];
38
+ showIcon: boolean;
39
+ iconSize: number;
29
40
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
30
41
  declare const _default: typeof __VLS_export;
31
42
  //#endregion
32
- export { CascadeItem as n, CascadeValue as r, _default as t };
43
+ export { BreadcrumbMenuItem as n, _default as t };