@ticatec/uniface-element 5.0.5 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) 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/CommonDialog.svelte +16 -12
  271. package/dist/overlay/dialog/CommonDialog.svelte.d.ts +9 -5
  272. package/dist/overlay/dialog/Dialog.svelte +25 -19
  273. package/dist/overlay/dialog/Dialog.svelte.d.ts +11 -5
  274. package/dist/overlay/dialog/DialogActions.d.ts +1 -1
  275. package/dist/overlay/dialog/DialogCloseConfirm.d.ts +4 -1
  276. package/dist/overlay/dialog/DialogCloseConfirm.js +1 -1
  277. package/dist/overlay/dialog/DialogManager.svelte.js +2 -1
  278. package/dist/overlay/dialog/README.md +19 -17
  279. package/dist/overlay/dialog/README_CN.md +19 -17
  280. package/dist/overlay/dialog/index.d.ts +2 -2
  281. package/dist/overlay/message-box/IMessageBox.d.ts +4 -4
  282. package/dist/ticatec-uniface-web.css +38 -12
  283. package/dist/types.d.ts +38 -46
  284. package/dist/unifaceContext.d.ts +2 -2
  285. package/dist/utils/prefixFilter.js +0 -1
  286. package/docs/NAMING.md +362 -0
  287. package/docs/NAMING_CN.md +362 -0
  288. package/docs/components/README.md +16 -14
  289. package/docs/components/accordion/README.md +13 -2
  290. package/docs/components/accordion/example.svelte +1 -0
  291. package/docs/components/action-bar/README.md +4 -4
  292. package/docs/components/attachment-editor/README.md +224 -0
  293. package/docs/components/attachment-editor/example.svelte +22 -0
  294. package/docs/components/box/README.md +1 -1
  295. package/docs/components/button/README.md +8 -1
  296. package/docs/components/button/example.svelte +1 -0
  297. package/docs/components/card/README.md +19 -5
  298. package/docs/components/cascade-options-select/README.md +11 -5
  299. package/docs/components/columns-layout/README.md +8 -4
  300. package/docs/components/columns-layout/example.svelte +4 -0
  301. package/docs/components/common-dialog/README.md +19 -10
  302. package/docs/components/common-dialog/example.svelte +2 -1
  303. package/docs/components/concise-data-table/README.md +18 -29
  304. package/docs/components/concise-data-table/example.svelte +1 -1
  305. package/docs/components/context-menu/README.md +5 -5
  306. package/docs/components/context-menu/example.svelte +1 -1
  307. package/docs/components/criteria-field/README.md +1 -0
  308. package/docs/components/criteria-field/example.svelte +1 -0
  309. package/docs/components/data-table/README.md +63 -40
  310. package/docs/components/data-table/example.svelte +2 -2
  311. package/docs/components/date-picker/README.md +1 -1
  312. package/docs/components/date-time-picker/README.md +1 -1
  313. package/docs/components/dialog/README.md +21 -14
  314. package/docs/components/dialog/example.svelte +1 -1
  315. package/docs/components/form-field/README.md +3 -3
  316. package/docs/components/grid-form/README.md +15 -5
  317. package/docs/components/grid-form/example.svelte +1 -1
  318. package/docs/components/group-check-box/README.md +3 -3
  319. package/docs/components/group-radio-box/README.md +3 -3
  320. package/docs/components/icon/README.md +6 -5
  321. package/docs/components/icon-button/README.md +10 -1
  322. package/docs/components/icon-button/example.svelte +1 -0
  323. package/docs/components/image-editor/README.md +262 -0
  324. package/docs/components/{image-files → image-editor}/example.svelte +5 -3
  325. package/docs/components/input-options-select/README.md +2 -2
  326. package/docs/components/list-box/README.md +12 -13
  327. package/docs/components/list-box/example.svelte +3 -3
  328. package/docs/components/lookup-editor/README.md +1 -1
  329. package/docs/components/navigator/README.md +2 -1
  330. package/docs/components/navigator/example.svelte +1 -0
  331. package/docs/components/navigator-menu/README.md +24 -21
  332. package/docs/components/navigator-menu/example.svelte +4 -2
  333. package/docs/components/options-multi-select/README.md +2 -2
  334. package/docs/components/options-select/README.md +4 -4
  335. package/docs/components/page/README.md +2 -2
  336. package/docs/components/page-stack/README.md +67 -0
  337. package/docs/components/page-stack/example.svelte +7 -0
  338. package/docs/components/pagination/README.md +24 -7
  339. package/docs/components/pagination/example.svelte +5 -2
  340. package/docs/components/pagination-panel/README.md +25 -10
  341. package/docs/components/pagination-panel/example.svelte +5 -4
  342. package/docs/components/password-editor/README.md +128 -0
  343. package/docs/components/{attachment-files → password-editor}/example.svelte +5 -5
  344. package/docs/components/progress-bar/README.md +14 -4
  345. package/docs/components/progress-bar/example.svelte +1 -1
  346. package/docs/components/progress-step-bar/README.md +16 -7
  347. package/docs/components/progress-step-bar/example.svelte +5 -1
  348. package/docs/components/prompts-text-editor/README.md +8 -6
  349. package/docs/components/prompts-text-editor/example.svelte +0 -1
  350. package/docs/components/rows-layout/README.md +8 -4
  351. package/docs/components/rows-layout/example.svelte +4 -0
  352. package/docs/components/switch/README.md +2 -2
  353. package/docs/components/tabs/README.md +24 -9
  354. package/docs/components/tag/README.md +13 -2
  355. package/docs/components/tag/example.svelte +1 -0
  356. package/docs/components/text-button/README.md +20 -1
  357. package/docs/components/text-button/example.svelte +2 -0
  358. package/docs/components/time-editor/README.md +1 -1
  359. package/docs/components/transfer/README.md +16 -9
  360. package/docs/components/tree-view/README.md +29 -13
  361. package/docs/components/tree-view/example.svelte +2 -1
  362. package/docs/components/unit-number-editor/README.md +11 -8
  363. package/docs/components/unit-number-editor/example.svelte +0 -1
  364. package/package.json +13 -7
  365. package/dist/data_table/lib/CompareFunction.d.ts +0 -3
  366. package/dist/data_table/lib/FormatCell.d.ts +0 -2
  367. package/dist/form/attachment_files/FileRender.svelte +0 -125
  368. package/dist/form/attachment_files/FileRender.svelte.d.ts +0 -9
  369. package/dist/form/attachment_files/FileUploadBar.svelte +0 -66
  370. package/dist/form/attachment_files/FileUploadBar.svelte.d.ts +0 -8
  371. package/dist/form/attachment_files/FileUploadPanel.svelte +0 -161
  372. package/dist/form/attachment_files/FileUploadPanel.svelte.d.ts +0 -14
  373. package/dist/form/attachment_files/UploadFile.d.ts +0 -43
  374. package/dist/form/attachment_files/UploadFile.js +0 -80
  375. package/dist/form/cascade_options_select/CascadePanel.svelte +0 -52
  376. package/dist/form/cascade_options_select/CascadePanel.svelte.d.ts +0 -26
  377. package/dist/form/cascade_options_select/isLeafDetermine.d.ts +0 -4
  378. package/dist/form/common_editor/EditorEvents.d.ts +0 -14
  379. package/dist/form/common_editor/EditorEvents.js +0 -2
  380. package/dist/form/image-files/ImageFile.d.ts +0 -12
  381. package/dist/form/image-files/ImageFilesField.svelte +0 -128
  382. package/dist/form/image-files/ImageFilesField.svelte.d.ts +0 -18
  383. package/dist/form/image-files/ImageRender.svelte +0 -95
  384. package/dist/form/image-files/ImageRender.svelte.d.ts +0 -10
  385. package/dist/form/image-files/README.md +0 -468
  386. package/dist/form/image-files/README_CN.md +0 -468
  387. package/dist/form/image-files/index.d.ts +0 -10
  388. package/dist/form/image-files/index.js +0 -2
  389. package/docs/components/attachment-files/README.md +0 -332
  390. package/docs/components/image-files/README.md +0 -174
  391. /package/dist/data_table/lib/{FormatCell.js → CellAction.js} +0 -0
  392. /package/dist/data_table/lib/{CompareFunction.js → CompareFn.js} +0 -0
  393. /package/dist/{form/cascade_options_select/isLeafDetermine.js → data_table/lib/FormatCellFn.js} +0 -0
  394. /package/dist/form/{image-files/ImageFile.js → attachment_files/UploadTask.js} +0 -0
  395. /package/dist/form/{image-files → image_editor}/ImagePreview.svelte.d.ts +0 -0
@@ -2,8 +2,8 @@
2
2
  import ListBox from "../../data_display/list_box";
3
3
  import IconButton from "../../general/button/IconButton.svelte";
4
4
 
5
- import type {FunFilter} from "../../data_display/list_box";
6
- import type {TransferData} from "../../types";
5
+ import type {FilterFn} from "../../data_display/list_box";
6
+ import type {BeforeTransfer, OnTransfer} from "../../types";
7
7
  import i18n, {i18nUtils} from "@ticatec/i18n";
8
8
 
9
9
 
@@ -14,8 +14,15 @@
14
14
  targetList?: Array<any>;
15
15
  targetTitle?: string;
16
16
  itemRender?: any;
17
- filter?: FunFilter | null;
18
- onchange?: TransferData;
17
+ filter?: FilterFn | null;
18
+ /**
19
+ * 移动前的否决钩子:返回 false 阻止移动。
20
+ */
21
+ beforeTransfer?: BeforeTransfer;
22
+ /**
23
+ * 移动完成后的通知。
24
+ */
25
+ onchange?: OnTransfer;
19
26
  onfocus?: (event: FocusEvent) => void;
20
27
  onblur?: (event: FocusEvent) => void;
21
28
  footer$style?: string;
@@ -29,6 +36,7 @@
29
36
  targetTitle,
30
37
  itemRender = null,
31
38
  filter = null,
39
+ beforeTransfer,
32
40
  onchange,
33
41
  onfocus,
34
42
  onblur,
@@ -47,26 +55,33 @@
47
55
  if (!transferContainer?.contains(event.relatedTarget as Node | null)) onblur?.(event);
48
56
  };
49
57
 
58
+ const allowMove = async (list: Array<any>, direction: "left" | "right"): Promise<boolean> =>
59
+ beforeTransfer == null || (await beforeTransfer(list, direction)) !== false;
60
+
50
61
  const moveToTarget = async () => {
51
- if (sourceSelectedList.length > 0 && await onchange?.(sourceSelectedList, "right")) {
52
- targetList = [...targetList, ...sourceSelectedList];
53
- sourceList = sourceList.filter(item => sourceSelectedList.indexOf(item) === -1);
62
+ if (sourceSelectedList.length > 0 && await allowMove(sourceSelectedList, "right")) {
63
+ const moved = sourceSelectedList;
64
+ targetList = [...targetList, ...moved];
65
+ sourceList = sourceList.filter(item => moved.indexOf(item) === -1);
54
66
  sourceSelectedList = [];
67
+ onchange?.(moved, "right");
55
68
  }
56
69
  }
57
70
 
58
71
  const moveToSource = async () => {
59
- if (targetSelectedList.length > 0 && await onchange?.(targetSelectedList, "left")) {
60
- sourceList = [...sourceList, ...targetSelectedList];
61
- targetList = targetList.filter(item => targetSelectedList.indexOf(item) === -1);
72
+ if (targetSelectedList.length > 0 && await allowMove(targetSelectedList, "left")) {
73
+ const moved = targetSelectedList;
74
+ sourceList = [...sourceList, ...moved];
75
+ targetList = targetList.filter(item => moved.indexOf(item) === -1);
62
76
  targetSelectedList = [];
77
+ onchange?.(moved, "left");
63
78
  }
64
79
  }
65
80
  </script>
66
81
 
67
- <div bind:this={transferContainer} class="uniface-transfer-container" onfocusin={handleFocusIn} onfocusout={handleFocusOut}>
68
- <ListBox class="list-container" title={sourceTitle} {filter} style="{style}; grid-column: 1/2" list={sourceList} selectMode="multiple"
69
- bind:selectedList={sourceSelectedList} {itemRender}>
82
+ <div bind:this={transferContainer} class="uniface-transfer-container" {style} onfocusin={handleFocusIn} onfocusout={handleFocusOut}>
83
+ <ListBox class="list-container" title={sourceTitle} {filter} style="grid-column: 1/2" list={sourceList} selectMode="multiple"
84
+ bind:selectedItems={sourceSelectedList} {itemRender}>
70
85
  {#snippet footer()}
71
86
  <div style={footer$style}>
72
87
  <span>{i18nUtils.formatText(i18n.getText('uniface.transfer.selectIndicator'), {
@@ -84,8 +99,8 @@
84
99
  <i class="icon_google_navigate_next"></i>
85
100
  </IconButton>
86
101
  </div>
87
- <ListBox class="list-container" title={targetTitle} style="{style}; grid-column: 3/4" {filter} list={targetList} selectMode="multiple"
88
- bind:selectedList={targetSelectedList} {itemRender}>
102
+ <ListBox class="list-container" title={targetTitle} style="grid-column: 3/4" {filter} list={targetList} selectMode="multiple"
103
+ bind:selectedItems={targetSelectedList} {itemRender}>
89
104
  {#snippet footer()}
90
105
  <div style={footer$style}>
91
106
  <span>{i18nUtils.formatText(i18n.getText('uniface.transfer.selectIndicator'), {
@@ -1,5 +1,5 @@
1
- import type { FunFilter } from "../../data_display/list_box";
2
- import type { TransferData } from "../../types";
1
+ import type { FilterFn } from "../../data_display/list_box";
2
+ import type { BeforeTransfer, OnTransfer } from "../../types";
3
3
  interface Props {
4
4
  style?: string;
5
5
  sourceList?: Array<any>;
@@ -7,8 +7,15 @@ interface Props {
7
7
  targetList?: Array<any>;
8
8
  targetTitle?: string;
9
9
  itemRender?: any;
10
- filter?: FunFilter | null;
11
- onchange?: TransferData;
10
+ filter?: FilterFn | null;
11
+ /**
12
+ * 移动前的否决钩子:返回 false 阻止移动。
13
+ */
14
+ beforeTransfer?: BeforeTransfer;
15
+ /**
16
+ * 移动完成后的通知。
17
+ */
18
+ onchange?: OnTransfer;
12
19
  onfocus?: (event: FocusEvent) => void;
13
20
  onblur?: (event: FocusEvent) => void;
14
21
  footer$style?: string;
@@ -1,4 +1,4 @@
1
1
  import Transfer from "./Transfer.svelte";
2
- import type { TransferData } from "../../types";
2
+ import type { BeforeTransfer, OnTransfer } from "../../types";
3
3
  export default Transfer;
4
- export type { TransferData };
4
+ export type { BeforeTransfer, OnTransfer };
@@ -6,7 +6,8 @@
6
6
  interface Props {
7
7
  style?: string;
8
8
  compact?: boolean;
9
- accordions?: AccordionItem[];
9
+ /** 折叠项列表 */
10
+ items?: AccordionItem[];
10
11
  exclusive?: boolean;
11
12
  theme?: string;
12
13
  }
@@ -14,18 +15,18 @@
14
15
  let {
15
16
  style = '',
16
17
  compact = false,
17
- accordions = [],
18
+ items = [],
18
19
  exclusive = false,
19
- theme = 'theme-light'
20
+ theme
20
21
  }: Props = $props();
21
22
 
22
23
  let openSet = $state(new Set<AccordionItem>());
23
24
  let activeItem = $state<AccordionItem | null>(null);
24
25
 
25
26
  onMount(() => {
26
- if (exclusive && activeItem == null && accordions.length > 0) {
27
- activeItem = accordions[0];
28
- openSet.add(accordions[0]);
27
+ if (exclusive && activeItem == null && items.length > 0) {
28
+ activeItem = items[0];
29
+ openSet.add(items[0]);
29
30
  }
30
31
  });
31
32
 
@@ -47,11 +48,11 @@
47
48
  };
48
49
  </script>
49
50
 
50
- <div class="uniface-accordion-panel {theme}" class:compact {style}>
51
- {#each accordions as accordion}
51
+ <div class="uniface-accordion-panel" class:compact {style} data-theme={theme}>
52
+ {#each items as accordion}
52
53
  <AccordionItemView
53
54
  title={accordion.title}
54
- isOpen={openSet.has(accordion)}
55
+ expanded={openSet.has(accordion)}
55
56
  {exclusive}
56
57
  {compact}
57
58
  onclick={handleAccordionClick(accordion)}
@@ -2,7 +2,8 @@ import type AccordionItem from './AccordionItem';
2
2
  interface Props {
3
3
  style?: string;
4
4
  compact?: boolean;
5
- accordions?: AccordionItem[];
5
+ /** 折叠项列表 */
6
+ items?: AccordionItem[];
6
7
  exclusive?: boolean;
7
8
  theme?: string;
8
9
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  title: string;
6
- isOpen?: boolean;
6
+ expanded?: boolean;
7
7
  onclick?: (event: MouseEvent) => void;
8
8
  header?: Snippet;
9
9
  exclusive?: boolean;
@@ -13,7 +13,7 @@
13
13
 
14
14
  let {
15
15
  title = '',
16
- isOpen = false,
16
+ expanded = false,
17
17
  onclick = undefined,
18
18
  header = undefined,
19
19
  exclusive = false,
@@ -43,7 +43,7 @@
43
43
  class:compact
44
44
  role="button"
45
45
  tabindex="0"
46
- aria-expanded={isOpen}
46
+ aria-expanded={expanded}
47
47
  onclick={handleClick}
48
48
  onkeydown={handleKeyDown}
49
49
  >
@@ -55,16 +55,16 @@
55
55
  </div>
56
56
  <div class="icon">
57
57
  {#if exclusive}
58
- {#if isOpen}
58
+ {#if expanded}
59
59
  <i class="icon_google_folder_open"></i>
60
60
  {/if}
61
61
  {:else}
62
- <i class={isOpen ? 'icon_google_keyboard_arrow_up' : 'icon_google_keyboard_arrow_down'}></i>
62
+ <i class={expanded ? 'icon_google_keyboard_arrow_up' : 'icon_google_keyboard_arrow_down'}></i>
63
63
  {/if}
64
64
  </div>
65
65
  {/if}
66
66
  </div>
67
- {#if isOpen && children}
67
+ {#if expanded && children}
68
68
  <div class="content" class:compact>
69
69
  {@render children()}
70
70
  </div>
@@ -1,7 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  title: string;
4
- isOpen?: boolean;
4
+ expanded?: boolean;
5
5
  onclick?: (event: MouseEvent) => void;
6
6
  header?: Snippet;
7
7
  exclusive?: boolean;
@@ -1,5 +1,7 @@
1
1
  # Accordion
2
2
 
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `accordions` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
3
5
  A vertically stacked set of expandable panels. Each panel has a clickable header and a collapsible content area.
4
6
 
5
7
  > Svelte 5 component. Content is passed as **Snippets** (not JSX, not Svelte 4 slots).
@@ -23,7 +25,7 @@ npm install @ticatec/uniface-element
23
25
 
24
26
  | Prop | Type | Default | Description |
25
27
  |------|------|---------|-------------|
26
- | `accordions` | `AccordionItem[]` | `[]` | Items to render |
28
+ | `items` | `AccordionItem[]` | `[]` | Items to render |
27
29
  | `exclusive` | `boolean` | `false` | When `true`, only one panel open at a time. The first item auto-opens on mount. Icon switches to folder/folder-open style |
28
30
  | `compact` | `boolean` | `false` | Reduces header and content padding |
29
31
  | `style` | `string` | `''` | Inline CSS on the root container |
@@ -61,7 +63,7 @@ interface AccordionItem {
61
63
  <div>Content for section 2</div>
62
64
  {/snippet}
63
65
 
64
- <Accordion accordions={items} />
66
+ <Accordion items={items} />
65
67
  ```
66
68
 
67
69
  > The snippet must be defined at the **top level of the module script** (or passed via a variable) — not inlined inside the array literal. Inline arrow functions returning JSX like `() => <div>...</div>` are not valid Svelte.
@@ -69,7 +71,7 @@ interface AccordionItem {
69
71
  ### Exclusive mode — single open panel
70
72
 
71
73
  ```svelte
72
- <Accordion accordions={items} exclusive />
74
+ <Accordion items={items} exclusive />
73
75
  ```
74
76
 
75
77
  In `exclusive` mode:
@@ -80,7 +82,7 @@ In `exclusive` mode:
80
82
  ### Compact
81
83
 
82
84
  ```svelte
83
- <Accordion accordions={items} compact style="max-width: 600px; margin: 0 auto;" />
85
+ <Accordion items={items} compact style="max-width: 600px; margin: 0 auto;" />
84
86
  ```
85
87
 
86
88
  ## Styling
@@ -1,5 +1,7 @@
1
1
  # Accordion 手风琴
2
2
 
3
+ > **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `accordions` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
4
+
3
5
  一组垂直堆叠、可展开/折叠的面板。每个面板有可点击的标题和可折叠的内容区。
4
6
 
5
7
  > Svelte 5 组件。内容通过 **Snippet** 传入(不是 JSX,也不是 Svelte 4 slot)。
@@ -23,7 +25,7 @@ npm install @ticatec/uniface-element
23
25
 
24
26
  | 属性 | 类型 | 默认值 | 描述 |
25
27
  |------|------|--------|------|
26
- | `accordions` | `AccordionItem[]` | `[]` | 要渲染的项 |
28
+ | `items` | `AccordionItem[]` | `[]` | 要渲染的项 |
27
29
  | `exclusive` | `boolean` | `false` | 为 `true` 时同一时刻只能展开一个面板,第一项在挂载时自动展开,图标改为 文件夹/打开文件夹 样式 |
28
30
  | `compact` | `boolean` | `false` | 缩小标题和内容的内边距 |
29
31
  | `style` | `string` | `''` | 根容器的内联 CSS |
@@ -61,7 +63,7 @@ interface AccordionItem {
61
63
  <div>第二部分的内容</div>
62
64
  {/snippet}
63
65
 
64
- <Accordion accordions={items} />
66
+ <Accordion items={items} />
65
67
  ```
66
68
 
67
69
  > snippet 必须定义在 **模块顶层**(或通过变量传入),不能在数组字面量里直接写 `() => <div>...</div>` —— 那不是合法的 Svelte 语法。
@@ -69,7 +71,7 @@ interface AccordionItem {
69
71
  ### exclusive 模式 —— 只展开一个
70
72
 
71
73
  ```svelte
72
- <Accordion accordions={items} exclusive />
74
+ <Accordion items={items} exclusive />
73
75
  ```
74
76
 
75
77
  `exclusive` 模式下:
@@ -80,7 +82,7 @@ interface AccordionItem {
80
82
  ### 紧凑
81
83
 
82
84
  ```svelte
83
- <Accordion accordions={items} compact style="max-width: 600px; margin: 0 auto;" />
85
+ <Accordion items={items} compact style="max-width: 600px; margin: 0 auto;" />
84
86
  ```
85
87
 
86
88
  ## 样式定制
@@ -11,14 +11,16 @@
11
11
  actions?: Array<CardAction>;
12
12
  variant?: 'plain' | '3d';
13
13
  data?: any;
14
- headerBar?: Snippet;
14
+ header?: Snippet;
15
15
  children?: Snippet;
16
16
  theme?: string;
17
17
  /** 操作栏图标排布方式,默认 'distribute'(按数量平分宽度、每个居中,不会被拉到两端) */
18
- actionsAlign?: CardActionsAlign;
18
+ /** 动作栏对齐方式 */
19
+ actions$align?: CardActionsAlign;
19
20
  /** 'center'/'left'/'right' 模式下相邻图标的固定间距,例如 '16px' */
20
21
  actionsGap?: string;
21
- contentStyle?: string;
22
+ /** 内容区内联样式 */
23
+ content$style?: string;
22
24
  }
23
25
 
24
26
  let {
@@ -27,12 +29,12 @@
27
29
  actions = [],
28
30
  variant = 'plain',
29
31
  data = null,
30
- headerBar,
32
+ header,
31
33
  children,
32
- theme = "",
33
- actionsAlign = 'distribute',
34
+ theme,
35
+ actions$align = 'distribute',
34
36
  actionsGap,
35
- contentStyle = ''
37
+ content$style = '',
36
38
  }: Props = $props();
37
39
  </script>
38
40
 
@@ -42,18 +44,18 @@
42
44
  <div class="card-header">
43
45
  <CardHeader {title}/>
44
46
  </div>
45
- {:else if headerBar}
47
+ {:else if header}
46
48
  <div class="card-header">
47
- {@render headerBar()}
49
+ {@render header()}
48
50
  </div>
49
51
  {/if}
50
- <div class="card-content" style={contentStyle}>
52
+ <div class="card-content" style={content$style}>
51
53
  {#if children}
52
54
  {@render children()}
53
55
  {/if}
54
56
  </div>
55
57
  {#if actions && actions.length > 0}
56
- <CommonCardActionBar {actions} {data} align={actionsAlign} gap={actionsGap}/>
58
+ <CommonCardActionBar {actions} {data} align={actions$align} gap={actionsGap}/>
57
59
  {/if}
58
60
  </div>
59
61
  </div>
@@ -7,14 +7,16 @@ interface Props {
7
7
  actions?: Array<CardAction>;
8
8
  variant?: 'plain' | '3d';
9
9
  data?: any;
10
- headerBar?: Snippet;
10
+ header?: Snippet;
11
11
  children?: Snippet;
12
12
  theme?: string;
13
13
  /** 操作栏图标排布方式,默认 'distribute'(按数量平分宽度、每个居中,不会被拉到两端) */
14
- actionsAlign?: CardActionsAlign;
14
+ /** 动作栏对齐方式 */
15
+ actions$align?: CardActionsAlign;
15
16
  /** 'center'/'left'/'right' 模式下相邻图标的固定间距,例如 '16px' */
16
17
  actionsGap?: string;
17
- contentStyle?: string;
18
+ /** 内容区内联样式 */
19
+ content$style?: string;
18
20
  }
19
21
  declare const Card: import("svelte").Component<Props, {}, "">;
20
22
  type Card = ReturnType<typeof Card>;
@@ -1,5 +1,10 @@
1
- export type ActionCallback = (data: any) => void;
1
+ import type { ActionHandler } from "../../types";
2
+ export type { ActionHandler };
2
3
  export default interface CardAction {
4
+ /**
5
+ * 显示文字(图标动作可省略,用 tooltip 说明)
6
+ */
7
+ label?: string;
3
8
  /**
4
9
  * 使用icon字体
5
10
  */
@@ -19,7 +24,7 @@ export default interface CardAction {
19
24
  /**
20
25
  *
21
26
  */
22
- callback: ActionCallback;
27
+ handler: ActionHandler;
23
28
  }
24
29
  /**
25
30
  * 操作栏图标的排布方式:
@@ -18,7 +18,7 @@
18
18
  actions,
19
19
  color = null,
20
20
  data,
21
- theme = "",
21
+ theme,
22
22
  align = 'distribute',
23
23
  gap
24
24
  }: Props = $props();
@@ -30,7 +30,7 @@
30
30
  const handleActionClick = (action: CardAction) => async (e: MouseEvent) => {
31
31
  if (clickEnable && !action.disabled) {
32
32
  clickEnable = false;
33
- action.callback?.(data);
33
+ action.handler?.(data);
34
34
  await utils.sleep(0.5);
35
35
  clickEnable = true;
36
36
  }
@@ -1,8 +1,10 @@
1
1
  # Card
2
2
 
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `actionsAlign`, `contentStyle` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
3
5
  A content container with optional title bar (or custom header snippet), body, and an action bar at the bottom.
4
6
 
5
- > Svelte 5 component. Custom header is passed as the `headerBar` snippet; body content is the default children.
7
+ > Svelte 5 component. Custom header is passed as the `header` snippet; body content is the default children.
6
8
 
7
9
  ## Installation
8
10
 
@@ -23,15 +25,15 @@ npm install @ticatec/uniface-element
23
25
 
24
26
  | Prop | Type | Default | Description |
25
27
  |------|------|---------|-------------|
26
- | `title` | `string` | `''` | Plain-text title rendered by `CardHeader`. Single-line, truncated with an ellipsis (native tooltip shows the full text) when it overflows. If empty and `headerBar` is provided, the custom snippet is used instead |
27
- | `headerBar` | `Snippet` | `undefined` | Custom header content (takes over when `title` is empty) |
28
+ | `title` | `string` | `''` | Plain-text title rendered by `CardHeader`. Single-line, truncated with an ellipsis (native tooltip shows the full text) when it overflows. If empty and `header` is provided, the custom snippet is used instead |
29
+ | `header` | `Snippet` | `undefined` | Custom header content (takes over when `title` is empty) |
28
30
  | `actions` | `CardAction[]` | `[]` | Action bar items rendered at the bottom. Empty array → no footer |
29
31
  | `data` | `any` | `null` | Passed as the argument to each action's `callback(data)` |
30
- | `actionsAlign` | `'distribute' \| 'center' \| 'left' \| 'right'` | `'distribute'` | How action icons are laid out — see below |
32
+ | `actions$align` | `'distribute' \| 'center' \| 'left' \| 'right'` | `'distribute'` | How action icons are laid out — see below |
31
33
  | `actionsGap` | `string` | `undefined` | Fixed spacing between icons for `'center'`/`'left'`/`'right'` (e.g. `'16px'`); falls back to `--uniface-spacing-actionbar` |
32
34
  | `variant` | `'plain' \| '3d'` | `'plain'` | `'3d'` adds a box-shadow to lift the card |
33
35
  | `style` | `string` | `''` | Inline CSS on the root |
34
- | `contentStyle` | `string` | `''` | Inline CSS on the body wrapper (`.card-content`) |
36
+ | `content$style` | `string` | `''` | Inline CSS on the body wrapper (`.card-content`) |
35
37
  | `theme` | `string` | `''` | Theme value, exposed as `data-theme` on the root for scoped CSS |
36
38
  | `children` | `Snippet` | `undefined` | Card body |
37
39
 
@@ -62,11 +64,11 @@ interface CardAction {
62
64
  ### Custom header snippet
63
65
 
64
66
  ```svelte
65
- <Card {headerBar}>
67
+ <Card {header}>
66
68
  <p>Body</p>
67
69
  </Card>
68
70
 
69
- {#snippet headerBar()}
71
+ {#snippet header()}
70
72
  <header style="display:flex; align-items:center; gap:8px;">
71
73
  <i class="icon_google_star"></i>
72
74
  <strong>Custom title</strong>
@@ -97,13 +99,13 @@ interface CardAction {
97
99
 
98
100
  ### Action bar layout
99
101
 
100
- With few actions, `justify-content: space-between` (the old, fixed behavior) pushes them to opposite edges — two icons end up one at the far left, one at the far right. `actionsAlign` controls this:
102
+ With few actions, `justify-content: space-between` (the old, fixed behavior) pushes them to opposite edges — two icons end up one at the far left, one at the far right. `actions$align` controls this:
101
103
 
102
104
  - `'distribute'` (default) — the row is split into as many equal-width slots as there are actions, each icon centered in its own slot. Equivalent to `justify-content: space-around`; icons never get pushed all the way to the edges regardless of count.
103
105
  - `'center'` / `'left'` / `'right'` — icons keep a fixed gap (`actionsGap`, default `--uniface-spacing-actionbar`) and the whole group is aligned as a block within the footer.
104
106
 
105
107
  ```svelte
106
- <Card title="Item Details" {actions} data={cardData} actionsAlign="center" actionsGap="24px">
108
+ <Card title="Item Details" {actions} data={cardData} actions$align="center" actionsGap="24px">
107
109
  ...
108
110
  </Card>
109
111
  ```
@@ -1,8 +1,10 @@
1
1
  # Card 卡片
2
2
 
3
+ > **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `actionsAlign`, `contentStyle` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
4
+
3
5
  内容容器,可选标题栏(或自定义 header snippet)、内容体,以及底部操作栏。
4
6
 
5
- > Svelte 5 组件。自定义标题通过 `headerBar` snippet 传入;内容体就是默认的 children。
7
+ > Svelte 5 组件。自定义标题通过 `header` snippet 传入;内容体就是默认的 children。
6
8
 
7
9
  ## 安装
8
10
 
@@ -23,15 +25,15 @@ npm install @ticatec/uniface-element
23
25
 
24
26
  | 属性 | 类型 | 默认值 | 描述 |
25
27
  |------|------|--------|------|
26
- | `title` | `string` | `''` | 纯文本标题,由 `CardHeader` 渲染。默认单行显示,超出宽度会用省略号截断(原生 tooltip 显示完整文字)。为空且传了 `headerBar` 时改用自定义 snippet |
27
- | `headerBar` | `Snippet` | `undefined` | 自定义标题内容(`title` 为空时生效) |
28
+ | `title` | `string` | `''` | 纯文本标题,由 `CardHeader` 渲染。默认单行显示,超出宽度会用省略号截断(原生 tooltip 显示完整文字)。为空且传了 `header` 时改用自定义 snippet |
29
+ | `header` | `Snippet` | `undefined` | 自定义标题内容(`title` 为空时生效) |
28
30
  | `actions` | `CardAction[]` | `[]` | 底部操作栏。空数组 → 不渲染底栏 |
29
31
  | `data` | `any` | `null` | 作为参数传给每个 action 的 `callback(data)` |
30
- | `actionsAlign` | `'distribute' \| 'center' \| 'left' \| 'right'` | `'distribute'` | 操作图标的排布方式,见下文 |
32
+ | `actions$align` | `'distribute' \| 'center' \| 'left' \| 'right'` | `'distribute'` | 操作图标的排布方式,见下文 |
31
33
  | `actionsGap` | `string` | `undefined` | `'center'`/`'left'`/`'right'` 模式下图标之间的固定间距(比如 `'16px'`),不设则回退到 `--uniface-spacing-actionbar` |
32
34
  | `variant` | `'plain' \| '3d'` | `'plain'` | `'3d'` 加盒阴影让卡片浮起来 |
33
35
  | `style` | `string` | `''` | 根节点的内联 CSS |
34
- | `contentStyle` | `string` | `''` | 内容区域包裹层(`.card-content`)的内联 CSS |
36
+ | `content$style` | `string` | `''` | 内容区域包裹层(`.card-content`)的内联 CSS |
35
37
  | `theme` | `string` | `''` | 主题值,作为 `data-theme` 写到根节点上方便做作用域 CSS |
36
38
  | `children` | `Snippet` | `undefined` | 卡片内容体 |
37
39
 
@@ -62,11 +64,11 @@ interface CardAction {
62
64
  ### 自定义 header snippet
63
65
 
64
66
  ```svelte
65
- <Card {headerBar}>
67
+ <Card {header}>
66
68
  <p>内容</p>
67
69
  </Card>
68
70
 
69
- {#snippet headerBar()}
71
+ {#snippet header()}
70
72
  <header style="display:flex; align-items:center; gap:8px;">
71
73
  <i class="icon_google_star"></i>
72
74
  <strong>自定义标题</strong>
@@ -97,13 +99,13 @@ interface CardAction {
97
99
 
98
100
  ### 操作栏排布方式
99
101
 
100
- 当图标数量比较少时,`justify-content: space-between`(旧的固定行为)会把它们推到两端 —— 两个图标就变成一个在最左,一个在最右。`actionsAlign` 用来控制这个行为:
102
+ 当图标数量比较少时,`justify-content: space-between`(旧的固定行为)会把它们推到两端 —— 两个图标就变成一个在最左,一个在最右。`actions$align` 用来控制这个行为:
101
103
 
102
104
  - `'distribute'`(默认)—— 把整行按图标数量平分成若干等宽格子,每个图标在自己的格子里居中。等价于 `justify-content: space-around`;不管图标数量多少,都不会被拉到两端。
103
105
  - `'center'` / `'left'` / `'right'` —— 图标之间保持固定间距(`actionsGap`,默认回退到 `--uniface-spacing-actionbar`),整组图标作为一个整体在底栏里居中 / 左对齐 / 右对齐。
104
106
 
105
107
  ```svelte
106
- <Card title="项目详情" {actions} data={cardData} actionsAlign="center" actionsGap="24px">
108
+ <Card title="项目详情" {actions} data={cardData} actions$align="center" actionsGap="24px">
107
109
  ...
108
110
  </Card>
109
111
  ```
@@ -1,4 +1,5 @@
1
1
  import Card from "./Card.svelte";
2
2
  import type CardAction from "./CardAction";
3
+ import type { ActionHandler, CardActionsAlign } from "./CardAction";
3
4
  export default Card;
4
- export type { CardAction };
5
+ export type { CardAction, ActionHandler, CardActionsAlign };
@@ -6,10 +6,4 @@ export default interface Column {
6
6
  weight?: number;
7
7
  formatter?: (value: any) => string;
8
8
  renderHTML?: boolean;
9
- /**
10
- * @deprecated Use renderHTML instead; "escapeHTML" reads as "this escapes HTML"
11
- * when it actually means the opposite — true renders raw, trusted HTML. Still
12
- * honored as a fallback for existing callers.
13
- */
14
- escapeHTML?: boolean;
15
9
  }
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import {onMount, tick} from 'svelte';
3
3
  import DataRow from "./DataRow.svelte";
4
- import {type RowClickHandler, type TableOptions} from "./TableOptions";
4
+ import {type OnRowClick, type TableOptions} from "./TableOptions";
5
5
  import utils from "./utils";
6
6
  import type Column from "./Column";
7
7
 
@@ -10,7 +10,8 @@
10
10
  columns: Array<Column>;
11
11
  autoScroll?: boolean;
12
12
  scrollInterval?: number;
13
- rowClickHandler?: RowClickHandler | null;
13
+ /** 行点击回调 */
14
+ onRowClick?: OnRowClick | null;
14
15
  options?: TableOptions;
15
16
  style?: string;
16
17
  class?: string;
@@ -23,7 +24,7 @@
23
24
  columns,
24
25
  autoScroll = false,
25
26
  scrollInterval = 2000,
26
- rowClickHandler = null,
27
+ onRowClick = null,
27
28
  options = {},
28
29
  style = '',
29
30
  class: className = '',
@@ -122,7 +123,7 @@
122
123
  });
123
124
 
124
125
  const handleRowClick = (row: any) => () => {
125
- rowClickHandler?.(row);
126
+ onRowClick?.(row);
126
127
  }
127
128
 
128
129
  const handleTableFocus = (event: FocusEvent) => {
@@ -133,7 +134,7 @@
133
134
  onblur?.(event);
134
135
  }
135
136
 
136
- export function setFocus() {
137
+ export function focus() {
137
138
  const firstRow = tableContainer?.querySelector('.table-body .table-row');
138
139
  if (firstRow) {
139
140
  setTimeout(() => {