@ticatec/topside-elements 1.0.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 (809) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/LICENSE +21 -0
  3. package/README.md +308 -0
  4. package/README_CN.md +372 -0
  5. package/dist/app_layout/ClassicLayout.svelte +140 -0
  6. package/dist/app_layout/ClassicLayout.svelte.d.ts +21 -0
  7. package/dist/app_layout/ColumnsLayout.svelte +95 -0
  8. package/dist/app_layout/ColumnsLayout.svelte.d.ts +23 -0
  9. package/dist/app_layout/HeaderLayout.svelte +93 -0
  10. package/dist/app_layout/HeaderLayout.svelte.d.ts +14 -0
  11. package/dist/app_layout/README.md +316 -0
  12. package/dist/app_layout/README_CN.md +323 -0
  13. package/dist/app_layout/RowsLayout.svelte +95 -0
  14. package/dist/app_layout/RowsLayout.svelte.d.ts +23 -0
  15. package/dist/app_layout/SidebarLayout.svelte +93 -0
  16. package/dist/app_layout/SidebarLayout.svelte.d.ts +14 -0
  17. package/dist/app_layout/index.d.ts +6 -0
  18. package/dist/app_layout/index.js +6 -0
  19. package/dist/assets/loading.gif +0 -0
  20. package/dist/base-calendar/CalendarBase.svelte +188 -0
  21. package/dist/base-calendar/CalendarBase.svelte.d.ts +15 -0
  22. package/dist/base-calendar/CalendarDay.d.ts +7 -0
  23. package/dist/base-calendar/CalendarDay.js +1 -0
  24. package/dist/base-calendar/DateContext.d.ts +19 -0
  25. package/dist/base-calendar/DateContext.js +49 -0
  26. package/dist/base-calendar/MonthPickupPanel.svelte +101 -0
  27. package/dist/base-calendar/MonthPickupPanel.svelte.d.ts +8 -0
  28. package/dist/base-calendar/MonthlyCalendar.svelte +227 -0
  29. package/dist/base-calendar/MonthlyCalendar.svelte.d.ts +25 -0
  30. package/dist/base-calendar/YearPickupPanel.svelte +143 -0
  31. package/dist/base-calendar/YearPickupPanel.svelte.d.ts +9 -0
  32. package/dist/base-calendar/dateUtils.d.ts +9 -0
  33. package/dist/base-calendar/dateUtils.js +38 -0
  34. package/dist/base-calendar/index.d.ts +5 -0
  35. package/dist/base-calendar/index.js +5 -0
  36. package/dist/composite/pagination_panel/PaginationPanel.svelte +117 -0
  37. package/dist/composite/pagination_panel/PaginationPanel.svelte.d.ts +22 -0
  38. package/dist/composite/pagination_panel/README.md +130 -0
  39. package/dist/composite/pagination_panel/README_CN.md +130 -0
  40. package/dist/composite/pagination_panel/index.d.ts +4 -0
  41. package/dist/composite/pagination_panel/index.js +2 -0
  42. package/dist/composite/transfer/README.md +795 -0
  43. package/dist/composite/transfer/Transfer.svelte +136 -0
  44. package/dist/composite/transfer/Transfer.svelte.d.ts +25 -0
  45. package/dist/composite/transfer/index.d.ts +4 -0
  46. package/dist/composite/transfer/index.js +2 -0
  47. package/dist/data_display/accordion/Accordion.svelte +76 -0
  48. package/dist/data_display/accordion/Accordion.svelte.d.ts +12 -0
  49. package/dist/data_display/accordion/AccordionItem.d.ts +5 -0
  50. package/dist/data_display/accordion/AccordionItem.js +1 -0
  51. package/dist/data_display/accordion/AccordionItemView.svelte +128 -0
  52. package/dist/data_display/accordion/AccordionItemView.svelte.d.ts +13 -0
  53. package/dist/data_display/accordion/README.md +104 -0
  54. package/dist/data_display/accordion/README_CN.md +104 -0
  55. package/dist/data_display/accordion/index.d.ts +4 -0
  56. package/dist/data_display/accordion/index.js +2 -0
  57. package/dist/data_display/card/Card.svelte +107 -0
  58. package/dist/data_display/card/Card.svelte.d.ts +23 -0
  59. package/dist/data_display/card/CardAction.d.ts +36 -0
  60. package/dist/data_display/card/CardAction.js +1 -0
  61. package/dist/data_display/card/CardHeader.svelte +20 -0
  62. package/dist/data_display/card/CardHeader.svelte.d.ts +6 -0
  63. package/dist/data_display/card/CommonCardActionBar.svelte +156 -0
  64. package/dist/data_display/card/CommonCardActionBar.svelte.d.ts +15 -0
  65. package/dist/data_display/card/README.md +144 -0
  66. package/dist/data_display/card/README_CN.md +144 -0
  67. package/dist/data_display/card/index.d.ts +5 -0
  68. package/dist/data_display/card/index.js +2 -0
  69. package/dist/data_display/concise_data_table/Column.d.ts +9 -0
  70. package/dist/data_display/concise_data_table/Column.js +1 -0
  71. package/dist/data_display/concise_data_table/ConciseListTable.svelte +274 -0
  72. package/dist/data_display/concise_data_table/ConciseListTable.svelte.d.ts +20 -0
  73. package/dist/data_display/concise_data_table/DataCell.svelte +28 -0
  74. package/dist/data_display/concise_data_table/DataCell.svelte.d.ts +9 -0
  75. package/dist/data_display/concise_data_table/DataRow.svelte +44 -0
  76. package/dist/data_display/concise_data_table/DataRow.svelte.d.ts +11 -0
  77. package/dist/data_display/concise_data_table/README.md +177 -0
  78. package/dist/data_display/concise_data_table/README_CN.md +177 -0
  79. package/dist/data_display/concise_data_table/TableOptions.d.ts +11 -0
  80. package/dist/data_display/concise_data_table/TableOptions.js +1 -0
  81. package/dist/data_display/concise_data_table/index.d.ts +5 -0
  82. package/dist/data_display/concise_data_table/index.js +2 -0
  83. package/dist/data_display/concise_data_table/utils.d.ts +6 -0
  84. package/dist/data_display/concise_data_table/utils.js +38 -0
  85. package/dist/data_display/list_box/ListBox.svelte +424 -0
  86. package/dist/data_display/list_box/ListBox.svelte.d.ts +31 -0
  87. package/dist/data_display/list_box/README.md +158 -0
  88. package/dist/data_display/list_box/README_CN.md +158 -0
  89. package/dist/data_display/list_box/index.d.ts +4 -0
  90. package/dist/data_display/list_box/index.js +2 -0
  91. package/dist/data_display/tree_view/README.md +246 -0
  92. package/dist/data_display/tree_view/README_CN.md +240 -0
  93. package/dist/data_display/tree_view/TreeNodeView.svelte +227 -0
  94. package/dist/data_display/tree_view/TreeNodeView.svelte.d.ts +22 -0
  95. package/dist/data_display/tree_view/TreeView.svelte +225 -0
  96. package/dist/data_display/tree_view/TreeView.svelte.d.ts +45 -0
  97. package/dist/data_display/tree_view/index.d.ts +7 -0
  98. package/dist/data_display/tree_view/index.js +2 -0
  99. package/dist/data_table/DataTable.svelte +249 -0
  100. package/dist/data_table/DataTable.svelte.d.ts +57 -0
  101. package/dist/data_table/README.md +728 -0
  102. package/dist/data_table/README_CN.md +753 -0
  103. package/dist/data_table/UniDataTable.d.ts +30 -0
  104. package/dist/data_table/UniDataTable.js +89 -0
  105. package/dist/data_table/assets/loading.gif +0 -0
  106. package/dist/data_table/index.d.ts +15 -0
  107. package/dist/data_table/index.js +4 -0
  108. package/dist/data_table/lib/ActionsColumn.d.ts +15 -0
  109. package/dist/data_table/lib/ActionsColumn.js +1 -0
  110. package/dist/data_table/lib/CellAction.d.ts +9 -0
  111. package/dist/data_table/lib/CellAction.js +1 -0
  112. package/dist/data_table/lib/CommonHeaderCell.d.ts +37 -0
  113. package/dist/data_table/lib/CommonHeaderCell.js +1 -0
  114. package/dist/data_table/lib/CompareFn.d.ts +3 -0
  115. package/dist/data_table/lib/CompareFn.js +2 -0
  116. package/dist/data_table/lib/DataColumn.d.ts +83 -0
  117. package/dist/data_table/lib/DataColumn.js +1 -0
  118. package/dist/data_table/lib/FixedColumns.d.ts +15 -0
  119. package/dist/data_table/lib/FixedColumns.js +1 -0
  120. package/dist/data_table/lib/FormatCellFn.d.ts +2 -0
  121. package/dist/data_table/lib/FormatCellFn.js +1 -0
  122. package/dist/data_table/lib/HrefLink.d.ts +12 -0
  123. package/dist/data_table/lib/HrefLink.js +1 -0
  124. package/dist/data_table/lib/IndicatorColumn.d.ts +19 -0
  125. package/dist/data_table/lib/IndicatorColumn.js +1 -0
  126. package/dist/data_table/lib/OrderDirection.d.ts +4 -0
  127. package/dist/data_table/lib/OrderDirection.js +5 -0
  128. package/dist/data_table/lib/RowAction.d.ts +23 -0
  129. package/dist/data_table/lib/RowAction.js +1 -0
  130. package/dist/data_table/lib/TabContext.d.ts +4 -0
  131. package/dist/data_table/lib/TabContext.js +4 -0
  132. package/dist/data_table/lib/TableColumns.d.ts +9 -0
  133. package/dist/data_table/lib/TableColumns.js +12 -0
  134. package/dist/data_table/lib/TableUtils.d.ts +4 -0
  135. package/dist/data_table/lib/TableUtils.js +18 -0
  136. package/dist/data_table/lib/clickOutSide.d.ts +3 -0
  137. package/dist/data_table/lib/clickOutSide.js +17 -0
  138. package/dist/data_table/lib/summary.d.ts +40 -0
  139. package/dist/data_table/lib/summary.js +123 -0
  140. package/dist/data_table/lib/virtualWindow.d.ts +37 -0
  141. package/dist/data_table/lib/virtualWindow.js +41 -0
  142. package/dist/data_table/parts/ActionCell.svelte +23 -0
  143. package/dist/data_table/parts/ActionCell.svelte.d.ts +8 -0
  144. package/dist/data_table/parts/ActionsPanel.svelte +108 -0
  145. package/dist/data_table/parts/ActionsPanel.svelte.d.ts +19 -0
  146. package/dist/data_table/parts/ActionsRow.svelte +150 -0
  147. package/dist/data_table/parts/ActionsRow.svelte.d.ts +14 -0
  148. package/dist/data_table/parts/ContentPanel.svelte +210 -0
  149. package/dist/data_table/parts/ContentPanel.svelte.d.ts +36 -0
  150. package/dist/data_table/parts/DataCell.svelte +40 -0
  151. package/dist/data_table/parts/DataCell.svelte.d.ts +10 -0
  152. package/dist/data_table/parts/DataRow.svelte +43 -0
  153. package/dist/data_table/parts/DataRow.svelte.d.ts +13 -0
  154. package/dist/data_table/parts/FixedColumnsPanel.svelte +195 -0
  155. package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +31 -0
  156. package/dist/data_table/parts/FixedHeaderPanel.svelte +151 -0
  157. package/dist/data_table/parts/FixedHeaderPanel.svelte.d.ts +19 -0
  158. package/dist/data_table/parts/FixedRow.svelte +88 -0
  159. package/dist/data_table/parts/FixedRow.svelte.d.ts +22 -0
  160. package/dist/data_table/parts/HrefCell.svelte +47 -0
  161. package/dist/data_table/parts/HrefCell.svelte.d.ts +8 -0
  162. package/dist/data_table/parts/PopupMenu.svelte +71 -0
  163. package/dist/data_table/parts/PopupMenu.svelte.d.ts +9 -0
  164. package/dist/data_table/parts/TableHeaderPanel.svelte +112 -0
  165. package/dist/data_table/parts/TableHeaderPanel.svelte.d.ts +17 -0
  166. package/dist/data_table/parts/TableRow.d.ts +4 -0
  167. package/dist/data_table/parts/TableRow.js +6 -0
  168. package/dist/data_table/parts/TableRows.d.ts +7 -0
  169. package/dist/data_table/parts/TableRows.js +13 -0
  170. package/dist/data_table/parts/TextCell.svelte +27 -0
  171. package/dist/data_table/parts/TextCell.svelte.d.ts +8 -0
  172. package/dist/data_table/parts/TreeRootCell.svelte +2 -0
  173. package/dist/data_table/parts/TreeRootCell.svelte.d.ts +18 -0
  174. package/dist/feedback/progress-bar/ProgressBar.svelte +150 -0
  175. package/dist/feedback/progress-bar/ProgressBar.svelte.d.ts +16 -0
  176. package/dist/feedback/progress-bar/ProgressStatus.d.ts +6 -0
  177. package/dist/feedback/progress-bar/ProgressStatus.js +8 -0
  178. package/dist/feedback/progress-bar/README.md +242 -0
  179. package/dist/feedback/progress-bar/README_CN.md +242 -0
  180. package/dist/feedback/progress-bar/index.d.ts +4 -0
  181. package/dist/feedback/progress-bar/index.js +4 -0
  182. package/dist/form/FormEditor.svelte +42 -0
  183. package/dist/form/FormEditor.svelte.d.ts +17 -0
  184. package/dist/form/attachment_files/AttachmentEditor.svelte +494 -0
  185. package/dist/form/attachment_files/AttachmentEditor.svelte.d.ts +75 -0
  186. package/dist/form/attachment_files/AttachmentFile.d.ts +53 -0
  187. package/dist/form/attachment_files/AttachmentFile.js +84 -0
  188. package/dist/form/attachment_files/AttachmentListItem.svelte +208 -0
  189. package/dist/form/attachment_files/AttachmentListItem.svelte.d.ts +25 -0
  190. package/dist/form/attachment_files/AttachmentTile.svelte +296 -0
  191. package/dist/form/attachment_files/AttachmentTile.svelte.d.ts +25 -0
  192. package/dist/form/attachment_files/FileUpload.d.ts +22 -0
  193. package/dist/form/attachment_files/FileUpload.js +1 -0
  194. package/dist/form/attachment_files/README.md +111 -0
  195. package/dist/form/attachment_files/README_CN.md +111 -0
  196. package/dist/form/attachment_files/UploadTask.d.ts +27 -0
  197. package/dist/form/attachment_files/UploadTask.js +1 -0
  198. package/dist/form/attachment_files/index.d.ts +11 -0
  199. package/dist/form/attachment_files/index.js +6 -0
  200. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +170 -0
  201. package/dist/form/cascade_options_select/CascadeOptionSelect.svelte.d.ts +23 -0
  202. package/dist/form/cascade_options_select/IsLeaf.d.ts +4 -0
  203. package/dist/form/cascade_options_select/IsLeaf.js +1 -0
  204. package/dist/form/cascade_options_select/OptionsBox.svelte +81 -0
  205. package/dist/form/cascade_options_select/OptionsBox.svelte.d.ts +12 -0
  206. package/dist/form/cascade_options_select/README.md +188 -0
  207. package/dist/form/cascade_options_select/README_CN.md +188 -0
  208. package/dist/form/cascade_options_select/index.d.ts +2 -0
  209. package/dist/form/cascade_options_select/index.js +2 -0
  210. package/dist/form/checkbox/CheckBox.svelte +222 -0
  211. package/dist/form/checkbox/CheckBox.svelte.d.ts +18 -0
  212. package/dist/form/checkbox/README.md +366 -0
  213. package/dist/form/checkbox/README_CN.md +366 -0
  214. package/dist/form/checkbox/index.d.ts +2 -0
  215. package/dist/form/checkbox/index.js +2 -0
  216. package/dist/form/color_picker/ColorPicker.svelte +173 -0
  217. package/dist/form/color_picker/ColorPicker.svelte.d.ts +9 -0
  218. package/dist/form/color_picker/ColorPickerPanel.svelte +178 -0
  219. package/dist/form/color_picker/ColorPickerPanel.svelte.d.ts +10 -0
  220. package/dist/form/color_picker/README.md +296 -0
  221. package/dist/form/color_picker/README_CN.md +296 -0
  222. package/dist/form/color_picker/index.d.ts +2 -0
  223. package/dist/form/color_picker/index.js +2 -0
  224. package/dist/form/common_editor/BasePicker.svelte +48 -0
  225. package/dist/form/common_editor/BasePicker.svelte.d.ts +11 -0
  226. package/dist/form/common_editor/CommonEditor.svelte +121 -0
  227. package/dist/form/common_editor/CommonEditor.svelte.d.ts +15 -0
  228. package/dist/form/common_editor/CommonEditorProps.d.ts +26 -0
  229. package/dist/form/common_editor/CommonEditorProps.js +1 -0
  230. package/dist/form/common_editor/CommonFieldProps.d.ts +56 -0
  231. package/dist/form/common_editor/CommonFieldProps.js +1 -0
  232. package/dist/form/common_editor/CommonPicker.svelte +201 -0
  233. package/dist/form/common_editor/CommonPicker.svelte.d.ts +29 -0
  234. package/dist/form/common_editor/CommonPickerProps.d.ts +12 -0
  235. package/dist/form/common_editor/CommonPickerProps.js +1 -0
  236. package/dist/form/common_editor/CommonPopupEditor.svelte +99 -0
  237. package/dist/form/common_editor/CommonPopupEditor.svelte.d.ts +18 -0
  238. package/dist/form/common_editor/NumberInput.svelte +255 -0
  239. package/dist/form/common_editor/NumberInput.svelte.d.ts +17 -0
  240. package/dist/form/common_editor/index.d.ts +8 -0
  241. package/dist/form/common_editor/index.js +6 -0
  242. package/dist/form/common_range_editor/CommonRangeEditor.svelte +141 -0
  243. package/dist/form/common_range_editor/CommonRangeEditor.svelte.d.ts +23 -0
  244. package/dist/form/common_range_editor/index.d.ts +2 -0
  245. package/dist/form/common_range_editor/index.js +2 -0
  246. package/dist/form/date_picker/DatePicker.svelte +71 -0
  247. package/dist/form/date_picker/DatePicker.svelte.d.ts +11 -0
  248. package/dist/form/date_picker/DateTimePicker.svelte +168 -0
  249. package/dist/form/date_picker/DateTimePicker.svelte.d.ts +14 -0
  250. package/dist/form/date_picker/README.md +341 -0
  251. package/dist/form/date_picker/README_CN.md +341 -0
  252. package/dist/form/date_picker/ScrollBar.svelte +129 -0
  253. package/dist/form/date_picker/ScrollBar.svelte.d.ts +10 -0
  254. package/dist/form/date_picker/TimePanel.svelte +95 -0
  255. package/dist/form/date_picker/TimePanel.svelte.d.ts +11 -0
  256. package/dist/form/date_picker/index.d.ts +4 -0
  257. package/dist/form/date_picker/index.js +4 -0
  258. package/dist/form/date_range/DateRangeEditor.svelte +123 -0
  259. package/dist/form/date_range/DateRangeEditor.svelte.d.ts +21 -0
  260. package/dist/form/date_range/README.md +250 -0
  261. package/dist/form/date_range/README_CN.md +250 -0
  262. package/dist/form/date_range/index.d.ts +2 -0
  263. package/dist/form/date_range/index.js +2 -0
  264. package/dist/form/events.d.ts +70 -0
  265. package/dist/form/events.js +6 -0
  266. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +211 -0
  267. package/dist/form/group_box/group-check-box/GroupCheckBox.svelte.d.ts +32 -0
  268. package/dist/form/group_box/group-check-box/README.md +336 -0
  269. package/dist/form/group_box/group-check-box/README_CN.md +336 -0
  270. package/dist/form/group_box/group-check-box/index.d.ts +2 -0
  271. package/dist/form/group_box/group-check-box/index.js +2 -0
  272. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +159 -0
  273. package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte.d.ts +29 -0
  274. package/dist/form/group_box/group-radio-box/README.md +910 -0
  275. package/dist/form/group_box/group-radio-box/README_CN.md +910 -0
  276. package/dist/form/group_box/group-radio-box/index.d.ts +2 -0
  277. package/dist/form/group_box/group-radio-box/index.js +2 -0
  278. package/dist/form/image_editor/ImageEditor.svelte +118 -0
  279. package/dist/form/image_editor/ImageEditor.svelte.d.ts +52 -0
  280. package/dist/form/image_editor/ImageFile.d.ts +11 -0
  281. package/dist/form/image_editor/ImageFile.js +1 -0
  282. package/dist/form/image_editor/ImagePreview.svelte +151 -0
  283. package/dist/form/image_editor/ImagePreview.svelte.d.ts +7 -0
  284. package/dist/form/image_editor/README.md +89 -0
  285. package/dist/form/image_editor/README_CN.md +89 -0
  286. package/dist/form/image_editor/index.d.ts +11 -0
  287. package/dist/form/image_editor/index.js +4 -0
  288. package/dist/form/input_options_select/InputOptionsSelect.svelte +257 -0
  289. package/dist/form/input_options_select/InputOptionsSelect.svelte.d.ts +18 -0
  290. package/dist/form/input_options_select/README.md +73 -0
  291. package/dist/form/input_options_select/README_CN.md +73 -0
  292. package/dist/form/input_options_select/index.d.ts +4 -0
  293. package/dist/form/input_options_select/index.js +2 -0
  294. package/dist/form/lookup_editor/LookupEditor.svelte +85 -0
  295. package/dist/form/lookup_editor/LookupEditor.svelte.d.ts +16 -0
  296. package/dist/form/lookup_editor/README.md +345 -0
  297. package/dist/form/lookup_editor/README_CN.md +345 -0
  298. package/dist/form/lookup_editor/index.d.ts +2 -0
  299. package/dist/form/lookup_editor/index.js +2 -0
  300. package/dist/form/memo_editor/MemoEditor.svelte +176 -0
  301. package/dist/form/memo_editor/MemoEditor.svelte.d.ts +18 -0
  302. package/dist/form/memo_editor/README.md +283 -0
  303. package/dist/form/memo_editor/README_CN.md +283 -0
  304. package/dist/form/memo_editor/index.d.ts +2 -0
  305. package/dist/form/memo_editor/index.js +2 -0
  306. package/dist/form/number_editor/NumberEditor.svelte +113 -0
  307. package/dist/form/number_editor/NumberEditor.svelte.d.ts +20 -0
  308. package/dist/form/number_editor/README.md +356 -0
  309. package/dist/form/number_editor/README_CN.md +356 -0
  310. package/dist/form/number_editor/index.d.ts +2 -0
  311. package/dist/form/number_editor/index.js +2 -0
  312. package/dist/form/number_range/NumberRange.svelte +69 -0
  313. package/dist/form/number_range/NumberRange.svelte.d.ts +20 -0
  314. package/dist/form/number_range/README.md +498 -0
  315. package/dist/form/number_range/README_CN.md +488 -0
  316. package/dist/form/number_range/index.d.ts +2 -0
  317. package/dist/form/number_range/index.js +2 -0
  318. package/dist/form/options_multi_select/OptionsMultiSelect.svelte +229 -0
  319. package/dist/form/options_multi_select/OptionsMultiSelect.svelte.d.ts +21 -0
  320. package/dist/form/options_multi_select/README.md +251 -0
  321. package/dist/form/options_multi_select/README_CN.md +242 -0
  322. package/dist/form/options_multi_select/index.d.ts +2 -0
  323. package/dist/form/options_multi_select/index.js +2 -0
  324. package/dist/form/options_select/OptionsSelect.svelte +208 -0
  325. package/dist/form/options_select/OptionsSelect.svelte.d.ts +43 -0
  326. package/dist/form/options_select/README.md +371 -0
  327. package/dist/form/options_select/README_CN.md +368 -0
  328. package/dist/form/options_select/index.d.ts +2 -0
  329. package/dist/form/options_select/index.js +2 -0
  330. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +96 -0
  331. package/dist/form/prompts_text_editor/PromptsTextEditor.svelte.d.ts +15 -0
  332. package/dist/form/prompts_text_editor/README.md +320 -0
  333. package/dist/form/prompts_text_editor/README_CN.md +320 -0
  334. package/dist/form/prompts_text_editor/index.d.ts +2 -0
  335. package/dist/form/prompts_text_editor/index.js +2 -0
  336. package/dist/form/radio_button/README.md +372 -0
  337. package/dist/form/radio_button/README_CN.md +363 -0
  338. package/dist/form/radio_button/RadioButton.svelte +177 -0
  339. package/dist/form/radio_button/RadioButton.svelte.d.ts +17 -0
  340. package/dist/form/radio_button/index.d.ts +2 -0
  341. package/dist/form/radio_button/index.js +2 -0
  342. package/dist/form/search_box/README.md +301 -0
  343. package/dist/form/search_box/README_CN.md +301 -0
  344. package/dist/form/search_box/SearchBox.svelte +91 -0
  345. package/dist/form/search_box/SearchBox.svelte.d.ts +11 -0
  346. package/dist/form/search_box/index.d.ts +2 -0
  347. package/dist/form/search_box/index.js +2 -0
  348. package/dist/form/switch/README.md +231 -0
  349. package/dist/form/switch/README_CN.md +255 -0
  350. package/dist/form/switch/Switch.svelte +138 -0
  351. package/dist/form/switch/Switch.svelte.d.ts +12 -0
  352. package/dist/form/switch/index.d.ts +2 -0
  353. package/dist/form/switch/index.js +2 -0
  354. package/dist/form/text_editor/PasswordEditor.svelte +70 -0
  355. package/dist/form/text_editor/PasswordEditor.svelte.d.ts +9 -0
  356. package/dist/form/text_editor/PasswordEditor_README.md +551 -0
  357. package/dist/form/text_editor/PasswordEditor_README_CN.md +551 -0
  358. package/dist/form/text_editor/README.md +356 -0
  359. package/dist/form/text_editor/README_CN.md +356 -0
  360. package/dist/form/text_editor/TextEditor.svelte +91 -0
  361. package/dist/form/text_editor/TextEditor.svelte.d.ts +16 -0
  362. package/dist/form/text_editor/index.d.ts +4 -0
  363. package/dist/form/text_editor/index.js +4 -0
  364. package/dist/form/time_editor/README.md +386 -0
  365. package/dist/form/time_editor/README_CN.md +386 -0
  366. package/dist/form/time_editor/TimeEditor.svelte +231 -0
  367. package/dist/form/time_editor/TimeEditor.svelte.d.ts +16 -0
  368. package/dist/form/time_editor/index.d.ts +2 -0
  369. package/dist/form/time_editor/index.js +2 -0
  370. package/dist/form/types.d.ts +8 -0
  371. package/dist/form/types.js +1 -0
  372. package/dist/form/unit-number-editor/README.md +352 -0
  373. package/dist/form/unit-number-editor/README_CN.md +352 -0
  374. package/dist/form/unit-number-editor/UnitNumberEditor.svelte +221 -0
  375. package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +30 -0
  376. package/dist/form/unit-number-editor/UnitOption.d.ts +26 -0
  377. package/dist/form/unit-number-editor/UnitOption.js +1 -0
  378. package/dist/form/unit-number-editor/index.d.ts +4 -0
  379. package/dist/form/unit-number-editor/index.js +3 -0
  380. package/dist/general/button/Button.svelte +72 -0
  381. package/dist/general/button/Button.svelte.d.ts +23 -0
  382. package/dist/general/button/IconButton.svelte +60 -0
  383. package/dist/general/button/IconButton.svelte.d.ts +21 -0
  384. package/dist/general/button/IconButton_README.md +522 -0
  385. package/dist/general/button/IconButton_README_CN.md +522 -0
  386. package/dist/general/button/README.md +361 -0
  387. package/dist/general/button/README_CN.md +357 -0
  388. package/dist/general/button/TextButton.svelte +74 -0
  389. package/dist/general/button/TextButton.svelte.d.ts +22 -0
  390. package/dist/general/button/TextButton_README.md +569 -0
  391. package/dist/general/button/TextButton_README_CN.md +569 -0
  392. package/dist/general/button/index.d.ts +8 -0
  393. package/dist/general/button/index.js +6 -0
  394. package/dist/general/icon/Icon.svelte +90 -0
  395. package/dist/general/icon/Icon.svelte.d.ts +14 -0
  396. package/dist/general/icon/README.md +255 -0
  397. package/dist/general/icon/README_CN.md +255 -0
  398. package/dist/general/icon/index.d.ts +2 -0
  399. package/dist/general/icon/index.js +2 -0
  400. package/dist/general/separator/README.md +203 -0
  401. package/dist/general/separator/README_CN.md +203 -0
  402. package/dist/general/separator/Separator.svelte +24 -0
  403. package/dist/general/separator/Separator.svelte.d.ts +7 -0
  404. package/dist/general/separator/index.d.ts +2 -0
  405. package/dist/general/separator/index.js +2 -0
  406. package/dist/general/split/README.md +312 -0
  407. package/dist/general/split/README_CN.md +312 -0
  408. package/dist/general/split/Split.svelte +150 -0
  409. package/dist/general/split/Split.svelte.d.ts +10 -0
  410. package/dist/general/split/index.d.ts +2 -0
  411. package/dist/general/split/index.js +2 -0
  412. package/dist/general/tag/README.md +319 -0
  413. package/dist/general/tag/README_CN.md +319 -0
  414. package/dist/general/tag/Tag.svelte +193 -0
  415. package/dist/general/tag/Tag.svelte.d.ts +17 -0
  416. package/dist/general/tag/index.d.ts +2 -0
  417. package/dist/general/tag/index.js +2 -0
  418. package/dist/i18nRes/i18nRes.d.ts +47 -0
  419. package/dist/i18nRes/i18nRes.js +49 -0
  420. package/dist/i18nRes/index.d.ts +2 -0
  421. package/dist/i18nRes/index.js +2 -0
  422. package/dist/index.d.ts +10 -0
  423. package/dist/index.js +4 -0
  424. package/dist/layouts/action_bar/ActionBar.svelte +60 -0
  425. package/dist/layouts/action_bar/ActionBar.svelte.d.ts +12 -0
  426. package/dist/layouts/action_bar/ButtonAction.d.ts +1 -0
  427. package/dist/layouts/action_bar/ButtonAction.js +1 -0
  428. package/dist/layouts/action_bar/README.md +304 -0
  429. package/dist/layouts/action_bar/README_CN.md +304 -0
  430. package/dist/layouts/action_bar/index.d.ts +5 -0
  431. package/dist/layouts/action_bar/index.js +2 -0
  432. package/dist/layouts/app_top_bar/AppTopBar.svelte +83 -0
  433. package/dist/layouts/app_top_bar/AppTopBar.svelte.d.ts +12 -0
  434. package/dist/layouts/app_top_bar/README.md +258 -0
  435. package/dist/layouts/app_top_bar/README_CN.md +258 -0
  436. package/dist/layouts/app_top_bar/index.d.ts +2 -0
  437. package/dist/layouts/app_top_bar/index.js +2 -0
  438. package/dist/layouts/box/Box.svelte +104 -0
  439. package/dist/layouts/box/Box.svelte.d.ts +15 -0
  440. package/dist/layouts/box/README.md +312 -0
  441. package/dist/layouts/box/README_CN.md +312 -0
  442. package/dist/layouts/box/index.d.ts +2 -0
  443. package/dist/layouts/box/index.js +2 -0
  444. package/dist/layouts/criteria_field/CriteriaField.svelte +97 -0
  445. package/dist/layouts/criteria_field/CriteriaField.svelte.d.ts +13 -0
  446. package/dist/layouts/criteria_field/README.md +277 -0
  447. package/dist/layouts/criteria_field/README_CN.md +277 -0
  448. package/dist/layouts/criteria_field/index.d.ts +2 -0
  449. package/dist/layouts/criteria_field/index.js +2 -0
  450. package/dist/layouts/form_field/FormField.svelte +139 -0
  451. package/dist/layouts/form_field/FormField.svelte.d.ts +19 -0
  452. package/dist/layouts/form_field/README.md +252 -0
  453. package/dist/layouts/form_field/README_CN.md +251 -0
  454. package/dist/layouts/form_field/index.d.ts +2 -0
  455. package/dist/layouts/form_field/index.js +2 -0
  456. package/dist/layouts/form_panel/flex_form/CellField.svelte +42 -0
  457. package/dist/layouts/form_panel/flex_form/CellField.svelte.d.ts +13 -0
  458. package/dist/layouts/form_panel/flex_form/EmptyCell.svelte +26 -0
  459. package/dist/layouts/form_panel/flex_form/EmptyCell.svelte.d.ts +6 -0
  460. package/dist/layouts/form_panel/flex_form/FlexForm.svelte +44 -0
  461. package/dist/layouts/form_panel/flex_form/FlexForm.svelte.d.ts +9 -0
  462. package/dist/layouts/form_panel/flex_form/README.md +202 -0
  463. package/dist/layouts/form_panel/flex_form/README_CN.md +202 -0
  464. package/dist/layouts/form_panel/flex_form/RowBreak.svelte +11 -0
  465. package/dist/layouts/form_panel/flex_form/RowBreak.svelte.d.ts +18 -0
  466. package/dist/layouts/form_panel/flex_form/index.d.ts +6 -0
  467. package/dist/layouts/form_panel/flex_form/index.js +6 -0
  468. package/dist/layouts/form_panel/flex_row_form/Cell.svelte +42 -0
  469. package/dist/layouts/form_panel/flex_row_form/Cell.svelte.d.ts +13 -0
  470. package/dist/layouts/form_panel/flex_row_form/FormContainer.svelte +45 -0
  471. package/dist/layouts/form_panel/flex_row_form/FormContainer.svelte.d.ts +10 -0
  472. package/dist/layouts/form_panel/flex_row_form/README.md +224 -0
  473. package/dist/layouts/form_panel/flex_row_form/README_CN.md +224 -0
  474. package/dist/layouts/form_panel/flex_row_form/Row.svelte +37 -0
  475. package/dist/layouts/form_panel/flex_row_form/Row.svelte.d.ts +12 -0
  476. package/dist/layouts/form_panel/flex_row_form/index.d.ts +7 -0
  477. package/dist/layouts/form_panel/flex_row_form/index.js +7 -0
  478. package/dist/layouts/form_panel/grid_form/EmptyCell.svelte +32 -0
  479. package/dist/layouts/form_panel/grid_form/EmptyCell.svelte.d.ts +9 -0
  480. package/dist/layouts/form_panel/grid_form/GridField.svelte +48 -0
  481. package/dist/layouts/form_panel/grid_form/GridField.svelte.d.ts +22 -0
  482. package/dist/layouts/form_panel/grid_form/GridForm.svelte +49 -0
  483. package/dist/layouts/form_panel/grid_form/GridForm.svelte.d.ts +13 -0
  484. package/dist/layouts/form_panel/grid_form/README.md +217 -0
  485. package/dist/layouts/form_panel/grid_form/README_CN.md +217 -0
  486. package/dist/layouts/form_panel/grid_form/index.d.ts +5 -0
  487. package/dist/layouts/form_panel/grid_form/index.js +5 -0
  488. package/dist/layouts/form_panel/index.d.ts +4 -0
  489. package/dist/layouts/form_panel/index.js +4 -0
  490. package/dist/layouts/page/Page.svelte +98 -0
  491. package/dist/layouts/page/Page.svelte.d.ts +19 -0
  492. package/dist/layouts/page/PageHeader.svelte +59 -0
  493. package/dist/layouts/page/PageHeader.svelte.d.ts +12 -0
  494. package/dist/layouts/page/README.md +286 -0
  495. package/dist/layouts/page/README_CN.md +286 -0
  496. package/dist/layouts/page/index.d.ts +6 -0
  497. package/dist/layouts/page/index.js +4 -0
  498. package/dist/lib/index.d.ts +7 -0
  499. package/dist/lib/index.js +3 -0
  500. package/dist/navigation/breadcrumbs/Breadcrumb.d.ts +4 -0
  501. package/dist/navigation/breadcrumbs/Breadcrumb.js +1 -0
  502. package/dist/navigation/breadcrumbs/Breadcrumbs.svelte +91 -0
  503. package/dist/navigation/breadcrumbs/Breadcrumbs.svelte.d.ts +12 -0
  504. package/dist/navigation/breadcrumbs/README.md +257 -0
  505. package/dist/navigation/breadcrumbs/README_CN.md +257 -0
  506. package/dist/navigation/breadcrumbs/index.d.ts +4 -0
  507. package/dist/navigation/breadcrumbs/index.js +2 -0
  508. package/dist/navigation/nav_menu/MenuItem.d.ts +9 -0
  509. package/dist/navigation/nav_menu/MenuItem.js +1 -0
  510. package/dist/navigation/nav_menu/Menus.d.ts +12 -0
  511. package/dist/navigation/nav_menu/Menus.js +15 -0
  512. package/dist/navigation/nav_menu/NavigatorMenu.svelte +318 -0
  513. package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +17 -0
  514. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +183 -0
  515. package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +18 -0
  516. package/dist/navigation/nav_menu/README.md +224 -0
  517. package/dist/navigation/nav_menu/README_CN.md +224 -0
  518. package/dist/navigation/nav_menu/index.d.ts +8 -0
  519. package/dist/navigation/nav_menu/index.js +4 -0
  520. package/dist/navigation/navigator/NavItemStatus.d.ts +5 -0
  521. package/dist/navigation/navigator/NavItemStatus.js +6 -0
  522. package/dist/navigation/navigator/Navigator.svelte +156 -0
  523. package/dist/navigation/navigator/Navigator.svelte.d.ts +15 -0
  524. package/dist/navigation/navigator/README.md +304 -0
  525. package/dist/navigation/navigator/README_CN.md +304 -0
  526. package/dist/navigation/navigator/index.d.ts +4 -0
  527. package/dist/navigation/navigator/index.js +4 -0
  528. package/dist/navigation/page-stack/PageStack.svelte +160 -0
  529. package/dist/navigation/page-stack/PageStack.svelte.d.ts +24 -0
  530. package/dist/navigation/page-stack/PageStackContext.d.ts +25 -0
  531. package/dist/navigation/page-stack/PageStackContext.js +12 -0
  532. package/dist/navigation/page-stack/PageStackFrame.svelte +24 -0
  533. package/dist/navigation/page-stack/PageStackFrame.svelte.d.ts +11 -0
  534. package/dist/navigation/page-stack/README.md +154 -0
  535. package/dist/navigation/page-stack/README_CN.md +154 -0
  536. package/dist/navigation/page-stack/index.d.ts +6 -0
  537. package/dist/navigation/page-stack/index.js +4 -0
  538. package/dist/navigation/pagination/Pagination.svelte +300 -0
  539. package/dist/navigation/pagination/Pagination.svelte.d.ts +15 -0
  540. package/dist/navigation/pagination/README.md +248 -0
  541. package/dist/navigation/pagination/README_CN.md +248 -0
  542. package/dist/navigation/pagination/index.d.ts +2 -0
  543. package/dist/navigation/pagination/index.js +2 -0
  544. package/dist/navigation/progress_step_bar/ProgressStep.d.ts +20 -0
  545. package/dist/navigation/progress_step_bar/ProgressStep.js +6 -0
  546. package/dist/navigation/progress_step_bar/ProgressStepBar.svelte +56 -0
  547. package/dist/navigation/progress_step_bar/ProgressStepBar.svelte.d.ts +11 -0
  548. package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +197 -0
  549. package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte.d.ts +12 -0
  550. package/dist/navigation/progress_step_bar/README.md +247 -0
  551. package/dist/navigation/progress_step_bar/README_CN.md +247 -0
  552. package/dist/navigation/progress_step_bar/index.d.ts +6 -0
  553. package/dist/navigation/progress_step_bar/index.js +5 -0
  554. package/dist/navigation/tabs/README.md +353 -0
  555. package/dist/navigation/tabs/README_CN.md +353 -0
  556. package/dist/navigation/tabs/Tabs.svelte +400 -0
  557. package/dist/navigation/tabs/Tabs.svelte.d.ts +28 -0
  558. package/dist/navigation/tabs/index.d.ts +4 -0
  559. package/dist/navigation/tabs/index.js +2 -0
  560. package/dist/overlay/common/DateFormats.d.ts +5 -0
  561. package/dist/overlay/common/DateFormats.js +6 -0
  562. package/dist/overlay/common/FloatingPanel.svelte +69 -0
  563. package/dist/overlay/common/FloatingPanel.svelte.d.ts +15 -0
  564. package/dist/overlay/common/FullscreenOverlay.svelte +42 -0
  565. package/dist/overlay/common/FullscreenOverlay.svelte.d.ts +8 -0
  566. package/dist/overlay/common/ModalPopover.svelte +56 -0
  567. package/dist/overlay/common/ModalPopover.svelte.d.ts +11 -0
  568. package/dist/overlay/common/Popover.svelte +155 -0
  569. package/dist/overlay/common/Popover.svelte.d.ts +17 -0
  570. package/dist/overlay/common/escapeClose.d.ts +28 -0
  571. package/dist/overlay/common/escapeClose.js +47 -0
  572. package/dist/overlay/common/focusTrap.d.ts +8 -0
  573. package/dist/overlay/common/focusTrap.js +83 -0
  574. package/dist/overlay/common/mountSingleton.d.ts +28 -0
  575. package/dist/overlay/common/mountSingleton.js +48 -0
  576. package/dist/overlay/common/outsideClick.d.ts +28 -0
  577. package/dist/overlay/common/outsideClick.js +20 -0
  578. package/dist/overlay/common/scrollLock.d.ts +8 -0
  579. package/dist/overlay/common/scrollLock.js +49 -0
  580. package/dist/overlay/common/topside-utils.d.ts +3 -0
  581. package/dist/overlay/common/topside-utils.js +19 -0
  582. package/dist/overlay/common/utils.d.ts +13 -0
  583. package/dist/overlay/common/utils.js +136 -0
  584. package/dist/overlay/context-menu/ContextMenu.svelte.d.ts +22 -0
  585. package/dist/overlay/context-menu/ContextMenu.svelte.js +53 -0
  586. package/dist/overlay/context-menu/ContextMenuItem.d.ts +31 -0
  587. package/dist/overlay/context-menu/ContextMenuItem.js +1 -0
  588. package/dist/overlay/context-menu/ContextMenuPanel.svelte +211 -0
  589. package/dist/overlay/context-menu/ContextMenuPanel.svelte.d.ts +3 -0
  590. package/dist/overlay/context-menu/README.md +361 -0
  591. package/dist/overlay/context-menu/README_CN.md +361 -0
  592. package/dist/overlay/context-menu/index.d.ts +6 -0
  593. package/dist/overlay/context-menu/index.js +3 -0
  594. package/dist/overlay/dialog/BeforeClose.d.ts +4 -0
  595. package/dist/overlay/dialog/BeforeClose.js +1 -0
  596. package/dist/overlay/dialog/CommonDialog.svelte +58 -0
  597. package/dist/overlay/dialog/CommonDialog.svelte.d.ts +22 -0
  598. package/dist/overlay/dialog/Dialog.svelte +255 -0
  599. package/dist/overlay/dialog/Dialog.svelte.d.ts +29 -0
  600. package/dist/overlay/dialog/DialogBoard.svelte +15 -0
  601. package/dist/overlay/dialog/DialogBoard.svelte.d.ts +18 -0
  602. package/dist/overlay/dialog/DialogManager.svelte.d.ts +24 -0
  603. package/dist/overlay/dialog/DialogManager.svelte.js +58 -0
  604. package/dist/overlay/dialog/DialogWrapper.svelte +12 -0
  605. package/dist/overlay/dialog/DialogWrapper.svelte.d.ts +8 -0
  606. package/dist/overlay/dialog/IDialog.d.ts +14 -0
  607. package/dist/overlay/dialog/IDialog.js +2 -0
  608. package/dist/overlay/dialog/README.md +540 -0
  609. package/dist/overlay/dialog/README_CN.md +540 -0
  610. package/dist/overlay/dialog/index.d.ts +14 -0
  611. package/dist/overlay/dialog/index.js +7 -0
  612. package/dist/overlay/drawer/Drawer.svelte +116 -0
  613. package/dist/overlay/drawer/Drawer.svelte.d.ts +11 -0
  614. package/dist/overlay/drawer/README.md +249 -0
  615. package/dist/overlay/drawer/README_CN.md +249 -0
  616. package/dist/overlay/drawer/index.d.ts +2 -0
  617. package/dist/overlay/drawer/index.js +2 -0
  618. package/dist/overlay/indicator/Indicator.svelte.d.ts +14 -0
  619. package/dist/overlay/indicator/Indicator.svelte.js +27 -0
  620. package/dist/overlay/indicator/IndicatorPanel.svelte +43 -0
  621. package/dist/overlay/indicator/IndicatorPanel.svelte.d.ts +18 -0
  622. package/dist/overlay/indicator/README.md +142 -0
  623. package/dist/overlay/indicator/README_CN.md +142 -0
  624. package/dist/overlay/indicator/index.d.ts +2 -0
  625. package/dist/overlay/indicator/index.js +2 -0
  626. package/dist/overlay/message-box/IMessageBox.d.ts +17 -0
  627. package/dist/overlay/message-box/IMessageBox.js +6 -0
  628. package/dist/overlay/message-box/MessageBox.svelte.d.ts +36 -0
  629. package/dist/overlay/message-box/MessageBox.svelte.js +77 -0
  630. package/dist/overlay/message-box/MessageBoxPanel.svelte +247 -0
  631. package/dist/overlay/message-box/MessageBoxPanel.svelte.d.ts +3 -0
  632. package/dist/overlay/message-box/README.md +92 -0
  633. package/dist/overlay/message-box/README_CN.md +92 -0
  634. package/dist/overlay/message-box/index.d.ts +5 -0
  635. package/dist/overlay/message-box/index.js +4 -0
  636. package/dist/overlay/toast/README.md +59 -0
  637. package/dist/overlay/toast/README_CN.md +59 -0
  638. package/dist/overlay/toast/Toast.svelte.d.ts +18 -0
  639. package/dist/overlay/toast/Toast.svelte.js +49 -0
  640. package/dist/overlay/toast/ToastPanel.svelte +56 -0
  641. package/dist/overlay/toast/ToastPanel.svelte.d.ts +3 -0
  642. package/dist/overlay/toast/index.d.ts +2 -0
  643. package/dist/overlay/toast/index.js +2 -0
  644. package/dist/overlay/tooltip/README.md +334 -0
  645. package/dist/overlay/tooltip/README_CN.md +334 -0
  646. package/dist/overlay/tooltip/Tooltip.svelte +280 -0
  647. package/dist/overlay/tooltip/Tooltip.svelte.d.ts +7 -0
  648. package/dist/overlay/tooltip/index.d.ts +2 -0
  649. package/dist/overlay/tooltip/index.js +2 -0
  650. package/dist/topside-elements.css +1753 -0
  651. package/dist/topsideContext.d.ts +10 -0
  652. package/dist/topsideContext.js +59 -0
  653. package/dist/types.d.ts +184 -0
  654. package/dist/types.js +9 -0
  655. package/dist/utils/exclude.d.ts +1 -0
  656. package/dist/utils/exclude.js +3 -0
  657. package/dist/utils/prefixFilter.d.ts +5 -0
  658. package/dist/utils/prefixFilter.js +33 -0
  659. package/docs/NAMING.md +364 -0
  660. package/docs/NAMING_CN.md +364 -0
  661. package/docs/components/README.md +135 -0
  662. package/docs/components/accordion/README.md +71 -0
  663. package/docs/components/accordion/example.svelte +8 -0
  664. package/docs/components/action-bar/README.md +114 -0
  665. package/docs/components/action-bar/example.svelte +7 -0
  666. package/docs/components/app-top-bar/README.md +60 -0
  667. package/docs/components/app-top-bar/example.svelte +9 -0
  668. package/docs/components/attachment-editor/README.md +224 -0
  669. package/docs/components/attachment-editor/example.svelte +22 -0
  670. package/docs/components/box/README.md +63 -0
  671. package/docs/components/box/example.svelte +10 -0
  672. package/docs/components/breadcrumbs/README.md +86 -0
  673. package/docs/components/breadcrumbs/example.svelte +11 -0
  674. package/docs/components/button/README.md +110 -0
  675. package/docs/components/button/example.svelte +11 -0
  676. package/docs/components/card/README.md +127 -0
  677. package/docs/components/card/example.svelte +10 -0
  678. package/docs/components/cascade-options-select/README.md +168 -0
  679. package/docs/components/cascade-options-select/example.svelte +18 -0
  680. package/docs/components/checkbox/README.md +103 -0
  681. package/docs/components/checkbox/example.svelte +15 -0
  682. package/docs/components/classic-layout/README.md +76 -0
  683. package/docs/components/classic-layout/example.svelte +16 -0
  684. package/docs/components/color-picker/README.md +132 -0
  685. package/docs/components/color-picker/example.svelte +16 -0
  686. package/docs/components/columns-layout/README.md +74 -0
  687. package/docs/components/columns-layout/example.svelte +16 -0
  688. package/docs/components/common-dialog/README.md +118 -0
  689. package/docs/components/common-dialog/example.svelte +13 -0
  690. package/docs/components/concise-data-table/README.md +296 -0
  691. package/docs/components/concise-data-table/example.svelte +16 -0
  692. package/docs/components/context-menu/README.md +99 -0
  693. package/docs/components/context-menu/example.svelte +10 -0
  694. package/docs/components/criteria-field/README.md +70 -0
  695. package/docs/components/criteria-field/example.svelte +10 -0
  696. package/docs/components/data-table/README.md +388 -0
  697. package/docs/components/data-table/example.svelte +23 -0
  698. package/docs/components/date-picker/README.md +136 -0
  699. package/docs/components/date-picker/example.svelte +16 -0
  700. package/docs/components/date-range/README.md +122 -0
  701. package/docs/components/date-range/example.svelte +15 -0
  702. package/docs/components/date-time-picker/README.md +142 -0
  703. package/docs/components/date-time-picker/example.svelte +16 -0
  704. package/docs/components/dialog/README.md +181 -0
  705. package/docs/components/dialog/example.svelte +13 -0
  706. package/docs/components/dialog-board/README.md +41 -0
  707. package/docs/components/dialog-board/example.svelte +5 -0
  708. package/docs/components/drawer/README.md +70 -0
  709. package/docs/components/drawer/example.svelte +12 -0
  710. package/docs/components/flex-form/README.md +55 -0
  711. package/docs/components/flex-form/example.svelte +7 -0
  712. package/docs/components/flex-row-form/README.md +56 -0
  713. package/docs/components/flex-row-form/example.svelte +7 -0
  714. package/docs/components/form-field/README.md +84 -0
  715. package/docs/components/form-field/example.svelte +10 -0
  716. package/docs/components/full-screen-overlay/README.md +66 -0
  717. package/docs/components/full-screen-overlay/example.svelte +11 -0
  718. package/docs/components/grid-form/README.md +85 -0
  719. package/docs/components/grid-form/example.svelte +9 -0
  720. package/docs/components/group-check-box/README.md +147 -0
  721. package/docs/components/group-check-box/example.svelte +21 -0
  722. package/docs/components/group-radio-box/README.md +144 -0
  723. package/docs/components/group-radio-box/example.svelte +21 -0
  724. package/docs/components/header-layout/README.md +65 -0
  725. package/docs/components/header-layout/example.svelte +12 -0
  726. package/docs/components/icon/README.md +88 -0
  727. package/docs/components/icon/example.svelte +9 -0
  728. package/docs/components/icon-button/README.md +100 -0
  729. package/docs/components/icon-button/example.svelte +11 -0
  730. package/docs/components/image-editor/README.md +262 -0
  731. package/docs/components/image-editor/example.svelte +21 -0
  732. package/docs/components/indicator/README.md +53 -0
  733. package/docs/components/indicator/example.svelte +14 -0
  734. package/docs/components/input-options-select/README.md +163 -0
  735. package/docs/components/input-options-select/example.svelte +16 -0
  736. package/docs/components/list-box/ListItem.svelte +14 -0
  737. package/docs/components/list-box/README.md +220 -0
  738. package/docs/components/list-box/example.svelte +61 -0
  739. package/docs/components/lookup-editor/README.md +137 -0
  740. package/docs/components/lookup-editor/example.svelte +16 -0
  741. package/docs/components/memo-editor/README.md +143 -0
  742. package/docs/components/memo-editor/example.svelte +16 -0
  743. package/docs/components/message-box/README.md +68 -0
  744. package/docs/components/message-box/example.svelte +10 -0
  745. package/docs/components/navigator/README.md +76 -0
  746. package/docs/components/navigator/example.svelte +14 -0
  747. package/docs/components/navigator-menu/README.md +116 -0
  748. package/docs/components/navigator-menu/example.svelte +12 -0
  749. package/docs/components/number-editor/README.md +144 -0
  750. package/docs/components/number-editor/example.svelte +16 -0
  751. package/docs/components/number-range/README.md +116 -0
  752. package/docs/components/number-range/example.svelte +15 -0
  753. package/docs/components/options-multi-select/README.md +161 -0
  754. package/docs/components/options-multi-select/example.svelte +20 -0
  755. package/docs/components/options-select/README.md +160 -0
  756. package/docs/components/options-select/example.svelte +21 -0
  757. package/docs/components/page/README.md +77 -0
  758. package/docs/components/page/example.svelte +10 -0
  759. package/docs/components/page-stack/README.md +67 -0
  760. package/docs/components/page-stack/example.svelte +7 -0
  761. package/docs/components/pagination/README.md +105 -0
  762. package/docs/components/pagination/example.svelte +13 -0
  763. package/docs/components/pagination-panel/README.md +135 -0
  764. package/docs/components/pagination-panel/example.svelte +17 -0
  765. package/docs/components/password-editor/README.md +128 -0
  766. package/docs/components/password-editor/example.svelte +16 -0
  767. package/docs/components/popup-hint/README.md +44 -0
  768. package/docs/components/popup-hint/example.svelte +5 -0
  769. package/docs/components/progress-bar/README.md +74 -0
  770. package/docs/components/progress-bar/example.svelte +8 -0
  771. package/docs/components/progress-step-bar/README.md +102 -0
  772. package/docs/components/progress-step-bar/example.svelte +11 -0
  773. package/docs/components/prompts-text-editor/README.md +148 -0
  774. package/docs/components/prompts-text-editor/example.svelte +16 -0
  775. package/docs/components/radio-button/README.md +121 -0
  776. package/docs/components/radio-button/example.svelte +18 -0
  777. package/docs/components/rows-layout/README.md +74 -0
  778. package/docs/components/rows-layout/example.svelte +16 -0
  779. package/docs/components/search-box/README.md +136 -0
  780. package/docs/components/search-box/example.svelte +16 -0
  781. package/docs/components/separator/README.md +44 -0
  782. package/docs/components/separator/example.svelte +7 -0
  783. package/docs/components/sidebar-layout/README.md +65 -0
  784. package/docs/components/sidebar-layout/example.svelte +12 -0
  785. package/docs/components/split/README.md +48 -0
  786. package/docs/components/split/example.svelte +8 -0
  787. package/docs/components/switch/README.md +77 -0
  788. package/docs/components/switch/example.svelte +11 -0
  789. package/docs/components/tabs/README.md +142 -0
  790. package/docs/components/tabs/example.svelte +22 -0
  791. package/docs/components/tag/README.md +74 -0
  792. package/docs/components/tag/example.svelte +9 -0
  793. package/docs/components/text-button/README.md +109 -0
  794. package/docs/components/text-button/example.svelte +11 -0
  795. package/docs/components/text-editor/README.md +147 -0
  796. package/docs/components/text-editor/example.svelte +16 -0
  797. package/docs/components/time-editor/README.md +130 -0
  798. package/docs/components/time-editor/example.svelte +16 -0
  799. package/docs/components/toast/README.md +52 -0
  800. package/docs/components/toast/example.svelte +9 -0
  801. package/docs/components/tooltip/README.md +44 -0
  802. package/docs/components/tooltip/example.svelte +5 -0
  803. package/docs/components/transfer/README.md +116 -0
  804. package/docs/components/transfer/example.svelte +13 -0
  805. package/docs/components/tree-view/README.md +179 -0
  806. package/docs/components/tree-view/example.svelte +27 -0
  807. package/docs/components/unit-number-editor/README.md +195 -0
  808. package/docs/components/unit-number-editor/example.svelte +17 -0
  809. package/package.json +515 -0
@@ -0,0 +1,31 @@
1
+ import type { FilterFn } from "../../types";
2
+ import type { ListLazyLoader } from "../../types";
3
+ type OnSelectChange = (item: any) => void;
4
+ type OnItemDblClick = (item: any) => void;
5
+ type OnItemClick = (item: any) => void;
6
+ interface Props {
7
+ readonly?: boolean;
8
+ style?: string;
9
+ list?: Array<any>;
10
+ itemRender?: any;
11
+ selectMode?: 'none' | 'single' | 'multiple';
12
+ filter?: FilterFn | null;
13
+ lazyLoader?: ListLazyLoader | null;
14
+ selectedItem?: any;
15
+ /** 多选模式下的已选项 */
16
+ selectedItems?: Array<any>;
17
+ class?: string;
18
+ item$props?: any;
19
+ onchange?: OnSelectChange;
20
+ onItemDblClick?: OnItemDblClick;
21
+ onItemClick?: OnItemClick;
22
+ title?: string;
23
+ round?: boolean;
24
+ filterText?: string;
25
+ header?: any;
26
+ footer?: any;
27
+ loadMoreIndicator?: any;
28
+ }
29
+ declare const ListBox: import("svelte").Component<Props, {}, "selectedItems">;
30
+ type ListBox = ReturnType<typeof ListBox>;
31
+ export default ListBox;
@@ -0,0 +1,158 @@
1
+ # ListBox
2
+
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `onSelectChange`, `selectedList` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
5
+ A list component with optional header / footer snippets, built-in search, lazy loading, and single / multiple selection modes.
6
+
7
+ > Svelte 5 component. Custom header/footer/load-more content is passed as **Snippets** (`header`, `footer`, `loadMoreIndicator`).
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npm install @ticatec/topside-elements
13
+ ```
14
+
15
+ ## Import
16
+
17
+ ```svelte
18
+ <script lang="ts">
19
+ import ListBox from '@ticatec/topside-elements/ListBox';
20
+ import type { FunFilter, ListLazyLoader, LoadResult } from '@ticatec/topside-elements/types';
21
+ </script>
22
+ ```
23
+
24
+ ## Props
25
+
26
+ | Prop | Type | Default | Description |
27
+ |------|------|---------|-------------|
28
+ | `list` | `Array<any>` | `undefined` | Items to render. Required unless using `lazyLoader` |
29
+ | `itemRender` | `SvelteComponent` | `undefined` | Component used to render each item. Receives `{ item, readonly, selected, ...item$props }` |
30
+ | `item$props` | `any` | `undefined` | Extra props spread onto every `itemRender` instance |
31
+ | `selectMode` | `'none' \| 'single' \| 'multiple'` | `'none'` | Selection behavior. `'multiple'` renders a checkbox per row |
32
+ | `selectedItem` | `any` | `undefined` | Currently selected item in single mode (one-way in; component mirrors into local state) |
33
+ | `selectedItems` | `Array<any>` | `[]` | Selected items in multiple mode. **Bindable** — use `bind:selectedItems` |
34
+ | `readonly` | `boolean` | `false` | Disables selection and hides the search box |
35
+ | `filter` | `FunFilter \| null` | `null` | If set, a search box appears at the top |
36
+ | `lazyLoader` | `ListLazyLoader \| null` | `null` | If set, replaces `list` with a paginated source. Search box appears and infinite-scroll is wired up |
37
+ | `filterText` | `string` | `undefined` | Initial / controlled filter text |
38
+ | `title` | `string` | `undefined` | Plain-text title shown in the header (ignored if `header` snippet is provided) |
39
+ | `round` | `boolean` | `false` | Adds a border radius (`--topside-radius`) |
40
+ | `class` | `string` | `undefined` | Extra class on the root |
41
+ | `style` | `string \| null` | `null` | Inline CSS on the root |
42
+ | `header` | `Snippet` | `undefined` | Custom header content (overrides `title`) |
43
+ | `footer` | `Snippet` | `undefined` | Custom footer content |
44
+ | `loadMoreIndicator` | `Snippet` | `undefined` | Custom "loading more" indicator shown at the bottom while `hasMore` |
45
+ | `onchange` | `(item: any) => void` | `undefined` | Single-mode: fires when the selected item changes (also fires with `null` when filter resets selection) |
46
+ | `onItemDblClick` | `(item: any) => void` | `undefined` | Single-mode only |
47
+ | `onItemClick` | `(item: any) => void` | `undefined` | Non-single modes |
48
+
49
+ ## Types
50
+
51
+ ```ts
52
+ type FunFilter = (item: any, text: string) => boolean;
53
+ type ListLazyLoader = (text: string, pageNo: number) => Promise<LoadResult>;
54
+
55
+ interface LoadResult {
56
+ list: Array<any>;
57
+ hasMore: boolean;
58
+ }
59
+ ```
60
+
61
+ > `pageNo` is **1-based** in the actual implementation (the type-doc comment saying "from 0" is wrong). First call is `lazyLoader('', 1)`.
62
+
63
+ ## Selection model
64
+
65
+ - **`selectMode='none'`** — no selection visuals, no callbacks. `onItemClick` still fires.
66
+ - **`selectMode='single'`** — click an item to select; `onchange(item)` fires. `selectedItem` is mirrored into local state on prop change.
67
+ - **`selectMode='multiple'`** — checkbox per row; the checked set is stored in `selectedItems` (use `bind:selectedItems`). Clicking the row label toggles the same checkbox.
68
+
69
+ ## Examples
70
+
71
+ ### Single-select with filter
72
+
73
+ ```svelte
74
+ <script lang="ts">
75
+ import ListBox from '@ticatec/topside-elements/ListBox';
76
+ import UserItem from './UserItem.svelte';
77
+
78
+ const users = [
79
+ { id: 1, name: 'Alice', email: 'alice@example.com' },
80
+ { id: 2, name: 'Bob', email: 'bob@example.com' },
81
+ ];
82
+
83
+ const filter = (item: any, text: string) =>
84
+ item.name.toLowerCase().includes(text.toLowerCase()) ||
85
+ item.email.toLowerCase().includes(text.toLowerCase());
86
+
87
+ const onchange = (item: any) => console.log('selected', item);
88
+ </script>
89
+
90
+ <ListBox
91
+ list={users}
92
+ itemRender={UserItem}
93
+ selectMode="single"
94
+ {filter}
95
+ title="Users"
96
+ round
97
+ onchange={onchange}
98
+ style="height: 400px;"
99
+ />
100
+ ```
101
+
102
+ ### Multiple-select with `bind:selectedItems`
103
+
104
+ ```svelte
105
+ <script lang="ts">
106
+ let selected: any[] = [];
107
+ </script>
108
+
109
+ <ListBox list={users} itemRender={UserItem} selectMode="multiple" bind:selectedItems={selected} />
110
+
111
+ <button disabled={selected.length === 0} onclick={() => console.log(selected)}>OK</button>
112
+ ```
113
+
114
+ ### Lazy-loaded list with custom footer
115
+
116
+ ```svelte
117
+ <script lang="ts">
118
+ const lazyLoader = async (text: string, pageNo: number) => {
119
+ const res = await fetch(`/api/users?q=${text}&page=${pageNo}`);
120
+ return res.json() as Promise<{ list: any[]; hasMore: boolean }>;
121
+ };
122
+ </script>
123
+
124
+ <ListBox itemRender={UserItem} selectMode="single" {lazyLoader} title="Search users">
125
+ {#snippet footer()}
126
+ <div style="padding: 4px 8px; color: #888;">End of list</div>
127
+ {/snippet}
128
+ </ListBox>
129
+ ```
130
+
131
+ When `lazyLoader` is set:
132
+ - The component calls it on mount with `('', 1)`.
133
+ - Search box debounces (50ms idle) before re-querying from page 1.
134
+ - Scrolling to the bottom triggers the next page until `hasMore === false`.
135
+
136
+ ## Styling
137
+
138
+ CSS custom variables consumed by the SCSS (override on the root or any ancestor):
139
+
140
+ | Variable | Used on |
141
+ |----------|---------|
142
+ | `--topside-list-box-border-color` | Outer border |
143
+ | `--topside-list-box-header-surface` | Header background |
144
+ | `--topside-list-box-header-height` | Header height |
145
+ | `--topside-list-box-header-margin` | Header padding |
146
+ | `--topside-list-box-header-bottom-border` | Border below header |
147
+ | `--topside-list-box-hover-surface` | Row hover background |
148
+ | `--topside-list-box-selected-surface` | Selected row background |
149
+ | `--topside-listbox-separator-color` | Row separator |
150
+ | `--topside-list-box-footer-surface` | Footer background |
151
+ | `--topside-list-box-fotter-top-border` | Border above footer (typo preserved from source) |
152
+ | `--topside-radius` | Border radius when `round` is on |
153
+
154
+ ## Accessibility
155
+
156
+ - Single-mode rows are clickable; the `cursor: pointer` hint is applied via the `selectable` class.
157
+ - Read-only mode disables selection and hides the search box.
158
+ - The component relies on the consumer's `itemRender` for in-row semantics (labels, roles, etc.).
@@ -0,0 +1,158 @@
1
+ # ListBox 列表框
2
+
3
+ > **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `onSelectChange`, `selectedList` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
4
+
5
+ 列表组件,可选 header / footer snippet、内置搜索框、懒加载、单选 / 多选。
6
+
7
+ > Svelte 5 组件。header / footer / 加载更多 通过 **Snippet** 传入(`header`、`footer`、`loadMoreIndicator`)。
8
+
9
+ ## 安装
10
+
11
+ ```bash
12
+ npm install @ticatec/topside-elements
13
+ ```
14
+
15
+ ## 导入
16
+
17
+ ```svelte
18
+ <script lang="ts">
19
+ import ListBox from '@ticatec/topside-elements/ListBox';
20
+ import type { FunFilter, ListLazyLoader, LoadResult } from '@ticatec/topside-elements/types';
21
+ </script>
22
+ ```
23
+
24
+ ## 属性
25
+
26
+ | 属性 | 类型 | 默认值 | 描述 |
27
+ |------|------|--------|------|
28
+ | `list` | `Array<any>` | `undefined` | 要渲染的数据。不使用 `lazyLoader` 时必填 |
29
+ | `itemRender` | `SvelteComponent` | `undefined` | 渲染每个 item 的组件。收到 `{ item, readonly, selected, ...item$props }` |
30
+ | `item$props` | `any` | `undefined` | 额外 props,会展开传给每个 `itemRender` 实例 |
31
+ | `selectMode` | `'none' \| 'single' \| 'multiple'` | `'none'` | 选择行为。`'multiple'` 会给每行加一个 checkbox |
32
+ | `selectedItem` | `any` | `undefined` | 单选模式下当前选中的 item(单向输入;组件会镜像到内部状态) |
33
+ | `selectedItems` | `Array<any>` | `[]` | 多选模式下选中的 items。**可绑定** —— 用 `bind:selectedItems` |
34
+ | `readonly` | `boolean` | `false` | 禁用选择,隐藏搜索框 |
35
+ | `filter` | `FunFilter \| null` | `null` | 设置后顶部会出现搜索框 |
36
+ | `lazyLoader` | `ListLazyLoader \| null` | `null` | 设置后用分页数据源代替 `list`,自动出现搜索框 + 滚动到底加载下一页 |
37
+ | `filterText` | `string` | `undefined` | 初始 / 受控的过滤文本 |
38
+ | `title` | `string` | `undefined` | 标题纯文本。传了 `header` snippet 时被忽略 |
39
+ | `round` | `boolean` | `false` | 加圆角(`--topside-radius`) |
40
+ | `class` | `string` | `undefined` | 根节点附加 class |
41
+ | `style` | `string \| null` | `null` | 根节点内联 CSS |
42
+ | `header` | `Snippet` | `undefined` | 自定义 header(覆盖 `title`) |
43
+ | `footer` | `Snippet` | `undefined` | 自定义 footer |
44
+ | `loadMoreIndicator` | `Snippet` | `undefined` | 自定义"加载更多"指示器,`hasMore` 时显示在底部 |
45
+ | `onchange` | `(item: any) => void` | `undefined` | 单选模式:选中变化时触发(过滤重置时也会以 `null` 触发一次) |
46
+ | `onItemDblClick` | `(item: any) => void` | `undefined` | 仅单选模式 |
47
+ | `onItemClick` | `(item: any) => void` | `undefined` | 仅非 single 模式 |
48
+
49
+ ## 类型
50
+
51
+ ```ts
52
+ type FunFilter = (item: any, text: string) => boolean;
53
+ type ListLazyLoader = (text: string, pageNo: number) => Promise<LoadResult>;
54
+
55
+ interface LoadResult {
56
+ list: Array<any>;
57
+ hasMore: boolean;
58
+ }
59
+ ```
60
+
61
+ > `pageNo` 是 **从 1 开始** 的(`types.ts` 里"从 0 开始"的注释是错的)。首次调用是 `lazyLoader('', 1)`。
62
+
63
+ ## 选择模型
64
+
65
+ - **`selectMode='none'`** —— 没有选择视觉,没有回调。`onItemClick` 仍会触发。
66
+ - **`selectMode='single'`** —— 点击 item 选中,触发 `onchange(item)`。`selectedItem` 变化时会镜像到内部状态。
67
+ - **`selectMode='multiple'`** —— 每行一个 checkbox;选中集合存在 `selectedItems`(用 `bind:selectedItems`)。点行标签也会切换同一个 checkbox。
68
+
69
+ ## 示例
70
+
71
+ ### 单选 + 过滤
72
+
73
+ ```svelte
74
+ <script lang="ts">
75
+ import ListBox from '@ticatec/topside-elements/ListBox';
76
+ import UserItem from './UserItem.svelte';
77
+
78
+ const users = [
79
+ { id: 1, name: 'Alice', email: 'alice@example.com' },
80
+ { id: 2, name: 'Bob', email: 'bob@example.com' },
81
+ ];
82
+
83
+ const filter = (item: any, text: string) =>
84
+ item.name.toLowerCase().includes(text.toLowerCase()) ||
85
+ item.email.toLowerCase().includes(text.toLowerCase());
86
+
87
+ const onchange = (item: any) => console.log('selected', item);
88
+ </script>
89
+
90
+ <ListBox
91
+ list={users}
92
+ itemRender={UserItem}
93
+ selectMode="single"
94
+ {filter}
95
+ title="Users"
96
+ round
97
+ {onchange}
98
+ style="height: 400px;"
99
+ />
100
+ ```
101
+
102
+ ### 多选 + `bind:selectedItems`
103
+
104
+ ```svelte
105
+ <script lang="ts">
106
+ let selected: any[] = [];
107
+ </script>
108
+
109
+ <ListBox list={users} itemRender={UserItem} selectMode="multiple" bind:selectedItems={selected} />
110
+
111
+ <button disabled={selected.length === 0} onclick={() => console.log(selected)}>OK</button>
112
+ ```
113
+
114
+ ### 懒加载 + 自定义 footer
115
+
116
+ ```svelte
117
+ <script lang="ts">
118
+ const lazyLoader = async (text: string, pageNo: number) => {
119
+ const res = await fetch(`/api/users?q=${text}&page=${pageNo}`);
120
+ return res.json() as Promise<{ list: any[]; hasMore: boolean }>;
121
+ };
122
+ </script>
123
+
124
+ <ListBox itemRender={UserItem} selectMode="single" {lazyLoader} title="用户搜索">
125
+ {#snippet footer()}
126
+ <div style="padding: 4px 8px; color: #888;">到底了</div>
127
+ {/snippet}
128
+ </ListBox>
129
+ ```
130
+
131
+ `lazyLoader` 启用后:
132
+ - 挂载时以 `('', 1)` 调用一次
133
+ - 搜索框 50ms 防抖,从第 1 页重新查
134
+ - 滚动到底自动加载下一页,直到 `hasMore === false`
135
+
136
+ ## 样式定制
137
+
138
+ SCSS 中消费的 CSS 变量(在根或任意祖先覆盖):
139
+
140
+ | 变量 | 用处 |
141
+ |------|------|
142
+ | `--topside-list-box-border-color` | 外边框 |
143
+ | `--topside-list-box-header-surface` | header 背景 |
144
+ | `--topside-list-box-header-height` | header 高度 |
145
+ | `--topside-list-box-header-margin` | header 内边距 |
146
+ | `--topside-list-box-header-bottom-border` | header 下方分隔线 |
147
+ | `--topside-list-box-hover-surface` | 行悬停背景 |
148
+ | `--topside-list-box-selected-surface` | 选中行背景 |
149
+ | `--topside-listbox-separator-color` | 行分隔线 |
150
+ | `--topside-list-box-footer-surface` | footer 背景 |
151
+ | `--topside-list-box-fotter-top-border` | footer 上方分隔线(注意 `fotter` 拼写沿用源码) |
152
+ | `--topside-radius` | 开启 `round` 时的圆角 |
153
+
154
+ ## 无障碍
155
+
156
+ - 单选模式下整行可点;`selectable` class 加上 `cursor: pointer`
157
+ - 只读模式禁用选择并隐藏搜索框
158
+ - 行内的语义(label、role 等)依赖使用方传入的 `itemRender`
@@ -0,0 +1,4 @@
1
+ import ListBox from "./ListBox.svelte";
2
+ import type { ListLazyLoader, LoadResult, FilterFn } from "../../types";
3
+ export default ListBox;
4
+ export type { ListLazyLoader, FilterFn, LoadResult };
@@ -0,0 +1,2 @@
1
+ import ListBox from "./ListBox.svelte";
2
+ export default ListBox;
@@ -0,0 +1,246 @@
1
+ # TreeView
2
+
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `onContextMenu` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
5
+ A hierarchical tree component for displaying nested or flat hierarchical data (backed by `HierarchyTree`), with support for custom icons (folder open/close, file-type badges), lazy loading, selection binding, and context menus.
6
+
7
+ ## Features
8
+
9
+ - **Icon customization**: use the `nodeIcon` snippet or the `iconField` function to render folder open (📂) / closed (📁) states and file-type icons.
10
+ - **Hierarchical data**: powered by `HierarchyTree` (from `@ticatec/hierarchy-data`), which builds a tree from flat data via `getKey` / `getParentKey`.
11
+ - **Expansion control**: `defaultExpandDepth` sets the initial expand depth; clicking the chevron toggles a branch.
12
+ - **Two-way selection binding**: `bind:activeNode` reactively tracks the selected node.
13
+ - **Async lazy loading**: `lazyLoader` fetches children on demand and shows a loading icon while the fetch is in flight.
14
+ - **Context menu integration**: `oncontextmenu` opens a `ContextMenu` on right-click.
15
+ - **Accessibility**: the container has `role="tree"` and supports `onfocus` / `onblur`.
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ npm install @ticatec/topside-elements
21
+ ```
22
+
23
+ ## Import
24
+
25
+ ```typescript
26
+ import TreeView from "@ticatec/topside-elements/TreeView";
27
+ import {HierarchyTree} from "@ticatec/topside-elements/TreeNodes";
28
+ ```
29
+
30
+ ## Props
31
+
32
+ | Name | Type | Default | Description |
33
+ |------|------|---------|-------------|
34
+ | `tree` | `HierarchyTree<any>` | required | The hierarchy tree model instance that owns the parent/child relationships and node index |
35
+ | `textField` | `string \| GetText<any>` | required | Field name or function used to extract the display text from a node's data |
36
+ | `iconField` | `string \| GetIcon<any>` | - | Field name, or a function of the node and its expanded state, that returns an icon (image path or CSS class) |
37
+ | `nodeIcon` | `Snippet<[NodeIconContext]>` | - | Svelte 5 snippet for fully customizing a node's icon (e.g. folder open/closed). Takes priority over `iconField` |
38
+ | `chevronIcon` | `Snippet<[ChevronIconContext]>` | - | Svelte 5 snippet for customizing the expand/collapse chevron; falls back to the default ▾ / ▸ glyphs |
39
+ | `style` | `string` | `''` | Inline style for the container |
40
+ | `class` | `string` | `''` | Additional CSS class(es) for the container |
41
+ | `lazyLoader` | `TreeLazyLoader \| null` | `null` | Interface for loading child nodes on demand |
42
+ | `activeNode` | `any` | `null` | The currently selected node (supports `bind:activeNode` two-way binding) |
43
+ | `defaultExpandDepth` | `number` | `0` | Initial expand depth (0 = fully collapsed, 1 = expand root nodes, and so on) |
44
+ | `isVisible` | `NodeVisibleFun` | - | Predicate that filters which nodes are visible |
45
+ | `onchange` | `OnNodeSelectionChange` | - | Callback fired when the selection changes; return `false` to cancel the selection |
46
+ | `onfocus` | `(event: FocusEvent) => void` | - | Callback fired when the tree container gains focus |
47
+ | `onblur` | `(event: FocusEvent) => void` | - | Callback fired when the tree container loses focus |
48
+ | `oncontextmenu` | `OnContextMenu` | - | Callback fired on right-click, used to show a context menu |
49
+ | `title` | `string` | - | Optional title shown at the top of the tree; clicking it clears the selection (`activeNode` is set to `null`) |
50
+
51
+ ## Types
52
+
53
+ ### GetText
54
+
55
+ ```typescript
56
+ type GetText<T> = (item: T) => string;
57
+ ```
58
+
59
+ ### GetIcon
60
+
61
+ ```typescript
62
+ type GetIcon<T> = (node: IHierarchyData<T>, expanded: boolean) => string | undefined;
63
+ ```
64
+
65
+ ### NodeIconContext / ChevronIconContext
66
+
67
+ ```typescript
68
+ interface NodeIconContext {
69
+ node: IHierarchyData<any>;
70
+ expanded: boolean;
71
+ isBranch: boolean;
72
+ }
73
+
74
+ interface ChevronIconContext {
75
+ expanded: boolean;
76
+ loading: boolean;
77
+ }
78
+ ```
79
+
80
+ ### TreeLazyLoader
81
+
82
+ ```typescript
83
+ interface TreeLazyLoader {
84
+ /** Whether this node is an expandable branch */
85
+ isBranch: (node: IHierarchyData<any>) => boolean;
86
+ /** Load a node's children (plain data objects); the component appends them via tree.appendChild internally */
87
+ load: (node: IHierarchyData<any>) => Promise<Array<any>>;
88
+ }
89
+ ```
90
+
91
+ ### OnNodeSelectionChange
92
+
93
+ ```typescript
94
+ type OnNodeSelectionChange = (node: IHierarchyData<any>) => Promise<boolean>;
95
+ ```
96
+
97
+ Return `false` to prevent the selection from taking effect; returning `true`, `undefined`, or `null` allows it.
98
+
99
+ ### NodeVisibleFun
100
+
101
+ ```typescript
102
+ type NodeVisibleFun = (node: IHierarchyData<any>) => boolean;
103
+ ```
104
+
105
+ ### OnContextMenu
106
+
107
+ ```typescript
108
+ type OnContextMenu = (event: MouseEvent, data: any) => void;
109
+ ```
110
+
111
+ The callback receives the node's raw data (`node.data`), not the `IHierarchyData` node itself.
112
+
113
+ ---
114
+
115
+ ## Basic Example
116
+
117
+ ```svelte
118
+ <script lang="ts">
119
+ import TreeView from "@ticatec/topside-elements/TreeView";
120
+ import {HierarchyTree} from "@ticatec/topside-elements/TreeNodes";
121
+
122
+ const flatData = [
123
+ { id: '1', parentId: null, name: 'Root 1' },
124
+ { id: '1-1', parentId: '1', name: 'Child 1-1' },
125
+ ];
126
+
127
+ const tree = new HierarchyTree<any>({
128
+ getKey: (item) => item.id,
129
+ getParentKey: (item) => item.parentId
130
+ });
131
+ tree.setData(flatData);
132
+
133
+ let activeNode = $state<any>(null);
134
+ </script>
135
+
136
+ <TreeView
137
+ {tree}
138
+ textField="name"
139
+ defaultExpandDepth={1}
140
+ bind:activeNode
141
+ />
142
+ ```
143
+
144
+ ## Example: File Directory Tree (Folder Open/Closed + TypeScript Badge)
145
+
146
+ Use the `nodeIcon` snippet to swap icons dynamically based on `{ node, expanded }`:
147
+
148
+ ```svelte
149
+ <script lang="ts">
150
+ import TreeView from "@ticatec/topside-elements/TreeView";
151
+ import {HierarchyTree} from "@ticatec/topside-elements/TreeNodes";
152
+
153
+ const fileTreeData = [
154
+ { id: 'src', parentId: null, name: 'src', isDir: true },
155
+ { id: 'src/business', parentId: 'src', name: 'business', isDir: true },
156
+ { id: 'src/business/AccessLog.ts', parentId: 'src/business', name: 'AccessLog.ts', isDir: false, fileType: 'ts' },
157
+ { id: 'src/business/AccessLogDAO.ts', parentId: 'src/business', name: 'AccessLogDAO.ts', isDir: false, fileType: 'ts' },
158
+ ];
159
+
160
+ const fileTree = new HierarchyTree<any>({
161
+ getKey: (item) => item.id,
162
+ getParentKey: (item) => item.parentId
163
+ });
164
+ fileTree.setData(fileTreeData);
165
+
166
+ let activeFile = $state<any>(null);
167
+ </script>
168
+
169
+ {#snippet customFileIcon({ node, expanded })}
170
+ {#if node.data.isDir}
171
+ <!-- Folder icon (expanded: open 📂, collapsed: closed 📁) -->
172
+ {#if expanded}
173
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="#EAB308">
174
+ <path d="M19 20H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v1L19 20z" opacity="0.4"/>
175
+ <path d="M4 10h17l-2.5 9h-15L4 10z"/>
176
+ </svg>
177
+ {:else}
178
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="#CA8A04">
179
+ <path d="M10 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/>
180
+ </svg>
181
+ {/if}
182
+ {:else if node.data.fileType === 'ts'}
183
+ <!-- TypeScript file badge -->
184
+ <span style="background: #3178C6; color: #fff; font-size: 9px; font-weight: 800; padding: 1px 3px; border-radius: 3px;">
185
+ TS
186
+ </span>
187
+ {/if}
188
+ {/snippet}
189
+
190
+ <TreeView
191
+ tree={fileTree}
192
+ textField="name"
193
+ defaultExpandDepth={3}
194
+ nodeIcon={customFileIcon}
195
+ bind:activeNode={activeFile}
196
+ />
197
+ ```
198
+
199
+ ## Example: Async Lazy Loading
200
+
201
+ ```svelte
202
+ <script lang="ts">
203
+ import TreeView from "@ticatec/topside-elements/TreeView";
204
+ import {HierarchyTree} from "@ticatec/topside-elements/TreeNodes";
205
+ import type {IHierarchyData} from "@ticatec/topside-elements/TreeNodes";
206
+ import type {TreeLazyLoader} from "@ticatec/topside-elements/types";
207
+
208
+ const lazyTree = new HierarchyTree<any>({
209
+ getKey: (item) => item.id,
210
+ getParentKey: (item) => item.parentId
211
+ });
212
+ lazyTree.setData([
213
+ { id: 'root-1', name: 'Project A (click to lazy-load)', hasChildren: true }
214
+ ]);
215
+
216
+ const lazyLoader: TreeLazyLoader = {
217
+ isBranch: (node: IHierarchyData<any>) => Boolean(node.data.hasChildren),
218
+ load: async (node: IHierarchyData<any>) => {
219
+ await new Promise((resolve) => setTimeout(resolve, 600));
220
+ return [
221
+ { id: `${node.data.id}-sub1`, parentId: node.data.id, name: `${node.data.name} - Module 1` },
222
+ { id: `${node.data.id}-sub2`, parentId: node.data.id, name: `${node.data.name} - Module 2` }
223
+ ];
224
+ }
225
+ };
226
+ </script>
227
+
228
+ <TreeView tree={lazyTree} textField="name" {lazyLoader} />
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Styling
234
+
235
+ The tree view supports the following CSS custom properties:
236
+
237
+ - `--topside-treeview-chevron-color`: default color of the expand/collapse chevron
238
+ - `--topside-treeview-chevron-hover-color`: chevron color on hover
239
+ - `--topside-treeview-item-bg`: row background color for hover/selected state
240
+ - `--topside-treeview-item-selected-color`: text color of the selected node
241
+
242
+ ## Accessibility
243
+
244
+ - The tree container uses `role="tree"` for proper semantics.
245
+ - The chevron and each row are clickable/keyboard-reachable interactive elements.
246
+ - Focus state is exposed via `onfocus` and `onblur`.