@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,345 @@
1
+ # LookupEditor
2
+
3
+ A lazy-loading picker for large or remote option lists. The user types into the input, and the picker makes an API call to fetch matching options. The response is expected to be an array of `{code: any, text: string}` objects. When an option is selected, the input shows the text and `value` holds the code.
4
+
5
+ > Think of it as a search-driven `<select>`. Great for user lookup, product lookup, or any scenario where the full option list doesn't fit in memory.
6
+
7
+ ## Features
8
+
9
+ - **Lazy loading** — fetches options on demand via `onLookup` callback.
10
+ - **Input-driven** — typing triggers the lookup, options appear in a dropdown.
11
+ - **Single selection** — click an option to select it.
12
+ - **`onaction` event** — fires when the action icon (↓) is clicked. Use this to open a custom lookup dialog.
13
+ - **Custom field mapping** — `codeField` / `textField` define how lookup results map to value / display.
14
+ - **`text` prop** — display text shown in the input. Set this externally to show a label without changing `value`.
15
+ - **`clear()` method** — programmatically clears the value and text.
16
+ - **Disabled / readonly** modes — dropdown suppressed, renders a plain input.
17
+ - **Keyboard navigation** — arrow keys move selection, Enter selects, Escape closes, Tab is contained while dropdown is open.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ npm install @ticatec/topside-elements
23
+ ```
24
+
25
+ ## Import
26
+
27
+ ```typescript
28
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
29
+ ```
30
+
31
+ ## Basic Usage
32
+
33
+ ```svelte
34
+ <script lang="ts">
35
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
36
+
37
+ let value = $state<string | null>(null);
38
+
39
+ // Simulated API call
40
+ const lookupUsers = async (keyword: string) => {
41
+ const allUsers = [
42
+ { code: "U001", text: "Alice Johnson" },
43
+ { code: "U002", text: "Bob Smith" },
44
+ { code: "U003", text: "Carol Williams" },
45
+ { code: "U004", text: "Dave Brown" }
46
+ ];
47
+ const keywordLower = keyword.toLowerCase();
48
+ return allUsers.filter(u =>
49
+ u.text.toLowerCase().includes(keywordLower)
50
+ );
51
+ };
52
+
53
+ function handleAction() {
54
+ console.log("Action clicked - open custom dialog");
55
+ }
56
+ </script>
57
+
58
+ <LookupEditor
59
+ onlookup={lookupUsers}
60
+ onaction={handleAction}
61
+ bind:value={value}
62
+ placeholder="Search users..."
63
+ />
64
+ ```
65
+
66
+ ## Props
67
+
68
+ `LookupEditor` extends `CommonFieldProps`, so it inherits `variant`, `compact`, `disabled`, `readonly`, `style`, `error`, `tooltip`, `theme`, `placeholder`, `onfocus` / `onblur` / `onchange`.
69
+
70
+ | Prop | Type | Default | Description |
71
+ |------|------|---------|-------------|
72
+ | `value` | `any` (bindable) | — | The selected option's code. `bind:value={...}` round-trips; setting it externally updates the display text. |
73
+ | `text` | `string` | — | Display text shown in the input. If set externally, overrides the auto-generated text from the selected option. |
74
+ | `codeField` | `string` | `"code"` | Property used as the option's identity. |
75
+ | `textField` | `string` | `"text"` | Property used as the option's display text. |
76
+ | `placeholder` | `string` | — | Shown when `value` is empty. |
77
+ | `variant` | `'' \| 'plain' \| 'outlined' \| 'filled'` | `''` | Visual style variant. |
78
+ | `compact` | `boolean` | `false` | Dense layout for table cells and inline forms. |
79
+ | `disabled` | `boolean` | `false` | Fully disabled — plain input, no dropdown. |
80
+ | `readonly` | `boolean` | `false` | Read-only — same visual as disabled, "view, don't edit". |
81
+ | `style` | `string` | — | Inline CSS on the editor root. |
82
+ | `error` | `string` | — | Validation error text — triggers the editor's error state. |
83
+ | `tooltip` | `string` | — | Hover tooltip on the editor. |
84
+ | `theme` | `string` | — | Rendered as `data-theme` on the dropdown for scoped styling. |
85
+ | `onlookup` | `(keyword: string) => Promise<Array<any>>` | — | **Required.** Async function that fetches matching options given a keyword. Must return an array of `{code, text}` objects. |
86
+ | `onaction` | `() => void` | — | Fires when the action icon (↓) is clicked. Use this to open a custom lookup dialog or perform a different action. |
87
+ | `onchange` | `(value: any) => void` | — | Fires once when the user picks an item. Receives the **full option object** (not just the code). Does not fire on programmatic `value` changes. |
88
+ | `onfocus` | `(e: FocusEvent) => void` | — | Input focus. |
89
+ | `onblur` | `(e: FocusEvent) => void` | — | Input blur. Fires after the popup closes and focus truly left the editor. |
90
+
91
+ ## Events
92
+
93
+ | Event | Signature | Description |
94
+ |-------|-----------|-------------|
95
+ | `onlookup` | `(keyword: string) => Promise<Array<any>>` | Fires when the user types. Must fetch and return matching options. |
96
+ | `onaction` | `() => void` | Fires when the action icon (↓) is clicked. |
97
+ | `onchange` | `(value: any) => void` | Fires once when the user picks an item. Receives the **full option object**. |
98
+ | `onfocus` | `(e: FocusEvent) => void` | Input focus. |
99
+ | `onblur` | `(e: FocusEvent) => void` | Input blur. Fires after the popup closes and focus truly left the editor. |
100
+
101
+ ## Methods
102
+
103
+ | Method | Signature | Description |
104
+ |--------|-----------|-------------|
105
+ | `focus()` | `() => void` | Moves focus to the editor input. |
106
+ | `clear()` | `() => void` | Programmatically clears the value and text. Resets to empty state. |
107
+
108
+ ```svelte
109
+ <script lang="ts">
110
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
111
+
112
+ let editor;
113
+
114
+ const lookupUsers = async (keyword: string) => {
115
+ // ... fetch logic
116
+ };
117
+
118
+ function handleClear() {
119
+ editor.clear();
120
+ }
121
+ </script>
122
+
123
+ <LookupEditor bind:this={editor} {lookupUsers} bind:value placeholder="Search users..." />
124
+ <button onclick={handleClear}>Clear</button>
125
+ ```
126
+
127
+ ## `onlookup` — lazy loading
128
+
129
+ The `onlookup` callback is the heart of this component. It receives the current input value as `keyword` and must return a promise that resolves to an array of `{code, text}` objects.
130
+
131
+ ```svelte
132
+ <script lang="ts">
133
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
134
+
135
+ let value = $state<string | null>(null);
136
+
137
+ // Real API call
138
+ const lookupProducts = async (keyword: string) => {
139
+ const response = await fetch(`/api/products/search?q=${encodeURIComponent(keyword)}`);
140
+ const data = await response.json();
141
+ return data.map((product: any) => ({
142
+ code: product.id,
143
+ text: `${product.name} - ${product.sku}`
144
+ }));
145
+ };
146
+ </script>
147
+
148
+ <LookupEditor
149
+ onlookup={lookupProducts}
150
+ bind:value={value}
151
+ placeholder="Search products..."
152
+ />
153
+ ```
154
+
155
+ ## Examples
156
+
157
+ ### Employee lookup with custom action
158
+
159
+ ```svelte
160
+ <script lang="ts">
161
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
162
+
163
+ let value = $state<string | null>(null);
164
+ let isDialogOpen = $state(false);
165
+
166
+ // Simulated API
167
+ const lookupEmployees = async (keyword: string) => {
168
+ const allEmployees = [
169
+ { code: "E001", text: "Alice Johnson (Engineering)" },
170
+ { code: "E002", text: "Bob Smith (Marketing)" },
171
+ { code: "E003", text: "Carol Williams (Engineering)" },
172
+ { code: "E004", text: "Dave Brown (Sales)" }
173
+ ];
174
+ const keywordLower = keyword.toLowerCase();
175
+ return allEmployees.filter(e =>
176
+ e.text.toLowerCase().includes(keywordLower)
177
+ );
178
+ };
179
+
180
+ function handleAction() {
181
+ isDialogOpen = true;
182
+ }
183
+
184
+ function closeDialog() {
185
+ isDialogOpen = false;
186
+ }
187
+ </script>
188
+
189
+ <LookupEditor
190
+ onlookup={lookupEmployees}
191
+ onaction={handleAction}
192
+ bind:value={value}
193
+ placeholder="Search employees..."
194
+ />
195
+
196
+ {#if isDialogOpen}
197
+ <div class="modal-overlay" onclick={closeDialog}>
198
+ <div class="modal" onclick={(e: Event) => e.stopPropagation()}>
199
+ <h3>Add New Employee</h3>
200
+ <form>
201
+ <input type="text" placeholder="Name" />
202
+ <input type="text" placeholder="Email" />
203
+ <button type="button" onclick={closeDialog}>Close</button>
204
+ </form>
205
+ </div>
206
+ </div>
207
+ {/if}
208
+
209
+ <style>
210
+ .modal-overlay {
211
+ position: fixed;
212
+ inset: 0;
213
+ background: rgba(0, 0, 0, 0.5);
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ }
218
+ .modal {
219
+ background: white;
220
+ padding: 24px;
221
+ border-radius: 8px;
222
+ max-width: 400px;
223
+ }
224
+ form {
225
+ display: flex;
226
+ flex-direction: column;
227
+ gap: 12px;
228
+ }
229
+ button {
230
+ padding: 8px 16px;
231
+ background: #3b82f6;
232
+ color: white;
233
+ border: none;
234
+ border-radius: 4px;
235
+ cursor: pointer;
236
+ }
237
+ </style>
238
+ ```
239
+
240
+ ### Product lookup with action
241
+
242
+ ```svelte
243
+ <script lang="ts">
244
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
245
+
246
+ let value = $state<string | null>(null);
247
+
248
+ const lookupProducts = async (keyword: string) => {
249
+ // Simulated API with delay
250
+ await new Promise(resolve => setTimeout(resolve, 500));
251
+ const allProducts = [
252
+ { id: "P001", name: "Laptop", sku: "LAP-001" },
253
+ { id: "P002", name: "Smartphone", sku: "PHN-001" },
254
+ { id: "P003", name: "Tablet", sku: "TBL-001" },
255
+ { id: "P004", name: "Monitor", sku: "MON-001" }
256
+ ];
257
+ const keywordLower = keyword.toLowerCase();
258
+ return allProducts
259
+ .filter(p =>
260
+ p.name.toLowerCase().includes(keywordLower) ||
261
+ p.sku.toLowerCase().includes(keywordLower)
262
+ )
263
+ .map(p => ({
264
+ code: p.id,
265
+ text: `${p.name} - ${p.sku}`
266
+ }));
267
+ };
268
+
269
+ function handleAction() {
270
+ console.log("Action clicked - open product catalog");
271
+ }
272
+ </script>
273
+
274
+ <LookupEditor
275
+ onlookup={lookupProducts}
276
+ onaction={handleAction}
277
+ bind:value={value}
278
+ placeholder="Search products..."
279
+ />
280
+ ```
281
+
282
+ ### Disabled / readonly modes
283
+
284
+ ```svelte
285
+ <script lang="ts">
286
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
287
+
288
+ let disabledValue = $state("E001");
289
+ let readonlyValue = $state("E002");
290
+
291
+ const lookupEmployees = async (keyword: string) => {
292
+ return [
293
+ { code: "E001", text: "Alice" },
294
+ { code: "E002", text: "Bob" },
295
+ { code: "E003", text: "Carol" }
296
+ ];
297
+ };
298
+ </script>
299
+
300
+ <div style="display: flex; gap: 16px;">
301
+ <LookupEditor
302
+ onlookup={lookupEmployees}
303
+ bind:value={disabledValue}
304
+ disabled
305
+ text="Alice (disabled)"
306
+ />
307
+ <LookupEditor
308
+ onlookup={lookupEmployees}
309
+ bind:value={readonlyValue}
310
+ readonly
311
+ text="Bob (readonly)"
312
+ />
313
+ </div>
314
+ ```
315
+
316
+ ## Behavior Notes
317
+
318
+ ### How `value` and `text` interact
319
+
320
+ | Action | Effect |
321
+ |--------|--------|
322
+ | User selects an option | `value` is set to the option's code; `text` is auto-generated from the option's text field. |
323
+ | Parent sets `value` externally | The input displays the text from the matched option (if available), or falls back to the raw code. |
324
+ | Parent sets `text` externally | The input shows the custom text, regardless of `value`. |
325
+ | Parent sets both | The input shows `text` (if set); `value` determines the internal state. |
326
+
327
+ ### `clear()` method
328
+
329
+ Calling `clear()` resets both `value` and `text` to empty. Useful for reset buttons or form clearing.
330
+
331
+ ### Read-only / disabled rendering
332
+
333
+ Both modes render a plain `<input readonly>` with the display text. The clear (×) button, dropdown arrow, and dropdown are all suppressed.
334
+
335
+ ## Accessibility
336
+
337
+ - Dropdown uses `Popover` (portal to `document.body`) with scroll/resize listeners.
338
+ - Keyboard: Arrow keys move selection, Enter selects, Escape closes, Tab is contained while dropdown is open.
339
+ - For full ARIA, wrap with `<label>` / `FormField` and provide `error` text.
340
+
341
+ ## Related Components
342
+
343
+ - [OptionsSelect](../options_select/README.md) — static dropdown variant.
344
+ - [InputOptionsSelect](../input_options_select/README.md) — client-side filtered variant.
345
+ - [CascadeOptionSelect](../cascade_options_select/README.md) — tree-shaped cascading picker.
@@ -0,0 +1,345 @@
1
+ # LookupEditor
2
+
3
+ 用于大列表或远程选项的懒加载选择器。用户在输入框中输入内容,选择器会调用 `onlookup` 回调来获取匹配的选项。回调期望返回一个包含 `{code: any, text: string}` 对象数组。选中选项后,输入框显示文本,`value` 持有对应的 code。
4
+
5
+ > 可以理解为搜索驱动版的 `<select>`。适合用户查找、商品查找,或任何完整选项列表无法放入内存的场景。
6
+
7
+ ## 特性
8
+
9
+ - **懒加载** —— 通过 `onlookup` 回调按需获取选项。
10
+ - **输入驱动** —— 输入触发查找,选项在下拉中展示。
11
+ - **单选** —— 点击选项选中该项。
12
+ - **`onaction` 事件** —— 点击动作图标(↓)时触发。可用于打开自定义查找对话框。
13
+ - **自定义字段映射** —— `codeField` / `textField` 定义查找结果如何映射到 value / display。
14
+ - **`text` 属性** —— 输入框中显示的文本。外部设置此属性可显示标签,而不改变 `value`。
15
+ - **`clear()` 方法** —— 编程式清空 value 和 text。
16
+ - **禁用 / 只读** 模式 —— 下拉被抑制,渲染普通输入框。
17
+ - **键盘导航** —— 方向键移动选中、Enter 确认、Escape 关闭、下拉打开时 Tab 被锁住。
18
+
19
+ ## 安装
20
+
21
+ ```bash
22
+ npm install @ticatec/topside-elements
23
+ ```
24
+
25
+ ## 引入
26
+
27
+ ```typescript
28
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
29
+ ```
30
+
31
+ ## 基础用法
32
+
33
+ ```svelte
34
+ <script lang="ts">
35
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
36
+
37
+ let value = $state<string | null>(null);
38
+
39
+ // 模拟 API 调用
40
+ const lookupUsers = async (keyword: string) => {
41
+ const allUsers = [
42
+ { code: "U001", text: "Alice Johnson" },
43
+ { code: "U002", text: "Bob Smith" },
44
+ { code: "U003", text: "Carol Williams" },
45
+ { code: "U004", text: "Dave Brown" }
46
+ ];
47
+ const keywordLower = keyword.toLowerCase();
48
+ return allUsers.filter(u =>
49
+ u.text.toLowerCase().includes(keywordLower)
50
+ );
51
+ };
52
+
53
+ function handleAction() {
54
+ console.log("点击了动作按钮 - 打开自定义对话框");
55
+ }
56
+ </script>
57
+
58
+ <LookupEditor
59
+ onlookup={lookupUsers}
60
+ onaction={handleAction}
61
+ bind:value={value}
62
+ placeholder="搜索用户..."
63
+ />
64
+ ```
65
+
66
+ ## 属性(Props)
67
+
68
+ `LookupEditor` 继承自 `CommonFieldProps`,因此自动获得 `variant`、`compact`、`disabled`、`readonly`、`style`、`error`、`tooltip`、`theme`、`placeholder`、`onfocus` / `onblur` / `onchange`。
69
+
70
+ | 属性 | 类型 | 默认值 | 说明 |
71
+ |------|------|--------|------|
72
+ | `value` | `any`(可绑定) | — | 选中项的 code。`bind:value={...}` 双向同步;外部修改会更新显示文本。 |
73
+ | `text` | `string` | — | 输入框中显示的文本。外部设置时,覆盖从选中选项自动生成的文本。 |
74
+ | `codeField` | `string` | `"code"` | 作为选项身份的字段。 |
75
+ | `textField` | `string` | `"text"` | 显示用的字段。 |
76
+ | `placeholder` | `string` | — | `value` 为空时输入框的占位文字。 |
77
+ | `variant` | `'' \| 'plain' \| 'outlined' \| 'filled'` | `''` | 视觉风格。 |
78
+ | `compact` | `boolean` | `false` | 紧凑布局。 |
79
+ | `disabled` | `boolean` | `false` | 完全禁用 —— 普通输入框,无下拉。 |
80
+ | `readonly` | `boolean` | `false` | 只读 —— 视觉同 disabled,语义是"查看,不可编辑"。 |
81
+ | `style` | `string` | — | 编辑器根节点的内联 CSS。 |
82
+ | `error` | `string` | — | 校验错误文本,触发编辑器的 error 状态。 |
83
+ | `tooltip` | `string` | — | 编辑器的 hover tooltip。 |
84
+ | `theme` | `string` | — | 渲染为下拉根的 `data-theme`,用于作用域样式覆盖。 |
85
+ | `onlookup` | `(keyword: string) => Promise<Array<any>>` | — | **必需。** 异步函数,接收关键词并返回匹配的选项数组。必须返回 `{code, text}` 对象数组。 |
86
+ | `onaction` | `() => void` | — | 点击动作图标(↓)时触发。可用于打开自定义查找对话框或执行其他操作。 |
87
+ | `onchange` | `(value: any) => void` | — | 用户选中时触发**一次**,参数是**完整的选项对象**(不只是 code)。父组件编程式修改 `value` 不会触发。 |
88
+ | `onfocus` | `(e: FocusEvent) => void` | — | 输入框获焦。 |
89
+ | `onblur` | `(e: FocusEvent) => void` | — | 输入框失焦。在弹窗关闭且焦点真正离开编辑器后触发。 |
90
+
91
+ ## 事件
92
+
93
+ | 事件 | 签名 | 说明 |
94
+ |------|------|------|
95
+ | `onlookup` | `(keyword: string) => Promise<Array<any>>` | 用户输入时触发。必须获取并返回匹配的选项。 |
96
+ | `onaction` | `() => void` | 点击动作图标(↓)时触发。 |
97
+ | `onchange` | `(value: any) => void` | 用户选中时触发,参数是**完整的选项对象**。 |
98
+ | `onfocus` | `(e: FocusEvent) => void` | 输入框获焦。 |
99
+ | `onblur` | `(e: FocusEvent) => void` | 输入框失焦。在弹窗关闭且焦点真正离开编辑器后触发。 |
100
+
101
+ ## 方法
102
+
103
+ | 方法 | 签名 | 说明 |
104
+ |------|------|------|
105
+ | `focus()` | `() => void` | 让输入框获取焦点。 |
106
+ | `clear()` | `() => void` | 编程式清空 value 和 text。重置为空状态。 |
107
+
108
+ ```svelte
109
+ <script lang="ts">
110
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
111
+
112
+ let editor;
113
+
114
+ const lookupUsers = async (keyword: string) => {
115
+ // ... 获取逻辑
116
+ };
117
+
118
+ function handleClear() {
119
+ editor.clear();
120
+ }
121
+ </script>
122
+
123
+ <LookupEditor bind:this={editor} {lookupUsers} bind:value placeholder="搜索用户..." />
124
+ <button onclick={handleClear}>清空</button>
125
+ ```
126
+
127
+ ## `onlookup` — 懒加载
128
+
129
+ `onlookup` 回调是这个组件的核心。它接收当前的输入值作为 `keyword`,必须返回一个 promise,解析为包含 `{code, text}` 对象的数组。
130
+
131
+ ```svelte
132
+ <script lang="ts">
133
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
134
+
135
+ let value = $state<string | null>(null);
136
+
137
+ // 真实 API 调用
138
+ const lookupProducts = async (keyword: string) => {
139
+ const response = await fetch(`/api/products/search?q=${encodeURIComponent(keyword)}`);
140
+ const data = await response.json();
141
+ return data.map((product: any) => ({
142
+ code: product.id,
143
+ text: `${product.name} - ${product.sku}`
144
+ }));
145
+ };
146
+ </script>
147
+
148
+ <LookupEditor
149
+ onlookup={lookupProducts}
150
+ bind:value={value}
151
+ placeholder="搜索商品..."
152
+ />
153
+ ```
154
+
155
+ ## 示例
156
+
157
+ ### 带自定义动作的员工查找
158
+
159
+ ```svelte
160
+ <script lang="ts">
161
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
162
+
163
+ let value = $state<string | null>(null);
164
+ let isDialogOpen = $state(false);
165
+
166
+ // 模拟 API
167
+ const lookupEmployees = async (keyword: string) => {
168
+ const allEmployees = [
169
+ { code: "E001", text: "Alice Johnson (工程部)" },
170
+ { code: "E002", text: "Bob Smith (市场部)" },
171
+ { code: "E003", text: "Carol Williams (工程部)" },
172
+ { code: "E004", text: "Dave Brown (销售部)" }
173
+ ];
174
+ const keywordLower = keyword.toLowerCase();
175
+ return allEmployees.filter(e =>
176
+ e.text.toLowerCase().includes(keywordLower)
177
+ );
178
+ };
179
+
180
+ function handleAction() {
181
+ isDialogOpen = true;
182
+ }
183
+
184
+ function closeDialog() {
185
+ isDialogOpen = false;
186
+ }
187
+ </script>
188
+
189
+ <LookupEditor
190
+ onlookup={lookupEmployees}
191
+ onaction={handleAction}
192
+ bind:value={value}
193
+ placeholder="搜索员工..."
194
+ />
195
+
196
+ {#if isDialogOpen}
197
+ <div class="modal-overlay" onclick={closeDialog}>
198
+ <div class="modal" onclick={(e: Event) => e.stopPropagation()}>
199
+ <h3>添加新员工</h3>
200
+ <form>
201
+ <input type="text" placeholder="姓名" />
202
+ <input type="text" placeholder="邮箱" />
203
+ <button type="button" onclick={closeDialog}>关闭</button>
204
+ </form>
205
+ </div>
206
+ </div>
207
+ {/if}
208
+
209
+ <style>
210
+ .modal-overlay {
211
+ position: fixed;
212
+ inset: 0;
213
+ background: rgba(0, 0, 0, 0.5);
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ }
218
+ .modal {
219
+ background: white;
220
+ padding: 24px;
221
+ border-radius: 8px;
222
+ max-width: 400px;
223
+ }
224
+ form {
225
+ display: flex;
226
+ flex-direction: column;
227
+ gap: 12px;
228
+ }
229
+ button {
230
+ padding: 8px 16px;
231
+ background: #3b82f6;
232
+ color: white;
233
+ border: none;
234
+ border-radius: 4px;
235
+ cursor: pointer;
236
+ }
237
+ </style>
238
+ ```
239
+
240
+ ### 带动作的商品查找
241
+
242
+ ```svelte
243
+ <script lang="ts">
244
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
245
+
246
+ let value = $state<string | null>(null);
247
+
248
+ const lookupProducts = async (keyword: string) => {
249
+ // 模拟 API,带延迟
250
+ await new Promise(resolve => setTimeout(resolve, 500));
251
+ const allProducts = [
252
+ { id: "P001", name: "Laptop", sku: "LAP-001" },
253
+ { id: "P002", name: "Smartphone", sku: "PHN-001" },
254
+ { id: "P003", name: "Tablet", sku: "TBL-001" },
255
+ { id: "P004", name: "Monitor", sku: "MON-001" }
256
+ ];
257
+ const keywordLower = keyword.toLowerCase();
258
+ return allProducts
259
+ .filter(p =>
260
+ p.name.toLowerCase().includes(keywordLower) ||
261
+ p.sku.toLowerCase().includes(keywordLower)
262
+ )
263
+ .map(p => ({
264
+ code: p.id,
265
+ text: `${p.name} - ${p.sku}`
266
+ }));
267
+ };
268
+
269
+ function handleAction() {
270
+ console.log("点击了动作按钮 - 打开商品目录");
271
+ }
272
+ </script>
273
+
274
+ <LookupEditor
275
+ onlookup={lookupProducts}
276
+ onaction={handleAction}
277
+ bind:value={value}
278
+ placeholder="搜索商品..."
279
+ />
280
+ ```
281
+
282
+ ### 禁用 / 只读模式
283
+
284
+ ```svelte
285
+ <script lang="ts">
286
+ import LookupEditor from "@ticatec/topside-elements/LookupEditor";
287
+
288
+ let disabledValue = $state("E001");
289
+ let readonlyValue = $state("E002");
290
+
291
+ const lookupEmployees = async (keyword: string) => {
292
+ return [
293
+ { code: "E001", text: "Alice" },
294
+ { code: "E002", text: "Bob" },
295
+ { code: "E003", text: "Carol" }
296
+ ];
297
+ };
298
+ </script>
299
+
300
+ <div style="display: flex; gap: 16px;">
301
+ <LookupEditor
302
+ onlookup={lookupEmployees}
303
+ bind:value={disabledValue}
304
+ disabled
305
+ text="Alice (禁用)"
306
+ />
307
+ <LookupEditor
308
+ onlookup={lookupEmployees}
309
+ bind:value={readonlyValue}
310
+ readonly
311
+ text="Bob (只读)"
312
+ />
313
+ </div>
314
+ ```
315
+
316
+ ## 行为说明
317
+
318
+ ### `value` 与 `text` 如何交互
319
+
320
+ | 动作 | 结果 |
321
+ |------|------|
322
+ | 用户选中选项 | `value` 设为选项的 code;`text` 从选项的 text 字段自动生成。 |
323
+ | 父组件外部设置 `value` | 输入框显示匹配选项的文本(如果有的话),否则回退到原始 code。 |
324
+ | 父组件外部设置 `text` | 输入框显示自定义文本,忽略 `value`。 |
325
+ | 父组件同时设置两者 | 输入框显示 `text`(如果设置了);`value` 决定内部状态。 |
326
+
327
+ ### `clear()` 方法
328
+
329
+ 调用 `clear()` 会将 `value` 和 `text` 都重置为空。适用于重置按钮或表单清空。
330
+
331
+ ### 只读 / 禁用渲染
332
+
333
+ 两种模式都渲染普通 `<input readonly>`,显示文本。清空按钮、下拉箭头、下拉面板都不渲染。
334
+
335
+ ## 无障碍
336
+
337
+ - 下拉通过 `Popover`(portal 渲染到 `document.body`)实现,有 scroll/resize 监听。
338
+ - 键盘:方向键移动选中,Enter 确认,Escape 关闭,下拉打开时 Tab 被锁。
339
+ - 完整的 ARIA 需要外层 `<label>` / `FormField` 配合 `error` 文本。
340
+
341
+ ## 相关组件
342
+
343
+ - [OptionsSelect](../options_select/README_CN.md) —— 静态下拉变体。
344
+ - [InputOptionsSelect](../input_options_select/README_CN.md) —— 客户端过滤变体。
345
+ - [CascadeOptionSelect](../cascade_options_select/README_CN.md) —— 树形级联选择器。
@@ -0,0 +1,2 @@
1
+ import LookupEditor from "./LookupEditor.svelte";
2
+ export default LookupEditor;
@@ -0,0 +1,2 @@
1
+ import LookupEditor from "./LookupEditor.svelte";
2
+ export default LookupEditor;