@veltra/desktop 1.1.15 → 1.1.18

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 (284) hide show
  1. package/dist/components/action/action-group.vue.d.ts +2 -2
  2. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  3. package/dist/components/action/action.js.map +1 -1
  4. package/dist/components/action/action.vue.d.ts +2 -2
  5. package/dist/components/action/style2.css +0 -4
  6. package/dist/components/auto-complete/auto-complete.js.map +1 -1
  7. package/dist/components/auto-complete/style.js +1 -1
  8. package/dist/components/auto-complete/use-keyboard.js.map +1 -1
  9. package/dist/components/auto-complete/use-suggestions.js.map +1 -1
  10. package/dist/components/badge/badge.js +1 -1
  11. package/dist/components/badge/badge.js.map +1 -1
  12. package/dist/components/batch-edit/batch-edit-form.js.map +1 -1
  13. package/dist/components/batch-edit/batch-edit-list.js.map +1 -1
  14. package/dist/components/batch-edit/batch-edit.js.map +1 -1
  15. package/dist/components/batch-edit/helper.js.map +1 -1
  16. package/dist/components/batch-edit/style.js +1 -1
  17. package/dist/components/batch-edit/use-edit.js.map +1 -1
  18. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  19. package/dist/components/button/button-group.js.map +1 -1
  20. package/dist/components/button/button.js.map +1 -1
  21. package/dist/components/calendar/calendar.js.map +1 -1
  22. package/dist/components/calendar/utils.js.map +1 -1
  23. package/dist/components/card/card-action.js.map +1 -1
  24. package/dist/components/card/card-content.js.map +1 -1
  25. package/dist/components/card/card-cover.js.map +1 -1
  26. package/dist/components/card/card-header.js.map +1 -1
  27. package/dist/components/card/card.js.map +1 -1
  28. package/dist/components/cascade/cascade-panel-item.js.map +1 -1
  29. package/dist/components/cascade/cascade.js.map +1 -1
  30. package/dist/components/cascade/cascade.vue.d.ts +6 -6
  31. package/dist/components/cascade/node.js.map +1 -1
  32. package/dist/components/cascade/use-check.js.map +1 -1
  33. package/dist/components/cascade/use-data-map.js.map +1 -1
  34. package/dist/components/cascade/use-select.js +1 -1
  35. package/dist/components/cascade/use-select.js.map +1 -1
  36. package/dist/components/check-tag/check-tag.js.map +1 -1
  37. package/dist/components/checkbox/checkbox-button.js.map +1 -1
  38. package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
  39. package/dist/components/checkbox/checkbox.js.map +1 -1
  40. package/dist/components/checkbox/style.js +1 -1
  41. package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
  42. package/dist/components/code-editor/code-editor.js.map +1 -1
  43. package/dist/components/collapse/collapse-item.js.map +1 -1
  44. package/dist/components/collapse/collapse.js.map +1 -1
  45. package/dist/components/condition-editor/components/condition-group.js +138 -103
  46. package/dist/components/condition-editor/components/condition-group.js.map +1 -1
  47. package/dist/components/condition-editor/components/condition-row.js +146 -95
  48. package/dist/components/condition-editor/components/condition-row.js.map +1 -1
  49. package/dist/components/condition-editor/condition-editor.js +18 -40
  50. package/dist/components/condition-editor/condition-editor.js.map +1 -1
  51. package/dist/components/condition-editor/condition-editor.vue.d.ts +0 -2
  52. package/dist/components/condition-editor/core/evaluator.d.ts +22 -0
  53. package/dist/components/condition-editor/core/evaluator.js +111 -50
  54. package/dist/components/condition-editor/core/evaluator.js.map +1 -1
  55. package/dist/components/condition-editor/core/operators.js.map +1 -1
  56. package/dist/components/condition-editor/index.d.ts +2 -1
  57. package/dist/components/condition-editor/style2.css +159 -82
  58. package/dist/components/context-menu/api.js.map +1 -1
  59. package/dist/components/context-menu/context-menu-item.js.map +1 -1
  60. package/dist/components/context-menu/context-menu.js.map +1 -1
  61. package/dist/components/context-menu/style.js +1 -1
  62. package/dist/components/date-panel/date-panel.js.map +1 -1
  63. package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
  64. package/dist/components/date-panel/headers/day.js.map +1 -1
  65. package/dist/components/date-panel/headers/month.js.map +1 -1
  66. package/dist/components/date-panel/headers/year.js.map +1 -1
  67. package/dist/components/date-panel/panels/day.js.map +1 -1
  68. package/dist/components/date-panel/panels/month.js.map +1 -1
  69. package/dist/components/date-panel/panels/year.js.map +1 -1
  70. package/dist/components/date-panel/use-date-select.js.map +1 -1
  71. package/dist/components/date-panel/use-panel-date.js.map +1 -1
  72. package/dist/components/date-panel/use-panel.js.map +1 -1
  73. package/dist/components/date-picker/date-picker.js.map +1 -1
  74. package/dist/components/date-picker/date-picker.vue.d.ts +1 -1
  75. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  76. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +1 -1
  77. package/dist/components/dialog/dialog.js.map +1 -1
  78. package/dist/components/dialog/style.js +2 -2
  79. package/dist/components/dialog/use-maximum.js.map +1 -1
  80. package/dist/components/drawer/drawer.js.map +1 -1
  81. package/dist/components/drawer/style.js +1 -1
  82. package/dist/components/dropdown/dropdown.js +1 -0
  83. package/dist/components/dropdown/dropdown.js.map +1 -1
  84. package/dist/components/dropdown/style.js +1 -1
  85. package/dist/components/empty/empty.js.map +1 -1
  86. package/dist/components/expression-editor/components/path-preview.js.map +1 -1
  87. package/dist/components/expression-editor/components/variable-picker.js.map +1 -1
  88. package/dist/components/expression-editor/core/chip.js.map +1 -1
  89. package/dist/components/expression-editor/core/editor.js.map +1 -1
  90. package/dist/components/expression-editor/core/mention.js.map +1 -1
  91. package/dist/components/expression-editor/core/model.js.map +1 -1
  92. package/dist/components/expression-editor/di.js.map +1 -1
  93. package/dist/components/expression-editor/expression-editor.js.map +1 -1
  94. package/dist/components/file-picker/file-picker.js.map +1 -1
  95. package/dist/components/file-picker/helper.js.map +1 -1
  96. package/dist/components/file-viewer/file-viewer.js.map +1 -1
  97. package/dist/components/file-viewer/helper.js.map +1 -1
  98. package/dist/components/file-viewer/previewers/docx-previewer.js.map +1 -1
  99. package/dist/components/file-viewer/previewers/image-previewer.js.map +1 -1
  100. package/dist/components/file-viewer/previewers/pdf-previewer.js.map +1 -1
  101. package/dist/components/file-viewer/previewers/pdf-viewport-scroll.js.map +1 -1
  102. package/dist/components/file-viewer/previewers/pdf-zoom-bridge.js.map +1 -1
  103. package/dist/components/file-viewer/previewers/sheet-previewer.js.map +1 -1
  104. package/dist/components/file-viewer/previewers/text-previewer.js.map +1 -1
  105. package/dist/components/file-viewer/previewers/video-previewer.js.map +1 -1
  106. package/dist/components/float-button/float-button.js.map +1 -1
  107. package/dist/components/form/dynamic-form-model.js.map +1 -1
  108. package/dist/components/form/form-model.js.map +1 -1
  109. package/dist/components/form/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/components/form/helper.js.map +1 -1
  111. package/dist/components/form/use-node-interceptor.js.map +1 -1
  112. package/dist/components/form-item/form-item.js.map +1 -1
  113. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js +2 -1
  114. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  115. package/dist/components/gantt-chart/gantt-chart.js.map +1 -1
  116. package/dist/components/grid/breakpoint.js.map +1 -1
  117. package/dist/components/grid/grid-item.js.map +1 -1
  118. package/dist/components/grid/grid.js.map +1 -1
  119. package/dist/components/grid/use-responsive.js.map +1 -1
  120. package/dist/components/grid-input/grid-input.js.map +1 -1
  121. package/dist/components/group-input/group-input.js.map +1 -1
  122. package/dist/components/group-input/use-group-items.js.map +1 -1
  123. package/dist/components/icon/icon.js.map +1 -1
  124. package/dist/components/index.d.ts +1 -0
  125. package/dist/components/index.js +4 -0
  126. package/dist/components/input/input.vue.d.ts +2 -2
  127. package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  128. package/dist/components/input/style.js +1 -1
  129. package/dist/components/kbd/kbd.js.map +1 -1
  130. package/dist/components/layout/layout-resizer.js.map +1 -1
  131. package/dist/components/layout/layout.js.map +1 -1
  132. package/dist/components/list/list-item.js.map +1 -1
  133. package/dist/components/list/list.js.map +1 -1
  134. package/dist/components/loading/directive.js.map +1 -1
  135. package/dist/components/loading/loading.js.map +1 -1
  136. package/dist/components/loading/style.js +1 -1
  137. package/dist/components/menu/helper.js.map +1 -1
  138. package/dist/components/menu/menu-item-collapsed.js.map +1 -1
  139. package/dist/components/menu/menu-item.js.map +1 -1
  140. package/dist/components/menu/menu-sub-collapsed.js.map +1 -1
  141. package/dist/components/menu/menu-sub.js.map +1 -1
  142. package/dist/components/menu/menu.js.map +1 -1
  143. package/dist/components/menu/use-menu-item.js.map +1 -1
  144. package/dist/components/menu/walk-menu-path.js.map +1 -1
  145. package/dist/components/message/helper.js.map +1 -1
  146. package/dist/components/message/message-box.js.map +1 -1
  147. package/dist/components/message/message.js.map +1 -1
  148. package/dist/components/message/message2.js.map +1 -1
  149. package/dist/components/message-confirm/message-confirm.js.map +1 -1
  150. package/dist/components/message-confirm/message-confirm2.js.map +1 -1
  151. package/dist/components/multi-select/multi-select-option.js.map +1 -1
  152. package/dist/components/multi-select/multi-select.js.map +1 -1
  153. package/dist/components/multi-select/multi-select.vue.d.ts +2 -2
  154. package/dist/components/multi-select/style.js +1 -1
  155. package/dist/components/multi-tree-select/multi-tree-select.js.map +1 -1
  156. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +5 -5
  157. package/dist/components/multi-tree-select/style.js +1 -1
  158. package/dist/components/node-render/node-render.js.map +1 -1
  159. package/dist/components/notification/index.js.map +1 -1
  160. package/dist/components/notification/notification.js.map +1 -1
  161. package/dist/components/notification/notification.vue.d.ts +1 -1
  162. package/dist/components/number/number.js.map +1 -1
  163. package/dist/components/number-input/number-input.js.map +1 -1
  164. package/dist/components/number-input/number-input.vue.d.ts +2 -2
  165. package/dist/components/number-range-input/number-range-input.js.map +1 -1
  166. package/dist/components/paginator/paginator.js.map +1 -1
  167. package/dist/components/palette/color-transform.js.map +1 -1
  168. package/dist/components/palette/palette-alpha.js.map +1 -1
  169. package/dist/components/palette/palette-color-switch.js.map +1 -1
  170. package/dist/components/palette/palette-hue.js.map +1 -1
  171. package/dist/components/palette/palette-sv.js.map +1 -1
  172. package/dist/components/palette/palette.js.map +1 -1
  173. package/dist/components/palette/use-hsv.js.map +1 -1
  174. package/dist/components/password-input/password-input.js.map +1 -1
  175. package/dist/components/pop-confirm/pop-confirm.js.map +1 -1
  176. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
  177. package/dist/components/progress/progress.js.map +1 -1
  178. package/dist/components/progress-nodes/progress-nodes.js.map +1 -1
  179. package/dist/components/radio/radio.js.map +1 -1
  180. package/dist/components/radio/style.js +1 -1
  181. package/dist/components/radio-group/radio-group.js.map +1 -1
  182. package/dist/components/rich-text-editor/rich-text-editor.js.map +1 -1
  183. package/dist/components/rich-text-editor/toolbar.js.map +1 -1
  184. package/dist/components/scroll/scroll-bar.js +2 -0
  185. package/dist/components/scroll/scroll-bar.js.map +1 -1
  186. package/dist/components/scroll/scroll.js.map +1 -1
  187. package/dist/components/select/select.js.map +1 -1
  188. package/dist/components/select/select.vue.d.ts +2 -2
  189. package/dist/components/select/use-keyboard.js.map +1 -1
  190. package/dist/components/select/use-options.js.map +1 -1
  191. package/dist/components/slider/slider-thumb.js.map +1 -1
  192. package/dist/components/slider/slider.js +1 -1
  193. package/dist/components/slider/slider.js.map +1 -1
  194. package/dist/components/slider/use-slider.js.map +1 -1
  195. package/dist/components/steps/steps.js.map +1 -1
  196. package/dist/components/steps/steps.vue.d.ts +3 -3
  197. package/dist/components/switch/switch.js.map +1 -1
  198. package/dist/components/table/di.js.map +1 -1
  199. package/dist/components/table/node/col.js.map +1 -1
  200. package/dist/components/table/node/row.js.map +1 -1
  201. package/dist/components/table/table-body.js.map +1 -1
  202. package/dist/components/table/table-cell.js.map +1 -1
  203. package/dist/components/table/table-foot.js.map +1 -1
  204. package/dist/components/table/table-head.js.map +1 -1
  205. package/dist/components/table/table-row.js.map +1 -1
  206. package/dist/components/table/table.js.map +1 -1
  207. package/dist/components/table/use-check.js.map +1 -1
  208. package/dist/components/table/use-col-resize.js.map +1 -1
  209. package/dist/components/table/use-columns.js.map +1 -1
  210. package/dist/components/table/use-fixed-columns.js.map +1 -1
  211. package/dist/components/table/use-rows.js.map +1 -1
  212. package/dist/components/table/use-table.js.map +1 -1
  213. package/dist/components/table-editor/table-editor.js.map +1 -1
  214. package/dist/components/tabs/style.js +1 -1
  215. package/dist/components/tabs/tabs-horizontal.js.map +1 -1
  216. package/dist/components/tabs/tabs-horizontal.vue.d.ts +1 -1
  217. package/dist/components/tabs/tabs-vertical.js.map +1 -1
  218. package/dist/components/tabs/tabs.js.map +1 -1
  219. package/dist/components/tabs/tabs.vue.d.ts +1 -1
  220. package/dist/components/tabs/use-tabs-bar.js.map +1 -1
  221. package/dist/components/tag/tag.js.map +1 -1
  222. package/dist/components/text/text.js.map +1 -1
  223. package/dist/components/textarea/style.js +1 -1
  224. package/dist/components/textarea/textarea.js.map +1 -1
  225. package/dist/components/textarea/textarea.vue.d.ts +2 -2
  226. package/dist/components/textarea/utils.js.map +1 -1
  227. package/dist/components/theme/schema.js.map +1 -1
  228. package/dist/components/theme/theme.js.map +1 -1
  229. package/dist/components/tip/tip.js.map +1 -1
  230. package/dist/components/tip/tip.vue.d.ts +1 -1
  231. package/dist/components/tip/use-nest.js.map +1 -1
  232. package/dist/components/tree/tree-node.js.map +1 -1
  233. package/dist/components/tree/tree-node2.js.map +1 -1
  234. package/dist/components/tree/tree.js.map +1 -1
  235. package/dist/components/tree/tree.vue.d.ts +1 -1
  236. package/dist/components/tree/use-check.js.map +1 -1
  237. package/dist/components/tree/use-filter.js.map +1 -1
  238. package/dist/components/tree/use-select.js.map +1 -1
  239. package/dist/components/tree/use-tree-nodes.js.map +1 -1
  240. package/dist/components/tree-select/tree-select.js.map +1 -1
  241. package/dist/components/tree-select/tree-select.vue.d.ts +5 -5
  242. package/dist/components/watermark/watermark.js.map +1 -1
  243. package/dist/index.d.ts +4 -3
  244. package/dist/index.js +2 -1
  245. package/dist/install.js.map +1 -1
  246. package/dist/types/batch-edit.d.ts +2 -2
  247. package/dist/types/condition-editor.d.ts +21 -9
  248. package/dist/types/index.d.ts +2 -2
  249. package/package.json +13 -16
  250. package/src/components/action/style.scss +0 -6
  251. package/src/components/auto-complete/style.scss +0 -1
  252. package/src/components/auto-complete/style.ts +1 -1
  253. package/src/components/badge/badge.vue +1 -1
  254. package/src/components/batch-edit/style.ts +1 -1
  255. package/src/components/button/style.scss +1 -1
  256. package/src/components/cascade/use-select.ts +8 -6
  257. package/src/components/checkbox/style.ts +1 -1
  258. package/src/components/collapse/__test__/collapse.test.ts +3 -3
  259. package/src/components/condition-editor/components/condition-group.vue +118 -87
  260. package/src/components/condition-editor/components/condition-row.vue +137 -89
  261. package/src/components/condition-editor/condition-editor.vue +19 -48
  262. package/src/components/condition-editor/core/evaluator.ts +143 -57
  263. package/src/components/condition-editor/index.ts +6 -0
  264. package/src/components/condition-editor/style.scss +189 -102
  265. package/src/components/context-menu/style.ts +1 -1
  266. package/src/components/dialog/style.ts +2 -2
  267. package/src/components/drawer/style.ts +1 -1
  268. package/src/components/dropdown/style.ts +1 -1
  269. package/src/components/expression-editor/style.scss +1 -1
  270. package/src/components/form-item/form-item.vue +4 -9
  271. package/src/components/input/style.ts +1 -1
  272. package/src/components/loading/style.ts +1 -1
  273. package/src/components/menu/style.scss +1 -1
  274. package/src/components/message/style.scss +1 -1
  275. package/src/components/multi-select/style.ts +1 -1
  276. package/src/components/multi-tree-select/style.ts +1 -1
  277. package/src/components/number-input/__test__/number-input.test.ts +1 -1
  278. package/src/components/radio/style.ts +1 -1
  279. package/src/components/slider/slider.vue +1 -1
  280. package/src/components/table/di.ts +1 -1
  281. package/src/components/tabs/style.ts +1 -1
  282. package/src/components/textarea/style.ts +1 -1
  283. package/src/types/batch-edit.ts +2 -2
  284. package/src/types/condition-editor.ts +22 -8
@@ -21,11 +21,11 @@ declare const __VLS_base: _$vue.DefineComponent<TreeProps, _TreeExposed, {}, {},
21
21
  "onNode-contextmenu"?: ((event: MouseEvent, node: TreeNode<Record<string, any>>) => any) | undefined;
22
22
  "onSelected-synced"?: ((selected?: Record<string, any> | undefined) => any) | undefined;
23
23
  }>, {
24
- data: Record<string, any>[];
25
24
  expandOnClickNode: boolean;
26
25
  labelKey: string;
27
26
  valueKey: string;
28
27
  childrenKey: string;
28
+ data: Record<string, any>[];
29
29
  checkStrictly: boolean;
30
30
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
31
31
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-check.js","names":[],"sources":["../../../src/components/tree/use-check.ts"],"sourcesContent":["import { dfs, o } from '@cat-kit/core'\nimport { nextTick, watch, type ComputedRef } from 'vue'\n\nimport type { TreeEmit, TreeProps } from '../../types'\nimport type { TreeNode } from './tree-node'\n\ninterface Options {\n emit: TreeEmit\n props: TreeProps\n nodeDict: ComputedRef<Map<any, TreeNode>>\n getFlattedNodes: () => void\n}\n\ninterface UseCheckReturned {\n checkedData: Set<Record<string, any>>\n toggleCheck: (node: TreeNode, check: boolean, ctrlKey?: boolean) => void\n}\n\n/**\n * 展开目标节点的所有祖先。返回是否发生了实际展开。\n */\nfunction expandAncestors(node: TreeNode): boolean {\n let changed = false\n node.bubbleSet((n) => {\n if (n.parent) {\n if (n.parent.expanded) return false\n n.parent.expanded = true\n changed = true\n }\n })\n return changed\n}\n\nexport function useCheck(options: Options): UseCheckReturned {\n const { emit, props, nodeDict, getFlattedNodes } = options\n\n const checkedData = new Set<Record<string, any>>()\n\n /**\n * 上一次回显使用的 value 集合(仅限 props.checked)。\n * 用于在相同 `nodeDict` 下走差集回显,避免每次全量清空再重建。\n */\n let lastCheckedSet = new Set<unknown>()\n /** 最近一次参与差集比较的 nodeDict 引用;引用变化时视为整棵树重建。 */\n let lastDict: Map<any, TreeNode> | null = null\n\n function checkNode(node: TreeNode): void {\n if (node.checked) return\n node.checked = true\n if (node.parent) {\n node.parent.childrenCheckCount++\n }\n checkedData.add(node.data)\n }\n\n function uncheckNode(node: TreeNode): void {\n if (!node.checked) return\n node.checked = false\n if (node.parent) {\n node.parent.childrenCheckCount--\n }\n checkedData.delete(node.data)\n }\n\n /**\n * 模型值是否由事件触发\n */\n let checkedByEvent = false\n\n // 回显\n watch(\n [() => props.checked, nodeDict],\n ([c, dict]) => {\n // 事件已经触发模型变更了,所以不再进行下面的计算\n if (checkedByEvent || !props.checkable) return\n if (!dict.size) return\n\n const nextSet = new Set<unknown>(c ?? [])\n\n // 森林重建(dict 引用变化)→ 走全量清空重建路径,\n // 因为所有 TreeNode 实例都是新的,上一轮缓存的 lastCheckedSet 失效。\n const dictChanged = dict !== lastDict\n if (dictChanged) {\n checkedData.clear()\n lastCheckedSet = new Set()\n }\n\n let mutated = false\n\n // 取消:上一轮有但本轮没有的 value\n for (const v of lastCheckedSet) {\n if (!nextSet.has(v)) {\n const node = dict.get(v)\n if (node) {\n uncheckNode(node)\n mutated = true\n }\n }\n }\n\n // 新增:本轮有但上一轮没有的 value\n let ancestorsExpanded = false\n for (const v of nextSet) {\n if (!lastCheckedSet.has(v) || dictChanged) {\n const node = dict.get(v)\n if (node) {\n checkNode(node)\n mutated = true\n if (expandAncestors(node)) {\n ancestorsExpanded = true\n }\n }\n }\n }\n\n lastCheckedSet = nextSet\n lastDict = dict\n\n // 只在真实发生变化时才触发扁平化,避免空转。\n if (mutated || ancestorsExpanded) {\n getFlattedNodes()\n }\n },\n { immediate: true }\n )\n\n function handleCheck(node: TreeNode, ctrlKey?: boolean) {\n const { checkStrictly } = props\n\n if (ctrlKey) {\n checkNode(node)\n } else {\n dfs(\n node as unknown as Record<string, unknown>,\n (n) => {\n const tn = n as unknown as TreeNode\n !tn.disabled && checkNode(tn)\n },\n props.childrenKey ?? 'children'\n )\n }\n\n // 非严格选择时还需要更新祖先节点,\n // 一旦子节点全部选中,父节点也要设置为选中状态\n if (!checkStrictly) {\n node.bubbleSet((node) => {\n const { parent } = node\n\n if (parent) {\n const parentChecked = parent.childrenCheckCount === parent.children!.length\n\n parentChecked ? checkNode(parent) : uncheckNode(parent)\n }\n })\n }\n }\n\n function handleUncheck(node: TreeNode, ctrlKey?: boolean) {\n const { checkStrictly } = props\n if (ctrlKey) {\n uncheckNode(node)\n } else {\n dfs(\n node as unknown as Record<string, unknown>,\n (n) => {\n const tn = n as unknown as TreeNode\n !tn.disabled && uncheckNode(tn)\n },\n props.childrenKey ?? 'children'\n )\n }\n\n // 非严格模式下,取消选中时,需要更新父节点\n if (!checkStrictly) {\n node.bubbleSet((node) => {\n const { parent } = node\n if (parent) {\n uncheckNode(parent)\n }\n })\n }\n }\n\n function toggleCheck(node: TreeNode, check: boolean, ctrlKey?: boolean) {\n checkedByEvent = true\n\n check ? handleCheck(node, ctrlKey) : handleUncheck(node, ctrlKey)\n\n const checkedArr = Array.from(checkedData)\n\n const valueKey = props.valueKey!\n const nextValues = checkedArr.map((item) => o(item).get(valueKey) as unknown)\n\n // 与外部 checked 保持差集缓存同步,避免下一次 watch 回调把刚勾选的值又误判为“新增”。\n lastCheckedSet = new Set(nextValues)\n\n emit('update:checked', nextValues as any[], checkedArr)\n\n nextTick(() => {\n checkedByEvent = false\n })\n }\n\n return { checkedData, toggleCheck }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-check.js","names":[],"sources":["../../../src/components/tree/use-check.ts"],"sourcesContent":["import { dfs, o } from '@cat-kit/core'\nimport { nextTick, watch, type ComputedRef } from 'vue'\n\nimport type { TreeEmit, TreeProps } from '../../types'\nimport type { TreeNode } from './tree-node'\n\ninterface Options {\n emit: TreeEmit\n props: TreeProps\n nodeDict: ComputedRef<Map<any, TreeNode>>\n getFlattedNodes: () => void\n}\n\ninterface UseCheckReturned {\n checkedData: Set<Record<string, any>>\n toggleCheck: (node: TreeNode, check: boolean, ctrlKey?: boolean) => void\n}\n\n/**\n * 展开目标节点的所有祖先。返回是否发生了实际展开。\n */\nfunction expandAncestors(node: TreeNode): boolean {\n let changed = false\n node.bubbleSet((n) => {\n if (n.parent) {\n if (n.parent.expanded) return false\n n.parent.expanded = true\n changed = true\n }\n })\n return changed\n}\n\nexport function useCheck(options: Options): UseCheckReturned {\n const { emit, props, nodeDict, getFlattedNodes } = options\n\n const checkedData = new Set<Record<string, any>>()\n\n /**\n * 上一次回显使用的 value 集合(仅限 props.checked)。\n * 用于在相同 `nodeDict` 下走差集回显,避免每次全量清空再重建。\n */\n let lastCheckedSet = new Set<unknown>()\n /** 最近一次参与差集比较的 nodeDict 引用;引用变化时视为整棵树重建。 */\n let lastDict: Map<any, TreeNode> | null = null\n\n function checkNode(node: TreeNode): void {\n if (node.checked) return\n node.checked = true\n if (node.parent) {\n node.parent.childrenCheckCount++\n }\n checkedData.add(node.data)\n }\n\n function uncheckNode(node: TreeNode): void {\n if (!node.checked) return\n node.checked = false\n if (node.parent) {\n node.parent.childrenCheckCount--\n }\n checkedData.delete(node.data)\n }\n\n /**\n * 模型值是否由事件触发\n */\n let checkedByEvent = false\n\n // 回显\n watch(\n [() => props.checked, nodeDict],\n ([c, dict]) => {\n // 事件已经触发模型变更了,所以不再进行下面的计算\n if (checkedByEvent || !props.checkable) return\n if (!dict.size) return\n\n const nextSet = new Set<unknown>(c ?? [])\n\n // 森林重建(dict 引用变化)→ 走全量清空重建路径,\n // 因为所有 TreeNode 实例都是新的,上一轮缓存的 lastCheckedSet 失效。\n const dictChanged = dict !== lastDict\n if (dictChanged) {\n checkedData.clear()\n lastCheckedSet = new Set()\n }\n\n let mutated = false\n\n // 取消:上一轮有但本轮没有的 value\n for (const v of lastCheckedSet) {\n if (!nextSet.has(v)) {\n const node = dict.get(v)\n if (node) {\n uncheckNode(node)\n mutated = true\n }\n }\n }\n\n // 新增:本轮有但上一轮没有的 value\n let ancestorsExpanded = false\n for (const v of nextSet) {\n if (!lastCheckedSet.has(v) || dictChanged) {\n const node = dict.get(v)\n if (node) {\n checkNode(node)\n mutated = true\n if (expandAncestors(node)) {\n ancestorsExpanded = true\n }\n }\n }\n }\n\n lastCheckedSet = nextSet\n lastDict = dict\n\n // 只在真实发生变化时才触发扁平化,避免空转。\n if (mutated || ancestorsExpanded) {\n getFlattedNodes()\n }\n },\n { immediate: true }\n )\n\n function handleCheck(node: TreeNode, ctrlKey?: boolean) {\n const { checkStrictly } = props\n\n if (ctrlKey) {\n checkNode(node)\n } else {\n dfs(\n node as unknown as Record<string, unknown>,\n (n) => {\n const tn = n as unknown as TreeNode\n !tn.disabled && checkNode(tn)\n },\n props.childrenKey ?? 'children'\n )\n }\n\n // 非严格选择时还需要更新祖先节点,\n // 一旦子节点全部选中,父节点也要设置为选中状态\n if (!checkStrictly) {\n node.bubbleSet((node) => {\n const { parent } = node\n\n if (parent) {\n const parentChecked = parent.childrenCheckCount === parent.children!.length\n\n parentChecked ? checkNode(parent) : uncheckNode(parent)\n }\n })\n }\n }\n\n function handleUncheck(node: TreeNode, ctrlKey?: boolean) {\n const { checkStrictly } = props\n if (ctrlKey) {\n uncheckNode(node)\n } else {\n dfs(\n node as unknown as Record<string, unknown>,\n (n) => {\n const tn = n as unknown as TreeNode\n !tn.disabled && uncheckNode(tn)\n },\n props.childrenKey ?? 'children'\n )\n }\n\n // 非严格模式下,取消选中时,需要更新父节点\n if (!checkStrictly) {\n node.bubbleSet((node) => {\n const { parent } = node\n if (parent) {\n uncheckNode(parent)\n }\n })\n }\n }\n\n function toggleCheck(node: TreeNode, check: boolean, ctrlKey?: boolean) {\n checkedByEvent = true\n\n check ? handleCheck(node, ctrlKey) : handleUncheck(node, ctrlKey)\n\n const checkedArr = Array.from(checkedData)\n\n const valueKey = props.valueKey!\n const nextValues = checkedArr.map((item) => o(item).get(valueKey) as unknown)\n\n // 与外部 checked 保持差集缓存同步,避免下一次 watch 回调把刚勾选的值又误判为“新增”。\n lastCheckedSet = new Set(nextValues)\n\n emit('update:checked', nextValues as any[], checkedArr)\n\n nextTick(() => {\n checkedByEvent = false\n })\n }\n\n return { checkedData, toggleCheck }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-filter.js","names":[],"sources":["../../../src/components/tree/use-filter.ts"],"sourcesContent":["import type { Forest } from '@cat-kit/core'\nimport type { ShallowRef } from 'vue'\n\nimport type { TreeNode } from './tree-node'\n\ninterface Options {\n forest: ShallowRef<Forest<Record<string, unknown>, any>>\n getFlattedNodes: () => void\n}\n\ninterface UseFilterReturned {\n filter: (filterMethod: string | ((node: TreeNode) => boolean)) => void\n}\n\nexport function useFilter(options: Options): UseFilterReturned {\n const { forest, getFlattedNodes } = options\n\n /**\n * 追踪缓存\n * @description\n * 在每一次过滤时,对每个节点的所有祖先节点进行展开,\n * 但这样的代价是巨大的,时间成本为O(nlog(n)). 因此使用一个追踪缓存来减少追踪的次数,\n * 该缓存堆入节点的父节点,如果该父节点已经被堆入则不再进行堆入\n */\n const traceCache = new Set<TreeNode>()\n\n function defaultFilter(node: TreeNode, qs: string) {\n if (!qs) return true\n return node.label.includes(qs)\n }\n\n /**\n * 显示回溯\n * @param node 节点\n */\n function trace(node: TreeNode) {\n node.visible = true\n let parent = node.parent\n\n while (parent && !traceCache.has(parent)) {\n traceCache.add(parent)\n parent.expanded = true\n parent.visible = true\n parent = parent.parent\n }\n\n // 非叶子节点将自身堆入\n if (!node.isLeaf) {\n traceCache.add(node)\n }\n }\n\n function filter(filterMethod: string | ((node: TreeNode) => boolean)) {\n traceCache.clear()\n\n const filterFn =\n typeof filterMethod === 'string'\n ? (node: TreeNode) => defaultFilter(node, filterMethod)\n : filterMethod\n\n forest.value.dfs((node) => {\n if (filterFn(node)) {\n trace(node)\n } else {\n node.visible = false\n }\n })\n\n getFlattedNodes()\n }\n\n return { filter }\n}\n"],"mappings":";AAcA,SAAgB,UAAU,SAAqC;CAC7D,MAAM,EAAE,QAAQ,oBAAoB;;;;;;;;CASpC,MAAM,6BAAa,IAAI,KAAe;CAEtC,SAAS,cAAc,MAAgB,IAAY;AACjD,MAAI,CAAC,GAAI,QAAO;AAChB,SAAO,KAAK,MAAM,SAAS,GAAG;;;;;;CAOhC,SAAS,MAAM,MAAgB;AAC7B,OAAK,UAAU;EACf,IAAI,SAAS,KAAK;AAElB,SAAO,UAAU,CAAC,WAAW,IAAI,OAAO,EAAE;AACxC,cAAW,IAAI,OAAO;AACtB,UAAO,WAAW;AAClB,UAAO,UAAU;AACjB,YAAS,OAAO;;AAIlB,MAAI,CAAC,KAAK,OACR,YAAW,IAAI,KAAK;;CAIxB,SAAS,OAAO,cAAsD;AACpE,aAAW,OAAO;EAElB,MAAM,WACJ,OAAO,iBAAiB,YACnB,SAAmB,cAAc,MAAM,aAAa,GACrD;AAEN,SAAO,MAAM,KAAK,SAAS;AACzB,OAAI,SAAS,KAAK,CAChB,OAAM,KAAK;OAEX,MAAK,UAAU;IAEjB;AAEF,mBAAiB;;AAGnB,QAAO,EAAE,QAAQ"}
1
+ {"version":3,"file":"use-filter.js","names":[],"sources":["../../../src/components/tree/use-filter.ts"],"sourcesContent":["import type { Forest } from '@cat-kit/core'\nimport type { ShallowRef } from 'vue'\n\nimport type { TreeNode } from './tree-node'\n\ninterface Options {\n forest: ShallowRef<Forest<Record<string, unknown>, any>>\n getFlattedNodes: () => void\n}\n\ninterface UseFilterReturned {\n filter: (filterMethod: string | ((node: TreeNode) => boolean)) => void\n}\n\nexport function useFilter(options: Options): UseFilterReturned {\n const { forest, getFlattedNodes } = options\n\n /**\n * 追踪缓存\n * @description\n * 在每一次过滤时,对每个节点的所有祖先节点进行展开,\n * 但这样的代价是巨大的,时间成本为O(nlog(n)). 因此使用一个追踪缓存来减少追踪的次数,\n * 该缓存堆入节点的父节点,如果该父节点已经被堆入则不再进行堆入\n */\n const traceCache = new Set<TreeNode>()\n\n function defaultFilter(node: TreeNode, qs: string) {\n if (!qs) return true\n return node.label.includes(qs)\n }\n\n /**\n * 显示回溯\n * @param node 节点\n */\n function trace(node: TreeNode) {\n node.visible = true\n let parent = node.parent\n\n while (parent && !traceCache.has(parent)) {\n traceCache.add(parent)\n parent.expanded = true\n parent.visible = true\n parent = parent.parent\n }\n\n // 非叶子节点将自身堆入\n if (!node.isLeaf) {\n traceCache.add(node)\n }\n }\n\n function filter(filterMethod: string | ((node: TreeNode) => boolean)) {\n traceCache.clear()\n\n const filterFn =\n typeof filterMethod === 'string'\n ? (node: TreeNode) => defaultFilter(node, filterMethod)\n : filterMethod\n\n forest.value.dfs((node) => {\n if (filterFn(node)) {\n trace(node)\n } else {\n node.visible = false\n }\n })\n\n getFlattedNodes()\n }\n\n return { filter }\n}\n"],"mappings":";AAcA,SAAgB,UAAU,SAAqC;CAC7D,MAAM,EAAE,QAAQ,oBAAoB;;;;;;;;CASpC,MAAM,6BAAa,IAAI,KAAe;CAEtC,SAAS,cAAc,MAAgB,IAAY;EACjD,IAAI,CAAC,IAAI,OAAO;EAChB,OAAO,KAAK,MAAM,SAAS,GAAG;;;;;;CAOhC,SAAS,MAAM,MAAgB;EAC7B,KAAK,UAAU;EACf,IAAI,SAAS,KAAK;EAElB,OAAO,UAAU,CAAC,WAAW,IAAI,OAAO,EAAE;GACxC,WAAW,IAAI,OAAO;GACtB,OAAO,WAAW;GAClB,OAAO,UAAU;GACjB,SAAS,OAAO;;EAIlB,IAAI,CAAC,KAAK,QACR,WAAW,IAAI,KAAK;;CAIxB,SAAS,OAAO,cAAsD;EACpE,WAAW,OAAO;EAElB,MAAM,WACJ,OAAO,iBAAiB,YACnB,SAAmB,cAAc,MAAM,aAAa,GACrD;EAEN,OAAO,MAAM,KAAK,SAAS;GACzB,IAAI,SAAS,KAAK,EAChB,MAAM,KAAK;QAEX,KAAK,UAAU;IAEjB;EAEF,iBAAiB;;CAGnB,OAAO,EAAE,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.js","names":[],"sources":["../../../src/components/tree/use-select.ts"],"sourcesContent":["import { nextTick, shallowRef, watch, type ComputedRef, type ShallowRef } from 'vue'\n\nimport type { TreeEmit, TreeProps } from '../../types'\nimport type { TreeNode } from './tree-node'\n\ninterface Options {\n emit: TreeEmit\n props: TreeProps\n nodeDict: ComputedRef<Map<any, TreeNode>>\n getFlattedNodes: () => void\n}\n\ninterface UseSelectReturned {\n selectedData: ShallowRef<Record<string, any> | undefined>\n handleSelect: (node: TreeNode) => void\n}\n\n/**\n * 单选\n */\nexport function useSelect(options: Options): UseSelectReturned {\n const { emit, props, nodeDict, getFlattedNodes } = options\n let selectedData = shallowRef<Record<string, any>>()\n\n let selectByEvent = false\n watch(\n [() => props.selected, nodeDict],\n ([s, nodeDict]) => {\n if (selectByEvent || !props.selectable) return\n\n if (s) {\n const node = nodeDict.get(s)\n if (node) {\n selectedData.value = node.data\n node.bubbleSet((node) => {\n if (node.parent) {\n if (node.parent.expanded) return false\n node.parent.expanded = true\n }\n })\n }\n } else {\n selectedData.value = undefined\n }\n\n getFlattedNodes()\n\n emit('selected-synced', selectedData.value)\n },\n { immediate: true }\n )\n\n const handleSelect = (node: TreeNode) => {\n selectByEvent = true\n if (node.disabled) return\n selectedData.value = node.data === selectedData.value ? undefined : node.data\n\n emit('update:selected', selectedData.value?.[props.valueKey!], selectedData.value, node)\n\n nextTick(() => {\n selectByEvent = false\n })\n }\n\n return { selectedData, handleSelect }\n}\n"],"mappings":";;;;;AAoBA,SAAgB,UAAU,SAAqC;CAC7D,MAAM,EAAE,MAAM,OAAO,UAAU,oBAAoB;CACnD,IAAI,eAAe,YAAiC;CAEpD,IAAI,gBAAgB;AACpB,OACE,OAAO,MAAM,UAAU,SAAS,GAC/B,CAAC,GAAG,cAAc;AACjB,MAAI,iBAAiB,CAAC,MAAM,WAAY;AAExC,MAAI,GAAG;GACL,MAAM,OAAO,SAAS,IAAI,EAAE;AAC5B,OAAI,MAAM;AACR,iBAAa,QAAQ,KAAK;AAC1B,SAAK,WAAW,SAAS;AACvB,SAAI,KAAK,QAAQ;AACf,UAAI,KAAK,OAAO,SAAU,QAAO;AACjC,WAAK,OAAO,WAAW;;MAEzB;;QAGJ,cAAa,QAAQ,KAAA;AAGvB,mBAAiB;AAEjB,OAAK,mBAAmB,aAAa,MAAM;IAE7C,EAAE,WAAW,MAAM,CACpB;CAED,MAAM,gBAAgB,SAAmB;AACvC,kBAAgB;AAChB,MAAI,KAAK,SAAU;AACnB,eAAa,QAAQ,KAAK,SAAS,aAAa,QAAQ,KAAA,IAAY,KAAK;AAEzE,OAAK,mBAAmB,aAAa,QAAQ,MAAM,WAAY,aAAa,OAAO,KAAK;AAExF,iBAAe;AACb,mBAAgB;IAChB;;AAGJ,QAAO;EAAE;EAAc;EAAc"}
1
+ {"version":3,"file":"use-select.js","names":[],"sources":["../../../src/components/tree/use-select.ts"],"sourcesContent":["import { nextTick, shallowRef, watch, type ComputedRef, type ShallowRef } from 'vue'\n\nimport type { TreeEmit, TreeProps } from '../../types'\nimport type { TreeNode } from './tree-node'\n\ninterface Options {\n emit: TreeEmit\n props: TreeProps\n nodeDict: ComputedRef<Map<any, TreeNode>>\n getFlattedNodes: () => void\n}\n\ninterface UseSelectReturned {\n selectedData: ShallowRef<Record<string, any> | undefined>\n handleSelect: (node: TreeNode) => void\n}\n\n/**\n * 单选\n */\nexport function useSelect(options: Options): UseSelectReturned {\n const { emit, props, nodeDict, getFlattedNodes } = options\n let selectedData = shallowRef<Record<string, any>>()\n\n let selectByEvent = false\n watch(\n [() => props.selected, nodeDict],\n ([s, nodeDict]) => {\n if (selectByEvent || !props.selectable) return\n\n if (s) {\n const node = nodeDict.get(s)\n if (node) {\n selectedData.value = node.data\n node.bubbleSet((node) => {\n if (node.parent) {\n if (node.parent.expanded) return false\n node.parent.expanded = true\n }\n })\n }\n } else {\n selectedData.value = undefined\n }\n\n getFlattedNodes()\n\n emit('selected-synced', selectedData.value)\n },\n { immediate: true }\n )\n\n const handleSelect = (node: TreeNode) => {\n selectByEvent = true\n if (node.disabled) return\n selectedData.value = node.data === selectedData.value ? undefined : node.data\n\n emit('update:selected', selectedData.value?.[props.valueKey!], selectedData.value, node)\n\n nextTick(() => {\n selectByEvent = false\n })\n }\n\n return { selectedData, handleSelect }\n}\n"],"mappings":";;;;;AAoBA,SAAgB,UAAU,SAAqC;CAC7D,MAAM,EAAE,MAAM,OAAO,UAAU,oBAAoB;CACnD,IAAI,eAAe,YAAiC;CAEpD,IAAI,gBAAgB;CACpB,MACE,OAAO,MAAM,UAAU,SAAS,GAC/B,CAAC,GAAG,cAAc;EACjB,IAAI,iBAAiB,CAAC,MAAM,YAAY;EAExC,IAAI,GAAG;GACL,MAAM,OAAO,SAAS,IAAI,EAAE;GAC5B,IAAI,MAAM;IACR,aAAa,QAAQ,KAAK;IAC1B,KAAK,WAAW,SAAS;KACvB,IAAI,KAAK,QAAQ;MACf,IAAI,KAAK,OAAO,UAAU,OAAO;MACjC,KAAK,OAAO,WAAW;;MAEzB;;SAGJ,aAAa,QAAQ,KAAA;EAGvB,iBAAiB;EAEjB,KAAK,mBAAmB,aAAa,MAAM;IAE7C,EAAE,WAAW,MAAM,CACpB;CAED,MAAM,gBAAgB,SAAmB;EACvC,gBAAgB;EAChB,IAAI,KAAK,UAAU;EACnB,aAAa,QAAQ,KAAK,SAAS,aAAa,QAAQ,KAAA,IAAY,KAAK;EAEzE,KAAK,mBAAmB,aAAa,QAAQ,MAAM,WAAY,aAAa,OAAO,KAAK;EAExF,eAAe;GACb,gBAAgB;IAChB;;CAGJ,OAAO;EAAE;EAAc;EAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree-nodes.js","names":["TreeNode"],"sources":["../../../src/components/tree/use-tree-nodes.ts"],"sourcesContent":["import { Forest } from '@cat-kit/core'\nimport { computed, shallowRef, triggerRef, watch, type ShallowRef, type ComputedRef } from 'vue'\n\nimport type { TreeProps } from '../../types'\nimport { TreeNode } from './tree-node'\n\ninterface Options {\n props: TreeProps\n}\n\ninterface UseTreeNodesReturned {\n nodes: ShallowRef<TreeNode[]>\n forest: ComputedRef<Forest<Record<string, unknown>, any>>\n getFlattedNodes: () => void\n nodeDict: ComputedRef<Map<string | number, TreeNode>>\n /** 强制刷新 `nodes` 的订阅者(供字段级别变化但列表引用不变时手动触发)。 */\n triggerNodes: () => void\n}\n\nexport function useTreeNodes(options: Options): UseTreeNodesReturned {\n const { props } = options\n\n // forest / nodeDict 保持为 shallowRef 而非 computed:\n // - computed 会因为任一 prop 变化(尤其是内联 disabledNode 函数)而整棵重建,\n // 丢失 expanded/checked/visible 等运行时状态;\n // - 显式 watch 仅在真正影响结构的输入变化时才重建,行为可控、可测量。\n const forestRef = shallowRef<Forest<Record<string, unknown>, any>>(\n new Forest<Record<string, unknown>, any>({\n data: [],\n childrenKey: props.childrenKey ?? 'children'\n })\n )\n\n const nodeDictRef = shallowRef<Map<string | number, TreeNode>>(new Map())\n\n const nodes = shallowRef<TreeNode[]>([])\n\n function buildForest(): Forest<Record<string, unknown>, any> {\n const { disabledNode, expandAll = false, valueKey, labelKey } = props\n const childrenKey = props.childrenKey ?? 'children'\n\n function createNode(\n data: Record<string, any>,\n index: number,\n depth: number,\n parent?: TreeNode\n ): TreeNode {\n const node = new TreeNode({\n data,\n index,\n depth,\n parent,\n valueKey: valueKey!,\n labelKey: labelKey!\n })\n node.expanded = expandAll\n return node\n }\n\n return new Forest<Record<string, unknown>, any>({\n data: (props.data ?? []) as Record<string, unknown>[],\n childrenKey,\n createNode: disabledNode\n ? (data, index, depth, _f, parent) => {\n const node = createNode(data as Record<string, any>, index, depth, parent as TreeNode)\n if (data) {\n node.disabled = disabledNode(data as Record<string, any>, node) ?? false\n }\n return node\n }\n : (data, index, depth, _f, parent) =>\n createNode(data as Record<string, any>, index, depth, parent as TreeNode)\n })\n }\n\n function rebuildForest(): void {\n const nextForest = buildForest()\n const nextDict = new Map<string | number, TreeNode>()\n\n // 构建森林的同时一次 DFS 同步填充字典,\n // 避免旧版 “forest computed → nodeDict computed” 两次完整遍历。\n nextForest.dfs((node) => {\n nextDict.set(node.key, node)\n })\n\n forestRef.value = nextForest\n nodeDictRef.value = nextDict\n\n getFlattedNodes()\n }\n\n /** 按展开与可见性扁平化:仅一次 DFS。 */\n function getFlattedNodes(): void {\n const result: TreeNode[] = []\n const roots = forestRef.value.roots as TreeNode[]\n\n const stack: TreeNode[] = []\n for (let i = roots.length - 1; i >= 0; i--) {\n stack.push(roots[i]!)\n }\n\n while (stack.length) {\n const node = stack.pop()!\n if (!node.visible) continue\n result.push(node)\n if (node.expanded && node.children && node.children.length) {\n for (let i = node.children.length - 1; i >= 0; i--) {\n stack.push(node.children[i]!)\n }\n }\n }\n\n nodes.value = result\n }\n\n function triggerNodes(): void {\n triggerRef(nodes)\n }\n\n watch(\n [\n () => props.data,\n () => props.disabledNode,\n () => props.childrenKey,\n () => props.valueKey,\n () => props.labelKey,\n () => props.expandAll\n ],\n () => {\n rebuildForest()\n },\n { immediate: true }\n )\n\n const forest = computed(() => forestRef.value)\n const nodeDict = computed(() => nodeDictRef.value)\n\n return { nodes, forest, getFlattedNodes, nodeDict, triggerNodes }\n}\n"],"mappings":";;;;AAmBA,SAAgB,aAAa,SAAwC;CACnE,MAAM,EAAE,UAAU;CAMlB,MAAM,YAAY,WAChB,IAAI,OAAqC;EACvC,MAAM,EAAE;EACR,aAAa,MAAM,eAAe;EACnC,CAAC,CACH;CAED,MAAM,cAAc,2BAA2C,IAAI,KAAK,CAAC;CAEzE,MAAM,QAAQ,WAAuB,EAAE,CAAC;CAExC,SAAS,cAAoD;EAC3D,MAAM,EAAE,cAAc,YAAY,OAAO,UAAU,aAAa;EAChE,MAAM,cAAc,MAAM,eAAe;EAEzC,SAAS,WACP,MACA,OACA,OACA,QACU;GACV,MAAM,OAAO,IAAIA,WAAS;IACxB;IACA;IACA;IACA;IACU;IACA;IACX,CAAC;AACF,QAAK,WAAW;AAChB,UAAO;;AAGT,SAAO,IAAI,OAAqC;GAC9C,MAAO,MAAM,QAAQ,EAAE;GACvB;GACA,YAAY,gBACP,MAAM,OAAO,OAAO,IAAI,WAAW;IAClC,MAAM,OAAO,WAAW,MAA6B,OAAO,OAAO,OAAmB;AACtF,QAAI,KACF,MAAK,WAAW,aAAa,MAA6B,KAAK,IAAI;AAErE,WAAO;QAER,MAAM,OAAO,OAAO,IAAI,WACvB,WAAW,MAA6B,OAAO,OAAO,OAAmB;GAChF,CAAC;;CAGJ,SAAS,gBAAsB;EAC7B,MAAM,aAAa,aAAa;EAChC,MAAM,2BAAW,IAAI,KAAgC;AAIrD,aAAW,KAAK,SAAS;AACvB,YAAS,IAAI,KAAK,KAAK,KAAK;IAC5B;AAEF,YAAU,QAAQ;AAClB,cAAY,QAAQ;AAEpB,mBAAiB;;;CAInB,SAAS,kBAAwB;EAC/B,MAAM,SAAqB,EAAE;EAC7B,MAAM,QAAQ,UAAU,MAAM;EAE9B,MAAM,QAAoB,EAAE;AAC5B,OAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,IACrC,OAAM,KAAK,MAAM,GAAI;AAGvB,SAAO,MAAM,QAAQ;GACnB,MAAM,OAAO,MAAM,KAAK;AACxB,OAAI,CAAC,KAAK,QAAS;AACnB,UAAO,KAAK,KAAK;AACjB,OAAI,KAAK,YAAY,KAAK,YAAY,KAAK,SAAS,OAClD,MAAK,IAAI,IAAI,KAAK,SAAS,SAAS,GAAG,KAAK,GAAG,IAC7C,OAAM,KAAK,KAAK,SAAS,GAAI;;AAKnC,QAAM,QAAQ;;CAGhB,SAAS,eAAqB;AAC5B,aAAW,MAAM;;AAGnB,OACE;QACQ,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;EACb,QACK;AACJ,iBAAe;IAEjB,EAAE,WAAW,MAAM,CACpB;AAKD,QAAO;EAAE;EAAO,QAHD,eAAe,UAAU,MAGlB;EAAE;EAAiB,UAFxB,eAAe,YAAY,MAEK;EAAE;EAAc"}
1
+ {"version":3,"file":"use-tree-nodes.js","names":["TreeNode"],"sources":["../../../src/components/tree/use-tree-nodes.ts"],"sourcesContent":["import { Forest } from '@cat-kit/core'\nimport { computed, shallowRef, triggerRef, watch, type ShallowRef, type ComputedRef } from 'vue'\n\nimport type { TreeProps } from '../../types'\nimport { TreeNode } from './tree-node'\n\ninterface Options {\n props: TreeProps\n}\n\ninterface UseTreeNodesReturned {\n nodes: ShallowRef<TreeNode[]>\n forest: ComputedRef<Forest<Record<string, unknown>, any>>\n getFlattedNodes: () => void\n nodeDict: ComputedRef<Map<string | number, TreeNode>>\n /** 强制刷新 `nodes` 的订阅者(供字段级别变化但列表引用不变时手动触发)。 */\n triggerNodes: () => void\n}\n\nexport function useTreeNodes(options: Options): UseTreeNodesReturned {\n const { props } = options\n\n // forest / nodeDict 保持为 shallowRef 而非 computed:\n // - computed 会因为任一 prop 变化(尤其是内联 disabledNode 函数)而整棵重建,\n // 丢失 expanded/checked/visible 等运行时状态;\n // - 显式 watch 仅在真正影响结构的输入变化时才重建,行为可控、可测量。\n const forestRef = shallowRef<Forest<Record<string, unknown>, any>>(\n new Forest<Record<string, unknown>, any>({\n data: [],\n childrenKey: props.childrenKey ?? 'children'\n })\n )\n\n const nodeDictRef = shallowRef<Map<string | number, TreeNode>>(new Map())\n\n const nodes = shallowRef<TreeNode[]>([])\n\n function buildForest(): Forest<Record<string, unknown>, any> {\n const { disabledNode, expandAll = false, valueKey, labelKey } = props\n const childrenKey = props.childrenKey ?? 'children'\n\n function createNode(\n data: Record<string, any>,\n index: number,\n depth: number,\n parent?: TreeNode\n ): TreeNode {\n const node = new TreeNode({\n data,\n index,\n depth,\n parent,\n valueKey: valueKey!,\n labelKey: labelKey!\n })\n node.expanded = expandAll\n return node\n }\n\n return new Forest<Record<string, unknown>, any>({\n data: (props.data ?? []) as Record<string, unknown>[],\n childrenKey,\n createNode: disabledNode\n ? (data, index, depth, _f, parent) => {\n const node = createNode(data as Record<string, any>, index, depth, parent as TreeNode)\n if (data) {\n node.disabled = disabledNode(data as Record<string, any>, node) ?? false\n }\n return node\n }\n : (data, index, depth, _f, parent) =>\n createNode(data as Record<string, any>, index, depth, parent as TreeNode)\n })\n }\n\n function rebuildForest(): void {\n const nextForest = buildForest()\n const nextDict = new Map<string | number, TreeNode>()\n\n // 构建森林的同时一次 DFS 同步填充字典,\n // 避免旧版 “forest computed → nodeDict computed” 两次完整遍历。\n nextForest.dfs((node) => {\n nextDict.set(node.key, node)\n })\n\n forestRef.value = nextForest\n nodeDictRef.value = nextDict\n\n getFlattedNodes()\n }\n\n /** 按展开与可见性扁平化:仅一次 DFS。 */\n function getFlattedNodes(): void {\n const result: TreeNode[] = []\n const roots = forestRef.value.roots as TreeNode[]\n\n const stack: TreeNode[] = []\n for (let i = roots.length - 1; i >= 0; i--) {\n stack.push(roots[i]!)\n }\n\n while (stack.length) {\n const node = stack.pop()!\n if (!node.visible) continue\n result.push(node)\n if (node.expanded && node.children && node.children.length) {\n for (let i = node.children.length - 1; i >= 0; i--) {\n stack.push(node.children[i]!)\n }\n }\n }\n\n nodes.value = result\n }\n\n function triggerNodes(): void {\n triggerRef(nodes)\n }\n\n watch(\n [\n () => props.data,\n () => props.disabledNode,\n () => props.childrenKey,\n () => props.valueKey,\n () => props.labelKey,\n () => props.expandAll\n ],\n () => {\n rebuildForest()\n },\n { immediate: true }\n )\n\n const forest = computed(() => forestRef.value)\n const nodeDict = computed(() => nodeDictRef.value)\n\n return { nodes, forest, getFlattedNodes, nodeDict, triggerNodes }\n}\n"],"mappings":";;;;AAmBA,SAAgB,aAAa,SAAwC;CACnE,MAAM,EAAE,UAAU;CAMlB,MAAM,YAAY,WAChB,IAAI,OAAqC;EACvC,MAAM,EAAE;EACR,aAAa,MAAM,eAAe;EACnC,CAAC,CACH;CAED,MAAM,cAAc,2BAA2C,IAAI,KAAK,CAAC;CAEzE,MAAM,QAAQ,WAAuB,EAAE,CAAC;CAExC,SAAS,cAAoD;EAC3D,MAAM,EAAE,cAAc,YAAY,OAAO,UAAU,aAAa;EAChE,MAAM,cAAc,MAAM,eAAe;EAEzC,SAAS,WACP,MACA,OACA,OACA,QACU;GACV,MAAM,OAAO,IAAIA,WAAS;IACxB;IACA;IACA;IACA;IACU;IACA;IACX,CAAC;GACF,KAAK,WAAW;GAChB,OAAO;;EAGT,OAAO,IAAI,OAAqC;GAC9C,MAAO,MAAM,QAAQ,EAAE;GACvB;GACA,YAAY,gBACP,MAAM,OAAO,OAAO,IAAI,WAAW;IAClC,MAAM,OAAO,WAAW,MAA6B,OAAO,OAAO,OAAmB;IACtF,IAAI,MACF,KAAK,WAAW,aAAa,MAA6B,KAAK,IAAI;IAErE,OAAO;QAER,MAAM,OAAO,OAAO,IAAI,WACvB,WAAW,MAA6B,OAAO,OAAO,OAAmB;GAChF,CAAC;;CAGJ,SAAS,gBAAsB;EAC7B,MAAM,aAAa,aAAa;EAChC,MAAM,2BAAW,IAAI,KAAgC;EAIrD,WAAW,KAAK,SAAS;GACvB,SAAS,IAAI,KAAK,KAAK,KAAK;IAC5B;EAEF,UAAU,QAAQ;EAClB,YAAY,QAAQ;EAEpB,iBAAiB;;;CAInB,SAAS,kBAAwB;EAC/B,MAAM,SAAqB,EAAE;EAC7B,MAAM,QAAQ,UAAU,MAAM;EAE9B,MAAM,QAAoB,EAAE;EAC5B,KAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KACrC,MAAM,KAAK,MAAM,GAAI;EAGvB,OAAO,MAAM,QAAQ;GACnB,MAAM,OAAO,MAAM,KAAK;GACxB,IAAI,CAAC,KAAK,SAAS;GACnB,OAAO,KAAK,KAAK;GACjB,IAAI,KAAK,YAAY,KAAK,YAAY,KAAK,SAAS,QAClD,KAAK,IAAI,IAAI,KAAK,SAAS,SAAS,GAAG,KAAK,GAAG,KAC7C,MAAM,KAAK,KAAK,SAAS,GAAI;;EAKnC,MAAM,QAAQ;;CAGhB,SAAS,eAAqB;EAC5B,WAAW,MAAM;;CAGnB,MACE;QACQ,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;EACb,QACK;EACJ,eAAe;IAEjB,EAAE,WAAW,MAAM,CACpB;CAKD,OAAO;EAAE;EAAO,QAHD,eAAe,UAAU,MAGlB;EAAE;EAAiB,UAFxB,eAAe,YAAY,MAEK;EAAE;EAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-select.js","names":["$slots"],"sources":["../../../src/components/tree-select/tree-select.vue"],"sourcesContent":["<template>\n <u-dropdown\n v-if=\"!readonly\"\n :class=\"[cls.b, bem.is('disabled', disabled)]\"\n trigger=\"click\"\n :content-class=\"[cls.e('panel'), cls.em('panel', size), contentClass]\"\n :content-style=\"contentStyle\"\n ref=\"dropdownRef\"\n :min-width=\"minWidth\"\n :width=\"width\"\n :disabled=\"disabled\"\n @update:visible=\"handleDropdownVisible\"\n >\n <template #trigger>\n <u-input\n :size=\"size\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :clearable=\"clearable\"\n :model-value=\"text ?? (model ? label : undefined)\"\n @clear=\"handleClear\"\n native-readonly\n >\n <template #prefix v-if=\"$slots.prefix\">\n <slot name=\"prefix\" />\n </template>\n <template #suffix>\n <u-icon :class=\"cls.e('arrow')\"><ArrowDown /></u-icon>\n </template>\n </u-input>\n </template>\n <template #content>\n <!-- 过滤器 -->\n <div v-if=\"filterable\" :class=\"[cls.e('content-filter'), cls.m(size)]\">\n <u-input placeholder=\"输入关键字进行过滤\" v-model=\"qs\">\n <template #suffix>\n <u-icon><Search /></u-icon>\n </template>\n </u-input>\n </div>\n <!-- 菜单列表 -->\n\n <u-tree\n v-bind=\"treeProps\"\n :selected=\"model\"\n @update:selected=\"handleSelect\"\n ref=\"treeRef\"\n selectable\n :class=\"cls.e('content-tree')\"\n :slots=\"slots\"\n scroll-to-view\n />\n </template>\n </u-dropdown>\n\n <template v-else>\n {{ text || label || FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { dfs, o } from '@cat-kit/core'\nimport { useFormFallbackProps } from '@veltra/compositions'\nimport { ArrowDown, Search } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed, nextTick, shallowRef, watch } from 'vue'\n\nimport type { TreeSelectProps, TreeSelectEmits, TreeExposed } from '../../types'\nimport { UDropdown } from '../dropdown'\nimport { UIcon } from '../icon'\nimport { UInput } from '../input'\nimport { UTree } from '../tree'\nimport type { TreeSlotsScope } from '../tree/di'\n\ndefineOptions({ name: 'TreeSelect' })\n\nconst props = withDefaults(defineProps<TreeSelectProps>(), {\n labelKey: 'label',\n valueKey: 'value',\n placeholder: '请选择',\n expandAll: false,\n clearable: true,\n disabled: undefined,\n readonly: undefined,\n filterable: false,\n minWidth: '280px'\n})\n\nconst emit = defineEmits<TreeSelectEmits>()\n\nconst slots = defineSlots<{\n /** 默认插槽 */\n default?: (props: TreeSlotsScope) => any\n /** 前缀插槽 */\n prefix?: () => any\n}>()\n\nconst treeProps = computed(() => {\n return o(props as Record<string, any>).omit([\n 'tips',\n 'field',\n 'placeholder',\n 'disabled',\n 'label',\n 'readonly',\n 'contentClass',\n 'contentStyle',\n 'minWidth',\n 'width'\n ])\n})\n\nconst cls = bem('tree-select')\n\n/**过滤 */\nconst qs = shallowRef('')\nwatch(qs, (qs) => {\n treeRef.value?.filter(qs)\n})\n\nconst model = defineModel<string | number>()\n\nconst label = shallowRef<string>()\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props])\n\nconst treeRef = shallowRef<TreeExposed>()\n\nconst dropdownRef = shallowRef<InstanceType<typeof UDropdown>>()\n\n/**清空 */\nconst handleClear = () => {\n model.value = ''\n label.value = undefined\n emit('clear')\n emit('change', '', undefined)\n emit('update:text', '')\n}\n\nlet changedByEvent = false\nwatch(\n [() => props.data, model],\n ([data, model]) => {\n if (changedByEvent) return\n if (!data?.length || model === undefined) {\n label.value = undefined\n model = undefined\n return\n }\n\n let founded = false\n const childrenKey = props.childrenKey ?? 'children'\n data.some((item) => {\n dfs(\n item,\n (v) => {\n if (v[props.valueKey] === model) {\n label.value = v[props.labelKey]\n founded = true\n return true\n }\n },\n childrenKey\n )\n\n return founded\n })\n },\n { immediate: true }\n)\n\nconst handleSelect = (selected?: string | number, selectedData?: Record<string, any>) => {\n changedByEvent = true\n nextTick(() => {\n changedByEvent = false\n })\n\n model.value = selected ?? ''\n\n if (selectedData) {\n label.value = o(selectedData).get(props.labelKey)\n } else {\n label.value = ''\n }\n\n emit('change', selected, selectedData)\n emit('update:text', label.value)\n dropdownRef.value?.close()\n}\n\nconst handleDropdownVisible = (visible: boolean) => {\n if (!visible) {\n qs.value = ''\n }\n}\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"tree-select.js","names":["$slots"],"sources":["../../../src/components/tree-select/tree-select.vue"],"sourcesContent":["<template>\n <u-dropdown\n v-if=\"!readonly\"\n :class=\"[cls.b, bem.is('disabled', disabled)]\"\n trigger=\"click\"\n :content-class=\"[cls.e('panel'), cls.em('panel', size), contentClass]\"\n :content-style=\"contentStyle\"\n ref=\"dropdownRef\"\n :min-width=\"minWidth\"\n :width=\"width\"\n :disabled=\"disabled\"\n @update:visible=\"handleDropdownVisible\"\n >\n <template #trigger>\n <u-input\n :size=\"size\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :clearable=\"clearable\"\n :model-value=\"text ?? (model ? label : undefined)\"\n @clear=\"handleClear\"\n native-readonly\n >\n <template #prefix v-if=\"$slots.prefix\">\n <slot name=\"prefix\" />\n </template>\n <template #suffix>\n <u-icon :class=\"cls.e('arrow')\"><ArrowDown /></u-icon>\n </template>\n </u-input>\n </template>\n <template #content>\n <!-- 过滤器 -->\n <div v-if=\"filterable\" :class=\"[cls.e('content-filter'), cls.m(size)]\">\n <u-input placeholder=\"输入关键字进行过滤\" v-model=\"qs\">\n <template #suffix>\n <u-icon><Search /></u-icon>\n </template>\n </u-input>\n </div>\n <!-- 菜单列表 -->\n\n <u-tree\n v-bind=\"treeProps\"\n :selected=\"model\"\n @update:selected=\"handleSelect\"\n ref=\"treeRef\"\n selectable\n :class=\"cls.e('content-tree')\"\n :slots=\"slots\"\n scroll-to-view\n />\n </template>\n </u-dropdown>\n\n <template v-else>\n {{ text || label || FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { dfs, o } from '@cat-kit/core'\nimport { useFormFallbackProps } from '@veltra/compositions'\nimport { ArrowDown, Search } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed, nextTick, shallowRef, watch } from 'vue'\n\nimport type { TreeSelectProps, TreeSelectEmits, TreeExposed } from '../../types'\nimport { UDropdown } from '../dropdown'\nimport { UIcon } from '../icon'\nimport { UInput } from '../input'\nimport { UTree } from '../tree'\nimport type { TreeSlotsScope } from '../tree/di'\n\ndefineOptions({ name: 'TreeSelect' })\n\nconst props = withDefaults(defineProps<TreeSelectProps>(), {\n labelKey: 'label',\n valueKey: 'value',\n placeholder: '请选择',\n expandAll: false,\n clearable: true,\n disabled: undefined,\n readonly: undefined,\n filterable: false,\n minWidth: '280px'\n})\n\nconst emit = defineEmits<TreeSelectEmits>()\n\nconst slots = defineSlots<{\n /** 默认插槽 */\n default?: (props: TreeSlotsScope) => any\n /** 前缀插槽 */\n prefix?: () => any\n}>()\n\nconst treeProps = computed(() => {\n return o(props as Record<string, any>).omit([\n 'tips',\n 'field',\n 'placeholder',\n 'disabled',\n 'label',\n 'readonly',\n 'contentClass',\n 'contentStyle',\n 'minWidth',\n 'width'\n ])\n})\n\nconst cls = bem('tree-select')\n\n/**过滤 */\nconst qs = shallowRef('')\nwatch(qs, (qs) => {\n treeRef.value?.filter(qs)\n})\n\nconst model = defineModel<string | number>()\n\nconst label = shallowRef<string>()\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props])\n\nconst treeRef = shallowRef<TreeExposed>()\n\nconst dropdownRef = shallowRef<InstanceType<typeof UDropdown>>()\n\n/**清空 */\nconst handleClear = () => {\n model.value = ''\n label.value = undefined\n emit('clear')\n emit('change', '', undefined)\n emit('update:text', '')\n}\n\nlet changedByEvent = false\nwatch(\n [() => props.data, model],\n ([data, model]) => {\n if (changedByEvent) return\n if (!data?.length || model === undefined) {\n label.value = undefined\n model = undefined\n return\n }\n\n let founded = false\n const childrenKey = props.childrenKey ?? 'children'\n data.some((item) => {\n dfs(\n item,\n (v) => {\n if (v[props.valueKey] === model) {\n label.value = v[props.labelKey]\n founded = true\n return true\n }\n },\n childrenKey\n )\n\n return founded\n })\n },\n { immediate: true }\n)\n\nconst handleSelect = (selected?: string | number, selectedData?: Record<string, any>) => {\n changedByEvent = true\n nextTick(() => {\n changedByEvent = false\n })\n\n model.value = selected ?? ''\n\n if (selectedData) {\n label.value = o(selectedData).get(props.labelKey)\n } else {\n label.value = ''\n }\n\n emit('change', selected, selectedData)\n emit('update:text', label.value)\n dropdownRef.value?.close()\n}\n\nconst handleDropdownVisible = (visible: boolean) => {\n if (!visible) {\n qs.value = ''\n }\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EA,MAAM,QAAQ;EAYd,MAAM,OAAO;EAEb,MAAM,QAAQ,UAAA;EAOd,MAAM,YAAY,eAAe;GAC/B,OAAO,EAAE,MAA4B,CAAE,KAAK;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,CAAA;IACF;EAED,MAAM,MAAM,IAAI,cAAa;;EAG7B,MAAM,KAAK,WAAW,GAAE;EACxB,MAAM,KAAK,OAAO;GAChB,QAAQ,OAAO,OAAO,GAAE;IACzB;EAED,MAAM,QAAQ,SAA4B,SAAA,aAAC;EAE3C,MAAM,QAAQ,YAAmB;EAEjC,MAAM,EAAE,cAAc,mBAAkB;EAExC,MAAM,EAAE,MAAM,UAAU,aAAa,qBAAqB,CAAC,aAAa,EAAC,EAAG,MAAM,CAAA;EAElF,MAAM,UAAU,YAAwB;EAExC,MAAM,cAAc,YAA2C;;EAG/D,MAAM,oBAAoB;GACxB,MAAM,QAAQ;GACd,MAAM,QAAQ,KAAA;GACd,KAAK,QAAO;GACZ,KAAK,UAAU,IAAI,KAAA,EAAS;GAC5B,KAAK,eAAe,GAAE;;EAGxB,IAAI,iBAAiB;EACrB,MACE,OAAO,MAAM,MAAM,MAAK,GACvB,CAAC,MAAM,WAAW;GACjB,IAAI,gBAAgB;GACpB,IAAI,CAAC,MAAM,UAAU,UAAU,KAAA,GAAW;IACxC,MAAM,QAAQ,KAAA;IACd,QAAQ,KAAA;IACR;;GAGF,IAAI,UAAU;GACd,MAAM,cAAc,MAAM,eAAe;GACzC,KAAK,MAAM,SAAS;IAClB,IACE,OACC,MAAM;KACL,IAAI,EAAE,MAAM,cAAc,OAAO;MAC/B,MAAM,QAAQ,EAAE,MAAM;MACtB,UAAU;MACV,OAAO;;OAGX,YACF;IAEA,OAAO;KACR;KAEH,EAAE,WAAW,MACf,CAAA;EAEA,MAAM,gBAAgB,UAA4B,iBAAuC;GACvF,iBAAiB;GACjB,eAAe;IACb,iBAAiB;KAClB;GAED,MAAM,QAAQ,YAAY;GAE1B,IAAI,cACF,MAAM,QAAQ,EAAE,aAAY,CAAE,IAAI,MAAM,SAAQ;QAEhD,MAAM,QAAQ;GAGhB,KAAK,UAAU,UAAU,aAAY;GACrC,KAAK,eAAe,MAAM,MAAK;GAC/B,YAAY,OAAO,OAAM;;EAG3B,MAAM,yBAAyB,YAAqB;GAClD,IAAI,CAAC,SACH,GAAG,QAAQ;;;WAjMJ,MAAA,SAAA,IAAA,WAAA,EADT,YAoDa,MAAA,YAAA,EAAA;;IAlDV,OAAK,eAAA,CAAG,MAAA,IAAA,CAAI,GAAG,MAAA,IAAA,CAAI,GAAE,YAAa,MAAA,SAAQ,CAAA,CAAA,CAAA;IAC3C,SAAQ;IACP,iBAAa;KAAG,MAAA,IAAA,CAAI,EAAC,QAAA;KAAW,MAAA,IAAA,CAAI,GAAE,SAAU,MAAA,KAAI,CAAA;KAAG,QAAA;KAAY;IACnE,iBAAe,QAAA;aACZ;IAAJ,KAAI;IACH,aAAW,QAAA;IACX,OAAO,QAAA;IACP,UAAU,MAAA,SAAA;IACV,oBAAgB;;IAEN,SAAO,cAgBN,CAfV,YAeU,MAAA,cAAA,EAAA;KAdP,MAAM,MAAA,KAAA;KACN,UAAU,MAAA,SAAA;KACV,aAAa,QAAA;KACb,WAAW,QAAA;KACX,eAAa,QAAA,SAAS,MAAA,QAAQ,MAAA,QAAQ,KAAA;KACtC,SAAO;KACR,mBAAA;;KAKW,QAAM,cACuC,CAAtD,YAAsD,MAAA,YAAA,EAAA,EAA7C,OAAK,eAAE,MAAA,IAAA,CAAI,EAAC,QAAA,CAAA,EAAA,EAAA;6BAAwB,CAAb,YAAa,MAAA,UAAA,CAAA,CAAA,CAAA;;;;QAJvBA,KAAAA,OAAO,SAAA;WAApB;uBACa,CAAtB,WAAsB,KAAA,QAAA,SAAA,CAAA,CAAA;;;;;;;;;IAOjB,SAAO,cACJ;KAAZ,mBAAA,QAAA;KACW,QAAA,cAAA,WAAA,EAAX,mBAMM,OAAA;;MANkB,OAAK,eAAA,CAAG,MAAA,IAAA,CAAI,EAAC,iBAAA,EAAoB,MAAA,IAAA,CAAI,EAAE,MAAA,KAAI,CAAA,CAAA,CAAA;SACjE,YAIU,MAAA,cAAA,EAAA;MAJD,aAAY;kBAAqB,GAAA;mEAAA,GAAE,QAAA;;MAC/B,QAAM,cACY,CAA3B,YAA2B,MAAA,YAAA,EAAA,MAAA;8BAAT,CAAV,YAAU,MAAA,OAAA,CAAA,CAAA,CAAA;;;;;KAIxB,mBAAA,SAAA;KAEA,YASE,MAAA,YAAA,EATF,WACU,UAQR,OARiB;MAChB,UAAU,MAAA;MACV,qBAAiB;eACd;MAAJ,KAAI;MACJ,YAAA;MACC,OAAO,MAAA,IAAA,CAAI,EAAC,eAAA;MACL;MACR,kBAAA;;;;;;;;;;;uBAKN,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,QAAA,QAAQ,MAAA,SAAS,MAAA,mBAAkB,CAAA,EAAA,EAAA,CAAA,EAAA,GAAA"}
@@ -15,24 +15,24 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
15
15
  declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
16
16
  "update:modelValue": (value: string | number | undefined) => any;
17
17
  } & {
18
- clear: () => any;
19
18
  change: (value?: string | number | undefined, selectedData?: Record<string, any> | undefined) => any;
19
+ clear: () => any;
20
20
  "update:text": (text?: string | undefined) => any;
21
21
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
22
  "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
23
- onClear?: (() => any) | undefined;
24
23
  onChange?: ((value?: string | number | undefined, selectedData?: Record<string, any> | undefined) => any) | undefined;
24
+ onClear?: (() => any) | undefined;
25
25
  "onUpdate:text"?: ((text?: string | undefined) => any) | undefined;
26
26
  }>, {
27
27
  disabled: boolean;
28
28
  readonly: boolean;
29
- placeholder: string;
30
- clearable: boolean;
31
29
  expandAll: boolean;
32
30
  labelKey: string;
33
31
  valueKey: string;
34
- filterable: boolean;
35
32
  minWidth: string;
33
+ placeholder: string;
34
+ clearable: boolean;
35
+ filterable: boolean;
36
36
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
37
37
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
38
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"watermark.js","names":[],"sources":["../../../src/components/watermark/watermark.vue"],"sourcesContent":["<template>\n <Teleport v-if=\"appendToBody\" to=\"body\">\n <div :class=\"cls.b\" ref=\"watermark\" :style=\"{ zIndex: zIndex() }\"></div>\n </Teleport>\n\n <div v-else :class=\"cls.b\" ref=\"watermark\" :style=\"{ zIndex: zIndex() }\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { debounce } from '@cat-kit/core'\nimport { bem, setStyles, zIndex } from '@veltra/utils'\nimport { onBeforeUnmount, onMounted, reactive, useTemplateRef } from 'vue'\n\nimport type { WatermarkProps, WatermarkEmits } from '../../types'\n\ndefineOptions({\n name: 'Watermark'\n})\nconst cls = bem('watermark')\nconst props = withDefaults(defineProps<WatermarkProps>(), {\n route: -30,\n fontSize: 60\n})\ndefineEmits<WatermarkEmits>()\n\nconst watermarkRef = useTemplateRef('watermark')\n\nconst styles = reactive({\n fontColor: 'rgba(0,0,0,.1)',\n fontFamily: 'Arial',\n image: props.image\n})\n\nconst setWatermark = debounce(async () => {\n const str = props.text\n const container = watermarkRef.value\n\n if (!container || !str) return\n\n // 创建canvas\n let canvas: HTMLCanvasElement | null = document.createElement('canvas')\n\n // 创建canvs画布\n let ctx = canvas.getContext('2d')!\n // 字体\n ctx.font = `${props.fontSize}px ${styles.fontFamily}`\n\n const textWidth = ctx.measureText(str).width\n canvas = document.createElement('canvas')\n canvas.width = textWidth\n canvas.height = textWidth\n ctx = canvas.getContext('2d')!\n // 字体\n ctx.font = `${props.fontSize}px ${styles.fontFamily}`\n ctx = canvas.getContext('2d')!\n // 字体颜色\n ctx.fillStyle = styles.fontColor\n // 对齐方式\n ctx.textAlign = 'left'\n // 文本基线\n ctx.textBaseline = 'top'\n\n // 逆时旋转\n ctx.translate(textWidth / 2, textWidth / 2)\n ctx.rotate((props.route * Math.PI) / 180)\n ctx.translate(-textWidth / 2, -textWidth / 2)\n // 编制文字\n ctx.fillText(str, 0, (textWidth - props.fontSize) / 2)\n\n setStyles(container, {\n background: `url(${canvas.toDataURL('image/png')}) repeat`\n })\n\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n canvas = null\n}, 150)\n\nwindow.addEventListener('resize', setWatermark)\n\nonBeforeUnmount(() => {\n window.removeEventListener('resize', setWatermark)\n})\n\nonMounted(() => {\n setWatermark()\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EAoBA,MAAM,MAAM,IAAI,YAAW;EAC3B,MAAM,QAAQ;EAMd,MAAM,eAAe,eAAe,YAAW;EAE/C,MAAM,SAAS,SAAS;GACtB,WAAW;GACX,YAAY;GACZ,OAAO,MAAM;GACd,CAAA;EAED,MAAM,eAAe,SAAS,YAAY;GACxC,MAAM,MAAM,MAAM;GAClB,MAAM,YAAY,aAAa;AAE/B,OAAI,CAAC,aAAa,CAAC,IAAK;GAGxB,IAAI,SAAmC,SAAS,cAAc,SAAQ;GAGtE,IAAI,MAAM,OAAO,WAAW,KAAK;AAEjC,OAAI,OAAO,GAAG,MAAM,SAAS,KAAK,OAAO;GAEzC,MAAM,YAAY,IAAI,YAAY,IAAI,CAAC;AACvC,YAAS,SAAS,cAAc,SAAQ;AACxC,UAAO,QAAQ;AACf,UAAO,SAAS;AAChB,SAAM,OAAO,WAAW,KAAK;AAE7B,OAAI,OAAO,GAAG,MAAM,SAAS,KAAK,OAAO;AACzC,SAAM,OAAO,WAAW,KAAK;AAE7B,OAAI,YAAY,OAAO;AAEvB,OAAI,YAAY;AAEhB,OAAI,eAAe;AAGnB,OAAI,UAAU,YAAY,GAAG,YAAY,EAAC;AAC1C,OAAI,OAAQ,MAAM,QAAQ,KAAK,KAAM,IAAG;AACxC,OAAI,UAAU,CAAC,YAAY,GAAG,CAAC,YAAY,EAAC;AAE5C,OAAI,SAAS,KAAK,IAAI,YAAY,MAAM,YAAY,EAAC;AAErD,aAAU,WAAW,EACnB,YAAY,OAAO,OAAO,UAAU,YAAY,CAAC,WAClD,CAAA;AAED,OAAI,UAAU,GAAG,GAAG,OAAO,OAAO,OAAO,OAAM;AAC/C,YAAS;KACR,IAAG;AAEN,SAAO,iBAAiB,UAAU,aAAY;AAE9C,wBAAsB;AACpB,UAAO,oBAAoB,UAAU,aAAY;IAClD;AAED,kBAAgB;AACd,iBAAa;IACd;;UAtFiB,QAAA,gBAAA,WAAA,EAAhB,YAEW,UAAA;;IAFmB,IAAG;OAC/B,mBAAwE,OAAA;IAAlE,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC;IAAE,KAAI;IAAa,OAAK,eAAA,EAAA,QAAY,MAAA,OAAM,EAAA,EAAA,CAAA;kCAG9D,mBAEM,OAAA;;IAFO,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC;IAAE,KAAI;IAAa,OAAK,eAAA,EAAA,QAAY,MAAA,OAAM,EAAA,EAAA,CAAA;OACjE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"watermark.js","names":[],"sources":["../../../src/components/watermark/watermark.vue"],"sourcesContent":["<template>\n <Teleport v-if=\"appendToBody\" to=\"body\">\n <div :class=\"cls.b\" ref=\"watermark\" :style=\"{ zIndex: zIndex() }\"></div>\n </Teleport>\n\n <div v-else :class=\"cls.b\" ref=\"watermark\" :style=\"{ zIndex: zIndex() }\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { debounce } from '@cat-kit/core'\nimport { bem, setStyles, zIndex } from '@veltra/utils'\nimport { onBeforeUnmount, onMounted, reactive, useTemplateRef } from 'vue'\n\nimport type { WatermarkProps, WatermarkEmits } from '../../types'\n\ndefineOptions({\n name: 'Watermark'\n})\nconst cls = bem('watermark')\nconst props = withDefaults(defineProps<WatermarkProps>(), {\n route: -30,\n fontSize: 60\n})\ndefineEmits<WatermarkEmits>()\n\nconst watermarkRef = useTemplateRef('watermark')\n\nconst styles = reactive({\n fontColor: 'rgba(0,0,0,.1)',\n fontFamily: 'Arial',\n image: props.image\n})\n\nconst setWatermark = debounce(async () => {\n const str = props.text\n const container = watermarkRef.value\n\n if (!container || !str) return\n\n // 创建canvas\n let canvas: HTMLCanvasElement | null = document.createElement('canvas')\n\n // 创建canvs画布\n let ctx = canvas.getContext('2d')!\n // 字体\n ctx.font = `${props.fontSize}px ${styles.fontFamily}`\n\n const textWidth = ctx.measureText(str).width\n canvas = document.createElement('canvas')\n canvas.width = textWidth\n canvas.height = textWidth\n ctx = canvas.getContext('2d')!\n // 字体\n ctx.font = `${props.fontSize}px ${styles.fontFamily}`\n ctx = canvas.getContext('2d')!\n // 字体颜色\n ctx.fillStyle = styles.fontColor\n // 对齐方式\n ctx.textAlign = 'left'\n // 文本基线\n ctx.textBaseline = 'top'\n\n // 逆时旋转\n ctx.translate(textWidth / 2, textWidth / 2)\n ctx.rotate((props.route * Math.PI) / 180)\n ctx.translate(-textWidth / 2, -textWidth / 2)\n // 编制文字\n ctx.fillText(str, 0, (textWidth - props.fontSize) / 2)\n\n setStyles(container, {\n background: `url(${canvas.toDataURL('image/png')}) repeat`\n })\n\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n canvas = null\n}, 150)\n\nwindow.addEventListener('resize', setWatermark)\n\nonBeforeUnmount(() => {\n window.removeEventListener('resize', setWatermark)\n})\n\nonMounted(() => {\n setWatermark()\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EAoBA,MAAM,MAAM,IAAI,YAAW;EAC3B,MAAM,QAAQ;EAMd,MAAM,eAAe,eAAe,YAAW;EAE/C,MAAM,SAAS,SAAS;GACtB,WAAW;GACX,YAAY;GACZ,OAAO,MAAM;GACd,CAAA;EAED,MAAM,eAAe,SAAS,YAAY;GACxC,MAAM,MAAM,MAAM;GAClB,MAAM,YAAY,aAAa;GAE/B,IAAI,CAAC,aAAa,CAAC,KAAK;GAGxB,IAAI,SAAmC,SAAS,cAAc,SAAQ;GAGtE,IAAI,MAAM,OAAO,WAAW,KAAI;GAEhC,IAAI,OAAO,GAAG,MAAM,SAAS,KAAK,OAAO;GAEzC,MAAM,YAAY,IAAI,YAAY,IAAG,CAAE;GACvC,SAAS,SAAS,cAAc,SAAQ;GACxC,OAAO,QAAQ;GACf,OAAO,SAAS;GAChB,MAAM,OAAO,WAAW,KAAI;GAE5B,IAAI,OAAO,GAAG,MAAM,SAAS,KAAK,OAAO;GACzC,MAAM,OAAO,WAAW,KAAI;GAE5B,IAAI,YAAY,OAAO;GAEvB,IAAI,YAAY;GAEhB,IAAI,eAAe;GAGnB,IAAI,UAAU,YAAY,GAAG,YAAY,EAAC;GAC1C,IAAI,OAAQ,MAAM,QAAQ,KAAK,KAAM,IAAG;GACxC,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,YAAY,EAAC;GAE5C,IAAI,SAAS,KAAK,IAAI,YAAY,MAAM,YAAY,EAAC;GAErD,UAAU,WAAW,EACnB,YAAY,OAAO,OAAO,UAAU,YAAW,CAAE,WAClD,CAAA;GAED,IAAI,UAAU,GAAG,GAAG,OAAO,OAAO,OAAO,OAAM;GAC/C,SAAS;KACR,IAAG;EAEN,OAAO,iBAAiB,UAAU,aAAY;EAE9C,sBAAsB;GACpB,OAAO,oBAAoB,UAAU,aAAY;IAClD;EAED,gBAAgB;GACd,cAAa;IACd;;UAtFiB,QAAA,gBAAA,WAAA,EAAhB,YAEW,UAAA;;IAFmB,IAAG;OAC/B,mBAAwE,OAAA;IAAlE,OAAK,eAAE,MAAA,IAAA,CAAI,EAAC;IAAE,KAAI;IAAa,OAAK,eAAA,EAAA,QAAY,MAAA,OAAA,EAAM,EAAA,CAAA;kCAG9D,mBAEM,OAAA;;IAFO,OAAK,eAAE,MAAA,IAAA,CAAI,EAAC;IAAE,KAAI;IAAa,OAAK,eAAA,EAAA,QAAY,MAAA,OAAA,EAAM,EAAA,CAAA;OACjE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
package/dist/index.d.ts CHANGED
@@ -65,7 +65,7 @@ import { FormItemEmits, FormItemExposed, FormItemProps } from "./types/form-item
65
65
  import { GroupInputEmits, GroupInputExposed, GroupInputProps, _GroupInputExposed } from "./types/group-input.js";
66
66
  import { PaginatorEmits, PaginatorExposed, PaginatorProps, _PaginatorExposed } from "./types/paginator.js";
67
67
  import { ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, VariableItem, _ExpressionEditorExposed } from "./types/expression-editor.js";
68
- import { ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, _ConditionEditorExposed } from "./types/condition-editor.js";
68
+ import { ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, _ConditionEditorExposed } from "./types/condition-editor.js";
69
69
  import { CssTransitionEmits, CssTransitionExposed, CssTransitionProps, _CssTransitionExposed } from "./types/css-transition.js";
70
70
  import { MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, _MessageConfirmExposed } from "./types/message-confirm.js";
71
71
  import { MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, _MultiAutoCompleteExposed } from "./types/multi-auto-complete.js";
@@ -79,6 +79,7 @@ import { FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, Fil
79
79
  import { CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue } from "./types/collapse.js";
80
80
  import { index_d_exports as index_d_exports$1 } from "./types/index.js";
81
81
  import { _default as _default$23 } from "./components/condition-editor/condition-editor.vue.js";
82
+ import { EvaluateOptions, createEmptyGroup, createEmptyLeaf, evaluate } from "./components/condition-editor/core/evaluator.js";
82
83
  import { _default as _default$77 } from "./components/tabs/tabs.vue.js";
83
84
  import { _default as _default$78 } from "./components/tabs/tabs-horizontal.vue.js";
84
85
  import { _default as _default$79 } from "./components/tabs/tabs-vertical.vue.js";
@@ -180,8 +181,8 @@ export * from "@veltra/utils";
180
181
 
181
182
  //#region src/index.d.ts
182
183
  declare namespace index_d_exports {
183
- export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DynamicFormModel, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModel, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, _default as MessageConfirm, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextMenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed, contextmenu, defineBatchEditColumns, defineTableColumns, formField, message, vLoading };
184
+ export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, EvaluateOptions as ConditionEvaluateOptions, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DynamicFormModel, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModel, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, _default as MessageConfirm, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextMenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, vLoading };
184
185
  }
185
186
  //#endregion
186
- export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DynamicFormModel, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModel, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, _default as MessageConfirm, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextMenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed, contextmenu, defineBatchEditColumns, defineTableColumns, formField, message, vLoading };
187
+ export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, EvaluateOptions as ConditionEvaluateOptions, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DynamicFormModel, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModel, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, _default as MessageConfirm, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextMenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, vLoading };
187
188
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import _sfc_main$29 from "./components/empty/empty.js";
3
3
  import _sfc_main$65 from "./components/scroll/scroll.js";
4
4
  import NodeRender from "./components/node-render/node-render.js";
5
5
  import _sfc_main$79 from "./components/tip/tip.js";
6
+ import { createEmptyGroup, createEmptyLeaf, evaluate } from "./components/condition-editor/core/evaluator.js";
6
7
  import _sfc_main$28 from "./components/dropdown/dropdown.js";
7
8
  import input_default from "./components/input/input.js";
8
9
  import _sfc_main$66 from "./components/select/select.js";
@@ -96,4 +97,4 @@ import _sfc_main$4 from "./components/breadcrumb/breadcrumb.js";
96
97
  import _sfc_main$56 from "./components/paginator/paginator.js";
97
98
  import _sfc_main$33 from "./components/float-button/float-button.js";
98
99
  import _sfc_main$2 from "./components/badge/badge.js";
99
- export { DynamicFormModel, FormModel, MessageConfirm, Notification, _sfc_main as UAction, action_group_default as UActionGroup, _sfc_main$1 as UAutoComplete, _sfc_main$2 as UBadge, _sfc_main$3 as UBatchEdit, _sfc_main$4 as UBreadcrumb, _sfc_main$5 as UButton, _sfc_main$6 as UButtonGroup, _sfc_main$7 as UCalendar, _sfc_main$8 as UCard, _sfc_main$9 as UCardAction, _sfc_main$10 as UCardContent, _sfc_main$11 as UCardCover, _sfc_main$12 as UCardHeader, _sfc_main$13 as UCascade, _sfc_main$14 as UCheckTag, _sfc_main$15 as UCheckbox, _sfc_main$16 as UCheckboxButton, _sfc_main$17 as UCheckboxGroup, _sfc_main$18 as UCodeEditor, _sfc_main$19 as UCollapse, _sfc_main$20 as UCollapseItem, _sfc_main$21 as UConditionEditor, _sfc_main$22 as UContextMenu, _sfc_main$23 as UDatePanel, _sfc_main$24 as UDatePicker, _sfc_main$25 as UDateRangePicker, _sfc_main$26 as UDialog, _sfc_main$27 as UDrawer, _sfc_main$28 as UDropdown, _sfc_main$29 as UEmpty, _sfc_main$30 as UExpressionEditor, _sfc_main$31 as UFilePicker, _sfc_main$32 as UFileViewer, _sfc_main$33 as UFloatButton, form_default as UForm, form_item_default as UFormItem, _sfc_main$34 as UGanttChart, _sfc_main$35 as UGrid, _sfc_main$36 as UGridInput, _sfc_main$37 as UGridItem, _sfc_main$38 as UGroupInput, _sfc_main$39 as UIcon, input_default as UInput, _sfc_main$40 as UKbd, _sfc_main$41 as ULayout, _sfc_main$42 as UList, _sfc_main$43 as UListItem, _sfc_main$44 as ULoading, _sfc_main$45 as UMenu, _sfc_main$46 as UMenuItem, _sfc_main$47 as UMenuSub, _sfc_main$48 as UMessage, _sfc_main$49 as UMessageConfirm, _sfc_main$50 as UMultiSelect, _sfc_main$51 as UMultiTreeSelect, NodeRender as UNodeRender, _sfc_main$52 as UNotification, _sfc_main$53 as UNumber, _sfc_main$54 as UNumberInput, _sfc_main$55 as UNumberRangeInput, _sfc_main$56 as UPaginator, _sfc_main$57 as UPalette, _sfc_main$58 as UPasswordInput, _sfc_main$59 as UPopConfirm, _sfc_main$60 as UProgress, _sfc_main$61 as UProgressNodes, _sfc_main$62 as URadio, _sfc_main$63 as URadioGroup, _sfc_main$64 as URichTextEditor, _sfc_main$65 as UScroll, _sfc_main$66 as USelect, _sfc_main$67 as USlider, _sfc_main$68 as USteps, _sfc_main$69 as USwitch, _sfc_main$70 as UTable, _sfc_main$71 as UTableEditor, _sfc_main$72 as UTabs, _sfc_main$73 as UTabsHorizontal, _sfc_main$74 as UTabsVertical, _sfc_main$75 as UTag, _sfc_main$76 as UText, _sfc_main$77 as UTextarea, _sfc_main$78 as UTheme, _sfc_main$79 as UTip, _sfc_main$80 as UTree, _sfc_main$81 as UTreeSelect, _sfc_main$82 as UWatermark, contextmenu, defineBatchEditColumns, defineTableColumns, formField, message, vLoading };
100
+ export { DynamicFormModel, FormModel, MessageConfirm, Notification, _sfc_main as UAction, action_group_default as UActionGroup, _sfc_main$1 as UAutoComplete, _sfc_main$2 as UBadge, _sfc_main$3 as UBatchEdit, _sfc_main$4 as UBreadcrumb, _sfc_main$5 as UButton, _sfc_main$6 as UButtonGroup, _sfc_main$7 as UCalendar, _sfc_main$8 as UCard, _sfc_main$9 as UCardAction, _sfc_main$10 as UCardContent, _sfc_main$11 as UCardCover, _sfc_main$12 as UCardHeader, _sfc_main$13 as UCascade, _sfc_main$14 as UCheckTag, _sfc_main$15 as UCheckbox, _sfc_main$16 as UCheckboxButton, _sfc_main$17 as UCheckboxGroup, _sfc_main$18 as UCodeEditor, _sfc_main$19 as UCollapse, _sfc_main$20 as UCollapseItem, _sfc_main$21 as UConditionEditor, _sfc_main$22 as UContextMenu, _sfc_main$23 as UDatePanel, _sfc_main$24 as UDatePicker, _sfc_main$25 as UDateRangePicker, _sfc_main$26 as UDialog, _sfc_main$27 as UDrawer, _sfc_main$28 as UDropdown, _sfc_main$29 as UEmpty, _sfc_main$30 as UExpressionEditor, _sfc_main$31 as UFilePicker, _sfc_main$32 as UFileViewer, _sfc_main$33 as UFloatButton, form_default as UForm, form_item_default as UFormItem, _sfc_main$34 as UGanttChart, _sfc_main$35 as UGrid, _sfc_main$36 as UGridInput, _sfc_main$37 as UGridItem, _sfc_main$38 as UGroupInput, _sfc_main$39 as UIcon, input_default as UInput, _sfc_main$40 as UKbd, _sfc_main$41 as ULayout, _sfc_main$42 as UList, _sfc_main$43 as UListItem, _sfc_main$44 as ULoading, _sfc_main$45 as UMenu, _sfc_main$46 as UMenuItem, _sfc_main$47 as UMenuSub, _sfc_main$48 as UMessage, _sfc_main$49 as UMessageConfirm, _sfc_main$50 as UMultiSelect, _sfc_main$51 as UMultiTreeSelect, NodeRender as UNodeRender, _sfc_main$52 as UNotification, _sfc_main$53 as UNumber, _sfc_main$54 as UNumberInput, _sfc_main$55 as UNumberRangeInput, _sfc_main$56 as UPaginator, _sfc_main$57 as UPalette, _sfc_main$58 as UPasswordInput, _sfc_main$59 as UPopConfirm, _sfc_main$60 as UProgress, _sfc_main$61 as UProgressNodes, _sfc_main$62 as URadio, _sfc_main$63 as URadioGroup, _sfc_main$64 as URichTextEditor, _sfc_main$65 as UScroll, _sfc_main$66 as USelect, _sfc_main$67 as USlider, _sfc_main$68 as USteps, _sfc_main$69 as USwitch, _sfc_main$70 as UTable, _sfc_main$71 as UTableEditor, _sfc_main$72 as UTabs, _sfc_main$73 as UTabsHorizontal, _sfc_main$74 as UTabsVertical, _sfc_main$75 as UTag, _sfc_main$76 as UText, _sfc_main$77 as UTextarea, _sfc_main$78 as UTheme, _sfc_main$79 as UTip, _sfc_main$80 as UTree, _sfc_main$81 as UTreeSelect, _sfc_main$82 as UWatermark, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, vLoading };
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","names":["components"],"sources":["../src/install.ts"],"sourcesContent":["import { vClickOutside, vFocus, vRipple } from '@veltra/directives'\nimport type { App, Component, Plugin } from 'vue'\n\nimport * as components from './components'\nimport { vLoading } from './components/loading'\nimport './style'\n\nfunction isComponentExport(name: string, value: unknown): value is Component {\n return name.startsWith('U') && (typeof value === 'object' || typeof value === 'function')\n}\n\nexport function install(app: App): void {\n for (const [name, component] of Object.entries(components)) {\n if (isComponentExport(name, component)) {\n app.component(name, component)\n }\n }\n\n app.directive('ripple', vRipple)\n app.directive('click-outside', vClickOutside)\n app.directive('focus', vFocus)\n app.directive('loading', vLoading)\n}\n\nexport const UltraUI: Plugin = { install }\n\nexport default UltraUI\n"],"mappings":";;;;;AAOA,SAAS,kBAAkB,MAAc,OAAoC;AAC3E,QAAO,KAAK,WAAW,IAAI,KAAK,OAAO,UAAU,YAAY,OAAO,UAAU;;AAGhF,SAAgB,QAAQ,KAAgB;AACtC,MAAK,MAAM,CAAC,MAAM,cAAc,OAAO,QAAQA,mBAAW,CACxD,KAAI,kBAAkB,MAAM,UAAU,CACpC,KAAI,UAAU,MAAM,UAAU;AAIlC,KAAI,UAAU,UAAU,QAAQ;AAChC,KAAI,UAAU,iBAAiB,cAAc;AAC7C,KAAI,UAAU,SAAS,OAAO;AAC9B,KAAI,UAAU,WAAW,SAAS;;AAGpC,MAAa,UAAkB,EAAE,SAAS"}
1
+ {"version":3,"file":"install.js","names":["components"],"sources":["../src/install.ts"],"sourcesContent":["import { vClickOutside, vFocus, vRipple } from '@veltra/directives'\nimport type { App, Component, Plugin } from 'vue'\n\nimport * as components from './components'\nimport { vLoading } from './components/loading'\nimport './style'\n\nfunction isComponentExport(name: string, value: unknown): value is Component {\n return name.startsWith('U') && (typeof value === 'object' || typeof value === 'function')\n}\n\nexport function install(app: App): void {\n for (const [name, component] of Object.entries(components)) {\n if (isComponentExport(name, component)) {\n app.component(name, component)\n }\n }\n\n app.directive('ripple', vRipple)\n app.directive('click-outside', vClickOutside)\n app.directive('focus', vFocus)\n app.directive('loading', vLoading)\n}\n\nexport const UltraUI: Plugin = { install }\n\nexport default UltraUI\n"],"mappings":";;;;;AAOA,SAAS,kBAAkB,MAAc,OAAoC;CAC3E,OAAO,KAAK,WAAW,IAAI,KAAK,OAAO,UAAU,YAAY,OAAO,UAAU;;AAGhF,SAAgB,QAAQ,KAAgB;CACtC,KAAK,MAAM,CAAC,MAAM,cAAc,OAAO,QAAQA,mBAAW,EACxD,IAAI,kBAAkB,MAAM,UAAU,EACpC,IAAI,UAAU,MAAM,UAAU;CAIlC,IAAI,UAAU,UAAU,QAAQ;CAChC,IAAI,UAAU,iBAAiB,cAAc;CAC7C,IAAI,UAAU,SAAS,OAAO;CAC9B,IAAI,UAAU,WAAW,SAAS;;AAGpC,MAAa,UAAkB,EAAE,SAAS"}
@@ -25,7 +25,7 @@ interface BatchEditProps<Model extends IFormModel = IFormModel> extends TablePro
25
25
  /** label的宽度 */
26
26
  labelWidth?: string | number;
27
27
  /** 删除方法 */
28
- deleteMethod?: (data: Record<string, any>[]) => Promise<any> | any;
28
+ deleteMethod?: (data: Record<string, any>[]) => any;
29
29
  /**
30
30
  * 保存方法
31
31
  * @description 这个方法旨在快编时生效
@@ -37,7 +37,7 @@ interface BatchEditProps<Model extends IFormModel = IFormModel> extends TablePro
37
37
 
38
38
  actionType: 'create' | 'update', /** 父级数据 */
39
39
 
40
- parentData?: Record<string, any>) => Promise<any> | any;
40
+ parentData?: Record<string, any>) => any;
41
41
  /**
42
42
  * 可用功能,不穿则对功能没有任何限制
43
43
  *
@@ -2,6 +2,7 @@ import { VariableItem } from "./expression-editor.js";
2
2
  import { ComponentSize, DeconstructValue } from "@veltra/utils";
3
3
 
4
4
  //#region src/types/condition-editor.d.ts
5
+ /** 字段定义 */
5
6
  interface ConditionField {
6
7
  label: string;
7
8
  value: string;
@@ -11,6 +12,7 @@ interface ConditionField {
11
12
  value: string;
12
13
  }[];
13
14
  }
15
+ /** 条件右侧值:常量或变量引用 */
14
16
  type ConditionValue = {
15
17
  kind: 'constant';
16
18
  value: string;
@@ -18,34 +20,44 @@ type ConditionValue = {
18
20
  kind: 'variable';
19
21
  name: string;
20
22
  };
21
- interface ConditionItem {
23
+ /** 单行条件叶子节点 */
24
+ interface ConditionLeaf {
25
+ type: 'condition';
22
26
  field: string;
23
27
  operator: string;
24
28
  value: ConditionValue;
25
- _result?: boolean;
26
29
  }
30
+ /** 行间逻辑连接符 */
31
+ type ConditionConnector = 'and' | 'or';
32
+ /** 条件组节点 —— 与叶子节点通过 children 统一编排 */
27
33
  interface ConditionGroup {
28
- logic: 'and' | 'or';
29
- conditions: ConditionItem[];
30
- groups: ConditionGroup[];
31
- _result?: boolean;
34
+ type: 'group';
35
+ children: ConditionNode[];
36
+ /**
37
+ * 子项之间的连接符
38
+ *
39
+ * - `connectors[i]` 用于 `children[i]` 与 `children[i + 1]` 之间
40
+ * - 长度应等于 `children.length - 1`;缺失项默认为 `and`
41
+ */
42
+ connectors: ConditionConnector[];
32
43
  }
44
+ /** 树节点:叶子或分组 */
45
+ type ConditionNode = ConditionLeaf | ConditionGroup;
46
+ /** 顶层表达式 = 根分组 */
33
47
  type ConditionExpression = ConditionGroup;
34
48
  interface ConditionEditorProps {
35
49
  modelValue?: ConditionExpression;
36
50
  fields?: ConditionField[];
37
51
  variables?: VariableItem[];
38
- data?: Record<string, unknown>;
39
52
  size?: ComponentSize;
40
53
  disabled?: boolean;
41
54
  readonly?: boolean;
42
55
  }
43
56
  interface ConditionEditorEmits {
44
57
  (e: 'update:modelValue', value: ConditionExpression): void;
45
- (e: 'evaluate', results: ConditionExpression): void;
46
58
  }
47
59
  interface _ConditionEditorExposed {}
48
60
  type ConditionEditorExposed = DeconstructValue<_ConditionEditorExposed>;
49
61
  //#endregion
50
- export { ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, _ConditionEditorExposed };
62
+ export { ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, _ConditionEditorExposed };
51
63
  //# sourceMappingURL=condition-editor.d.ts.map
@@ -65,7 +65,7 @@ import { FormItemEmits, FormItemExposed, FormItemProps } from "./form-item.js";
65
65
  import { GroupInputEmits, GroupInputExposed, GroupInputProps, _GroupInputExposed } from "./group-input.js";
66
66
  import { PaginatorEmits, PaginatorExposed, PaginatorProps, _PaginatorExposed } from "./paginator.js";
67
67
  import { ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, VariableItem, _ExpressionEditorExposed } from "./expression-editor.js";
68
- import { ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, _ConditionEditorExposed } from "./condition-editor.js";
68
+ import { ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, _ConditionEditorExposed } from "./condition-editor.js";
69
69
  import { CssTransitionEmits, CssTransitionExposed, CssTransitionProps, _CssTransitionExposed } from "./css-transition.js";
70
70
  import { MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, _MessageConfirmExposed } from "./message-confirm.js";
71
71
  import { MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, _MultiAutoCompleteExposed } from "./multi-auto-complete.js";
@@ -81,7 +81,7 @@ export * from "@veltra/utils";
81
81
 
82
82
  //#region src/types/index.d.ts
83
83
  declare namespace index_d_exports {
84
- export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NodeRenderExposed, NodeRenderProps, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed };
84
+ export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NodeRenderExposed, NodeRenderProps, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed };
85
85
  }
86
86
  import * as import__veltra_utils from "@veltra/utils";
87
87
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltra/desktop",
3
- "version": "1.1.15",
3
+ "version": "1.1.18",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -35,12 +35,12 @@
35
35
  }
36
36
  },
37
37
  "scripts": {
38
- "build": "tsdown",
39
- "check-types": "tsc -p tsconfig.json --noEmit"
38
+ "build": "vp pack"
39
+ },
40
+ "devDependencies": {
41
+ "@cat-kit/fe": "^1.1.3"
40
42
  },
41
43
  "dependencies": {
42
- "@cat-kit/core": "^1.1.3",
43
- "@cat-kit/excel": "^1.0.1",
44
44
  "@codemirror/lang-java": "^6.0.2",
45
45
  "@codemirror/lang-javascript": "^6.2.5",
46
46
  "@codemirror/lang-json": "^6.0.2",
@@ -62,22 +62,19 @@
62
62
  "@lexical/rich-text": "^0.43.0",
63
63
  "@lexical/selection": "^0.43.0",
64
64
  "@lexical/utils": "^0.43.0",
65
- "@veltra/compositions": "1.1.15",
66
- "@veltra/directives": "1.1.15",
67
- "@veltra/icons": "1.1.15",
68
- "@veltra/styles": "1.1.15",
69
- "@veltra/utils": "1.1.15",
70
65
  "@visactor/vtable": "^1.26.0",
71
66
  "codemirror": "^6.0.2",
72
67
  "docx-preview": "^0.3.7",
73
68
  "lexical": "^0.43.0"
74
69
  },
75
70
  "peerDependencies": {
76
- "@veltra/compositions": "1.1.15",
77
- "@veltra/directives": "1.1.15",
78
- "@veltra/icons": "1.1.15",
79
- "@veltra/styles": "1.1.15",
80
- "@veltra/utils": "1.1.15",
81
- "vue": "^3.5.33"
71
+ "@cat-kit/core": ">=1.1.0",
72
+ "@cat-kit/excel": ">=1.0.0",
73
+ "@veltra/compositions": "1.1.18",
74
+ "@veltra/directives": "1.1.18",
75
+ "@veltra/icons": "1.1.18",
76
+ "@veltra/styles": "1.1.18",
77
+ "@veltra/utils": "1.1.18",
78
+ "vue": ">=3.5.0"
82
79
  }
83
80
  }
@@ -1,6 +1,5 @@
1
1
  @use 'pkg:@veltra/styles/mixins' as m;
2
2
  @use 'pkg:@veltra/styles/functions' as fn;
3
- @use 'pkg:@veltra/styles/vars';
4
3
 
5
4
  $root-name: action;
6
5
  $group-name: action-group;
@@ -48,11 +47,6 @@ $group-name: action-group;
48
47
  }
49
48
  }
50
49
 
51
- // 覆盖 tip 组件尺寸类(.tip--default)的 padding,下拉菜单需要更紧凑的间距
52
- .#{vars.$namespace}#{$group-name}__dropdown#{vars.$namespace}tip__content {
53
- padding: 4px;
54
- }
55
-
56
50
  @include m.b($root-name) {
57
51
  flex-shrink: 0;
58
52
  }
@@ -1,6 +1,5 @@
1
1
  @use 'pkg:@veltra/styles/mixins' as m;
2
2
  @use 'pkg:@veltra/styles/functions' as fn;
3
- @use 'pkg:@veltra/styles/vars';
4
3
 
5
4
  // 方便拼接
6
5
  $root-name: auto-complete;