@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
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import utils from "../../overlay/common/utils";
3
- import type {EditorEvents} from "../types";
3
+ import type {EditorEvents} from "../events";
4
4
 
5
5
  export interface Props extends EditorEvents {
6
6
  style?: string;
@@ -26,7 +26,10 @@
26
26
  min,
27
27
  onchange,
28
28
  onfocus,
29
- onblur
29
+ onblur,
30
+ onkeydown,
31
+ onkeyup,
32
+ onkeypress
30
33
  }: Props = $props();
31
34
 
32
35
  let textValue = $state('');
@@ -120,6 +123,9 @@
120
123
  }
121
124
 
122
125
  const handleKeyDown = (event: KeyboardEvent) => {
126
+ // Consumer handler runs first so it sees every key, including the ones filtered below.
127
+ onkeydown?.(event);
128
+ if (event.defaultPrevented) return;
123
129
  if (/[^\x00-\x7F]/.test(event.key)) {
124
130
  event.preventDefault();
125
131
  event.stopPropagation();
@@ -210,6 +216,8 @@
210
216
  oncompositionstart={handleCompositionStart}
211
217
  oninput={handleInput}
212
218
  onkeydown={handleKeyDown}
219
+ {onkeyup}
220
+ {onkeypress}
213
221
  oncompositionend={handleCompositionEnd}
214
222
  onpaste={handlePaste}
215
223
  />
@@ -1,4 +1,4 @@
1
- import type { EditorEvents } from "../types";
1
+ import type { EditorEvents } from "../events";
2
2
  export interface Props extends EditorEvents {
3
3
  style?: string;
4
4
  value?: number;
@@ -11,14 +11,14 @@
11
11
  error?: string;
12
12
  tooltip?: string;
13
13
  theme?: string;
14
- className?: string;
14
+ class?: string;
15
15
  style?: string;
16
- showFromClean?: boolean;
17
- showToClean?: boolean;
16
+ fromClearable?: boolean;
17
+ toClearable?: boolean;
18
18
  cleanFrom: () => void;
19
19
  cleanTo: () => void;
20
- fromChild: Snippet;
21
- toChild: Snippet;
20
+ from: Snippet;
21
+ to: Snippet;
22
22
  actionIcon?: Snippet;
23
23
  }
24
24
 
@@ -30,14 +30,14 @@
30
30
  error,
31
31
  tooltip,
32
32
  theme,
33
- className,
33
+ class: className,
34
34
  style = '',
35
- showFromClean = false,
36
- showToClean = false,
35
+ fromClearable = false,
36
+ toClearable = false,
37
37
  cleanFrom,
38
38
  cleanTo,
39
- fromChild,
40
- toChild,
39
+ from,
40
+ to,
41
41
  actionIcon
42
42
  }: Props = $props();
43
43
 
@@ -49,21 +49,21 @@
49
49
  };
50
50
  </script>
51
51
 
52
- <FormEditor {variant} {compact} {disabled} {readonly} {error} {tooltip} {theme} {style} {className}>
52
+ <FormEditor {variant} {compact} {disabled} {readonly} {error} {tooltip} {theme} {style} class={className}>
53
53
  <div class="uniface-common-editor uniface-common-picker" tabindex="-1">
54
54
  <div class="range-row">
55
55
  <div class="range-cell">
56
- {@render fromChild()}
57
- <div class="clean-icon" class:visible={showFromClean}>
58
- <i class="icon_google_clear" role="button" tabindex={showFromClean ? 0 : -1} aria-label="Clear"
56
+ {@render from()}
57
+ <div class="clean-icon" class:visible={fromClearable}>
58
+ <i class="icon_google_clear" role="button" tabindex="-1" aria-label="Clear"
59
59
  onclick={cleanFrom} onkeydown={handleCleanKeyDown(cleanFrom)}></i>
60
60
  </div>
61
61
  </div>
62
62
  <div class="divider"></div>
63
63
  <div class="range-cell">
64
- {@render toChild()}
65
- <div class="clean-icon" class:visible={showToClean}>
66
- <i class="icon_google_clear" role="button" tabindex={showToClean ? 0 : -1} aria-label="Clear"
64
+ {@render to()}
65
+ <div class="clean-icon" class:visible={toClearable}>
66
+ <i class="icon_google_clear" role="button" tabindex="-1" aria-label="Clear"
67
67
  onclick={cleanTo} onkeydown={handleCleanKeyDown(cleanTo)}></i>
68
68
  </div>
69
69
  </div>
@@ -8,14 +8,14 @@ interface Props {
8
8
  error?: string;
9
9
  tooltip?: string;
10
10
  theme?: string;
11
- className?: string;
11
+ class?: string;
12
12
  style?: string;
13
- showFromClean?: boolean;
14
- showToClean?: boolean;
13
+ fromClearable?: boolean;
14
+ toClearable?: boolean;
15
15
  cleanFrom: () => void;
16
16
  cleanTo: () => void;
17
- fromChild: Snippet;
18
- toChild: Snippet;
17
+ from: Snippet;
18
+ to: Snippet;
19
19
  actionIcon?: Snippet;
20
20
  }
21
21
  declare const CommonRangeEditor: import("svelte").Component<Props, {}, "">;
@@ -5,7 +5,7 @@
5
5
  import type {UniDate} from "../../base-calendar/dateUtils";
6
6
  import CommonPicker from "../common_editor/CommonPicker.svelte";
7
7
  import type CommonPickerProps from "../common_editor/CommonPickerProps";
8
- import type {KeyboardEvents} from "../common_editor/EditorEvents";
8
+ import type {KeyboardEvents} from "../events";
9
9
 
10
10
  interface Props extends CommonPickerProps, KeyboardEvents {
11
11
  value?: UniDate;
@@ -20,7 +20,7 @@
20
20
  disabled = false,
21
21
  readonly = false,
22
22
  compact = false,
23
- mandatory = false,
23
+ clearable,
24
24
  value = $bindable<UniDate>(),
25
25
  style,
26
26
  placeholder,
@@ -54,10 +54,10 @@
54
54
 
55
55
  </script>
56
56
 
57
- <CommonPicker bind:this={picker} {variant} {style} {error} {tooltip} {compact} {mandatory}
57
+ <CommonPicker bind:this={picker} {variant} {style} {error} {tooltip} {compact} {clearable}
58
58
  iconName="icon_google_event_available" clear={()=> {value = undefined}} {onfocus} {onblur} {placeholder} {value}
59
- bind:isOpen autoFit={false} {textValue} {readonly} {disabled}>
60
- {#snippet popupLayer()}
59
+ bind:expanded={isOpen} autoFit={false} {textValue} {readonly} {disabled}>
60
+ {#snippet popup()}
61
61
  <div class="date-popover">
62
62
  <Calendar value={value} {min} {max} onchange={handleCalendarSelect}/>
63
63
  </div>
@@ -1,6 +1,6 @@
1
1
  import type { UniDate } from "../../base-calendar/dateUtils";
2
2
  import type CommonPickerProps from "../common_editor/CommonPickerProps";
3
- import type { KeyboardEvents } from "../common_editor/EditorEvents";
3
+ import type { KeyboardEvents } from "../events";
4
4
  interface Props extends CommonPickerProps, KeyboardEvents {
5
5
  value?: UniDate;
6
6
  min?: UniDate;
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ import {onDestroy} from 'svelte';
2
3
  import dayjs from "dayjs";
3
4
  import dateUtils, {type UniDate} from "../../base-calendar/dateUtils";
4
5
  import Calendar from "../../base-calendar";
@@ -22,7 +23,7 @@
22
23
  disabled = false,
23
24
  readonly = false,
24
25
  compact = false,
25
- mandatory = false,
26
+ clearable,
26
27
  error,
27
28
  tooltip,
28
29
  theme,
@@ -54,13 +55,22 @@
54
55
  const btnDisabled = $derived(currentValue == null);
55
56
 
56
57
  let picker: CommonPicker;
58
+ let focusTimer: any;
57
59
 
58
60
  export function focus() {
59
- setTimeout(() => {
61
+ clearTimeout(focusTimer);
62
+ focusTimer = setTimeout(() => {
60
63
  picker?.focus();
61
64
  }, 50);
62
65
  }
63
66
 
67
+ onDestroy(() => {
68
+ if (focusTimer != null) {
69
+ clearTimeout(focusTimer);
70
+ focusTimer = null;
71
+ }
72
+ });
73
+
64
74
  // Resync currentValue from external value / precision changes.
65
75
  $effect(() => {
66
76
  const v = value;
@@ -109,15 +119,15 @@
109
119
  <CommonPicker
110
120
  bind:this={picker}
111
121
  {variant} {style} {error} {tooltip} {theme}
112
- {compact} {mandatory}
122
+ {compact} {clearable}
113
123
  iconName="icon_google_access_time"
114
124
  clear={cleanData}
115
125
  {placeholder} {value} {textValue}
116
126
  {readonly} {disabled}
117
- bind:isOpen
127
+ bind:expanded={isOpen}
118
128
  autoFit={false}
119
129
  {onfocus} {onblur}>
120
- {#snippet popupLayer()}
130
+ {#snippet popup()}
121
131
  <div class="date-popover">
122
132
  <div style="display: flex; flex-direction: row">
123
133
  <Calendar
@@ -1,5 +1,7 @@
1
1
  # DatePicker & DateTimePicker
2
2
 
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `mandatory` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
3
5
  Date and datetime selection components built on a shared popup picker. `DatePicker` selects a calendar date; `DateTimePicker` combines a calendar with a time panel and requires explicit confirmation.
4
6
 
5
7
  ## Installation
@@ -21,7 +23,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
21
23
  - **DateTimePicker**: date + time selection with confirm bar; supports hour / minute / second precision
22
24
  - Visual variants: default, `plain`, `outlined`, `filled`
23
25
  - `min` / `max` date limits enforced in the calendar
24
- - `mandatory` hides the clear action
26
+ - `clearable={false}` hides the clear action
25
27
  - Read-only and disabled states
26
28
  - Error text and tooltip via the shared form editor shell
27
29
  - Day.js used internally; bound values accept `Date`, Day.js, or string
@@ -53,7 +55,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
53
55
  | `compact` | `boolean` | `false` | Compact spacing |
54
56
  | `disabled` | `boolean` | `false` | Non-interactive, muted style |
55
57
  | `readonly` | `boolean` | `false` | Display-only; popup does not open |
56
- | `mandatory` | `boolean` | `false` | Required field; hides clear control |
58
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared (shows the clear button). The old `mandatory` prop meant the opposite (`mandatory={true}` = `clearable={false}`) and was removed in 5.1.0. |
57
59
  | `placeholder` | `string` | — | Placeholder when empty |
58
60
  | `tooltip` | `string` | — | Hover tooltip |
59
61
  | `error` | `string` | — | Error message shown by the field shell |
@@ -162,7 +164,7 @@ Display format is always `YYYY-MM-DD`.
162
164
 
163
165
  1. Click the field or calendar icon to open the popup (unless `readonly` / `disabled`).
164
166
  2. Selecting a day writes a native `Date` to `value`, calls `onchange`, and closes the popup.
165
- 3. Clear (×) appears when there is a value and `mandatory` is false; clearing sets `value` to `undefined`.
167
+ 3. Clear (×) appears when there is a value and `clearable={false}` is false; clearing sets `value` to `undefined`.
166
168
  4. Display text is formatted with Day.js as `YYYY-MM-DD`.
167
169
  5. `min` / `max` are passed to the calendar and restrict selectable days.
168
170
 
@@ -194,7 +196,7 @@ Display format is always `YYYY-MM-DD`.
194
196
  | `compact` | `boolean` | `false` | Compact spacing |
195
197
  | `disabled` | `boolean` | `false` | Non-interactive |
196
198
  | `readonly` | `boolean` | `false` | Display-only |
197
- | `mandatory` | `boolean` | `false` | Hides clear control |
199
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared (shows the clear button). The old `mandatory` prop meant the opposite (`mandatory={true}` = `clearable={false}`) and was removed in 5.1.0. |
198
200
  | `placeholder` | `string` | — | Placeholder when empty |
199
201
  | `tooltip` | `string` | — | Hover tooltip |
200
202
  | `error` | `string` | — | Error message |
@@ -288,7 +290,7 @@ Display format is always `YYYY-MM-DD`.
288
290
  2. Changing the day or scrolling time updates a temporary `currentValue` only.
289
291
  3. Clicking **Confirm** commits `currentValue` to `value` as a native `Date`, calls `onchange` when the value actually changed, and closes the popup.
290
292
  4. Closing without confirm discards temporary edits (next open re-syncs from `value`).
291
- 5. Clear sets `value` to `undefined` (when not `mandatory`).
293
+ 5. Clear sets `value` to `undefined` (when not `clearable={false}`).
292
294
  6. `min` / `max` apply to the calendar day selection, not to the time columns.
293
295
 
294
296
  ---
@@ -1,5 +1,7 @@
1
1
  # DatePicker 与 DateTimePicker
2
2
 
3
+ > **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `mandatory` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
4
+
3
5
  基于共享弹层选择器的日期 / 日期时间组件。`DatePicker` 用于选择日历日期;`DateTimePicker` 在日历基础上增加时间面板,并需要显式确认后才会写回值。
4
6
 
5
7
  ## 安装
@@ -21,7 +23,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
21
23
  - **DateTimePicker**:日期 + 时间选择,底部确认栏;支持时 / 分 / 秒精度
22
24
  - 视觉变体:默认、`plain`、`outlined`、`filled`
23
25
  - 日历内强制 `min` / `max` 日期范围
24
- - `mandatory` 时隐藏清除按钮
26
+ - `clearable={false}` 时隐藏清除按钮
25
27
  - 只读与禁用状态
26
28
  - 通过表单编辑器外壳支持错误信息与 tooltip
27
29
  - 内部使用 Day.js;`value` 可接受 `Date`、Day.js 或字符串
@@ -53,7 +55,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
53
55
  | `compact` | `boolean` | `false` | 紧凑间距 |
54
56
  | `disabled` | `boolean` | `false` | 禁用,不可交互 |
55
57
  | `readonly` | `boolean` | `false` | 只读,不打开弹层 |
56
- | `mandatory` | `boolean` | `false` | 必填,隐藏清除按钮 |
58
+ | `clearable` | `boolean` | `true` | 是否允许清空(显示清空按钮)。旧名 `mandatory` 语义相反(`mandatory={true}` = `clearable={false}`),5.1.0 已移除。 |
57
59
  | `placeholder` | `string` | — | 空值占位文本 |
58
60
  | `tooltip` | `string` | — | 悬停提示 |
59
61
  | `error` | `string` | — | 错误信息(由表单外壳展示) |
@@ -162,7 +164,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
162
164
 
163
165
  1. 点击输入区或日历图标打开弹层(`readonly` / `disabled` 除外)。
164
166
  2. 点击某一天会把原生 `Date` 写入 `value`,调用 `onchange`,并关闭弹层。
165
- 3. 有值且非 `mandatory` 时显示清除(×);清除后 `value` 为 `undefined`。
167
+ 3. 有值且非 `clearable={false}` 时显示清除(×);清除后 `value` 为 `undefined`。
166
168
  4. 展示文本由 Day.js 格式化为 `YYYY-MM-DD`。
167
169
  5. `min` / `max` 传给日历,限制可选日期。
168
170
 
@@ -194,7 +196,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
194
196
  | `compact` | `boolean` | `false` | 紧凑间距 |
195
197
  | `disabled` | `boolean` | `false` | 禁用 |
196
198
  | `readonly` | `boolean` | `false` | 只读 |
197
- | `mandatory` | `boolean` | `false` | 隐藏清除按钮 |
199
+ | `clearable` | `boolean` | `true` | 是否允许清空(显示清空按钮)。旧名 `mandatory` 语义相反(`mandatory={true}` = `clearable={false}`),5.1.0 已移除。 |
198
200
  | `placeholder` | `string` | — | 空值占位 |
199
201
  | `tooltip` | `string` | — | 悬停提示 |
200
202
  | `error` | `string` | — | 错误信息 |
@@ -288,7 +290,7 @@ import { DateTimePicker } from "@ticatec/uniface-element/DatePicker";
288
290
  2. 修改日期或滚动时间只更新临时的 `currentValue`。
289
291
  3. 点击**确认**后,将 `currentValue` 以原生 `Date` 写回 `value`;若与原值不同则调用 `onchange`,并关闭弹层。
290
292
  4. 未确认直接关闭会丢弃临时修改(下次打开会从 `value` 重新同步)。
291
- 5. 清除会将 `value` 设为 `undefined`(非 `mandatory` 时)。
293
+ 5. 清除会将 `value` 设为 `undefined`(非 `clearable={false}` 时)。
292
294
  6. `min` / `max` 仅约束日历日期,不约束时间列。
293
295
 
294
296
  ---
@@ -1,44 +1,44 @@
1
1
  <script lang="ts">
2
2
 
3
- import type {OnChangeHandler} from "../../types";
3
+ import {onDestroy} from 'svelte';
4
+ import type {OnChange} from "../../types";
4
5
 
5
6
  interface Props {
6
7
  value: number;
7
8
  mode?: 24 | 60;
8
- enable?: boolean;
9
- onchange?: OnChangeHandler<number>;
9
+ disabled?: boolean;
10
+ onchange?: OnChange<number>;
10
11
  }
11
12
 
12
- let {value = $bindable(), mode = 60, enable = true, onchange}: Props = $props();
13
+ let {value = $bindable(), mode = 60, disabled = false, onchange}: Props = $props();
13
14
 
14
- let list: Array<any> = $state([]);
15
+ // 显示窗口:当前值前后各 3 个刻度。用 $derived 而不是在 $effect 里 push 到 $state 数组 ——
16
+ // 后者在同一个 effect 里既读又写 list,会触发 effect_update_depth_exceeded(DateTimePicker 弹层打不开)。
17
+ const list = $derived(Array.from({length: 7}, (_, i) => (value + i - 3 + mode) % mode));
15
18
 
16
19
  const decValue = () => {
17
- if (enable) {
20
+ if (!disabled) {
18
21
  value = (value - 1 + mode) % mode;
19
22
  resetList();
20
23
  }
21
24
  }
22
25
 
23
26
  const incValue = () => {
24
- if (enable) {
27
+ if (!disabled) {
25
28
  value = (value + 1 + mode) % mode;
26
29
  resetList();
27
30
  }
28
31
  }
29
32
 
33
+ // 只在用户操作后通知父组件;外部通过 bind:value 写入时不再回调
30
34
  const resetList = () => {
31
- list = [];
32
35
  onchange?.(value);
33
- for (let i=0; i<7; i++) {
34
- list.push((value + i - 3 + mode) % mode);
35
- }
36
36
  }
37
37
 
38
38
  let amendValue = 0;
39
39
 
40
40
  const handleMouseWheel = (e: WheelEvent) => {
41
- if (enable) {
41
+ if (!disabled) {
42
42
  value = (value + Math.round(e.deltaY / 5) + mode) % mode;
43
43
  resetList();
44
44
  e.stopPropagation();
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  const handleMouseDown = (v: number) => (e: MouseEvent) => {
50
- if (enable) {
50
+ if (!disabled) {
51
51
  amendValue = v;
52
52
  timer = setInterval(() => {
53
53
  if (amendValue != 0) {
@@ -79,27 +79,28 @@
79
79
 
80
80
  let timer: any;
81
81
 
82
- $effect(() => {
83
- void value;
84
- void mode;
85
- resetList();
82
+ onDestroy(() => {
83
+ if (timer != null) {
84
+ clearInterval(timer);
85
+ timer = null;
86
+ }
86
87
  });
87
88
 
88
89
  </script>
89
90
  <div class="scroll-bar" onwheel={handleMouseWheel}>
90
91
  <div class="action-bar">
91
- <div class="arrow-up" class:disabled={!enable}>
92
+ <div class="arrow-up" class:disabled={disabled}>
92
93
  <i class="icon_google_keyboard_arrow_up" onclick={decValue} onkeydown={handleKeyDown(decValue)} ondragstart={(e)=>{e.preventDefault()}}
93
94
  onmousedown={handleMouseDown(-1)} onmouseup={handleMouseUp} onmouseleave={handleMouseUp}
94
95
  role="button" tabindex="0" aria-label="Decrease value"></i>
95
96
  </div>
96
97
  </div>
97
98
  {#each list as v}
98
- <div style={!enable && v!= value ? "visibility: hidden; " : ""} class="digital-block" onclick={()=>{handleDigitalClick(v)}} onkeydown={handleKeyDown(() => handleDigitalClick(v))} class:inactive={v!=value}
99
+ <div style={disabled && v!= value ? "visibility: hidden; " : ""} class="digital-block" onclick={()=>{handleDigitalClick(v)}} onkeydown={handleKeyDown(() => handleDigitalClick(v))} class:inactive={v!=value}
99
100
  role="button" tabindex="0" aria-label="Select {v}"><span>{v}</span></div>
100
101
  {/each}
101
102
  <div class="action-bar">
102
- <div class="arrow-down" class:disabled={!enable}>
103
+ <div class="arrow-down" class:disabled={disabled}>
103
104
  <i class="icon_google_keyboard_arrow_down" onclick={incValue} onkeydown={handleKeyDown(incValue)} ondragstart={(e)=>{e.preventDefault()}}
104
105
  onmousedown={handleMouseDown(1)} onmouseup={handleMouseUp} onmouseleave={handleMouseUp}
105
106
  role="button" tabindex="0" aria-label="Increase value"></i>
@@ -1,9 +1,9 @@
1
- import type { OnChangeHandler } from "../../types";
1
+ import type { OnChange } from "../../types";
2
2
  interface Props {
3
3
  value: number;
4
4
  mode?: 24 | 60;
5
- enable?: boolean;
6
- onchange?: OnChangeHandler<number>;
5
+ disabled?: boolean;
6
+ onchange?: OnChange<number>;
7
7
  }
8
8
  declare const ScrollBar: import("svelte").Component<Props, {}, "value">;
9
9
  type ScrollBar = ReturnType<typeof ScrollBar>;
@@ -60,8 +60,8 @@
60
60
  const maxFrom = $derived(normalizedToValue ?? max);
61
61
  const minTo = $derived(normalizedFromValue ?? min);
62
62
 
63
- const showFromClean = $derived(!disabled && !readonly && normalizedFromValue != null);
64
- const showToClean = $derived(!disabled && !readonly && normalizedToValue != null);
63
+ const fromClearable = $derived(!disabled && !readonly && normalizedFromValue != null);
64
+ const toClearable = $derived(!disabled && !readonly && normalizedToValue != null);
65
65
 
66
66
  const showPopover = () => {
67
67
  if (!disabled && !readonly) {
@@ -90,15 +90,15 @@
90
90
  </script>
91
91
 
92
92
  <div bind:this={rootElement}>
93
- <CommonRangeEditor {compact} {disabled} {readonly} {error} {tooltip} {theme} {showFromClean} {showToClean} className={className} {variant} {style} cleanFrom={cleanFromValue} cleanTo={cleanToValue}>
94
- {#snippet fromChild()}
93
+ <CommonRangeEditor {compact} {disabled} {readonly} {error} {tooltip} {theme} {fromClearable} {toClearable} class={className} {variant} {style} cleanFrom={cleanFromValue} cleanTo={cleanToValue}>
94
+ {#snippet from()}
95
95
  <input style="width: 100%; text-align: center" readonly onclick={showPopover} value={textFrom}/>
96
96
  {/snippet}
97
- {#snippet toChild()}
97
+ {#snippet to()}
98
98
  <input style="width: 100%; text-align: center" readonly onclick={showPopover} value={textTo}/>
99
99
  {/snippet}
100
100
  {#snippet actionIcon()}
101
- <i class="icon_google_event_note action-icon" role="button" tabindex="0" aria-label="Open date range picker"
101
+ <i class="icon_google_event_note action-icon" role="button" tabindex="-1" aria-label="Open date range picker"
102
102
  onclick={showPopover} onkeydown={handleIconKeyDown}></i>
103
103
  {/snippet}
104
104
  </CommonRangeEditor>
@@ -0,0 +1,70 @@
1
+ /**
2
+ * 事件接口的唯一定义处(NAMING R13)。
3
+ * 组件 Props 通过 extends 组合这些接口;参数名统一为 event。
4
+ */
5
+ export interface FocusEvents {
6
+ onfocus?: (event: FocusEvent) => void;
7
+ onblur?: (event: FocusEvent) => void;
8
+ onfocusin?: (event: FocusEvent) => void;
9
+ onfocusout?: (event: FocusEvent) => void;
10
+ }
11
+ export interface KeyboardEvents {
12
+ onkeydown?: (event: KeyboardEvent) => void;
13
+ onkeyup?: (event: KeyboardEvent) => void;
14
+ onkeypress?: (event: KeyboardEvent) => void;
15
+ }
16
+ export interface InputEvents {
17
+ oninput?: (event: InputEvent) => void;
18
+ onbeforeinput?: (event: InputEvent) => void;
19
+ }
20
+ export interface CompositionEvents {
21
+ oncompositionstart?: (event: CompositionEvent) => void;
22
+ oncompositionend?: (event: CompositionEvent) => void;
23
+ oncompositionupdate?: (event: CompositionEvent) => void;
24
+ }
25
+ export interface ClipboardEvents {
26
+ oncopy?: (event: ClipboardEvent) => void;
27
+ oncut?: (event: ClipboardEvent) => void;
28
+ onpaste?: (event: ClipboardEvent) => void;
29
+ }
30
+ export interface MouseEvents {
31
+ onclick?: (event: MouseEvent) => void;
32
+ ondblclick?: (event: MouseEvent) => void;
33
+ onmousedown?: (event: MouseEvent) => void;
34
+ onmouseup?: (event: MouseEvent) => void;
35
+ onmouseover?: (event: MouseEvent) => void;
36
+ onmousemove?: (event: MouseEvent) => void;
37
+ onmouseout?: (event: MouseEvent) => void;
38
+ onmouseenter?: (event: MouseEvent) => void;
39
+ onmouseleave?: (event: MouseEvent) => void;
40
+ onwheel?: (event: WheelEvent) => void;
41
+ }
42
+ export interface TouchEvents {
43
+ ontouchstart?: (event: TouchEvent) => void;
44
+ ontouchend?: (event: TouchEvent) => void;
45
+ ontouchmove?: (event: TouchEvent) => void;
46
+ ontouchcancel?: (event: TouchEvent) => void;
47
+ }
48
+ export interface DragEvents {
49
+ ondrag?: (event: DragEvent) => void;
50
+ ondragstart?: (event: DragEvent) => void;
51
+ ondragend?: (event: DragEvent) => void;
52
+ ondragover?: (event: DragEvent) => void;
53
+ ondragenter?: (event: DragEvent) => void;
54
+ ondragleave?: (event: DragEvent) => void;
55
+ ondrop?: (event: DragEvent) => void;
56
+ }
57
+ export interface FormEvents {
58
+ onselect?: (event: Event) => void;
59
+ oninvalid?: (event: Event) => void;
60
+ onreset?: (event: Event) => void;
61
+ }
62
+ /**
63
+ * 原生输入控件的完整事件集合。
64
+ * onchange 由 Uniface 接管:各组件传新值 (value) 而不是 DOM 事件。
65
+ */
66
+ export interface EditorEvents extends FocusEvents, KeyboardEvents, InputEvents, CompositionEvents, ClipboardEvents, MouseEvents, TouchEvents, DragEvents, FormEvents {
67
+ onchange?: (value: any) => void;
68
+ }
69
+ /** 透传到原生 input 的键盘事件属性名;用 satisfies 绑定到 KeyboardEvents 的键。 */
70
+ export declare const keyboardAttrs: readonly ["onkeydown", "onkeyup", "onkeypress"];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 事件接口的唯一定义处(NAMING R13)。
3
+ * 组件 Props 通过 extends 组合这些接口;参数名统一为 event。
4
+ */
5
+ /** 透传到原生 input 的键盘事件属性名;用 satisfies 绑定到 KeyboardEvents 的键。 */
6
+ export const keyboardAttrs = ['onkeydown', 'onkeyup', 'onkeypress'];
@@ -2,7 +2,8 @@
2
2
  import utils from "../../../overlay/common/utils";
3
3
  import CheckBox from "../../checkbox/CheckBox.svelte";
4
4
  import FormEditor from "../../FormEditor.svelte";
5
- import type {EditorEvents, EditorVariant} from "../../types";
5
+ import type {EditorVariant} from "../../types";
6
+ import type {EditorEvents} from "../../events";
6
7
 
7
8
  interface OptionItem {
8
9
  [key: string]: any;
@@ -20,15 +21,16 @@
20
21
  keyField?: string;
21
22
  textField?: string;
22
23
  delimiter?: string;
23
- itemStyle?: string;
24
+ /** 每个选项的内联样式 */
25
+ item$style?: string;
24
26
  disabledOptions?: Array<string>;
25
27
  hideOptions?: Array<string>;
26
28
  variant?: EditorVariant;
27
29
  compact?: boolean;
28
30
  class?: string;
29
31
  onchange?: (value: any) => void;
30
- onblur?: (e: FocusEvent) => void;
31
- onfocus?: (e: FocusEvent) => void;
32
+ onblur?: (event: FocusEvent) => void;
33
+ onfocus?: (event: FocusEvent) => void;
32
34
  }
33
35
 
34
36
  let {
@@ -43,7 +45,7 @@
43
45
  keyField = "code",
44
46
  textField = "text",
45
47
  delimiter = ';',
46
- itemStyle = '',
48
+ item$style = '',
47
49
  disabledOptions = [],
48
50
  hideOptions = [],
49
51
  variant,
@@ -166,7 +168,7 @@
166
168
  {readonly}
167
169
  {compact}
168
170
  {style}
169
- className={className}
171
+ class={className}
170
172
  >
171
173
  <!-- onclick only forwards focus to the first checkbox when the container's
172
174
  own background is clicked; each CheckBox inside is independently
@@ -182,7 +184,7 @@
182
184
  {readonly}
183
185
  disabled={disabled || disabledOptions.indexOf(op[keyField]) > -1}
184
186
  label={op[textField]}
185
- style={itemStyle}
187
+ style={item$style}
186
188
  bind:value={checkboxStates[op[keyField]]}
187
189
  onchange={handleCheckboxChange(op[keyField])}
188
190
  onfocus={handleFocus}
@@ -14,15 +14,16 @@ interface Props {
14
14
  keyField?: string;
15
15
  textField?: string;
16
16
  delimiter?: string;
17
- itemStyle?: string;
17
+ /** 每个选项的内联样式 */
18
+ item$style?: string;
18
19
  disabledOptions?: Array<string>;
19
20
  hideOptions?: Array<string>;
20
21
  variant?: EditorVariant;
21
22
  compact?: boolean;
22
23
  class?: string;
23
24
  onchange?: (value: any) => void;
24
- onblur?: (e: FocusEvent) => void;
25
- onfocus?: (e: FocusEvent) => void;
25
+ onblur?: (event: FocusEvent) => void;
26
+ onfocus?: (event: FocusEvent) => void;
26
27
  }
27
28
  declare const GroupCheckBox: import("svelte").Component<Props, {
28
29
  focus: () => void;