@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
@@ -6,14 +6,15 @@
6
6
 
7
7
  interface Props {
8
8
  visible?: boolean;
9
- canClose?: boolean;
9
+ /** 是否允许点击遮罩/Escape 关闭 */
10
+ closable?: boolean;
10
11
  theme?: string;
11
12
  children: Snippet;
12
13
  }
13
14
 
14
15
  let {
15
16
  visible = $bindable(false),
16
- canClose = true,
17
+ closable = true,
17
18
  theme,
18
19
  children
19
20
  }: Props = $props();
@@ -26,7 +27,7 @@
26
27
  // or closed on Escape.
27
28
  const release = acquireScrollLock();
28
29
  const unregisterEscape = registerEscapeHandler(() => {
29
- if (canClose) visible = false;
30
+ if (closable) visible = false;
30
31
  });
31
32
  return () => {
32
33
  release();
@@ -44,7 +45,7 @@
44
45
  <!-- svelte-ignore a11y_click_events_have_key_events -->
45
46
  <!-- svelte-ignore a11y_no_static_element_interactions -->
46
47
  <div class="uniface-mask-center"
47
- onclick={() => { if (canClose) visible = false; }}>
48
+ onclick={() => { if (closable) visible = false; }}>
48
49
  <div style="flex: 0 0 auto">
49
50
  {@render children()}
50
51
  </div>
@@ -1,7 +1,8 @@
1
1
  import { type Snippet } from "svelte";
2
2
  interface Props {
3
3
  visible?: boolean;
4
- canClose?: boolean;
4
+ /** 是否允许点击遮罩/Escape 关闭 */
5
+ closable?: boolean;
5
6
  theme?: string;
6
7
  children: Snippet;
7
8
  }
@@ -14,7 +14,8 @@
14
14
  margin?: number;
15
15
  onclose?: () => void;
16
16
  /** 附加到 .contents-inner 上的 class(用于覆盖 overflow 等样式) */
17
- bodyClass?: string;
17
+ /** 内容容器附加 class */
18
+ body$class?: string;
18
19
  children?: Snippet;
19
20
  }
20
21
 
@@ -26,7 +27,7 @@
26
27
  align = 'left',
27
28
  autoFit = true,
28
29
  margin = 0,
29
- bodyClass = '',
30
+ body$class = '',
30
31
  children
31
32
  }: Props = $props();
32
33
 
@@ -142,7 +143,7 @@
142
143
  <div class="uniface-popover" use:outsideClick={close}>
143
144
  <div bind:this={contentPanel} style="{horzPos}">
144
145
  <div class="contents" style="{style}">
145
- <div class="contents-inner {bodyClass}">
146
+ <div class="contents-inner {body$class}">
146
147
  {#if children}
147
148
  {@render children()}
148
149
  {/if}
@@ -8,7 +8,8 @@ interface Props {
8
8
  margin?: number;
9
9
  onclose?: () => void;
10
10
  /** 附加到 .contents-inner 上的 class(用于覆盖 overflow 等样式) */
11
- bodyClass?: string;
11
+ /** 内容容器附加 class */
12
+ body$class?: string;
12
13
  children?: Snippet;
13
14
  }
14
15
  declare const Popover: import("svelte").Component<Props, {}, "">;
@@ -1,13 +1,13 @@
1
- export type ActionCallback = () => void;
1
+ export type ContextMenuAction = () => void;
2
2
  export interface ContextMenuItem {
3
3
  /**
4
4
  * Display text for the menu item
5
5
  */
6
- text?: string;
6
+ label?: string;
7
7
  /**
8
8
  * Action to execute when item is clicked
9
9
  */
10
- action?: ActionCallback;
10
+ handler?: ContextMenuAction;
11
11
  /**
12
12
  * Whether the item is disabled
13
13
  */
@@ -71,8 +71,8 @@
71
71
  event.preventDefault();
72
72
  if (focusedIndex >= 0) {
73
73
  const item = contextMenuSvelte.items[focusedIndex];
74
- if (!item.disabled && item.action) {
75
- item.action();
74
+ if (!item.disabled && item.handler) {
75
+ item.handler();
76
76
  }
77
77
  contextMenuSvelte.hide();
78
78
  }
@@ -97,7 +97,7 @@
97
97
  event.stopPropagation();
98
98
  const item = contextMenuSvelte.items[index];
99
99
  if (item.disabled) return;
100
- item.action?.();
100
+ item.handler?.();
101
101
  contextMenuSvelte.hide();
102
102
  }
103
103
  </script>
@@ -134,7 +134,7 @@
134
134
  {#if item.icon}
135
135
  <img class="menu-item-icon" src={item.icon} alt=""/>
136
136
  {/if}
137
- <span class="menu-item-text">{item.text}</span>
137
+ <span class="menu-item-text">{item.label}</span>
138
138
  </div>
139
139
  {/if}
140
140
  {/each}
@@ -1,6 +1,6 @@
1
1
  import contextMenu from "./ContextMenu.svelte";
2
2
  import type { ContextMenuItem } from "./ContextMenuItem.js";
3
- import type { OnContextMenu, ActionCallback } from "./ContextMenuItem.js";
3
+ import type { OnContextMenu, ContextMenuAction } from "./ContextMenuItem.js";
4
4
  export default contextMenu;
5
5
  export { contextMenu };
6
- export type { ContextMenuItem, OnContextMenu, ActionCallback };
6
+ export type { ContextMenuItem, OnContextMenu, ContextMenuAction };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 关闭前的否决钩子(NAMING R2):结果为 MR_CANCEL / MR_CLOSE 时调用,返回 false 阻止关闭。
3
+ */
4
+ export type BeforeClose = () => boolean | void | Promise<boolean | void>;
@@ -0,0 +1 @@
1
+ export {};
@@ -2,7 +2,7 @@
2
2
  import type {Snippet} from 'svelte';
3
3
  import Dialog from "./Dialog.svelte";
4
4
  import type {ButtonAction, ButtonActions} from "../../types";
5
- import type {DialogCloseConfirm} from "./DialogCloseConfirm";
5
+ import type {BeforeClose} from "./BeforeClose";
6
6
  import {ModalResult, type OnClose} from "./IDialog";
7
7
  import i18nRes from "../../i18nRes";
8
8
 
@@ -10,12 +10,16 @@
10
10
  title: string;
11
11
  width?: string;
12
12
  height?: string;
13
- closeConfirm?: DialogCloseConfirm | null;
13
+ /** 关闭前的否决钩子:结果为 MR_CANCEL / MR_CLOSE 时调用,返回 false 阻止关闭 */
14
+ beforeClose?: BeforeClose | null;
14
15
  content$style?: string;
15
- enableConfirm?: boolean;
16
- confirmHandler?: (() => Promise<any>) | null;
16
+ /** 确认按钮是否可用 */
17
+ confirmable?: boolean;
18
+ /** 点击确认时调用;返回 truthy 值则以 MR_OK 关闭 */
19
+ onconfirm?: (() => Promise<any>) | null;
17
20
  confirmText?: string | null;
18
- onClose?: OnClose | null;
21
+ /** 关闭后的通知回调,参数为 ModalResult */
22
+ onclose?: OnClose | null;
19
23
  children?: Snippet;
20
24
  }
21
25
 
@@ -23,12 +27,12 @@
23
27
  title,
24
28
  width = 'unset',
25
29
  height = 'unset',
26
- closeConfirm = null,
30
+ beforeClose = null,
27
31
  content$style = '',
28
- enableConfirm = true,
29
- confirmHandler = null,
32
+ confirmable = true,
33
+ onconfirm = null,
30
34
  confirmText = null,
31
- onClose = null,
35
+ onclose = null,
32
36
  children
33
37
  }: Props = $props();
34
38
 
@@ -37,9 +41,9 @@
37
41
  const confirmAction = $derived<ButtonAction>({
38
42
  label: confirmText ?? i18nRes.common.btnConfirm(),
39
43
  type: "primary",
40
- disabled: confirmHandler == null || !enableConfirm,
44
+ disabled: onconfirm == null || !confirmable,
41
45
  handler: async () => {
42
- const result = await confirmHandler?.();
46
+ const result = await onconfirm?.();
43
47
  if (result && result == true) { // 返回 true 自动关闭
44
48
  await dialog.close(ModalResult.MR_OK);
45
49
  }
@@ -49,6 +53,6 @@
49
53
  const actions = $derived<ButtonActions>([confirmAction]);
50
54
  </script>
51
55
 
52
- <Dialog bind:this={dialog} {title} {content$style} {width} {height} {actions} {closeConfirm} {onClose}>
56
+ <Dialog bind:this={dialog} {title} {content$style} {width} {height} {actions} {beforeClose} {onclose}>
53
57
  {@render children?.()}
54
58
  </Dialog>
@@ -1,16 +1,20 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { DialogCloseConfirm } from "./DialogCloseConfirm";
2
+ import type { BeforeClose } from "./BeforeClose";
3
3
  import { type OnClose } from "./IDialog";
4
4
  interface Props {
5
5
  title: string;
6
6
  width?: string;
7
7
  height?: string;
8
- closeConfirm?: DialogCloseConfirm | null;
8
+ /** 关闭前的否决钩子:结果为 MR_CANCEL / MR_CLOSE 时调用,返回 false 阻止关闭 */
9
+ beforeClose?: BeforeClose | null;
9
10
  content$style?: string;
10
- enableConfirm?: boolean;
11
- confirmHandler?: (() => Promise<any>) | null;
11
+ /** 确认按钮是否可用 */
12
+ confirmable?: boolean;
13
+ /** 点击确认时调用;返回 truthy 值则以 MR_OK 关闭 */
14
+ onconfirm?: (() => Promise<any>) | null;
12
15
  confirmText?: string | null;
13
- onClose?: OnClose | null;
16
+ /** 关闭后的通知回调,参数为 ModalResult */
17
+ onclose?: OnClose | null;
14
18
  children?: Snippet;
15
19
  }
16
20
  declare const CommonDialog: import("svelte").Component<Props, {}, "">;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import {getContext, hasContext, onMount} from "svelte";
3
- import type {DialogCloseConfirm} from "./DialogCloseConfirm";
3
+ import type {BeforeClose} from "./BeforeClose";
4
4
  import ActionBar from "../../layouts/action_bar";
5
5
  import type {ButtonAction, ButtonActions} from "../../types";
6
6
  import dialogManager from "./DialogManager.svelte";
@@ -16,12 +16,18 @@
16
16
  width?: string;
17
17
  height?: string;
18
18
  actions?: ButtonActions | null;
19
- closeConfirm?: DialogCloseConfirm | null;
19
+ /** 关闭前的否决钩子:结果为 MR_CANCEL / MR_CLOSE 时调用,返回 false 阻止关闭 */
20
+ beforeClose?: BeforeClose | null;
20
21
  content$style?: string;
21
- hideClose?: boolean;
22
- closeButton?: string;
23
- onClose?: OnClose | null;
22
+ /**
23
+ * 是否允许用户不经过显式动作直接关闭:控制标题栏 X、Escape 键和自动追加的"关闭"动作。
24
+ * false 时用户必须点击 actions 中的某个动作。
25
+ */
24
26
  closable?: boolean;
27
+ /** 自动追加的"关闭"动作的文字 */
28
+ closeText?: string;
29
+ /** 关闭后的通知回调,参数为 ModalResult */
30
+ onclose?: OnClose | null;
25
31
  dialog$style?: string;
26
32
  children?: Snippet;
27
33
  }
@@ -31,32 +37,32 @@
31
37
  width = 'unset',
32
38
  height = 'unset',
33
39
  actions = null,
34
- closeConfirm = null,
40
+ beforeClose = null,
35
41
  content$style = '',
36
- hideClose = false,
37
- closeButton = i18nRes.common.btnClose(),
38
- onClose = null,
42
+ closeText = i18nRes.common.btnClose(),
43
+ onclose = null,
39
44
  closable = true,
40
45
  dialog$style = "",
41
46
  children
42
47
  }: Props = $props();
43
48
 
49
+
44
50
  const dialogId = (function() {
45
51
  try { return hasContext('dialogId') ? getContext<string | undefined>('dialogId') : undefined; } catch { return undefined; }
46
52
  })();
47
53
 
48
- export const close = async (result: ModalResult) => {
54
+ export async function close(result: ModalResult) {
49
55
  const isCancelLike = result === ModalResult.MR_CANCEL || result === ModalResult.MR_CLOSE;
50
- const confirm = closeConfirm && isCancelLike ? await closeConfirm() : true;
56
+ const confirm = beforeClose && isCancelLike ? (await beforeClose()) !== false : true;
51
57
  if (!confirm) return;
52
58
  if (dialogId) {
53
- // stack 模式:onClose 由 manager 统一调用
59
+ // stack 模式:onclose 由 manager 统一调用
54
60
  dialogManager.resolveWith(dialogId, result);
55
61
  } else {
56
- // 直接渲染模式:自己调 onClose
57
- onClose?.(result);
62
+ // 直接渲染模式:自己调 onclose
63
+ onclose?.(result);
58
64
  }
59
- };
65
+ }
60
66
 
61
67
  // Dialog is modal — the page behind it should not scroll (regression fix:
62
68
  // this was previously entirely missing, unlike Popover). Escape now goes
@@ -67,7 +73,7 @@
67
73
  onMount(() => {
68
74
  const releaseScrollLock = acquireScrollLock();
69
75
  const unregisterEscape = registerEscapeHandler(() => {
70
- void close(ModalResult.MR_CANCEL);
76
+ if (closable) void close(ModalResult.MR_CANCEL);
71
77
  });
72
78
  return () => {
73
79
  releaseScrollLock();
@@ -76,7 +82,7 @@
76
82
  });
77
83
 
78
84
  const closeAction = $derived<ButtonAction>({
79
- label: closeButton,
85
+ label: closeText,
80
86
  type: 'secondary',
81
87
  handler: () => close(ModalResult.MR_CANCEL)
82
88
  });
@@ -139,7 +145,7 @@
139
145
  <!-- svelte-ignore a11y_no_static_element_interactions -->
140
146
  <div class="title-bar" onmousedown={handleMouseDown} onmouseup={handleMouseUp}>
141
147
  <div style="flex: 1 1 auto"><span>{title ?? 'New window'}</span></div>
142
- {#if !hideClose}
148
+ {#if closable}
143
149
  <div style="flex: 0 0 auto; padding-left: 12px">
144
150
  <button type="button" class="dialog-action-button" aria-label="Close"
145
151
  onclick={() => close(ModalResult.MR_CANCEL)}>
@@ -152,7 +158,7 @@
152
158
  {@render children?.()}
153
159
  </div>
154
160
  <div class="control-bar">
155
- <ActionBar buttons={dialogActions}/>
161
+ <ActionBar actions={dialogActions}/>
156
162
  </div>
157
163
  </div>
158
164
  </div>
@@ -1,4 +1,4 @@
1
- import type { DialogCloseConfirm } from "./DialogCloseConfirm";
1
+ import type { BeforeClose } from "./BeforeClose";
2
2
  import type { ButtonActions } from "../../types";
3
3
  import { ModalResult, type OnClose } from "./IDialog";
4
4
  import type { Snippet } from "svelte";
@@ -7,12 +7,18 @@ interface Props {
7
7
  width?: string;
8
8
  height?: string;
9
9
  actions?: ButtonActions | null;
10
- closeConfirm?: DialogCloseConfirm | null;
10
+ /** 关闭前的否决钩子:结果为 MR_CANCEL / MR_CLOSE 时调用,返回 false 阻止关闭 */
11
+ beforeClose?: BeforeClose | null;
11
12
  content$style?: string;
12
- hideClose?: boolean;
13
- closeButton?: string;
14
- onClose?: OnClose | null;
13
+ /**
14
+ * 是否允许用户不经过显式动作直接关闭:控制标题栏 X、Escape 键和自动追加的"关闭"动作。
15
+ * false 时用户必须点击 actions 中的某个动作。
16
+ */
15
17
  closable?: boolean;
18
+ /** 自动追加的"关闭"动作的文字 */
19
+ closeText?: string;
20
+ /** 关闭后的通知回调,参数为 ModalResult */
21
+ onclose?: OnClose | null;
16
22
  dialog$style?: string;
17
23
  children?: Snippet;
18
24
  }
@@ -27,7 +27,8 @@ class DialogManager {
27
27
  show(component, params = {}) {
28
28
  ensureMounted();
29
29
  const id = Math.floor((Date.now() + Math.random()) * 100).toString(36);
30
- const onClose = params.onClose ?? null;
30
+ // onclose 为规范名;onClose 5.x 兼容别名(NAMING R1)
31
+ const onClose = (params.onclose ?? params.onClose) ?? null;
31
32
  return new Promise(resolve => {
32
33
  this.stack = [...this.stack, { id, component, params, resolve, onClose }];
33
34
  });
@@ -1,5 +1,7 @@
1
1
  # Dialog
2
2
 
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `DialogCloseConfirm`, `closeConfirm`, `confirmHandler`, `enableConfirm`, `onClose` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
3
5
  A flexible modal dialog system built with Svelte 5, offering stack-based management, a Promise API, draggable dialogs, configurable action buttons, and close confirmation. Exposes three things: `Dialog` (the base customizable dialog component), `CommonDialog` (simplified confirm/cancel wrapper), and `dialogManager` (a global stack controller that auto-mounts and returns `Promise<ModalResult>`).
4
6
 
5
7
  ## Features
@@ -13,7 +15,7 @@ A flexible modal dialog system built with Svelte 5, offering stack-based managem
13
15
  - **Action buttons**: configurable button actions; returning `true` auto-closes
14
16
  - **Close confirmation**: optional confirmation before closing (useful for unsaved changes)
15
17
  - **ESC to close**: ESC closes the dialog (picker ESC handling takes precedence automatically)
16
- - **Lifecycle hooks**: `onClose` callback + Promise resolve, both carrying a `ModalResult`
18
+ - **Lifecycle hooks**: `onclose` callback + Promise resolve, both carrying a `ModalResult`
17
19
  - **Customizable styling**: flexible theming and sizing via inline styles
18
20
 
19
21
  ## Installation
@@ -182,7 +184,7 @@ If you don't want the stack / Promise and just want to conditionally render a di
182
184
  {#if showDialog}
183
185
  <Dialog
184
186
  title="My Dialog"
185
- onClose={handleClose}
187
+ onclose={handleClose}
186
188
  width="500px"
187
189
  height="300px"
188
190
  >
@@ -191,7 +193,7 @@ If you don't want the stack / Promise and just want to conditionally render a di
191
193
  {/if}
192
194
  ```
193
195
 
194
- In direct-render mode there is no `dialogId` context, so `close()` invokes `onClose` itself.
196
+ In direct-render mode there is no `dialogId` context, so `close()` invokes `onclose` itself.
195
197
 
196
198
  ## Components Overview
197
199
 
@@ -217,11 +219,11 @@ The global stack controller. Maintains the dialog stack and exposes `show` / `re
217
219
  | `width` | `string` | `'unset'` | Dialog width (CSS value) |
218
220
  | `height` | `string` | `'unset'` | Dialog height (CSS value) |
219
221
  | `actions` | `ButtonActions \| null` | `null` | Action button array. Use `null` entries as separators |
220
- | `closeConfirm` | `DialogCloseConfirm \| null` | `null` | Confirmation function called before closing (when result is `MR_CANCEL` or `MR_CLOSE`). Should return `Promise<boolean>` |
222
+ | `beforeClose` | `BeforeClose \| null` | `null` | Confirmation function called before closing (when result is `MR_CANCEL` or `MR_CLOSE`). Should return `Promise<boolean>` |
221
223
  | `content$style` | `string` | `''` | Custom inline styles for the content area |
222
224
  | `hideClose` | `boolean` | `false` | When `true`, hides the close (X) icon in the title bar |
223
225
  | `closeAction` | `ButtonAction \| null` | `null` | Override the default close button (label, type, etc.). The handler is always wired to internal close |
224
- | `onClose` | `OnClose \| null` | `null` | Callback when dialog closes. Receives a `ModalResult` (see [Modal Results](#modal-results)) |
226
+ | `onclose` | `OnClose \| null` | `null` | Callback when dialog closes. Receives a `ModalResult` (see [Modal Results](#modal-results)) |
225
227
  | `dialog$style` | `string` | `''` | Custom inline styles for the dialog container |
226
228
 
227
229
  ### Methods
@@ -234,7 +236,7 @@ The global stack controller. Maintains the dialog stack and exposes `show` / `re
234
236
 
235
237
  | Event | Description |
236
238
  |-------|-------------|
237
- | `onClose` | Fires when the dialog closes. Receives `ModalResult.MR_OK` / `MR_CANCEL` / `MR_CLOSE` |
239
+ | `onclose` | Fires when the dialog closes. Receives `ModalResult.MR_OK` / `MR_CANCEL` / `MR_CLOSE` |
238
240
 
239
241
  ## CommonDialog Component
240
242
 
@@ -262,8 +264,8 @@ Simplified wrapper that automatically provides a "Confirm" button. Works in both
262
264
  {#if showDialog}
263
265
  <CommonDialog
264
266
  title="Confirm Action"
265
- confirmHandler={handleConfirm}
266
- onClose={handleClose}
267
+ onconfirm={handleConfirm}
268
+ onclose={handleClose}
267
269
  width="400px"
268
270
  >
269
271
  <p>Are you sure you want to proceed?</p>
@@ -278,12 +280,12 @@ Simplified wrapper that automatically provides a "Confirm" button. Works in both
278
280
  | `title` | `string` | `''` | Dialog title |
279
281
  | `width` | `string` | `'unset'` | Dialog width |
280
282
  | `height` | `string` | `'unset'` | Dialog height |
281
- | `closeConfirm` | `DialogCloseConfirm \| null` | `null` | Close confirmation function |
283
+ | `beforeClose` | `BeforeClose \| null` | `null` | Close confirmation function |
282
284
  | `content$style` | `string` | `''` | Content area styles |
283
- | `enableConfirm` | `boolean` | `true` | Enable/disable the confirm button |
284
- | `confirmHandler` | `(() => Promise<any>) \| null` | `null` | Confirm button handler |
285
+ | `confirmable` | `boolean` | `true` | Enable/disable the confirm button |
286
+ | `onconfirm` | `(() => Promise<any>) \| null` | `null` | Confirm button handler |
285
287
  | `confirmText` | `string \| null` | `null` | Custom confirm button text (defaults to i18n "Confirm") |
286
- | `onClose` | `OnClose \| null` | `null` | Close callback receiving `ModalResult` |
288
+ | `onclose` | `OnClose \| null` | `null` | Close callback receiving `ModalResult` |
287
289
 
288
290
  ## Global API
289
291
 
@@ -296,7 +298,7 @@ import { dialogManager, ModalResult } from "@ticatec/uniface-element/Dialog";
296
298
 
297
299
  const result = await dialogManager.show(MyDialog, {
298
300
  title: "Example",
299
- onClose: (r) => console.log("closed:", r) // you can also get the result here
301
+ onclose: (r) => console.log("closed:", r) // you can also get the result here
300
302
  });
301
303
  ```
302
304
 
@@ -367,7 +369,7 @@ Add confirmation before closing with unsaved changes (triggered on X click / ESC
367
369
 
368
370
  let originalData = JSON.stringify(data);
369
371
 
370
- const closeConfirm = async () => {
372
+ const beforeClose = async () => {
371
373
  const hasChanges = JSON.stringify(data) !== originalData;
372
374
  if (hasChanges) {
373
375
  return await messageBox.showConfirm("You have unsaved changes. Close anyway?", { title: "Confirm Close" })
@@ -377,7 +379,7 @@ Add confirmation before closing with unsaved changes (triggered on X click / ESC
377
379
  };
378
380
  </script>
379
381
 
380
- <Dialog {closeConfirm}>
382
+ <Dialog {beforeClose}>
381
383
  <!-- content -->
382
384
  </Dialog>
383
385
  ```
@@ -501,7 +503,7 @@ Key points:
501
503
  1. **Prefer the imperative API (`dialogManager.show`)**: it returns a Promise, makes result handling ergonomic, and works from services / stores.
502
504
  2. **No need to manually mount `DialogBoard`**: the controller auto-mounts. Existing `<DialogBoard/>` placements in legacy code can stay or be removed.
503
505
  3. **Return `false` from action handlers** to keep the dialog open (e.g., when validation fails).
504
- 4. **Use `closeConfirm` for dirty forms** — show a MessageBox asking if the user really wants to leave unsaved changes.
506
+ 4. **Use `beforeClose` for dirty forms** — show a MessageBox asking if the user really wants to leave unsaved changes.
505
507
  5. **Pick appropriate sizes** — 400–600px for simple dialogs, 700–900px for form dialogs, responsive sizing for mobile.
506
508
  6. **Stacking is supported, but don't overuse it**: multiple simultaneous dialogs can confuse users. Reach for it when genuinely needed.
507
509
 
@@ -526,7 +528,7 @@ declare global {
526
528
  | `<DialogBoard/>` in app root | nothing | Controller auto-mounts; legacy placement can stay |
527
529
  | `window.Dialog.showModal(Component, params)` | `window.Dialog.show(Component, params)` or `dialogManager.show(...)` | `showModal` still works (compat alias) but discards the Promise |
528
530
  | `ModalResult.Ok` / `ModalResult.Cancel` | `ModalResult.MR_OK` / `ModalResult.MR_CANCEL` | Enum unified with MessageBox |
529
- | `onClose(result)` callback | `onClose(result)` + `await dialogManager.show(...)` | Both supported; Promise is the new way |
531
+ | `onclose(result)` callback | `onclose(result)` + `await dialogManager.show(...)` | Both supported; Promise is the new way |
530
532
 
531
533
  ## Related Components
532
534
 
@@ -1,5 +1,7 @@
1
1
  # Dialog 对话框
2
2
 
3
+ > **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `DialogCloseConfirm`, `closeConfirm`, `confirmHandler`, `enableConfirm`, `onClose` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
4
+
3
5
  基于 Svelte 5 构建的灵活模态对话框系统,提供 stack 式管理、Promise API、可拖拽对话框、可配置操作按钮和关闭确认。包含三个导出:`Dialog`(基础可定制对话框组件)、`CommonDialog`(简化确认/取消模式)和 `dialogManager`(全局 stack 控制器,自动挂载,返回 `Promise<ModalResult>`)。
4
6
 
5
7
  ## 特性
@@ -13,7 +15,7 @@
13
15
  - **操作按钮**:可配置按钮动作,返回 `true` 自动关闭
14
16
  - **关闭确认**:关闭前可选确认(适合有未保存更改的场景)
15
17
  - **ESC 关闭**:按 ESC 关闭对话框(自动让 picker 内部的 ESC 优先处理)
16
- - **生命周期钩子**:`onClose` 回调 + Promise resolve,通过 `ModalResult` 处理关闭结果
18
+ - **生命周期钩子**:`onclose` 回调 + Promise resolve,通过 `ModalResult` 处理关闭结果
17
19
  - **可定制样式**:通过内联样式灵活调整外观和尺寸
18
20
 
19
21
  ## 安装
@@ -182,7 +184,7 @@ const result = await window.Dialog.show(MyDialog, { foo: "bar" });
182
184
  {#if showDialog}
183
185
  <Dialog
184
186
  title="我的对话框"
185
- onClose={handleClose}
187
+ onclose={handleClose}
186
188
  width="500px"
187
189
  height="300px"
188
190
  >
@@ -191,7 +193,7 @@ const result = await window.Dialog.show(MyDialog, { foo: "bar" });
191
193
  {/if}
192
194
  ```
193
195
 
194
- 直接渲染模式下没有 `dialogId` context,`close()` 会自己调 `onClose`。
196
+ 直接渲染模式下没有 `dialogId` context,`close()` 会自己调 `onclose`。
195
197
 
196
198
  ## 组件概览
197
199
 
@@ -217,11 +219,11 @@ const result = await window.Dialog.show(MyDialog, { foo: "bar" });
217
219
  | `width` | `string` | `'unset'` | 对话框宽度(CSS 值) |
218
220
  | `height` | `string` | `'unset'` | 对话框高度(CSS 值) |
219
221
  | `actions` | `ButtonActions \| null` | `null` | 操作按钮数组,`null` 条目作为分隔符 |
220
- | `closeConfirm` | `DialogCloseConfirm \| null` | `null` | 关闭确认函数,当结果为 `MR_CANCEL` 或 `MR_CLOSE` 时调用,应返回 `Promise<boolean>` |
222
+ | `beforeClose` | `BeforeClose \| null` | `null` | 关闭确认函数,当结果为 `MR_CANCEL` 或 `MR_CLOSE` 时调用,应返回 `Promise<boolean>` |
221
223
  | `content$style` | `string` | `''` | 内容区域自定义内联样式 |
222
224
  | `hideClose` | `boolean` | `false` | 为 `true` 时隐藏标题栏的关闭 X 图标 |
223
225
  | `closeAction` | `ButtonAction \| null` | `null` | 覆盖默认关闭按钮(label/type 等),handler 始终绑定到内部 close |
224
- | `onClose` | `OnClose \| null` | `null` | 关闭回调,接收 `ModalResult`(参见[模态结果](#模态结果)) |
226
+ | `onclose` | `OnClose \| null` | `null` | 关闭回调,接收 `ModalResult`(参见[模态结果](#模态结果)) |
225
227
  | `dialog$style` | `string` | `''` | 对话框容器自定义内联样式 |
226
228
 
227
229
  ### 方法
@@ -234,7 +236,7 @@ const result = await window.Dialog.show(MyDialog, { foo: "bar" });
234
236
 
235
237
  | 事件 | 说明 |
236
238
  |------|------|
237
- | `onClose` | 关闭时触发。接收 `ModalResult.MR_OK` / `MR_CANCEL` / `MR_CLOSE` |
239
+ | `onclose` | 关闭时触发。接收 `ModalResult.MR_OK` / `MR_CANCEL` / `MR_CLOSE` |
238
240
 
239
241
  ## CommonDialog 组件
240
242
 
@@ -262,8 +264,8 @@ const result = await window.Dialog.show(MyDialog, { foo: "bar" });
262
264
  {#if showDialog}
263
265
  <CommonDialog
264
266
  title="确认操作"
265
- confirmHandler={handleConfirm}
266
- onClose={handleClose}
267
+ onconfirm={handleConfirm}
268
+ onclose={handleClose}
267
269
  width="400px"
268
270
  >
269
271
  <p>确定要继续吗?</p>
@@ -278,12 +280,12 @@ const result = await window.Dialog.show(MyDialog, { foo: "bar" });
278
280
  | `title` | `string` | `''` | 对话框标题 |
279
281
  | `width` | `string` | `'unset'` | 对话框宽度 |
280
282
  | `height` | `string` | `'unset'` | 对话框高度 |
281
- | `closeConfirm` | `DialogCloseConfirm \| null` | `null` | 关闭确认函数 |
283
+ | `beforeClose` | `BeforeClose \| null` | `null` | 关闭确认函数 |
282
284
  | `content$style` | `string` | `''` | 内容区域样式 |
283
- | `enableConfirm` | `boolean` | `true` | 启用/禁用确认按钮 |
284
- | `confirmHandler` | `(() => Promise<any>) \| null` | `null` | 确认按钮处理函数 |
285
+ | `confirmable` | `boolean` | `true` | 启用/禁用确认按钮 |
286
+ | `onconfirm` | `(() => Promise<any>) \| null` | `null` | 确认按钮处理函数 |
285
287
  | `confirmText` | `string \| null` | `null` | 自定义确认按钮文本(默认用 i18n "确认") |
286
- | `onClose` | `OnClose \| null` | `null` | 关闭回调,接收 `ModalResult` |
288
+ | `onclose` | `OnClose \| null` | `null` | 关闭回调,接收 `ModalResult` |
287
289
 
288
290
  ## 全局 API
289
291
 
@@ -296,7 +298,7 @@ import { dialogManager, ModalResult } from "@ticatec/uniface-element/Dialog";
296
298
 
297
299
  const result = await dialogManager.show(MyDialog, {
298
300
  title: "示例",
299
- onClose: (r) => console.log("closed:", r) // 也可在这里拿结果
301
+ onclose: (r) => console.log("closed:", r) // 也可在这里拿结果
300
302
  });
301
303
  ```
302
304
 
@@ -367,7 +369,7 @@ type ButtonActions = (ButtonAction | null)[];
367
369
 
368
370
  let originalData = JSON.stringify(data);
369
371
 
370
- const closeConfirm = async () => {
372
+ const beforeClose = async () => {
371
373
  const hasChanges = JSON.stringify(data) !== originalData;
372
374
  if (hasChanges) {
373
375
  return await messageBox.showConfirm("有未保存的更改,确定要关闭吗?", { title: "确认关闭" })
@@ -377,7 +379,7 @@ type ButtonActions = (ButtonAction | null)[];
377
379
  };
378
380
  </script>
379
381
 
380
- <Dialog {closeConfirm}>
382
+ <Dialog {beforeClose}>
381
383
  <!-- 内容 -->
382
384
  </Dialog>
383
385
  ```
@@ -501,7 +503,7 @@ await dialogManager.show(Dialog, { title: "顶层" });
501
503
  1. **优先用命令式 API(`dialogManager.show`)**:返回 Promise,方便链式处理结果,也方便 service / store 调用。
502
504
  2. **无需手动挂载 `DialogBoard`**:控制器自动挂载。旧项目里已有的 `<DialogBoard/>` 可以保留也可以删。
503
505
  3. **action handler 返回 `false` 保持对话框打开**(比如验证失败时)。
504
- 4. **有未保存更改时用 `closeConfirm`** —— 弹一个 MessageBox 确认是否离开。
506
+ 4. **有未保存更改时用 `beforeClose`** —— 弹一个 MessageBox 确认是否离开。
505
507
  5. **根据场景选择尺寸** —— 简单对话框 400–600px,表单对话框 700–900px,移动端用响应式。
506
508
  6. **stack 是支持的,但别滥用**:同时叠加多个对话框会让用户困惑,需要时再用。
507
509
 
@@ -526,7 +528,7 @@ declare global {
526
528
  | `<DialogBoard/>` 在 app 根 | 无需 | 控制器自动挂载,旧代码可保留 |
527
529
  | `window.Dialog.showModal(Component, params)` | `window.Dialog.show(Component, params)` 或 `dialogManager.show(...)` | `showModal` 仍可用(兼容别名),但丢弃 Promise |
528
530
  | `ModalResult.Ok` / `ModalResult.Cancel` | `ModalResult.MR_OK` / `ModalResult.MR_CANCEL` | 枚举值已与 MessageBox 统一 |
529
- | `onClose(result)` 回调 | `onClose(result)` + `await dialogManager.show(...)` | 两者都支持,Promise 是新方式 |
531
+ | `onclose(result)` 回调 | `onclose(result)` + `await dialogManager.show(...)` | 两者都支持,Promise 是新方式 |
530
532
 
531
533
  ## 相关组件
532
534