@ticatec/uniface-element 5.0.1 → 5.0.3

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 (261) 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 +36 -5
  36. package/dist/form/common_editor/CommonPicker.svelte +11 -4
  37. package/dist/form/common_editor/CommonPopupEditor.svelte +11 -2
  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/number_editor/NumberEditor.svelte +2 -0
  52. package/dist/form/options_multi_select/OptionsMultiSelect.svelte +19 -3
  53. package/dist/form/options_select/OptionsSelect.svelte +15 -6
  54. package/dist/form/options_select/OptionsSelect.svelte.d.ts +39 -17
  55. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +12 -3
  56. package/dist/form/search_box/SearchBox.svelte +2 -1
  57. package/dist/form/switch/Switch.svelte +4 -4
  58. package/dist/form/text_editor/PasswordEditor.svelte +2 -1
  59. package/dist/form/text_editor/TextEditor.svelte +2 -1
  60. package/dist/form/time_editor/TimeEditor.svelte +2 -0
  61. package/dist/form/unit-number-editor/UnitNumberEditor.svelte +13 -2
  62. package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +1 -0
  63. package/dist/general/button/Button.svelte +3 -0
  64. package/dist/general/button/Button.svelte.d.ts +1 -0
  65. package/dist/general/button/IconButton.svelte +3 -1
  66. package/dist/general/button/IconButton.svelte.d.ts +1 -0
  67. package/dist/general/button/TextButton.svelte +3 -0
  68. package/dist/general/button/TextButton.svelte.d.ts +1 -0
  69. package/dist/general/icon/Icon.svelte +18 -1
  70. package/dist/general/tag/Tag.svelte +9 -1
  71. package/dist/navigation/nav_menu/NavigatorMenu.svelte +2 -2
  72. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +10 -1
  73. package/dist/navigation/navigator/Navigator.svelte +17 -17
  74. package/dist/navigation/page-stack/PageStack.svelte +160 -0
  75. package/dist/navigation/page-stack/PageStack.svelte.d.ts +24 -0
  76. package/dist/navigation/page-stack/PageStackContext.d.ts +25 -0
  77. package/dist/navigation/page-stack/PageStackContext.js +12 -0
  78. package/dist/navigation/page-stack/PageStackFrame.svelte +24 -0
  79. package/dist/navigation/page-stack/PageStackFrame.svelte.d.ts +11 -0
  80. package/dist/navigation/page-stack/README.md +154 -0
  81. package/dist/navigation/page-stack/README_CN.md +154 -0
  82. package/dist/navigation/page-stack/index.d.ts +6 -0
  83. package/dist/navigation/page-stack/index.js +4 -0
  84. package/dist/navigation/pagination/Pagination.svelte +114 -14
  85. package/dist/navigation/tabs/Tabs.svelte +42 -10
  86. package/dist/navigation/tabs/Tabs.svelte.d.ts +2 -2
  87. package/dist/overlay/common/FloatingPanel.svelte +3 -11
  88. package/dist/overlay/common/FullscreenOverlay.svelte +27 -3
  89. package/dist/overlay/common/FullscreenOverlay.svelte.d.ts +6 -27
  90. package/dist/overlay/common/ModalPopover.svelte +18 -2
  91. package/dist/overlay/common/Popover.svelte +56 -57
  92. package/dist/overlay/common/Popover.svelte.d.ts +1 -5
  93. package/dist/overlay/common/escapeClose.d.ts +28 -0
  94. package/dist/overlay/common/escapeClose.js +47 -0
  95. package/dist/overlay/common/focusTrap.d.ts +8 -0
  96. package/dist/overlay/common/focusTrap.js +83 -0
  97. package/dist/overlay/common/mountSingleton.d.ts +27 -0
  98. package/dist/overlay/common/mountSingleton.js +45 -0
  99. package/dist/overlay/common/outsideClick.d.ts +28 -0
  100. package/dist/overlay/common/outsideClick.js +20 -0
  101. package/dist/overlay/common/scrollLock.d.ts +8 -0
  102. package/dist/overlay/common/scrollLock.js +49 -0
  103. package/dist/overlay/context-menu/ContextMenu.svelte.js +2 -15
  104. package/dist/overlay/context-menu/ContextMenuPanel.svelte +13 -1
  105. package/dist/overlay/dialog/Dialog.svelte +46 -29
  106. package/dist/overlay/dialog/DialogManager.svelte.js +7 -9
  107. package/dist/overlay/drawer/Drawer.svelte +30 -3
  108. package/dist/overlay/indicator/Indicator.svelte.js +2 -15
  109. package/dist/overlay/indicator/IndicatorPanel.svelte +4 -1
  110. package/dist/overlay/message-box/MessageBox.svelte.js +2 -15
  111. package/dist/overlay/message-box/MessageBoxPanel.svelte +19 -3
  112. package/dist/overlay/toast/Toast.svelte.js +2 -15
  113. package/dist/overlay/toast/ToastPanel.svelte +1 -1
  114. package/dist/overlay/tooltip/Tooltip.svelte +1 -1
  115. package/dist/ticatec-uniface-web.css +102 -7
  116. package/dist/types.d.ts +4 -3
  117. package/docs/components/README.md +133 -0
  118. package/docs/components/accordion/README.md +60 -0
  119. package/docs/components/accordion/example.svelte +7 -0
  120. package/docs/components/action-bar/README.md +114 -0
  121. package/docs/components/action-bar/example.svelte +7 -0
  122. package/docs/components/app-top-bar/README.md +60 -0
  123. package/docs/components/app-top-bar/example.svelte +9 -0
  124. package/docs/components/attachment-files/README.md +332 -0
  125. package/docs/components/attachment-files/example.svelte +16 -0
  126. package/docs/components/box/README.md +63 -0
  127. package/docs/components/box/example.svelte +10 -0
  128. package/docs/components/breadcrumbs/README.md +86 -0
  129. package/docs/components/breadcrumbs/example.svelte +11 -0
  130. package/docs/components/button/README.md +103 -0
  131. package/docs/components/button/example.svelte +10 -0
  132. package/docs/components/card/README.md +113 -0
  133. package/docs/components/card/example.svelte +10 -0
  134. package/docs/components/cascade-options-select/README.md +162 -0
  135. package/docs/components/cascade-options-select/example.svelte +18 -0
  136. package/docs/components/checkbox/README.md +103 -0
  137. package/docs/components/checkbox/example.svelte +15 -0
  138. package/docs/components/classic-layout/README.md +76 -0
  139. package/docs/components/classic-layout/example.svelte +16 -0
  140. package/docs/components/color-picker/README.md +132 -0
  141. package/docs/components/color-picker/example.svelte +16 -0
  142. package/docs/components/columns-layout/README.md +70 -0
  143. package/docs/components/columns-layout/example.svelte +12 -0
  144. package/docs/components/common-dialog/README.md +109 -0
  145. package/docs/components/common-dialog/example.svelte +12 -0
  146. package/docs/components/concise-data-table/README.md +307 -0
  147. package/docs/components/concise-data-table/example.svelte +16 -0
  148. package/docs/components/context-menu/README.md +99 -0
  149. package/docs/components/context-menu/example.svelte +10 -0
  150. package/docs/components/criteria-field/README.md +69 -0
  151. package/docs/components/criteria-field/example.svelte +9 -0
  152. package/docs/components/data-table/README.md +365 -0
  153. package/docs/components/data-table/example.svelte +23 -0
  154. package/docs/components/date-picker/README.md +136 -0
  155. package/docs/components/date-picker/example.svelte +16 -0
  156. package/docs/components/date-range/README.md +122 -0
  157. package/docs/components/date-range/example.svelte +15 -0
  158. package/docs/components/date-time-picker/README.md +142 -0
  159. package/docs/components/date-time-picker/example.svelte +16 -0
  160. package/docs/components/dialog/README.md +174 -0
  161. package/docs/components/dialog/example.svelte +13 -0
  162. package/docs/components/dialog-board/README.md +41 -0
  163. package/docs/components/dialog-board/example.svelte +5 -0
  164. package/docs/components/drawer/README.md +70 -0
  165. package/docs/components/drawer/example.svelte +12 -0
  166. package/docs/components/flex-form/README.md +55 -0
  167. package/docs/components/flex-form/example.svelte +7 -0
  168. package/docs/components/flex-row-form/README.md +56 -0
  169. package/docs/components/flex-row-form/example.svelte +7 -0
  170. package/docs/components/form-field/README.md +84 -0
  171. package/docs/components/form-field/example.svelte +10 -0
  172. package/docs/components/full-screen-overlay/README.md +66 -0
  173. package/docs/components/full-screen-overlay/example.svelte +11 -0
  174. package/docs/components/grid-form/README.md +75 -0
  175. package/docs/components/grid-form/example.svelte +9 -0
  176. package/docs/components/group-check-box/README.md +147 -0
  177. package/docs/components/group-check-box/example.svelte +21 -0
  178. package/docs/components/group-radio-box/README.md +144 -0
  179. package/docs/components/group-radio-box/example.svelte +21 -0
  180. package/docs/components/header-layout/README.md +65 -0
  181. package/docs/components/header-layout/example.svelte +12 -0
  182. package/docs/components/icon/README.md +87 -0
  183. package/docs/components/icon/example.svelte +9 -0
  184. package/docs/components/icon-button/README.md +91 -0
  185. package/docs/components/icon-button/example.svelte +10 -0
  186. package/docs/components/image-files/README.md +174 -0
  187. package/docs/components/image-files/example.svelte +19 -0
  188. package/docs/components/indicator/README.md +53 -0
  189. package/docs/components/indicator/example.svelte +14 -0
  190. package/docs/components/input-options-select/README.md +163 -0
  191. package/docs/components/input-options-select/example.svelte +16 -0
  192. package/docs/components/list-box/ListItem.svelte +14 -0
  193. package/docs/components/list-box/README.md +221 -0
  194. package/docs/components/list-box/example.svelte +61 -0
  195. package/docs/components/lookup-editor/README.md +137 -0
  196. package/docs/components/lookup-editor/example.svelte +16 -0
  197. package/docs/components/memo-editor/README.md +143 -0
  198. package/docs/components/memo-editor/example.svelte +16 -0
  199. package/docs/components/message-box/README.md +68 -0
  200. package/docs/components/message-box/example.svelte +10 -0
  201. package/docs/components/navigator/README.md +75 -0
  202. package/docs/components/navigator/example.svelte +13 -0
  203. package/docs/components/navigator-menu/README.md +113 -0
  204. package/docs/components/navigator-menu/example.svelte +10 -0
  205. package/docs/components/number-editor/README.md +144 -0
  206. package/docs/components/number-editor/example.svelte +16 -0
  207. package/docs/components/number-range/README.md +116 -0
  208. package/docs/components/number-range/example.svelte +15 -0
  209. package/docs/components/options-multi-select/README.md +161 -0
  210. package/docs/components/options-multi-select/example.svelte +20 -0
  211. package/docs/components/options-select/README.md +160 -0
  212. package/docs/components/options-select/example.svelte +21 -0
  213. package/docs/components/page/README.md +77 -0
  214. package/docs/components/page/example.svelte +10 -0
  215. package/docs/components/pagination/README.md +88 -0
  216. package/docs/components/pagination/example.svelte +10 -0
  217. package/docs/components/pagination-panel/README.md +120 -0
  218. package/docs/components/pagination-panel/example.svelte +16 -0
  219. package/docs/components/popup-hint/README.md +44 -0
  220. package/docs/components/popup-hint/example.svelte +5 -0
  221. package/docs/components/progress-bar/README.md +64 -0
  222. package/docs/components/progress-bar/example.svelte +8 -0
  223. package/docs/components/progress-step-bar/README.md +93 -0
  224. package/docs/components/progress-step-bar/example.svelte +7 -0
  225. package/docs/components/prompts-text-editor/README.md +146 -0
  226. package/docs/components/prompts-text-editor/example.svelte +17 -0
  227. package/docs/components/radio-button/README.md +121 -0
  228. package/docs/components/radio-button/example.svelte +18 -0
  229. package/docs/components/rows-layout/README.md +70 -0
  230. package/docs/components/rows-layout/example.svelte +12 -0
  231. package/docs/components/search-box/README.md +136 -0
  232. package/docs/components/search-box/example.svelte +16 -0
  233. package/docs/components/separator/README.md +44 -0
  234. package/docs/components/separator/example.svelte +7 -0
  235. package/docs/components/sidebar-layout/README.md +65 -0
  236. package/docs/components/sidebar-layout/example.svelte +12 -0
  237. package/docs/components/split/README.md +48 -0
  238. package/docs/components/split/example.svelte +8 -0
  239. package/docs/components/switch/README.md +77 -0
  240. package/docs/components/switch/example.svelte +11 -0
  241. package/docs/components/tabs/README.md +127 -0
  242. package/docs/components/tabs/example.svelte +22 -0
  243. package/docs/components/tag/README.md +63 -0
  244. package/docs/components/tag/example.svelte +8 -0
  245. package/docs/components/text-button/README.md +90 -0
  246. package/docs/components/text-button/example.svelte +9 -0
  247. package/docs/components/text-editor/README.md +147 -0
  248. package/docs/components/text-editor/example.svelte +16 -0
  249. package/docs/components/time-editor/README.md +130 -0
  250. package/docs/components/time-editor/example.svelte +16 -0
  251. package/docs/components/toast/README.md +52 -0
  252. package/docs/components/toast/example.svelte +9 -0
  253. package/docs/components/tooltip/README.md +44 -0
  254. package/docs/components/tooltip/example.svelte +5 -0
  255. package/docs/components/transfer/README.md +109 -0
  256. package/docs/components/transfer/example.svelte +13 -0
  257. package/docs/components/tree-view/README.md +163 -0
  258. package/docs/components/tree-view/example.svelte +26 -0
  259. package/docs/components/unit-number-editor/README.md +192 -0
  260. package/docs/components/unit-number-editor/example.svelte +18 -0
  261. package/package.json +15 -7
@@ -1,5 +1,23 @@
1
1
  @charset "UTF-8";
2
2
  :root {
3
+ /* === Overlay z-index scale ===
4
+ A single source of truth for stacking order across every overlay
5
+ surface. Previously each component hardcoded its own literal with no
6
+ documented relationship to the others — Popover and Indicator both used
7
+ 100, and ContextMenu/FloatingPanel both used 1000, by accident rather
8
+ than by design. Consumers can override any layer; the relative order
9
+ below is what actually matters; the absolute numbers only need enough
10
+ headroom between layers for app code to slot things in between. */
11
+ --uniface-z-dialog: 20;
12
+ --uniface-z-message-box: 30;
13
+ --uniface-z-toast: 40;
14
+ --uniface-z-drawer: 99;
15
+ --uniface-z-popover: 100;
16
+ --uniface-z-indicator: 110;
17
+ --uniface-z-context-menu: 1000;
18
+ --uniface-z-floating-panel: 1010;
19
+ --uniface-z-modal-overlay: 9998;
20
+ --uniface-z-tooltip: 9999;
3
21
  /* === Color Tokens === */
4
22
  --color-primary: #0061FF;
5
23
  --color-secondary: #22BDFF;
@@ -158,7 +176,11 @@
158
176
  --uniface-card-footer-height: 40px;
159
177
  --uniface-card-color-surface: #ffffff;
160
178
  --uniface-card-color: #111827;
161
- --uniface-card-color-muted: #4b5563;
179
+ /* Card.svelte (and the component's own README/README_CN) reference
180
+ --uniface-card-text-muted; this used to be named --uniface-card-color-muted
181
+ here instead, so the header title color silently fell back to inherited
182
+ text color everywhere, in both light and dark mode. */
183
+ --uniface-card-text-muted: #4b5563;
162
184
  --uniface-card-border-color: var(--uniface-color-border-secondary);
163
185
  --uniface-card-color-inside-border: #f3f4f6;
164
186
  --uniface-card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.04);
@@ -417,6 +439,11 @@
417
439
  --uniface-treeview-chevron-hover-color: #111827;
418
440
  --uniface-treeview-item-bg: #EEF4FF;
419
441
  --uniface-treeview-item-selected-color: #0061FF;
442
+ /* The listbox body itself previously had no surface/text color of its own
443
+ — it just showed through the page background, which happened to look
444
+ fine only because most light-mode pages are white. */
445
+ --uniface-list-box-color-surface: var(--uniface-color-surface);
446
+ --uniface-list-box-color: var(--uniface-primary-color-font);
420
447
  --uniface-listbox-separator-color: #F0F0F0;
421
448
  --uniface-list-box-hover-surface: #FFFFE1;
422
449
  --uniface-list-box-selected-surface: #b1c8f6;
@@ -446,6 +473,32 @@
446
473
  --uniface-tab-action-background: #FFFFFF;
447
474
  --uniface-tab-hover-text-color: #298DFF;
448
475
  --uniface-tab-header-radius: 4px;
476
+ /* Concise Data Table Tokens
477
+ Previously these tokens didn't exist anywhere in this file at all —
478
+ ConciseListTable.svelte referenced --uniface-concise-table-row-alter-bg/
479
+ -color with light-only fallback values and otherwise used hardcoded
480
+ literals (#f5f5f5 header, #f9f9f9 hover) with no variable and no
481
+ dark-mode hook whatsoever. */
482
+ --uniface-concise-table-color-surface: var(--uniface-color-surface);
483
+ --uniface-concise-table-color: var(--uniface-primary-color-font);
484
+ --uniface-concise-table-header-surface: #f5f5f5;
485
+ --uniface-concise-table-row-alter-bg: #F8FAFC;
486
+ --uniface-concise-table-row-alter-color: #374151;
487
+ --uniface-concise-table-row-hover-bg: #f9f9f9;
488
+ /* Navigator Tokens
489
+ Previously the component declared its own local custom properties
490
+ (scoped to .uniface-navigator-panel) instead of reading from this file,
491
+ and one of them pointed at --uniface-application-bg, a token that was
492
+ never defined anywhere — so the panel background was always invalid/
493
+ unset (transparent) and had no light/dark distinction at all. */
494
+ --uniface-navigator-background-color: var(--uniface-color-surface);
495
+ --uniface-navigator-completed-text-color: #374151;
496
+ --uniface-navigator-not-start-text-color: #6B7280;
497
+ --uniface-navigator-warning-dot-color: #C62828;
498
+ --uniface-navigator-hover-text-color: #298DFF;
499
+ --uniface-navigator-active-text-color: #0061FF;
500
+ --uniface-navigator-highlight-text-color: #0061FF;
501
+ --uniface-navigator-connector-color: #D1D5DB;
449
502
  }
450
503
 
451
504
  /* ============================================
@@ -531,6 +584,20 @@
531
584
  --uniface-treeview-chevron-hover-color: #e5e7eb;
532
585
  --uniface-treeview-item-bg: rgba(255, 255, 255, 0.08);
533
586
  --uniface-treeview-item-selected-color: #60a5fa;
587
+ /* ListBox Tokens - Dark Theme
588
+ Previously entirely missing: every ListBox token only had a light value
589
+ in :root, with no [data-theme="dark"] override, so the box stayed
590
+ light-themed (light header/footer surfaces, near-white hover/selected
591
+ highlight colors) regardless of dark mode. */
592
+ --uniface-list-box-color-surface: var(--uniface-color-surface);
593
+ --uniface-list-box-color: #e5e7eb;
594
+ --uniface-listbox-separator-color: rgba(255, 255, 255, 0.08);
595
+ --uniface-list-box-hover-surface: rgba(255, 255, 255, 0.08);
596
+ --uniface-list-box-selected-surface: rgba(59, 130, 246, 0.24);
597
+ --uniface-list-box-fotter-top-border: 1px solid rgba(255, 255, 255, 0.08);
598
+ --uniface-list-box-border-color: #3a3a3a;
599
+ --uniface-list-box-header-surface: #262626;
600
+ --uniface-list-box-footer-surface: #262626;
534
601
  /* Menu Separator */
535
602
  --uniface-menu-separator-color: rgba(255, 255, 255, 0.08);
536
603
  /* Drawer Tokens */
@@ -543,6 +610,18 @@
543
610
  --uniface-box-color-header-title: var(--uniface-primary-color-font);
544
611
  --uniface-box-color-footer-surface: var(--uniface-color-surface-variant);
545
612
  --uniface-box-color-footer-title: var(--uniface-second-color-font);
613
+ /* Card Tokens - Dark Theme
614
+ Previously entirely missing: Card only had light-mode values in :root,
615
+ with no [data-theme="dark"] override, so cards stayed white/light
616
+ regardless of dark mode. */
617
+ --uniface-card-color-surface: #262626;
618
+ --uniface-card-color: #e5e7eb;
619
+ --uniface-card-text-muted: #9ca3af;
620
+ --uniface-card-color-inside-border: rgba(255, 255, 255, 0.08);
621
+ --uniface-card-shadow: 0 4px 12px rgba(0, 0, 0, 0.5), 0 16px 32px rgba(0, 0, 0, 0.4);
622
+ --uniface-card-color-action-bar: #9ca3af;
623
+ --uniface-card-color-action-bar-hover: #ffffff;
624
+ --uniface-card-color-action-bar-disabled: #52525b;
546
625
  --uniface-page-color-text: var(--uniface-primary-color-font);
547
626
  --uniface-page-color-surface: var(--uniface-color-surface);
548
627
  --uniface-page-border-color: rgba(255, 255, 255, 0.06);
@@ -745,6 +824,22 @@
745
824
  --uniface-tab-action-background: #262626;
746
825
  --uniface-tab-hover-text-color: #60A5FA;
747
826
  --uniface-tab-header-radius: 4px;
827
+ /* Concise Data Table Tokens - Dark Theme */
828
+ --uniface-concise-table-color-surface: var(--uniface-color-surface);
829
+ --uniface-concise-table-color: #e5e7eb;
830
+ --uniface-concise-table-header-surface: #262626;
831
+ --uniface-concise-table-row-alter-bg: #1f1f1f;
832
+ --uniface-concise-table-row-alter-color: #e5e7eb;
833
+ --uniface-concise-table-row-hover-bg: rgba(255, 255, 255, 0.08);
834
+ /* Navigator Tokens - Dark Theme */
835
+ --uniface-navigator-background-color: var(--uniface-color-surface);
836
+ --uniface-navigator-completed-text-color: #e5e7eb;
837
+ --uniface-navigator-not-start-text-color: #9ca3af;
838
+ --uniface-navigator-warning-dot-color: #f87171;
839
+ --uniface-navigator-hover-text-color: #60a5fa;
840
+ --uniface-navigator-active-text-color: #60a5fa;
841
+ --uniface-navigator-highlight-text-color: #60a5fa;
842
+ --uniface-navigator-connector-color: #3a3a3a;
748
843
  }
749
844
 
750
845
  * {
@@ -1098,21 +1193,21 @@
1098
1193
  .uniface-form-editor .uniface-common-editor:focus-within.number-input {
1099
1194
  text-align: left;
1100
1195
  }
1101
- .uniface-form-editor .uniface-common-editor:focus-within .clean-icon i {
1196
+ .uniface-form-editor .uniface-common-editor:focus-within .clean-icon.has-value i {
1102
1197
  display: block;
1103
1198
  position: relative;
1104
1199
  }
1105
- .uniface-form-editor .uniface-common-editor:focus-within .clean-icon i:active {
1200
+ .uniface-form-editor .uniface-common-editor:focus-within .clean-icon.has-value i:active {
1106
1201
  top: 1px;
1107
1202
  }
1108
1203
  .uniface-form-editor .uniface-common-editor:has(.clean-icon) input {
1109
1204
  padding-right: 14px;
1110
1205
  }
1111
- .uniface-form-editor .uniface-common-picker:hover .clean-icon i {
1206
+ .uniface-form-editor .uniface-common-picker:hover .clean-icon.has-value i {
1112
1207
  display: block;
1113
1208
  position: relative;
1114
1209
  }
1115
- .uniface-form-editor .uniface-common-picker:hover .clean-icon i:active {
1210
+ .uniface-form-editor .uniface-common-picker:hover .clean-icon.has-value i:active {
1116
1211
  top: 1px;
1117
1212
  }
1118
1213
  .uniface-form-editor .uniface-common-picker:has(.clean-icon) input {
@@ -1223,7 +1318,7 @@
1223
1318
  and FloatingPanel.svelte, which use the same fixed + viewport-relative-coords pattern. */
1224
1319
  position: fixed;
1225
1320
  display: block;
1226
- z-index: 100;
1321
+ z-index: var(--uniface-z-popover, 100);
1227
1322
  opacity: 1;
1228
1323
  visibility: visible;
1229
1324
  transition: opacity 0.3s ease-in-out;
@@ -1590,7 +1685,7 @@
1590
1685
  width: 100vw;
1591
1686
  height: 100vh;
1592
1687
  background-color: rgba(0, 0, 0, 0.45);
1593
- z-index: 9998;
1688
+ z-index: var(--uniface-z-modal-overlay, 9998);
1594
1689
  opacity: 1;
1595
1690
  transition: opacity 0.15s ease;
1596
1691
  }
package/dist/types.d.ts CHANGED
@@ -68,9 +68,9 @@ export type ButtonActions = Array<ButtonAction | null>;
68
68
  */
69
69
  export type TabActionHandler = (tab: any) => void;
70
70
  /**
71
- * 标签页关闭处理器
71
+ * 标签页关闭处理器:返回 false(含 Promise<false>)可阻止关闭
72
72
  */
73
- export type TabCloseHandler = (tab: any) => Promise<boolean>;
73
+ export type TabCloseHandler = (tab: any) => boolean | Promise<boolean>;
74
74
  /**
75
75
  * 标签页渲染器
76
76
  */
@@ -175,8 +175,9 @@ export interface RowFontStyle {
175
175
  export type GetCellStyle = (data: any) => string;
176
176
  /**
177
177
  * 获取整行的样式
178
+ * @template T Row data type. Defaults to `any` so existing untyped usage keeps compiling.
178
179
  */
179
- export type GetRowFontStyle = (data: any) => RowFontStyle;
180
+ export type GetRowFontStyle<T = any> = (data: T) => RowFontStyle;
180
181
  /**
181
182
  *
182
183
  */
@@ -0,0 +1,133 @@
1
+ # Uniface Element 组件文档
2
+
3
+ 本目录依据 `package.json exports` 和组件源码自动生成,共收录 **71** 个公开组件。每个组件都包含独立属性文档和可复制的 Svelte 示例。
4
+
5
+ - 重新生成:`pnpm run docs:components`
6
+ - 属性来源:组件内 `Props` 接口及 `$props()` 默认值
7
+ - 文档不复用历史 README,避免旧 API 污染
8
+
9
+ ## 表单
10
+
11
+ | 组件 | 导入路径 | 示例 | 属性数 |
12
+ | --- | --- | --- | ---: |
13
+ | [AttachmentFiles](./attachment-files/README.md) | `@ticatec/uniface-element/AttachmentFiles` | [示例](./attachment-files/example.svelte) | 20 |
14
+ | [CascadeOptionsSelect](./cascade-options-select/README.md) | `@ticatec/uniface-element/CascadeOptionsSelect` | [示例](./cascade-options-select/example.svelte) | 27 |
15
+ | [Checkbox](./checkbox/README.md) | `@ticatec/uniface-element/Checkbox` | [示例](./checkbox/example.svelte) | 11 |
16
+ | [ColorPicker](./color-picker/README.md) | `@ticatec/uniface-element/ColorPicker` | [示例](./color-picker/example.svelte) | 13 |
17
+ | [DatePicker](./date-picker/README.md) | `@ticatec/uniface-element/DatePicker` | [示例](./date-picker/example.svelte) | 19 |
18
+ | [DateRange](./date-range/README.md) | `@ticatec/uniface-element/DateRange` | [示例](./date-range/example.svelte) | 14 |
19
+ | [DateTimePicker](./date-time-picker/README.md) | `@ticatec/uniface-element/DateTimePicker` | [示例](./date-time-picker/example.svelte) | 17 |
20
+ | [GroupCheckBox](./group-check-box/README.md) | `@ticatec/uniface-element/GroupCheckBox` | [示例](./group-check-box/example.svelte) | 20 |
21
+ | [GroupRadioBox](./group-radio-box/README.md) | `@ticatec/uniface-element/GroupRadioBox` | [示例](./group-radio-box/example.svelte) | 17 |
22
+ | [ImageFiles](./image-files/README.md) | `@ticatec/uniface-element/ImageFiles` | [示例](./image-files/example.svelte) | 9 |
23
+ | [InputOptionsSelect](./input-options-select/README.md) | `@ticatec/uniface-element/InputOptionsSelect` | [示例](./input-options-select/example.svelte) | 23 |
24
+ | [LookupEditor](./lookup-editor/README.md) | `@ticatec/uniface-element/LookupEditor` | [示例](./lookup-editor/example.svelte) | 17 |
25
+ | [MemoEditor](./memo-editor/README.md) | `@ticatec/uniface-element/MemoEditor` | [示例](./memo-editor/example.svelte) | 24 |
26
+ | [NumberEditor](./number-editor/README.md) | `@ticatec/uniface-element/NumberEditor` | [示例](./number-editor/example.svelte) | 25 |
27
+ | [NumberRange](./number-range/README.md) | `@ticatec/uniface-element/NumberRange` | [示例](./number-range/example.svelte) | 14 |
28
+ | [OptionsMultiSelect](./options-multi-select/README.md) | `@ticatec/uniface-element/OptionsMultiSelect` | [示例](./options-multi-select/example.svelte) | 27 |
29
+ | [OptionsSelect](./options-select/README.md) | `@ticatec/uniface-element/OptionsSelect` | [示例](./options-select/example.svelte) | 25 |
30
+ | [PromptsTextEditor](./prompts-text-editor/README.md) | `@ticatec/uniface-element/PromptsTextEditor` | [示例](./prompts-text-editor/example.svelte) | 18 |
31
+ | [RadioButton](./radio-button/README.md) | `@ticatec/uniface-element/RadioButton` | [示例](./radio-button/example.svelte) | 10 |
32
+ | [SearchBox](./search-box/README.md) | `@ticatec/uniface-element/SearchBox` | [示例](./search-box/example.svelte) | 17 |
33
+ | [Switch](./switch/README.md) | `@ticatec/uniface-element/Switch` | [示例](./switch/example.svelte) | 5 |
34
+ | [TextEditor](./text-editor/README.md) | `@ticatec/uniface-element/TextEditor` | [示例](./text-editor/example.svelte) | 22 |
35
+ | [TimeEditor](./time-editor/README.md) | `@ticatec/uniface-element/TimeEditor` | [示例](./time-editor/example.svelte) | 19 |
36
+ | [UnitNumberEditor](./unit-number-editor/README.md) | `@ticatec/uniface-element/UnitNumberEditor` | [示例](./unit-number-editor/example.svelte) | 18 |
37
+
38
+ ## 布局
39
+
40
+ | 组件 | 导入路径 | 示例 | 属性数 |
41
+ | --- | --- | --- | ---: |
42
+ | [ActionBar](./action-bar/README.md) | `@ticatec/uniface-element/ActionBar` | [示例](./action-bar/example.svelte) | 4 |
43
+ | [AppTopBar](./app-top-bar/README.md) | `@ticatec/uniface-element/AppTopBar` | [示例](./app-top-bar/example.svelte) | 6 |
44
+ | [Box](./box/README.md) | `@ticatec/uniface-element/Box` | [示例](./box/example.svelte) | 8 |
45
+ | [CriteriaField](./criteria-field/README.md) | `@ticatec/uniface-element/CriteriaField` | [示例](./criteria-field/example.svelte) | 7 |
46
+ | [FlexForm](./flex-form/README.md) | `@ticatec/uniface-element/FlexForm` | [示例](./flex-form/example.svelte) | 3 |
47
+ | [FlexRowForm](./flex-row-form/README.md) | `@ticatec/uniface-element/FlexRowForm` | [示例](./flex-row-form/example.svelte) | 4 |
48
+ | [FormField](./form-field/README.md) | `@ticatec/uniface-element/FormField` | [示例](./form-field/example.svelte) | 11 |
49
+ | [GridForm](./grid-form/README.md) | `@ticatec/uniface-element/GridForm` | [示例](./grid-form/example.svelte) | 5 |
50
+ | [Page](./page/README.md) | `@ticatec/uniface-element/Page` | [示例](./page/example.svelte) | 12 |
51
+
52
+ ## 导航
53
+
54
+ | 组件 | 导入路径 | 示例 | 属性数 |
55
+ | --- | --- | --- | ---: |
56
+ | [Breadcrumbs](./breadcrumbs/README.md) | `@ticatec/uniface-element/Breadcrumbs` | [示例](./breadcrumbs/example.svelte) | 6 |
57
+ | [Navigator](./navigator/README.md) | `@ticatec/uniface-element/Navigator` | [示例](./navigator/example.svelte) | 6 |
58
+ | [NavigatorMenu](./navigator-menu/README.md) | `@ticatec/uniface-element/NavigatorMenu` | [示例](./navigator-menu/example.svelte) | 6 |
59
+ | [Pagination](./pagination/README.md) | `@ticatec/uniface-element/Pagination` | [示例](./pagination/example.svelte) | 7 |
60
+ | [ProgressStepBar](./progress-step-bar/README.md) | `@ticatec/uniface-element/ProgressStepBar` | [示例](./progress-step-bar/example.svelte) | 4 |
61
+ | [Tabs](./tabs/README.md) | `@ticatec/uniface-element/Tabs` | [示例](./tabs/example.svelte) | 14 |
62
+
63
+ ## 反馈
64
+
65
+ | 组件 | 导入路径 | 示例 | 属性数 |
66
+ | --- | --- | --- | ---: |
67
+ | [ProgressBar](./progress-bar/README.md) | `@ticatec/uniface-element/ProgressBar` | [示例](./progress-bar/example.svelte) | 6 |
68
+
69
+ ## 浮层与弹窗
70
+
71
+ | 组件 | 导入路径 | 示例 | 属性数 |
72
+ | --- | --- | --- | ---: |
73
+ | [CommonDialog](./common-dialog/README.md) | `@ticatec/uniface-element/CommonDialog` | [示例](./common-dialog/example.svelte) | 10 |
74
+ | [Dialog](./dialog/README.md) | `@ticatec/uniface-element/Dialog` | [示例](./dialog/example.svelte) | 12 |
75
+ | [DialogBoard](./dialog-board/README.md) | `@ticatec/uniface-element/DialogBoard` | [示例](./dialog-board/example.svelte) | 0 |
76
+ | [Drawer](./drawer/README.md) | `@ticatec/uniface-element/Drawer` | [示例](./drawer/example.svelte) | 5 |
77
+ | [FullScreenOverlay](./full-screen-overlay/README.md) | `@ticatec/uniface-element/FullScreenOverlay` | [示例](./full-screen-overlay/example.svelte) | 2 |
78
+ | [PopupHint](./popup-hint/README.md) | `@ticatec/uniface-element/PopupHint` | [示例](./popup-hint/example.svelte) | 2 |
79
+ | [Tooltip](./tooltip/README.md) | `@ticatec/uniface-element/Tooltip` | [示例](./tooltip/example.svelte) | 2 |
80
+
81
+ ## 复合组件
82
+
83
+ | 组件 | 导入路径 | 示例 | 属性数 |
84
+ | --- | --- | --- | ---: |
85
+ | [PaginationPanel](./pagination-panel/README.md) | `@ticatec/uniface-element/PaginationPanel` | [示例](./pagination-panel/example.svelte) | 13 |
86
+ | [Transfer](./transfer/README.md) | `@ticatec/uniface-element/Transfer` | [示例](./transfer/example.svelte) | 11 |
87
+
88
+ ## 命令式服务
89
+
90
+ | 组件 | 导入路径 | 示例 | 属性数 |
91
+ | --- | --- | --- | ---: |
92
+ | [ContextMenu](./context-menu/README.md) | `@ticatec/uniface-element/ContextMenu` | [示例](./context-menu/example.svelte) | 8 |
93
+ | [Indicator](./indicator/README.md) | `@ticatec/uniface-element/Indicator` | [示例](./indicator/example.svelte) | 4 |
94
+ | [MessageBox](./message-box/README.md) | `@ticatec/uniface-element/MessageBox` | [示例](./message-box/example.svelte) | 9 |
95
+ | [Toast](./toast/README.md) | `@ticatec/uniface-element/Toast` | [示例](./toast/example.svelte) | 8 |
96
+
97
+ ## 数据表格
98
+
99
+ | 组件 | 导入路径 | 示例 | 属性数 |
100
+ | --- | --- | --- | ---: |
101
+ | [DataTable](./data-table/README.md) | `@ticatec/uniface-element/DataTable` | [示例](./data-table/example.svelte) | 13 |
102
+
103
+ ## 数据展示
104
+
105
+ | 组件 | 导入路径 | 示例 | 属性数 |
106
+ | --- | --- | --- | ---: |
107
+ | [Accordion](./accordion/README.md) | `@ticatec/uniface-element/Accordion` | [示例](./accordion/example.svelte) | 5 |
108
+ | [Card](./card/README.md) | `@ticatec/uniface-element/Card` | [示例](./card/example.svelte) | 8 |
109
+ | [ConciseDataTable](./concise-data-table/README.md) | `@ticatec/uniface-element/ConciseDataTable` | [示例](./concise-data-table/example.svelte) | 10 |
110
+ | [ListBox](./list-box/README.md) | `@ticatec/uniface-element/ListBox` | [示例](./list-box/example.svelte) | 21 |
111
+ | [TreeView](./tree-view/README.md) | `@ticatec/uniface-element/TreeView` | [示例](./tree-view/example.svelte) | 16 |
112
+
113
+ ## 通用
114
+
115
+ | 组件 | 导入路径 | 示例 | 属性数 |
116
+ | --- | --- | --- | ---: |
117
+ | [Button](./button/README.md) | `@ticatec/uniface-element/Button` | [示例](./button/example.svelte) | 14 |
118
+ | [Icon](./icon/README.md) | `@ticatec/uniface-element/Icon` | [示例](./icon/example.svelte) | 7 |
119
+ | [IconButton](./icon-button/README.md) | `@ticatec/uniface-element/IconButton` | [示例](./icon-button/example.svelte) | 10 |
120
+ | [Separator](./separator/README.md) | `@ticatec/uniface-element/Separator` | [示例](./separator/example.svelte) | 2 |
121
+ | [Split](./split/README.md) | `@ticatec/uniface-element/Split` | [示例](./split/example.svelte) | 5 |
122
+ | [Tag](./tag/README.md) | `@ticatec/uniface-element/Tag` | [示例](./tag/example.svelte) | 10 |
123
+ | [TextButton](./text-button/README.md) | `@ticatec/uniface-element/TextButton` | [示例](./text-button/example.svelte) | 10 |
124
+
125
+ ## 应用布局
126
+
127
+ | 组件 | 导入路径 | 示例 | 属性数 |
128
+ | --- | --- | --- | ---: |
129
+ | [ClassicLayout](./classic-layout/README.md) | `@ticatec/uniface-element/app-layout/ClassicLayout` | [示例](./classic-layout/example.svelte) | 15 |
130
+ | [ColumnsLayout](./columns-layout/README.md) | `@ticatec/uniface-element/app-layout/ColumnsLayout` | [示例](./columns-layout/example.svelte) | 13 |
131
+ | [HeaderLayout](./header-layout/README.md) | `@ticatec/uniface-element/app-layout/HeaderLayout` | [示例](./header-layout/example.svelte) | 8 |
132
+ | [RowsLayout](./rows-layout/README.md) | `@ticatec/uniface-element/app-layout/RowsLayout` | [示例](./rows-layout/example.svelte) | 13 |
133
+ | [SidebarLayout](./sidebar-layout/README.md) | `@ticatec/uniface-element/app-layout/SidebarLayout` | [示例](./sidebar-layout/example.svelte) | 8 |
@@ -0,0 +1,60 @@
1
+ # Accordion
2
+
3
+ 数据展示组件。本文档由源码自动生成,类型以当前版本为准。
4
+
5
+ ## 简介
6
+
7
+ 可折叠的内容分组容器,用较小空间组织层级信息。
8
+
9
+ ## 适用场景
10
+
11
+ - FAQ、设置分组和详情折叠区
12
+ - 需要按标题展开或收起大段内容
13
+
14
+ ## 导入
15
+
16
+ ```ts
17
+ import Accordion from '@ticatec/uniface-element/Accordion';
18
+ ```
19
+
20
+ ## 属性
21
+
22
+ | 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
23
+ | --- | --- | --- | --- | --- | --- | --- |
24
+ | `style` | 否 | `string` | 否 | `''` | 否 | 附加到组件根元素的内联样式。 |
25
+ | `compact` | 否 | `boolean` | 否 | `false` | 否 | 启用紧凑尺寸,减少组件高度和内边距。 |
26
+ | `accordions` | 否 | `AccordionItem[]` | 否 | `[]` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
27
+ | `exclusive` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
28
+ | `theme` | 否 | `string` | 否 | `'theme-light'` | 否 | 组件主题标识,通常通过 `data-theme` 选择对应 CSS 变量。 |
29
+
30
+ > 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
31
+
32
+ ## 相关类型定义
33
+
34
+ 以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
35
+
36
+ ### `AccordionItem`
37
+
38
+ ```ts
39
+ export default interface AccordionItem {
40
+ title: string;
41
+ content: Snippet;
42
+ }
43
+ ```
44
+
45
+ ## 示例
46
+
47
+ 完整示例见 [example.svelte](./example.svelte)。
48
+ ```svelte
49
+ <script lang="ts">
50
+ import Accordion from '@ticatec/uniface-element/Accordion';
51
+ </script>
52
+
53
+ <Accordion
54
+ compact={true}
55
+ />
56
+ ```
57
+
58
+ ## 源码
59
+
60
+ - `src/lib/data_display/accordion/Accordion.svelte`
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import Accordion from '@ticatec/uniface-element/Accordion';
3
+ </script>
4
+
5
+ <Accordion
6
+ compact={true}
7
+ />
@@ -0,0 +1,114 @@
1
+ # ActionBar
2
+
3
+ 布局组件。本文档由源码自动生成,类型以当前版本为准。
4
+
5
+ ## 简介
6
+
7
+ 集中排列页面或区域操作按钮的工具栏。
8
+
9
+ ## 适用场景
10
+
11
+ - 表单保存、取消和删除操作区
12
+ - 列表页批量操作与页面级命令
13
+
14
+ ## 导入
15
+
16
+ ```ts
17
+ import ActionBar from '@ticatec/uniface-element/ActionBar';
18
+ ```
19
+
20
+ ## 属性
21
+
22
+ | 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
23
+ | --- | --- | --- | --- | --- | --- | --- |
24
+ | `buttons` | 否 | `ButtonActions` | 否 | `[]` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
25
+ | `style` | 否 | `string` | 否 | `undefined` | 否 | 附加到组件根元素的内联样式。 |
26
+ | `theme` | 否 | `string` | 否 | `undefined` | 否 | 组件主题标识,通常通过 `data-theme` 选择对应 CSS 变量。 |
27
+ | `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
28
+
29
+ > 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
30
+
31
+ ## 重要属性说明
32
+
33
+ ### `children`
34
+
35
+ Svelte Snippet 子内容,用于自定义组件主体。
36
+
37
+ - 类型:`Snippet`
38
+ - 默认值:`undefined`
39
+ - 示例写法:`children={children}`
40
+
41
+ ## 相关类型定义
42
+
43
+ 以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
44
+
45
+ ### `ButtonActions`
46
+
47
+ ```ts
48
+ export type ButtonActions = Array<ButtonAction | null>;
49
+ ```
50
+
51
+ ### `ButtonAction`
52
+
53
+ ```ts
54
+ export interface ButtonAction {
55
+ /**
56
+ * 按钮的文字
57
+ */
58
+ label: string;
59
+
60
+ /**
61
+ * 是否禁用
62
+ */
63
+ disabled?: boolean;
64
+
65
+ /**
66
+ * 帮助信息
67
+ */
68
+ tooltip?: string;
69
+
70
+ /**
71
+ * 前缀图标
72
+ */
73
+ icon?: string;
74
+
75
+ /**
76
+ * 按钮的类型
77
+ */
78
+ type?: ButtonType;
79
+
80
+ /**
81
+ * click处理函数
82
+ */
83
+ handler?: MouseClickHandler;
84
+ }
85
+ ```
86
+
87
+ ### `ButtonType`
88
+
89
+ ```ts
90
+ export type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
91
+ ```
92
+
93
+ ### `MouseClickHandler`
94
+
95
+ ```ts
96
+ export type MouseClickHandler = (event: MouseEvent) => void;
97
+ ```
98
+
99
+ ## 示例
100
+
101
+ 完整示例见 [example.svelte](./example.svelte)。
102
+ ```svelte
103
+ <script lang="ts">
104
+ import ActionBar from '@ticatec/uniface-element/ActionBar';
105
+ </script>
106
+
107
+ <ActionBar>
108
+ <div>在这里放置子内容</div>
109
+ </ActionBar>
110
+ ```
111
+
112
+ ## 源码
113
+
114
+ - `src/lib/layouts/action_bar/ActionBar.svelte`
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import ActionBar from '@ticatec/uniface-element/ActionBar';
3
+ </script>
4
+
5
+ <ActionBar>
6
+ <div>在这里放置子内容</div>
7
+ </ActionBar>
@@ -0,0 +1,60 @@
1
+ # AppTopBar
2
+
3
+ 布局组件。本文档由源码自动生成,类型以当前版本为准。
4
+
5
+ ## 简介
6
+
7
+ 应用顶部导航和操作区域。
8
+
9
+ ## 适用场景
10
+
11
+ - 后台系统顶栏、品牌区和用户菜单
12
+ - 放置全局搜索、通知与快捷操作
13
+
14
+ ## 导入
15
+
16
+ ```ts
17
+ import AppTopBar from '@ticatec/uniface-element/AppTopBar';
18
+ ```
19
+
20
+ ## 属性
21
+
22
+ | 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
23
+ | --- | --- | --- | --- | --- | --- | --- |
24
+ | `title` | 否 | `string` | 否 | `''` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
25
+ | `style` | 否 | `string` | 否 | `''` | 否 | 附加到组件根元素的内联样式。 |
26
+ | `theme` | 否 | `string` | 否 | `undefined` | 否 | 组件主题标识,通常通过 `data-theme` 选择对应 CSS 变量。 |
27
+ | `home` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
28
+ | `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
29
+ | `right` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
30
+
31
+ > 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
32
+
33
+ ## 重要属性说明
34
+
35
+ ### `children`
36
+
37
+ Svelte Snippet 子内容,用于自定义组件主体。
38
+
39
+ - 类型:`Snippet`
40
+ - 默认值:`undefined`
41
+ - 示例写法:`children={children}`
42
+
43
+ ## 示例
44
+
45
+ 完整示例见 [example.svelte](./example.svelte)。
46
+ ```svelte
47
+ <script lang="ts">
48
+ import AppTopBar from '@ticatec/uniface-element/AppTopBar';
49
+ </script>
50
+
51
+ <AppTopBar
52
+ title="示例标题"
53
+ >
54
+ <div>在这里放置子内容</div>
55
+ </AppTopBar>
56
+ ```
57
+
58
+ ## 源码
59
+
60
+ - `src/lib/layouts/app_top_bar/AppTopBar.svelte`
@@ -0,0 +1,9 @@
1
+ <script lang="ts">
2
+ import AppTopBar from '@ticatec/uniface-element/AppTopBar';
3
+ </script>
4
+
5
+ <AppTopBar
6
+ title="示例标题"
7
+ >
8
+ <div>在这里放置子内容</div>
9
+ </AppTopBar>