@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,312 @@
1
+ # Split Component
2
+
3
+ A draggable divider that resizes the panel you bind it to. Sits between two adjacent panels in a flex container; dragging the divider updates the bound panel's `width` or `height` inline style.
4
+
5
+ > **Naming gotcha**: `direction` describes the **visual orientation of the divider bar**, not the layout direction of the panels.
6
+ > - `direction="vertical"` → a *vertical bar* (1px wide, full height) → goes between **left/right** panels (flex row).
7
+ > - `direction="horizontal"` → a *horizontal bar* (full width, 1px tall) → goes between **top/bottom** panels (flex column).
8
+
9
+ ## Features
10
+
11
+ - **Drag-to-resize**: mouse-driven resizing of the bound panel
12
+ - **Two orientations**: vertical bar (default) for left/right splits, horizontal bar for top/bottom splits
13
+ - **Adjustable thickness**: `width` prop controls the bar's px thickness
14
+ - **Reverse mode**: for when the bound panel is on the right/bottom of the divider
15
+ - **Fixed mode**: omit `bindingPanel` to render a non-interactive visual divider
16
+ - **Min size guard**: bound panel can't be dragged below 5px
17
+ - **Theme token**: color via `--topside-dividing-line-color`
18
+ - **Cleanup on unmount**: in-flight drag is cancelled if the component is destroyed mid-drag
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install @ticatec/topside-elements
24
+ ```
25
+
26
+ ## Import
27
+
28
+ ```typescript
29
+ import Split from '@ticatec/topside-elements/Split';
30
+ ```
31
+
32
+ ## Basic Usage
33
+
34
+ ```svelte
35
+ <script>
36
+ import Split from '@ticatec/topside-elements/Split';
37
+
38
+ let leftPanel: HTMLElement;
39
+ </script>
40
+
41
+ <!-- Two side-by-side panels separated by a vertical bar -->
42
+ <div style="display: flex; height: 300px;">
43
+ <div bind:this={leftPanel} style="flex: 0 0 200px; background: #f0f0f0;">
44
+ Left Panel
45
+ </div>
46
+ <Split bindingPanel={leftPanel} direction="vertical" />
47
+ <div style="flex: 1 1 auto; background: #e0e0e0;">
48
+ Right Panel
49
+ </div>
50
+ </div>
51
+ ```
52
+
53
+ Drag the bar; the left panel's width updates in real time. The right panel (with `flex: 1`) absorbs the remaining space.
54
+
55
+ ## Props
56
+
57
+ | Prop | Type | Default | Description |
58
+ |------|------|---------|-------------|
59
+ | `direction` | `'vertical' \| 'horizontal'` | `'vertical'` | Visual orientation of the bar. `vertical` = thin tall bar (for left/right splits); `horizontal` = thin wide bar (for top/bottom splits). |
60
+ | `width` | `number` | `2` | Thickness of the bar in pixels |
61
+ | `bindingPanel` | `HTMLElement \| undefined` | `undefined` | The panel to resize. Omit to render a fixed, non-draggable divider. |
62
+ | `reverse` | `boolean` | `false` | Flip drag direction. Use when the bound panel sits to the **right/below** the divider (so dragging away from it grows it). |
63
+ | `onResizeEnd` | `(size: number) => void` | `undefined` | Fired once when a drag ends; receives the bound panel's final `clientWidth` or `clientHeight` in px. Not fired for fixed dividers. |
64
+
65
+ ## Events
66
+
67
+ | Event | Signature | Description |
68
+ |-------|-----------|-------------|
69
+ | `onResizeEnd` | `(size: number) => void` | Fired on `mouseup` after a drag. Useful for persisting the size. Not fired if the divider is fixed. |
70
+
71
+ The component does **not** emit intermediate events during the drag — it mutates `bindingPanel.style.width` / `.height` directly on every `mousemove`.
72
+
73
+ ## Direction → Layout Cheat Sheet
74
+
75
+ | You want… | Container | `direction` |
76
+ |-----------|----------|-------------|
77
+ | Left ↔ Right panels | `display: flex` (row) | `'vertical'` |
78
+ | Top ↕ Bottom panels | `display: flex; flex-direction: column` | `'horizontal'` |
79
+
80
+ ## Basic Examples
81
+
82
+ ### Left / Right Split (vertical bar)
83
+
84
+ ```svelte
85
+ <script>
86
+ import Split from '@ticatec/topside-elements/Split';
87
+
88
+ let leftPanel: HTMLElement;
89
+ </script>
90
+
91
+ <div style="display: flex; height: 400px;">
92
+ <div bind:this={leftPanel} style="flex: 0 0 250px; padding: 16px; background: #f5f5f5;">
93
+ <h3>Left</h3>
94
+ <p>Drag the bar to resize me.</p>
95
+ </div>
96
+
97
+ <Split bindingPanel={leftPanel} direction="vertical" width={4} />
98
+
99
+ <div style="flex: 1 1 auto; padding: 16px; background: #e8e8e8;">
100
+ <h3>Right</h3>
101
+ <p>I absorb the remaining space.</p>
102
+ </div>
103
+ </div>
104
+ ```
105
+
106
+ ### Top / Bottom Split (horizontal bar)
107
+
108
+ ```svelte
109
+ <script>
110
+ import Split from '@ticatec/topside-elements/Split';
111
+
112
+ let topPanel: HTMLElement;
113
+ </script>
114
+
115
+ <div style="display: flex; flex-direction: column; height: 400px;">
116
+ <div bind:this={topPanel} style="flex: 0 0 150px; padding: 16px; background: #f5f5f5;">
117
+ <h3>Top</h3>
118
+ </div>
119
+
120
+ <Split bindingPanel={topPanel} direction="horizontal" width={4} />
121
+
122
+ <div style="flex: 1 1 auto; padding: 16px; background: #e8e8e8;">
123
+ <h3>Bottom</h3>
124
+ </div>
125
+ </div>
126
+ ```
127
+
128
+ ### Persisting Size
129
+
130
+ ```svelte
131
+ <script>
132
+ import Split from '@ticatec/topside-elements/Split';
133
+
134
+ let sidebar: HTMLElement;
135
+ let savedWidth = $state(250);
136
+
137
+ async function persist(width: number) {
138
+ savedWidth = width;
139
+ await fetch('/api/prefs', { method: 'POST', body: JSON.stringify({ sidebarWidth: width }) });
140
+ }
141
+ </script>
142
+
143
+ <div style="display: flex; height: 100vh;">
144
+ <div bind:this={sidebar} style="flex: 0 0 {savedWidth}px; ...">Sidebar</div>
145
+ <Split bindingPanel={sidebar} direction="vertical" onResizeEnd={persist} />
146
+ <div style="flex: 1 1 auto;">Main</div>
147
+ </div>
148
+ ```
149
+
150
+ ## Detailed Examples
151
+
152
+ ### Resizing the *Right* Panel (reverse mode)
153
+
154
+ By default the bound panel is to the **left** of the divider (drag right = grow). If the bound panel is to the **right**, use `reverse`:
155
+
156
+ ```svelte
157
+ <script>
158
+ import Split from '@ticatec/topside-elements/Split';
159
+
160
+ let rightPanel: HTMLElement;
161
+ </script>
162
+
163
+ <div style="display: flex; height: 300px;">
164
+ <div style="flex: 1 1 auto; background: #e0e0e0;">Left (absorbs remainder)</div>
165
+
166
+ <Split bindingPanel={rightPanel} direction="vertical" reverse onResizeEnd={(w) => console.log('right width:', w)} />
167
+
168
+ <div bind:this={rightPanel} style="flex: 0 0 200px; background: #f0f0f0;">Right</div>
169
+ </div>
170
+ ```
171
+
172
+ ### Three-Pane IDE Layout
173
+
174
+ Sidebar | Editor | Details, all resizable. Two dividers, both bound to the panel on their **left**:
175
+
176
+ ```svelte
177
+ <script>
178
+ import Split from '@ticatec/topside-elements/Split';
179
+
180
+ let sidebar: HTMLElement;
181
+ let editor: HTMLElement;
182
+ </script>
183
+
184
+ <div style="display: flex; height: 100vh;">
185
+ <div bind:this={sidebar} style="flex: 0 0 220px; background: #1e293b; color: #e2e8f0;">
186
+ Sidebar
187
+ </div>
188
+
189
+ <Split bindingPanel={sidebar} direction="vertical" width={4} />
190
+
191
+ <div bind:this={editor} style="flex: 1 1 0; background: #0f172a; color: #e2e8f0;">
192
+ Editor
193
+ </div>
194
+
195
+ <Split bindingPanel={editor} direction="vertical" width={4} />
196
+
197
+ <div style="flex: 0 0 320px; background: #111827; color: #e2e8f0;">
198
+ Details
199
+ </div>
200
+ </div>
201
+ ```
202
+
203
+ `reverse` is not needed here because both bound panels (`sidebar`, `editor`) are to the **left** of their respective dividers. Use `reverse` only when the bound panel is on the right/bottom.
204
+
205
+ ### Fixed (Non-Resizable) Divider
206
+
207
+ Omit `bindingPanel`:
208
+
209
+ ```svelte
210
+ <div style="display: flex; height: 300px;">
211
+ <div style="flex: 1 1 auto; background: #f0f0f0;">Panel 1</div>
212
+ <Split direction="vertical" width={1} /> <!-- fixed: no bindingPanel -->
213
+ <div style="flex: 1 1 auto; background: #e0e0e0;">Panel 2</div>
214
+ </div>
215
+ ```
216
+
217
+ Fixed dividers get the `fixed` class → `pointer-events: none; cursor: default`. The hover/active states are also suppressed.
218
+
219
+ ## DOM Structure & CSS
220
+
221
+ Rendered output:
222
+
223
+ ```html
224
+ <div
225
+ class="topside-divider {direction}" <!-- + 'fixed' if no bindingPanel -->
226
+ class:fixed
227
+ style="height: 2px" or "width: 2px" <!-- depends on direction -->
228
+ role="separator"
229
+ aria-orientation="{direction}"
230
+ aria-label="Resize handle"
231
+ tabindex="0"
232
+ onmousedown={startDrag}
233
+ />
234
+ ```
235
+
236
+ Built-in styles:
237
+
238
+ ```css
239
+ .topside-divider {
240
+ background-color: var(--topside-dividing-line-color, #CBD5E1);
241
+ flex: 0 0 auto; /* don't grow or shrink */
242
+ transition: background-color 0.2s ease;
243
+ }
244
+
245
+ .topside-divider.vertical {
246
+ height: 100%;
247
+ cursor: col-resize;
248
+ }
249
+
250
+ .topside-divider.horizontal {
251
+ width: 100%;
252
+ cursor: row-resize;
253
+ }
254
+
255
+ .topside-divider.fixed {
256
+ cursor: default;
257
+ pointer-events: none;
258
+ }
259
+
260
+ .topside-divider:hover {
261
+ /* darken 20% via color-mix */
262
+ background-color: color-mix(in srgb, var(--topside-dividing-line-color, #CBD5E1) 80%, #000);
263
+ }
264
+
265
+ .topside-divider:active {
266
+ transition: none; /* no animation lag during drag */
267
+ }
268
+ ```
269
+
270
+ ### CSS Custom Properties
271
+
272
+ | Variable | Default | Description |
273
+ |----------|---------|-------------|
274
+ | `--topside-dividing-line-color` | `#CBD5E1` | Background color of the bar (hover state darkens it 20%) |
275
+
276
+ ```css
277
+ :root {
278
+ --topside-dividing-line-color: #d4d4d8;
279
+ }
280
+ .dark-theme {
281
+ --topside-dividing-line-color: #3f3f46;
282
+ }
283
+ ```
284
+
285
+ ## Behavior Notes
286
+
287
+ - **Mouse only.** The drag uses `mousedown` / `mousemove` / `mouseup`. Touch events are not handled — on touch devices the divider will not respond to finger drags.
288
+ - **Min size**: bound panel clamped to ≥5px (won't collapse to zero).
289
+ - **Document-level listeners**: `mousemove` and `mouseup` are attached to `document` during a drag, so the cursor can wander outside the bar without losing the grab.
290
+ - **Body cursor override**: `document.body.style.cursor` is set to `col-resize` / `row-resize` during the drag and reset on `mouseup`.
291
+ - **Cleanup**: if the component is destroyed mid-drag, `onDestroy` calls `stopDrag` to remove listeners and reset the cursor.
292
+ - **Direct style mutation**: the bound panel's `style.width` or `style.height` is written directly — no React-style state round-trip. This keeps dragging smooth even with heavy panel contents.
293
+ - **No resize-start event**: there's `onResizeEnd` only. If you need to track live sizing, attach a `ResizeObserver` to the bound panel yourself.
294
+
295
+ ## Accessibility
296
+
297
+ - `role="separator"`, `aria-orientation`, `aria-label="Resize handle"`, `tabindex="0"` are set on the divider.
298
+ - **Keyboard support is partial**: the divider is focusable but the component does **not** handle arrow-key events. Dragging requires a mouse. If you need keyboard resizing, layer your own `keydown` handler on a wrapping element.
299
+ - For fixed dividers, consider `aria-disabled="true"` if the visual still looks interactive.
300
+
301
+ ## Best Practices
302
+
303
+ 1. **`bind:this` the panel** — `bindingPanel` needs a real DOM reference, not a CSS selector.
304
+ 2. **Match `direction` to your flex layout** — vertical bar for `flex-direction: row`, horizontal bar for `flex-direction: column`.
305
+ 3. **Use `reverse` when the bound panel is on the far side** of the divider (right of a vertical bar / below a horizontal bar).
306
+ 4. **Give the absorbent panel `flex: 1 1 auto`** so it takes up the slack as the bound panel grows/shrinks.
307
+ 5. **Persist via `onResizeEnd`**, not on every drag frame (avoid `onResize`-style intermediate callbacks — they aren't emitted anyway).
308
+ 6. **For non-resizable visual gaps, omit `bindingPanel`** rather than disabling a bound divider.
309
+
310
+ ## Related Components
311
+
312
+ - [Separator](../separator/README.md) — pure-decoration 1px vertical line (non-interactive)
@@ -0,0 +1,312 @@
1
+ # Split 分割器组件
2
+
3
+ 一个可拖动的分隔条,用来调整绑定的那个面板的尺寸。放在 flex 容器里两个相邻面板之间,拖动会直接改写绑定面板的 `width` 或 `height` 内联样式。
4
+
5
+ > **命名陷阱**:`direction` 描述的是**分隔条本身的视觉朝向**,不是面板的排布方向。
6
+ > - `direction="vertical"` → 一根**竖条**(1px 宽,整高)→ 放在**左右**面板之间(flex row)。
7
+ > - `direction="horizontal"` → 一根**横条**(整宽,1px 高)→ 放在**上下**面板之间(flex column)。
8
+
9
+ ## 功能特性
10
+
11
+ - **拖拽调整**:鼠标拖动改变绑定面板尺寸
12
+ - **两个方向**:竖条(默认,用于左右分栏)或横条(用于上下分栏)
13
+ - **可调粗细**:`width` 属性控制条的像素厚度
14
+ - **反向模式**:当绑定面板在分隔条的右侧/下方时使用
15
+ - **固定模式**:省略 `bindingPanel` 即渲染为不可交互的视觉分隔条
16
+ - **最小尺寸保护**:绑定面板不会被拖到 5px 以下
17
+ - **主题令牌**:颜色由 `--topside-dividing-line-color` 驱动
18
+ - **销毁时清理**:组件在拖动过程中被销毁会自动取消拖动
19
+
20
+ ## 安装
21
+
22
+ ```bash
23
+ npm install @ticatec/topside-elements
24
+ ```
25
+
26
+ ## 导入
27
+
28
+ ```typescript
29
+ import Split from '@ticatec/topside-elements/Split';
30
+ ```
31
+
32
+ ## 基本用法
33
+
34
+ ```svelte
35
+ <script>
36
+ import Split from '@ticatec/topside-elements/Split';
37
+
38
+ let leftPanel: HTMLElement;
39
+ </script>
40
+
41
+ <!-- 两个左右面板,中间一根竖条 -->
42
+ <div style="display: flex; height: 300px;">
43
+ <div bind:this={leftPanel} style="flex: 0 0 200px; background: #f0f0f0;">
44
+ 左侧面板
45
+ </div>
46
+ <Split bindingPanel={leftPanel} direction="vertical" />
47
+ <div style="flex: 1 1 auto; background: #e0e0e0;">
48
+ 右侧面板
49
+ </div>
50
+ </div>
51
+ ```
52
+
53
+ 拖动分隔条,左侧面板的宽度实时变化。右侧面板(`flex: 1`)吸收剩余空间。
54
+
55
+ ## 属性
56
+
57
+ | 属性 | 类型 | 默认值 | 描述 |
58
+ |------|------|---------|-------------|
59
+ | `direction` | `'vertical' \| 'horizontal'` | `'vertical'` | 分隔条的视觉朝向。`vertical` = 细高竖条(用于左右分栏);`horizontal` = 细宽横条(用于上下分栏) |
60
+ | `width` | `number` | `2` | 分隔条的像素厚度 |
61
+ | `bindingPanel` | `HTMLElement \| undefined` | `undefined` | 要调整尺寸的面板。省略则渲染为固定不可拖的分隔条 |
62
+ | `reverse` | `boolean` | `false` | 反转拖动方向。绑定面板在分隔条**右侧/下方**时使用(向远离面板的方向拖动使其变大) |
63
+ | `onResizeEnd` | `(size: number) => void` | `undefined` | 一次拖动结束时触发一次,参数是绑定面板最终的 `clientWidth` 或 `clientHeight`(像素)。固定分隔条不会触发 |
64
+
65
+ ## 事件
66
+
67
+ | 事件 | 签名 | 描述 |
68
+ |------|------|------|
69
+ | `onResizeEnd` | `(size: number) => void` | 拖动 `mouseup` 后触发,适合持久化尺寸。固定分隔条不触发 |
70
+
71
+ 组件**不**在拖动过程中发送中间事件 —— 每帧直接改写 `bindingPanel.style.width` / `.height`。
72
+
73
+ ## 方向 → 布局 对照表
74
+
75
+ | 想要的效果 | 容器 | `direction` |
76
+ |-----------|------|-------------|
77
+ | 左 ↔ 右 面板 | `display: flex`(row) | `'vertical'` |
78
+ | 上 ↕ 下 面板 | `display: flex; flex-direction: column` | `'horizontal'` |
79
+
80
+ ## 基本示例
81
+
82
+ ### 左右分栏(竖条)
83
+
84
+ ```svelte
85
+ <script>
86
+ import Split from '@ticatec/topside-elements/Split';
87
+
88
+ let leftPanel: HTMLElement;
89
+ </script>
90
+
91
+ <div style="display: flex; height: 400px;">
92
+ <div bind:this={leftPanel} style="flex: 0 0 250px; padding: 16px; background: #f5f5f5;">
93
+ <h3>左侧</h3>
94
+ <p>拖动中间的条调整我的宽度。</p>
95
+ </div>
96
+
97
+ <Split bindingPanel={leftPanel} direction="vertical" width={4} />
98
+
99
+ <div style="flex: 1 1 auto; padding: 16px; background: #e8e8e8;">
100
+ <h3>右侧</h3>
101
+ <p>我吸收剩余空间。</p>
102
+ </div>
103
+ </div>
104
+ ```
105
+
106
+ ### 上下分栏(横条)
107
+
108
+ ```svelte
109
+ <script>
110
+ import Split from '@ticatec/topside-elements/Split';
111
+
112
+ let topPanel: HTMLElement;
113
+ </script>
114
+
115
+ <div style="display: flex; flex-direction: column; height: 400px;">
116
+ <div bind:this={topPanel} style="flex: 0 0 150px; padding: 16px; background: #f5f5f5;">
117
+ <h3>顶部</h3>
118
+ </div>
119
+
120
+ <Split bindingPanel={topPanel} direction="horizontal" width={4} />
121
+
122
+ <div style="flex: 1 1 auto; padding: 16px; background: #e8e8e8;">
123
+ <h3>底部</h3>
124
+ </div>
125
+ </div>
126
+ ```
127
+
128
+ ### 持久化尺寸
129
+
130
+ ```svelte
131
+ <script>
132
+ import Split from '@ticatec/topside-elements/Split';
133
+
134
+ let sidebar: HTMLElement;
135
+ let savedWidth = $state(250);
136
+
137
+ async function persist(width: number) {
138
+ savedWidth = width;
139
+ await fetch('/api/prefs', { method: 'POST', body: JSON.stringify({ sidebarWidth: width }) });
140
+ }
141
+ </script>
142
+
143
+ <div style="display: flex; height: 100vh;">
144
+ <div bind:this={sidebar} style="flex: 0 0 {savedWidth}px; ...">侧边栏</div>
145
+ <Split bindingPanel={sidebar} direction="vertical" onResizeEnd={persist} />
146
+ <div style="flex: 1 1 auto;">主内容</div>
147
+ </div>
148
+ ```
149
+
150
+ ## 详细示例
151
+
152
+ ### 调整右侧面板尺寸(reverse 模式)
153
+
154
+ 默认情况下绑定面板在分隔条**左侧**(向右拖 = 变大)。如果绑定面板在**右侧**,用 `reverse`:
155
+
156
+ ```svelte
157
+ <script>
158
+ import Split from '@ticatec/topside-elements/Split';
159
+
160
+ let rightPanel: HTMLElement;
161
+ </script>
162
+
163
+ <div style="display: flex; height: 300px;">
164
+ <div style="flex: 1 1 auto; background: #e0e0e0;">左侧(吸收剩余空间)</div>
165
+
166
+ <Split bindingPanel={rightPanel} direction="vertical" reverse onResizeEnd={(w) => console.log('right width:', w)} />
167
+
168
+ <div bind:this={rightPanel} style="flex: 0 0 200px; background: #f0f0f0;">右侧</div>
169
+ </div>
170
+ ```
171
+
172
+ ### 三栏 IDE 布局
173
+
174
+ 侧边栏 | 编辑器 | 详情,所有都可调。两根分隔条,都绑定左侧面板:
175
+
176
+ ```svelte
177
+ <script>
178
+ import Split from '@ticatec/topside-elements/Split';
179
+
180
+ let sidebar: HTMLElement;
181
+ let editor: HTMLElement;
182
+ </script>
183
+
184
+ <div style="display: flex; height: 100vh;">
185
+ <div bind:this={sidebar} style="flex: 0 0 220px; background: #1e293b; color: #e2e8f0;">
186
+ 侧边栏
187
+ </div>
188
+
189
+ <Split bindingPanel={sidebar} direction="vertical" width={4} />
190
+
191
+ <div bind:this={editor} style="flex: 1 1 0; background: #0f172a; color: #e2e8f0;">
192
+ 编辑器
193
+ </div>
194
+
195
+ <Split bindingPanel={editor} direction="vertical" width={4} />
196
+
197
+ <div style="flex: 0 0 320px; background: #111827; color: #e2e8f0;">
198
+ 详情
199
+ </div>
200
+ </div>
201
+ ```
202
+
203
+ 这里**不需要** `reverse`,因为两个绑定面板(`sidebar`、`editor`)都在各自分隔条的**左侧**。只有绑定面板在右侧/下方时才用 `reverse`。
204
+
205
+ ### 固定分隔条(不可拖动)
206
+
207
+ 省略 `bindingPanel`:
208
+
209
+ ```svelte
210
+ <div style="display: flex; height: 300px;">
211
+ <div style="flex: 1 1 auto; background: #f0f0f0;">面板 1</div>
212
+ <Split direction="vertical" width={1} /> <!-- 固定:无 bindingPanel -->
213
+ <div style="flex: 1 1 auto; background: #e0e0e0;">面板 2</div>
214
+ </div>
215
+ ```
216
+
217
+ 固定分隔条会加 `fixed` 类 → `pointer-events: none; cursor: default`,hover/active 状态也会失效。
218
+
219
+ ## DOM 结构与 CSS
220
+
221
+ 实际渲染:
222
+
223
+ ```html
224
+ <div
225
+ class="topside-divider {direction}" <!-- 无 bindingPanel 时再加 'fixed' -->
226
+ class:fixed
227
+ style="height: 2px" 或 "width: 2px" <!-- 取决于 direction -->
228
+ role="separator"
229
+ aria-orientation="{direction}"
230
+ aria-label="Resize handle"
231
+ tabindex="0"
232
+ onmousedown={startDrag}
233
+ />
234
+ ```
235
+
236
+ 内置样式:
237
+
238
+ ```css
239
+ .topside-divider {
240
+ background-color: var(--topside-dividing-line-color, #CBD5E1);
241
+ flex: 0 0 auto; /* 不膨胀不收缩 */
242
+ transition: background-color 0.2s ease;
243
+ }
244
+
245
+ .topside-divider.vertical {
246
+ height: 100%;
247
+ cursor: col-resize;
248
+ }
249
+
250
+ .topside-divider.horizontal {
251
+ width: 100%;
252
+ cursor: row-resize;
253
+ }
254
+
255
+ .topside-divider.fixed {
256
+ cursor: default;
257
+ pointer-events: none;
258
+ }
259
+
260
+ .topside-divider:hover {
261
+ /* color-mix 加深 20% */
262
+ background-color: color-mix(in srgb, var(--topside-dividing-line-color, #CBD5E1) 80%, #000);
263
+ }
264
+
265
+ .topside-divider:active {
266
+ transition: none; /* 拖动时无动画延迟 */
267
+ }
268
+ ```
269
+
270
+ ### CSS 自定义属性
271
+
272
+ | 变量 | 默认值 | 描述 |
273
+ |------|--------|------|
274
+ | `--topside-dividing-line-color` | `#CBD5E1` | 分隔条背景色(hover 时自动加深 20%) |
275
+
276
+ ```css
277
+ :root {
278
+ --topside-dividing-line-color: #d4d4d8;
279
+ }
280
+ .dark-theme {
281
+ --topside-dividing-line-color: #3f3f46;
282
+ }
283
+ ```
284
+
285
+ ## 行为说明
286
+
287
+ - **仅鼠标。** 拖动用的是 `mousedown` / `mousemove` / `mouseup`。**不**处理 touch 事件,触屏设备上手指拖动不会响应。
288
+ - **最小尺寸**:绑定面板夹到 ≥5px(不会塌成 0)。
289
+ - **document 级监听**:拖动期间 `mousemove` 和 `mouseup` 挂在 `document` 上,光标移出分隔条也不会丢失拖动。
290
+ - **body 光标覆盖**:拖动期间 `document.body.style.cursor` 被设为 `col-resize` / `row-resize`,`mouseup` 时还原。
291
+ - **清理**:组件在拖动中被销毁时,`onDestroy` 会调 `stopDrag` 移除监听并还原光标。
292
+ - **直接改 style**:绑定面板的 `style.width` 或 `style.height` 被直接写入 —— 不走 React 式状态。面板内容再重也不会卡。
293
+ - **没有 resize-start 事件**:只有 `onResizeEnd`。需要实时跟尺寸的话,自己给绑定面板挂 `ResizeObserver`。
294
+
295
+ ## 无障碍访问
296
+
297
+ - 分隔条上设置了 `role="separator"`、`aria-orientation`、`aria-label="Resize handle"`、`tabindex="0"`。
298
+ - **键盘支持有限**:可聚焦,但组件**不**处理方向键。拖动必须用鼠标。需要键盘调整的话,自己在父元素上叠一层 `keydown`。
299
+ - 固定分隔条如果视觉上还像可交互,建议加 `aria-disabled="true"`。
300
+
301
+ ## 最佳实践
302
+
303
+ 1. **`bind:this` 面板** —— `bindingPanel` 要的是真实 DOM 引用,不是 CSS 选择器
304
+ 2. **`direction` 要和 flex 布局匹配** —— `flex-direction: row` 配竖条,`flex-direction: column` 配横条
305
+ 3. **绑定面板在远端时用 `reverse`** (竖条的右侧 / 横条的下方)
306
+ 4. **吸收面板给 `flex: 1 1 auto`**,这样绑定面板变大变小时它能补足剩余空间
307
+ 5. **持久化走 `onResizeEnd`**,不要每帧回调(中间事件本来也不会发)
308
+ 6. **不需要可拖动时省略 `bindingPanel`**,不要绑一个再禁用
309
+
310
+ ## 相关组件
311
+
312
+ - [Separator](../separator/README_CN.md) —— 纯装饰的 1px 竖线(无交互)