@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,19 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { Direction } from "../../types";
3
+ interface Props {
4
+ style?: string;
5
+ theme?: string;
6
+ label: string;
7
+ label$style?: string;
8
+ labelSuffix?: string;
9
+ label$alignment?: 'center' | 'top';
10
+ autoHeight?: boolean;
11
+ required?: boolean;
12
+ /** 标签与控件的排布方向 */
13
+ direction?: Direction;
14
+ class?: string;
15
+ children: Snippet;
16
+ }
17
+ declare const FormField: import("svelte").Component<Props, {}, "">;
18
+ type FormField = ReturnType<typeof FormField>;
19
+ export default FormField;
@@ -0,0 +1,252 @@
1
+ # FormField Component
2
+
3
+ > **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `layout` were removed in 5.1.0 (no compatibility aliases are kept).
4
+
5
+ A form-field wrapper that places a label next to (or above) a single child control, with required-marker, suffix, alignment, and auto-height support. The richer sibling of [CriteriaField](../criteria_field/README.md) — supports both vertical and horizontal layouts, inherits layout from context, and is designed for editing forms (not just filter rows).
6
+
7
+ ## Features
8
+
9
+ - **Two layouts**: `vertical` (label above field) or `horizontal` (label left of field) — defaults from context, override via prop
10
+ - **Required indicator**: red `*` rendered before the label
11
+ - **Label suffix**: `:` by default; pass `labelSuffix=""` to drop it
12
+ - **Label alignment in horizontal mode**: `center` (default, vertically centered) or `top` (useful for textareas)
13
+ - **Auto-height**: `autoHeight={true}` makes the field fill its container's height — for MemoEditor and similar tall controls
14
+ - **Label styling hook**: `label$style` for inline CSS on just the label
15
+ - **Theme hook**: `data-theme="{theme}"` on the outer wrapper
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ npm install @ticatec/topside-elements
21
+ ```
22
+
23
+ ## Import
24
+
25
+ ```typescript
26
+ import FormField from '@ticatec/topside-elements/FormField';
27
+ ```
28
+
29
+ ## Basic Usage
30
+
31
+ ```svelte
32
+ <script>
33
+ import FormField from '@ticatec/topside-elements/FormField';
34
+ import TextEditor from '@ticatec/topside-elements/TextEditor';
35
+ </script>
36
+
37
+ <FormField label="Username" required>
38
+ <TextEditor placeholder="Enter username" />
39
+ </FormField>
40
+ ```
41
+
42
+ The default layout comes from `getLayoutMode()` (Svelte context). If no ancestor has called `setLayoutMode(...)`, it falls back to `'vertical'`.
43
+
44
+ ## Props
45
+
46
+ | Prop | Type | Default | Description |
47
+ |------|------|-------|-------------|
48
+ | `label` | `string` | _(required)_ | Label text. `labelSuffix` is appended directly to this string inside the same `<span>`. |
49
+ | `required` | `boolean` | `false` | Renders a red `*` before the label text |
50
+ | `labelSuffix` | `string` | `':'` | String appended after the label text. Pass `""` to drop the colon. |
51
+ | `label$alignment` | `'center' \| 'top'` | `'center'` | Label vertical alignment **in horizontal direction only**. `top` aligns the label with the field's first line (useful for textareas). Ignored in vertical direction. |
52
+ | `label$style` | `string \| undefined` | `undefined` | Inline CSS on the label `<div>` |
53
+ | `autoHeight` | `boolean` | `false` | Makes the outer wrapper and content area `height: 100%`. The field flexes to fill height in vertical direction. |
54
+ | `direction` | `'vertical' \| 'horizontal'` | `getLayoutMode()` | Layout mode. Defaults from context, falls back to `'vertical'`. |
55
+ | `style` | `string` | `''` | Inline CSS on the outer wrapper |
56
+ | `class` | `string` | `''` | Extra CSS class on the outer wrapper (in addition to `topside-form-field {direction}`) |
57
+ | `theme` | `string \| undefined` | `undefined` | Set as `data-theme` on the outer wrapper |
58
+ | `children` | `Snippet` | | The actual form control |
59
+
60
+ ## Layout
61
+
62
+ Controlled by `direction` (or context). Two modes:
63
+
64
+ ### Vertical (default)
65
+
66
+ ```text
67
+ ┌──────────────────────────┐
68
+ │ .field-label "*Label:" │ ← full width, single line, ellipsis
69
+ ├──────────────────────────┤
70
+ │ .field {children} │ ← full width, flex: 0 0 auto
71
+ └──────────────────────────┘
72
+ ```
73
+
74
+ The `.form-content` is `flex-direction: column`. With `autoHeight={true}`, the field flexes vertically to fill the parent.
75
+
76
+ ### Horizontal
77
+
78
+ ```text
79
+ ┌────────────────┬─────────────────────────┐
80
+ │ .field-label │ .field {children} │
81
+ │ "*Label:" │ │
82
+ └────────────────┴─────────────────────────┘
83
+ flex-shrink:0 flex: 1 1 auto
84
+ width: label-width token
85
+ ```
86
+
87
+ The `.form-content` is `flex-direction: row`. Label width is driven by `--topside-form-field-label-width`. The field absorbs remaining space.
88
+
89
+ ### `autoHeight={true}` behavior
90
+
91
+ | Layout | What happens |
92
+ |--------|--------------|
93
+ | Vertical | Outer wrapper becomes `height: 100%`; the `.field` becomes `flex: 1 1 auto` so the child control stretches to fill |
94
+ | Horizontal | Outer wrapper becomes `height: 100%`; `.field` becomes `height: 100%`; label wraps (`white-space: wrap`) |
95
+
96
+ Useful for `MemoEditor` and other tall controls that should fill their container.
97
+
98
+ ## Examples
99
+
100
+ ### Required Field
101
+
102
+ ```svelte
103
+ <FormField label="Email" required>
104
+ <TextEditor type="email" placeholder="user@example.com" />
105
+ </FormField>
106
+ ```
107
+
108
+ ### Top-Aligned Label (for Textareas)
109
+
110
+ ```svelte
111
+ <FormField label="Description" label$alignment="top" direction="horizontal">
112
+ <MemoEditor placeholder="Enter description..." rows={6} />
113
+ </FormField>
114
+ ```
115
+
116
+ Without `label$alignment="top"`, the label centers vertically against the textarea, which looks odd.
117
+
118
+ ### Custom Label Style
119
+
120
+ ```svelte
121
+ <FormField
122
+ label="Important Field"
123
+ label$style="color: #007acc; font-weight: 600;"
124
+ >
125
+ <TextEditor placeholder="Enter value" />
126
+ </FormField>
127
+ ```
128
+
129
+ ### Auto-Height MemoEditor
130
+
131
+ ```svelte
132
+ <div style="height: 320px;">
133
+ <FormField label="Notes" autoHeight direction="vertical">
134
+ <MemoEditor placeholder="Enter notes..." />
135
+ </FormField>
136
+ </div>
137
+ ```
138
+
139
+ The MemoEditor fills the 320px container.
140
+
141
+ ### Forced Horizontal Layout (Ignores Context)
142
+
143
+ ```svelte
144
+ <FormField label="Code" direction="horizontal" labelSuffix="">
145
+ <TextEditor bind:value={code} />
146
+ </FormField>
147
+ ```
148
+
149
+ ### Login Form
150
+
151
+ ```svelte
152
+ <script>
153
+ import FormField from '@ticatec/topside-elements/FormField';
154
+ import TextEditor from '@ticatec/topside-elements/TextEditor';
155
+ import Button from '@ticatec/topside-elements/Button';
156
+
157
+ let username = $state('');
158
+ let password = $state('');
159
+ </script>
160
+
161
+ <div style="max-width: 400px;">
162
+ <FormField label="Username" required>
163
+ <TextEditor bind:value={username} placeholder="Enter username" />
164
+ </FormField>
165
+
166
+ <FormField label="Password" required>
167
+ <TextEditor bind:value={password} type="password" placeholder="Enter password" />
168
+ </FormField>
169
+
170
+ <Button type="primary" label="Login" onclick={handleSubmit} />
171
+ </div>
172
+ ```
173
+
174
+ ## DOM Structure & CSS
175
+
176
+ Rendered output (horizontal mode shown):
177
+
178
+ ```html
179
+ <div class="topside-form-field horizontal {className}" data-theme="..." style="...">
180
+ <div class="form-content">
181
+ <div class="field-label" style="{label$style}">
182
+ <!-- only when required={true} -->
183
+ <span class="required-indicator">*</span>
184
+ <span>{label}{labelSuffix}</span>
185
+ </div>
186
+ <div class="field">
187
+ <!-- children -->
188
+ </div>
189
+ </div>
190
+ </div>
191
+ ```
192
+
193
+ When `autoHeight={true}`, the outer wrapper also gets `class:fit-height`.
194
+
195
+ ### CSS Variables
196
+
197
+ | Variable | Default | Description |
198
+ |----------|---------|-------------|
199
+ | `--topside-form-field-padding` | `4px 6px` | Outer wrapper padding |
200
+ | `--topside-field-gap` | `8px` | Gap between label and field |
201
+ | `--topside-form-field-label-color` | (theme font color) | Label text color |
202
+ | `--topside-form-field-required-indicator-color` | (theme danger color) | Color of the `*` marker |
203
+ | `--topside-form-field-label-width` | `auto` | **Horizontal only.** Width of the label column. |
204
+ | `--topside-form-field-label-alignment` | `left` | **Horizontal only.** Label text-align. |
205
+
206
+ ### Built-in label styles
207
+
208
+ ```css
209
+ .field-label {
210
+ color: var(--topside-form-field-label-color);
211
+ font-size: 0.9em;
212
+ font-weight: 500;
213
+ line-height: 1.1em;
214
+ user-select: none; /* label text not selectable */
215
+ align-self: center; /* default vertical alignment */
216
+
217
+ &.vert-top {
218
+ align-self: flex-start; /* label$alignment='top' */
219
+ padding-top: 10px;
220
+ }
221
+ }
222
+ ```
223
+
224
+ ## Behavior Notes
225
+
226
+ - **Label is not associated with the field** via `<label for="...">`. Same a11y caveat as CriteriaField — see below.
227
+ - **`labelSuffix` is glued to label** inside the same `<span>` — no separator space.
228
+ - **Required `*` is rendered before the label**, not after. So `required` + `label="Name"` + `labelSuffix=":"` produces `*Name:`.
229
+ - **Layout comes from context by default.** Ancestors can call `setLayoutMode('horizontal')` to flip the whole form. The `direction` prop overrides per-field.
230
+ - **Label is non-selectable** (`user-select: none`) — different from CriteriaField, where labels are selectable.
231
+ - **Long labels**: vertical mode truncates with `…`; horizontal mode wraps (`white-space: normal`) unless `autoHeight` is also on (then it becomes `white-space: wrap`).
232
+
233
+ ## Accessibility
234
+
235
+ - The label is a plain `<div>` with the text inside a `<span>` — **not a real `<label>` element**. Screen readers won't associate it with the wrapped control.
236
+ - For real form semantics, give the inner control an `id` and render a `<label for="...">` yourself, or accept the limitation for layout-only use cases.
237
+ - The `*` required indicator has no ARIA tagging. Screen readers will read it as "asterisk". Pair with `aria-required="true"` on the inner control.
238
+ - No built-in error UI — render errors in your `children` snippet if needed.
239
+
240
+ ## Best Practices
241
+
242
+ 1. **Use context to set form-wide layout.** Call `setLayoutMode('horizontal' | 'vertical')` once at the form root; let FormField inherit.
243
+ 2. **Use `label$alignment="top"` in horizontal mode for tall controls** (textarea, code editor) so the label aligns with the first line.
244
+ 3. **Set `--topside-form-field-label-width` globally** so all horizontal labels in the form align consistently.
245
+ 4. **Use `autoHeight={true}`** for MemoEditor / code editors that should fill their container.
246
+ 5. **Required asterisks are visual only.** Add `aria-required="true"` to the inner control for screen-reader users.
247
+
248
+ ## Related Components
249
+
250
+ - [CriteriaField](../criteria_field/README.md) — simpler sibling for filter forms (vertical-only, no required indicator)
251
+ - [TextEditor](../../form/text_editor/README.md) — common child control
252
+ - [MemoEditor](../../form/memo_editor/README.md) — multi-line editor; pair with `autoHeight`
@@ -0,0 +1,251 @@
1
+ # FormField 表单字段组件
2
+
3
+ > **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `layout` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
4
+
5
+ 表单字段 wrapper:在单个子控件旁边(或上方)放一个标签,支持必填标记、后缀、对齐方式、自动高度等。是 [CriteriaField](../criteria_field/README_CN.md) 的增强版 —— 同时支持纵向 / 横向布局,从 context 继承布局,专为编辑表单设计(不只是筛选行)。
6
+
7
+ ## 功能特性
8
+
9
+ - **两种布局**:`vertical`(标签在上)或 `horizontal`(标签在左)—— 默认从 context 读,可 prop 覆盖
10
+ - **必填标记**:标签前显示红色 `*`
11
+ - **标签后缀**:默认 `:`;传 `labelSuffix=""` 去掉
12
+ - **横向模式下的标签对齐**:`center`(默认,垂直居中)或 `top`(适用于 textarea)
13
+ - **自动高度**:`autoHeight={true}` 让字段填满容器高度 —— 用于 MemoEditor 等高控件
14
+ - **标签样式钩子**:`label$style` 仅作用于标签
15
+ - **主题钩子**:外层 wrapper 暴露 `data-theme="{theme}"`
16
+
17
+ ## 安装
18
+
19
+ ```bash
20
+ npm install @ticatec/topside-elements
21
+ ```
22
+
23
+ ## 导入
24
+
25
+ ```typescript
26
+ import FormField from '@ticatec/topside-elements/FormField';
27
+ ```
28
+
29
+ ## 基本用法
30
+
31
+ ```svelte
32
+ <script>
33
+ import FormField from '@ticatec/topside-elements/FormField';
34
+ import TextEditor from '@ticatec/topside-elements/TextEditor';
35
+ </script>
36
+
37
+ <FormField label="用户名" required>
38
+ <TextEditor placeholder="输入用户名" />
39
+ </FormField>
40
+ ```
41
+
42
+ 默认 layout 来自 `getLayoutMode()`(Svelte context)。如果祖先没调过 `setLayoutMode(...)`,fallback 是 `'vertical'`。
43
+
44
+ ## 属性
45
+
46
+ | 属性 | 类型 | 默认值 | 描述 |
47
+ |------|------|---------|-------------|
48
+ | `label` | `string` | _(必填)_ | 标签文字。`labelSuffix` 直接拼到这个字符串后面,渲染在同一个 `<span>` 里 |
49
+ | `required` | `boolean` | `false` | 在标签文字前渲染红色 `*` |
50
+ | `labelSuffix` | `string` | `':'` | 标签文字后追加的字符串。传 `""` 去掉冒号 |
51
+ | `label$alignment` | `'center' \| 'top'` | `'center'` | **仅横向布局下**的标签垂直对齐。`top` 让标签对齐字段第一行(textarea 适用)。纵向模式下被忽略 |
52
+ | `label$style` | `string \| undefined` | `undefined` | 标签 `<div>` 的内联 CSS |
53
+ | `autoHeight` | `boolean` | `false` | 外层 wrapper 和内容区变 `height: 100%`。纵向布局下字段 flex 撑满高度 |
54
+ | `direction` | `'vertical' \| 'horizontal'` | `getLayoutMode()` | 布局模式。默认从 context 读,fallback `'vertical'` |
55
+ | `style` | `string` | `''` | 外层 wrapper 的内联 CSS |
56
+ | `class` | `string` | `''` | 追加到外层 wrapper 的额外 CSS 类(除 `topside-form-field {direction}` 之外) |
57
+ | `theme` | `string \| undefined` | `undefined` | 设为外层 wrapper 的 `data-theme` |
58
+ | `children` | `Snippet \| undefined` | `undefined` | 实际的表单控件 |
59
+
60
+ ## 布局
61
+
62
+ 由 `direction`(或 context)控制。两种模式:
63
+
64
+ ### Vertical(默认)
65
+
66
+ ```text
67
+ ┌──────────────────────────┐
68
+ │ .field-label "*标签:" │ ← 整宽,单行,溢出加省略号
69
+ ├──────────────────────────┤
70
+ │ .field {children} │ ← 整宽,flex: 0 0 auto
71
+ └──────────────────────────┘
72
+ ```
73
+
74
+ `.form-content` 是 `flex-direction: column`。开了 `autoHeight={true}` 后,字段纵向 flex 撑满父容器。
75
+
76
+ ### Horizontal
77
+
78
+ ```text
79
+ ┌────────────────┬─────────────────────────┐
80
+ │ .field-label │ .field {children} │
81
+ │ "*标签:" │ │
82
+ └────────────────┴─────────────────────────┘
83
+ flex-shrink:0 flex: 1 1 auto
84
+ 宽度: label-width 令牌
85
+ ```
86
+
87
+ `.form-content` 是 `flex-direction: row`。标签宽度由 `--topside-form-field-label-width` 控制。字段吸收剩余空间。
88
+
89
+ ### `autoHeight={true}` 的行为
90
+
91
+ | 布局 | 会发生什么 |
92
+ |------|-----------|
93
+ | 纵向 | 外层 wrapper 变 `height: 100%`;`.field` 变 `flex: 1 1 auto`,子控件拉伸填满 |
94
+ | 横向 | 外层 wrapper 变 `height: 100%`;`.field` 变 `height: 100%`;标签换行(`white-space: wrap`) |
95
+
96
+ 适合 `MemoEditor` 和其他需要填满容器的高控件。
97
+
98
+ ## 示例
99
+
100
+ ### 必填字段
101
+
102
+ ```svelte
103
+ <FormField label="邮箱" required>
104
+ <TextEditor type="email" placeholder="user@example.com" />
105
+ </FormField>
106
+ ```
107
+
108
+ ### 顶部对齐标签(适用于 textarea)
109
+
110
+ ```svelte
111
+ <FormField label="描述" label$alignment="top" direction="horizontal">
112
+ <MemoEditor placeholder="输入描述..." rows={6} />
113
+ </FormField>
114
+ ```
115
+
116
+ 不传 `label$alignment="top"`,标签会相对 textarea 垂直居中,看起来很怪。
117
+
118
+ ### 自定义标签样式
119
+
120
+ ```svelte
121
+ <FormField
122
+ label="重要字段"
123
+ label$style="color: #007acc; font-weight: 600;"
124
+ >
125
+ <TextEditor placeholder="输入值" />
126
+ </FormField>
127
+ ```
128
+
129
+ ### 自动高度 MemoEditor
130
+
131
+ ```svelte
132
+ <div style="height: 320px;">
133
+ <FormField label="备注" autoHeight direction="vertical">
134
+ <MemoEditor placeholder="输入备注..." />
135
+ </FormField>
136
+ </div>
137
+ ```
138
+
139
+ MemoEditor 会填满 320px 容器。
140
+
141
+ ### 强制横向布局(忽略 context)
142
+
143
+ ```svelte
144
+ <FormField label="代码" direction="horizontal" labelSuffix="">
145
+ <TextEditor bind:value={code} />
146
+ </FormField>
147
+ ```
148
+
149
+ ### 登录表单
150
+
151
+ ```svelte
152
+ <script>
153
+ import FormField from '@ticatec/topside-elements/FormField';
154
+ import TextEditor from '@ticatec/topside-elements/TextEditor';
155
+ import Button from '@ticatec/topside-elements/Button';
156
+
157
+ let username = $state('');
158
+ let password = $state('');
159
+ </script>
160
+
161
+ <div style="max-width: 400px;">
162
+ <FormField label="用户名" required>
163
+ <TextEditor bind:value={username} placeholder="输入用户名" />
164
+ </FormField>
165
+
166
+ <FormField label="密码" required>
167
+ <TextEditor bind:value={password} type="password" placeholder="输入密码" />
168
+ </FormField>
169
+
170
+ <Button type="primary" label="登录" onclick={handleSubmit} />
171
+ </div>
172
+ ```
173
+
174
+ ## DOM 结构与 CSS
175
+
176
+ 实际渲染(横向模式):
177
+
178
+ ```html
179
+ <div class="topside-form-field horizontal {className}" data-theme="..." style="...">
180
+ <div class="form-content">
181
+ <div class="field-label" style="{label$style}">
182
+ <!-- 仅 required={true} 时 -->
183
+ <span class="required-indicator">*</span>
184
+ <span>{label}{labelSuffix}</span>
185
+ </div>
186
+ <div class="field">
187
+ <!-- children -->
188
+ </div>
189
+ </div>
190
+ </div>
191
+ ```
192
+
193
+ `autoHeight={true}` 时,外层 wrapper 还会加 `class:fit-height`。
194
+
195
+ ### CSS 变量
196
+
197
+ | 变量 | 默认值 | 描述 |
198
+ |------|--------|------|
199
+ | `--topside-form-field-padding` | `4px 6px` | 外层 wrapper 的 padding |
200
+ | `--topside-field-gap` | `8px` | 标签与字段之间的间距 |
201
+ | `--topside-form-field-label-color` | (主题文字色) | 标签文字色 |
202
+ | `--topside-form-field-required-indicator-color` | (主题危险色) | `*` 标记的颜色 |
203
+ | `--topside-form-field-label-width` | `auto` | **仅横向。** 标签列宽度 |
204
+ | `--topside-form-field-label-alignment` | `left` | **仅横向。** 标签 text-align |
205
+
206
+ ### 标签内置样式
207
+
208
+ ```css
209
+ .field-label {
210
+ color: var(--topside-form-field-label-color);
211
+ font-size: 0.9em;
212
+ font-weight: 500;
213
+ line-height: 1.1em;
214
+ user-select: none; /* 标签不可选中 */
215
+ align-self: center; /* 默认垂直对齐 */
216
+
217
+ &.vert-top {
218
+ align-self: flex-start; /* label$alignment='top' */
219
+ padding-top: 10px;
220
+ }
221
+ }
222
+ ```
223
+
224
+ ## 行为说明
225
+
226
+ - **标签没有通过 `<label for="...">` 与字段关联**。同 CriteriaField 的 a11y 警告 —— 见下
227
+ - **`labelSuffix` 直接粘在标签后**,渲染在同一个 `<span>` 里 —— 没有分隔空格
228
+ - **必填 `*` 渲染在标签之前**,不是之后。所以 `required` + `label="姓名"` + `labelSuffix=":"` 渲染成 `*姓名:`
229
+ - **layout 默认从 context 读。** 祖先可以调 `setLayoutMode('horizontal')` 翻转整个表单。`direction` prop 单字段覆盖
230
+ - **标签不可选中**(`user-select: none`)—— 跟 CriteriaField 不同(那里的标签是可选中的)
231
+ - **长标签**:纵向模式用 `…` 截断;横向模式正常换行(`white-space: normal`),开了 `autoHeight` 后变成 `white-space: wrap`
232
+
233
+ ## 无障碍访问
234
+
235
+ - 标签是普通 `<div>`,文字在 `<span>` 里 —— **不是真正的 `<label>` 元素**。屏幕阅读器不会把它和包裹的控件关联
236
+ - 要真正的表单语义,给内部控件加 `id`,自己渲染 `<label for="...">`,或接受这个限制(纯布局场景)
237
+ - `*` 必填标记没有 ARIA 标签。屏幕阅读器会读成"星号"。配合内部控件的 `aria-required="true"`
238
+
239
+ ## 最佳实践
240
+
241
+ 1. **用 context 设置表单级布局。** 表单根处调一次 `setLayoutMode('horizontal' | 'vertical')`,让 FormField 继承
242
+ 2. **横向模式下高控件用 `label$alignment="top"`**(textarea、代码编辑器),让标签对齐第一行
243
+ 3. **全局设 `--topside-form-field-label-width`**,让表单里所有横向标签对齐一致
244
+ 4. **MemoEditor / 代码编辑器用 `autoHeight={true}`**,让它们填满容器
245
+ 5. **必填星号只是视觉。** 给内部控件加 `aria-required="true"` 照顾屏幕阅读器用户
246
+
247
+ ## 相关组件
248
+
249
+ - [CriteriaField](../criteria_field/README_CN.md) —— 筛选表单用的简化版(仅纵向、无必填标记)
250
+ - [TextEditor](../../form/text_editor/README_CN.md) —— 常用子控件
251
+ - [MemoEditor](../../form/memo_editor/README_CN.md) —— 多行编辑器,配合 `autoHeight`
@@ -0,0 +1,2 @@
1
+ import FormField from "./FormField.svelte";
2
+ export default FormField;
@@ -0,0 +1,2 @@
1
+ import FormField from "./FormField.svelte";
2
+ export default FormField;
@@ -0,0 +1,42 @@
1
+ <script lang="ts">
2
+ import type {Snippet} from 'svelte';
3
+ import FormField from "../../form_field";
4
+
5
+ interface Props {
6
+ span?: number;
7
+ label?: string;
8
+ style?: string;
9
+ label$style?: string;
10
+ required?: boolean;
11
+ theme?: string;
12
+ children?: Snippet;
13
+ }
14
+
15
+ let {
16
+ span = 1,
17
+ label = "Label",
18
+ style = '',
19
+ label$style = '',
20
+ required = false,
21
+ theme,
22
+ children
23
+ }: Props = $props();
24
+
25
+ const generateCss = (sp: number): string => {
26
+ if (isNaN(sp) || sp < 1) {
27
+ sp = 1;
28
+ } else if (sp > 12) {
29
+ sp = 12;
30
+ }
31
+ return `width: ${sp * 100 / 12}%`;
32
+ };
33
+
34
+ const cellCss = $derived(generateCss(span));
35
+ const combinedStyle = $derived(`${style}; ${cellCss}`);
36
+ </script>
37
+
38
+ <FormField {theme} {label} style={combinedStyle} {label$style} {required}>
39
+ {#if children}
40
+ {@render children()}
41
+ {/if}
42
+ </FormField>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ span?: number;
4
+ label?: string;
5
+ style?: string;
6
+ label$style?: string;
7
+ required?: boolean;
8
+ theme?: string;
9
+ children?: Snippet;
10
+ }
11
+ declare const CellField: import("svelte").Component<Props, {}, "">;
12
+ type CellField = ReturnType<typeof CellField>;
13
+ export default CellField;
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ interface Props {
3
+ span?: number;
4
+ }
5
+
6
+ let {span = 1}: Props = $props();
7
+
8
+ const generateCss = (sp: number): string => {
9
+ if (isNaN(sp) || sp < 1) {
10
+ sp = 1;
11
+ } else if (sp > 12) {
12
+ sp = 12;
13
+ }
14
+ return `width: ${sp * 100 / 12}%`;
15
+ };
16
+
17
+ const cellCss = $derived(generateCss(span));
18
+ </script>
19
+
20
+ <div class="cell-field" style={cellCss}></div>
21
+
22
+ <style>
23
+ .cell-field {
24
+ flex: 0 0 auto;
25
+ }
26
+ </style>
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ span?: number;
3
+ }
4
+ declare const EmptyCell: import("svelte").Component<Props, {}, "">;
5
+ type EmptyCell = ReturnType<typeof EmptyCell>;
6
+ export default EmptyCell;
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import type {Snippet} from 'svelte';
3
+
4
+ interface Props {
5
+ style?: string;
6
+ theme?: string;
7
+ children?: Snippet;
8
+ }
9
+
10
+ let {
11
+ style = '',
12
+ theme,
13
+ children
14
+ }: Props = $props();
15
+ </script>
16
+
17
+ <div class="flex-form" data-theme={theme} {style}>
18
+ <div>
19
+ {#if children}
20
+ {@render children()}
21
+ {/if}
22
+ </div>
23
+ </div>
24
+
25
+ <style>
26
+ .flex-form {
27
+ width: 100%;
28
+ position: relative;
29
+ box-sizing: border-box;
30
+ padding: var(--topside-form-container-padding);
31
+ }
32
+
33
+ .flex-form > div {
34
+ width: 100%;
35
+ height: 100%;
36
+ display: flex;
37
+ position: relative;
38
+ justify-items: start;
39
+ box-sizing: border-box;
40
+ flex-wrap: wrap;
41
+ flex-direction: row;
42
+ row-gap: var(--topside-form-row-gap);
43
+ }
44
+ </style>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ style?: string;
4
+ theme?: string;
5
+ children?: Snippet;
6
+ }
7
+ declare const FlexForm: import("svelte").Component<Props, {}, "">;
8
+ type FlexForm = ReturnType<typeof FlexForm>;
9
+ export default FlexForm;