@veltra/desktop 1.1.3 → 1.1.5

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 (163) hide show
  1. package/dist/components/action/action-group.js +3 -110
  2. package/dist/components/action/action-group.js.map +1 -1
  3. package/dist/components/action/action-group.vue.d.ts +5 -14
  4. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js +105 -0
  5. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js.map +1 -0
  6. package/dist/components/action/action.js +5 -1
  7. package/dist/components/action/action.js.map +1 -1
  8. package/dist/components/action/di.js.map +1 -1
  9. package/dist/components/action/style2.css +17 -14
  10. package/dist/components/auto-complete/auto-complete.js +1 -1
  11. package/dist/components/auto-complete/auto-complete.vue.d.ts +2 -2
  12. package/dist/components/badge/badge.js +1 -1
  13. package/dist/components/batch-edit/batch-edit-form.js +94 -101
  14. package/dist/components/batch-edit/batch-edit-form.js.map +1 -1
  15. package/dist/components/batch-edit/batch-edit-list.js +52 -68
  16. package/dist/components/batch-edit/batch-edit-list.js.map +1 -1
  17. package/dist/components/batch-edit/style2.css +13 -89
  18. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  19. package/dist/components/button/button.js +1 -1
  20. package/dist/components/card/card.js +1 -1
  21. package/dist/components/cascade/cascade-panel-item.js +4 -4
  22. package/dist/components/cascade/cascade.js +2 -2
  23. package/dist/components/cascade/cascade.vue.d.ts +5 -5
  24. package/dist/components/checkbox/checkbox-button.js +1 -1
  25. package/dist/components/checkbox/checkbox.js +1 -1
  26. package/dist/components/checkbox-group/checkbox-group.js +1 -1
  27. package/dist/components/code-editor/code-editor.js +1 -1
  28. package/dist/components/collapse/collapse.js +1 -1
  29. package/dist/components/condition-editor/components/condition-group.js +152 -0
  30. package/dist/components/condition-editor/components/condition-group.js.map +1 -0
  31. package/dist/components/condition-editor/components/condition-row.js +217 -0
  32. package/dist/components/condition-editor/components/condition-row.js.map +1 -0
  33. package/dist/components/condition-editor/condition-editor.js +134 -5
  34. package/dist/components/condition-editor/condition-editor.js.map +1 -1
  35. package/dist/components/condition-editor/condition-editor.vue.d.ts +10 -2
  36. package/dist/components/condition-editor/core/evaluator.js +75 -0
  37. package/dist/components/condition-editor/core/evaluator.js.map +1 -0
  38. package/dist/components/condition-editor/core/operators.js +123 -0
  39. package/dist/components/condition-editor/core/operators.js.map +1 -0
  40. package/dist/components/condition-editor/style.js +7 -0
  41. package/dist/components/condition-editor/style2.css +186 -0
  42. package/dist/components/context-menu/context-menu.js +1 -1
  43. package/dist/components/date-picker/date-picker.js +2 -2
  44. package/dist/components/date-picker/date-picker.vue.d.ts +2 -2
  45. package/dist/components/date-range-picker/date-range-picker.js +2 -2
  46. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +2 -2
  47. package/dist/components/dialog/dialog.js +7 -7
  48. package/dist/components/dialog/style2.css +8 -0
  49. package/dist/components/dialog/use-maximum.js +1 -1
  50. package/dist/components/drawer/style2.css +8 -0
  51. package/dist/components/dropdown/dropdown.js +1 -1
  52. package/dist/components/expression-editor/components/variable-picker.js +8 -8
  53. package/dist/components/expression-editor/expression-editor.js +1 -1
  54. package/dist/components/expression-editor/style2.css +1 -0
  55. package/dist/components/file-viewer/file-viewer.js +13 -13
  56. package/dist/components/form-item/form-item.js.map +1 -1
  57. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js +6 -6
  58. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  59. package/dist/components/grid-input/grid-input.js +1 -1
  60. package/dist/components/group-input/group-input.js +2 -1
  61. package/dist/components/group-input/group-input.js.map +1 -1
  62. package/dist/components/group-input/style.js +1 -0
  63. package/dist/components/index.js +154 -154
  64. package/dist/components/input/input.vue.d.ts +4 -4
  65. package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js +1 -1
  66. package/dist/components/layout/layout-resizer.js +1 -1
  67. package/dist/components/layout/layout.js +1 -1
  68. package/dist/components/list/list.js +1 -1
  69. package/dist/components/loading/loading.js +1 -1
  70. package/dist/components/menu/menu-sub-collapsed.js +4 -4
  71. package/dist/components/menu/menu.js +1 -1
  72. package/dist/components/message/message.js +1 -1
  73. package/dist/components/message-confirm/message-confirm.js +1 -1
  74. package/dist/components/multi-select/multi-select-option.js +19 -14
  75. package/dist/components/multi-select/multi-select-option.js.map +1 -1
  76. package/dist/components/multi-select/multi-select.js +15 -15
  77. package/dist/components/multi-select/multi-select.vue.d.ts +4 -4
  78. package/dist/components/multi-tree-select/multi-tree-select.js +8 -8
  79. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +6 -6
  80. package/dist/components/notification/notification.js +1 -1
  81. package/dist/components/notification/notification.vue.d.ts +1 -1
  82. package/dist/components/number/number.vue.d.ts +1 -1
  83. package/dist/components/number-input/number-input.js +2 -2
  84. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  85. package/dist/components/number-range-input/number-range-input.js +1 -1
  86. package/dist/components/number-range-input/number-range-input.vue.d.ts +1 -1
  87. package/dist/components/number-range-input/style2.css +1 -0
  88. package/dist/components/paginator/paginator.js +6 -6
  89. package/dist/components/paginator/style.js +1 -1
  90. package/dist/components/palette/palette.js +1 -1
  91. package/dist/components/password-input/password-input.js +2 -2
  92. package/dist/components/password-input/password-input.vue.d.ts +1 -1
  93. package/dist/components/pop-confirm/pop-confirm.js +1 -1
  94. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
  95. package/dist/components/progress-nodes/progress-nodes.js +1 -1
  96. package/dist/components/radio/radio.js +1 -1
  97. package/dist/components/radio-group/radio-group.js +1 -1
  98. package/dist/components/rich-text-editor/rich-text-editor.js +1 -1
  99. package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +1 -1
  100. package/dist/components/scroll/scroll-bar.js +1 -1
  101. package/dist/components/scroll/scroll.js +1 -1
  102. package/dist/components/select/select.js +10 -10
  103. package/dist/components/select/select.vue.d.ts +2 -2
  104. package/dist/components/slider/slider.js +1 -1
  105. package/dist/components/steps/steps.js +2 -2
  106. package/dist/components/switch/switch.js +1 -1
  107. package/dist/components/table/style2.css +4 -1
  108. package/dist/components/table/table.js +2 -2
  109. package/dist/components/table/table.js.map +1 -1
  110. package/dist/components/table/use-columns.js +1 -1
  111. package/dist/components/table/use-fixed-columns.js +8 -31
  112. package/dist/components/table/use-fixed-columns.js.map +1 -1
  113. package/dist/components/table-editor/table-editor.js +1 -1
  114. package/dist/components/tabs/tabs-horizontal.js +1 -1
  115. package/dist/components/tabs/tabs-horizontal.vue.d.ts +4 -4
  116. package/dist/components/tabs/tabs-vertical.js +1 -1
  117. package/dist/components/tabs/tabs-vertical.vue.d.ts +3 -3
  118. package/dist/components/tabs/tabs.js +1 -1
  119. package/dist/components/tabs/tabs.vue.d.ts +4 -4
  120. package/dist/components/tag/tag.js +1 -1
  121. package/dist/components/textarea/textarea.js +1 -1
  122. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  123. package/dist/components/theme/style.js +1 -1
  124. package/dist/components/theme/theme.js +11 -11
  125. package/dist/components/tip/tip.js +1 -1
  126. package/dist/components/tree/tree-node.js +1 -1
  127. package/dist/components/tree/tree.js +5 -5
  128. package/dist/components/tree-select/tree-select.js +6 -6
  129. package/dist/components/tree-select/tree-select.vue.d.ts +5 -5
  130. package/dist/index.d.ts +5 -5
  131. package/dist/index.js +83 -83
  132. package/dist/style.js +2 -2
  133. package/dist/types/action.d.ts +5 -11
  134. package/dist/types/condition-editor.d.ts +41 -8
  135. package/dist/types/index.d.ts +4 -4
  136. package/package.json +11 -11
  137. package/src/components/action/action-group.vue +68 -82
  138. package/src/components/action/action.vue +9 -1
  139. package/src/components/action/di.ts +2 -1
  140. package/src/components/action/style.scss +22 -27
  141. package/src/components/batch-edit/batch-edit-form.vue +65 -70
  142. package/src/components/batch-edit/batch-edit-list.vue +35 -41
  143. package/src/components/batch-edit/style.scss +19 -118
  144. package/src/components/condition-editor/components/condition-group.vue +131 -0
  145. package/src/components/condition-editor/components/condition-row.vue +208 -0
  146. package/src/components/condition-editor/condition-editor.vue +145 -6
  147. package/src/components/condition-editor/core/evaluator.ts +93 -0
  148. package/src/components/condition-editor/core/operators.ts +57 -0
  149. package/src/components/condition-editor/style.scss +239 -1
  150. package/src/components/condition-editor/style.ts +7 -0
  151. package/src/components/dialog/style.scss +13 -0
  152. package/src/components/drawer/style.scss +13 -0
  153. package/src/components/expression-editor/style.scss +1 -0
  154. package/src/components/form-item/form-item.vue +1 -1
  155. package/src/components/group-input/group-input.vue +8 -1
  156. package/src/components/group-input/style.ts +1 -0
  157. package/src/components/multi-select/multi-select-option.vue +19 -13
  158. package/src/components/number-range-input/style.scss +1 -0
  159. package/src/components/table/style.scss +9 -1
  160. package/src/components/table/table.vue +1 -3
  161. package/src/components/table/use-fixed-columns.ts +5 -49
  162. package/src/types/action.ts +6 -11
  163. package/src/types/condition-editor.ts +39 -7
package/dist/index.js CHANGED
@@ -1,98 +1,98 @@
1
- import _sfc_main$22 from "./components/condition-editor/condition-editor.js";
2
- import _sfc_main$65 from "./components/scroll/scroll.js";
3
- import _sfc_main$40 from "./components/icon/icon.js";
4
- import _sfc_main$73 from "./components/tabs/tabs-horizontal.js";
5
- import _sfc_main$74 from "./components/tabs/tabs-vertical.js";
6
- import _sfc_main$72 from "./components/tabs/tabs.js";
7
- import _sfc_main$30 from "./components/empty/empty.js";
8
- import _sfc_main$16 from "./components/checkbox/checkbox.js";
1
+ import _sfc_main$39 from "./components/icon/icon.js";
2
+ import _sfc_main$29 from "./components/empty/empty.js";
3
+ import _sfc_main$64 from "./components/scroll/scroll.js";
9
4
  import NodeRender from "./components/node-render/node-render.js";
10
- import _sfc_main$80 from "./components/tree/tree.js";
11
- import _sfc_main$29 from "./components/dropdown/dropdown.js";
5
+ import _sfc_main$78 from "./components/tip/tip.js";
6
+ import _sfc_main$28 from "./components/dropdown/dropdown.js";
12
7
  import input_default from "./components/input/input.js";
13
- import _sfc_main$81 from "./components/tree-select/tree-select.js";
14
- import _sfc_main$19 from "./components/code-editor/code-editor.js";
15
- import _sfc_main$28 from "./components/drawer/drawer.js";
16
- import _sfc_main$36 from "./components/grid/grid.js";
17
- import _sfc_main$38 from "./components/grid/grid-item.js";
18
- import _sfc_main$79 from "./components/tip/tip.js";
8
+ import _sfc_main$65 from "./components/select/select.js";
9
+ import _sfc_main$21 from "./components/condition-editor/condition-editor.js";
10
+ import _sfc_main$72 from "./components/tabs/tabs-horizontal.js";
11
+ import _sfc_main$73 from "./components/tabs/tabs-vertical.js";
12
+ import _sfc_main$71 from "./components/tabs/tabs.js";
13
+ import _sfc_main$15 from "./components/checkbox/checkbox.js";
14
+ import _sfc_main$79 from "./components/tree/tree.js";
15
+ import _sfc_main$80 from "./components/tree-select/tree-select.js";
16
+ import _sfc_main$18 from "./components/code-editor/code-editor.js";
17
+ import _sfc_main$27 from "./components/drawer/drawer.js";
18
+ import _sfc_main$35 from "./components/grid/grid.js";
19
+ import _sfc_main$37 from "./components/grid/grid-item.js";
19
20
  import form_item_default from "./components/form-item/form-item.js";
20
21
  import form_default from "./components/form/form.js";
21
22
  import { formField } from "./components/form/helper.js";
22
23
  import { FormModel } from "./components/form/form-model.js";
23
24
  import { DynamicFormModel } from "./components/form/dynamic-form-model.js";
24
- import _sfc_main$6 from "./components/button/button.js";
25
- import _sfc_main$7 from "./components/button/button-group.js";
26
- import _sfc_main$49 from "./components/message-confirm/message-confirm.js";
25
+ import _sfc_main$5 from "./components/button/button.js";
26
+ import _sfc_main$6 from "./components/button/button-group.js";
27
+ import _sfc_main$48 from "./components/message-confirm/message-confirm.js";
27
28
  import MessageConfirm from "./components/message-confirm/message-confirm2.js";
28
- import _sfc_main$8 from "./components/calendar/calendar.js";
29
- import _sfc_main$62 from "./components/radio/radio.js";
30
- import _sfc_main$9 from "./components/card/card.js";
31
- import _sfc_main$13 from "./components/card/card-header.js";
32
- import _sfc_main$12 from "./components/card/card-cover.js";
33
- import _sfc_main$11 from "./components/card/card-content.js";
34
- import _sfc_main$10 from "./components/card/card-action.js";
35
- import _sfc_main$24 from "./components/date-panel/date-panel.js";
36
- import _sfc_main$26 from "./components/date-range-picker/date-range-picker.js";
37
- import _sfc_main$44 from "./components/loading/loading.js";
29
+ import _sfc_main$7 from "./components/calendar/calendar.js";
30
+ import _sfc_main$61 from "./components/radio/radio.js";
31
+ import _sfc_main$8 from "./components/card/card.js";
32
+ import _sfc_main$12 from "./components/card/card-header.js";
33
+ import _sfc_main$11 from "./components/card/card-cover.js";
34
+ import _sfc_main$10 from "./components/card/card-content.js";
35
+ import _sfc_main$9 from "./components/card/card-action.js";
36
+ import _sfc_main$23 from "./components/date-panel/date-panel.js";
37
+ import _sfc_main$25 from "./components/date-range-picker/date-range-picker.js";
38
+ import _sfc_main$43 from "./components/loading/loading.js";
38
39
  import { vLoading } from "./components/loading/directive.js";
39
- import _sfc_main$61 from "./components/progress-nodes/progress-nodes.js";
40
- import _sfc_main$2 from "./components/auto-complete/auto-complete.js";
41
- import _sfc_main$60 from "./components/progress/progress.js";
42
- import _sfc_main$52 from "./components/notification/notification.js";
40
+ import _sfc_main$60 from "./components/progress-nodes/progress-nodes.js";
41
+ import _sfc_main$1 from "./components/auto-complete/auto-complete.js";
42
+ import _sfc_main$59 from "./components/progress/progress.js";
43
+ import _sfc_main$51 from "./components/notification/notification.js";
43
44
  import { Notification } from "./components/notification/index.js";
44
- import _sfc_main$41 from "./components/layout/layout.js";
45
- import _sfc_main$75 from "./components/tag/tag.js";
46
- import _sfc_main$17 from "./components/checkbox/checkbox-button.js";
47
- import _sfc_main$50 from "./components/multi-select/multi-select.js";
48
- import _sfc_main$67 from "./components/slider/slider.js";
49
- import _sfc_main$35 from "./components/gantt-chart/gantt-chart.js";
50
- import _sfc_main$48 from "./components/message/message.js";
45
+ import _sfc_main$40 from "./components/layout/layout.js";
46
+ import _sfc_main$74 from "./components/tag/tag.js";
47
+ import _sfc_main$16 from "./components/checkbox/checkbox-button.js";
48
+ import _sfc_main$49 from "./components/multi-select/multi-select.js";
49
+ import _sfc_main$66 from "./components/slider/slider.js";
50
+ import _sfc_main$34 from "./components/gantt-chart/gantt-chart.js";
51
+ import _sfc_main$47 from "./components/message/message.js";
51
52
  import { message } from "./components/message/message2.js";
52
- import _sfc_main$32 from "./components/file-picker/file-picker.js";
53
- import _sfc_main$54 from "./components/number-input/number-input.js";
54
- import _sfc_main$55 from "./components/number-range-input/number-range-input.js";
55
- import _sfc_main$20 from "./components/collapse/collapse.js";
56
- import _sfc_main$21 from "./components/collapse/collapse-item.js";
53
+ import _sfc_main$31 from "./components/file-picker/file-picker.js";
54
+ import _sfc_main$53 from "./components/number-input/number-input.js";
55
+ import _sfc_main$54 from "./components/number-range-input/number-range-input.js";
56
+ import _sfc_main$19 from "./components/collapse/collapse.js";
57
+ import _sfc_main$20 from "./components/collapse/collapse-item.js";
57
58
  import { defineTableColumns } from "./components/table/use-columns.js";
58
- import _sfc_main$70 from "./components/table/table.js";
59
- import _sfc_main$71 from "./components/table-editor/table-editor.js";
60
- import _sfc_main$15 from "./components/check-tag/check-tag.js";
61
- import _sfc_main$23 from "./components/context-menu/context-menu.js";
59
+ import _sfc_main$69 from "./components/table/table.js";
60
+ import _sfc_main$70 from "./components/table-editor/table-editor.js";
61
+ import _sfc_main$14 from "./components/check-tag/check-tag.js";
62
+ import _sfc_main$22 from "./components/context-menu/context-menu.js";
62
63
  import { contextmenu } from "./components/context-menu/api.js";
63
- import _sfc_main$58 from "./components/password-input/password-input.js";
64
- import _sfc_main$53 from "./components/number/number.js";
65
- import _sfc_main$27 from "./components/dialog/dialog.js";
66
- import _sfc_main$31 from "./components/expression-editor/expression-editor.js";
67
- import _sfc_main$82 from "./components/watermark/watermark.js";
68
- import _sfc_main$59 from "./components/pop-confirm/pop-confirm.js";
64
+ import _sfc_main$57 from "./components/password-input/password-input.js";
65
+ import _sfc_main$52 from "./components/number/number.js";
66
+ import _sfc_main$26 from "./components/dialog/dialog.js";
67
+ import _sfc_main$30 from "./components/expression-editor/expression-editor.js";
68
+ import _sfc_main$81 from "./components/watermark/watermark.js";
69
+ import _sfc_main$58 from "./components/pop-confirm/pop-confirm.js";
69
70
  import _sfc_main from "./components/action/action.js";
70
- import _sfc_main$1 from "./components/action/action-group.js";
71
- import _sfc_main$4 from "./components/batch-edit/batch-edit.js";
71
+ import action_group_default from "./components/action/action-group.js";
72
+ import _sfc_main$3 from "./components/batch-edit/batch-edit.js";
72
73
  import { defineBatchEditColumns } from "./components/batch-edit/helper.js";
73
- import _sfc_main$77 from "./components/textarea/textarea.js";
74
- import _sfc_main$14 from "./components/cascade/cascade.js";
75
- import _sfc_main$68 from "./components/steps/steps.js";
76
- import _sfc_main$25 from "./components/date-picker/date-picker.js";
77
- import _sfc_main$57 from "./components/palette/palette.js";
78
- import _sfc_main$66 from "./components/select/select.js";
79
- import _sfc_main$78 from "./components/theme/theme.js";
80
- import _sfc_main$51 from "./components/multi-tree-select/multi-tree-select.js";
81
- import _sfc_main$39 from "./components/group-input/group-input.js";
82
- import _sfc_main$42 from "./components/list/list.js";
83
- import _sfc_main$43 from "./components/list/list-item.js";
84
- import _sfc_main$64 from "./components/rich-text-editor/rich-text-editor.js";
85
- import _sfc_main$46 from "./components/menu/menu-item.js";
86
- import _sfc_main$47 from "./components/menu/menu-sub.js";
87
- import _sfc_main$45 from "./components/menu/menu.js";
88
- import _sfc_main$37 from "./components/grid-input/grid-input.js";
89
- import _sfc_main$69 from "./components/switch/switch.js";
90
- import _sfc_main$63 from "./components/radio-group/radio-group.js";
91
- import _sfc_main$18 from "./components/checkbox-group/checkbox-group.js";
92
- import _sfc_main$33 from "./components/file-viewer/file-viewer.js";
93
- import _sfc_main$76 from "./components/text/text.js";
94
- import _sfc_main$5 from "./components/breadcrumb/breadcrumb.js";
95
- import _sfc_main$56 from "./components/paginator/paginator.js";
96
- import _sfc_main$34 from "./components/float-button/float-button.js";
97
- import _sfc_main$3 from "./components/badge/badge.js";
98
- export { DynamicFormModel, FormModel, MessageConfirm, Notification, _sfc_main as UAction, _sfc_main$1 as UActionGroup, _sfc_main$2 as UAutoComplete, _sfc_main$3 as UBadge, _sfc_main$4 as UBatchEdit, _sfc_main$5 as UBreadcrumb, _sfc_main$6 as UButton, _sfc_main$7 as UButtonGroup, _sfc_main$8 as UCalendar, _sfc_main$9 as UCard, _sfc_main$10 as UCardAction, _sfc_main$11 as UCardContent, _sfc_main$12 as UCardCover, _sfc_main$13 as UCardHeader, _sfc_main$14 as UCascade, _sfc_main$15 as UCheckTag, _sfc_main$16 as UCheckbox, _sfc_main$17 as UCheckboxButton, _sfc_main$18 as UCheckboxGroup, _sfc_main$19 as UCodeEditor, _sfc_main$20 as UCollapse, _sfc_main$21 as UCollapseItem, _sfc_main$22 as UConditionEditor, _sfc_main$23 as UContextMenu, _sfc_main$24 as UDatePanel, _sfc_main$25 as UDatePicker, _sfc_main$26 as UDateRangePicker, _sfc_main$27 as UDialog, _sfc_main$28 as UDrawer, _sfc_main$29 as UDropdown, _sfc_main$30 as UEmpty, _sfc_main$31 as UExpressionEditor, _sfc_main$32 as UFilePicker, _sfc_main$33 as UFileViewer, _sfc_main$34 as UFloatButton, form_default as UForm, form_item_default as UFormItem, _sfc_main$35 as UGanttChart, _sfc_main$36 as UGrid, _sfc_main$37 as UGridInput, _sfc_main$38 as UGridItem, _sfc_main$39 as UGroupInput, _sfc_main$40 as UIcon, input_default as UInput, _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 };
74
+ import _sfc_main$76 from "./components/textarea/textarea.js";
75
+ import _sfc_main$13 from "./components/cascade/cascade.js";
76
+ import _sfc_main$67 from "./components/steps/steps.js";
77
+ import _sfc_main$24 from "./components/date-picker/date-picker.js";
78
+ import _sfc_main$56 from "./components/palette/palette.js";
79
+ import _sfc_main$77 from "./components/theme/theme.js";
80
+ import _sfc_main$50 from "./components/multi-tree-select/multi-tree-select.js";
81
+ import _sfc_main$38 from "./components/group-input/group-input.js";
82
+ import _sfc_main$41 from "./components/list/list.js";
83
+ import _sfc_main$42 from "./components/list/list-item.js";
84
+ import _sfc_main$63 from "./components/rich-text-editor/rich-text-editor.js";
85
+ import _sfc_main$45 from "./components/menu/menu-item.js";
86
+ import _sfc_main$46 from "./components/menu/menu-sub.js";
87
+ import _sfc_main$44 from "./components/menu/menu.js";
88
+ import _sfc_main$36 from "./components/grid-input/grid-input.js";
89
+ import _sfc_main$68 from "./components/switch/switch.js";
90
+ import _sfc_main$62 from "./components/radio-group/radio-group.js";
91
+ import _sfc_main$17 from "./components/checkbox-group/checkbox-group.js";
92
+ import _sfc_main$32 from "./components/file-viewer/file-viewer.js";
93
+ import _sfc_main$75 from "./components/text/text.js";
94
+ import _sfc_main$4 from "./components/breadcrumb/breadcrumb.js";
95
+ import _sfc_main$55 from "./components/paginator/paginator.js";
96
+ import _sfc_main$33 from "./components/float-button/float-button.js";
97
+ import _sfc_main$2 from "./components/badge/badge.js";
98
+ 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 ULayout, _sfc_main$41 as UList, _sfc_main$42 as UListItem, _sfc_main$43 as ULoading, _sfc_main$44 as UMenu, _sfc_main$45 as UMenuItem, _sfc_main$46 as UMenuSub, _sfc_main$47 as UMessage, _sfc_main$48 as UMessageConfirm, _sfc_main$49 as UMultiSelect, _sfc_main$50 as UMultiTreeSelect, NodeRender as UNodeRender, _sfc_main$51 as UNotification, _sfc_main$52 as UNumber, _sfc_main$53 as UNumberInput, _sfc_main$54 as UNumberRangeInput, _sfc_main$55 as UPaginator, _sfc_main$56 as UPalette, _sfc_main$57 as UPasswordInput, _sfc_main$58 as UPopConfirm, _sfc_main$59 as UProgress, _sfc_main$60 as UProgressNodes, _sfc_main$61 as URadio, _sfc_main$62 as URadioGroup, _sfc_main$63 as URichTextEditor, _sfc_main$64 as UScroll, _sfc_main$65 as USelect, _sfc_main$66 as USlider, _sfc_main$67 as USteps, _sfc_main$68 as USwitch, _sfc_main$69 as UTable, _sfc_main$70 as UTableEditor, _sfc_main$71 as UTabs, _sfc_main$72 as UTabsHorizontal, _sfc_main$73 as UTabsVertical, _sfc_main$74 as UTag, _sfc_main$75 as UText, _sfc_main$76 as UTextarea, _sfc_main$77 as UTheme, _sfc_main$78 as UTip, _sfc_main$79 as UTree, _sfc_main$80 as UTreeSelect, _sfc_main$81 as UWatermark, contextmenu, defineBatchEditColumns, defineTableColumns, formField, message, vLoading };
package/dist/style.js CHANGED
@@ -26,6 +26,8 @@ import "./components/check-tag/style.js";
26
26
  import "./components/checkbox-group/style.js";
27
27
  import "./components/code-editor/style.js";
28
28
  import "./components/collapse/style.js";
29
+ import "./components/select/style.js";
30
+ import "./components/expression-editor/style.js";
29
31
  import "./components/condition-editor/style.js";
30
32
  import "./components/context-menu/style.js";
31
33
  import "./components/date-panel/style.js";
@@ -33,7 +35,6 @@ import "./components/date-picker/style.js";
33
35
  import "./components/date-range-picker/style.js";
34
36
  import "./components/dialog/style.js";
35
37
  import "./components/drawer/style.js";
36
- import "./components/expression-editor/style.js";
37
38
  import "./components/file-picker/style.js";
38
39
  import "./components/file-viewer/style.js";
39
40
  import "./components/float-button/style.js";
@@ -53,7 +54,6 @@ import "./components/notification/style.js";
53
54
  import "./components/number-input/style.js";
54
55
  import "./components/number-range-input/style.js";
55
56
  import "./components/number/style.js";
56
- import "./components/select/style.js";
57
57
  import "./components/paginator/style.js";
58
58
  import "./components/palette/style.js";
59
59
  import "./components/password-input/style.js";
@@ -26,16 +26,6 @@ interface ActionGroupProps {
26
26
  * @default 3
27
27
  */
28
28
  max?: number;
29
- /**
30
- * 紧凑悬浮模式
31
- *
32
- * @description
33
- * - 默认半透明,悬浮在父容器上方时完全显现
34
- * - 提供圆角胶囊容器与磨砂背景,更适合表格行内操作栏
35
- * - "更多"按钮也会切换为图标态以与其他操作按钮保持一致
36
- * @default false
37
- */
38
- hover?: boolean;
39
29
  /**
40
30
  * 子项默认尺寸
41
31
  * @default 'small'
@@ -58,8 +48,12 @@ interface ActionEmits {
58
48
  }
59
49
  /** 操作组件暴露的属性和方法(组件内部使用) */
60
50
  interface _ActionExposed {}
51
+ interface _ActionGroupExposed {
52
+ closeTip: () => void;
53
+ }
61
54
  /** 操作组件暴露的属性和方法(组件外部使用, 引用的值会被自动解构) */
62
55
  type ActionExposed = DeconstructValue<_ActionExposed>;
56
+ type ActionGroupExposed = DeconstructValue<_ActionGroupExposed>;
63
57
  //#endregion
64
- export { ActionEmits, ActionExposed, ActionGroupProps, ActionProps, _ActionExposed };
58
+ export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, _ActionExposed, _ActionGroupExposed };
65
59
  //# sourceMappingURL=action.d.ts.map
@@ -1,18 +1,51 @@
1
- import { DeconstructValue } from "@veltra/utils";
1
+ import { VariableItem } from "./expression-editor.js";
2
+ import { ComponentSize, DeconstructValue } from "@veltra/utils";
2
3
 
3
4
  //#region src/types/condition-editor.d.ts
4
- /** 条件编辑器组件属性 */
5
+ interface ConditionField {
6
+ label: string;
7
+ value: string;
8
+ type: 'string' | 'number' | 'boolean' | 'date' | 'enum';
9
+ enumOptions?: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ }
14
+ type ConditionValue = {
15
+ kind: 'constant';
16
+ value: string;
17
+ } | {
18
+ kind: 'variable';
19
+ name: string;
20
+ };
21
+ interface ConditionItem {
22
+ field: string;
23
+ operator: string;
24
+ value: ConditionValue;
25
+ _result?: boolean;
26
+ }
27
+ interface ConditionGroup {
28
+ logic: 'and' | 'or';
29
+ conditions: ConditionItem[];
30
+ groups: ConditionGroup[];
31
+ _result?: boolean;
32
+ }
33
+ type ConditionExpression = ConditionGroup;
5
34
  interface ConditionEditorProps {
6
- modelValue?: string;
35
+ modelValue?: ConditionExpression;
36
+ fields?: ConditionField[];
37
+ variables?: VariableItem[];
38
+ data?: Record<string, unknown>;
39
+ size?: ComponentSize;
40
+ disabled?: boolean;
41
+ readonly?: boolean;
7
42
  }
8
- /** 条件编辑器组件定义的事件 */
9
43
  interface ConditionEditorEmits {
10
- (e: 'update:modelValue', value: string): void;
44
+ (e: 'update:modelValue', value: ConditionExpression): void;
45
+ (e: 'evaluate', results: ConditionExpression): void;
11
46
  }
12
- /** 条件编辑器组件暴露的属性和方法(组件内部使用) */
13
47
  interface _ConditionEditorExposed {}
14
- /** 条件编辑器组件暴露的属性和方法(组件外部使用, 引用的值会被自动解构) */
15
48
  type ConditionEditorExposed = DeconstructValue<_ConditionEditorExposed>;
16
49
  //#endregion
17
- export { ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, _ConditionEditorExposed };
50
+ export { ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionItem, ConditionValue, _ConditionEditorExposed };
18
51
  //# sourceMappingURL=condition-editor.d.ts.map
@@ -22,7 +22,7 @@ import { NotificationEmits, NotificationExposed, NotificationProps, _Notificatio
22
22
  import { ButtonEmits, ButtonExposed, ButtonProps, ButtonType, _ButtonExposed } from "./button.js";
23
23
  import { DatePanelEmits, DatePanelProps, PanelType } from "./date-panel.js";
24
24
  import { DialogEmits, DialogExposed, DialogProps, _DialogExposed } from "./dialog.js";
25
- import { ActionEmits, ActionExposed, ActionGroupProps, ActionProps, _ActionExposed } from "./action.js";
25
+ import { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, _ActionExposed, _ActionGroupExposed } from "./action.js";
26
26
  import { DataSettingConfig, FormExposed, FormModelItem, FormProps, IFormModel, ModelData, ModelRules, _FormExposed } from "./form.js";
27
27
  import { TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, _TableExposed } from "./table.js";
28
28
  import { BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, _BatchEditExposed } from "./batch-edit.js";
@@ -64,12 +64,12 @@ import { BadgeEmits, BadgeExposed, BadgeProps, _BadgeExposed } from "./badge.js"
64
64
  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
- import { ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, _ConditionEditorExposed } from "./condition-editor.js";
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
69
  import { CssTransitionEmits, CssTransitionExposed, CssTransitionProps, _CssTransitionExposed } from "./css-transition.js";
69
70
  import { MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, _MessageConfirmExposed } from "./message-confirm.js";
70
71
  import { MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, _MultiAutoCompleteExposed } from "./multi-auto-complete.js";
71
72
  import { BreakCols, Breakpoint, GridEmits, GridExposed, GridItemProps, GridProps, _GridExposed } from "./grid.js";
72
- import { ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, VariableItem, _ExpressionEditorExposed } from "./expression-editor.js";
73
73
  import { AnimationEmits, AnimationExposed, AnimationProps, _AnimationExposed } from "./animation.js";
74
74
  import { AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, _AutoCompleteExposed } from "./auto-complete.js";
75
75
  import { SwitchEmits, SwitchExposed, SwitchProps, _SwitchExposed } from "./switch.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, 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, CollapseExposed, CollapseIconPosition, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, 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, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _CollapseExposed, _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, CollapseExposed, CollapseIconPosition, 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, _CollapseExposed, _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.3",
3
+ "version": "1.1.5",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -61,22 +61,22 @@
61
61
  "@lexical/rich-text": "^0.43.0",
62
62
  "@lexical/selection": "^0.43.0",
63
63
  "@lexical/utils": "^0.43.0",
64
- "@veltra/compositions": "1.1.3",
65
- "@veltra/directives": "1.1.3",
66
- "@veltra/icons": "1.1.3",
67
- "@veltra/styles": "1.1.3",
68
- "@veltra/utils": "1.1.3",
64
+ "@veltra/compositions": "1.1.5",
65
+ "@veltra/directives": "1.1.5",
66
+ "@veltra/icons": "1.1.5",
67
+ "@veltra/styles": "1.1.5",
68
+ "@veltra/utils": "1.1.5",
69
69
  "@visactor/vtable": "^1.26.0",
70
70
  "codemirror": "^6.0.2",
71
71
  "docx-preview": "^0.3.7",
72
72
  "lexical": "^0.43.0"
73
73
  },
74
74
  "peerDependencies": {
75
- "@veltra/compositions": "1.1.3",
76
- "@veltra/directives": "1.1.3",
77
- "@veltra/icons": "1.1.3",
78
- "@veltra/styles": "1.1.3",
79
- "@veltra/utils": "1.1.3",
75
+ "@veltra/compositions": "1.1.5",
76
+ "@veltra/directives": "1.1.5",
77
+ "@veltra/icons": "1.1.5",
78
+ "@veltra/styles": "1.1.5",
79
+ "@veltra/utils": "1.1.5",
80
80
  "vue": "^3.5.33"
81
81
  }
82
82
  }
@@ -1,48 +1,15 @@
1
1
  <template>
2
- <div :class="rootCls">
3
- <component v-for="node of normalNodes" :key="node.key" :is="node" />
4
-
5
- <u-tip
6
- v-if="dropdownNodes.length"
7
- :class="cls.e('dropdown')"
8
- direction="bottom"
9
- alignment="end"
10
- trigger="click"
11
- >
12
- <template #content>
13
- <component v-for="node of dropdownNodes" :key="node.key" :is="node" />
14
- </template>
15
-
16
- <u-action
17
- :class="cls.e('more')"
18
- :type
19
- :size
20
- :text
21
- :circle="hover"
22
- :icon="hover ? MoreFilled : undefined"
23
- title="更多"
24
- >
25
- <template v-if="!hover">
26
- 更多
27
- <u-icon>
28
- <ArrowDown />
29
- </u-icon>
30
- </template>
31
- </u-action>
32
- </u-tip>
33
- </div>
2
+ <component v-for="node of getSlotsNodes()" :key="node.key" :is="node" />
34
3
  </template>
35
4
 
36
- <script lang="ts" setup>
37
- import { ArrowDown, MoreFilled } from '@veltra/icons/normal'
5
+ <script lang="tsx" setup>
6
+ import { MoreFilled } from '@veltra/icons/normal'
38
7
  import { bem, extractNormalVNodes } from '@veltra/utils'
39
- import type { ColorType } from '@veltra/utils'
40
- import { cloneVNode, computed, provide, type VNode } from 'vue'
8
+ import { cloneVNode, provide, shallowRef, type VNode } from 'vue'
41
9
 
42
- import type { ActionGroupProps } from '../../types'
43
- import { UIcon } from '../icon'
10
+ import type { _ActionGroupExposed, ActionGroupProps } from '../../types'
11
+ import { UButton } from '../button'
44
12
  import { UTip } from '../tip'
45
- import UAction from './action.vue'
46
13
  import { ActionDIKey } from './di'
47
14
 
48
15
  defineOptions({
@@ -50,34 +17,10 @@ defineOptions({
50
17
  inheritAttrs: false
51
18
  })
52
19
 
53
- // 此处不直接复用 `ActionGroupProps` 类型作为 `defineProps` 泛型参数,
54
- // 是为了规避 Vue SFC 编译器在跨文件类型解析时偶发的 prop 未注册问题
55
- // (表现为运行时 `[Vue warn]: Property "x" was accessed during render but is not defined on instance`)。
56
- // 通过本地接口定义 + 类型相等性约束保证与外部类型一致。
57
- interface _Props {
58
- loading?: boolean
59
- circle?: boolean
60
- max?: number
61
- hover?: boolean
62
- size?: 'small' | 'default' | 'large'
63
- text?: boolean
64
- type?: ColorType
65
- }
66
-
67
- type _AssertEqual = [ActionGroupProps] extends [_Props]
68
- ? [_Props] extends [ActionGroupProps]
69
- ? true
70
- : never
71
- : never
72
-
73
- const _assert: _AssertEqual = true
74
- void _assert
75
-
76
- const props = withDefaults(defineProps<_Props>(), {
20
+ const props = withDefaults(defineProps<ActionGroupProps>(), {
77
21
  max: 3,
78
22
  loading: false,
79
23
  circle: false,
80
- hover: false,
81
24
  size: 'small',
82
25
  text: true,
83
26
  type: 'primary'
@@ -89,8 +32,6 @@ const slots = defineSlots<{
89
32
  default?: () => VNode[]
90
33
  }>()
91
34
 
92
- const rootCls = computed(() => [cls.b, bem.is('hover', props.hover)])
93
-
94
35
  function isInDropdownNode(node: VNode): boolean {
95
36
  const p = node.props as Record<string, unknown> | null
96
37
  if (!p) return false
@@ -98,13 +39,32 @@ function isInDropdownNode(node: VNode): boolean {
98
39
  return v === true || v === '' || v === 'true'
99
40
  }
100
41
 
101
- const partitioned = computed(() => {
102
- const nodes = slots.default?.()
42
+ const tipVisible = shallowRef(false)
43
+
44
+ function closeTip() {
45
+ tipVisible.value = false
46
+ }
47
+
48
+ function withSeparators(nodes: VNode[]) {
49
+ return nodes.flatMap((node, index) => {
50
+ if (index === 0) return [node]
51
+
52
+ return [
53
+ <i
54
+ key={`separator-${index}`}
55
+ class={cls.e('separator')}
56
+ aria-hidden="true"
57
+ />,
58
+ node
59
+ ]
60
+ })
61
+ }
103
62
 
104
- if (!nodes) return { visible: [] as VNode[], hidden: [] as VNode[] }
63
+ function getSlotsNodes() {
64
+ const nodes = slots.default?.()
65
+ if (!nodes) return []
105
66
 
106
67
  const extracted = extractNormalVNodes(nodes).filter(
107
- // 仅保留 UAction 子节点
108
68
  (node) => (node.type as { name?: string } | null | undefined)?.name === 'Action'
109
69
  )
110
70
 
@@ -122,22 +82,48 @@ const partitioned = computed(() => {
122
82
  const willOverflow = visible.length > props.max
123
83
  const overflow = willOverflow ? visible.splice(props.max - 1) : []
124
84
 
125
- return {
126
- visible,
127
- hidden: [...overflow, ...fixedHidden]
128
- }
129
- })
85
+ const hiddenNodes = [...overflow, ...fixedHidden]
130
86
 
131
- const normalNodes = computed(() => partitioned.value.visible)
132
-
133
- // 下拉菜单中的 UAction 强制以非圆形、文本模式呈现,避免视觉与其他菜单项不一致
134
- const dropdownNodes = computed(() => {
135
- return partitioned.value.hidden.map((node) =>
87
+ const dropdownNodes = hiddenNodes.map((node) =>
136
88
  cloneVNode(node, { inDropdown: true, circle: false })
137
89
  )
138
- })
90
+
91
+ const dropdown = hiddenNodes.length ? (
92
+ <UTip
93
+ direction="bottom"
94
+ alignment="end"
95
+ trigger="click"
96
+ class={cls.e('dropdown')}
97
+ visible={tipVisible.value}
98
+ onUpdate:visible={(val: boolean) => {
99
+ tipVisible.value = val
100
+ }}
101
+ >
102
+ {{
103
+ content: () => dropdownNodes,
104
+ default: () => (
105
+ <UButton
106
+ class={cls.e('more')}
107
+ type={props.type}
108
+ size={props.size}
109
+ text={props.text}
110
+ circle
111
+ icon={MoreFilled}
112
+ />
113
+ )
114
+ }}
115
+ </UTip>
116
+ ) : null
117
+
118
+ return withSeparators(dropdown ? [...visible, dropdown] : visible)
119
+ }
139
120
 
140
121
  provide(ActionDIKey, {
141
- groupProps: props
122
+ groupProps: props,
123
+ closeTip
124
+ })
125
+
126
+ defineExpose<_ActionGroupExposed>({
127
+ closeTip
142
128
  })
143
129
  </script>
@@ -26,7 +26,7 @@
26
26
  :circle
27
27
  :propagate="false"
28
28
  v-bind="{ ...buttonProps, ...$attrs }"
29
- @click="emit('run')"
29
+ @click="handleRun"
30
30
  >
31
31
  <slot />
32
32
  </u-button>
@@ -97,6 +97,14 @@ const emit = defineEmits<ActionEmits>()
97
97
  const cls = bem('action')
98
98
 
99
99
  function handleConfirm() {
100
+ handleRun()
101
+ }
102
+
103
+ function handleRun() {
100
104
  emit('run')
105
+
106
+ if (props.inDropdown) {
107
+ ctx?.closeTip()
108
+ }
101
109
  }
102
110
  </script>