@ticatec/uniface-element 5.0.1 → 5.0.2

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 (255) hide show
  1. package/README.md +29 -54
  2. package/README_CN.md +37 -57
  3. package/dist/base-calendar/CalendarBase.svelte +29 -6
  4. package/dist/base-calendar/CalendarBase.svelte.d.ts +4 -0
  5. package/dist/base-calendar/MonthPickupPanel.svelte +19 -6
  6. package/dist/base-calendar/MonthPickupPanel.svelte.d.ts +1 -1
  7. package/dist/base-calendar/MonthlyCalendar.svelte +18 -2
  8. package/dist/base-calendar/YearPickupPanel.svelte +24 -6
  9. package/dist/base-calendar/YearPickupPanel.svelte.d.ts +1 -1
  10. package/dist/composite/pagination_panel/PaginationPanel.svelte +2 -0
  11. package/dist/data_display/card/CommonCardActionBar.svelte +34 -14
  12. package/dist/data_display/concise_data_table/Column.d.ts +6 -0
  13. package/dist/data_display/concise_data_table/ConciseListTable.svelte +4 -3
  14. package/dist/data_display/concise_data_table/DataCell.svelte +3 -3
  15. package/dist/data_display/list_box/ListBox.svelte +90 -15
  16. package/dist/data_display/list_box/ListBox.svelte.d.ts +4 -0
  17. package/dist/data_display/tree_view/TreeNodeView.svelte +25 -4
  18. package/dist/data_table/DataTable.svelte +5 -5
  19. package/dist/data_table/DataTable.svelte.d.ts +36 -16
  20. package/dist/data_table/lib/ActionsColumn.d.ts +2 -2
  21. package/dist/data_table/lib/DataColumn.d.ts +7 -1
  22. package/dist/data_table/lib/RowAction.d.ts +5 -5
  23. package/dist/data_table/parts/FixedHeaderPanel.svelte +18 -3
  24. package/dist/data_table/parts/FixedRow.svelte +10 -1
  25. package/dist/data_table/parts/HrefCell.svelte +1 -1
  26. package/dist/data_table/parts/TableHeaderPanel.svelte +18 -2
  27. package/dist/data_table/parts/TextCell.svelte +2 -2
  28. package/dist/form/attachment_files/AttachmentEditor.svelte +9 -9
  29. package/dist/form/attachment_files/FileRender.svelte +1 -1
  30. package/dist/form/attachment_files/FileUploadPanel.svelte +5 -1
  31. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +10 -2
  32. package/dist/form/cascade_options_select/OptionsBox.svelte +48 -2
  33. package/dist/form/color_picker/ColorPickerPanel.svelte +23 -20
  34. package/dist/form/color_picker/ColorPickerPanel.svelte.d.ts +5 -18
  35. package/dist/form/common_editor/CommonEditor.svelte +18 -4
  36. package/dist/form/common_editor/CommonPicker.svelte +11 -4
  37. package/dist/form/common_editor/CommonPopupEditor.svelte +8 -1
  38. package/dist/form/common_range_editor/CommonRangeEditor.svelte +11 -2
  39. package/dist/form/date_picker/DatePicker.svelte +1 -1
  40. package/dist/form/date_picker/DateTimePicker.svelte +1 -1
  41. package/dist/form/date_picker/ScrollBar.svelte +20 -12
  42. package/dist/form/date_picker/ScrollBar.svelte.d.ts +4 -18
  43. package/dist/form/date_range/DateRangeEditor.svelte +11 -3
  44. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +6 -1
  45. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +6 -1
  46. package/dist/form/image-files/ImageFilesField.svelte +51 -7
  47. package/dist/form/image-files/ImagePreview.svelte +8 -2
  48. package/dist/form/image-files/ImageRender.svelte +69 -11
  49. package/dist/form/input_options_select/InputOptionsSelect.svelte +10 -2
  50. package/dist/form/lookup_editor/LookupEditor.svelte +9 -2
  51. package/dist/form/options_multi_select/OptionsMultiSelect.svelte +19 -3
  52. package/dist/form/options_select/OptionsSelect.svelte +15 -6
  53. package/dist/form/options_select/OptionsSelect.svelte.d.ts +39 -17
  54. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +10 -2
  55. package/dist/form/switch/Switch.svelte +4 -4
  56. package/dist/form/unit-number-editor/UnitNumberEditor.svelte +10 -2
  57. package/dist/general/button/Button.svelte +3 -0
  58. package/dist/general/button/Button.svelte.d.ts +1 -0
  59. package/dist/general/button/IconButton.svelte +3 -1
  60. package/dist/general/button/IconButton.svelte.d.ts +1 -0
  61. package/dist/general/button/TextButton.svelte +3 -0
  62. package/dist/general/button/TextButton.svelte.d.ts +1 -0
  63. package/dist/general/icon/Icon.svelte +18 -1
  64. package/dist/general/tag/Tag.svelte +9 -1
  65. package/dist/navigation/nav_menu/NavigatorMenu.svelte +2 -2
  66. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +10 -1
  67. package/dist/navigation/navigator/Navigator.svelte +17 -17
  68. package/dist/navigation/page-stack/PageStack.svelte +160 -0
  69. package/dist/navigation/page-stack/PageStack.svelte.d.ts +24 -0
  70. package/dist/navigation/page-stack/PageStackContext.d.ts +25 -0
  71. package/dist/navigation/page-stack/PageStackContext.js +12 -0
  72. package/dist/navigation/page-stack/PageStackFrame.svelte +24 -0
  73. package/dist/navigation/page-stack/PageStackFrame.svelte.d.ts +11 -0
  74. package/dist/navigation/page-stack/README.md +154 -0
  75. package/dist/navigation/page-stack/README_CN.md +154 -0
  76. package/dist/navigation/page-stack/index.d.ts +6 -0
  77. package/dist/navigation/page-stack/index.js +4 -0
  78. package/dist/navigation/pagination/Pagination.svelte +114 -14
  79. package/dist/navigation/tabs/Tabs.svelte +42 -10
  80. package/dist/navigation/tabs/Tabs.svelte.d.ts +2 -2
  81. package/dist/overlay/common/FloatingPanel.svelte +3 -11
  82. package/dist/overlay/common/FullscreenOverlay.svelte +27 -3
  83. package/dist/overlay/common/FullscreenOverlay.svelte.d.ts +6 -27
  84. package/dist/overlay/common/ModalPopover.svelte +18 -2
  85. package/dist/overlay/common/Popover.svelte +56 -57
  86. package/dist/overlay/common/Popover.svelte.d.ts +1 -5
  87. package/dist/overlay/common/escapeClose.d.ts +28 -0
  88. package/dist/overlay/common/escapeClose.js +47 -0
  89. package/dist/overlay/common/focusTrap.d.ts +8 -0
  90. package/dist/overlay/common/focusTrap.js +83 -0
  91. package/dist/overlay/common/mountSingleton.d.ts +27 -0
  92. package/dist/overlay/common/mountSingleton.js +45 -0
  93. package/dist/overlay/common/outsideClick.d.ts +28 -0
  94. package/dist/overlay/common/outsideClick.js +20 -0
  95. package/dist/overlay/common/scrollLock.d.ts +8 -0
  96. package/dist/overlay/common/scrollLock.js +49 -0
  97. package/dist/overlay/context-menu/ContextMenu.svelte.js +2 -15
  98. package/dist/overlay/context-menu/ContextMenuPanel.svelte +13 -1
  99. package/dist/overlay/dialog/Dialog.svelte +46 -29
  100. package/dist/overlay/dialog/DialogManager.svelte.js +7 -9
  101. package/dist/overlay/drawer/Drawer.svelte +30 -3
  102. package/dist/overlay/indicator/Indicator.svelte.js +2 -15
  103. package/dist/overlay/indicator/IndicatorPanel.svelte +4 -1
  104. package/dist/overlay/message-box/MessageBox.svelte.js +2 -15
  105. package/dist/overlay/message-box/MessageBoxPanel.svelte +19 -3
  106. package/dist/overlay/toast/Toast.svelte.js +2 -15
  107. package/dist/overlay/toast/ToastPanel.svelte +1 -1
  108. package/dist/overlay/tooltip/Tooltip.svelte +1 -1
  109. package/dist/ticatec-uniface-web.css +102 -7
  110. package/dist/types.d.ts +4 -3
  111. package/docs/components/README.md +133 -0
  112. package/docs/components/accordion/README.md +60 -0
  113. package/docs/components/accordion/example.svelte +7 -0
  114. package/docs/components/action-bar/README.md +114 -0
  115. package/docs/components/action-bar/example.svelte +7 -0
  116. package/docs/components/app-top-bar/README.md +60 -0
  117. package/docs/components/app-top-bar/example.svelte +9 -0
  118. package/docs/components/attachment-files/README.md +332 -0
  119. package/docs/components/attachment-files/example.svelte +16 -0
  120. package/docs/components/box/README.md +63 -0
  121. package/docs/components/box/example.svelte +10 -0
  122. package/docs/components/breadcrumbs/README.md +86 -0
  123. package/docs/components/breadcrumbs/example.svelte +11 -0
  124. package/docs/components/button/README.md +103 -0
  125. package/docs/components/button/example.svelte +10 -0
  126. package/docs/components/card/README.md +113 -0
  127. package/docs/components/card/example.svelte +10 -0
  128. package/docs/components/cascade-options-select/README.md +162 -0
  129. package/docs/components/cascade-options-select/example.svelte +18 -0
  130. package/docs/components/checkbox/README.md +103 -0
  131. package/docs/components/checkbox/example.svelte +15 -0
  132. package/docs/components/classic-layout/README.md +76 -0
  133. package/docs/components/classic-layout/example.svelte +16 -0
  134. package/docs/components/color-picker/README.md +132 -0
  135. package/docs/components/color-picker/example.svelte +16 -0
  136. package/docs/components/columns-layout/README.md +70 -0
  137. package/docs/components/columns-layout/example.svelte +12 -0
  138. package/docs/components/common-dialog/README.md +109 -0
  139. package/docs/components/common-dialog/example.svelte +12 -0
  140. package/docs/components/concise-data-table/README.md +307 -0
  141. package/docs/components/concise-data-table/example.svelte +16 -0
  142. package/docs/components/context-menu/README.md +99 -0
  143. package/docs/components/context-menu/example.svelte +10 -0
  144. package/docs/components/criteria-field/README.md +69 -0
  145. package/docs/components/criteria-field/example.svelte +9 -0
  146. package/docs/components/data-table/README.md +365 -0
  147. package/docs/components/data-table/example.svelte +23 -0
  148. package/docs/components/date-picker/README.md +136 -0
  149. package/docs/components/date-picker/example.svelte +16 -0
  150. package/docs/components/date-range/README.md +122 -0
  151. package/docs/components/date-range/example.svelte +15 -0
  152. package/docs/components/date-time-picker/README.md +142 -0
  153. package/docs/components/date-time-picker/example.svelte +16 -0
  154. package/docs/components/dialog/README.md +174 -0
  155. package/docs/components/dialog/example.svelte +13 -0
  156. package/docs/components/dialog-board/README.md +41 -0
  157. package/docs/components/dialog-board/example.svelte +5 -0
  158. package/docs/components/drawer/README.md +70 -0
  159. package/docs/components/drawer/example.svelte +12 -0
  160. package/docs/components/flex-form/README.md +55 -0
  161. package/docs/components/flex-form/example.svelte +7 -0
  162. package/docs/components/flex-row-form/README.md +56 -0
  163. package/docs/components/flex-row-form/example.svelte +7 -0
  164. package/docs/components/form-field/README.md +84 -0
  165. package/docs/components/form-field/example.svelte +10 -0
  166. package/docs/components/full-screen-overlay/README.md +66 -0
  167. package/docs/components/full-screen-overlay/example.svelte +11 -0
  168. package/docs/components/grid-form/README.md +75 -0
  169. package/docs/components/grid-form/example.svelte +9 -0
  170. package/docs/components/group-check-box/README.md +147 -0
  171. package/docs/components/group-check-box/example.svelte +21 -0
  172. package/docs/components/group-radio-box/README.md +144 -0
  173. package/docs/components/group-radio-box/example.svelte +21 -0
  174. package/docs/components/header-layout/README.md +65 -0
  175. package/docs/components/header-layout/example.svelte +12 -0
  176. package/docs/components/icon/README.md +87 -0
  177. package/docs/components/icon/example.svelte +9 -0
  178. package/docs/components/icon-button/README.md +91 -0
  179. package/docs/components/icon-button/example.svelte +10 -0
  180. package/docs/components/image-files/README.md +174 -0
  181. package/docs/components/image-files/example.svelte +19 -0
  182. package/docs/components/indicator/README.md +53 -0
  183. package/docs/components/indicator/example.svelte +14 -0
  184. package/docs/components/input-options-select/README.md +163 -0
  185. package/docs/components/input-options-select/example.svelte +16 -0
  186. package/docs/components/list-box/ListItem.svelte +14 -0
  187. package/docs/components/list-box/README.md +221 -0
  188. package/docs/components/list-box/example.svelte +61 -0
  189. package/docs/components/lookup-editor/README.md +137 -0
  190. package/docs/components/lookup-editor/example.svelte +16 -0
  191. package/docs/components/memo-editor/README.md +143 -0
  192. package/docs/components/memo-editor/example.svelte +16 -0
  193. package/docs/components/message-box/README.md +68 -0
  194. package/docs/components/message-box/example.svelte +10 -0
  195. package/docs/components/navigator/README.md +75 -0
  196. package/docs/components/navigator/example.svelte +13 -0
  197. package/docs/components/navigator-menu/README.md +113 -0
  198. package/docs/components/navigator-menu/example.svelte +10 -0
  199. package/docs/components/number-editor/README.md +144 -0
  200. package/docs/components/number-editor/example.svelte +16 -0
  201. package/docs/components/number-range/README.md +116 -0
  202. package/docs/components/number-range/example.svelte +15 -0
  203. package/docs/components/options-multi-select/README.md +161 -0
  204. package/docs/components/options-multi-select/example.svelte +20 -0
  205. package/docs/components/options-select/README.md +160 -0
  206. package/docs/components/options-select/example.svelte +21 -0
  207. package/docs/components/page/README.md +77 -0
  208. package/docs/components/page/example.svelte +10 -0
  209. package/docs/components/pagination/README.md +88 -0
  210. package/docs/components/pagination/example.svelte +10 -0
  211. package/docs/components/pagination-panel/README.md +120 -0
  212. package/docs/components/pagination-panel/example.svelte +16 -0
  213. package/docs/components/popup-hint/README.md +44 -0
  214. package/docs/components/popup-hint/example.svelte +5 -0
  215. package/docs/components/progress-bar/README.md +64 -0
  216. package/docs/components/progress-bar/example.svelte +8 -0
  217. package/docs/components/progress-step-bar/README.md +93 -0
  218. package/docs/components/progress-step-bar/example.svelte +7 -0
  219. package/docs/components/prompts-text-editor/README.md +146 -0
  220. package/docs/components/prompts-text-editor/example.svelte +17 -0
  221. package/docs/components/radio-button/README.md +121 -0
  222. package/docs/components/radio-button/example.svelte +18 -0
  223. package/docs/components/rows-layout/README.md +70 -0
  224. package/docs/components/rows-layout/example.svelte +12 -0
  225. package/docs/components/search-box/README.md +136 -0
  226. package/docs/components/search-box/example.svelte +16 -0
  227. package/docs/components/separator/README.md +44 -0
  228. package/docs/components/separator/example.svelte +7 -0
  229. package/docs/components/sidebar-layout/README.md +65 -0
  230. package/docs/components/sidebar-layout/example.svelte +12 -0
  231. package/docs/components/split/README.md +48 -0
  232. package/docs/components/split/example.svelte +8 -0
  233. package/docs/components/switch/README.md +77 -0
  234. package/docs/components/switch/example.svelte +11 -0
  235. package/docs/components/tabs/README.md +127 -0
  236. package/docs/components/tabs/example.svelte +22 -0
  237. package/docs/components/tag/README.md +63 -0
  238. package/docs/components/tag/example.svelte +8 -0
  239. package/docs/components/text-button/README.md +90 -0
  240. package/docs/components/text-button/example.svelte +9 -0
  241. package/docs/components/text-editor/README.md +147 -0
  242. package/docs/components/text-editor/example.svelte +16 -0
  243. package/docs/components/time-editor/README.md +130 -0
  244. package/docs/components/time-editor/example.svelte +16 -0
  245. package/docs/components/toast/README.md +52 -0
  246. package/docs/components/toast/example.svelte +9 -0
  247. package/docs/components/tooltip/README.md +44 -0
  248. package/docs/components/tooltip/example.svelte +5 -0
  249. package/docs/components/transfer/README.md +109 -0
  250. package/docs/components/transfer/example.svelte +13 -0
  251. package/docs/components/tree-view/README.md +163 -0
  252. package/docs/components/tree-view/example.svelte +26 -0
  253. package/docs/components/unit-number-editor/README.md +192 -0
  254. package/docs/components/unit-number-editor/example.svelte +18 -0
  255. package/package.json +15 -7
@@ -0,0 +1,69 @@
1
+ # CriteriaField
2
+
3
+ 布局组件。本文档由源码自动生成,类型以当前版本为准。
4
+
5
+ ## 简介
6
+
7
+ 用于搜索条件区域的带标签字段容器。
8
+
9
+ ## 适用场景
10
+
11
+ - 高级查询和筛选面板
12
+ - 需要统一排列查询控件与字段标签
13
+
14
+ ## 导入
15
+
16
+ ```ts
17
+ import CriteriaField from '@ticatec/uniface-element/CriteriaField';
18
+ ```
19
+
20
+ ## 属性
21
+
22
+ | 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
23
+ | --- | --- | --- | --- | --- | --- | --- |
24
+ | `style` | 否 | `string` | 否 | `''` | 否 | 附加到组件根元素的内联样式。 |
25
+ | `theme` | 否 | `string` | 否 | `undefined` | 否 | 组件主题标识,通常通过 `data-theme` 选择对应 CSS 变量。 |
26
+ | `label` | 是 | `string` | 是 | `—` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
27
+ | `label$style` | 否 | `string` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
28
+ | `labelSuffix` | 否 | `string` | 否 | `':'` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
29
+ | `children` | 是 | `Snippet` | 是 | `—` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
30
+ | `size` | 否 | `'' \| 'x15' \| 'x20' \| 'x25' \| 'x30' \| 'x35' \| 'x40'` | 否 | `''` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
31
+
32
+ > 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
33
+
34
+ ## 重要属性说明
35
+
36
+ ### `label`
37
+
38
+ 可选配置,具体取值范围和数据结构见类型列。
39
+
40
+ - 类型:`string`
41
+ - 默认值:`—`
42
+ - 示例写法:`label="示例标签"`
43
+
44
+ ### `children`
45
+
46
+ Svelte Snippet 子内容,用于自定义组件主体。
47
+
48
+ - 类型:`Snippet`
49
+ - 默认值:`—`
50
+ - 示例写法:`children={children}`
51
+
52
+ ## 示例
53
+
54
+ 完整示例见 [example.svelte](./example.svelte)。
55
+ ```svelte
56
+ <script lang="ts">
57
+ import CriteriaField from '@ticatec/uniface-element/CriteriaField';
58
+ </script>
59
+
60
+ <CriteriaField
61
+ label="示例标签"
62
+ >
63
+ <div>在这里放置子内容</div>
64
+ </CriteriaField>
65
+ ```
66
+
67
+ ## 源码
68
+
69
+ - `src/lib/layouts/criteria_field/CriteriaField.svelte`
@@ -0,0 +1,9 @@
1
+ <script lang="ts">
2
+ import CriteriaField from '@ticatec/uniface-element/CriteriaField';
3
+ </script>
4
+
5
+ <CriteriaField
6
+ label="示例标签"
7
+ >
8
+ <div>在这里放置子内容</div>
9
+ </CriteriaField>
@@ -0,0 +1,365 @@
1
+ # DataTable
2
+
3
+ 数据表格组件。本文档由源码自动生成,类型以当前版本为准。
4
+
5
+ ## 简介
6
+
7
+ 支持列配置、选择、操作、冻结和扩展行的数据表格。
8
+
9
+ ## 适用场景
10
+
11
+ - 企业列表页和大数据管理界面
12
+ - 需要排序、选择、自定义单元格或行操作
13
+
14
+ ## 导入
15
+
16
+ ```ts
17
+ import DataTable from '@ticatec/uniface-element/DataTable';
18
+ ```
19
+
20
+ ## 属性
21
+
22
+ | 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
23
+ | --- | --- | --- | --- | --- | --- | --- |
24
+ | `columns` | 是 | `Array<DataColumn>` | 是 | `—` | 否 | 表格列定义,控制字段、标题、宽度、格式化、链接和自定义渲染。 |
25
+ | `actionsColumn` | 否 | `ActionsColumn<T> \| null` | 否 | `null` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
26
+ | `indicatorColumn` | 否 | `IndicatorColumn \| null` | 否 | `null` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
27
+ | `rowHeight` | 否 | `number` | 否 | `42` | 否 | 高度配置,数值单位为像素。 |
28
+ | `headerHeight` | 否 | `number` | 否 | `48` | 否 | 高度配置,数值单位为像素。 |
29
+ | `list` | 是 | `Array<T>` | 是 | `—` | 否 | 组件展示的数据集合。数据项结构由相关列、字段映射或渲染器决定。 |
30
+ | `selectedRows` | 是 | `Array<T>` | 否 | `$bindable([])` | 是 | 当前选中的行数据数组,推荐使用 `bind:selectedRows`;数组项与 `list` 中的数据引用一致。 |
31
+ | `inlineRowHeight` | 是 | `number` | 否 | `$bindable(80)` | 是 | 高度配置,数值单位为像素。 |
32
+ | `rowBorder` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
33
+ | `colBorder` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
34
+ | `emptyIndicator` | 否 | `string` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
35
+ | `getRowFontStyle` | 否 | `GetRowFontStyle<T>` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
36
+ | `style` | 否 | `string` | 否 | `''` | 否 | 附加到组件根元素的内联样式。 |
37
+
38
+ > 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
39
+
40
+ ## 重要属性说明
41
+
42
+ ### `columns`
43
+
44
+ 表格列定义,控制字段、标题、宽度、格式化、链接和自定义渲染。
45
+
46
+ - 类型:`Array<DataColumn>`
47
+ - 默认值:`—`
48
+ - 示例写法:`columns={[
49
+ {field: 'name', text: '姓名', width: 160},
50
+ {field: 'department', text: '部门', width: 180}
51
+ ]}`
52
+
53
+ ### `list`
54
+
55
+ 组件展示的数据集合。数据项结构由相关列、字段映射或渲染器决定。
56
+
57
+ - 类型:`Array<T>`
58
+ - 默认值:`—`
59
+ - 示例写法:`list={[
60
+ {id: 1, name: '张三', department: '研发部'},
61
+ {id: 2, name: '李四', department: '产品部'}
62
+ ]}`
63
+
64
+ ### `selectedRows`
65
+
66
+ 当前选中的行数据数组,推荐使用 `bind:selectedRows`;数组项与 `list` 中的数据引用一致。
67
+
68
+ - 类型:`Array<T>`
69
+ - 默认值:`$bindable([])`
70
+ - 推荐写法:`bind:selectedRows`
71
+
72
+ ### `inlineRowHeight`
73
+
74
+ 高度配置,数值单位为像素。
75
+
76
+ - 类型:`number`
77
+ - 默认值:`$bindable(80)`
78
+ - 推荐写法:`bind:inlineRowHeight`
79
+
80
+ ## 相关类型定义
81
+
82
+ 以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
83
+
84
+ ### `DataColumn`
85
+
86
+ ```ts
87
+ export default interface DataColumn {
88
+
89
+ /**
90
+ * 列头文字
91
+ */
92
+ text: string;
93
+
94
+ /**
95
+ * 对应的字段/属性名
96
+ */
97
+ field?: string;
98
+
99
+ /**
100
+ * 是否冻结在数据表中,如果前面的frozen是false,那么就无效
101
+ */
102
+ frozen?: boolean;
103
+
104
+ /**
105
+ * 对齐方式
106
+ */
107
+ align?: 'left' | 'center' | 'right';
108
+
109
+ /**
110
+ *
111
+ */
112
+ width: number;
113
+
114
+ minWidth?: number;
115
+
116
+ /**
117
+ * 是否可以换行,默认为false
118
+ */
119
+ warp?: boolean;
120
+
121
+ /**
122
+ * 单元格转换函数
123
+ */
124
+ formatter?: FormatCell;
125
+
126
+ /**
127
+ * 是否将单元格内容作为可信 HTML 渲染({@html}),而非纯文本转义。
128
+ * 仅当 field/formatter 输出为可信标记时才应设为 true。
129
+ */
130
+ renderHTML?: boolean;
131
+
132
+ /**
133
+ * @deprecated 请使用 renderHTML;名称容易被误读为"转义 HTML",
134
+ * 实际含义相反——设为 true 会把内容作为可信 HTML 渲染。仍受支持以兼容旧调用。
135
+ */
136
+ escapeHTML?: boolean;
137
+
138
+ /**
139
+ * 超链接设置
140
+ */
141
+ href?: HrefBuilder;
142
+
143
+ /**
144
+ * 是否生产hint
145
+ */
146
+ hint?: CellHint;
147
+
148
+ /**
149
+ * 渲染器
150
+ */
151
+ render?: any;
152
+
153
+ /**
154
+ *
155
+ */
156
+ visible?: boolean;
157
+
158
+ /**
159
+ *
160
+ */
161
+ resizable?: boolean;
162
+
163
+ /**
164
+ *
165
+ */
166
+ compareFunction?: CompareFunction;
167
+
168
+ /**
169
+ * 获取表格的样式
170
+ */
171
+ cellStyle?: GetCellStyle;
172
+ }
173
+ ```
174
+
175
+ ### `ActionsColumn`
176
+
177
+ ```ts
178
+ export default interface ActionsColumn<T = any> {
179
+ /**
180
+ * 宽度
181
+ */
182
+ width: number;
183
+ /**
184
+ *
185
+ */
186
+ getActions: GetRowActions<T>;
187
+
188
+ /**
189
+ * 对齐方式,默认靠左对齐
190
+ */
191
+ align?: 'left' | 'center';
192
+ }
193
+ ```
194
+
195
+ ### `IndicatorColumn`
196
+
197
+ ```ts
198
+ export default interface IndicatorColumn {
199
+ /**
200
+ *
201
+ */
202
+ width: number;
203
+ /**
204
+ *
205
+ */
206
+ selectable?: boolean;
207
+
208
+ /**
209
+ *
210
+ */
211
+ buildInlineComponent?: (data:any) => Promise<any>;
212
+
213
+
214
+ /**
215
+ * 是否显示行号
216
+ */
217
+ displayNo?: boolean
218
+ }
219
+ ```
220
+
221
+ ### `GetRowFontStyle`
222
+
223
+ ```ts
224
+ export type GetRowFontStyle<T = any> = (data: T) => RowFontStyle;
225
+ ```
226
+
227
+ ### `FormatCell`
228
+
229
+ ```ts
230
+ export type FormatCell = (value: any) => string;
231
+ ```
232
+
233
+ ### `HrefBuilder`
234
+
235
+ ```ts
236
+ export type HrefBuilder = (item: any) => Array<HrefLink> | HrefLink | string;
237
+ ```
238
+
239
+ ### `CellHint`
240
+
241
+ ```ts
242
+ export type CellHint = (value: any) => string;
243
+ ```
244
+
245
+ ### `CompareFunction`
246
+
247
+ ```ts
248
+ export type CompareFunction = (o1: any, o2: any) => number;
249
+ ```
250
+
251
+ ### `GetCellStyle`
252
+
253
+ ```ts
254
+ export type GetCellStyle = (data: any) => string;
255
+ ```
256
+
257
+ ### `GetRowActions`
258
+
259
+ ```ts
260
+ export type GetRowActions = (data: any) => Array<CellAction>;
261
+ ```
262
+
263
+ ### `RowFontStyle`
264
+
265
+ ```ts
266
+ export interface RowFontStyle {
267
+ /**
268
+ * 字体大小
269
+ */
270
+ size?: string;
271
+ /**
272
+ * 字体颜色
273
+ */
274
+ color?: string;
275
+ /**
276
+ * 字重
277
+ */
278
+ weight?: number | string;
279
+ }
280
+ ```
281
+
282
+ ### `HrefLink`
283
+
284
+ ```ts
285
+ export default interface HrefLink {
286
+ /**
287
+ * 显示超链接的文字
288
+ */
289
+ text: string;
290
+ /**
291
+ * 点击的处理函数
292
+ */
293
+ action: HrefAction;
294
+ }
295
+ ```
296
+
297
+ ### `CellAction`
298
+
299
+ ```ts
300
+ export interface CellAction {
301
+ /**
302
+ * action的文本
303
+ */
304
+ text: string;
305
+ /**
306
+ * action的类型
307
+ */
308
+ type?: ButtonType;
309
+ /**
310
+ * 点击处理
311
+ */
312
+ handle: HandleAction;
313
+ }
314
+ ```
315
+
316
+ ### `HrefAction`
317
+
318
+ ```ts
319
+ export type HrefAction = () => void;
320
+ ```
321
+
322
+ ### `ButtonType`
323
+
324
+ ```ts
325
+ export type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
326
+ ```
327
+
328
+ ### `HandleAction`
329
+
330
+ ```ts
331
+ export type HandleAction = (data: any) => Promise<void>;
332
+ ```
333
+
334
+ ## 示例
335
+
336
+ 完整示例见 [example.svelte](./example.svelte)。
337
+ ```svelte
338
+ <script lang="ts">
339
+ import DataTable from '@ticatec/uniface-element/DataTable';
340
+ let selectedRows = $state<any>([]);
341
+ let inlineRowHeight = $state<any>(80);
342
+ </script>
343
+
344
+ <DataTable
345
+ columns={[
346
+ {field: 'name', text: '姓名', width: 160},
347
+ {field: 'department', text: '部门', width: 180}
348
+ ]}
349
+ list={[
350
+ {id: 1, name: '张三', department: '研发部'},
351
+ {id: 2, name: '李四', department: '产品部'}
352
+ ]}
353
+ bind:selectedRows
354
+ bind:inlineRowHeight
355
+ rowBorder={true}
356
+ colBorder={true}
357
+ rowHeight={48}
358
+ headerHeight={48}
359
+ />
360
+ <p>当前状态:{JSON.stringify({selectedRows, inlineRowHeight})}</p>
361
+ ```
362
+
363
+ ## 源码
364
+
365
+ - `src/lib/data_table/DataTable.svelte`
@@ -0,0 +1,23 @@
1
+ <script lang="ts">
2
+ import DataTable from '@ticatec/uniface-element/DataTable';
3
+ let selectedRows = $state<any>([]);
4
+ let inlineRowHeight = $state<any>(80);
5
+ </script>
6
+
7
+ <DataTable
8
+ columns={[
9
+ {field: 'name', text: '姓名', width: 160},
10
+ {field: 'department', text: '部门', width: 180}
11
+ ]}
12
+ list={[
13
+ {id: 1, name: '张三', department: '研发部'},
14
+ {id: 2, name: '李四', department: '产品部'}
15
+ ]}
16
+ bind:selectedRows
17
+ bind:inlineRowHeight
18
+ rowBorder={true}
19
+ colBorder={true}
20
+ rowHeight={48}
21
+ headerHeight={48}
22
+ />
23
+ <p>当前状态:{JSON.stringify({selectedRows, inlineRowHeight})}</p>
@@ -0,0 +1,136 @@
1
+ # DatePicker
2
+
3
+ 表单组件。本文档由源码自动生成,类型以当前版本为准。
4
+
5
+ ## 简介
6
+
7
+ 选择单个日期的表单控件。
8
+
9
+ ## 适用场景
10
+
11
+ - 生日、计划日期和业务发生日期
12
+ - 需要格式化输入与日历选择
13
+
14
+ ## 导入
15
+
16
+ ```ts
17
+ import DatePicker from '@ticatec/uniface-element/DatePicker';
18
+ ```
19
+
20
+ ## 属性
21
+
22
+ | 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
23
+ | --- | --- | --- | --- | --- | --- | --- |
24
+ | `theme` | 否 | `string` | 否 | `undefined` | 否 | 主题样式名称,用于切换组件外观主题 |
25
+ | `tooltip` | 否 | `string` | 否 | `undefined` | 否 | 悬停提示信息,鼠标悬浮在字段上时显示 |
26
+ | `error` | 否 | `string` | 否 | `undefined` | 否 | 错误信息,用于在字段下方展示校验错误提示 |
27
+ | `disabled` | 是 | `boolean` | 否 | `false` | 否 | 是否禁用该字段,禁用后字段不可编辑且不响应交互 |
28
+ | `readonly` | 是 | `boolean` | 否 | `false` | 否 | 是否只读,只读状态下字段不可编辑但可聚焦和复制 |
29
+ | `compact` | 否 | `boolean` | 否 | `false` | 否 | 是否启用紧凑模式,紧凑模式下字段内部间距更小 |
30
+ | `variant` | 是 | `EditorVariant` | 否 | `undefined` | 否 | 编辑器外观样式变体 |
31
+ | `placeholder` | 是 | `string` | 否 | `undefined` | 否 | 占位提示文本,字段值为空时在输入区域内展示 |
32
+ | `style` | 否 | `string` | 否 | `undefined` | 否 | 自定义内联样式,会应用到字段根容器上 |
33
+ | `onfocus` | 否 | `(event: FocusEvent) => void` | 否 | `undefined` | 否 | 字段获得焦点时触发的回调 |
34
+ | `onblur` | 否 | `(event: FocusEvent) => void` | 否 | `undefined` | 否 | 字段失去焦点时触发的回调 |
35
+ | `onchange` | 是 | `(value?: any) => void` | 否 | `undefined` | 否 | 字段值发生变化时触发的回调 |
36
+ | `mandatory` | 否 | `boolean` | 否 | `false` | 否 | 是否为必填字段,必填时字段值不能为空 |
37
+ | `onkeydown` | 否 | `(event: KeyboardEvent) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
38
+ | `onkeyup` | 否 | `(event: KeyboardEvent) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
39
+ | `onkeypress` | 否 | `(event: KeyboardEvent) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
40
+ | `value` | 是 | `UniDate` | 否 | `$bindable<UniDate>()` | 是 | 组件的核心值。支持绑定时建议使用 `bind:value`,外部修改会同步到组件。 |
41
+ | `min` | 否 | `UniDate` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
42
+ | `max` | 否 | `UniDate` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
43
+
44
+ > 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
45
+
46
+ ## 重要属性说明
47
+
48
+ ### `disabled`
49
+
50
+ 是否禁用该字段,禁用后字段不可编辑且不响应交互
51
+
52
+ - 类型:`boolean`
53
+ - 默认值:`false`
54
+ - 示例写法:`disabled={false}`
55
+
56
+ ### `readonly`
57
+
58
+ 是否只读,只读状态下字段不可编辑但可聚焦和复制
59
+
60
+ - 类型:`boolean`
61
+ - 默认值:`false`
62
+ - 示例写法:`readonly={false}`
63
+
64
+ ### `variant`
65
+
66
+ 编辑器外观样式变体
67
+
68
+ - 类型:`EditorVariant`
69
+ - 默认值:`undefined`
70
+ - 示例写法:`variant="plain"`
71
+
72
+ ### `placeholder`
73
+
74
+ 占位提示文本,字段值为空时在输入区域内展示
75
+
76
+ - 类型:`string`
77
+ - 默认值:`undefined`
78
+ - 示例写法:`placeholder="请输入或选择"`
79
+
80
+ ### `onchange`
81
+
82
+ 字段值发生变化时触发的回调
83
+
84
+ - 类型:`(value?: any) => void`
85
+ - 默认值:`undefined`
86
+ - 示例写法:`onchange={async (...args: any[]) => { console.log('onchange', ...args); return true; }}`
87
+
88
+ ### `value`
89
+
90
+ 组件的核心值。支持绑定时建议使用 `bind:value`,外部修改会同步到组件。
91
+
92
+ - 类型:`UniDate`
93
+ - 默认值:`$bindable<UniDate>()`
94
+ - 推荐写法:`bind:value`
95
+
96
+ ## 相关类型定义
97
+
98
+ 以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
99
+
100
+ ### `EditorVariant`
101
+
102
+ ```ts
103
+ export type EditorVariant = '' | 'plain' | 'outlined' | 'filled';
104
+ ```
105
+
106
+ ### `UniDate`
107
+
108
+ ```ts
109
+ export type UniDate = dayjs.Dayjs | Date | string | undefined;
110
+ ```
111
+
112
+ ## 示例
113
+
114
+ 完整示例见 [example.svelte](./example.svelte)。
115
+ ```svelte
116
+ <script lang="ts">
117
+ import DatePicker from '@ticatec/uniface-element/DatePicker';
118
+ let value = $state<any>('2026-08-22');
119
+ </script>
120
+
121
+ <DatePicker
122
+ bind:value
123
+ onchange={async (...args: any[]) => { console.log('onchange', ...args); return true; }}
124
+ onfocus={async (...args: any[]) => { console.log('onfocus', ...args); return true; }}
125
+ variant="plain"
126
+ placeholder="请输入或选择"
127
+ disabled={false}
128
+ readonly={false}
129
+ compact={true}
130
+ />
131
+ <p>当前状态:{JSON.stringify({value})}</p>
132
+ ```
133
+
134
+ ## 源码
135
+
136
+ - `src/lib/form/date_picker/DatePicker.svelte`
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import DatePicker from '@ticatec/uniface-element/DatePicker';
3
+ let value = $state<any>('2026-08-22');
4
+ </script>
5
+
6
+ <DatePicker
7
+ bind:value
8
+ onchange={async (...args: any[]) => { console.log('onchange', ...args); return true; }}
9
+ onfocus={async (...args: any[]) => { console.log('onfocus', ...args); return true; }}
10
+ variant="plain"
11
+ placeholder="请输入或选择"
12
+ disabled={false}
13
+ readonly={false}
14
+ compact={true}
15
+ />
16
+ <p>当前状态:{JSON.stringify({value})}</p>