@ticatec/uniface-element 5.0.4 → 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 (411) hide show
  1. package/README.md +14 -13
  2. package/README_CN.md +17 -15
  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/DateContext.d.ts +1 -0
  12. package/dist/base-calendar/DateContext.js +5 -8
  13. package/dist/base-calendar/MonthlyCalendar.svelte +11 -3
  14. package/dist/base-calendar/MonthlyCalendar.svelte.d.ts +1 -2
  15. package/dist/base-calendar/YearPickupPanel.svelte +5 -5
  16. package/dist/base-calendar/YearPickupPanel.svelte.d.ts +2 -2
  17. package/dist/base-calendar/dateUtils.js +9 -5
  18. package/dist/composite/pagination_panel/PaginationPanel.svelte +19 -13
  19. package/dist/composite/pagination_panel/PaginationPanel.svelte.d.ts +8 -5
  20. package/dist/composite/pagination_panel/README.md +3 -1
  21. package/dist/composite/pagination_panel/README_CN.md +3 -1
  22. package/dist/composite/transfer/Transfer.svelte +30 -16
  23. package/dist/composite/transfer/Transfer.svelte.d.ts +11 -4
  24. package/dist/composite/transfer/index.d.ts +2 -2
  25. package/dist/data_display/accordion/Accordion.svelte +10 -9
  26. package/dist/data_display/accordion/Accordion.svelte.d.ts +2 -1
  27. package/dist/data_display/accordion/AccordionItemView.svelte +6 -6
  28. package/dist/data_display/accordion/AccordionItemView.svelte.d.ts +1 -1
  29. package/dist/data_display/accordion/README.md +6 -4
  30. package/dist/data_display/accordion/README_CN.md +6 -4
  31. package/dist/data_display/card/Card.svelte +13 -11
  32. package/dist/data_display/card/Card.svelte.d.ts +5 -3
  33. package/dist/data_display/card/CardAction.d.ts +7 -2
  34. package/dist/data_display/card/CommonCardActionBar.svelte +2 -2
  35. package/dist/data_display/card/README.md +11 -9
  36. package/dist/data_display/card/README_CN.md +11 -9
  37. package/dist/data_display/card/index.d.ts +2 -1
  38. package/dist/data_display/concise_data_table/Column.d.ts +0 -6
  39. package/dist/data_display/concise_data_table/ConciseListTable.svelte +6 -5
  40. package/dist/data_display/concise_data_table/ConciseListTable.svelte.d.ts +4 -3
  41. package/dist/data_display/concise_data_table/DataCell.svelte +1 -1
  42. package/dist/data_display/concise_data_table/README.md +7 -5
  43. package/dist/data_display/concise_data_table/README_CN.md +7 -5
  44. package/dist/data_display/concise_data_table/TableOptions.d.ts +1 -1
  45. package/dist/data_display/list_box/ListBox.svelte +11 -15
  46. package/dist/data_display/list_box/ListBox.svelte.d.ts +6 -9
  47. package/dist/data_display/list_box/README.md +10 -8
  48. package/dist/data_display/list_box/README_CN.md +10 -8
  49. package/dist/data_display/list_box/index.d.ts +2 -3
  50. package/dist/data_display/tree_view/README.md +4 -2
  51. package/dist/data_display/tree_view/README_CN.md +4 -2
  52. package/dist/data_display/tree_view/TreeNodeView.svelte +15 -16
  53. package/dist/data_display/tree_view/TreeNodeView.svelte.d.ts +4 -5
  54. package/dist/data_display/tree_view/TreeView.svelte +27 -19
  55. package/dist/data_display/tree_view/TreeView.svelte.d.ts +12 -4
  56. package/dist/data_display/tree_view/index.d.ts +2 -3
  57. package/dist/data_table/DataTable.svelte +46 -15
  58. package/dist/data_table/DataTable.svelte.d.ts +9 -1
  59. package/dist/data_table/README.md +10 -8
  60. package/dist/data_table/README_CN.md +10 -8
  61. package/dist/data_table/UniDataTable.d.ts +4 -4
  62. package/dist/data_table/UniDataTable.js +2 -2
  63. package/dist/data_table/index.d.ts +5 -5
  64. package/dist/data_table/lib/CellAction.d.ts +9 -0
  65. package/dist/data_table/lib/CommonHeaderCell.d.ts +2 -2
  66. package/dist/data_table/lib/CompareFn.d.ts +3 -0
  67. package/dist/data_table/lib/DataColumn.d.ts +7 -12
  68. package/dist/data_table/lib/FormatCellFn.d.ts +2 -0
  69. package/dist/data_table/lib/HrefLink.d.ts +3 -3
  70. package/dist/data_table/lib/IndicatorColumn.d.ts +2 -1
  71. package/dist/data_table/lib/RowAction.d.ts +14 -20
  72. package/dist/data_table/lib/virtualWindow.d.ts +37 -0
  73. package/dist/data_table/lib/virtualWindow.js +41 -0
  74. package/dist/data_table/parts/ActionCell.svelte +3 -3
  75. package/dist/data_table/parts/ActionCell.svelte.d.ts +1 -1
  76. package/dist/data_table/parts/ActionsPanel.svelte +17 -2
  77. package/dist/data_table/parts/ActionsPanel.svelte.d.ts +3 -0
  78. package/dist/data_table/parts/ActionsRow.svelte +7 -5
  79. package/dist/data_table/parts/ContentPanel.svelte +40 -15
  80. package/dist/data_table/parts/ContentPanel.svelte.d.ts +11 -6
  81. package/dist/data_table/parts/FixedColumnsPanel.svelte +32 -16
  82. package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +8 -5
  83. package/dist/data_table/parts/FixedHeaderPanel.svelte +14 -15
  84. package/dist/data_table/parts/FixedHeaderPanel.svelte.d.ts +4 -4
  85. package/dist/data_table/parts/FixedRow.svelte +9 -9
  86. package/dist/data_table/parts/FixedRow.svelte.d.ts +3 -3
  87. package/dist/data_table/parts/HrefCell.svelte +1 -1
  88. package/dist/data_table/parts/PopupMenu.svelte +3 -3
  89. package/dist/data_table/parts/PopupMenu.svelte.d.ts +1 -1
  90. package/dist/data_table/parts/TableHeaderPanel.svelte +14 -14
  91. package/dist/data_table/parts/TableHeaderPanel.svelte.d.ts +4 -4
  92. package/dist/data_table/parts/TextCell.svelte +1 -1
  93. package/dist/feedback/progress-bar/ProgressBar.svelte +13 -10
  94. package/dist/feedback/progress-bar/ProgressBar.svelte.d.ts +6 -3
  95. package/dist/form/FormEditor.svelte +2 -2
  96. package/dist/form/FormEditor.svelte.d.ts +1 -1
  97. package/dist/form/attachment_files/AttachmentEditor.svelte +407 -92
  98. package/dist/form/attachment_files/AttachmentEditor.svelte.d.ts +71 -15
  99. package/dist/form/attachment_files/AttachmentFile.d.ts +35 -8
  100. package/dist/form/attachment_files/AttachmentFile.js +54 -29
  101. package/dist/form/attachment_files/AttachmentListItem.svelte +208 -0
  102. package/dist/form/attachment_files/AttachmentListItem.svelte.d.ts +25 -0
  103. package/dist/form/attachment_files/AttachmentTile.svelte +296 -0
  104. package/dist/form/attachment_files/AttachmentTile.svelte.d.ts +25 -0
  105. package/dist/form/attachment_files/FileUpload.d.ts +2 -2
  106. package/dist/form/attachment_files/README.md +71 -452
  107. package/dist/form/attachment_files/README_CN.md +68 -449
  108. package/dist/form/attachment_files/UploadTask.d.ts +27 -0
  109. package/dist/form/attachment_files/index.d.ts +8 -5
  110. package/dist/form/attachment_files/index.js +4 -2
  111. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +16 -15
  112. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte.d.ts +6 -5
  113. package/dist/form/cascade_options_select/IsLeaf.d.ts +4 -0
  114. package/dist/form/cascade_options_select/IsLeaf.js +1 -0
  115. package/dist/form/cascade_options_select/OptionsBox.svelte +4 -4
  116. package/dist/form/cascade_options_select/OptionsBox.svelte.d.ts +2 -2
  117. package/dist/form/color_picker/ColorPicker.svelte +3 -3
  118. package/dist/form/color_picker/ColorPickerPanel.svelte +1 -1
  119. package/dist/form/common_editor/BasePicker.svelte +7 -7
  120. package/dist/form/common_editor/BasePicker.svelte.d.ts +3 -3
  121. package/dist/form/common_editor/CommonEditor.svelte +8 -8
  122. package/dist/form/common_editor/CommonEditor.svelte.d.ts +2 -2
  123. package/dist/form/common_editor/CommonPicker.svelte +43 -31
  124. package/dist/form/common_editor/CommonPicker.svelte.d.ts +6 -6
  125. package/dist/form/common_editor/CommonPickerProps.d.ts +2 -2
  126. package/dist/form/common_editor/CommonPopupEditor.svelte +13 -13
  127. package/dist/form/common_editor/CommonPopupEditor.svelte.d.ts +3 -4
  128. package/dist/form/common_editor/NumberInput.svelte +10 -2
  129. package/dist/form/common_editor/NumberInput.svelte.d.ts +1 -1
  130. package/dist/form/common_range_editor/CommonRangeEditor.svelte +17 -17
  131. package/dist/form/common_range_editor/CommonRangeEditor.svelte.d.ts +5 -5
  132. package/dist/form/date_picker/DatePicker.svelte +5 -5
  133. package/dist/form/date_picker/DatePicker.svelte.d.ts +1 -1
  134. package/dist/form/date_picker/DateTimePicker.svelte +16 -6
  135. package/dist/form/date_picker/README.md +7 -5
  136. package/dist/form/date_picker/README_CN.md +7 -5
  137. package/dist/form/date_picker/ScrollBar.svelte +21 -20
  138. package/dist/form/date_picker/ScrollBar.svelte.d.ts +3 -3
  139. package/dist/form/date_range/DateRangeEditor.svelte +6 -6
  140. package/dist/form/events.d.ts +70 -0
  141. package/dist/form/events.js +6 -0
  142. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +9 -7
  143. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte.d.ts +4 -3
  144. package/dist/form/group_box/group-check-box/README.md +5 -3
  145. package/dist/form/group_box/group-check-box/README_CN.md +5 -3
  146. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +9 -7
  147. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte.d.ts +4 -3
  148. package/dist/form/group_box/group-radio-box/README.md +3 -1
  149. package/dist/form/group_box/group-radio-box/README_CN.md +3 -1
  150. package/dist/form/image_editor/ImageEditor.svelte +118 -0
  151. package/dist/form/image_editor/ImageEditor.svelte.d.ts +52 -0
  152. package/dist/form/image_editor/ImageFile.d.ts +11 -0
  153. package/dist/form/image_editor/ImageFile.js +1 -0
  154. package/dist/form/{image-files → image_editor}/ImagePreview.svelte +10 -2
  155. package/dist/form/image_editor/README.md +89 -0
  156. package/dist/form/image_editor/README_CN.md +89 -0
  157. package/dist/form/image_editor/index.d.ts +11 -0
  158. package/dist/form/image_editor/index.js +4 -0
  159. package/dist/form/input_options_select/InputOptionsSelect.svelte +11 -8
  160. package/dist/form/input_options_select/InputOptionsSelect.svelte.d.ts +2 -1
  161. package/dist/form/input_options_select/README.md +44 -218
  162. package/dist/form/input_options_select/README_CN.md +38 -211
  163. package/dist/form/lookup_editor/LookupEditor.svelte +7 -10
  164. package/dist/form/lookup_editor/LookupEditor.svelte.d.ts +2 -1
  165. package/dist/form/memo_editor/MemoEditor.svelte +2 -2
  166. package/dist/form/memo_editor/MemoEditor.svelte.d.ts +1 -1
  167. package/dist/form/number_editor/NumberEditor.svelte +13 -1
  168. package/dist/form/number_editor/NumberEditor.svelte.d.ts +1 -1
  169. package/dist/form/number_range/NumberRange.svelte +5 -5
  170. package/dist/form/options_multi_select/OptionsMultiSelect.svelte +13 -13
  171. package/dist/form/options_multi_select/OptionsMultiSelect.svelte.d.ts +3 -2
  172. package/dist/form/options_multi_select/README.md +5 -3
  173. package/dist/form/options_multi_select/README_CN.md +5 -3
  174. package/dist/form/options_select/OptionsSelect.svelte +19 -15
  175. package/dist/form/options_select/OptionsSelect.svelte.d.ts +2 -1
  176. package/dist/form/options_select/README.md +9 -7
  177. package/dist/form/options_select/README_CN.md +8 -6
  178. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +6 -5
  179. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte.d.ts +2 -1
  180. package/dist/form/prompts_text_editor/README.md +16 -14
  181. package/dist/form/prompts_text_editor/README_CN.md +16 -14
  182. package/dist/form/search_box/SearchBox.svelte +3 -2
  183. package/dist/form/search_box/SearchBox.svelte.d.ts +1 -1
  184. package/dist/form/switch/README.md +7 -5
  185. package/dist/form/switch/README_CN.md +7 -5
  186. package/dist/form/switch/Switch.svelte +7 -5
  187. package/dist/form/switch/Switch.svelte.d.ts +4 -2
  188. package/dist/form/text_editor/PasswordEditor.svelte +2 -2
  189. package/dist/form/text_editor/PasswordEditor.svelte.d.ts +1 -1
  190. package/dist/form/text_editor/TextEditor.svelte +6 -4
  191. package/dist/form/text_editor/TextEditor.svelte.d.ts +1 -1
  192. package/dist/form/time_editor/README.md +4 -2
  193. package/dist/form/time_editor/README_CN.md +4 -2
  194. package/dist/form/time_editor/TimeEditor.svelte +10 -7
  195. package/dist/form/time_editor/TimeEditor.svelte.d.ts +2 -1
  196. package/dist/form/types.d.ts +5 -42
  197. package/dist/form/unit-number-editor/README.md +21 -19
  198. package/dist/form/unit-number-editor/README_CN.md +21 -19
  199. package/dist/form/unit-number-editor/UnitNumberEditor.svelte +12 -11
  200. package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +4 -3
  201. package/dist/general/button/Button.svelte +4 -1
  202. package/dist/general/button/Button.svelte.d.ts +3 -1
  203. package/dist/general/button/IconButton.svelte +11 -5
  204. package/dist/general/button/IconButton.svelte.d.ts +5 -2
  205. package/dist/general/button/IconButton_README.md +9 -6
  206. package/dist/general/button/IconButton_README_CN.md +9 -6
  207. package/dist/general/button/TextButton.svelte +15 -5
  208. package/dist/general/button/TextButton.svelte.d.ts +6 -2
  209. package/dist/general/button/TextButton_README.md +10 -6
  210. package/dist/general/button/TextButton_README_CN.md +10 -6
  211. package/dist/general/icon/Icon.svelte +6 -4
  212. package/dist/general/icon/Icon.svelte.d.ts +3 -2
  213. package/dist/general/tag/Tag.svelte +8 -4
  214. package/dist/general/tag/Tag.svelte.d.ts +3 -1
  215. package/dist/i18nRes/i18nRes.d.ts +45 -2
  216. package/dist/i18nRes/i18nRes.js +7 -2
  217. package/dist/layouts/action_bar/ActionBar.svelte +5 -4
  218. package/dist/layouts/action_bar/ActionBar.svelte.d.ts +2 -1
  219. package/dist/layouts/action_bar/ButtonAction.d.ts +1 -23
  220. package/dist/layouts/action_bar/README.md +20 -18
  221. package/dist/layouts/action_bar/README_CN.md +19 -17
  222. package/dist/layouts/box/Box.svelte +4 -3
  223. package/dist/layouts/box/Box.svelte.d.ts +2 -1
  224. package/dist/layouts/box/README.md +13 -11
  225. package/dist/layouts/box/README_CN.md +13 -11
  226. package/dist/layouts/form_field/FormField.svelte +5 -4
  227. package/dist/layouts/form_field/FormField.svelte.d.ts +3 -2
  228. package/dist/layouts/form_field/README.md +11 -9
  229. package/dist/layouts/form_field/README_CN.md +9 -7
  230. package/dist/layouts/form_panel/flex_row_form/Cell.svelte +3 -1
  231. package/dist/layouts/form_panel/flex_row_form/Cell.svelte.d.ts +3 -1
  232. package/dist/layouts/form_panel/flex_row_form/Row.svelte +3 -1
  233. package/dist/layouts/form_panel/flex_row_form/Row.svelte.d.ts +3 -1
  234. package/dist/layouts/form_panel/grid_form/GridField.svelte +8 -4
  235. package/dist/layouts/form_panel/grid_form/GridField.svelte.d.ts +6 -2
  236. package/dist/layouts/form_panel/grid_form/GridForm.svelte +3 -1
  237. package/dist/layouts/form_panel/grid_form/GridForm.svelte.d.ts +3 -1
  238. package/dist/layouts/form_panel/grid_form/README.md +6 -4
  239. package/dist/layouts/form_panel/grid_form/README_CN.md +6 -4
  240. package/dist/layouts/page/Page.svelte +7 -7
  241. package/dist/layouts/page/Page.svelte.d.ts +2 -2
  242. package/dist/layouts/page/PageHeader.svelte +4 -4
  243. package/dist/layouts/page/PageHeader.svelte.d.ts +1 -1
  244. package/dist/layouts/page/README.md +18 -18
  245. package/dist/layouts/page/README_CN.md +18 -18
  246. package/dist/navigation/nav_menu/MenuItem.d.ts +1 -1
  247. package/dist/navigation/nav_menu/NavigatorMenu.svelte +16 -14
  248. package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +7 -5
  249. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +2 -2
  250. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +2 -2
  251. package/dist/navigation/nav_menu/README.md +8 -6
  252. package/dist/navigation/nav_menu/README_CN.md +8 -6
  253. package/dist/navigation/nav_menu/index.d.ts +2 -2
  254. package/dist/navigation/navigator/Navigator.svelte +5 -4
  255. package/dist/navigation/navigator/Navigator.svelte.d.ts +3 -2
  256. package/dist/navigation/navigator/README.md +12 -10
  257. package/dist/navigation/navigator/README_CN.md +12 -10
  258. package/dist/navigation/pagination/Pagination.svelte +23 -15
  259. package/dist/navigation/pagination/Pagination.svelte.d.ts +6 -4
  260. package/dist/navigation/progress_step_bar/ProgressStep.d.ts +2 -1
  261. package/dist/navigation/progress_step_bar/ProgressStepBar.svelte +5 -4
  262. package/dist/navigation/progress_step_bar/ProgressStepBar.svelte.d.ts +2 -1
  263. package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +3 -3
  264. package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte.d.ts +1 -1
  265. package/dist/navigation/progress_step_bar/README.md +37 -35
  266. package/dist/navigation/progress_step_bar/README_CN.md +36 -34
  267. package/dist/navigation/tabs/Tabs.svelte +14 -5
  268. package/dist/navigation/tabs/Tabs.svelte.d.ts +11 -4
  269. package/dist/navigation/tabs/index.d.ts +2 -2
  270. package/dist/overlay/common/ModalPopover.svelte +5 -4
  271. package/dist/overlay/common/ModalPopover.svelte.d.ts +2 -1
  272. package/dist/overlay/common/Popover.svelte +4 -3
  273. package/dist/overlay/common/Popover.svelte.d.ts +2 -1
  274. package/dist/overlay/context-menu/ContextMenuItem.d.ts +3 -3
  275. package/dist/overlay/context-menu/ContextMenuPanel.svelte +4 -4
  276. package/dist/overlay/context-menu/index.d.ts +2 -2
  277. package/dist/overlay/dialog/CommonDialog.svelte +17 -13
  278. package/dist/overlay/dialog/CommonDialog.svelte.d.ts +9 -5
  279. package/dist/overlay/dialog/Dialog.svelte +25 -19
  280. package/dist/overlay/dialog/Dialog.svelte.d.ts +11 -5
  281. package/dist/overlay/dialog/DialogActions.d.ts +1 -1
  282. package/dist/overlay/dialog/DialogCloseConfirm.d.ts +4 -1
  283. package/dist/overlay/dialog/DialogCloseConfirm.js +1 -1
  284. package/dist/overlay/dialog/DialogManager.svelte.js +2 -1
  285. package/dist/overlay/dialog/README.md +19 -17
  286. package/dist/overlay/dialog/README_CN.md +19 -17
  287. package/dist/overlay/dialog/index.d.ts +2 -2
  288. package/dist/overlay/message-box/IMessageBox.d.ts +4 -4
  289. package/dist/overlay/message-box/MessageBox.svelte.js +3 -3
  290. package/dist/ticatec-uniface-web.css +38 -12
  291. package/dist/types.d.ts +38 -46
  292. package/dist/unifaceContext.d.ts +2 -2
  293. package/dist/utils/prefixFilter.js +0 -1
  294. package/docs/NAMING.md +362 -0
  295. package/docs/NAMING_CN.md +362 -0
  296. package/docs/components/README.md +16 -14
  297. package/docs/components/accordion/README.md +13 -2
  298. package/docs/components/accordion/example.svelte +1 -0
  299. package/docs/components/action-bar/README.md +4 -4
  300. package/docs/components/attachment-editor/README.md +224 -0
  301. package/docs/components/attachment-editor/example.svelte +22 -0
  302. package/docs/components/box/README.md +1 -1
  303. package/docs/components/button/README.md +8 -1
  304. package/docs/components/button/example.svelte +1 -0
  305. package/docs/components/card/README.md +19 -5
  306. package/docs/components/cascade-options-select/README.md +11 -5
  307. package/docs/components/columns-layout/README.md +8 -4
  308. package/docs/components/columns-layout/example.svelte +4 -0
  309. package/docs/components/common-dialog/README.md +19 -10
  310. package/docs/components/common-dialog/example.svelte +2 -1
  311. package/docs/components/concise-data-table/README.md +18 -29
  312. package/docs/components/concise-data-table/example.svelte +1 -1
  313. package/docs/components/context-menu/README.md +5 -5
  314. package/docs/components/context-menu/example.svelte +1 -1
  315. package/docs/components/criteria-field/README.md +1 -0
  316. package/docs/components/criteria-field/example.svelte +1 -0
  317. package/docs/components/data-table/README.md +63 -40
  318. package/docs/components/data-table/example.svelte +2 -2
  319. package/docs/components/date-picker/README.md +1 -1
  320. package/docs/components/date-time-picker/README.md +1 -1
  321. package/docs/components/dialog/README.md +21 -14
  322. package/docs/components/dialog/example.svelte +1 -1
  323. package/docs/components/form-field/README.md +3 -3
  324. package/docs/components/grid-form/README.md +15 -5
  325. package/docs/components/grid-form/example.svelte +1 -1
  326. package/docs/components/group-check-box/README.md +3 -3
  327. package/docs/components/group-radio-box/README.md +3 -3
  328. package/docs/components/icon/README.md +6 -5
  329. package/docs/components/icon-button/README.md +10 -1
  330. package/docs/components/icon-button/example.svelte +1 -0
  331. package/docs/components/image-editor/README.md +262 -0
  332. package/docs/components/{image-files → image-editor}/example.svelte +5 -3
  333. package/docs/components/input-options-select/README.md +2 -2
  334. package/docs/components/list-box/README.md +12 -13
  335. package/docs/components/list-box/example.svelte +3 -3
  336. package/docs/components/lookup-editor/README.md +1 -1
  337. package/docs/components/navigator/README.md +2 -1
  338. package/docs/components/navigator/example.svelte +1 -0
  339. package/docs/components/navigator-menu/README.md +24 -21
  340. package/docs/components/navigator-menu/example.svelte +4 -2
  341. package/docs/components/options-multi-select/README.md +2 -2
  342. package/docs/components/options-select/README.md +4 -4
  343. package/docs/components/page/README.md +2 -2
  344. package/docs/components/page-stack/README.md +67 -0
  345. package/docs/components/page-stack/example.svelte +7 -0
  346. package/docs/components/pagination/README.md +24 -7
  347. package/docs/components/pagination/example.svelte +5 -2
  348. package/docs/components/pagination-panel/README.md +25 -10
  349. package/docs/components/pagination-panel/example.svelte +5 -4
  350. package/docs/components/password-editor/README.md +128 -0
  351. package/docs/components/{attachment-files → password-editor}/example.svelte +5 -5
  352. package/docs/components/progress-bar/README.md +14 -4
  353. package/docs/components/progress-bar/example.svelte +1 -1
  354. package/docs/components/progress-step-bar/README.md +16 -7
  355. package/docs/components/progress-step-bar/example.svelte +5 -1
  356. package/docs/components/prompts-text-editor/README.md +8 -6
  357. package/docs/components/prompts-text-editor/example.svelte +0 -1
  358. package/docs/components/rows-layout/README.md +8 -4
  359. package/docs/components/rows-layout/example.svelte +4 -0
  360. package/docs/components/switch/README.md +2 -2
  361. package/docs/components/tabs/README.md +24 -9
  362. package/docs/components/tag/README.md +13 -2
  363. package/docs/components/tag/example.svelte +1 -0
  364. package/docs/components/text-button/README.md +20 -1
  365. package/docs/components/text-button/example.svelte +2 -0
  366. package/docs/components/time-editor/README.md +1 -1
  367. package/docs/components/transfer/README.md +16 -9
  368. package/docs/components/tree-view/README.md +29 -13
  369. package/docs/components/tree-view/example.svelte +2 -1
  370. package/docs/components/unit-number-editor/README.md +11 -8
  371. package/docs/components/unit-number-editor/example.svelte +0 -1
  372. package/package.json +13 -7
  373. package/dist/data_table/lib/CompareFunction.d.ts +0 -3
  374. package/dist/data_table/lib/FormatCell.d.ts +0 -2
  375. package/dist/form/attachment_files/FileRender.svelte +0 -125
  376. package/dist/form/attachment_files/FileRender.svelte.d.ts +0 -9
  377. package/dist/form/attachment_files/FileUploadBar.svelte +0 -66
  378. package/dist/form/attachment_files/FileUploadBar.svelte.d.ts +0 -8
  379. package/dist/form/attachment_files/FileUploadPanel.svelte +0 -161
  380. package/dist/form/attachment_files/FileUploadPanel.svelte.d.ts +0 -14
  381. package/dist/form/attachment_files/UploadFile.d.ts +0 -43
  382. package/dist/form/attachment_files/UploadFile.js +0 -80
  383. package/dist/form/cascade_options_select/CascadePanel.svelte +0 -52
  384. package/dist/form/cascade_options_select/CascadePanel.svelte.d.ts +0 -26
  385. package/dist/form/cascade_options_select/isLeafDetermine.d.ts +0 -4
  386. package/dist/form/common_editor/EditorEvents.d.ts +0 -14
  387. package/dist/form/common_editor/EditorEvents.js +0 -2
  388. package/dist/form/image-files/ImageFile.d.ts +0 -12
  389. package/dist/form/image-files/ImageFilesField.svelte +0 -128
  390. package/dist/form/image-files/ImageFilesField.svelte.d.ts +0 -18
  391. package/dist/form/image-files/ImageRender.svelte +0 -95
  392. package/dist/form/image-files/ImageRender.svelte.d.ts +0 -10
  393. package/dist/form/image-files/README.md +0 -468
  394. package/dist/form/image-files/README_CN.md +0 -468
  395. package/dist/form/image-files/index.d.ts +0 -10
  396. package/dist/form/image-files/index.js +0 -2
  397. package/dist/layout/flex/FlexBlock.svelte +0 -17
  398. package/dist/layout/flex/FlexBlock.svelte.d.ts +0 -38
  399. package/dist/layout/flex/README.md +0 -148
  400. package/dist/layout/flex/README_CN.md +0 -148
  401. package/dist/layout/flex/index.d.ts +0 -2
  402. package/dist/layout/flex/index.js +0 -2
  403. package/dist/layout/index.d.ts +0 -0
  404. package/dist/layout/index.js +0 -1
  405. package/docs/components/attachment-files/README.md +0 -332
  406. package/docs/components/image-files/README.md +0 -174
  407. /package/dist/data_table/lib/{FormatCell.js → CellAction.js} +0 -0
  408. /package/dist/data_table/lib/{CompareFunction.js → CompareFn.js} +0 -0
  409. /package/dist/{form/cascade_options_select/isLeafDetermine.js → data_table/lib/FormatCellFn.js} +0 -0
  410. /package/dist/form/{image-files/ImageFile.js → attachment_files/UploadTask.js} +0 -0
  411. /package/dist/form/{image-files → image_editor}/ImagePreview.svelte.d.ts +0 -0
@@ -10,7 +10,8 @@ interface Props {
10
10
  error?: string;
11
11
  value?: number;
12
12
  unitCode?: string;
13
- units: Array<UnitOption>;
13
+ /** 可选单位列表 */
14
+ options?: Array<UnitOption>;
14
15
  disabled?: boolean;
15
16
  readonly?: boolean;
16
17
  prefix?: string;
@@ -18,8 +19,8 @@ interface Props {
18
19
  menu$height?: number;
19
20
  placeholder?: string;
20
21
  onchange?: (value: number | undefined) => void;
21
- onfocus?: (e: FocusEvent) => void;
22
- onblur?: (e: FocusEvent) => void;
22
+ onfocus?: (event: FocusEvent) => void;
23
+ onblur?: (event: FocusEvent) => void;
23
24
  leadingIcon?: Snippet;
24
25
  }
25
26
  declare const UnitNumberEditor: import("svelte").Component<Props, {
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ import type {Size} from "../../types";
2
3
  import type { Snippet } from 'svelte';
3
4
  import type { ButtonType } from '../../types';
4
5
 
@@ -9,7 +10,8 @@
9
10
  variant?: 'plain' | 'round' | '';
10
11
  disabled?: boolean;
11
12
  style?: string;
12
- size?: 'big' | 'medium' | 'small';
13
+ /** 尺寸档位 */
14
+ size?: Size;
13
15
  onclick?: (event: MouseEvent) => void;
14
16
  autofocus?: boolean;
15
17
  icon?: string | null;
@@ -35,6 +37,7 @@
35
37
  children
36
38
  }: Props = $props();
37
39
 
40
+
38
41
  const handleClick = (e: MouseEvent) => {
39
42
  if (disabled) {
40
43
  e.preventDefault();
@@ -1,3 +1,4 @@
1
+ import type { Size } from "../../types";
1
2
  import type { Snippet } from 'svelte';
2
3
  import type { ButtonType } from '../../types';
3
4
  interface Props {
@@ -7,7 +8,8 @@ interface Props {
7
8
  variant?: 'plain' | 'round' | '';
8
9
  disabled?: boolean;
9
10
  style?: string;
10
- size?: 'big' | 'medium' | 'small';
11
+ /** 尺寸档位 */
12
+ size?: Size;
11
13
  onclick?: (event: MouseEvent) => void;
12
14
  autofocus?: boolean;
13
15
  icon?: string | null;
@@ -1,20 +1,23 @@
1
1
  <script lang="ts">
2
+ import type {Size} from "../../types";
2
3
  import type { Snippet } from 'svelte';
3
4
 
4
5
  type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
5
- type ButtonSize = 'big' | 'medium' | 'small';
6
6
 
7
7
  interface Props {
8
8
  type?: ButtonType;
9
9
  htmlType?: 'button' | 'submit' | 'reset';
10
10
  disabled?: boolean;
11
- size?: ButtonSize;
11
+ /** 尺寸档位 */
12
+ size?: Size;
12
13
  style?: string;
13
14
  icon?: string;
14
15
  tooltip?: string;
15
16
  onclick?: (event: MouseEvent) => void;
16
17
  theme?: string;
17
18
  children?: Snippet;
19
+ tabindex?: number;
20
+ outer?: boolean;
18
21
  }
19
22
 
20
23
  let {
@@ -27,9 +30,12 @@
27
30
  tooltip,
28
31
  onclick,
29
32
  theme,
30
- children
33
+ children,
34
+ tabindex = -1,
35
+ outer = true
31
36
  }: Props = $props();
32
37
 
38
+
33
39
  const handleClick = (e: MouseEvent) => {
34
40
  if (!disabled) {
35
41
  onclick?.(e);
@@ -42,8 +48,8 @@
42
48
 
43
49
  </script>
44
50
 
45
- <button type={htmlType} class="uniface-button icon-button {size} {type} {theme}" {style} class:disabled {disabled}
46
- tabindex={disabled ? -1 : 0} data-tip={disabled ? null : tooltip} onclick={handleClick}>
51
+ <button type={htmlType} class="uniface-button icon-button {size} {type} {theme}" class:outer class:no-outer={!outer} {style} class:disabled {disabled}
52
+ tabindex={disabled ? -1 : tabindex} data-tip={disabled ? null : tooltip} onclick={handleClick}>
47
53
  {#if children}
48
54
  {@render children()}
49
55
  {:else}
@@ -1,17 +1,20 @@
1
+ import type { Size } from "../../types";
1
2
  import type { Snippet } from 'svelte';
2
3
  type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
3
- type ButtonSize = 'big' | 'medium' | 'small';
4
4
  interface Props {
5
5
  type?: ButtonType;
6
6
  htmlType?: 'button' | 'submit' | 'reset';
7
7
  disabled?: boolean;
8
- size?: ButtonSize;
8
+ /** 尺寸档位 */
9
+ size?: Size;
9
10
  style?: string;
10
11
  icon?: string;
11
12
  tooltip?: string;
12
13
  onclick?: (event: MouseEvent) => void;
13
14
  theme?: string;
14
15
  children?: Snippet;
16
+ tabindex?: number;
17
+ outer?: boolean;
15
18
  }
16
19
  declare const IconButton: import("svelte").Component<Props, {}, "">;
17
20
  type IconButton = ReturnType<typeof IconButton>;
@@ -8,7 +8,7 @@ A specialized button component designed for icon-based actions, providing a clea
8
8
  - **Multiple Types**: Default, primary, secondary, third, and forth button styles
9
9
  - **Size Options**: Big, medium, and small sizes
10
10
  - **Tooltip Support**: Built-in tooltip via `data-tip` attribute with markdown support
11
- - **Keyboard Accessible**: Full Tab focus support with visible focus indicator
11
+ - **Keyboard Navigation**: Defaults to `tabindex={-1}` to avoid Tab stops during keyboard navigation; supports explicit `tabindex` override
12
12
  - **Event Handling**: Click event support
13
13
  - **Accessibility**: Proper semantic button element with disabled state
14
14
  - **Custom Styling**: Flexible style customization
@@ -44,6 +44,8 @@ const handleClick = (event) => {
44
44
  | `tooltip` | `string` | - | Tooltip text (supports markdown, use `\n` for line breaks) |
45
45
  | `onclick` | `(event: MouseEvent) => void` | - | Click event handler |
46
46
  | `children` | `Snippet` | - | Custom icon content snippet |
47
+ | `tabindex` | `number` | `-1` | Tab index (defaults to -1 so button does not take Tab focus) |
48
+ | `outer` | `boolean` | `true` | Whether to show outer frame/ring when focused or active (defaults to true; set to false to remove focus/active outer frame) |
47
49
 
48
50
  ## Button Types
49
51
 
@@ -386,15 +388,16 @@ const togglePlay = (event) => {
386
388
  The IconButton component follows accessibility best practices:
387
389
 
388
390
  - Uses semantic `<button>` element
389
- - Supports keyboard navigation (Tab, Enter, Space)
390
- - Proper disabled state handling (not focusable when disabled)
391
- - Visible focus indicator when navigating via keyboard
391
+ - By default sets `tabindex={-1}` so it does not take Tab keyboard focus, preventing unnecessary tab stops in toolbars and tables
392
+ - Supports explicit `tabindex` override (e.g. `tabindex={0}`) when Tab focus is desired
393
+ - Proper disabled state handling (always not focusable when disabled)
394
+ - Visible focus indicator when focused
392
395
 
393
396
  ### Keyboard Navigation
394
397
 
395
- - **Tab** - Move focus to/from button
398
+ - **Tab** - Bypassed by default (`tabindex={-1}`); when overridden to `0`, moves focus to/from button
396
399
  - **Enter / Space** - Activate button when focused
397
- - **Focus visible** - Shows an external border ring (4px) with a 3px transparent gap when focused via keyboard. The ring color matches the button's background color (primary=blue, secondary=red, etc.)
400
+ - **Focus visible** - Shows an external border ring (4px) with a 3px transparent gap when focused. The ring color matches the button's background color (primary=blue, secondary=red, etc.)
398
401
 
399
402
  ### Adding ARIA Labels
400
403
 
@@ -8,7 +8,7 @@
8
8
  - **多种类型**: 默认、主要、次要、第三级和第四级按钮样式
9
9
  - **尺寸选项**: 大、中、小三种尺寸
10
10
  - **工具提示支持**: 通过 `data-tip` 属性内置工具提示,支持 Markdown 格式
11
- - **键盘访问**: 完整的 Tab 键焦点支持,焦点状态可见
11
+ - **键盘导航**: 默认 `tabindex={-1}`,取消 Tab 键停留,不影响表单等场景的顺序 Tab 聚焦;支持显式传入 `tabindex` 覆盖
12
12
  - **事件处理**: 支持点击事件
13
13
  - **无障碍访问**: 使用语义化按钮元素,支持禁用状态
14
14
  - **自定义样式**: 灵活的样式定制
@@ -44,6 +44,8 @@ const handleClick = (event) => {
44
44
  | `tooltip` | `string` | - | 工具提示文本(支持Markdown,使用 `\n` 换行) |
45
45
  | `onclick` | `(event: MouseEvent) => void` | - | 点击事件处理器 |
46
46
  | `children` | `Snippet` | - | 自定义图标内容片段 |
47
+ | `tabindex` | `number` | `-1` | Tab 键导航顺序(默认为 -1,取消 Tab 键停留) |
48
+ | `outer` | `boolean` | `true` | focused / active 状态时是否带外框(默认为 true,设为 false 时去除聚焦/激活外框) |
47
49
 
48
50
  ## 按钮类型
49
51
 
@@ -386,15 +388,16 @@ const togglePlay = (event) => {
386
388
  IconButton 组件遵循无障碍访问最佳实践:
387
389
 
388
390
  - 使用语义化的 `<button>` 元素
389
- - 支持键盘导航(Tab、Enter、Space 键)
390
- - 正确的禁用状态处理(禁用时不可聚焦)
391
- - 键盘聚焦时显示可见的焦点指示器
391
+ - 默认设置 `tabindex={-1}`,不接收 Tab 键聚焦,避免在工具栏或表格中产生大量无谓的 Tab 停顿
392
+ - 支持按需显式指定 `tabindex`(例如 `tabindex={0}`)
393
+ - 正确的禁用状态处理(禁用时始终不可聚焦)
394
+ - 聚焦时显示可见的焦点指示器
392
395
 
393
396
  ### 键盘导航
394
397
 
395
- - **Tab** - 将焦点移入/移出按钮
398
+ - **Tab** - 默认跳过(`tabindex={-1}`);若显式指定为 `0` 则可将焦点移入/移出按钮
396
399
  - **Enter / Space** - 焦点在按钮上时激活
397
- - **焦点可见** - 键盘聚焦时显示外边框(4px),与按钮之间有 3px 透明间隙。外框颜色与按钮底色一致(primary 为蓝色、secondary 为红色等)
400
+ - **焦点可见** - 聚焦时显示外边框(4px),与按钮之间有 3px 透明间隙。外框颜色与按钮底色一致(primary 为蓝色、secondary 为红色等)
398
401
 
399
402
  ### 添加 ARIA 标签
400
403
 
@@ -1,12 +1,13 @@
1
1
  <script lang="ts">
2
+ import type {Size} from "../../types";
2
3
  import type { Snippet } from 'svelte';
3
4
 
4
5
  type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
5
- type ButtonSize = 'big' | 'medium' | 'small';
6
6
 
7
7
  interface Props {
8
8
  disabled?: boolean;
9
- size?: ButtonSize;
9
+ /** 尺寸档位 */
10
+ size?: Size;
10
11
  label?: string;
11
12
  type?: ButtonType;
12
13
  htmlType?: 'button' | 'submit' | 'reset';
@@ -15,6 +16,9 @@
15
16
  theme?: string;
16
17
  tooltip?: string;
17
18
  children?: Snippet;
19
+ tabindex?: number;
20
+ outer?: boolean;
21
+ variant?: 'plain' | 'round' | '';
18
22
  }
19
23
 
20
24
  let {
@@ -27,9 +31,13 @@
27
31
  style = '',
28
32
  theme,
29
33
  tooltip,
30
- children
34
+ children,
35
+ tabindex = -1,
36
+ outer = true,
37
+ variant = 'round'
31
38
  }: Props = $props();
32
39
 
40
+
33
41
  let enableClick = $state(true);
34
42
 
35
43
  const handleClick = (e: MouseEvent) => {
@@ -48,11 +56,13 @@
48
56
 
49
57
  <button
50
58
  type={htmlType}
51
- class="uniface-button text-button {size} {type} {theme}"
59
+ class="uniface-button text-button {variant} {size} {type} {theme}"
60
+ class:outer
61
+ class:no-outer={!outer}
52
62
  {style}
53
63
  class:disabled
54
64
  {disabled}
55
- tabindex={disabled ? -1 : 0}
65
+ tabindex={disabled ? -1 : tabindex}
56
66
  data-tip={disabled ? null : tooltip}
57
67
  onclick={handleClick}
58
68
  >
@@ -1,9 +1,10 @@
1
+ import type { Size } from "../../types";
1
2
  import type { Snippet } from 'svelte';
2
3
  type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
3
- type ButtonSize = 'big' | 'medium' | 'small';
4
4
  interface Props {
5
5
  disabled?: boolean;
6
- size?: ButtonSize;
6
+ /** 尺寸档位 */
7
+ size?: Size;
7
8
  label?: string;
8
9
  type?: ButtonType;
9
10
  htmlType?: 'button' | 'submit' | 'reset';
@@ -12,6 +13,9 @@ interface Props {
12
13
  theme?: string;
13
14
  tooltip?: string;
14
15
  children?: Snippet;
16
+ tabindex?: number;
17
+ outer?: boolean;
18
+ variant?: 'plain' | 'round' | '';
15
19
  }
16
20
  declare const TextButton: import("svelte").Component<Props, {}, "">;
17
21
  type TextButton = ReturnType<typeof TextButton>;
@@ -8,7 +8,7 @@ A minimalist text-based button component designed for subtle actions, navigation
8
8
  - **Multiple Types**: Default, primary, secondary, third, and forth button styles
9
9
  - **Size Options**: Big, medium, and small sizes
10
10
  - **Tooltip Support**: Built-in tooltip via `data-tip` attribute with markdown support
11
- - **Keyboard Accessible**: Full Tab focus support with visible focus indicator
11
+ - **Keyboard Navigation**: Defaults to `tabindex={-1}` to avoid Tab stops during keyboard navigation; supports explicit `tabindex` override
12
12
  - **Event Handling**: Click event support
13
13
  - **Accessibility**: Proper semantic button element with disabled state
14
14
  - **Custom Styling**: Flexible style customization
@@ -44,6 +44,9 @@ const handleClick = (event) => {
44
44
  | `theme` | `string` | - | Theme variant |
45
45
  | `tooltip` | `string` | - | Tooltip text (supports markdown, use `\n` for line breaks) |
46
46
  | `children` | `Snippet` | - | Custom content snippet |
47
+ | `tabindex` | `number` | `-1` | Tab index (defaults to -1 so button does not take Tab focus) |
48
+ | `outer` | `boolean` | `true` | Whether to show outer frame/ring when focused or active (defaults to true; set to false to remove focus/active outer frame) |
49
+ | `variant` | `'plain' \| 'round' \| ''` | `'round'` | Button shape variant (defaults to `'round'` for pill-shaped outer frame; `'plain'` for rectangular) |
47
50
 
48
51
  ## Button Types
49
52
 
@@ -428,15 +431,16 @@ const toggleDropdown = (event) => {
428
431
  The TextButton component follows accessibility best practices:
429
432
 
430
433
  - Uses semantic `<button>` element
431
- - Supports keyboard navigation (Tab, Enter, Space)
432
- - Proper disabled state handling (not focusable when disabled)
433
- - Visible focus indicator when navigating via keyboard
434
+ - By default sets `tabindex={-1}` so it does not take Tab keyboard focus, preventing unnecessary tab stops in subtle actions and navigation links
435
+ - Supports explicit `tabindex` override (e.g. `tabindex={0}`) when Tab focus is desired
436
+ - Proper disabled state handling (always not focusable when disabled)
437
+ - Visible focus indicator when focused
434
438
 
435
439
  ### Keyboard Navigation
436
440
 
437
- - **Tab** - Move focus to/from button
441
+ - **Tab** - Bypassed by default (`tabindex={-1}`); when overridden to `0`, moves focus to/from button
438
442
  - **Enter / Space** - Activate button when focused
439
- - **Focus visible** - Shows an external border ring (4px) with a 2px transparent gap when focused via keyboard. The ring color matches the button's type color (primary=blue, secondary=red, etc.)
443
+ - **Focus visible** - Shows an external border ring (4px) with a 2px transparent gap when focused. The ring color matches the button's type color (primary=blue, secondary=red, etc.)
440
444
 
441
445
  ### Improving Accessibility
442
446
 
@@ -8,7 +8,7 @@
8
8
  - **多种类型**: 默认、主要、次要、第三级和第四级按钮样式
9
9
  - **尺寸选项**: 大、中、小三种尺寸
10
10
  - **工具提示支持**: 通过 `data-tip` 属性内置工具提示,支持 Markdown 格式
11
- - **键盘访问**: 完整的 Tab 键焦点支持,焦点状态可见
11
+ - **键盘导航**: 默认 `tabindex={-1}`,取消 Tab 键停留,不影响表单等场景的顺序 Tab 聚焦;支持显式传入 `tabindex` 覆盖
12
12
  - **事件处理**: 支持点击事件
13
13
  - **无障碍访问**: 使用语义化按钮元素,支持禁用状态
14
14
  - **自定义样式**: 灵活的样式定制
@@ -44,6 +44,9 @@ const handleClick = (event) => {
44
44
  | `theme` | `string` | - | 主题变体 |
45
45
  | `tooltip` | `string` | - | 工具提示文本(支持Markdown,使用 `\n` 换行) |
46
46
  | `children` | `Snippet` | - | 自定义内容片段 |
47
+ | `tabindex` | `number` | `-1` | Tab 键导航顺序(默认为 -1,取消 Tab 键停留) |
48
+ | `outer` | `boolean` | `true` | focused / active 状态时是否带外框(默认为 true,设为 false 时去除聚焦/激活外框) |
49
+ | `variant` | `'plain' \| 'round' \| ''` | `'round'` | 形状变体(默认为 round 胶囊圆角外框,plain 为无圆角直角外框) |
47
50
 
48
51
  ## 按钮类型
49
52
 
@@ -428,15 +431,16 @@ const toggleDropdown = (event) => {
428
431
  TextButton 组件遵循无障碍访问最佳实践:
429
432
 
430
433
  - 使用语义化的 `<button>` 元素
431
- - 支持键盘导航(Tab、Enter、Space 键)
432
- - 正确的禁用状态处理(禁用时不可聚焦)
433
- - 键盘聚焦时显示可见的焦点指示器
434
+ - 默认设置 `tabindex={-1}`,不接收 Tab 键聚焦,避免在弱化按钮或次要操作中产生大量无谓的 Tab 停顿
435
+ - 支持按需显式指定 `tabindex`(例如 `tabindex={0}`)
436
+ - 正确的禁用状态处理(禁用时始终不可聚焦)
437
+ - 聚焦时显示可见的焦点指示器
434
438
 
435
439
  ### 键盘导航
436
440
 
437
- - **Tab** - 将焦点移入/移出按钮
441
+ - **Tab** - 默认跳过(`tabindex={-1}`);若显式指定为 `0` 则可将焦点移入/移出按钮
438
442
  - **Enter / Space** - 焦点在按钮上时激活
439
- - **焦点可见** - 键盘聚焦时显示外边框(4px),与按钮之间有 2px 透明间隙。外框颜色与按钮类型颜色一致(primary 为蓝色、secondary 为红色等)
443
+ - **焦点可见** - 聚焦时显示外边框(4px),与按钮之间有 2px 透明间隙。外框颜色与按钮类型颜色一致(primary 为蓝色、secondary 为红色等)
440
444
 
441
445
  ### 改善无障碍访问
442
446
 
@@ -1,24 +1,26 @@
1
1
  <script lang="ts">
2
- import type {MouseClickHandler} from "../../types";
2
+ import type {OnClick} from "../../types";
3
3
 
4
4
  interface Props {
5
5
  name: string;
6
- onclick?: MouseClickHandler | null;
6
+ onclick?: OnClick | null;
7
7
  style?: string;
8
8
  theme?: string;
9
9
  class?: string;
10
10
  tooltip?: string;
11
11
  disabled?: boolean;
12
+ tabindex?: number;
12
13
  }
13
14
 
14
15
  let {
15
16
  name,
16
17
  onclick = null,
17
18
  style = '',
18
- theme = '',
19
+ theme,
19
20
  class: className = '',
20
21
  tooltip,
21
22
  disabled = false,
23
+ tabindex
22
24
  }: Props = $props();
23
25
 
24
26
  let respClick = $state(true);
@@ -53,7 +55,7 @@
53
55
  onmousedown={(event: MouseEvent) => {event.preventDefault();}}
54
56
  {style}
55
57
  role={isInteractive ? 'button' : undefined}
56
- tabindex={isInteractive && !disabled ? 0 : undefined}
58
+ tabindex={tabindex !== undefined ? tabindex : (isInteractive && !disabled ? 0 : undefined)}
57
59
  aria-disabled={isInteractive ? disabled : undefined}
58
60
  aria-hidden={isInteractive ? undefined : true}
59
61
  aria-label={isInteractive ? (tooltip || undefined) : undefined}
@@ -1,12 +1,13 @@
1
- import type { MouseClickHandler } from "../../types";
1
+ import type { OnClick } from "../../types";
2
2
  interface Props {
3
3
  name: string;
4
- onclick?: MouseClickHandler | null;
4
+ onclick?: OnClick | null;
5
5
  style?: string;
6
6
  theme?: string;
7
7
  class?: string;
8
8
  tooltip?: string;
9
9
  disabled?: boolean;
10
+ tabindex?: number;
10
11
  }
11
12
  declare const Icon: import("svelte").Component<Props, {}, "">;
12
13
  type Icon = ReturnType<typeof Icon>;
@@ -1,8 +1,10 @@
1
1
  <script lang="ts">
2
+ import type {Size} from "../../types";
2
3
  import utils from "../../overlay/common/utils";
3
4
 
4
5
  interface Props {
5
- size?: 'big' | 'middle' | 'small';
6
+ /** 尺寸档位 */
7
+ size?: Size;
6
8
  variant?: 'borderless' | 'border' | 'round';
7
9
  removable?: boolean;
8
10
  theme?: string;
@@ -15,7 +17,8 @@
15
17
  }
16
18
 
17
19
  let {
18
- size = 'middle',
20
+ class: className = '',
21
+ size = 'medium',
19
22
  variant = 'border',
20
23
  removable = true,
21
24
  data,
@@ -26,6 +29,7 @@
26
29
  color
27
30
  }: Props = $props();
28
31
 
32
+
29
33
  const colorClass = $derived(utils.isEmpty(color) ? '' : `color color-g${color}`);
30
34
 
31
35
  const handleTagClick = (event: MouseEvent) => {
@@ -43,7 +47,7 @@
43
47
 
44
48
  </script>
45
49
 
46
- <div class="uniface-tag" {style} data-theme="{theme}">
50
+ <div class="uniface-tag {className}" {style} data-theme="{theme}">
47
51
  <div class="{size} {variant} {colorClass}" class:removable={removable}>
48
52
  <span>{text}</span>
49
53
  {#if removable}
@@ -68,7 +72,7 @@
68
72
  color: var(--uniface-tag-g0-color, #374151);
69
73
  }
70
74
 
71
- .uniface-tag > div.big {
75
+ .uniface-tag > div.large {
72
76
  line-height: var(--uniface-tag-height-bg);
73
77
  }
74
78
 
@@ -1,5 +1,7 @@
1
+ import type { Size } from "../../types";
1
2
  interface Props {
2
- size?: 'big' | 'middle' | 'small';
3
+ /** 尺寸档位 */
4
+ size?: Size;
3
5
  variant?: 'borderless' | 'border' | 'round';
4
6
  removable?: boolean;
5
7
  theme?: string;
@@ -1,3 +1,46 @@
1
- import { i18nUtils } from "@ticatec/i18n";
2
- declare const i18nRes: ReturnType<typeof i18nUtils.createResourceProxy>;
1
+ import type { ResourceProxy } from "@ticatec/i18n";
2
+ declare const langRes: {
3
+ common: {
4
+ btnClose: string;
5
+ btnCancel: string;
6
+ btnConfirm: string;
7
+ textMore: string;
8
+ filterPlaceholder: string;
9
+ noResultsText: string;
10
+ };
11
+ colorPicker: string;
12
+ calendar: {
13
+ months: string[];
14
+ monthsAbbr: string[];
15
+ weekTitle: string[];
16
+ weekTitleAbbr: string[];
17
+ confirmText: string;
18
+ };
19
+ upload: {
20
+ btnRetry: string;
21
+ btnRemove: string;
22
+ btnPreview: string;
23
+ btnDownload: string;
24
+ dropHint: string;
25
+ emptyText: string;
26
+ failedText: string;
27
+ };
28
+ dataTable: {
29
+ rowNo: string;
30
+ actions: string;
31
+ emptyDataSet: string;
32
+ totalInfo: string;
33
+ rowsPerPage: string;
34
+ };
35
+ transfer: {
36
+ selectIndicator: string;
37
+ };
38
+ };
39
+ /**
40
+ * The shape of this package's translation resources. A language resource file
41
+ * loaded at runtime (e.g. /assets/uniface_zh-CN.json) should provide every key
42
+ * of this structure, wrapped in the `uniface` namespace.
43
+ */
44
+ export type UnifaceLangRes = typeof langRes;
45
+ declare const i18nRes: ResourceProxy<UnifaceLangRes>;
3
46
  export default i18nRes;
@@ -27,13 +27,18 @@ const langRes = {
27
27
  upload: {
28
28
  btnRetry: "Retry",
29
29
  btnRemove: "Delete",
30
- btnPickup: "Pickup files"
30
+ btnPreview: "Preview",
31
+ btnDownload: "Download",
32
+ dropHint: "Click or drop files here",
33
+ emptyText: "No files",
34
+ failedText: "Upload failed"
31
35
  },
32
36
  dataTable: {
33
37
  rowNo: "#",
34
38
  actions: "Actions",
35
39
  emptyDataSet: 'Empty dataset',
36
- totalInfo: "Total: <b>{{total}}</b>"
40
+ totalInfo: "Total: <b>{{total}}</b>",
41
+ rowsPerPage: "Rows/Page"
37
42
  },
38
43
  transfer: {
39
44
  selectIndicator: "Selected: {{selected}}/{{total}}"
@@ -6,14 +6,15 @@
6
6
 
7
7
 
8
8
  interface Props {
9
- buttons?: ButtonActions;
9
+ /** 动作按钮列表,null 为分隔符 */
10
+ actions?: ButtonActions;
10
11
  style?: string;
11
12
  theme?: string;
12
13
  children?: Snippet;
13
14
  }
14
15
 
15
16
  let {
16
- buttons = [],
17
+ actions = [],
17
18
  style,
18
19
  theme,
19
20
  children
@@ -29,8 +30,8 @@
29
30
  <div class="uniface-action-bar" {style} data-theme={theme}>
30
31
  {#if children}
31
32
  {@render children()}
32
- {:else if buttons}
33
- {#each buttons as button}
33
+ {:else if actions}
34
+ {#each actions as button}
34
35
  {#if button}
35
36
  <Button
36
37
  label={button.label}
@@ -1,7 +1,8 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { ButtonActions } from '../../types';
3
3
  interface Props {
4
- buttons?: ButtonActions;
4
+ /** 动作按钮列表,null 为分隔符 */
5
+ actions?: ButtonActions;
5
6
  style?: string;
6
7
  theme?: string;
7
8
  children?: Snippet;
@@ -1,23 +1 @@
1
- import type { ButtonType, MouseClickHandler } from "../../types";
2
- export interface ButtonAction {
3
- /**
4
- * 按钮的文字
5
- */
6
- label: string;
7
- /**
8
- * 是否禁用
9
- */
10
- disabled?: boolean;
11
- /**
12
- * 前缀图标
13
- */
14
- icon?: string;
15
- /**
16
- * 按钮的类型
17
- */
18
- type?: ButtonType;
19
- /**
20
- * click处理函数
21
- */
22
- handler?: MouseClickHandler;
23
- }
1
+ export type { ButtonAction, ButtonActions } from "../../types";