@ticatec/uniface-element 5.0.5 → 5.1.1

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 (401) hide show
  1. package/README.md +4 -3
  2. package/README_CN.md +4 -3
  3. package/dist/app_layout/ColumnsLayout.svelte +14 -10
  4. package/dist/app_layout/ColumnsLayout.svelte.d.ts +8 -4
  5. package/dist/app_layout/README.md +14 -12
  6. package/dist/app_layout/README_CN.md +14 -12
  7. package/dist/app_layout/RowsLayout.svelte +14 -10
  8. package/dist/app_layout/RowsLayout.svelte.d.ts +8 -4
  9. package/dist/base-calendar/CalendarBase.svelte +4 -10
  10. package/dist/base-calendar/CalendarBase.svelte.d.ts +0 -4
  11. package/dist/base-calendar/MonthlyCalendar.svelte +11 -3
  12. package/dist/base-calendar/MonthlyCalendar.svelte.d.ts +1 -2
  13. package/dist/base-calendar/YearPickupPanel.svelte +5 -5
  14. package/dist/base-calendar/YearPickupPanel.svelte.d.ts +2 -2
  15. package/dist/base-calendar/dateUtils.js +9 -5
  16. package/dist/composite/pagination_panel/PaginationPanel.svelte +15 -12
  17. package/dist/composite/pagination_panel/PaginationPanel.svelte.d.ts +8 -5
  18. package/dist/composite/pagination_panel/README.md +3 -1
  19. package/dist/composite/pagination_panel/README_CN.md +3 -1
  20. package/dist/composite/transfer/Transfer.svelte +30 -15
  21. package/dist/composite/transfer/Transfer.svelte.d.ts +11 -4
  22. package/dist/composite/transfer/index.d.ts +2 -2
  23. package/dist/data_display/accordion/Accordion.svelte +10 -9
  24. package/dist/data_display/accordion/Accordion.svelte.d.ts +2 -1
  25. package/dist/data_display/accordion/AccordionItemView.svelte +6 -6
  26. package/dist/data_display/accordion/AccordionItemView.svelte.d.ts +1 -1
  27. package/dist/data_display/accordion/README.md +6 -4
  28. package/dist/data_display/accordion/README_CN.md +6 -4
  29. package/dist/data_display/card/Card.svelte +13 -11
  30. package/dist/data_display/card/Card.svelte.d.ts +5 -3
  31. package/dist/data_display/card/CardAction.d.ts +7 -2
  32. package/dist/data_display/card/CommonCardActionBar.svelte +2 -2
  33. package/dist/data_display/card/README.md +11 -9
  34. package/dist/data_display/card/README_CN.md +11 -9
  35. package/dist/data_display/card/index.d.ts +2 -1
  36. package/dist/data_display/concise_data_table/Column.d.ts +0 -6
  37. package/dist/data_display/concise_data_table/ConciseListTable.svelte +6 -5
  38. package/dist/data_display/concise_data_table/ConciseListTable.svelte.d.ts +4 -3
  39. package/dist/data_display/concise_data_table/DataCell.svelte +1 -1
  40. package/dist/data_display/concise_data_table/README.md +7 -5
  41. package/dist/data_display/concise_data_table/README_CN.md +7 -5
  42. package/dist/data_display/concise_data_table/TableOptions.d.ts +1 -1
  43. package/dist/data_display/list_box/ListBox.svelte +11 -15
  44. package/dist/data_display/list_box/ListBox.svelte.d.ts +6 -9
  45. package/dist/data_display/list_box/README.md +10 -8
  46. package/dist/data_display/list_box/README_CN.md +10 -8
  47. package/dist/data_display/list_box/index.d.ts +2 -3
  48. package/dist/data_display/tree_view/README.md +4 -2
  49. package/dist/data_display/tree_view/README_CN.md +4 -2
  50. package/dist/data_display/tree_view/TreeNodeView.svelte +15 -16
  51. package/dist/data_display/tree_view/TreeNodeView.svelte.d.ts +4 -5
  52. package/dist/data_display/tree_view/TreeView.svelte +27 -19
  53. package/dist/data_display/tree_view/TreeView.svelte.d.ts +12 -4
  54. package/dist/data_display/tree_view/index.d.ts +2 -3
  55. package/dist/data_table/DataTable.svelte +15 -14
  56. package/dist/data_table/DataTable.svelte.d.ts +2 -1
  57. package/dist/data_table/README.md +10 -8
  58. package/dist/data_table/README_CN.md +10 -8
  59. package/dist/data_table/UniDataTable.d.ts +4 -4
  60. package/dist/data_table/UniDataTable.js +2 -2
  61. package/dist/data_table/index.d.ts +5 -5
  62. package/dist/data_table/lib/CellAction.d.ts +9 -0
  63. package/dist/data_table/lib/CommonHeaderCell.d.ts +2 -2
  64. package/dist/data_table/lib/CompareFn.d.ts +3 -0
  65. package/dist/data_table/lib/DataColumn.d.ts +7 -12
  66. package/dist/data_table/lib/FormatCellFn.d.ts +2 -0
  67. package/dist/data_table/lib/HrefLink.d.ts +3 -3
  68. package/dist/data_table/lib/IndicatorColumn.d.ts +2 -1
  69. package/dist/data_table/lib/RowAction.d.ts +14 -20
  70. package/dist/data_table/parts/ActionCell.svelte +3 -3
  71. package/dist/data_table/parts/ActionCell.svelte.d.ts +1 -1
  72. package/dist/data_table/parts/ActionsRow.svelte +7 -5
  73. package/dist/data_table/parts/ContentPanel.svelte +14 -14
  74. package/dist/data_table/parts/ContentPanel.svelte.d.ts +5 -5
  75. package/dist/data_table/parts/FixedColumnsPanel.svelte +15 -15
  76. package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +4 -4
  77. package/dist/data_table/parts/FixedHeaderPanel.svelte +13 -13
  78. package/dist/data_table/parts/FixedHeaderPanel.svelte.d.ts +4 -4
  79. package/dist/data_table/parts/FixedRow.svelte +9 -9
  80. package/dist/data_table/parts/FixedRow.svelte.d.ts +3 -3
  81. package/dist/data_table/parts/HrefCell.svelte +1 -1
  82. package/dist/data_table/parts/PopupMenu.svelte +3 -3
  83. package/dist/data_table/parts/PopupMenu.svelte.d.ts +1 -1
  84. package/dist/data_table/parts/TableHeaderPanel.svelte +14 -14
  85. package/dist/data_table/parts/TableHeaderPanel.svelte.d.ts +4 -4
  86. package/dist/data_table/parts/TextCell.svelte +1 -1
  87. package/dist/feedback/progress-bar/ProgressBar.svelte +13 -10
  88. package/dist/feedback/progress-bar/ProgressBar.svelte.d.ts +6 -3
  89. package/dist/form/FormEditor.svelte +2 -2
  90. package/dist/form/FormEditor.svelte.d.ts +1 -1
  91. package/dist/form/attachment_files/AttachmentEditor.svelte +407 -92
  92. package/dist/form/attachment_files/AttachmentEditor.svelte.d.ts +71 -15
  93. package/dist/form/attachment_files/AttachmentFile.d.ts +35 -8
  94. package/dist/form/attachment_files/AttachmentFile.js +54 -29
  95. package/dist/form/attachment_files/AttachmentListItem.svelte +208 -0
  96. package/dist/form/attachment_files/AttachmentListItem.svelte.d.ts +25 -0
  97. package/dist/form/attachment_files/AttachmentTile.svelte +296 -0
  98. package/dist/form/attachment_files/AttachmentTile.svelte.d.ts +25 -0
  99. package/dist/form/attachment_files/FileUpload.d.ts +2 -2
  100. package/dist/form/attachment_files/README.md +71 -452
  101. package/dist/form/attachment_files/README_CN.md +68 -449
  102. package/dist/form/attachment_files/UploadTask.d.ts +27 -0
  103. package/dist/form/attachment_files/index.d.ts +8 -5
  104. package/dist/form/attachment_files/index.js +4 -2
  105. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +16 -15
  106. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte.d.ts +6 -5
  107. package/dist/form/cascade_options_select/IsLeaf.d.ts +4 -0
  108. package/dist/form/cascade_options_select/IsLeaf.js +1 -0
  109. package/dist/form/cascade_options_select/OptionsBox.svelte +4 -4
  110. package/dist/form/cascade_options_select/OptionsBox.svelte.d.ts +2 -2
  111. package/dist/form/color_picker/ColorPicker.svelte +3 -3
  112. package/dist/form/common_editor/BasePicker.svelte +7 -7
  113. package/dist/form/common_editor/BasePicker.svelte.d.ts +3 -3
  114. package/dist/form/common_editor/CommonEditor.svelte +8 -8
  115. package/dist/form/common_editor/CommonEditor.svelte.d.ts +2 -2
  116. package/dist/form/common_editor/CommonPicker.svelte +43 -31
  117. package/dist/form/common_editor/CommonPicker.svelte.d.ts +6 -6
  118. package/dist/form/common_editor/CommonPickerProps.d.ts +2 -2
  119. package/dist/form/common_editor/CommonPopupEditor.svelte +13 -13
  120. package/dist/form/common_editor/CommonPopupEditor.svelte.d.ts +3 -4
  121. package/dist/form/common_editor/NumberInput.svelte +10 -2
  122. package/dist/form/common_editor/NumberInput.svelte.d.ts +1 -1
  123. package/dist/form/common_range_editor/CommonRangeEditor.svelte +17 -17
  124. package/dist/form/common_range_editor/CommonRangeEditor.svelte.d.ts +5 -5
  125. package/dist/form/date_picker/DatePicker.svelte +5 -5
  126. package/dist/form/date_picker/DatePicker.svelte.d.ts +1 -1
  127. package/dist/form/date_picker/DateTimePicker.svelte +15 -5
  128. package/dist/form/date_picker/README.md +7 -5
  129. package/dist/form/date_picker/README_CN.md +7 -5
  130. package/dist/form/date_picker/ScrollBar.svelte +21 -20
  131. package/dist/form/date_picker/ScrollBar.svelte.d.ts +3 -3
  132. package/dist/form/date_range/DateRangeEditor.svelte +6 -6
  133. package/dist/form/events.d.ts +70 -0
  134. package/dist/form/events.js +6 -0
  135. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +9 -7
  136. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte.d.ts +4 -3
  137. package/dist/form/group_box/group-check-box/README.md +5 -3
  138. package/dist/form/group_box/group-check-box/README_CN.md +5 -3
  139. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +9 -7
  140. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte.d.ts +4 -3
  141. package/dist/form/group_box/group-radio-box/README.md +3 -1
  142. package/dist/form/group_box/group-radio-box/README_CN.md +3 -1
  143. package/dist/form/image_editor/ImageEditor.svelte +118 -0
  144. package/dist/form/image_editor/ImageEditor.svelte.d.ts +52 -0
  145. package/dist/form/image_editor/ImageFile.d.ts +11 -0
  146. package/dist/form/image_editor/ImageFile.js +1 -0
  147. package/dist/form/{image-files → image_editor}/ImagePreview.svelte +10 -2
  148. package/dist/form/image_editor/README.md +89 -0
  149. package/dist/form/image_editor/README_CN.md +89 -0
  150. package/dist/form/image_editor/index.d.ts +11 -0
  151. package/dist/form/image_editor/index.js +4 -0
  152. package/dist/form/input_options_select/InputOptionsSelect.svelte +11 -8
  153. package/dist/form/input_options_select/InputOptionsSelect.svelte.d.ts +2 -1
  154. package/dist/form/input_options_select/README.md +44 -218
  155. package/dist/form/input_options_select/README_CN.md +38 -211
  156. package/dist/form/lookup_editor/LookupEditor.svelte +7 -10
  157. package/dist/form/lookup_editor/LookupEditor.svelte.d.ts +2 -1
  158. package/dist/form/memo_editor/MemoEditor.svelte +2 -2
  159. package/dist/form/memo_editor/MemoEditor.svelte.d.ts +1 -1
  160. package/dist/form/number_editor/NumberEditor.svelte +13 -1
  161. package/dist/form/number_editor/NumberEditor.svelte.d.ts +1 -1
  162. package/dist/form/number_range/NumberRange.svelte +5 -5
  163. package/dist/form/options_multi_select/OptionsMultiSelect.svelte +13 -13
  164. package/dist/form/options_multi_select/OptionsMultiSelect.svelte.d.ts +3 -2
  165. package/dist/form/options_multi_select/README.md +5 -3
  166. package/dist/form/options_multi_select/README_CN.md +5 -3
  167. package/dist/form/options_select/OptionsSelect.svelte +17 -13
  168. package/dist/form/options_select/OptionsSelect.svelte.d.ts +2 -1
  169. package/dist/form/options_select/README.md +9 -7
  170. package/dist/form/options_select/README_CN.md +8 -6
  171. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +6 -5
  172. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte.d.ts +2 -1
  173. package/dist/form/prompts_text_editor/README.md +16 -14
  174. package/dist/form/prompts_text_editor/README_CN.md +16 -14
  175. package/dist/form/search_box/SearchBox.svelte +3 -2
  176. package/dist/form/search_box/SearchBox.svelte.d.ts +1 -1
  177. package/dist/form/switch/README.md +7 -5
  178. package/dist/form/switch/README_CN.md +7 -5
  179. package/dist/form/switch/Switch.svelte +7 -5
  180. package/dist/form/switch/Switch.svelte.d.ts +4 -2
  181. package/dist/form/text_editor/PasswordEditor.svelte +2 -2
  182. package/dist/form/text_editor/PasswordEditor.svelte.d.ts +1 -1
  183. package/dist/form/text_editor/TextEditor.svelte +6 -4
  184. package/dist/form/text_editor/TextEditor.svelte.d.ts +1 -1
  185. package/dist/form/time_editor/README.md +4 -2
  186. package/dist/form/time_editor/README_CN.md +4 -2
  187. package/dist/form/time_editor/TimeEditor.svelte +10 -7
  188. package/dist/form/time_editor/TimeEditor.svelte.d.ts +2 -1
  189. package/dist/form/types.d.ts +5 -42
  190. package/dist/form/unit-number-editor/README.md +21 -19
  191. package/dist/form/unit-number-editor/README_CN.md +21 -19
  192. package/dist/form/unit-number-editor/UnitNumberEditor.svelte +12 -11
  193. package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +4 -3
  194. package/dist/general/button/Button.svelte +4 -1
  195. package/dist/general/button/Button.svelte.d.ts +3 -1
  196. package/dist/general/button/IconButton.svelte +11 -5
  197. package/dist/general/button/IconButton.svelte.d.ts +5 -2
  198. package/dist/general/button/IconButton_README.md +9 -6
  199. package/dist/general/button/IconButton_README_CN.md +9 -6
  200. package/dist/general/button/TextButton.svelte +15 -5
  201. package/dist/general/button/TextButton.svelte.d.ts +6 -2
  202. package/dist/general/button/TextButton_README.md +10 -6
  203. package/dist/general/button/TextButton_README_CN.md +10 -6
  204. package/dist/general/icon/Icon.svelte +6 -4
  205. package/dist/general/icon/Icon.svelte.d.ts +3 -2
  206. package/dist/general/tag/Tag.svelte +8 -4
  207. package/dist/general/tag/Tag.svelte.d.ts +3 -1
  208. package/dist/i18nRes/i18nRes.d.ts +5 -1
  209. package/dist/i18nRes/i18nRes.js +5 -1
  210. package/dist/layouts/action_bar/ActionBar.svelte +5 -4
  211. package/dist/layouts/action_bar/ActionBar.svelte.d.ts +2 -1
  212. package/dist/layouts/action_bar/ButtonAction.d.ts +1 -23
  213. package/dist/layouts/action_bar/README.md +20 -18
  214. package/dist/layouts/action_bar/README_CN.md +19 -17
  215. package/dist/layouts/box/Box.svelte +4 -3
  216. package/dist/layouts/box/Box.svelte.d.ts +2 -1
  217. package/dist/layouts/box/README.md +13 -11
  218. package/dist/layouts/box/README_CN.md +13 -11
  219. package/dist/layouts/form_field/FormField.svelte +5 -4
  220. package/dist/layouts/form_field/FormField.svelte.d.ts +3 -2
  221. package/dist/layouts/form_field/README.md +11 -9
  222. package/dist/layouts/form_field/README_CN.md +9 -7
  223. package/dist/layouts/form_panel/flex_row_form/Cell.svelte +3 -1
  224. package/dist/layouts/form_panel/flex_row_form/Cell.svelte.d.ts +3 -1
  225. package/dist/layouts/form_panel/flex_row_form/Row.svelte +3 -1
  226. package/dist/layouts/form_panel/flex_row_form/Row.svelte.d.ts +3 -1
  227. package/dist/layouts/form_panel/grid_form/GridField.svelte +8 -4
  228. package/dist/layouts/form_panel/grid_form/GridField.svelte.d.ts +6 -2
  229. package/dist/layouts/form_panel/grid_form/GridForm.svelte +3 -1
  230. package/dist/layouts/form_panel/grid_form/GridForm.svelte.d.ts +3 -1
  231. package/dist/layouts/form_panel/grid_form/README.md +6 -4
  232. package/dist/layouts/form_panel/grid_form/README_CN.md +6 -4
  233. package/dist/layouts/page/Page.svelte +7 -7
  234. package/dist/layouts/page/Page.svelte.d.ts +2 -2
  235. package/dist/layouts/page/PageHeader.svelte +4 -4
  236. package/dist/layouts/page/PageHeader.svelte.d.ts +1 -1
  237. package/dist/layouts/page/README.md +18 -18
  238. package/dist/layouts/page/README_CN.md +18 -18
  239. package/dist/navigation/nav_menu/MenuItem.d.ts +1 -1
  240. package/dist/navigation/nav_menu/NavigatorMenu.svelte +16 -14
  241. package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +7 -5
  242. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +2 -2
  243. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +2 -2
  244. package/dist/navigation/nav_menu/README.md +8 -6
  245. package/dist/navigation/nav_menu/README_CN.md +8 -6
  246. package/dist/navigation/nav_menu/index.d.ts +2 -2
  247. package/dist/navigation/navigator/Navigator.svelte +5 -4
  248. package/dist/navigation/navigator/Navigator.svelte.d.ts +3 -2
  249. package/dist/navigation/navigator/README.md +12 -10
  250. package/dist/navigation/navigator/README_CN.md +12 -10
  251. package/dist/navigation/pagination/Pagination.svelte +23 -15
  252. package/dist/navigation/pagination/Pagination.svelte.d.ts +6 -4
  253. package/dist/navigation/progress_step_bar/ProgressStep.d.ts +2 -1
  254. package/dist/navigation/progress_step_bar/ProgressStepBar.svelte +5 -4
  255. package/dist/navigation/progress_step_bar/ProgressStepBar.svelte.d.ts +2 -1
  256. package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +3 -3
  257. package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte.d.ts +1 -1
  258. package/dist/navigation/progress_step_bar/README.md +37 -35
  259. package/dist/navigation/progress_step_bar/README_CN.md +36 -34
  260. package/dist/navigation/tabs/Tabs.svelte +14 -5
  261. package/dist/navigation/tabs/Tabs.svelte.d.ts +11 -4
  262. package/dist/navigation/tabs/index.d.ts +2 -2
  263. package/dist/overlay/common/ModalPopover.svelte +5 -4
  264. package/dist/overlay/common/ModalPopover.svelte.d.ts +2 -1
  265. package/dist/overlay/common/Popover.svelte +4 -3
  266. package/dist/overlay/common/Popover.svelte.d.ts +2 -1
  267. package/dist/overlay/context-menu/ContextMenuItem.d.ts +3 -3
  268. package/dist/overlay/context-menu/ContextMenuPanel.svelte +4 -4
  269. package/dist/overlay/context-menu/index.d.ts +2 -2
  270. package/dist/overlay/dialog/BeforeClose.d.ts +4 -0
  271. package/dist/overlay/dialog/BeforeClose.js +1 -0
  272. package/dist/overlay/dialog/CommonDialog.svelte +16 -12
  273. package/dist/overlay/dialog/CommonDialog.svelte.d.ts +9 -5
  274. package/dist/overlay/dialog/Dialog.svelte +25 -19
  275. package/dist/overlay/dialog/Dialog.svelte.d.ts +11 -5
  276. package/dist/overlay/dialog/DialogManager.svelte.js +2 -1
  277. package/dist/overlay/dialog/README.md +19 -17
  278. package/dist/overlay/dialog/README_CN.md +19 -17
  279. package/dist/overlay/dialog/index.d.ts +2 -2
  280. package/dist/overlay/message-box/IMessageBox.d.ts +4 -4
  281. package/dist/overlay/tooltip/README.md +16 -1
  282. package/dist/overlay/tooltip/README_CN.md +16 -1
  283. package/dist/overlay/tooltip/Tooltip.svelte +94 -19
  284. package/dist/ticatec-uniface-web.css +38 -12
  285. package/dist/types.d.ts +38 -46
  286. package/dist/unifaceContext.d.ts +2 -2
  287. package/dist/utils/prefixFilter.js +0 -1
  288. package/docs/NAMING.md +364 -0
  289. package/docs/NAMING_CN.md +364 -0
  290. package/docs/components/README.md +16 -14
  291. package/docs/components/accordion/README.md +13 -2
  292. package/docs/components/accordion/example.svelte +1 -0
  293. package/docs/components/action-bar/README.md +4 -4
  294. package/docs/components/attachment-editor/README.md +224 -0
  295. package/docs/components/attachment-editor/example.svelte +22 -0
  296. package/docs/components/box/README.md +1 -1
  297. package/docs/components/button/README.md +8 -1
  298. package/docs/components/button/example.svelte +1 -0
  299. package/docs/components/card/README.md +19 -5
  300. package/docs/components/cascade-options-select/README.md +11 -5
  301. package/docs/components/columns-layout/README.md +8 -4
  302. package/docs/components/columns-layout/example.svelte +4 -0
  303. package/docs/components/common-dialog/README.md +19 -10
  304. package/docs/components/common-dialog/example.svelte +2 -1
  305. package/docs/components/concise-data-table/README.md +18 -29
  306. package/docs/components/concise-data-table/example.svelte +1 -1
  307. package/docs/components/context-menu/README.md +5 -5
  308. package/docs/components/context-menu/example.svelte +1 -1
  309. package/docs/components/criteria-field/README.md +1 -0
  310. package/docs/components/criteria-field/example.svelte +1 -0
  311. package/docs/components/data-table/README.md +63 -40
  312. package/docs/components/data-table/example.svelte +2 -2
  313. package/docs/components/date-picker/README.md +1 -1
  314. package/docs/components/date-time-picker/README.md +1 -1
  315. package/docs/components/dialog/README.md +21 -14
  316. package/docs/components/dialog/example.svelte +1 -1
  317. package/docs/components/form-field/README.md +3 -3
  318. package/docs/components/grid-form/README.md +15 -5
  319. package/docs/components/grid-form/example.svelte +1 -1
  320. package/docs/components/group-check-box/README.md +3 -3
  321. package/docs/components/group-radio-box/README.md +3 -3
  322. package/docs/components/icon/README.md +6 -5
  323. package/docs/components/icon-button/README.md +10 -1
  324. package/docs/components/icon-button/example.svelte +1 -0
  325. package/docs/components/image-editor/README.md +262 -0
  326. package/docs/components/{image-files → image-editor}/example.svelte +5 -3
  327. package/docs/components/input-options-select/README.md +2 -2
  328. package/docs/components/list-box/README.md +12 -13
  329. package/docs/components/list-box/example.svelte +3 -3
  330. package/docs/components/lookup-editor/README.md +1 -1
  331. package/docs/components/navigator/README.md +2 -1
  332. package/docs/components/navigator/example.svelte +1 -0
  333. package/docs/components/navigator-menu/README.md +24 -21
  334. package/docs/components/navigator-menu/example.svelte +4 -2
  335. package/docs/components/options-multi-select/README.md +2 -2
  336. package/docs/components/options-select/README.md +4 -4
  337. package/docs/components/page/README.md +2 -2
  338. package/docs/components/page-stack/README.md +67 -0
  339. package/docs/components/page-stack/example.svelte +7 -0
  340. package/docs/components/pagination/README.md +24 -7
  341. package/docs/components/pagination/example.svelte +5 -2
  342. package/docs/components/pagination-panel/README.md +25 -10
  343. package/docs/components/pagination-panel/example.svelte +5 -4
  344. package/docs/components/password-editor/README.md +128 -0
  345. package/docs/components/{attachment-files → password-editor}/example.svelte +5 -5
  346. package/docs/components/progress-bar/README.md +14 -4
  347. package/docs/components/progress-bar/example.svelte +1 -1
  348. package/docs/components/progress-step-bar/README.md +16 -7
  349. package/docs/components/progress-step-bar/example.svelte +5 -1
  350. package/docs/components/prompts-text-editor/README.md +8 -6
  351. package/docs/components/prompts-text-editor/example.svelte +0 -1
  352. package/docs/components/rows-layout/README.md +8 -4
  353. package/docs/components/rows-layout/example.svelte +4 -0
  354. package/docs/components/switch/README.md +2 -2
  355. package/docs/components/tabs/README.md +24 -9
  356. package/docs/components/tag/README.md +13 -2
  357. package/docs/components/tag/example.svelte +1 -0
  358. package/docs/components/text-button/README.md +20 -1
  359. package/docs/components/text-button/example.svelte +2 -0
  360. package/docs/components/time-editor/README.md +1 -1
  361. package/docs/components/transfer/README.md +16 -9
  362. package/docs/components/tree-view/README.md +29 -13
  363. package/docs/components/tree-view/example.svelte +2 -1
  364. package/docs/components/unit-number-editor/README.md +11 -8
  365. package/docs/components/unit-number-editor/example.svelte +0 -1
  366. package/package.json +13 -7
  367. package/dist/data_table/lib/CompareFunction.d.ts +0 -3
  368. package/dist/data_table/lib/FormatCell.d.ts +0 -2
  369. package/dist/form/attachment_files/FileRender.svelte +0 -125
  370. package/dist/form/attachment_files/FileRender.svelte.d.ts +0 -9
  371. package/dist/form/attachment_files/FileUploadBar.svelte +0 -66
  372. package/dist/form/attachment_files/FileUploadBar.svelte.d.ts +0 -8
  373. package/dist/form/attachment_files/FileUploadPanel.svelte +0 -161
  374. package/dist/form/attachment_files/FileUploadPanel.svelte.d.ts +0 -14
  375. package/dist/form/attachment_files/UploadFile.d.ts +0 -43
  376. package/dist/form/attachment_files/UploadFile.js +0 -80
  377. package/dist/form/cascade_options_select/CascadePanel.svelte +0 -52
  378. package/dist/form/cascade_options_select/CascadePanel.svelte.d.ts +0 -26
  379. package/dist/form/cascade_options_select/isLeafDetermine.d.ts +0 -4
  380. package/dist/form/common_editor/EditorEvents.d.ts +0 -14
  381. package/dist/form/common_editor/EditorEvents.js +0 -2
  382. package/dist/form/image-files/ImageFile.d.ts +0 -12
  383. package/dist/form/image-files/ImageFilesField.svelte +0 -128
  384. package/dist/form/image-files/ImageFilesField.svelte.d.ts +0 -18
  385. package/dist/form/image-files/ImageRender.svelte +0 -95
  386. package/dist/form/image-files/ImageRender.svelte.d.ts +0 -10
  387. package/dist/form/image-files/README.md +0 -468
  388. package/dist/form/image-files/README_CN.md +0 -468
  389. package/dist/form/image-files/index.d.ts +0 -10
  390. package/dist/form/image-files/index.js +0 -2
  391. package/dist/overlay/dialog/DialogActions.d.ts +0 -16
  392. package/dist/overlay/dialog/DialogActions.js +0 -1
  393. package/dist/overlay/dialog/DialogCloseConfirm.d.ts +0 -1
  394. package/dist/overlay/dialog/DialogCloseConfirm.js +0 -1
  395. package/docs/components/attachment-files/README.md +0 -332
  396. package/docs/components/image-files/README.md +0 -174
  397. /package/dist/data_table/lib/{FormatCell.js → CellAction.js} +0 -0
  398. /package/dist/data_table/lib/{CompareFunction.js → CompareFn.js} +0 -0
  399. /package/dist/{form/cascade_options_select/isLeafDetermine.js → data_table/lib/FormatCellFn.js} +0 -0
  400. /package/dist/form/{image-files/ImageFile.js → attachment_files/UploadTask.js} +0 -0
  401. /package/dist/form/{image-files → image_editor}/ImagePreview.svelte.d.ts +0 -0
@@ -2,7 +2,7 @@ import Dialog from "./Dialog.svelte";
2
2
  import dialogManager from "./DialogManager.svelte";
3
3
  import type IDialog from "./IDialog";
4
4
  import { ModalResult, type OnClose } from "./IDialog";
5
- import type { DialogCloseConfirm } from "./DialogCloseConfirm";
5
+ import type { BeforeClose } from "./BeforeClose";
6
6
  import CommonDialog from "./CommonDialog.svelte";
7
7
  import DialogBoard from "./DialogBoard.svelte";
8
8
  declare global {
@@ -11,4 +11,4 @@ declare global {
11
11
  }
12
12
  }
13
13
  export default Dialog;
14
- export { dialogManager, ModalResult, type OnClose, type IDialog, type DialogCloseConfirm, CommonDialog, DialogBoard };
14
+ export { dialogManager, ModalResult, type OnClose, type IDialog, type BeforeClose, CommonDialog, DialogBoard };
@@ -1,14 +1,14 @@
1
- export type ShowInfoFun = (message: string, options?: {
1
+ export type ShowInfo = (message: string, options?: {
2
2
  title?: string;
3
3
  type?: 'warning' | 'info';
4
4
  }) => Promise<void>;
5
- export type ShowConfirmFun = (message: string, options?: {
5
+ export type ShowConfirm = (message: string, options?: {
6
6
  title?: string;
7
7
  type?: 'warning' | 'question';
8
8
  }) => Promise<any>;
9
9
  export default interface IMessageBox {
10
- showInfo: ShowInfoFun;
11
- showConfirm: ShowConfirmFun;
10
+ showInfo: ShowInfo;
11
+ showConfirm: ShowConfirm;
12
12
  }
13
13
  export declare enum ModalResult {
14
14
  MR_OK = 1,
@@ -9,7 +9,7 @@ A global tooltip system that automatically detects and shows contextual hints wh
9
9
  - **Edge-Aware Alignment**: Adjusts horizontal alignment (left/center/right) to prevent screen overflow.
10
10
  - **Markdown Support**: Renders rich text with bold, italic, code, lists, and more via snarkdown.
11
11
  - **Delayed Display**: Configurable delay (default 200ms) to prevent flickering.
12
- - **Auto Hide**: Automatically hides when mouse leaves the element.
12
+ - **Auto Hide**: Hides when the mouse leaves the element — and also when the element itself goes away (removed from the DOM, hidden by `display:none` / `visibility:hidden`, or its `data-tip` cleared), on scroll, and when the window loses focus.
13
13
  - **Zero Boilerplate**: Just add `data-tip` attribute, no JavaScript needed.
14
14
 
15
15
  ## Installation
@@ -147,6 +147,21 @@ The tooltip automatically adjusts its position to stay within the viewport:
147
147
  <button data-tip="Right-aligned tooltip" style="margin-right: 0;">Right edge</button>
148
148
  ```
149
149
 
150
+ ## Dismissal Behavior
151
+
152
+ A tooltip is dismissed when any of the following happens:
153
+
154
+ | Trigger | Why it matters |
155
+ | --- | --- |
156
+ | The pointer leaves the element (`mouseleave`) | The normal case. |
157
+ | The element is removed from the DOM | A destroyed component, a closed dialog, a re-rendered row: the browser does **not** reliably fire `mouseleave` for a node that disappears under the cursor, so the tooltip watches the element and hides itself. |
158
+ | The element (or an ancestor) becomes hidden | `display:none`, `visibility:hidden`, a collapsed panel, a switched tab. |
159
+ | `data-tip` / `data-tooltip` is cleared | E.g. a validation error tooltip whose error has just been fixed. Changing the text instead updates the tooltip in place. |
160
+ | The page or any scroll container scrolls | The tooltip is `position: fixed`; without this it would drift away from its target. |
161
+ | The window loses focus | Alt-tabbing away while hovering. |
162
+
163
+ This is handled internally (a `MutationObserver` is attached only while a tooltip is pending or visible, so there is no cost when idle) — nothing is required from the calling code.
164
+
150
165
  ## Styling & Theming
151
166
 
152
167
  ### CSS Variables
@@ -9,7 +9,7 @@
9
9
  - **边缘对齐**:自动调整水平对齐(左/中/右)防止溢出屏幕
10
10
  - **Markdown 支持**:支持富文本格式(粗体、斜体、代码、列表等),通过 snarkdown 渲染
11
11
  - **延迟显示**:可配置延迟(默认 200 毫秒)防止误触发
12
- - **自动隐藏**:鼠标离开元素时自动隐藏
12
+ - **自动隐藏**:鼠标离开元素时隐藏;元素本身消失(从 DOM 移除、被 `display:none` / `visibility:hidden` 隐藏、`data-tip` 被清空)、页面滚动、窗口失焦时同样会自动隐藏
13
13
  - **零样板代码**:只需添加 `data-tip` 属性,无需编写 JavaScript
14
14
 
15
15
  ## 安装
@@ -147,6 +147,21 @@ import Tooltip from "@ticatec/uniface-element/Tooltip";
147
147
  <button data-tip="右对齐提示" style="margin-right: 0;">右边缘</button>
148
148
  ```
149
149
 
150
+ ## 隐藏时机
151
+
152
+ 出现以下任一情况时,tooltip 都会收起:
153
+
154
+ | 触发条件 | 说明 |
155
+ | --- | --- |
156
+ | 鼠标离开元素(`mouseleave`) | 常规情况。 |
157
+ | 元素从 DOM 中被移除 | 组件被销毁、对话框关闭、列表行重新渲染等。光标下的节点消失时浏览器**不会**可靠地派发 `mouseleave`,因此 tooltip 会自己监视目标元素并收起——否则它会一直挂在屏幕上无法消除。 |
158
+ | 元素(或其祖先)被隐藏 | `display:none`、`visibility:hidden`、折叠面板、切换标签页等。 |
159
+ | `data-tip` / `data-tooltip` 被清空 | 例如校验错误已修正。若只是文本变化,则原地更新 tooltip 内容。 |
160
+ | 页面或任意滚动容器发生滚动 | tooltip 使用 `position: fixed`,不收起就会与目标元素脱节。 |
161
+ | 窗口失去焦点 | 悬停时切换到其他窗口。 |
162
+
163
+ 这些都由组件内部处理(`MutationObserver` 仅在 tooltip 等待显示或已显示期间才连接,空闲时无任何开销),调用方无需做任何事情。
164
+
150
165
  ## 样式与主题定制
151
166
 
152
167
  ### CSS 变量
@@ -36,28 +36,104 @@
36
36
  ALLOWED_ATTR: ['href', 'src', 'alt', 'class']
37
37
  };
38
38
 
39
+ /** 当前触发 tooltip 的元素。元素被销毁或隐藏后浏览器不再派发 mouseleave,需要由 tooltip 自己收起。 */
40
+ let activeTarget: HTMLElement | null = null;
41
+ let observer: MutationObserver | null = null;
42
+
43
+ const getTipText = (el: Element | null): string =>
44
+ (el?.getAttribute('data-tip') || el?.getAttribute('data-tooltip') || '');
45
+
46
+ /**
47
+ * 目标元素是否仍然渲染在页面上。
48
+ * 元素从 DOM 移除(isConnected === false),或自身/祖先被 display:none、visibility:hidden
49
+ * 隐藏时,浏览器不会再派发 mouseleave —— 这正是 tooltip 会一直挂在屏幕上的原因。
50
+ */
51
+ const isRendered = (el: HTMLElement | null): boolean => {
52
+ if (el == null || !el.isConnected) return false;
53
+ const checkVisibility = (el as any).checkVisibility;
54
+ if (typeof checkVisibility === 'function') {
55
+ // 现代浏览器:一次性覆盖自身及祖先的 display / visibility / content-visibility
56
+ return checkVisibility.call(el, {checkVisibilityCSS: true, visibilityProperty: true});
57
+ }
58
+ // 兜底(老浏览器 / jsdom):只能判断元素自身的计算样式
59
+ const style = window.getComputedStyle(el);
60
+ return style.display !== 'none' && style.visibility !== 'hidden';
61
+ };
62
+
63
+ const renderTip = (text: string) => {
64
+ state.message = text;
65
+ // Parse markdown to HTML, converting \n to actual newlines first
66
+ const parsedText = text.replace(/\\n/g, '\n');
67
+ state.html = DOMPurify.sanitize(snarkdown(parsedText), DOMPURIFY_CONFIG);
68
+ };
69
+
70
+ /** 收起 tooltip,并解除对当前目标元素的所有监听 */
71
+ const hide = () => {
72
+ if (timer) {
73
+ clearTimeout(timer);
74
+ timer = null;
75
+ }
76
+ observer?.disconnect();
77
+ activeTarget?.removeEventListener('mouseleave', hide);
78
+ activeTarget = null;
79
+ state.visible = false;
80
+ };
81
+
82
+ /** 目标元素被移除 / 隐藏 / data-tip 被清空时收起;data-tip 变化时更新内容 */
83
+ const checkTarget = () => {
84
+ if (activeTarget == null) return;
85
+ const text = getTipText(activeTarget);
86
+ if (!text || !isRendered(activeTarget)) {
87
+ hide();
88
+ } else if (state.visible && text !== state.message) {
89
+ renderTip(text);
90
+ }
91
+ };
92
+
93
+ const watchTarget = (target: HTMLElement) => {
94
+ activeTarget = target;
95
+ target.addEventListener('mouseleave', hide);
96
+ if (typeof MutationObserver === 'undefined') return;
97
+ observer ??= new MutationObserver(checkTarget);
98
+ // 只在 tooltip 处于等待/显示状态时观察,空闲时不产生任何开销
99
+ observer.observe(document.documentElement ?? document, {
100
+ childList: true,
101
+ subtree: true,
102
+ attributes: true,
103
+ attributeFilter: ['style', 'class', 'hidden', 'data-tip', 'data-tooltip']
104
+ });
105
+ };
106
+
39
107
  // 全局事件监听:利用事件冒泡实现自动绑定
40
108
  onMount(() => {
41
109
  const handleMouseOver = (e: MouseEvent) => {
42
110
  const el = e.target as HTMLElement;
43
111
  if (!el || typeof el.closest !== 'function') return;
44
- const target = el.closest('[data-tip], [data-tooltip]');
112
+ const target = el.closest('[data-tip], [data-tooltip]') as HTMLElement | null;
45
113
  if (!target) return;
46
114
 
47
- const text = target.getAttribute('data-tip') || target.getAttribute('data-tooltip');
115
+ const text = getTipText(target);
48
116
  if (!text) return;
49
117
 
50
- // 获取元素相对于视口的位置,用来精准定位
51
- const rect = target.getBoundingClientRect();
52
-
53
- // 清除之前的定时器
54
- if (timer) clearTimeout(timer);
118
+ // 已经在为同一个元素显示,保持不动(避免在其子元素间移动时闪烁 / 重新定位)
119
+ if (target === activeTarget && state.visible) return;
55
120
 
56
- // 监听该元素的离开,以便隐藏
57
- target.addEventListener('mouseleave', handleMouseLeave, { once: true });
121
+ // 清除上一个目标的定时器与监听
122
+ hide();
123
+ // 监听该元素的移除 / 隐藏 / 离开,以便收起
124
+ watchTarget(target);
58
125
 
59
126
  // 延迟触发显示
60
127
  timer = setTimeout(() => {
128
+ timer = null;
129
+ // 延迟期间目标可能已经被销毁或隐藏
130
+ if (!isRendered(target)) {
131
+ hide();
132
+ return;
133
+ }
134
+
135
+ // 获取元素相对于视口的位置,用来精准定位
136
+ const rect = target.getBoundingClientRect();
61
137
  // 计算触发位置(这里以元素的中心/边缘为基准,比纯鼠标坐标更稳定)
62
138
  const x = rect.left + rect.width / 2;
63
139
  const elementBottom = rect.bottom;
@@ -65,10 +141,7 @@
65
141
 
66
142
  const position = calculateOptimalPosition(x, elementBottom, rect);
67
143
 
68
- state.message = text;
69
- // Parse markdown to HTML, converting \n to actual newlines first
70
- const parsedText = text.replace(/\\n/g, '\n');
71
- state.html = DOMPurify.sanitize(snarkdown(parsedText), DOMPURIFY_CONFIG);
144
+ renderTip(getTipText(target) || text);
72
145
  state.position = position;
73
146
  state.transform = getTransformStyle(position, x, elementBottom);
74
147
  state.x = x;
@@ -78,17 +151,19 @@
78
151
  }, delay);
79
152
  };
80
153
 
81
- const handleMouseLeave = () => {
82
- if (timer) clearTimeout(timer);
83
- state.visible = false;
84
- };
85
-
86
154
  // 绑定到 document 上
87
155
  document.addEventListener('mouseover', handleMouseOver);
156
+ // 指针移出整个文档、窗口失焦、页面滚动(tooltip 是 fixed 定位,滚动后会与目标脱节)
157
+ document.addEventListener('mouseleave', hide);
158
+ window.addEventListener('blur', hide);
159
+ window.addEventListener('scroll', hide, {capture: true, passive: true});
88
160
 
89
161
  return () => {
90
162
  document.removeEventListener('mouseover', handleMouseOver);
91
- if (timer) clearTimeout(timer);
163
+ document.removeEventListener('mouseleave', hide);
164
+ window.removeEventListener('blur', hide);
165
+ window.removeEventListener('scroll', hide, {capture: true} as any);
166
+ hide();
92
167
  };
93
168
  });
94
169
 
@@ -175,6 +175,8 @@
175
175
  --uniface-card-footer-margin: 12px 24px;
176
176
  --uniface-card-footer-height: 40px;
177
177
  --uniface-card-color-surface: #ffffff;
178
+ /* PageStack Tokens */
179
+ --uniface-page-stack-color-surface: var(--uniface-color-surface);
178
180
  --uniface-card-color: #111827;
179
181
  /* Card.svelte (and the component's own README/README_CN) reference
180
182
  --uniface-card-text-muted; this used to be named --uniface-card-color-muted
@@ -615,6 +617,8 @@
615
617
  with no [data-theme="dark"] override, so cards stayed white/light
616
618
  regardless of dark mode. */
617
619
  --uniface-card-color-surface: #262626;
620
+ /* PageStack Tokens - Dark Theme */
621
+ --uniface-page-stack-color-surface: var(--uniface-color-surface);
618
622
  --uniface-card-color: #e5e7eb;
619
623
  --uniface-card-text-muted: #9ca3af;
620
624
  --uniface-card-color-inside-border: rgba(255, 255, 255, 0.08);
@@ -873,7 +877,7 @@
873
877
  padding: 0 var(--uniface-button-margin);
874
878
  border-radius: var(--radius-md, 4px);
875
879
  }
876
- .uniface-button.common-button.big {
880
+ .uniface-button.common-button.large {
877
881
  height: var(--uniface-button-height-big);
878
882
  font-size: 1.1rem;
879
883
  }
@@ -887,7 +891,7 @@
887
891
  .uniface-button.common-button.round {
888
892
  border-radius: var(--uniface-button-radius-round);
889
893
  }
890
- .uniface-button.common-button.round.big {
894
+ .uniface-button.common-button.round.large {
891
895
  border-radius: var(--uniface-button-radius-round-big);
892
896
  }
893
897
  .uniface-button.common-button.round.small {
@@ -910,11 +914,11 @@
910
914
  .uniface-button.icon-button i {
911
915
  font-size: 18px;
912
916
  }
913
- .uniface-button.icon-button.big {
917
+ .uniface-button.icon-button.large {
914
918
  width: var(--uniface-button-height-big);
915
919
  height: var(--uniface-button-height-big);
916
920
  }
917
- .uniface-button.icon-button.big i {
921
+ .uniface-button.icon-button.large i {
918
922
  font-size: 22px;
919
923
  }
920
924
  .uniface-button.icon-button.small {
@@ -924,6 +928,10 @@
924
928
  .uniface-button.icon-button.small i {
925
929
  font-size: 16px;
926
930
  }
931
+ .uniface-button.icon-button.no-outer:focus, .uniface-button.icon-button.no-outer:focus-visible, .uniface-button.icon-button.no-outer:active {
932
+ outline: none !important;
933
+ box-shadow: none !important;
934
+ }
927
935
  .uniface-button:hover {
928
936
  background-color: var(--uniface-button-plain-color-surface-hover);
929
937
  }
@@ -995,6 +1003,10 @@
995
1003
  .uniface-button.forth:focus-visible, .uniface-button.forth:focus {
996
1004
  box-shadow: 0 0 0 3px var(--uniface-button-color-gap), 0 0 0 4px var(--uniface-button-forth-color-surface);
997
1005
  }
1006
+ .uniface-button.no-outer:focus, .uniface-button.no-outer:focus-visible, .uniface-button.no-outer:active {
1007
+ outline: none !important;
1008
+ box-shadow: none !important;
1009
+ }
998
1010
  .uniface-button.disabled {
999
1011
  background-color: var(--uniface-button-disabled-color-surface) !important;
1000
1012
  border-color: var(--uniface-button-disabled-border-color) !important;
@@ -1010,17 +1022,34 @@
1010
1022
  background-color: var(--uniface-button-disabled-color-surface) !important;
1011
1023
  }
1012
1024
  .uniface-button.text-button {
1025
+ outline: none;
1013
1026
  border: none;
1014
1027
  background-color: transparent !important;
1015
1028
  color: var(--uniface-text-button-plain-color);
1029
+ border-radius: var(--uniface-button-radius-round);
1030
+ padding: 3px 6px;
1016
1031
  }
1017
- .uniface-button.text-button.big {
1032
+ .uniface-button.text-button.large {
1018
1033
  font-size: 1.2em;
1019
1034
  padding: 4px 8px;
1035
+ border-radius: var(--uniface-button-radius-round-big);
1020
1036
  }
1021
1037
  .uniface-button.text-button.small {
1022
1038
  font-size: 0.9em;
1023
1039
  padding: 2px 4px;
1040
+ border-radius: var(--uniface-button-radius-round-small);
1041
+ }
1042
+ .uniface-button.text-button.plain {
1043
+ border-radius: 0;
1044
+ }
1045
+ .uniface-button.text-button.round {
1046
+ border-radius: var(--uniface-button-radius-round);
1047
+ }
1048
+ .uniface-button.text-button.round.large {
1049
+ border-radius: var(--uniface-button-radius-round-big);
1050
+ }
1051
+ .uniface-button.text-button.round.small {
1052
+ border-radius: var(--uniface-button-radius-round-small);
1024
1053
  }
1025
1054
  .uniface-button.text-button:hover {
1026
1055
  color: var(--uniface-text-button-plain-color-hover);
@@ -1066,6 +1095,10 @@
1066
1095
  .uniface-button.text-button.forth:active {
1067
1096
  color: var(--uniface-button-forth-color-surface-active);
1068
1097
  }
1098
+ .uniface-button.text-button.no-outer:focus, .uniface-button.text-button.no-outer:focus-visible, .uniface-button.text-button.no-outer:active {
1099
+ outline: none !important;
1100
+ box-shadow: none !important;
1101
+ }
1069
1102
  .uniface-button.text-button.disabled {
1070
1103
  background-color: transparent !important;
1071
1104
  cursor: not-allowed;
@@ -1236,12 +1269,8 @@
1236
1269
  .uniface-form-editor .uniface-common-picker {
1237
1270
  height: 38px;
1238
1271
  }
1239
- .uniface-form-editor .uniface-common-picker .editor-dropdown {
1240
- visibility: hidden;
1241
- }
1242
1272
  .uniface-form-editor .uniface-common-picker .action-icon {
1243
1273
  display: block;
1244
- visibility: hidden;
1245
1274
  box-sizing: border-box;
1246
1275
  color: var(--uniface-editor-text-color, #374151);
1247
1276
  align-self: center;
@@ -1252,9 +1281,6 @@
1252
1281
  .uniface-form-editor .uniface-common-picker .action-icon:active {
1253
1282
  color: var(--uniface-active-dropdown-color, #9d9d9d);
1254
1283
  }
1255
- .uniface-form-editor .uniface-common-picker:hover .action-icon, .uniface-form-editor .uniface-common-picker:focus-within .action-icon, .uniface-form-editor .uniface-common-picker:focus .action-icon {
1256
- visibility: visible;
1257
- }
1258
1284
  .uniface-form-editor .uniface-common-picker .options-item-render {
1259
1285
  width: 100%;
1260
1286
  }
package/dist/types.d.ts CHANGED
@@ -5,19 +5,19 @@ export type RetrieveOptionText = (item: any) => string;
5
5
  /**
6
6
  * 通用变更处理器
7
7
  */
8
- export type OnChangeHandler<T> = (value: T) => void;
8
+ export type OnChange<T> = (value: T) => void;
9
9
  /**
10
10
  * 通用选择处理器
11
11
  */
12
- export type OnSelectHandler<T> = (value: T) => void;
12
+ export type OnSelect<T> = (value: T) => void;
13
13
  /**
14
- * 选中项处理器(用于单选)
14
+ * 鼠标点击处理器
15
15
  */
16
- export type OnSelectedHandler = (item: any) => void;
16
+ export type OnClick = (event: MouseEvent) => void;
17
17
  /**
18
- * 鼠标点击处理器
18
+ * 动作对象(ButtonAction / RowAction / CardAction …)的处理函数(NAMING R10)
19
19
  */
20
- export type MouseClickHandler = (event: MouseEvent) => void;
20
+ export type ActionHandler<T = any> = (data: T) => void | Promise<void>;
21
21
  /**
22
22
  * 页面操作处理器(用于返回、刷新等)
23
23
  */
@@ -29,7 +29,14 @@ export { DateContext, ModalResult };
29
29
  * 按钮类型枚举
30
30
  */
31
31
  export type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
32
- export type FieldLayout = 'vertical' | 'horizontal';
32
+ /**
33
+ * 纵横方向(NAMING R6)
34
+ */
35
+ export type Direction = 'vertical' | 'horizontal';
36
+ /**
37
+ * 离散尺寸档位(NAMING R6)
38
+ */
39
+ export type Size = 'small' | 'medium' | 'large';
33
40
  /**
34
41
  * 按钮操作接口
35
42
  */
@@ -57,7 +64,7 @@ export interface ButtonAction {
57
64
  /**
58
65
  * click处理函数
59
66
  */
60
- handler?: MouseClickHandler;
67
+ handler?: OnClick;
61
68
  }
62
69
  /**
63
70
  * 按钮操作数组类型(可包含null作为分隔符)
@@ -66,11 +73,15 @@ export type ButtonActions = Array<ButtonAction | null>;
66
73
  /**
67
74
  * 标签页操作处理器
68
75
  */
69
- export type TabActionHandler = (tab: any) => void;
76
+ export type OnTabAction = (tab: any) => void;
70
77
  /**
71
- * 标签页关闭处理器:返回 false(含 Promise<false>)可阻止关闭
78
+ * 标签页关闭前的否决钩子(NAMING R2):返回 false(含 Promise<false>)可阻止关闭
72
79
  */
73
- export type TabCloseHandler = (tab: any) => boolean | Promise<boolean>;
80
+ export type BeforeTabClose = (tab: any) => boolean | void | Promise<boolean | void>;
81
+ /**
82
+ * 判定某个标签是否可关闭(Tabs.closable 的函数形式)
83
+ */
84
+ export type IsTabClosable = (tab: any) => boolean;
74
85
  /**
75
86
  * 标签页渲染器
76
87
  */
@@ -85,7 +96,7 @@ export interface LoadResult {
85
96
  /**
86
97
  * 列表过滤函数
87
98
  */
88
- export type FunFilter = (item: any, text: string) => boolean;
99
+ export type FilterFn = (item: any, text: string) => boolean;
89
100
  /**
90
101
  * 分页加载列表数据
91
102
  * @param text 搜索文本
@@ -95,17 +106,21 @@ export type FunFilter = (item: any, text: string) => boolean;
95
106
  export type ListLazyLoader = (text: string, pageNo: number) => Promise<LoadResult>;
96
107
  import type { IHierarchyData } from "./lib";
97
108
  /**
98
- * 节点选择变更处理器
109
+ * 节点切换前的否决钩子(NAMING R2):返回 false 可阻止切换;node 为 null 表示取消选中
110
+ */
111
+ export type BeforeNodeChange = (node: IHierarchyData<any> | null) => boolean | void | Promise<boolean | void>;
112
+ /**
113
+ * 节点切换后的通知
99
114
  */
100
- export type OnNodeSelectionChange = (node: IHierarchyData<any>) => Promise<boolean>;
115
+ export type OnNodeChange = (node: IHierarchyData<any> | null) => void;
101
116
  /**
102
117
  * 节点是否可见
103
118
  */
104
- export type NodeVisibleFun = (node: IHierarchyData<any>) => boolean;
119
+ export type IsNodeVisible = (node: IHierarchyData<any>) => boolean;
105
120
  /**
106
121
  * 加载子节点(返回纯数据对象)
107
122
  */
108
- export type LoadChildrenFun = (item: IHierarchyData<any>) => Promise<Array<any>>;
123
+ export type LoadChildren = (item: IHierarchyData<any>) => Promise<Array<any>>;
109
124
  /**
110
125
  * 按需加载树节点的子节点
111
126
  */
@@ -117,41 +132,18 @@ export interface TreeLazyLoader {
117
132
  /**
118
133
  * 加载子节点数据
119
134
  */
120
- load: LoadChildrenFun;
121
- }
122
- /**
123
- * 穿梭框数据处理器
124
- */
125
- export type TransferData = (list: Array<any>, direction: "left" | "right") => Promise<boolean>;
126
- /**
127
- * Action cell中的事件处理
128
- */
129
- export type HandleAction = (data: any) => Promise<void>;
130
- /**
131
- * 单元格操作接口
132
- */
133
- export interface CellAction {
134
- /**
135
- * action的文本
136
- */
137
- text: string;
138
- /**
139
- * action的类型
140
- */
141
- type?: ButtonType;
142
- /**
143
- * 点击处理
144
- */
145
- handle: HandleAction;
135
+ load: LoadChildren;
146
136
  }
147
137
  /**
148
- * 获取单元格操作
138
+ * 穿梭前的否决钩子(NAMING R2):返回 false 可阻止移动
149
139
  */
150
- export type GetCellAction = (data: any) => CellAction | undefined;
140
+ export type BeforeTransfer = (list: Array<any>, direction: "left" | "right") => boolean | void | Promise<boolean | void>;
151
141
  /**
152
- * 获取行操作
142
+ * 穿梭完成后的通知
153
143
  */
154
- export type GetRowActions = (data: any) => Array<CellAction>;
144
+ export type OnTransfer = (list: Array<any>, direction: "left" | "right") => void;
145
+ export type { CellAction, GetCellAction } from "./data_table/lib/CellAction";
146
+ export type { GetRowActions } from "./data_table/lib/RowAction";
155
147
  /**
156
148
  * 行字体样式接口
157
149
  */
@@ -1,6 +1,6 @@
1
1
  import type { EditorVariant } from './form/types';
2
- import type { FieldLayout } from './types';
3
- export declare function getLayoutMode(): FieldLayout;
2
+ import type { Direction } from './types';
3
+ export declare function getLayoutMode(): Direction;
4
4
  export declare function setLayoutMode(layoutMode: string): void;
5
5
  export declare function getEditorVariant(): EditorVariant;
6
6
  export declare function setEditorVariant(variant: EditorVariant): void;
@@ -1,4 +1,3 @@
1
- import { keyboardAttrs } from "../form/common_editor/EditorEvents";
2
1
  const prefixFilter = (attrs, prefix, excludes = []) => {
3
2
  const obj = {};
4
3
  let len = prefix.length;