@veltra/desktop 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  2. package/dist/components/action/action.js.map +1 -1
  3. package/dist/components/auto-complete/auto-complete.js.map +1 -1
  4. package/dist/components/badge/badge.js.map +1 -1
  5. package/dist/components/badge/style.d.ts +1 -1
  6. package/dist/components/batch-edit/batch-edit-form.js +8 -12
  7. package/dist/components/batch-edit/batch-edit-form.js.map +1 -1
  8. package/dist/components/batch-edit/batch-edit-list.js.map +1 -1
  9. package/dist/components/batch-edit/batch-edit.js +2 -1
  10. package/dist/components/batch-edit/batch-edit.js.map +1 -1
  11. package/dist/components/batch-edit/di.js.map +1 -1
  12. package/dist/components/batch-edit/index.d.ts +2 -2
  13. package/dist/components/batch-edit/use-edit-state.js +11 -9
  14. package/dist/components/batch-edit/use-edit-state.js.map +1 -1
  15. package/dist/components/batch-edit/use-handlers.js.map +1 -1
  16. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  17. package/dist/components/breadcrumb/style.d.ts +1 -1
  18. package/dist/components/button/button-group.js.map +1 -1
  19. package/dist/components/button/button.js +2 -2
  20. package/dist/components/button/button.js.map +1 -1
  21. package/dist/components/button/style2.css +85 -92
  22. package/dist/components/calendar/calendar.js.map +1 -1
  23. package/dist/components/calendar/style.d.ts +1 -1
  24. package/dist/components/card/card-action.js.map +1 -1
  25. package/dist/components/card/card-content.js.map +1 -1
  26. package/dist/components/card/card-cover.js.map +1 -1
  27. package/dist/components/card/card-header.js.map +1 -1
  28. package/dist/components/card/card.js.map +1 -1
  29. package/dist/components/card/style.d.ts +1 -1
  30. package/dist/components/cascade/cascade-panel-item.js.map +1 -1
  31. package/dist/components/cascade/cascade.js.map +1 -1
  32. package/dist/components/check-tag/check-tag.js.map +1 -1
  33. package/dist/components/check-tag/style.d.ts +1 -1
  34. package/dist/components/checkbox/checkbox-button.js.map +1 -1
  35. package/dist/components/checkbox/checkbox.js.map +1 -1
  36. package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
  37. package/dist/components/code-editor/basic-setup.js +2 -2
  38. package/dist/components/code-editor/code-editor.js +2 -2
  39. package/dist/components/code-editor/code-editor.js.map +1 -1
  40. package/dist/components/code-editor/lang-loaders.js +1 -1
  41. package/dist/components/code-editor/shell-extension.js +2 -2
  42. package/dist/components/collapse/collapse-item.js +24 -7
  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/collapse/style.d.ts +1 -1
  46. package/dist/components/condition-editor/components/condition-group.js.map +1 -1
  47. package/dist/components/condition-editor/components/condition-row.js.map +1 -1
  48. package/dist/components/condition-editor/condition-editor.js.map +1 -1
  49. package/dist/components/condition-editor/index.d.ts +2 -2
  50. package/dist/components/contextmenu/contextmenu-item.js +13 -6
  51. package/dist/components/contextmenu/contextmenu-item.js.map +1 -1
  52. package/dist/components/contextmenu/contextmenu-panel.js +12 -6
  53. package/dist/components/contextmenu/contextmenu-panel.js.map +1 -1
  54. package/dist/components/contextmenu/contextmenu-sub.js.map +1 -1
  55. package/dist/components/contextmenu/contextmenu.js.map +1 -1
  56. package/dist/components/contextmenu/di.d.ts +15 -0
  57. package/dist/components/contextmenu/index.d.ts +3 -2
  58. package/dist/components/contextmenu/style2.css +13 -0
  59. package/dist/components/date-panel/date-panel.js.map +1 -1
  60. package/dist/components/date-panel/headers/day.js.map +1 -1
  61. package/dist/components/date-panel/headers/month.js.map +1 -1
  62. package/dist/components/date-panel/headers/year.js.map +1 -1
  63. package/dist/components/date-panel/panels/day.js.map +1 -1
  64. package/dist/components/date-panel/panels/month.js.map +1 -1
  65. package/dist/components/date-panel/panels/year.js.map +1 -1
  66. package/dist/components/date-panel/style.d.ts +1 -1
  67. package/dist/components/date-picker/date-picker.js.map +1 -1
  68. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  69. package/dist/components/dialog/dialog.js.map +1 -1
  70. package/dist/components/dialog/style2.css +3 -1
  71. package/dist/components/drawer/drawer.js.map +1 -1
  72. package/dist/components/dropdown/dropdown.js.map +1 -1
  73. package/dist/components/dual-nav/dual-nav-app.js.map +1 -1
  74. package/dist/components/dual-nav/dual-nav.js.map +1 -1
  75. package/dist/components/empty/empty.js.map +1 -1
  76. package/dist/components/empty/style.d.ts +1 -1
  77. package/dist/components/expression-editor/components/path-preview.js.map +1 -1
  78. package/dist/components/expression-editor/components/variable-picker.js.map +1 -1
  79. package/dist/components/expression-editor/core/editor.js.map +1 -1
  80. package/dist/components/expression-editor/expression-editor.js.map +1 -1
  81. package/dist/components/expression-editor/style.d.ts +1 -1
  82. package/dist/components/file-picker/file-picker.js.map +1 -1
  83. package/dist/components/file-picker/style.d.ts +1 -1
  84. package/dist/components/file-viewer/file-viewer.js.map +1 -1
  85. package/dist/components/file-viewer/helper.js +1 -38
  86. package/dist/components/file-viewer/helper.js.map +1 -1
  87. package/dist/components/file-viewer/previewers/docx-previewer.js.map +1 -1
  88. package/dist/components/file-viewer/previewers/image-previewer.js.map +1 -1
  89. package/dist/components/file-viewer/previewers/pdf-previewer.js.map +1 -1
  90. package/dist/components/file-viewer/previewers/pdf-viewport-scroll.js.map +1 -1
  91. package/dist/components/file-viewer/previewers/pdf-zoom-bridge.js.map +1 -1
  92. package/dist/components/file-viewer/previewers/sheet-previewer.js +68 -37
  93. package/dist/components/file-viewer/previewers/sheet-previewer.js.map +1 -1
  94. package/dist/components/file-viewer/previewers/text-previewer.js +2 -2
  95. package/dist/components/file-viewer/previewers/text-previewer.js.map +1 -1
  96. package/dist/components/file-viewer/previewers/video-previewer.js.map +1 -1
  97. package/dist/components/file-viewer/style.d.ts +1 -1
  98. package/dist/components/float-button/float-button.js.map +1 -1
  99. package/dist/components/form/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
  100. package/dist/components/form/style.d.ts +1 -1
  101. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/form-item/style.d.ts +1 -1
  103. package/dist/components/gantt-chart/gantt-chart.js.map +1 -1
  104. package/dist/components/gantt-chart/style.d.ts +1 -1
  105. package/dist/components/grid/grid-item.js.map +1 -1
  106. package/dist/components/grid/grid.js +3 -2
  107. package/dist/components/grid/grid.js.map +1 -1
  108. package/dist/components/grid/style.d.ts +1 -1
  109. package/dist/components/grid-input/grid-input.js.map +1 -1
  110. package/dist/components/grid-input/style.d.ts +1 -1
  111. package/dist/components/group-input/group-input.js.map +1 -1
  112. package/dist/components/group-nav/group-nav-item.js.map +1 -1
  113. package/dist/components/group-nav/group-nav.js.map +1 -1
  114. package/dist/components/group-nav/style.d.ts +1 -1
  115. package/dist/components/icon/icon.js.map +1 -1
  116. package/dist/components/icon/style.d.ts +1 -1
  117. package/dist/components/index.d.ts +91 -156
  118. package/dist/components/index.js +4 -1
  119. package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/kbd/kbd.js.map +1 -1
  121. package/dist/components/kbd/style.d.ts +1 -1
  122. package/dist/components/layout/layout-resizer.js.map +1 -1
  123. package/dist/components/layout/layout.js +22 -10
  124. package/dist/components/layout/layout.js.map +1 -1
  125. package/dist/components/layout/style.d.ts +1 -1
  126. package/dist/components/list/list-item.js.map +1 -1
  127. package/dist/components/list/list.js.map +1 -1
  128. package/dist/components/loading/directive.js +2 -1
  129. package/dist/components/loading/directive.js.map +1 -1
  130. package/dist/components/loading/index.d.ts +2 -2
  131. package/dist/components/loading/loading.js.map +1 -1
  132. package/dist/components/message/index.d.ts +2 -2
  133. package/dist/components/message/message-box.js.map +1 -1
  134. package/dist/components/message/message.js.map +1 -1
  135. package/dist/components/message/style.d.ts +1 -1
  136. package/dist/components/message-confirm/index.d.ts +2 -2
  137. package/dist/components/message-confirm/message-confirm-box.js.map +1 -1
  138. package/dist/components/message-confirm/message-confirm.js.map +1 -1
  139. package/dist/components/message-confirm/style.d.ts +1 -1
  140. package/dist/components/message-confirm/style2.css +18 -0
  141. package/dist/components/multi-select/multi-select-option.js.map +1 -1
  142. package/dist/components/multi-select/multi-select.js +6 -3
  143. package/dist/components/multi-select/multi-select.js.map +1 -1
  144. package/dist/components/multi-tree-select/multi-tree-select.js.map +1 -1
  145. package/dist/components/nav/nav-icon.js.map +1 -1
  146. package/dist/components/nav/nav-item-collapsed.js.map +1 -1
  147. package/dist/components/nav/nav-item.js +4 -2
  148. package/dist/components/nav/nav-item.js.map +1 -1
  149. package/dist/components/nav/nav-sub-collapsed.js.map +1 -1
  150. package/dist/components/nav/nav-sub.js.map +1 -1
  151. package/dist/components/nav/nav.js.map +1 -1
  152. package/dist/components/nav/style.d.ts +1 -1
  153. package/dist/components/node-render/style.d.ts +1 -1
  154. package/dist/components/notification/index.d.ts +2 -2
  155. package/dist/components/notification/notification-box.js +2 -2
  156. package/dist/components/notification/notification-box.js.map +1 -1
  157. package/dist/components/notification/notification.js.map +1 -1
  158. package/dist/components/notification/style.d.ts +1 -1
  159. package/dist/components/number/number.js.map +1 -1
  160. package/dist/components/number/style.d.ts +1 -1
  161. package/dist/components/number-input/number-input.js +2 -1
  162. package/dist/components/number-input/number-input.js.map +1 -1
  163. package/dist/components/number-range-input/number-range-input.js.map +1 -1
  164. package/dist/components/paginator/paginator.js.map +1 -1
  165. package/dist/components/palette/palette-alpha.js.map +1 -1
  166. package/dist/components/palette/palette-color-switch.js.map +1 -1
  167. package/dist/components/palette/palette-hue.js.map +1 -1
  168. package/dist/components/palette/palette-sv.js.map +1 -1
  169. package/dist/components/palette/palette.js.map +1 -1
  170. package/dist/components/password-input/password-input.js.map +1 -1
  171. package/dist/components/pop-confirm/pop-confirm.js.map +1 -1
  172. package/dist/components/progress/progress.js.map +1 -1
  173. package/dist/components/progress/style.d.ts +1 -1
  174. package/dist/components/progress-nodes/progress-nodes.js.map +1 -1
  175. package/dist/components/progress-nodes/style.d.ts +1 -1
  176. package/dist/components/radio/radio.js.map +1 -1
  177. package/dist/components/radio-group/radio-group.js.map +1 -1
  178. package/dist/components/rich-text-editor/rich-text-editor.js +2 -1
  179. package/dist/components/rich-text-editor/rich-text-editor.js.map +1 -1
  180. package/dist/components/rich-text-editor/style.d.ts +1 -1
  181. package/dist/components/rich-text-editor/toolbar.js +3 -4
  182. package/dist/components/rich-text-editor/toolbar.js.map +1 -1
  183. package/dist/components/scroll/scroll-bar.js.map +1 -1
  184. package/dist/components/scroll/scroll.js.map +1 -1
  185. package/dist/components/scroll/style.d.ts +1 -1
  186. package/dist/components/select/select.js.map +1 -1
  187. package/dist/components/slider/slider-thumb.js.map +1 -1
  188. package/dist/components/slider/slider.js.map +1 -1
  189. package/dist/components/slider/style.d.ts +1 -1
  190. package/dist/components/steps/steps.js.map +1 -1
  191. package/dist/components/steps/style.d.ts +1 -1
  192. package/dist/components/switch/style.d.ts +1 -1
  193. package/dist/components/switch/switch.js.map +1 -1
  194. package/dist/components/table/index.d.ts +2 -2
  195. package/dist/components/table/node/col.d.ts +1 -49
  196. package/dist/components/table/table-body.js.map +1 -1
  197. package/dist/components/table/table-cell.js.map +1 -1
  198. package/dist/components/table/table-foot.js.map +1 -1
  199. package/dist/components/table/table-row.js +2 -1
  200. package/dist/components/table/table-row.js.map +1 -1
  201. package/dist/components/table/table.js.map +1 -1
  202. package/dist/components/table/use-check.js +2 -1
  203. package/dist/components/table/use-check.js.map +1 -1
  204. package/dist/components/table/use-col-resize.js +9 -1
  205. package/dist/components/table/use-col-resize.js.map +1 -1
  206. package/dist/components/table/use-columns.d.ts +1 -1
  207. package/dist/components/table/use-rows.js +2 -1
  208. package/dist/components/table/use-rows.js.map +1 -1
  209. package/dist/components/table-editor/table-editor.js.map +1 -1
  210. package/dist/components/tabs/tabs-horizontal.js +2 -1
  211. package/dist/components/tabs/tabs-horizontal.js.map +1 -1
  212. package/dist/components/tabs/tabs-vertical.js.map +1 -1
  213. package/dist/components/tabs/tabs.js.map +1 -1
  214. package/dist/components/tabs/use-tabs-bar.js +10 -25
  215. package/dist/components/tabs/use-tabs-bar.js.map +1 -1
  216. package/dist/components/tag/style.d.ts +1 -1
  217. package/dist/components/tag/tag.js.map +1 -1
  218. package/dist/components/text/style.d.ts +1 -1
  219. package/dist/components/text/text.js.map +1 -1
  220. package/dist/components/textarea/textarea.js.map +1 -1
  221. package/dist/components/theme/theme.js +3 -2
  222. package/dist/components/theme/theme.js.map +1 -1
  223. package/dist/components/tip/style.d.ts +1 -1
  224. package/dist/components/tip/tip.js.map +1 -1
  225. package/dist/components/tree/tree-node.js.map +1 -1
  226. package/dist/components/tree/tree.js.map +1 -1
  227. package/dist/components/tree-select/tree-select.js.map +1 -1
  228. package/dist/components/watermark/style.d.ts +1 -1
  229. package/dist/components/watermark/watermark.js.map +1 -1
  230. package/dist/index.d.ts +92 -96
  231. package/dist/index.js +2 -1
  232. package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js +2 -2
  233. package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -1
  234. package/dist/node_modules/.bun/@codemirror_commands@6.10.4/node_modules/@codemirror/commands/dist/index.js +3 -3
  235. package/dist/node_modules/.bun/@codemirror_commands@6.10.4/node_modules/@codemirror/commands/dist/index.js.map +1 -1
  236. package/dist/node_modules/.bun/@codemirror_lang-css@6.3.1/node_modules/@codemirror/lang-css/dist/index.js.map +1 -1
  237. package/dist/node_modules/.bun/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.js +5 -4
  238. package/dist/node_modules/.bun/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.js.map +1 -1
  239. package/dist/node_modules/.bun/@codemirror_lang-javascript@6.2.5/node_modules/@codemirror/lang-javascript/dist/index.js +2 -2
  240. package/dist/node_modules/.bun/{@codemirror_lang-markdown@6.5.1 → @codemirror_lang-markdown@6.5.2}/node_modules/@codemirror/lang-markdown/dist/index.js +4 -3
  241. package/dist/node_modules/.bun/@codemirror_lang-markdown@6.5.2/node_modules/@codemirror/lang-markdown/dist/index.js.map +1 -0
  242. package/dist/node_modules/.bun/@codemirror_lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.js +2 -1
  243. package/dist/node_modules/.bun/@codemirror_lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.js.map +1 -1
  244. package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js +2 -2
  245. package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js.map +1 -1
  246. package/dist/node_modules/.bun/@codemirror_lint@6.9.7/node_modules/@codemirror/lint/dist/index.js +4 -3
  247. package/dist/node_modules/.bun/@codemirror_lint@6.9.7/node_modules/@codemirror/lint/dist/index.js.map +1 -1
  248. package/dist/node_modules/.bun/@codemirror_search@6.7.1/node_modules/@codemirror/search/dist/index.js +2 -2
  249. package/dist/node_modules/.bun/@codemirror_search@6.7.1/node_modules/@codemirror/search/dist/index.js.map +1 -1
  250. package/dist/node_modules/.bun/{@codemirror_state@6.7.0 → @codemirror_state@6.7.1}/node_modules/@codemirror/state/dist/index.js +13 -3
  251. package/dist/node_modules/.bun/@codemirror_state@6.7.1/node_modules/@codemirror/state/dist/index.js.map +1 -0
  252. package/dist/node_modules/.bun/@codemirror_theme-one-dark@6.1.3/node_modules/@codemirror/theme-one-dark/dist/index.js +1 -1
  253. package/dist/node_modules/.bun/@codemirror_theme-one-dark@6.1.3/node_modules/@codemirror/theme-one-dark/dist/index.js.map +1 -1
  254. package/dist/node_modules/.bun/{@codemirror_view@6.43.4 → @codemirror_view@6.43.8}/node_modules/@codemirror/view/dist/index.js +86 -64
  255. package/dist/node_modules/.bun/@codemirror_view@6.43.8/node_modules/@codemirror/view/dist/index.js.map +1 -0
  256. package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js.map +1 -1
  257. package/dist/node_modules/.bun/@lezer_css@1.3.4/node_modules/@lezer/css/dist/index.js.map +1 -1
  258. package/dist/node_modules/.bun/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js.map +1 -1
  259. package/dist/node_modules/.bun/@lezer_html@1.3.13/node_modules/@lezer/html/dist/index.js.map +1 -1
  260. package/dist/node_modules/.bun/@lezer_javascript@1.5.4/node_modules/@lezer/javascript/dist/index.js.map +1 -1
  261. package/dist/node_modules/.bun/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.js.map +1 -1
  262. package/dist/node_modules/.bun/@lezer_markdown@1.7.2/node_modules/@lezer/markdown/dist/index.js +1 -1
  263. package/dist/node_modules/.bun/@lezer_markdown@1.7.2/node_modules/@lezer/markdown/dist/index.js.map +1 -1
  264. package/dist/node_modules/.bun/@marijn_find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.js.map +1 -1
  265. package/dist/node_modules/.bun/style-mod@4.1.3/node_modules/style-mod/src/style-mod.js.map +1 -1
  266. package/dist/types/collapse.d.ts +7 -1
  267. package/dist/types/contextmenu.d.ts +10 -4
  268. package/dist/types/index.d.ts +1 -7
  269. package/dist/types/layout.d.ts +16 -1
  270. package/package.json +34 -30
  271. package/src/components/batch-edit/__test__/batch-edit.test.ts +199 -0
  272. package/src/components/batch-edit/batch-edit-form.vue +8 -8
  273. package/src/components/batch-edit/batch-edit.vue +2 -1
  274. package/src/components/batch-edit/di.ts +2 -0
  275. package/src/components/batch-edit/use-edit-state.ts +19 -12
  276. package/src/components/button/button.vue +2 -2
  277. package/src/components/button/style.scss +8 -29
  278. package/src/components/collapse/__test__/collapse.test.ts +59 -0
  279. package/src/components/collapse/collapse-item.vue +32 -11
  280. package/src/components/contextmenu/__test__/contextmenu.test.ts +165 -0
  281. package/src/components/contextmenu/contextmenu-item.vue +7 -4
  282. package/src/components/contextmenu/contextmenu-panel.vue +7 -4
  283. package/src/components/contextmenu/index.ts +1 -0
  284. package/src/components/contextmenu/style.scss +16 -0
  285. package/src/components/dialog/style.scss +5 -1
  286. package/src/components/file-viewer/helper.ts +0 -53
  287. package/src/components/file-viewer/previewers/sheet-previewer.vue +91 -46
  288. package/src/components/layout/layout.vue +19 -8
  289. package/src/components/message-confirm/style.scss +19 -0
  290. package/src/components/notification/style.scss +16 -4
  291. package/src/components/radio-group/style.scss +1 -1
  292. package/src/components/slider/style.scss +1 -1
  293. package/src/components/table/use-col-resize.ts +9 -1
  294. package/src/components/tabs/use-tabs-bar.ts +15 -20
  295. package/src/types/collapse.ts +8 -1
  296. package/src/types/contextmenu.ts +10 -4
  297. package/src/types/layout.ts +16 -1
  298. package/dist/components/action/action-group.vue.d.ts +0 -25
  299. package/dist/components/action/action.vue.d.ts +0 -33
  300. package/dist/components/action/index.d.ts +0 -3
  301. package/dist/components/auto-complete/auto-complete.vue.d.ts +0 -41
  302. package/dist/components/auto-complete/index.d.ts +0 -2
  303. package/dist/components/badge/badge.vue.d.ts +0 -20
  304. package/dist/components/badge/index.d.ts +0 -2
  305. package/dist/components/batch-edit/batch-edit.vue.d.ts +0 -45
  306. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +0 -24
  307. package/dist/components/breadcrumb/index.d.ts +0 -2
  308. package/dist/components/button/button-group.vue.d.ts +0 -19
  309. package/dist/components/button/button.vue.d.ts +0 -27
  310. package/dist/components/button/index.d.ts +0 -3
  311. package/dist/components/calendar/calendar.vue.d.ts +0 -17
  312. package/dist/components/calendar/index.d.ts +0 -2
  313. package/dist/components/card/card-action.vue.d.ts +0 -18
  314. package/dist/components/card/card-content.vue.d.ts +0 -18
  315. package/dist/components/card/card-cover.vue.d.ts +0 -8
  316. package/dist/components/card/card-header.vue.d.ts +0 -16
  317. package/dist/components/card/card.vue.d.ts +0 -18
  318. package/dist/components/card/index.d.ts +0 -6
  319. package/dist/components/cascade/cascade.vue.d.ts +0 -31
  320. package/dist/components/cascade/index.d.ts +0 -2
  321. package/dist/components/check-tag/check-tag.vue.d.ts +0 -22
  322. package/dist/components/check-tag/index.d.ts +0 -2
  323. package/dist/components/checkbox/checkbox-button.vue.d.ts +0 -35
  324. package/dist/components/checkbox/checkbox.vue.d.ts +0 -34
  325. package/dist/components/checkbox/index.d.ts +0 -3
  326. package/dist/components/checkbox-group/checkbox-group.vue.d.ts +0 -24
  327. package/dist/components/checkbox-group/index.d.ts +0 -2
  328. package/dist/components/code-editor/code-editor.vue.d.ts +0 -30
  329. package/dist/components/code-editor/index.d.ts +0 -2
  330. package/dist/components/collapse/collapse-item.vue.d.ts +0 -32
  331. package/dist/components/collapse/collapse.vue.d.ts +0 -27
  332. package/dist/components/collapse/index.d.ts +0 -3
  333. package/dist/components/condition-editor/condition-editor.vue.d.ts +0 -15
  334. package/dist/components/contextmenu/contextmenu.vue.d.ts +0 -14
  335. package/dist/components/date-panel/date-panel.vue.d.ts +0 -17
  336. package/dist/components/date-panel/index.d.ts +0 -2
  337. package/dist/components/date-picker/date-picker.vue.d.ts +0 -18
  338. package/dist/components/date-picker/index.d.ts +0 -2
  339. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +0 -18
  340. package/dist/components/date-range-picker/index.d.ts +0 -2
  341. package/dist/components/dialog/dialog.vue.d.ts +0 -43
  342. package/dist/components/dialog/index.d.ts +0 -2
  343. package/dist/components/drawer/drawer.vue.d.ts +0 -36
  344. package/dist/components/drawer/index.d.ts +0 -2
  345. package/dist/components/dropdown/dropdown.vue.d.ts +0 -30
  346. package/dist/components/dropdown/index.d.ts +0 -2
  347. package/dist/components/dual-nav/dual-nav.vue.d.ts +0 -15
  348. package/dist/components/dual-nav/index.d.ts +0 -2
  349. package/dist/components/empty/empty.vue.d.ts +0 -11
  350. package/dist/components/empty/index.d.ts +0 -2
  351. package/dist/components/expression-editor/expression-editor.vue.d.ts +0 -16
  352. package/dist/components/expression-editor/index.d.ts +0 -2
  353. package/dist/components/file-picker/file-picker.vue.d.ts +0 -27
  354. package/dist/components/file-picker/index.d.ts +0 -2
  355. package/dist/components/file-viewer/file-viewer.vue.d.ts +0 -40
  356. package/dist/components/file-viewer/index.d.ts +0 -2
  357. package/dist/components/file-viewer/sheet-parser.js +0 -46
  358. package/dist/components/file-viewer/sheet-parser.js.map +0 -1
  359. package/dist/components/float-button/float-button.vue.d.ts +0 -12
  360. package/dist/components/float-button/index.d.ts +0 -2
  361. package/dist/components/form/form.vue.d.ts +0 -23
  362. package/dist/components/form/index.d.ts +0 -2
  363. package/dist/components/form-item/form-item.vue.d.ts +0 -21
  364. package/dist/components/form-item/index.d.ts +0 -2
  365. package/dist/components/gantt-chart/gantt-chart.vue.d.ts +0 -8
  366. package/dist/components/gantt-chart/index.d.ts +0 -2
  367. package/dist/components/grid/grid-item.vue.d.ts +0 -20
  368. package/dist/components/grid/grid.vue.d.ts +0 -27
  369. package/dist/components/grid/index.d.ts +0 -3
  370. package/dist/components/grid-input/grid-input.vue.d.ts +0 -19
  371. package/dist/components/grid-input/index.d.ts +0 -2
  372. package/dist/components/group-input/group-input.vue.d.ts +0 -26
  373. package/dist/components/group-input/index.d.ts +0 -2
  374. package/dist/components/group-nav/group-nav.vue.d.ts +0 -12
  375. package/dist/components/group-nav/index.d.ts +0 -2
  376. package/dist/components/icon/icon.vue.d.ts +0 -18
  377. package/dist/components/icon/index.d.ts +0 -2
  378. package/dist/components/input/index.d.ts +0 -2
  379. package/dist/components/input/input.vue.d.ts +0 -50
  380. package/dist/components/kbd/kbd.vue.d.ts +0 -16
  381. package/dist/components/layout/index.d.ts +0 -2
  382. package/dist/components/layout/layout.vue.d.ts +0 -20
  383. package/dist/components/list/index.d.ts +0 -3
  384. package/dist/components/list/list-item.vue.d.ts +0 -16
  385. package/dist/components/list/list.vue.d.ts +0 -21
  386. package/dist/components/loading/loading.vue.d.ts +0 -11
  387. package/dist/components/message/message.vue.d.ts +0 -16
  388. package/dist/components/message-confirm/message-confirm.vue.d.ts +0 -19
  389. package/dist/components/multi-select/index.d.ts +0 -2
  390. package/dist/components/multi-select/multi-select.vue.d.ts +0 -48
  391. package/dist/components/multi-tree-select/index.d.ts +0 -2
  392. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +0 -44
  393. package/dist/components/nav/index.d.ts +0 -4
  394. package/dist/components/nav/nav-item.vue.d.ts +0 -12
  395. package/dist/components/nav/nav-sub.vue.d.ts +0 -13
  396. package/dist/components/nav/nav.vue.d.ts +0 -19
  397. package/dist/components/notification/notification.vue.d.ts +0 -18
  398. package/dist/components/number/index.d.ts +0 -2
  399. package/dist/components/number/number.vue.d.ts +0 -11
  400. package/dist/components/number-input/index.d.ts +0 -2
  401. package/dist/components/number-input/number-input.vue.d.ts +0 -39
  402. package/dist/components/number-range-input/index.d.ts +0 -2
  403. package/dist/components/number-range-input/number-range-input.vue.d.ts +0 -36
  404. package/dist/components/paginator/index.d.ts +0 -2
  405. package/dist/components/paginator/paginator.vue.d.ts +0 -29
  406. package/dist/components/palette/index.d.ts +0 -2
  407. package/dist/components/palette/palette.vue.d.ts +0 -20
  408. package/dist/components/password-input/index.d.ts +0 -2
  409. package/dist/components/password-input/password-input.vue.d.ts +0 -30
  410. package/dist/components/pop-confirm/index.d.ts +0 -2
  411. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +0 -33
  412. package/dist/components/progress/index.d.ts +0 -2
  413. package/dist/components/progress/progress.vue.d.ts +0 -25
  414. package/dist/components/progress-nodes/index.d.ts +0 -2
  415. package/dist/components/progress-nodes/progress-nodes.vue.d.ts +0 -36
  416. package/dist/components/radio/index.d.ts +0 -2
  417. package/dist/components/radio/radio.vue.d.ts +0 -31
  418. package/dist/components/radio-group/index.d.ts +0 -2
  419. package/dist/components/radio-group/radio-group.vue.d.ts +0 -26
  420. package/dist/components/rich-text-editor/index.d.ts +0 -2
  421. package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +0 -23
  422. package/dist/components/scroll/index.d.ts +0 -2
  423. package/dist/components/scroll/scroll.vue.d.ts +0 -28
  424. package/dist/components/select/index.d.ts +0 -2
  425. package/dist/components/select/select.vue.d.ts +0 -38
  426. package/dist/components/slider/index.d.ts +0 -2
  427. package/dist/components/slider/slider.vue.d.ts +0 -21
  428. package/dist/components/steps/index.d.ts +0 -2
  429. package/dist/components/steps/steps.vue.d.ts +0 -29
  430. package/dist/components/switch/index.d.ts +0 -2
  431. package/dist/components/switch/switch.vue.d.ts +0 -24
  432. package/dist/components/table/node/row.d.ts +0 -49
  433. package/dist/components/table/table.vue.d.ts +0 -54
  434. package/dist/components/table-editor/index.d.ts +0 -2
  435. package/dist/components/table-editor/table-editor.vue.d.ts +0 -12
  436. package/dist/components/tabs/index.d.ts +0 -4
  437. package/dist/components/tabs/tabs-horizontal.vue.d.ts +0 -40
  438. package/dist/components/tabs/tabs-vertical.vue.d.ts +0 -39
  439. package/dist/components/tabs/tabs.vue.d.ts +0 -36
  440. package/dist/components/tag/index.d.ts +0 -2
  441. package/dist/components/tag/tag.vue.d.ts +0 -22
  442. package/dist/components/text/index.d.ts +0 -2
  443. package/dist/components/text/text.vue.d.ts +0 -10
  444. package/dist/components/textarea/index.d.ts +0 -2
  445. package/dist/components/textarea/textarea.vue.d.ts +0 -34
  446. package/dist/components/theme/index.d.ts +0 -2
  447. package/dist/components/theme/theme.vue.d.ts +0 -8
  448. package/dist/components/tip/index.d.ts +0 -2
  449. package/dist/components/tip/tip.vue.d.ts +0 -31
  450. package/dist/components/tree/di.d.ts +0 -12
  451. package/dist/components/tree/index.d.ts +0 -2
  452. package/dist/components/tree/tree.vue.d.ts +0 -40
  453. package/dist/components/tree-select/index.d.ts +0 -2
  454. package/dist/components/tree-select/tree-select.vue.d.ts +0 -48
  455. package/dist/components/watermark/index.d.ts +0 -2
  456. package/dist/components/watermark/watermark.vue.d.ts +0 -21
  457. package/dist/node_modules/.bun/@codemirror_lang-markdown@6.5.1/node_modules/@codemirror/lang-markdown/dist/index.js.map +0 -1
  458. package/dist/node_modules/.bun/@codemirror_state@6.7.0/node_modules/@codemirror/state/dist/index.js.map +0 -1
  459. package/dist/node_modules/.bun/@codemirror_view@6.43.4/node_modules/@codemirror/view/dist/index.js.map +0 -1
  460. package/src/components/file-viewer/sheet-parser.ts +0 -52
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/@marijn+find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.js"],"sourcesContent":["// These are filled with ranges (rangeFrom[i] up to but not including\n// rangeTo[i]) of code points that count as extending characters.\nlet rangeFrom = [], rangeTo = []\n\n;(() => {\n // Compressed representation of the Grapheme_Cluster_Break=Extend\n // information from\n // http://www.unicode.org/Public/16.0.0/ucd/auxiliary/GraphemeBreakProperty.txt.\n // Each pair of elements represents a range, as an offet from the\n // previous range and a length. Numbers are in base-36, with the empty\n // string being a shorthand for 1.\n let numbers = \"lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o\".split(\",\").map(s => s ? parseInt(s, 36) : 1)\n for (let i = 0, n = 0; i < numbers.length; i++)\n (i % 2 ? rangeTo : rangeFrom).push(n = n + numbers[i])\n})()\n\nexport function isExtendingChar(code) {\n if (code < 768) return false\n for (let from = 0, to = rangeFrom.length;;) {\n let mid = (from + to) >> 1\n if (code < rangeFrom[mid]) to = mid\n else if (code >= rangeTo[mid]) from = mid + 1\n else return true\n if (from == to) return false\n }\n}\n\nfunction isRegionalIndicator(code) {\n return code >= 0x1F1E6 && code <= 0x1F1FF\n}\n\nfunction check(code) {\n for (let i = 0; i < rangeFrom.length; i++) {\n if (rangeTo[i] > code) return rangeFrom[i] <= code\n }\n return false\n}\n\nconst ZWJ = 0x200d\n\nexport function findClusterBreak(str, pos, forward = true, includeExtending = true) {\n return (forward ? nextClusterBreak : prevClusterBreak)(str, pos, includeExtending)\n}\n\nfunction nextClusterBreak(str, pos, includeExtending) {\n if (pos == str.length) return pos\n // If pos is in the middle of a surrogate pair, move to its start\n if (pos && surrogateLow(str.charCodeAt(pos)) && surrogateHigh(str.charCodeAt(pos - 1))) pos--\n let prev = codePointAt(str, pos)\n pos += codePointSize(prev)\n while (pos < str.length) {\n let next = codePointAt(str, pos)\n if (prev == ZWJ || next == ZWJ || includeExtending && isExtendingChar(next)) {\n pos += codePointSize(next)\n prev = next\n } else if (isRegionalIndicator(next)) {\n let countBefore = 0, i = pos - 2\n while (i >= 0 && isRegionalIndicator(codePointAt(str, i))) { countBefore++; i -= 2 }\n if (countBefore % 2 == 0) break\n else pos += 2\n } else {\n break\n }\n }\n return pos\n}\n\nfunction prevClusterBreak(str, pos, includeExtending) {\n while (pos > 0) {\n let found = nextClusterBreak(str, pos - 2, includeExtending)\n if (found < pos) return found\n pos--\n }\n return 0\n}\n\nfunction codePointAt(str, pos) {\n let code0 = str.charCodeAt(pos)\n if (!surrogateHigh(code0) || pos + 1 == str.length) return code0\n let code1 = str.charCodeAt(pos + 1)\n if (!surrogateLow(code1)) return code0\n return ((code0 - 0xd800) << 10) + (code1 - 0xdc00) + 0x10000\n}\n\nfunction surrogateLow(ch) { return ch >= 0xDC00 && ch < 0xE000 }\nfunction surrogateHigh(ch) { return ch >= 0xD800 && ch < 0xDC00 }\nfunction codePointSize(code) { return code < 0x10000 ? 1 : 2 }\n"],"x_google_ignoreList":[0],"mappings":";AAEA,IAAI,YAAY,CAAC;IAAG,UAAU,CAAC;OAEvB;CAON,IAAI,UAAU,izCAAizC,MAAM,GAAG,CAAC,CAAC,KAAI,MAAK,IAAI,SAAS,GAAG,EAAE,IAAI,CAAC;CAC12C,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,QAAQ,QAAQ,KACzC,CAAC,IAAI,IAAI,UAAU,UAAA,CAAW,KAAK,IAAI,IAAI,QAAQ,EAAE;AACzD,EAAA,CAAG;AAEH,SAAgB,gBAAgB,MAAM;CACpC,IAAI,OAAO,KAAK,OAAO;CACvB,KAAK,IAAI,OAAO,GAAG,KAAK,UAAU,UAAU;EAC1C,IAAI,MAAO,OAAO,MAAO;EACzB,IAAI,OAAO,UAAU,MAAM,KAAK;OAC3B,IAAI,QAAQ,QAAQ,MAAM,OAAO,MAAM;OACvC,OAAO;EACZ,IAAI,QAAQ,IAAI,OAAO;CACzB;AACF;AAEA,SAAS,oBAAoB,MAAM;CACjC,OAAO,QAAQ,UAAW,QAAQ;AACpC;AASA,MAAM,MAAM;AAEZ,SAAgB,iBAAiB,KAAK,KAAK,UAAU,MAAM,mBAAmB,MAAM;CAClF,QAAQ,UAAU,mBAAmB,iBAAA,CAAkB,KAAK,KAAK,gBAAgB;AACnF;AAEA,SAAS,iBAAiB,KAAK,KAAK,kBAAkB;CACpD,IAAI,OAAO,IAAI,QAAQ,OAAO;CAE9B,IAAI,OAAO,aAAa,IAAI,WAAW,GAAG,CAAC,KAAK,cAAc,IAAI,WAAW,MAAM,CAAC,CAAC,GAAG;CACxF,IAAI,OAAO,YAAY,KAAK,GAAG;CAC/B,OAAO,cAAc,IAAI;CACzB,OAAO,MAAM,IAAI,QAAQ;EACvB,IAAI,OAAO,YAAY,KAAK,GAAG;EAC/B,IAAI,QAAQ,OAAO,QAAQ,OAAO,oBAAoB,gBAAgB,IAAI,GAAG;GAC3E,OAAO,cAAc,IAAI;GACzB,OAAO;EACT,OAAO,IAAI,oBAAoB,IAAI,GAAG;GACpC,IAAI,cAAc,GAAG,IAAI,MAAM;GAC/B,OAAO,KAAK,KAAK,oBAAoB,YAAY,KAAK,CAAC,CAAC,GAAG;IAAE;IAAe,KAAK;GAAE;GACnF,IAAI,cAAc,KAAK,GAAG;QACrB,OAAO;EACd,OACE;CAEJ;CACA,OAAO;AACT;AAEA,SAAS,iBAAiB,KAAK,KAAK,kBAAkB;CACpD,OAAO,MAAM,GAAG;EACd,IAAI,QAAQ,iBAAiB,KAAK,MAAM,GAAG,gBAAgB;EAC3D,IAAI,QAAQ,KAAK,OAAO;EACxB;CACF;CACA,OAAO;AACT;AAEA,SAAS,YAAY,KAAK,KAAK;CAC7B,IAAI,QAAQ,IAAI,WAAW,GAAG;CAC9B,IAAI,CAAC,cAAc,KAAK,KAAK,MAAM,KAAK,IAAI,QAAQ,OAAO;CAC3D,IAAI,QAAQ,IAAI,WAAW,MAAM,CAAC;CAClC,IAAI,CAAC,aAAa,KAAK,GAAG,OAAO;CACjC,QAAS,QAAQ,SAAW,OAAO,QAAQ,SAAU;AACvD;AAEA,SAAS,aAAa,IAAI;CAAE,OAAO,MAAM,SAAU,KAAK;AAAO;AAC/D,SAAS,cAAc,IAAI;CAAE,OAAO,MAAM,SAAU,KAAK;AAAO;AAChE,SAAS,cAAc,MAAM;CAAE,OAAO,OAAO,QAAU,IAAI;AAAE"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/@marijn+find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.js"],"sourcesContent":["// These are filled with ranges (rangeFrom[i] up to but not including\n// rangeTo[i]) of code points that count as extending characters.\nlet rangeFrom = [], rangeTo = []\n\n;(() => {\n // Compressed representation of the Grapheme_Cluster_Break=Extend\n // information from\n // http://www.unicode.org/Public/16.0.0/ucd/auxiliary/GraphemeBreakProperty.txt.\n // Each pair of elements represents a range, as an offet from the\n // previous range and a length. Numbers are in base-36, with the empty\n // string being a shorthand for 1.\n let numbers = \"lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o\".split(\",\").map(s => s ? parseInt(s, 36) : 1)\n for (let i = 0, n = 0; i < numbers.length; i++)\n (i % 2 ? rangeTo : rangeFrom).push(n = n + numbers[i])\n})()\n\nexport function isExtendingChar(code) {\n if (code < 768) return false\n for (let from = 0, to = rangeFrom.length;;) {\n let mid = (from + to) >> 1\n if (code < rangeFrom[mid]) to = mid\n else if (code >= rangeTo[mid]) from = mid + 1\n else return true\n if (from == to) return false\n }\n}\n\nfunction isRegionalIndicator(code) {\n return code >= 0x1F1E6 && code <= 0x1F1FF\n}\n\nfunction check(code) {\n for (let i = 0; i < rangeFrom.length; i++) {\n if (rangeTo[i] > code) return rangeFrom[i] <= code\n }\n return false\n}\n\nconst ZWJ = 0x200d\n\nexport function findClusterBreak(str, pos, forward = true, includeExtending = true) {\n return (forward ? nextClusterBreak : prevClusterBreak)(str, pos, includeExtending)\n}\n\nfunction nextClusterBreak(str, pos, includeExtending) {\n if (pos == str.length) return pos\n // If pos is in the middle of a surrogate pair, move to its start\n if (pos && surrogateLow(str.charCodeAt(pos)) && surrogateHigh(str.charCodeAt(pos - 1))) pos--\n let prev = codePointAt(str, pos)\n pos += codePointSize(prev)\n while (pos < str.length) {\n let next = codePointAt(str, pos)\n if (prev == ZWJ || next == ZWJ || includeExtending && isExtendingChar(next)) {\n pos += codePointSize(next)\n prev = next\n } else if (isRegionalIndicator(next)) {\n let countBefore = 0, i = pos - 2\n while (i >= 0 && isRegionalIndicator(codePointAt(str, i))) { countBefore++; i -= 2 }\n if (countBefore % 2 == 0) break\n else pos += 2\n } else {\n break\n }\n }\n return pos\n}\n\nfunction prevClusterBreak(str, pos, includeExtending) {\n while (pos > 0) {\n let found = nextClusterBreak(str, pos - 2, includeExtending)\n if (found < pos) return found\n pos--\n }\n return 0\n}\n\nfunction codePointAt(str, pos) {\n let code0 = str.charCodeAt(pos)\n if (!surrogateHigh(code0) || pos + 1 == str.length) return code0\n let code1 = str.charCodeAt(pos + 1)\n if (!surrogateLow(code1)) return code0\n return ((code0 - 0xd800) << 10) + (code1 - 0xdc00) + 0x10000\n}\n\nfunction surrogateLow(ch) { return ch >= 0xDC00 && ch < 0xE000 }\nfunction surrogateHigh(ch) { return ch >= 0xD800 && ch < 0xDC00 }\nfunction codePointSize(code) { return code < 0x10000 ? 1 : 2 }\n"],"x_google_ignoreList":[0],"mappings":";AAEA,IAAI,YAAY,CAAC;AAAG,IAAA,UAAU,CAAC;OAEvB;CAON,IAAI,UAAU,izCAAizC,MAAM,GAAG,CAAC,CAAC,KAAI,MAAK,IAAI,SAAS,GAAG,EAAE,IAAI,CAAC;CAC12C,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,QAAQ,QAAQ,KACzC,CAAC,IAAI,IAAI,UAAU,UAAA,CAAW,KAAK,IAAI,IAAI,QAAQ,EAAE;AACzD,EAAA,CAAG;AAEH,SAAgB,gBAAgB,MAAM;CACpC,IAAI,OAAO,KAAK,OAAO;CACvB,KAAK,IAAI,OAAO,GAAG,KAAK,UAAU,UAAU;EAC1C,IAAI,MAAO,OAAO,MAAO;EACzB,IAAI,OAAO,UAAU,MAAM,KAAK;OAC3B,IAAI,QAAQ,QAAQ,MAAM,OAAO,MAAM;OACvC,OAAO;EACZ,IAAI,QAAQ,IAAI,OAAO;CACzB;AACF;AAEA,SAAS,oBAAoB,MAAM;CACjC,OAAO,QAAQ,UAAW,QAAQ;AACpC;AASA,MAAM,MAAM;AAEZ,SAAgB,iBAAiB,KAAK,KAAK,UAAU,MAAM,mBAAmB,MAAM;CAClF,QAAQ,UAAU,mBAAmB,iBAAA,CAAkB,KAAK,KAAK,gBAAgB;AACnF;AAEA,SAAS,iBAAiB,KAAK,KAAK,kBAAkB;CACpD,IAAI,OAAO,IAAI,QAAQ,OAAO;CAE9B,IAAI,OAAO,aAAa,IAAI,WAAW,GAAG,CAAC,KAAK,cAAc,IAAI,WAAW,MAAM,CAAC,CAAC,GAAG;CACxF,IAAI,OAAO,YAAY,KAAK,GAAG;CAC/B,OAAO,cAAc,IAAI;CACzB,OAAO,MAAM,IAAI,QAAQ;EACvB,IAAI,OAAO,YAAY,KAAK,GAAG;EAC/B,IAAI,QAAQ,OAAO,QAAQ,OAAO,oBAAoB,gBAAgB,IAAI,GAAG;GAC3E,OAAO,cAAc,IAAI;GACzB,OAAO;EACT,OAAO,IAAI,oBAAoB,IAAI,GAAG;GACpC,IAAI,cAAc,GAAG,IAAI,MAAM;GAC/B,OAAO,KAAK,KAAK,oBAAoB,YAAY,KAAK,CAAC,CAAC,GAAG;IAAE;IAAe,KAAK;GAAE;GACnF,IAAI,cAAc,KAAK,GAAG;QACrB,OAAO;EACd,OACE;CAEJ;CACA,OAAO;AACT;AAEA,SAAS,iBAAiB,KAAK,KAAK,kBAAkB;CACpD,OAAO,MAAM,GAAG;EACd,IAAI,QAAQ,iBAAiB,KAAK,MAAM,GAAG,gBAAgB;EAC3D,IAAI,QAAQ,KAAK,OAAO;EACxB;CACF;CACA,OAAO;AACT;AAEA,SAAS,YAAY,KAAK,KAAK;CAC7B,IAAI,QAAQ,IAAI,WAAW,GAAG;CAC9B,IAAI,CAAC,cAAc,KAAK,KAAK,MAAM,KAAK,IAAI,QAAQ,OAAO;CAC3D,IAAI,QAAQ,IAAI,WAAW,MAAM,CAAC;CAClC,IAAI,CAAC,aAAa,KAAK,GAAG,OAAO;CACjC,QAAS,QAAQ,SAAW,OAAO,QAAQ,SAAU;AACvD;AAEA,SAAS,aAAa,IAAI;CAAE,OAAO,MAAM,SAAU,KAAK;AAAO;AAC/D,SAAS,cAAc,IAAI;CAAE,OAAO,MAAM,SAAU,KAAK;AAAO;AAChE,SAAS,cAAc,MAAM;CAAE,OAAO,OAAO,QAAU,IAAI;AAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"style-mod.js","names":[],"sources":["../../../../../../../../../node_modules/.bun/style-mod@4.1.3/node_modules/style-mod/src/style-mod.js"],"sourcesContent":["const C = \"\\u037c\"\nconst COUNT = typeof Symbol == \"undefined\" ? \"__\" + C : Symbol.for(C)\nconst SET = typeof Symbol == \"undefined\" ? \"__styleSet\" + Math.floor(Math.random() * 1e8) : Symbol(\"styleSet\")\nconst top = typeof globalThis != \"undefined\" ? globalThis : typeof window != \"undefined\" ? window : {}\n\n// :: - Style modules encapsulate a set of CSS rules defined from\n// JavaScript. Their definitions are only available in a given DOM\n// root after it has been _mounted_ there with `StyleModule.mount`.\n//\n// Style modules should be created once and stored somewhere, as\n// opposed to re-creating them every time you need them. The amount of\n// CSS rules generated for a given DOM root is bounded by the amount\n// of style modules that were used. So to avoid leaking rules, don't\n// create these dynamically, but treat them as one-time allocations.\nexport class StyleModule {\n // :: (Object<Style>, ?{finish: ?(string) → string})\n // Create a style module from the given spec.\n //\n // When `finish` is given, it is called on regular (non-`@`)\n // selectors (after `&` expansion) to compute the final selector.\n constructor(spec, options) {\n this.rules = []\n let {finish} = options || {}\n\n function splitSelector(selector) {\n return /^@/.test(selector) ? [selector] : selector.split(/,\\s*/)\n }\n\n function render(selectors, spec, target, isKeyframes) {\n let local = [], isAt = /^@(\\w+)\\b/.exec(selectors[0]), keyframes = isAt && isAt[1] == \"keyframes\"\n if (isAt && spec == null) return target.push(selectors[0] + \";\")\n for (let prop in spec) {\n let value = spec[prop]\n if (/&/.test(prop)) {\n render(prop.split(/,\\s*/).map(part => selectors.map(sel => part.replace(/&/, sel))).reduce((a, b) => a.concat(b)),\n value, target)\n } else if (value && typeof value == \"object\") {\n if (!isAt) throw new RangeError(\"The value of a property (\" + prop + \") should be a primitive value.\")\n render(splitSelector(prop), value, local, keyframes)\n } else if (value != null) {\n local.push(prop.replace(/_.*/, \"\").replace(/[A-Z]/g, l => \"-\" + l.toLowerCase()) + \": \" + value + \";\")\n }\n }\n if (local.length || keyframes) {\n target.push((finish && !isAt && !isKeyframes ? selectors.map(finish) : selectors).join(\", \") +\n \" {\" + local.join(\" \") + \"}\")\n }\n }\n\n for (let prop in spec) render(splitSelector(prop), spec[prop], this.rules)\n }\n\n // :: () → string\n // Returns a string containing the module's CSS rules.\n getRules() { return this.rules.join(\"\\n\") }\n\n // :: () → string\n // Generate a new unique CSS class name.\n static newName() {\n let id = top[COUNT] || 1\n top[COUNT] = id + 1\n return C + id.toString(36)\n }\n\n // :: (union<Document, ShadowRoot>, union<[StyleModule], StyleModule>, ?{nonce: ?string})\n //\n // Mount the given set of modules in the given DOM root, which ensures\n // that the CSS rules defined by the module are available in that\n // context.\n //\n // Rules are only added to the document once per root.\n //\n // Rule order will follow the order of the modules, so that rules from\n // modules later in the array take precedence of those from earlier\n // modules. If you call this function multiple times for the same root\n // in a way that changes the order of already mounted modules, the old\n // order will be changed.\n //\n // If a Content Security Policy nonce is provided, it is added to\n // the `<style>` tag generated by the library.\n static mount(root, modules, options) {\n let set = root[SET], nonce = options && options.nonce\n if (!set) set = new StyleSet(root, nonce)\n else if (nonce) set.setNonce(nonce)\n set.mount(Array.isArray(modules) ? modules : [modules], root)\n }\n}\n\nlet adoptedSet = new Map //<Document, StyleSet>\n\nclass StyleSet {\n constructor(root, nonce) {\n let doc = root.ownerDocument || root, win = doc.defaultView\n if (!root.head && root.adoptedStyleSheets && win.CSSStyleSheet) {\n let adopted = adoptedSet.get(doc)\n if (adopted) return root[SET] = adopted\n this.sheet = new win.CSSStyleSheet\n adoptedSet.set(doc, this)\n } else {\n this.styleTag = doc.createElement(\"style\")\n if (nonce) this.styleTag.setAttribute(\"nonce\", nonce)\n }\n this.modules = []\n root[SET] = this\n }\n\n mount(modules, root) {\n let sheet = this.sheet\n let pos = 0 /* Current rule offset */, j = 0 /* Index into this.modules */\n for (let i = 0; i < modules.length; i++) {\n let mod = modules[i], index = this.modules.indexOf(mod)\n if (index < j && index > -1) { // Ordering conflict\n this.modules.splice(index, 1)\n j--\n index = -1\n }\n if (index == -1) {\n this.modules.splice(j++, 0, mod)\n if (sheet) for (let k = 0; k < mod.rules.length; k++)\n sheet.insertRule(mod.rules[k], pos++)\n } else {\n while (j < index) pos += this.modules[j++].rules.length\n pos += mod.rules.length\n j++\n }\n }\n\n if (sheet) {\n if (root.adoptedStyleSheets.indexOf(this.sheet) < 0)\n root.adoptedStyleSheets = [this.sheet, ...root.adoptedStyleSheets]\n } else {\n let text = \"\"\n for (let i = 0; i < this.modules.length; i++)\n text += this.modules[i].getRules() + \"\\n\"\n this.styleTag.textContent = text\n let target = root.head || root\n if (this.styleTag.parentNode != target)\n target.insertBefore(this.styleTag, target.firstChild)\n }\n }\n\n setNonce(nonce) {\n if (this.styleTag && this.styleTag.getAttribute(\"nonce\") != nonce)\n this.styleTag.setAttribute(\"nonce\", nonce)\n }\n}\n\n// Style::Object<union<Style,string>>\n//\n// A style is an object that, in the simple case, maps CSS property\n// names to strings holding their values, as in `{color: \"red\",\n// fontWeight: \"bold\"}`. The property names can be given in\n// camel-case—the library will insert a dash before capital letters\n// when converting them to CSS.\n//\n// If you include an underscore in a property name, it and everything\n// after it will be removed from the output, which can be useful when\n// providing a property multiple times, for browser compatibility\n// reasons.\n//\n// A property in a style object can also be a sub-selector, which\n// extends the current context to add a pseudo-selector or a child\n// selector. Such a property should contain a `&` character, which\n// will be replaced by the current selector. For example `{\"&:before\":\n// {content: '\"hi\"'}}`. Sub-selectors and regular properties can\n// freely be mixed in a given object. Any property containing a `&` is\n// assumed to be a sub-selector.\n//\n// Finally, a property can specify an @-block to be wrapped around the\n// styles defined inside the object that's the property's value. For\n// example to create a media query you can do `{\"@media screen and\n// (min-width: 400px)\": {...}}`.\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"style-mod.js","names":[],"sources":["../../../../../../../../../node_modules/.bun/style-mod@4.1.3/node_modules/style-mod/src/style-mod.js"],"sourcesContent":["const C = \"\\u037c\"\nconst COUNT = typeof Symbol == \"undefined\" ? \"__\" + C : Symbol.for(C)\nconst SET = typeof Symbol == \"undefined\" ? \"__styleSet\" + Math.floor(Math.random() * 1e8) : Symbol(\"styleSet\")\nconst top = typeof globalThis != \"undefined\" ? globalThis : typeof window != \"undefined\" ? window : {}\n\n// :: - Style modules encapsulate a set of CSS rules defined from\n// JavaScript. Their definitions are only available in a given DOM\n// root after it has been _mounted_ there with `StyleModule.mount`.\n//\n// Style modules should be created once and stored somewhere, as\n// opposed to re-creating them every time you need them. The amount of\n// CSS rules generated for a given DOM root is bounded by the amount\n// of style modules that were used. So to avoid leaking rules, don't\n// create these dynamically, but treat them as one-time allocations.\nexport class StyleModule {\n // :: (Object<Style>, ?{finish: ?(string) → string})\n // Create a style module from the given spec.\n //\n // When `finish` is given, it is called on regular (non-`@`)\n // selectors (after `&` expansion) to compute the final selector.\n constructor(spec, options) {\n this.rules = []\n let {finish} = options || {}\n\n function splitSelector(selector) {\n return /^@/.test(selector) ? [selector] : selector.split(/,\\s*/)\n }\n\n function render(selectors, spec, target, isKeyframes) {\n let local = [], isAt = /^@(\\w+)\\b/.exec(selectors[0]), keyframes = isAt && isAt[1] == \"keyframes\"\n if (isAt && spec == null) return target.push(selectors[0] + \";\")\n for (let prop in spec) {\n let value = spec[prop]\n if (/&/.test(prop)) {\n render(prop.split(/,\\s*/).map(part => selectors.map(sel => part.replace(/&/, sel))).reduce((a, b) => a.concat(b)),\n value, target)\n } else if (value && typeof value == \"object\") {\n if (!isAt) throw new RangeError(\"The value of a property (\" + prop + \") should be a primitive value.\")\n render(splitSelector(prop), value, local, keyframes)\n } else if (value != null) {\n local.push(prop.replace(/_.*/, \"\").replace(/[A-Z]/g, l => \"-\" + l.toLowerCase()) + \": \" + value + \";\")\n }\n }\n if (local.length || keyframes) {\n target.push((finish && !isAt && !isKeyframes ? selectors.map(finish) : selectors).join(\", \") +\n \" {\" + local.join(\" \") + \"}\")\n }\n }\n\n for (let prop in spec) render(splitSelector(prop), spec[prop], this.rules)\n }\n\n // :: () → string\n // Returns a string containing the module's CSS rules.\n getRules() { return this.rules.join(\"\\n\") }\n\n // :: () → string\n // Generate a new unique CSS class name.\n static newName() {\n let id = top[COUNT] || 1\n top[COUNT] = id + 1\n return C + id.toString(36)\n }\n\n // :: (union<Document, ShadowRoot>, union<[StyleModule], StyleModule>, ?{nonce: ?string})\n //\n // Mount the given set of modules in the given DOM root, which ensures\n // that the CSS rules defined by the module are available in that\n // context.\n //\n // Rules are only added to the document once per root.\n //\n // Rule order will follow the order of the modules, so that rules from\n // modules later in the array take precedence of those from earlier\n // modules. If you call this function multiple times for the same root\n // in a way that changes the order of already mounted modules, the old\n // order will be changed.\n //\n // If a Content Security Policy nonce is provided, it is added to\n // the `<style>` tag generated by the library.\n static mount(root, modules, options) {\n let set = root[SET], nonce = options && options.nonce\n if (!set) set = new StyleSet(root, nonce)\n else if (nonce) set.setNonce(nonce)\n set.mount(Array.isArray(modules) ? modules : [modules], root)\n }\n}\n\nlet adoptedSet = new Map //<Document, StyleSet>\n\nclass StyleSet {\n constructor(root, nonce) {\n let doc = root.ownerDocument || root, win = doc.defaultView\n if (!root.head && root.adoptedStyleSheets && win.CSSStyleSheet) {\n let adopted = adoptedSet.get(doc)\n if (adopted) return root[SET] = adopted\n this.sheet = new win.CSSStyleSheet\n adoptedSet.set(doc, this)\n } else {\n this.styleTag = doc.createElement(\"style\")\n if (nonce) this.styleTag.setAttribute(\"nonce\", nonce)\n }\n this.modules = []\n root[SET] = this\n }\n\n mount(modules, root) {\n let sheet = this.sheet\n let pos = 0 /* Current rule offset */, j = 0 /* Index into this.modules */\n for (let i = 0; i < modules.length; i++) {\n let mod = modules[i], index = this.modules.indexOf(mod)\n if (index < j && index > -1) { // Ordering conflict\n this.modules.splice(index, 1)\n j--\n index = -1\n }\n if (index == -1) {\n this.modules.splice(j++, 0, mod)\n if (sheet) for (let k = 0; k < mod.rules.length; k++)\n sheet.insertRule(mod.rules[k], pos++)\n } else {\n while (j < index) pos += this.modules[j++].rules.length\n pos += mod.rules.length\n j++\n }\n }\n\n if (sheet) {\n if (root.adoptedStyleSheets.indexOf(this.sheet) < 0)\n root.adoptedStyleSheets = [this.sheet, ...root.adoptedStyleSheets]\n } else {\n let text = \"\"\n for (let i = 0; i < this.modules.length; i++)\n text += this.modules[i].getRules() + \"\\n\"\n this.styleTag.textContent = text\n let target = root.head || root\n if (this.styleTag.parentNode != target)\n target.insertBefore(this.styleTag, target.firstChild)\n }\n }\n\n setNonce(nonce) {\n if (this.styleTag && this.styleTag.getAttribute(\"nonce\") != nonce)\n this.styleTag.setAttribute(\"nonce\", nonce)\n }\n}\n\n// Style::Object<union<Style,string>>\n//\n// A style is an object that, in the simple case, maps CSS property\n// names to strings holding their values, as in `{color: \"red\",\n// fontWeight: \"bold\"}`. The property names can be given in\n// camel-case—the library will insert a dash before capital letters\n// when converting them to CSS.\n//\n// If you include an underscore in a property name, it and everything\n// after it will be removed from the output, which can be useful when\n// providing a property multiple times, for browser compatibility\n// reasons.\n//\n// A property in a style object can also be a sub-selector, which\n// extends the current context to add a pseudo-selector or a child\n// selector. Such a property should contain a `&` character, which\n// will be replaced by the current selector. For example `{\"&:before\":\n// {content: '\"hi\"'}}`. Sub-selectors and regular properties can\n// freely be mixed in a given object. Any property containing a `&` is\n// assumed to be a sub-selector.\n//\n// Finally, a property can specify an @-block to be wrapped around the\n// styles defined inside the object that's the property's value. For\n// example to create a media query you can do `{\"@media screen and\n// (min-width: 400px)\": {...}}`.\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -43,7 +43,7 @@ interface CollapseItemProps {
43
43
  * @default false
44
44
  */
45
45
  modelValue?: boolean;
46
- /** 标题文本(也可使用 #title 插槽) */
46
+ /** 标题文本(也可通过 #header 插槽自定义整个头部) */
47
47
  title?: string;
48
48
  /** 是否禁用 */
49
49
  disabled?: boolean;
@@ -52,6 +52,12 @@ interface CollapseItemProps {
52
52
  * 在 `UCollapse` 内由父组件 `expandIcon` 统一管理。
53
53
  */
54
54
  expandIcon?: Component;
55
+ /**
56
+ * 折叠动画结束后卸载内容 DOM(展开时重新挂载),减少长列表的内存与渲染成本。
57
+ * 注意:卸载会丢失内容区的本地组件状态。
58
+ * @default false
59
+ */
60
+ destroyOnCollapse?: boolean;
55
61
  }
56
62
  interface CollapseItemEmits {
57
63
  (e: 'update:modelValue', value: boolean): void;
@@ -5,8 +5,8 @@ import { ComponentProps, DeconstructValue } from "@veltra/utils";
5
5
  * 右键菜单项
6
6
  */
7
7
  interface ContextmenuItem {
8
- /** 菜单名称 */
9
- label: string;
8
+ /** 菜单名称(divider 时可空) */
9
+ label?: string;
10
10
  /** 菜单描述 */
11
11
  description?: string;
12
12
  /** 菜单图标 */
@@ -17,6 +17,12 @@ interface ContextmenuItem {
17
17
  callback?: () => any;
18
18
  /** 是否禁用 */
19
19
  disabled?: boolean | (() => boolean);
20
+ /** 渲染为分割线(忽略其余字段) */
21
+ divider?: boolean;
22
+ /** 自定义内容组件(替代 label 文本渲染) */
23
+ render?: Component;
24
+ /** 点击本项不触发关闭流程(供内嵌交互组件使用) */
25
+ keepOpen?: boolean;
20
26
  }
21
27
  /** 鼠标右键菜单组件属性 */
22
28
  interface ContextmenuProps extends ComponentProps {
@@ -26,8 +32,8 @@ interface ContextmenuProps extends ComponentProps {
26
32
  y: number;
27
33
  };
28
34
  /**
29
- * 菜单宽度
30
- * @default 200
35
+ * 菜单宽度。传数字为固定 px;传 `'max-content'` 时由内容撑开(配合根样式 min-width: 120px)。
36
+ * @default 150
31
37
  */
32
38
  width?: number | string;
33
39
  /** 菜单项 */
@@ -80,10 +80,4 @@ import { RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTe
80
80
  import { FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, _FileViewerExposed } from "./file-viewer.js";
81
81
  import { CollapseEmits, CollapseItemEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue } from "./collapse.js";
82
82
  export type * from "@veltra/utils";
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, BatchEditFormStatus, BatchEditProps, BatchEditSlots, BatchEditStates, 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, CollapseItemEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextmenuEmits, ContextmenuExposed, ContextmenuItem, ContextmenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DialogTransition, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DualNavEmits, DualNavExposed, DualNavProps, DualNavRailVariant, DualNavRootItem, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormEmits, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, GroupNavEmits, GroupNavGroup, GroupNavProps, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, Message, MessageConfirm, MessageConfirmAction, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmInstance, MessageConfirmOptions, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NavEmits, NavExposed, NavItem, NavProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationInstance, NotificationOptions, NotificationPosition, 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, _DualNavExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NavExposed, _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
- }
86
- import * as import__veltra_utils from "@veltra/utils";
87
- //#endregion
88
- export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditFormStatus, BatchEditProps, BatchEditSlots, BatchEditStates, 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, CollapseItemEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextmenuEmits, ContextmenuExposed, ContextmenuItem, ContextmenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DialogTransition, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DualNavEmits, DualNavExposed, DualNavProps, DualNavRailVariant, DualNavRootItem, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormEmits, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, GroupNavEmits, GroupNavGroup, GroupNavProps, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, Message, MessageConfirm, MessageConfirmAction, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmInstance, MessageConfirmOptions, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NavEmits, NavExposed, NavItem, NavProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationInstance, NotificationOptions, NotificationPosition, 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, _DualNavExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NavExposed, _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, index_d_exports };
89
- //# sourceMappingURL=index.d.ts.map
83
+ export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditFormStatus, BatchEditProps, BatchEditSlots, BatchEditStates, 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, CollapseItemEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextmenuEmits, ContextmenuExposed, ContextmenuItem, ContextmenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DialogTransition, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DualNavEmits, DualNavExposed, DualNavProps, DualNavRailVariant, DualNavRootItem, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormEmits, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, GroupNavEmits, GroupNavGroup, GroupNavProps, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, Message, MessageConfirm, MessageConfirmAction, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmInstance, MessageConfirmOptions, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NavEmits, NavExposed, NavItem, NavProps, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationInstance, NotificationOptions, NotificationPosition, 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, _DualNavExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NavExposed, _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 };
@@ -37,9 +37,24 @@ interface LayoutProps {
37
37
  * @description 注意:当为true时,gap固定且需要有一项宽度为固定像素才能够拖拽
38
38
  */
39
39
  resizable?: boolean;
40
+ /**
41
+ * 每列的最小宽度(px),按列索引与 cols 对应,仅 resizable 拖拽时生效。
42
+ * 未指定的列不限制(可被压至 0)。
43
+ * @example
44
+ * ```ts
45
+ * // 三栏拖拽时,左栏不小于 120px,右栏不小于 200px
46
+ * :cols="['1fr', '2fr', '300px']" :col-min-sizes="[120, undefined, 200]"
47
+ * ```
48
+ */
49
+ colMinSizes?: (number | undefined)[];
40
50
  }
41
51
  /** 布局组件定义的事件 */
42
- interface LayoutEmits {}
52
+ interface LayoutEmits {
53
+ /** 开始拖拽调节某条间隔(index 为间隔左侧列的索引) */
54
+ (e: 'resize-start', index: number): void;
55
+ /** 拖拽调节结束 */
56
+ (e: 'resize-end', index: number): void;
57
+ }
43
58
  /** 布局组件暴露的属性和方法(组件内部使用) */
44
59
  interface _LayoutExposed {}
45
60
  /** 布局组件暴露的属性和方法(组件外部使用, 引用的值会被自动解构) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltra/desktop",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -35,34 +35,22 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@embedpdf/core": "^2.14.4",
39
- "@embedpdf/engines": "^2.14.4",
40
- "@embedpdf/plugin-document-manager": "^2.14.4",
41
- "@embedpdf/plugin-render": "^2.14.4",
42
- "@embedpdf/plugin-scroll": "^2.14.4",
43
- "@embedpdf/plugin-viewport": "^2.14.4",
44
- "@embedpdf/plugin-zoom": "^2.14.4",
45
- "@lexical/history": "^0.48.0",
46
- "@lexical/html": "^0.48.0",
47
- "@lexical/link": "^0.48.0",
48
- "@lexical/list": "^0.48.0",
49
- "@lexical/rich-text": "^0.48.0",
50
- "@lexical/selection": "^0.48.0",
51
- "@lexical/utils": "^0.48.0",
52
- "@visactor/vtable": "^1.26.5",
38
+ "@embedpdf/core": "^2.15.0",
39
+ "@embedpdf/engines": "^2.15.0",
40
+ "@embedpdf/plugin-document-manager": "^2.15.0",
41
+ "@embedpdf/plugin-render": "^2.15.0",
42
+ "@embedpdf/plugin-scroll": "^2.15.0",
43
+ "@embedpdf/plugin-viewport": "^2.15.0",
44
+ "@embedpdf/plugin-zoom": "^2.15.0",
45
+ "@lexical/history": "^0.49.0",
46
+ "@lexical/html": "^0.49.0",
47
+ "@lexical/link": "^0.49.0",
48
+ "@lexical/list": "^0.49.0",
49
+ "@lexical/rich-text": "^0.49.0",
50
+ "@lexical/selection": "^0.49.0",
51
+ "@lexical/utils": "^0.49.0",
53
52
  "docx-preview": "^0.4.0",
54
- "lexical": "^0.48.0"
55
- },
56
- "peerDependencies": {
57
- "@cat-kit/core": ">=1.1.8",
58
- "@cat-kit/excel": ">=1.0.0",
59
- "@cat-kit/fe": "^1.1.8",
60
- "@veltra/compositions": "1.4.0",
61
- "@veltra/directives": "1.4.0",
62
- "@veltra/icons": "1.4.0",
63
- "@veltra/styles": "1.4.0",
64
- "@veltra/utils": "1.4.0",
65
- "vue": ">=3.5.40"
53
+ "lexical": "^0.49.0"
66
54
  },
67
55
  "devDependencies": {
68
56
  "@codemirror/autocomplete": "6.20.3",
@@ -70,7 +58,7 @@
70
58
  "@codemirror/lang-java": "6.0.2",
71
59
  "@codemirror/lang-javascript": "6.2.5",
72
60
  "@codemirror/lang-json": "6.0.2",
73
- "@codemirror/lang-markdown": "6.5.1",
61
+ "@codemirror/lang-markdown": "6.5.2",
74
62
  "@codemirror/lang-sql": "6.10.0",
75
63
  "@codemirror/language": "6.12.4",
76
64
  "@codemirror/legacy-modes": "6.5.3",
@@ -78,6 +66,22 @@
78
66
  "@codemirror/search": "6.7.1",
79
67
  "@codemirror/state": "6.7.1",
80
68
  "@codemirror/theme-one-dark": "6.1.3",
81
- "@codemirror/view": "6.43.6"
69
+ "@codemirror/view": "6.43.8"
70
+ },
71
+ "peerDependencies": {
72
+ "@cat-kit/core": ">=1.1.8",
73
+ "@cat-kit/fe": ">=1.1.8",
74
+ "@veltra/compositions": "^1.6.0",
75
+ "@veltra/directives": "^1.6.0",
76
+ "@veltra/icons": "^1.5.0",
77
+ "@veltra/sheet-core": "^2.3.0",
78
+ "@veltra/styles": "^1.6.0",
79
+ "@veltra/utils": "^1.6.0",
80
+ "vue": ">=3.5.41"
81
+ },
82
+ "peerDependenciesMeta": {
83
+ "@veltra/sheet-core": {
84
+ "optional": true
85
+ }
82
86
  }
83
87
  }
@@ -0,0 +1,199 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { createApp, h, nextTick, reactive, ref } from 'vue'
3
+
4
+ import { UInput } from '../../input'
5
+ import { USelect } from '../../select'
6
+ import { defineTableColumns } from '../../table'
7
+ import { UBatchEdit } from '../index'
8
+
9
+ function mountBatchEdit() {
10
+ const host = document.createElement('div')
11
+ document.body.appendChild(host)
12
+
13
+ const columns = defineTableColumns([
14
+ { key: 'label', name: '名称' },
15
+ { key: 'behavior', name: '行为' }
16
+ ])
17
+
18
+ const initialData = [
19
+ { id: '1', label: '存草稿', behavior: 'common-resource', submitType: 'DRAFT' },
20
+ { id: '2', label: '调接口', behavior: 'api', submitType: 'SUBMIT', apiMethod: 'POST' }
21
+ ]
22
+
23
+ const data = ref(initialData.map((item) => ({ ...item })))
24
+
25
+ const model = reactive({
26
+ id: '',
27
+ label: '',
28
+ behavior: 'event',
29
+ submitType: undefined as string | undefined,
30
+ apiMethod: undefined as string | undefined
31
+ })
32
+
33
+ const app = createApp({
34
+ render() {
35
+ return h(
36
+ UBatchEdit,
37
+ {
38
+ data: data.value,
39
+ 'onUpdate:data': (value: any[]) => {
40
+ data.value = value
41
+ },
42
+ columns,
43
+ model,
44
+ rowKey: 'id',
45
+ quickEdit: true
46
+ },
47
+ {
48
+ form: () => [
49
+ h(UInput, { field: 'label', label: '名称' }),
50
+ h(USelect, {
51
+ field: 'behavior',
52
+ label: '行为',
53
+ options: [
54
+ { label: '事件', value: 'event' },
55
+ { label: '通用资源', value: 'common-resource' },
56
+ { label: '接口', value: 'api' }
57
+ ]
58
+ }),
59
+ model.behavior === 'api' || model.behavior === 'common-resource'
60
+ ? h(USelect, {
61
+ field: 'submitType',
62
+ label: '提交类型',
63
+ options: [
64
+ { label: 'DRAFT', value: 'DRAFT' },
65
+ { label: 'SUBMIT', value: 'SUBMIT' },
66
+ { label: 'SAVE', value: 'SAVE' }
67
+ ]
68
+ })
69
+ : null,
70
+ model.behavior === 'api'
71
+ ? h(USelect, {
72
+ field: 'apiMethod',
73
+ label: 'HTTP 方法',
74
+ options: [
75
+ { label: 'POST', value: 'POST' },
76
+ { label: 'PUT', value: 'PUT' }
77
+ ]
78
+ })
79
+ : null
80
+ ]
81
+ }
82
+ )
83
+ }
84
+ })
85
+
86
+ app.mount(host)
87
+
88
+ return {
89
+ host,
90
+ data,
91
+ model,
92
+ unmount() {
93
+ app.unmount()
94
+ host.remove()
95
+ }
96
+ }
97
+ }
98
+
99
+ function queryRows(host: HTMLElement) {
100
+ return [...host.querySelectorAll<HTMLElement>('tr.u-table__row')]
101
+ }
102
+
103
+ async function clickRow(host: HTMLElement, index: number) {
104
+ const row = queryRows(host)[index]
105
+ expect(row, `第 ${index} 行应存在`).toBeTruthy()
106
+ row!.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true }))
107
+ await nextTick()
108
+ await nextTick()
109
+ }
110
+
111
+ describe('UBatchEdit quick-edit 切换编辑行', () => {
112
+ it('切换行时先重置表单再回显,不污染行数据', async () => {
113
+ const { host, data, model, unmount } = mountBatchEdit()
114
+
115
+ // 第一次点击第 1 行:正常回显
116
+ await clickRow(host, 0)
117
+ expect(model.label).toBe('存草稿')
118
+ expect(model.behavior).toBe('common-resource')
119
+ expect(model.submitType).toBe('DRAFT')
120
+ expect(model.apiMethod).toBeUndefined()
121
+
122
+ // 再点击第 2 行:先重置回 model 初始快照,再回显第 2 行数据
123
+ await clickRow(host, 1)
124
+ expect(model.label).toBe('调接口')
125
+ expect(model.behavior).toBe('api')
126
+ expect(model.submitType).toBe('SUBMIT')
127
+ expect(model.apiMethod).toBe('POST')
128
+
129
+ // 源数据不被默认值污染
130
+ expect(data.value).toEqual([
131
+ { id: '1', label: '存草稿', behavior: 'common-resource', submitType: 'DRAFT' },
132
+ { id: '2', label: '调接口', behavior: 'api', submitType: 'SUBMIT', apiMethod: 'POST' }
133
+ ])
134
+
135
+ unmount()
136
+ })
137
+
138
+ it('取消选中行后表单数据重置为 model 初始值', async () => {
139
+ const { host, data, model, unmount } = mountBatchEdit()
140
+
141
+ await clickRow(host, 1)
142
+ expect(model.label).toBe('调接口')
143
+
144
+ // 再次点击当前行 → 取消选中,表单恢复到 model 初始快照
145
+ await clickRow(host, 1)
146
+ expect(model.label).toBe('')
147
+ expect(model.behavior).toBe('event')
148
+ expect(model.submitType).toBeUndefined()
149
+ expect(model.apiMethod).toBeUndefined()
150
+
151
+ expect(data.value[1]).toEqual({
152
+ id: '2',
153
+ label: '调接口',
154
+ behavior: 'api',
155
+ submitType: 'SUBMIT',
156
+ apiMethod: 'POST'
157
+ })
158
+
159
+ unmount()
160
+ })
161
+
162
+ it('表单常驻挂载(v-show 控制显隐),切换行不重建表单', async () => {
163
+ const { host, unmount } = mountBatchEdit()
164
+
165
+ // model 存在即挂载表单,未选中行时仅隐藏(快照只在首次挂载时拍一次)
166
+ const aside = host.querySelector<HTMLElement>('.u-batch-edit__form')
167
+ expect(aside).toBeTruthy()
168
+ expect(aside!.style.display).toBe('none')
169
+
170
+ await clickRow(host, 0)
171
+ const formBody = host.querySelector('.u-batch-edit__form-body')
172
+ expect(aside!.style.display).not.toBe('none')
173
+
174
+ await clickRow(host, 1)
175
+ // 同一 DOM 节点:表单未因切行销毁重建,初始快照不会被重新生成
176
+ expect(host.querySelector('.u-batch-edit__form-body')).toBe(formBody)
177
+
178
+ unmount()
179
+ })
180
+
181
+ it('quick-edit 下用户输入仍实时写回行数据', async () => {
182
+ const { host, data, unmount } = mountBatchEdit()
183
+
184
+ await clickRow(host, 0)
185
+
186
+ const input = host.querySelector<HTMLInputElement>('.u-input input')
187
+ expect(input).toBeTruthy()
188
+ input!.value = '改过的名称'
189
+ input!.dispatchEvent(
190
+ new InputEvent('input', { bubbles: true, data: '改过的名称', inputType: 'insertText' })
191
+ )
192
+ await nextTick()
193
+ await nextTick()
194
+
195
+ expect(data.value[0]!.label).toBe('改过的名称')
196
+
197
+ unmount()
198
+ })
199
+ })
@@ -1,5 +1,6 @@
1
1
  <template>
2
- <aside :class="cls.e('form')" v-if="state.formVisible && !!props.model">
2
+ <!-- 表单常驻挂载(快照只在挂载时对传入的 model 拍一次),仅用 v-show 控制显隐 -->
3
+ <aside :class="cls.e('form')" v-if="!!props.model" v-show="state.formVisible">
3
4
  <header :class="cls.e('form-header')">
4
5
  <span :class="[cls.e('form-icon'), bem.is(state.formActionType)]">
5
6
  <u-icon>
@@ -20,7 +21,7 @@
20
21
  />
21
22
  </header>
22
23
 
23
- <u-scroll always :class="cls.e('form-body')" :key="bodyKey">
24
+ <u-scroll always :class="cls.e('form-body')">
24
25
  <transition name="fade" appear mode="out-in">
25
26
  <u-form
26
27
  ref="formComponentRef"
@@ -90,7 +91,8 @@ defineOptions({ name: 'UBatchEditForm' })
90
91
 
91
92
  const batchEditCtx = inject(BatchEditDIKey)!
92
93
 
93
- const { cls, props, state, handleClose, handleSave, staticFeatures, dynamicFeatures } = batchEditCtx
94
+ const { cls, props, state, handleClose, handleSave, staticFeatures, dynamicFeatures, syncing } =
95
+ batchEditCtx
94
96
 
95
97
  const focused = toRef(batchEditCtx, 'focused')
96
98
 
@@ -104,6 +106,9 @@ defineExpose<_FormExposed>({
104
106
  })
105
107
 
106
108
  function handleFieldChange(field: string, value: any) {
109
+ // 编程方式重置/回显期间不写回行数据,避免默认值污染源数据
110
+ if (syncing.value) return
111
+
107
112
  if (state.row && props.quickEdit) {
108
113
  o(state.row.data).set(field, value)
109
114
  }
@@ -133,9 +138,4 @@ const showSaveBtn = computed(() => {
133
138
  })
134
139
 
135
140
  const headerInfo = computed(() => FORM_ACTION_HEADER_MAP[state.formActionType])
136
-
137
- /** 通过 row 切换 / 类型切换驱动表单内容淡出淡入 */
138
- const bodyKey = computed(() => {
139
- return `${state.formActionType}-${state.row?.uid ?? 'create'}-${state.parentRow?.uid ?? 'root'}`
140
- })
141
141
  </script>
@@ -46,7 +46,7 @@ const cls = bem('batch-edit')
46
46
 
47
47
  const formRef = useTemplateRef<FormExposed>('form')
48
48
 
49
- const { state, resetState } = useEditState({ props, formRef })
49
+ const { state, resetState, syncing } = useEditState({ props, formRef })
50
50
 
51
51
  const { staticFeatures, dynamicFeatures } = useFeatures({ props })
52
52
 
@@ -72,6 +72,7 @@ provide(BatchEditDIKey, {
72
72
  staticFeatures,
73
73
  dynamicFeatures,
74
74
  focused,
75
+ syncing,
75
76
  ...handlers
76
77
  })
77
78
  </script>
@@ -22,5 +22,7 @@ export const BatchEditDIKey: InjectionKey<
22
22
  >
23
23
  /** 组件或其子节点是否处于聚焦状态 */
24
24
  focused: ShallowRef<boolean>
25
+ /** 是否正在以编程方式重置/回显表单,此期间禁止 quick-edit 回写行数据 */
26
+ syncing: ShallowRef<boolean>
25
27
  } & EditReturned
26
28
  > = Symbol('BatchEditDIKey')
@@ -1,5 +1,5 @@
1
1
  import { o } from '@cat-kit/core'
2
- import { nextTick, shallowReactive, watch, type ShallowRef } from 'vue'
2
+ import { nextTick, shallowReactive, shallowRef, watch, type ShallowRef } from 'vue'
3
3
 
4
4
  import type { BatchEditProps, BatchEditStates, FormExposed } from '../../types'
5
5
 
@@ -21,8 +21,11 @@ export function useEditState(options: Options) {
21
21
 
22
22
  const state = shallowReactive({ ...defaultState })
23
23
 
24
+ /** 是否正在以编程方式重置/回显表单,此期间禁止 quick-edit 回写行数据 */
25
+ const syncing = shallowRef(false)
26
+
24
27
  function resetState() {
25
- // 销毁表单前先重置,避免下次 v-if 重挂载时 Form 拍到脏 model
28
+ // 表单常驻挂载,重置即恢复到 model 初始快照
26
29
  formRef.value?.reset()
27
30
 
28
31
  if (state.row) {
@@ -39,26 +42,30 @@ export function useEditState(options: Options) {
39
42
  watch(
40
43
  () => state.row,
41
44
  (row) => {
45
+ syncing.value = true
46
+
47
+ // 先重置回 model 初始快照,再同步回显行数据。
48
+ // 同一 tick 内的连续写入会被表单字段 watcher 合并,
49
+ // 重置产生的默认值不会触发 field:change 回写行数据
42
50
  formRef.value?.reset()
43
51
 
44
52
  if (row) {
45
- /** 延迟设置 model,防止表单初始状态丢失 */
46
- nextTick(() => {
47
- if (props.model) {
48
- o(props.model).deepExtend(row.data)
49
- }
50
- })
53
+ if (props.model) {
54
+ o(props.model).deepExtend(row.data)
55
+ }
51
56
  state.formActionType = props.readonly ? 'view' : 'update'
52
57
  state.formVisible = true
53
58
  state.depth = row.depth
54
59
  state.indexPath = [...row.indexes]
55
-
56
- return
60
+ } else {
61
+ resetState()
57
62
  }
58
63
 
59
- resetState()
64
+ nextTick(() => {
65
+ syncing.value = false
66
+ })
60
67
  }
61
68
  )
62
69
 
63
- return { state, resetState }
70
+ return { state, resetState, syncing }
64
71
  }