hys-ui 0.1.1 → 0.3.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 (337) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/README.md +17 -1
  3. package/dist/components/HysAccordion/HysAccordion.vue.js +1 -1
  4. package/dist/components/HysAccordion/HysAccordion2.vue.js +181 -47
  5. package/dist/components/HysAlert/HysAlert.vue.js +5 -54
  6. package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
  7. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +7 -0
  8. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +639 -0
  9. package/dist/components/HysAvatar/HysAvatar.vue.js +5 -35
  10. package/dist/components/HysAvatar/HysAvatar2.vue.js +221 -2
  11. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +7 -0
  12. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +256 -0
  13. package/dist/components/HysBadge/HysBadge.vue.js +2 -2
  14. package/dist/components/HysBadge/HysBadge2.vue.js +154 -27
  15. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +5 -38
  16. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +288 -2
  17. package/dist/components/HysButton/HysButton.vue.js +2 -2
  18. package/dist/components/HysButton/HysButton2.vue.js +29 -28
  19. package/dist/components/HysCalendar/HysCalendar.vue.js +5 -92
  20. package/dist/components/HysCalendar/HysCalendar2.vue.js +815 -2
  21. package/dist/components/HysCard/HysCard.vue.js +2 -2
  22. package/dist/components/HysCard/HysCard2.vue.js +175 -42
  23. package/dist/components/HysCascader/HysCascader.vue.js +5 -194
  24. package/dist/components/HysCascader/HysCascader2.vue.js +773 -2
  25. package/dist/components/HysCascader/HysCascaderColumn.vue.js +7 -0
  26. package/dist/components/HysCascader/HysCascaderColumn2.vue.js +232 -0
  27. package/dist/components/HysCheckbox/HysCheckbox.vue.js +3 -3
  28. package/dist/components/HysCheckbox/HysCheckbox2.vue.js +180 -65
  29. package/dist/components/HysCheckboxGroup/HysCheckboxGroup.vue.js +7 -0
  30. package/dist/components/HysCheckboxGroup/HysCheckboxGroup2.vue.js +237 -0
  31. package/dist/components/HysColorPicker/HysColorPanel.vue.js +7 -0
  32. package/dist/components/HysColorPicker/HysColorPanel2.vue.js +238 -0
  33. package/dist/components/HysColorPicker/HysColorPicker.vue.js +1 -1
  34. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -216
  35. package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +90 -76
  36. package/dist/components/HysContextMenu/HysContextMenu.vue.js +5 -89
  37. package/dist/components/HysContextMenu/HysContextMenu2.vue.js +247 -2
  38. package/dist/components/HysContextMenu/HysMenuPanel.vue.js +7 -0
  39. package/dist/components/HysContextMenu/HysMenuPanel2.vue.js +208 -0
  40. package/dist/components/HysContextMenu/HysMenuSlot.js +10 -0
  41. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  42. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1019 -563
  43. package/dist/components/HysDatePicker/HysDatePicker.vue.js +270 -139
  44. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +7 -0
  45. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +820 -0
  46. package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +7 -0
  47. package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +357 -0
  48. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +270 -158
  49. package/dist/components/HysDivider/HysDivider.vue.js +2 -2
  50. package/dist/components/HysDivider/HysDivider2.vue.js +33 -13
  51. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  52. package/dist/components/HysDrawer/HysDrawer2.vue.js +434 -84
  53. package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
  54. package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
  55. package/dist/components/HysFileManager/HysFileManager.vue.js +3 -3
  56. package/dist/components/HysFileManager/HysFileManager2.vue.js +43 -42
  57. package/dist/components/HysForm/HysForm.vue.js +3 -3
  58. package/dist/components/HysForm/HysForm2.vue.js +578 -92
  59. package/dist/components/HysFormItem/HysFormItem.vue.js +5 -85
  60. package/dist/components/HysFormItem/HysFormItem2.vue.js +528 -2
  61. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  62. package/dist/components/HysGantt/HysGantt2.vue.js +1380 -268
  63. package/dist/components/HysInput/HysInput.vue.js +2 -2
  64. package/dist/components/HysInput/HysInput2.vue.js +467 -120
  65. package/dist/components/HysMention/HysMention.vue.js +2 -2
  66. package/dist/components/HysMention/HysMention2.vue.js +122 -109
  67. package/dist/components/HysModal/HysModal.vue.js +2 -2
  68. package/dist/components/HysModal/HysModal2.vue.js +490 -85
  69. package/dist/components/HysNumberInput/HysNumberInput.vue.js +2 -2
  70. package/dist/components/HysNumberInput/HysNumberInput2.vue.js +561 -79
  71. package/dist/components/HysOrgTree/HysOrgTree.vue.js +29 -26
  72. package/dist/components/HysPagination/HysPagination.vue.js +1 -1
  73. package/dist/components/HysPagination/HysPagination2.vue.js +2 -0
  74. package/dist/components/HysPermissionMatrix/HysPermissionMatrix.vue.js +2 -2
  75. package/dist/components/HysPermissionMatrix/HysPermissionMatrix2.vue.js +52 -51
  76. package/dist/components/HysPopover/HysPopover.vue.js +5 -91
  77. package/dist/components/HysPopover/HysPopover2.vue.js +120 -2
  78. package/dist/components/HysProgress/HysProgress.vue.js +2 -2
  79. package/dist/components/HysProgress/HysProgress2.vue.js +319 -52
  80. package/dist/components/HysRadio/HysRadio.vue.js +7 -0
  81. package/dist/components/HysRadio/HysRadio2.vue.js +180 -0
  82. package/dist/components/HysRadioGroup/HysRadioGroup.vue.js +2 -2
  83. package/dist/components/HysRadioGroup/HysRadioGroup2.vue.js +190 -65
  84. package/dist/components/HysRating/HysRating.vue.js +1 -1
  85. package/dist/components/HysRating/HysRating2.vue.js +288 -68
  86. package/dist/components/HysRichTextEditor/HysRichTextEditor.vue.js +1 -1
  87. package/dist/components/HysRichTextEditor/HysRichTextEditor2.vue.js +70 -69
  88. package/dist/components/HysSearch/HysSearch.vue.js +37 -36
  89. package/dist/components/HysSegmented/HysSegmented.vue.js +5 -63
  90. package/dist/components/HysSegmented/HysSegmented2.vue.js +273 -2
  91. package/dist/components/HysSelect/HysSelect.vue.js +3 -2
  92. package/dist/components/HysSelect/HysSelect2.vue.js +999 -189
  93. package/dist/components/HysSkeleton/HysSkeleton.vue.js +2 -2
  94. package/dist/components/HysSkeleton/HysSkeleton2.vue.js +126 -29
  95. package/dist/components/HysSlider/HysSlider.vue.js +1 -1
  96. package/dist/components/HysSlider/HysSlider2.vue.js +536 -59
  97. package/dist/components/HysSlider/SliderTooltip.vue.js +7 -0
  98. package/dist/components/HysSlider/SliderTooltip2.vue.js +170 -0
  99. package/dist/components/HysSteps/HysSteps.vue.js +1 -1
  100. package/dist/components/HysSteps/HysSteps2.vue.js +110 -36
  101. package/dist/components/HysSwitch/HysSwitch.vue.js +2 -2
  102. package/dist/components/HysSwitch/HysSwitch2.vue.js +232 -50
  103. package/dist/components/HysTable/HysTable.vue.js +1 -1
  104. package/dist/components/HysTable/HysTable2.vue.js +1494 -88
  105. package/dist/components/HysTable/HysTableFilterOptions.vue.js +7 -0
  106. package/dist/components/HysTable/HysTableFilterOptions2.vue.js +133 -0
  107. package/dist/components/HysTabs/HysTabs.vue.js +2 -2
  108. package/dist/components/HysTabs/HysTabs2.vue.js +262 -68
  109. package/dist/components/HysTagInput/HysTagInput.vue.js +5 -81
  110. package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
  111. package/dist/components/HysTextarea/HysTextarea.vue.js +138 -77
  112. package/dist/components/HysTimeline/HysTimeline.vue.js +2 -2
  113. package/dist/components/HysTimeline/HysTimeline2.vue.js +243 -24
  114. package/dist/components/HysTooltip/HysTooltip.vue.js +5 -64
  115. package/dist/components/HysTooltip/HysTooltip2.vue.js +110 -2
  116. package/dist/components/HysTour/HysTour.vue.js +46 -42
  117. package/dist/components/HysTransfer/HysTransfer.vue.js +5 -223
  118. package/dist/components/HysTransfer/HysTransfer2.vue.js +446 -2
  119. package/dist/components/HysTransfer/HysTransferPanel.vue.js +7 -0
  120. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +503 -0
  121. package/dist/components/HysTree/HysTree.vue.js +2 -3
  122. package/dist/components/HysTree/HysTree2.vue.js +651 -301
  123. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +5 -136
  124. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +570 -2
  125. package/dist/components/HysTreeSelect/HysTreeSelectPanel.vue.js +7 -0
  126. package/dist/components/HysTreeSelect/HysTreeSelectPanel2.vue.js +323 -0
  127. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  128. package/dist/components/HysUpload/HysUpload2.vue.js +459 -124
  129. package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
  130. package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
  131. package/dist/composables/autocomplete.js +50 -0
  132. package/dist/composables/avatar.js +57 -0
  133. package/dist/composables/calendar.js +96 -0
  134. package/dist/composables/cascader.js +79 -0
  135. package/dist/composables/choice.js +38 -0
  136. package/dist/composables/choiceModel.js +67 -0
  137. package/dist/composables/color.js +97 -0
  138. package/dist/composables/dataGrid.js +68 -0
  139. package/dist/composables/datePicker.js +227 -0
  140. package/dist/composables/drawer.js +17 -0
  141. package/dist/composables/feedback.js +14 -0
  142. package/dist/composables/formContext.js +92 -7
  143. package/dist/composables/formLayout.js +57 -0
  144. package/dist/composables/formValidation.js +240 -0
  145. package/dist/composables/ganttConflicts.js +143 -0
  146. package/dist/composables/menu.js +96 -0
  147. package/dist/composables/modal.js +14 -0
  148. package/dist/composables/numberInput.js +91 -0
  149. package/dist/composables/overlayManager.js +48 -18
  150. package/dist/composables/progress.js +94 -0
  151. package/dist/composables/rating.js +16 -0
  152. package/dist/composables/selectOptions.js +54 -0
  153. package/dist/composables/table.js +150 -0
  154. package/dist/composables/tagInput.js +16 -0
  155. package/dist/composables/textInput.js +34 -0
  156. package/dist/composables/timeline.js +19 -0
  157. package/dist/composables/transfer.js +65 -0
  158. package/dist/composables/tree.js +118 -0
  159. package/dist/composables/treeSelect.js +71 -0
  160. package/dist/composables/upload.js +55 -0
  161. package/dist/composables/uploadRequest.js +58 -0
  162. package/dist/composables/useAlert.js +124 -0
  163. package/dist/composables/useCascader.js +438 -0
  164. package/dist/composables/useColorPicker.js +402 -0
  165. package/dist/composables/useContextMenu.js +514 -0
  166. package/dist/composables/useDataGridRemote.js +67 -0
  167. package/dist/composables/useDatePicker.js +425 -0
  168. package/dist/composables/useDialog.js +86 -43
  169. package/dist/composables/useDrawerPush.js +33 -0
  170. package/dist/composables/useDrawerResize.js +221 -0
  171. package/dist/composables/useFloating.js +136 -56
  172. package/dist/composables/useGanttDependencies.js +306 -0
  173. package/dist/composables/useGanttHistory.js +157 -0
  174. package/dist/composables/useGanttLabelResize.js +100 -0
  175. package/dist/composables/useHysModal.js +185 -0
  176. package/dist/composables/useModal.js +295 -0
  177. package/dist/composables/useModalInteraction.js +394 -0
  178. package/dist/composables/usePopupSurface.js +458 -0
  179. package/dist/composables/useTable.js +474 -0
  180. package/dist/composables/useTagInput.js +313 -0
  181. package/dist/composables/useTextareaSize.js +72 -0
  182. package/dist/composables/useTransfer.js +257 -0
  183. package/dist/composables/useTransferMotion.js +185 -0
  184. package/dist/composables/useTree.js +439 -0
  185. package/dist/composables/useTreeSelect.js +361 -0
  186. package/dist/composables/useUpload.js +472 -0
  187. package/dist/composables/useUploadModel.js +65 -0
  188. package/dist/composables/useUploadRequests.js +266 -0
  189. package/dist/composables/useVirtualTableLayout.js +277 -0
  190. package/dist/composables/virtualTable.js +43 -0
  191. package/dist/index.js +152 -139
  192. package/dist/internal/PopupReference.js +39 -0
  193. package/dist/internal/PopupSurfacePanel.vue.js +7 -0
  194. package/dist/internal/PopupSurfacePanel2.vue.js +92 -0
  195. package/dist/motion/PopupMotion.js +105 -0
  196. package/dist/motion/popup.js +10 -0
  197. package/dist/style.css +1 -1
  198. package/dist/types/components/HysAccordion/HysAccordion.vue.d.ts +61 -22
  199. package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -22
  200. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +201 -0
  201. package/dist/types/components/HysAvatar/HysAvatar.vue.d.ts +28 -15
  202. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +104 -0
  203. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +41 -4
  204. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +71 -20
  205. package/dist/types/components/HysButton/HysButton.vue.d.ts +0 -1
  206. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +120 -31
  207. package/dist/types/components/HysCard/HysCard.vue.d.ts +55 -7
  208. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +129 -41
  209. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +55 -0
  210. package/dist/types/components/HysCheckbox/HysCheckbox.vue.d.ts +50 -39
  211. package/dist/types/components/HysCheckboxGroup/HysCheckboxGroup.vue.d.ts +73 -0
  212. package/dist/types/components/HysColorPicker/HysColorPanel.vue.d.ts +58 -0
  213. package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +63 -10
  214. package/dist/types/components/HysCommandPalette/HysCommandPalette.vue.d.ts +2 -1
  215. package/dist/types/components/HysContextMenu/HysContextMenu.vue.d.ts +50 -34
  216. package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +79 -0
  217. package/dist/types/components/HysContextMenu/HysMenuSlot.d.ts +8 -0
  218. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +65 -118
  219. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +66 -14
  220. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +90 -0
  221. package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +93 -0
  222. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +66 -14
  223. package/dist/types/components/HysDivider/HysDivider.vue.d.ts +8 -3
  224. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +92 -35
  225. package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
  226. package/dist/types/components/HysForm/HysForm.vue.d.ts +110 -18
  227. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +108 -2
  228. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +84 -5
  229. package/dist/types/components/HysInput/HysInput.vue.d.ts +52 -29
  230. package/dist/types/components/HysMention/HysMention.vue.d.ts +4 -3
  231. package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
  232. package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +93 -35
  233. package/dist/types/components/HysOrgTree/HysOrgTree.vue.d.ts +1 -0
  234. package/dist/types/components/HysPagination/HysPagination.vue.d.ts +1 -1
  235. package/dist/types/components/HysPermissionMatrix/HysPermissionMatrix.vue.d.ts +2 -2
  236. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +41 -29
  237. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +18 -24
  238. package/dist/types/components/HysRadio/HysRadio.vue.d.ts +56 -0
  239. package/dist/types/components/HysRadioGroup/HysRadioGroup.vue.d.ts +34 -12
  240. package/dist/types/components/HysRating/HysRating.vue.d.ts +85 -5
  241. package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
  242. package/dist/types/components/HysRichTextEditor/HysRichTextEditor.vue.d.ts +4 -4
  243. package/dist/types/components/HysSearch/HysSearch.vue.d.ts +2 -2
  244. package/dist/types/components/HysSegmented/HysSegmented.vue.d.ts +64 -32
  245. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +131 -22
  246. package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +30 -2
  247. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +69 -11
  248. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +24 -0
  249. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +3 -3
  250. package/dist/types/components/HysSteps/HysSteps.vue.d.ts +64 -9
  251. package/dist/types/components/HysSwitch/HysSwitch.vue.d.ts +76 -17
  252. package/dist/types/components/HysTable/HysTable.vue.d.ts +206 -32
  253. package/dist/types/components/HysTable/HysTableFilterOptions.vue.d.ts +18 -0
  254. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +76 -23
  255. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +50 -28
  256. package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +44 -27
  257. package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
  258. package/dist/types/components/HysToast/HysToast.vue.d.ts +3 -3
  259. package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
  260. package/dist/types/components/HysTour/HysTour.vue.d.ts +4 -3
  261. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +55 -40
  262. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +107 -0
  263. package/dist/types/components/HysTree/HysTree.vue.d.ts +140 -73
  264. package/dist/types/components/HysTreeSelect/HysTreeSelect.vue.d.ts +102 -23
  265. package/dist/types/components/HysTreeSelect/HysTreeSelectPanel.vue.d.ts +56 -0
  266. package/dist/types/components/HysUpload/HysUpload.vue.d.ts +55 -67
  267. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +71 -40
  268. package/dist/types/composables/autocomplete.d.ts +109 -0
  269. package/dist/types/composables/avatar.d.ts +73 -0
  270. package/dist/types/composables/calendar.d.ts +66 -0
  271. package/dist/types/composables/cascader.d.ts +195 -0
  272. package/dist/types/composables/choice.d.ts +110 -0
  273. package/dist/types/composables/choiceModel.d.ts +11 -0
  274. package/dist/types/composables/color.d.ts +97 -0
  275. package/dist/types/composables/dataGrid.d.ts +100 -0
  276. package/dist/types/composables/datePicker.d.ts +250 -0
  277. package/dist/types/composables/drawer.d.ts +102 -0
  278. package/dist/types/composables/feedback.d.ts +98 -0
  279. package/dist/types/composables/formContext.d.ts +135 -8
  280. package/dist/types/composables/formLayout.d.ts +11 -0
  281. package/dist/types/composables/formValidation.d.ts +13 -0
  282. package/dist/types/composables/gantt.d.ts +68 -0
  283. package/dist/types/composables/ganttConflicts.d.ts +30 -0
  284. package/dist/types/composables/menu.d.ts +183 -0
  285. package/dist/types/composables/modal.d.ts +183 -0
  286. package/dist/types/composables/numberInput.d.ts +45 -0
  287. package/dist/types/composables/overlayManager.d.ts +7 -3
  288. package/dist/types/composables/popupSurface.d.ts +83 -0
  289. package/dist/types/composables/progress.d.ts +92 -0
  290. package/dist/types/composables/rating.d.ts +18 -0
  291. package/dist/types/composables/segmented.d.ts +15 -0
  292. package/dist/types/composables/selectOptions.d.ts +46 -0
  293. package/dist/types/composables/slider.d.ts +21 -0
  294. package/dist/types/composables/table.d.ts +312 -0
  295. package/dist/types/composables/tagInput.d.ts +96 -0
  296. package/dist/types/composables/textInput.d.ts +76 -0
  297. package/dist/types/composables/timeline.d.ts +82 -0
  298. package/dist/types/composables/transfer.d.ts +187 -0
  299. package/dist/types/composables/tree.d.ts +240 -0
  300. package/dist/types/composables/treeSelect.d.ts +170 -0
  301. package/dist/types/composables/upload.d.ts +202 -0
  302. package/dist/types/composables/uploadRequest.d.ts +3 -0
  303. package/dist/types/composables/useAlert.d.ts +21 -0
  304. package/dist/types/composables/useCascader.d.ts +162 -0
  305. package/dist/types/composables/useColorPicker.d.ts +101 -0
  306. package/dist/types/composables/useContextMenu.d.ts +81 -0
  307. package/dist/types/composables/useDataGridRemote.d.ts +15 -0
  308. package/dist/types/composables/useDatePicker.d.ts +79 -0
  309. package/dist/types/composables/useDialog.d.ts +16 -3
  310. package/dist/types/composables/useDrawerPush.d.ts +6 -0
  311. package/dist/types/composables/useDrawerResize.d.ts +27 -0
  312. package/dist/types/composables/useFloating.d.ts +28 -6
  313. package/dist/types/composables/useGanttDependencies.d.ts +83 -0
  314. package/dist/types/composables/useGanttHistory.d.ts +42 -0
  315. package/dist/types/composables/useGanttLabelResize.d.ts +23 -0
  316. package/dist/types/composables/useHysModal.d.ts +44 -0
  317. package/dist/types/composables/useModal.d.ts +62 -0
  318. package/dist/types/composables/useModalInteraction.d.ts +27 -0
  319. package/dist/types/composables/usePopupSurface.d.ts +3341 -0
  320. package/dist/types/composables/useTable.d.ts +60 -0
  321. package/dist/types/composables/useTagInput.d.ts +66 -0
  322. package/dist/types/composables/useTextareaSize.d.ts +3 -0
  323. package/dist/types/composables/useTransfer.d.ts +58 -0
  324. package/dist/types/composables/useTransferMotion.d.ts +36 -0
  325. package/dist/types/composables/useTree.d.ts +77 -0
  326. package/dist/types/composables/useTreeSelect.d.ts +117 -0
  327. package/dist/types/composables/useUpload.d.ts +94 -0
  328. package/dist/types/composables/useUploadModel.d.ts +14 -0
  329. package/dist/types/composables/useUploadRequests.d.ts +38 -0
  330. package/dist/types/composables/useVirtualTableLayout.d.ts +51 -0
  331. package/dist/types/composables/virtualTable.d.ts +126 -0
  332. package/dist/types/index.d.ts +50 -9
  333. package/dist/types/internal/PopupReference.d.ts +18 -0
  334. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +37 -0
  335. package/dist/types/motion/PopupMotion.d.ts +59 -0
  336. package/dist/types/motion/popup.d.ts +12 -0
  337. package/package.json +2 -1
@@ -0,0 +1,82 @@
1
+ import type { Component, VNodeChild } from "vue";
2
+ export type HysTimelineKey = string | number;
3
+ export type HysTimelineMode = "left" | "right" | "alternate" | "alternate-reverse";
4
+ export type HysTimelinePosition = "left" | "right";
5
+ export type HysTimelineSize = "sm" | "md" | "lg";
6
+ export type HysTimelineTone = "primary" | "success" | "warning" | "danger" | "info" | "neutral";
7
+ export interface HysTimelineItem {
8
+ id?: HysTimelineKey;
9
+ key?: HysTimelineKey;
10
+ title: string;
11
+ time?: string;
12
+ dateTime?: string;
13
+ description?: string;
14
+ status?: "done" | "current" | "pending";
15
+ color?: string;
16
+ label?: string;
17
+ position?: HysTimelinePosition;
18
+ tone?: HysTimelineTone;
19
+ size?: HysTimelineSize | number;
20
+ hollow?: boolean;
21
+ loading?: boolean;
22
+ icon?: Component;
23
+ hideTime?: boolean;
24
+ timePlacement?: "top" | "bottom";
25
+ }
26
+ export type HysTimelineFieldNames = Partial<Record<keyof HysTimelineItem, string>>;
27
+ export interface HysTimelineProps<T extends object = HysTimelineItem> {
28
+ items: readonly T[];
29
+ reverse?: boolean;
30
+ pending?: string | boolean;
31
+ mode?: HysTimelineMode;
32
+ itemKey?: string | ((item: T, index: number) => HysTimelineKey);
33
+ fieldNames?: HysTimelineFieldNames;
34
+ size?: HysTimelineSize;
35
+ hollow?: boolean;
36
+ showTime?: boolean;
37
+ timePlacement?: "top" | "bottom";
38
+ responsive?: boolean;
39
+ lineStyle?: "solid" | "dashed" | "dotted";
40
+ lineColor?: string;
41
+ pendingPosition?: "start" | "end";
42
+ pendingLoading?: boolean;
43
+ pendingText?: string;
44
+ emptyText?: string;
45
+ ariaLabel?: string;
46
+ }
47
+ export interface HysTimelineItemContext<T extends object = HysTimelineItem> {
48
+ item: T;
49
+ index: number;
50
+ sourceIndex: number;
51
+ key: HysTimelineKey;
52
+ title: string;
53
+ time: string;
54
+ description: string;
55
+ label: string;
56
+ position: HysTimelinePosition;
57
+ status: HysTimelineItem["status"];
58
+ tone: HysTimelineTone;
59
+ loading: boolean;
60
+ }
61
+ export interface HysTimelinePendingContext {
62
+ pending: string | boolean | undefined;
63
+ loading: boolean;
64
+ }
65
+ export interface HysTimelineSlots<T extends object = HysTimelineItem> {
66
+ item?: (context: HysTimelineItemContext<T>) => VNodeChild;
67
+ title?: (context: HysTimelineItemContext<T>) => VNodeChild;
68
+ description?: (context: HysTimelineItemContext<T>) => VNodeChild;
69
+ time?: (context: HysTimelineItemContext<T>) => VNodeChild;
70
+ label?: (context: HysTimelineItemContext<T>) => VNodeChild;
71
+ dot?: (context: HysTimelineItemContext<T>) => VNodeChild;
72
+ pending?: (context: HysTimelinePendingContext) => VNodeChild;
73
+ "pending-dot"?: (context: HysTimelinePendingContext) => VNodeChild;
74
+ empty?: () => VNodeChild;
75
+ }
76
+ export interface HysTimelineInstance<T extends object = HysTimelineItem> {
77
+ readonly element: HTMLOListElement | undefined;
78
+ getItems: () => T[];
79
+ }
80
+ export declare function timelineRead(item: object, path: string): unknown;
81
+ export declare const timelineText: (value: unknown) => string;
82
+ export declare const timelineTone: (tone: HysTimelineTone) => string;
@@ -0,0 +1,187 @@
1
+ import type { CSSProperties, VNodeChild } from "vue";
2
+ export type HysTransferKey = string | number;
3
+ export type HysTransferSide = "left" | "right";
4
+ export interface HysTransferOption<K extends HysTransferKey = HysTransferKey> {
5
+ value: K;
6
+ label: string;
7
+ disabled?: boolean;
8
+ }
9
+ export interface HysTransferFieldNames {
10
+ value?: string;
11
+ label?: string;
12
+ disabled?: string;
13
+ }
14
+ export interface HysTransferPagination {
15
+ pageSize?: number;
16
+ pageSizeOptions?: number[];
17
+ showSizeChanger?: boolean;
18
+ compact?: boolean;
19
+ }
20
+ export interface HysTransferLocale {
21
+ leftTitle: string;
22
+ rightTitle: string;
23
+ search: string;
24
+ emptyLeft: string;
25
+ emptyRight: string;
26
+ noMatch: string;
27
+ loading: string;
28
+ selectAll: string;
29
+ invert: string;
30
+ remove: string;
31
+ moveRight: string;
32
+ moveLeft: string;
33
+ dragRight: string;
34
+ dragLeft: string;
35
+ doubleClickRight?: string;
36
+ doubleClickLeft?: string;
37
+ dragCount: string;
38
+ moved: string;
39
+ added: string;
40
+ removed: string;
41
+ firstPage: string;
42
+ previousPage: string;
43
+ nextPage: string;
44
+ lastPage: string;
45
+ perPage: string;
46
+ }
47
+ export interface HysTransferHeaderInfo {
48
+ side: HysTransferSide;
49
+ total: number;
50
+ filtered: number;
51
+ checked: number;
52
+ }
53
+ export interface HysTransferRecord<T extends object, K extends HysTransferKey> {
54
+ key: K;
55
+ label: string;
56
+ disabled: boolean;
57
+ option: T;
58
+ }
59
+ export interface HysTransferProps<T extends object, K extends HysTransferKey> {
60
+ options: readonly T[];
61
+ modelValue?: readonly K[];
62
+ defaultValue?: readonly K[];
63
+ fieldNames?: HysTransferFieldNames;
64
+ rowKey?: (option: T) => K;
65
+ disabled?: boolean;
66
+ loading?: boolean;
67
+ filterable?: boolean;
68
+ filterMethod?: (query: string, option: T, side: HysTransferSide) => boolean;
69
+ filterPlaceholder?: string | readonly [string, string];
70
+ searchValues?: Partial<Record<HysTransferSide, string>>;
71
+ titles?: readonly [string, string];
72
+ buttonTexts?: readonly [string, string];
73
+ showSelectAll?: boolean;
74
+ showInvert?: boolean;
75
+ checkedKeys?: readonly K[];
76
+ defaultCheckedKeys?: readonly K[];
77
+ leftDefaultChecked?: readonly K[];
78
+ rightDefaultChecked?: readonly K[];
79
+ targetOrder?: "original" | "push" | "unshift";
80
+ oneWay?: boolean;
81
+ draggable?: boolean;
82
+ dragChecked?: boolean;
83
+ moveOnDoubleClick?: boolean;
84
+ animated?: boolean;
85
+ moveAnimation?: "flight" | "fade" | "none";
86
+ moveDuration?: number;
87
+ maxAnimatedItems?: number;
88
+ highlightOnArrival?: boolean;
89
+ size?: "sm" | "md" | "lg";
90
+ listHeight?: number;
91
+ listStyle?: CSSProperties;
92
+ operationStyle?: CSSProperties;
93
+ status?: "error" | "warning";
94
+ pagination?: boolean | HysTransferPagination;
95
+ pages?: Partial<Record<HysTransferSide, number>>;
96
+ pageSizes?: Partial<Record<HysTransferSide, number>>;
97
+ virtual?: boolean;
98
+ itemHeight?: number;
99
+ overscan?: number;
100
+ locale?: Partial<HysTransferLocale>;
101
+ format?: (info: HysTransferHeaderInfo) => string;
102
+ renderContent?: (option: T, side: HysTransferSide) => VNodeChild;
103
+ ariaLabel?: string;
104
+ validateEvent?: boolean;
105
+ }
106
+ export interface HysTransferPanelContext<T extends object, K extends HysTransferKey> {
107
+ side: HysTransferSide;
108
+ items: T[];
109
+ filteredItems: T[];
110
+ checkedKeys: K[];
111
+ disabled: boolean;
112
+ query: string;
113
+ check: (key: K, checked?: boolean) => Promise<boolean>;
114
+ setCheckedKeys: (keys: readonly K[]) => Promise<boolean>;
115
+ checkAll: (checked?: boolean) => Promise<boolean>;
116
+ remove: (keys: readonly K[]) => Promise<boolean>;
117
+ }
118
+ export interface HysTransferInstance<T extends object = HysTransferOption, K extends HysTransferKey = HysTransferKey> {
119
+ readonly element: HTMLElement | undefined;
120
+ readonly targetKeys: K[];
121
+ readonly checkedKeys: K[];
122
+ getCheckedKeys: (side?: HysTransferSide) => K[];
123
+ getTargetItems: () => T[];
124
+ move: (direction: HysTransferSide, keys?: readonly K[]) => Promise<boolean>;
125
+ remove: (keys: readonly K[]) => Promise<boolean>;
126
+ setCheckedKeys: (keys: readonly K[]) => Promise<boolean>;
127
+ clearChecked: (side?: HysTransferSide) => Promise<boolean>;
128
+ checkAll: (side: HysTransferSide, checked?: boolean, scope?: "page" | "filtered" | "all") => Promise<boolean>;
129
+ invertSelection: (side: HysTransferSide, scope?: "page" | "filtered" | "all") => Promise<boolean>;
130
+ setSearch: (side: HysTransferSide, value: string) => void;
131
+ clearSearch: (side?: HysTransferSide) => void;
132
+ setPage: (side: HysTransferSide, page: number) => void;
133
+ setPageSize: (side: HysTransferSide, size: number) => void;
134
+ scrollTo: (side: HysTransferSide, options: {
135
+ key?: K;
136
+ top?: number;
137
+ behavior?: ScrollBehavior;
138
+ }) => Promise<void>;
139
+ focus: (side?: HysTransferSide) => void;
140
+ }
141
+ export declare const transferToken: (key: HysTransferKey) => string;
142
+ export interface HysTransferSlots<T extends object, K extends HysTransferKey> {
143
+ default?: (props: {
144
+ option: T;
145
+ label: string;
146
+ side: HysTransferSide;
147
+ checked: boolean;
148
+ disabled: boolean;
149
+ }) => any;
150
+ option?: (props: {
151
+ option: T;
152
+ label: string;
153
+ side: HysTransferSide;
154
+ checked: boolean;
155
+ disabled: boolean;
156
+ }) => any;
157
+ panel?: (props: HysTransferPanelContext<T, K>) => any;
158
+ header?: (props: {
159
+ info: HysTransferHeaderInfo;
160
+ side: HysTransferSide;
161
+ allChecked: boolean;
162
+ indeterminate: boolean;
163
+ checkAll: (checked?: boolean) => Promise<boolean>;
164
+ }) => any;
165
+ footer?: (props: HysTransferPanelContext<T, K>) => any;
166
+ "left-footer"?: (props: HysTransferPanelContext<T, K>) => any;
167
+ "right-footer"?: (props: HysTransferPanelContext<T, K>) => any;
168
+ empty?: (props: HysTransferPanelContext<T, K>) => any;
169
+ "left-empty"?: (props: HysTransferPanelContext<T, K>) => any;
170
+ "right-empty"?: (props: HysTransferPanelContext<T, K>) => any;
171
+ loading?: (props: {
172
+ side: HysTransferSide;
173
+ }) => any;
174
+ operations?: (props: {
175
+ move: (side: HysTransferSide, keys?: readonly K[]) => Promise<boolean>;
176
+ disabled: boolean;
177
+ leftChecked: K[];
178
+ rightChecked: K[];
179
+ }) => any;
180
+ }
181
+ export declare function transferValue(option: object, path: string): unknown;
182
+ export declare function transferRows<T extends object, K extends HysTransferKey>(props: Pick<HysTransferProps<T, K>, "options" | "fieldNames" | "rowKey">): {
183
+ rows: HysTransferRecord<T, K>[];
184
+ map: Map<K, HysTransferRecord<T, K>>;
185
+ };
186
+ export declare const transferWords: (locale?: Partial<HysTransferLocale>) => HysTransferLocale;
187
+ export declare const transferLabel: (text: string, values: Record<string, string | number>) => string;
@@ -0,0 +1,240 @@
1
+ import type { HysPopupTransition } from '../motion/popup';
2
+ import type { CSSProperties, VNodeChild } from "vue";
3
+ export type HysTreeKey = string | number;
4
+ export type HysTreeValue = HysTreeKey | readonly HysTreeKey[] | null;
5
+ export interface HysTreeNode<K extends HysTreeKey = HysTreeKey> {
6
+ id: K;
7
+ label: string;
8
+ children?: HysTreeNode<K>[];
9
+ disabled?: boolean;
10
+ disableCheckbox?: boolean;
11
+ selectable?: boolean;
12
+ checkable?: boolean;
13
+ icon?: string;
14
+ hasChildren?: boolean;
15
+ isLeaf?: boolean;
16
+ loading?: boolean;
17
+ }
18
+ /** Existing string-key node type remains available. */
19
+ export type TreeNode = HysTreeNode<string>;
20
+ export type HysTreeDropPosition = "before" | "inside" | "after";
21
+ export interface HysTreeFieldNames {
22
+ id: string;
23
+ label: string;
24
+ children: string;
25
+ disabled: string;
26
+ disableCheckbox: string;
27
+ selectable: string;
28
+ checkable: string;
29
+ icon: string;
30
+ hasChildren: string;
31
+ isLeaf: string;
32
+ }
33
+ export interface HysTreeLoadContext {
34
+ signal: AbortSignal;
35
+ key: HysTreeKey;
36
+ }
37
+ export interface HysTreeLocale {
38
+ search: string;
39
+ empty: string;
40
+ noMatch: string;
41
+ loading: string;
42
+ retry: string;
43
+ loadError: string;
44
+ expand: string;
45
+ collapse: string;
46
+ check: string;
47
+ select: string;
48
+ clear: string;
49
+ close: string;
50
+ tree: string;
51
+ }
52
+ export interface HysTreeRecord<N extends object> {
53
+ key: HysTreeKey;
54
+ node: N;
55
+ label: string;
56
+ parent?: HysTreeKey;
57
+ children: HysTreeKey[];
58
+ depth: number;
59
+ index: number;
60
+ pos: number;
61
+ size: number;
62
+ disabled: boolean;
63
+ checkboxDisabled: boolean;
64
+ selectable: boolean;
65
+ checkable: boolean;
66
+ leaf: boolean;
67
+ hasChildren: boolean;
68
+ icon: unknown;
69
+ }
70
+ export interface HysTreeCheckInfo<N extends object> {
71
+ node?: N;
72
+ checked?: boolean;
73
+ checkedKeys: HysTreeKey[];
74
+ checkedNodes: N[];
75
+ halfCheckedKeys: HysTreeKey[];
76
+ halfCheckedNodes: N[];
77
+ event?: Event;
78
+ }
79
+ export interface HysTreeSelectInfo<N extends object> {
80
+ node: N | null;
81
+ selected: boolean;
82
+ selectedKeys: HysTreeKey[];
83
+ selectedNodes: N[];
84
+ event?: Event;
85
+ }
86
+ export interface HysTreeDropInfo<N extends object, K extends HysTreeKey = HysTreeKey> {
87
+ dragId: K;
88
+ targetId: K;
89
+ position: HysTreeDropPosition;
90
+ dragNode: N;
91
+ targetNode: N;
92
+ event: DragEvent;
93
+ }
94
+ export interface HysTreeNodeContext<N extends object> {
95
+ node: N;
96
+ key: HysTreeKey;
97
+ label: string;
98
+ depth: number;
99
+ expanded: boolean;
100
+ selected: boolean;
101
+ checked: boolean;
102
+ indeterminate: boolean;
103
+ disabled: boolean;
104
+ loading: boolean;
105
+ leaf: boolean;
106
+ }
107
+ export interface HysTreeProps<N extends object = TreeNode, V extends HysTreeValue = HysTreeValue> {
108
+ popupTransition?: HysPopupTransition;
109
+ popupTransitionDuration?: number;
110
+ nodes: readonly N[];
111
+ modelValue?: V;
112
+ defaultValue?: V;
113
+ checkedKeys?: readonly HysTreeKey[];
114
+ defaultCheckedKeys?: readonly HysTreeKey[];
115
+ halfCheckedKeys?: readonly HysTreeKey[];
116
+ expandedKeys?: readonly HysTreeKey[];
117
+ defaultExpandedKeys?: readonly HysTreeKey[];
118
+ loadedKeys?: readonly HysTreeKey[];
119
+ multiple?: boolean;
120
+ selectable?: boolean;
121
+ checkable?: boolean;
122
+ searchable?: boolean;
123
+ disabled?: boolean;
124
+ inheritDisabled?: boolean;
125
+ loading?: boolean;
126
+ size?: "sm" | "md" | "lg";
127
+ defaultExpandAll?: boolean;
128
+ autoExpandParent?: boolean;
129
+ accordion?: boolean;
130
+ expandOnClickNode?: boolean;
131
+ expandOnDoubleClick?: boolean;
132
+ checkOnClickNode?: boolean;
133
+ checkOnClickLeaf?: boolean;
134
+ selectOnClickNode?: boolean;
135
+ allowDeselect?: boolean;
136
+ highlightCurrent?: boolean;
137
+ fieldNames?: Partial<HysTreeFieldNames>;
138
+ nodeKey?: string | ((node: N) => HysTreeKey);
139
+ showLine?: boolean;
140
+ showIcon?: boolean;
141
+ indent?: number;
142
+ blockNode?: boolean;
143
+ virtual?: boolean;
144
+ rowHeight?: number;
145
+ viewportHeight?: number;
146
+ overscan?: number;
147
+ draggable?: boolean;
148
+ dragExpandDelay?: number;
149
+ allowDrag?: (node: N) => boolean;
150
+ allowDrop?: (drag: N, target: N, position: HysTreeDropPosition) => boolean;
151
+ contextMenu?: boolean;
152
+ checkStrictly?: boolean;
153
+ searchValue?: string;
154
+ defaultSearchValue?: string;
155
+ searchPlaceholder?: string;
156
+ filterNode?: (query: string, node: N) => boolean;
157
+ filterMode?: "hide" | "highlight";
158
+ showMatchedChildren?: boolean;
159
+ emptyText?: string;
160
+ ariaLabel?: string;
161
+ locale?: Partial<HysTreeLocale>;
162
+ loadChildren?: (node: N, context: HysTreeLoadContext) => Promise<readonly N[]>;
163
+ renderContent?: (context: HysTreeNodeContext<N>) => VNodeChild;
164
+ nodeClass?: string | ((node: N) => string | undefined);
165
+ nodeStyle?: CSSProperties | ((node: N) => CSSProperties | undefined);
166
+ validateEvent?: boolean;
167
+ }
168
+ export interface HysTreeInstance<N extends object = TreeNode> {
169
+ readonly element: HTMLElement | undefined;
170
+ getNode: (key: HysTreeKey | N) => N | undefined;
171
+ getNodeInfo: (key: HysTreeKey | N) => HysTreeRecord<N> | undefined;
172
+ getCheckedKeys: (leafOnly?: boolean) => HysTreeKey[];
173
+ getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => N[];
174
+ getHalfCheckedKeys: () => HysTreeKey[];
175
+ getHalfCheckedNodes: () => N[];
176
+ setCheckedKeys: (keys: readonly HysTreeKey[], leafOnly?: boolean) => Promise<boolean>;
177
+ setCheckedNodes: (nodes: readonly N[], leafOnly?: boolean) => Promise<boolean>;
178
+ setChecked: (key: HysTreeKey | N, checked: boolean, deep?: boolean) => Promise<boolean>;
179
+ getCurrentKey: () => HysTreeKey | null;
180
+ getCurrentNode: () => N | null;
181
+ getSelectedKeys: () => HysTreeKey[];
182
+ setCurrentKey: (key: HysTreeKey | null, expandParents?: boolean) => Promise<boolean>;
183
+ setCurrentNode: (node: N | null, expandParents?: boolean) => Promise<boolean>;
184
+ setSelectedKeys: (keys: readonly HysTreeKey[]) => Promise<boolean>;
185
+ getExpandedKeys: () => HysTreeKey[];
186
+ setExpandedKeys: (keys: readonly HysTreeKey[]) => Promise<boolean>;
187
+ expandNode: (key: HysTreeKey, expanded?: boolean) => Promise<boolean>;
188
+ expandAll: () => Promise<boolean>;
189
+ collapseAll: () => Promise<boolean>;
190
+ filter: (value: string) => void;
191
+ reloadNode: (key: HysTreeKey) => Promise<boolean>;
192
+ updateKeyChildren: (key: HysTreeKey, children: readonly N[]) => Promise<boolean>;
193
+ append: (node: N, parent?: HysTreeKey | N) => Promise<boolean>;
194
+ insertBefore: (node: N, reference: HysTreeKey | N) => Promise<boolean>;
195
+ insertAfter: (node: N, reference: HysTreeKey | N) => Promise<boolean>;
196
+ remove: (key: HysTreeKey | N) => Promise<boolean>;
197
+ scrollTo: (options: {
198
+ key?: HysTreeKey;
199
+ top?: number;
200
+ align?: "top" | "bottom" | "auto";
201
+ offset?: number;
202
+ behavior?: ScrollBehavior;
203
+ }) => Promise<void>;
204
+ focus: (key?: HysTreeKey) => Promise<void>;
205
+ }
206
+ export declare const treeLocale: HysTreeLocale;
207
+ export declare const treeKey: (v: unknown) => v is HysTreeKey;
208
+ export declare const treeKeys: (v: readonly HysTreeKey[]) => HysTreeKey[];
209
+ export declare function treeField(value: unknown, path: string): unknown;
210
+ export declare function treeAssign<N extends object>(node: N, path: string, value: unknown): N;
211
+ export declare function treeFields<N extends object>(props: HysTreeProps<N>): {
212
+ id: string;
213
+ label: string;
214
+ children: string;
215
+ disabled: string;
216
+ disableCheckbox: string;
217
+ selectable: string;
218
+ checkable: string;
219
+ icon: string;
220
+ hasChildren: string;
221
+ isLeaf: string;
222
+ };
223
+ export declare function treeIndex<N extends object>(nodes: readonly N[], props: HysTreeProps<N>, asyncChildren?: Map<HysTreeKey, readonly N[]>): {
224
+ map: Map<HysTreeKey, HysTreeRecord<N>>;
225
+ rows: HysTreeRecord<N>[];
226
+ roots: HysTreeKey[];
227
+ fields: {
228
+ id: string;
229
+ label: string;
230
+ children: string;
231
+ disabled: string;
232
+ disableCheckbox: string;
233
+ selectable: string;
234
+ checkable: string;
235
+ icon: string;
236
+ hasChildren: string;
237
+ isLeaf: string;
238
+ };
239
+ invalid: boolean;
240
+ };
@@ -0,0 +1,170 @@
1
+ import type { HysPopupTransition } from '../motion/popup';
2
+ import type { CSSProperties, VNodeChild } from "vue";
3
+ import { type HysTreeKey, type HysTreeFieldNames, type HysTreeLoadContext, type HysTreeLocale } from "./tree";
4
+ import type { Placement } from "./useFloating";
5
+ export interface HysTreeSelectDataNode<K extends HysTreeKey = HysTreeKey> {
6
+ value: K;
7
+ label: string;
8
+ children?: HysTreeSelectDataNode<K>[];
9
+ disabled?: boolean;
10
+ disableCheckbox?: boolean;
11
+ checkable?: boolean;
12
+ selectable?: boolean;
13
+ hasChildren?: boolean;
14
+ isLeaf?: boolean;
15
+ }
16
+ export type HysTreeSelectNode = HysTreeSelectDataNode<string>;
17
+ export interface HysTreeSelectLabelValue {
18
+ value: HysTreeKey;
19
+ label?: VNodeChild;
20
+ disabled?: boolean;
21
+ }
22
+ export type HysTreeSelectValue = HysTreeKey | HysTreeSelectLabelValue | readonly (HysTreeKey | HysTreeSelectLabelValue)[] | null;
23
+ export interface HysTreeSelectFieldNames extends Omit<HysTreeFieldNames, "id"> {
24
+ value: string;
25
+ }
26
+ export interface HysTreeSelectSimpleMode {
27
+ id?: string;
28
+ parentId?: string;
29
+ rootParentId?: HysTreeKey | null;
30
+ }
31
+ export type HysTreeSelectStrategy = "all" | "parent" | "child";
32
+ export interface HysTreeSelectItem<N extends object = HysTreeSelectNode> {
33
+ value: HysTreeKey;
34
+ label: VNodeChild;
35
+ node?: N;
36
+ disabled: boolean;
37
+ missing: boolean;
38
+ }
39
+ export interface HysTreeSelectChange<N extends object = HysTreeSelectNode> {
40
+ reason: "select" | "check" | "remove" | "clear" | "api";
41
+ node?: N;
42
+ values: HysTreeKey[];
43
+ items: HysTreeSelectItem<N>[];
44
+ halfCheckedKeys: HysTreeKey[];
45
+ event?: Event;
46
+ }
47
+ export interface HysTreeSelectProps<N extends object = HysTreeSelectNode, V extends HysTreeSelectValue = HysTreeSelectValue> {
48
+ popupTransition?: HysPopupTransition;
49
+ popupTransitionDuration?: number;
50
+ modelValue?: V;
51
+ defaultValue?: V;
52
+ nodes: readonly N[];
53
+ cacheData?: readonly N[];
54
+ fieldNames?: Partial<HysTreeSelectFieldNames>;
55
+ nodeKey?: string | ((node: N) => HysTreeKey);
56
+ simpleMode?: boolean | HysTreeSelectSimpleMode;
57
+ labelInValue?: boolean;
58
+ disabled?: boolean;
59
+ readonly?: boolean;
60
+ loading?: boolean;
61
+ size?: "sm" | "md" | "lg";
62
+ status?: "error" | "warning" | "success";
63
+ placeholder?: string;
64
+ ariaLabel?: string;
65
+ name?: string;
66
+ multiple?: boolean;
67
+ leafOnly?: boolean;
68
+ checkable?: boolean;
69
+ checkStrictly?: boolean;
70
+ showCheckedStrategy?: HysTreeSelectStrategy;
71
+ clearable?: boolean;
72
+ clearValue?: HysTreeKey | null;
73
+ removable?: boolean;
74
+ multipleLimit?: number;
75
+ maxTagCount?: number;
76
+ maxTagTextLength?: number;
77
+ searchable?: boolean;
78
+ searchValue?: string;
79
+ defaultSearchValue?: string;
80
+ searchPlaceholder?: string;
81
+ filterNode?: (query: string, node: N) => boolean;
82
+ filterMode?: "hide" | "highlight";
83
+ showMatchedChildren?: boolean;
84
+ retainSearch?: boolean;
85
+ clearSearchAfterSelect?: boolean;
86
+ remote?: boolean;
87
+ remoteMethod?: (query: string, context: {
88
+ signal: AbortSignal;
89
+ }) => void | readonly N[] | Promise<void | readonly N[]>;
90
+ debounce?: number;
91
+ expandedKeys?: readonly HysTreeKey[];
92
+ defaultExpandedKeys?: readonly HysTreeKey[];
93
+ defaultExpandAll?: boolean;
94
+ autoExpandParent?: boolean;
95
+ accordion?: boolean;
96
+ expandOnClickNode?: boolean;
97
+ expandSelected?: boolean;
98
+ loadedKeys?: readonly HysTreeKey[];
99
+ loadChildren?: (node: N, context: HysTreeLoadContext) => Promise<readonly N[]>;
100
+ showLine?: boolean;
101
+ showIcon?: boolean;
102
+ indent?: number;
103
+ open?: boolean;
104
+ defaultOpen?: boolean;
105
+ showOnFocus?: boolean;
106
+ popupMatchWidth?: boolean;
107
+ popupWidth?: number | string;
108
+ popupClass?: string;
109
+ popupStyle?: CSSProperties;
110
+ appendTo?: string | HTMLElement | false;
111
+ placement?: Placement;
112
+ listHeight?: number;
113
+ virtual?: boolean;
114
+ itemHeight?: number;
115
+ overscan?: number;
116
+ emptyText?: string;
117
+ noMatchText?: string;
118
+ loadingText?: string;
119
+ locale?: Partial<HysTreeLocale>;
120
+ validateEvent?: boolean;
121
+ }
122
+ export interface HysTreeSelectInstance<N extends object = HysTreeSelectNode> {
123
+ readonly element: HTMLElement | undefined;
124
+ readonly open: boolean;
125
+ focus: () => void;
126
+ blur: () => void;
127
+ show: () => Promise<boolean>;
128
+ hide: (restoreFocus?: boolean) => void;
129
+ clear: () => Promise<boolean>;
130
+ removeTag: (key: HysTreeKey) => Promise<boolean>;
131
+ setValue: (value: HysTreeSelectValue) => Promise<boolean>;
132
+ filter: (query: string) => void;
133
+ getSelectedKeys: () => HysTreeKey[];
134
+ getSelectedItems: () => HysTreeSelectItem<N>[];
135
+ getCheckedKeys: (leafOnly?: boolean) => HysTreeKey[];
136
+ getHalfCheckedKeys: () => HysTreeKey[];
137
+ getNode: (key: HysTreeKey) => N | undefined;
138
+ getExpandedKeys: () => HysTreeKey[];
139
+ setExpandedKeys: (keys: readonly HysTreeKey[]) => Promise<boolean>;
140
+ expandNode: (key: HysTreeKey, expanded?: boolean) => Promise<boolean>;
141
+ reloadNode: (key: HysTreeKey) => Promise<boolean>;
142
+ scrollTo: (options: {
143
+ key?: HysTreeKey;
144
+ top?: number;
145
+ align?: "top" | "bottom" | "auto";
146
+ }) => Promise<void>;
147
+ }
148
+ export declare function treeSelectFields<N extends object>(props: HysTreeSelectProps<N>): Partial<HysTreeFieldNames>;
149
+ export declare function treeSelectForest<N extends object>(nodes: readonly N[], props: HysTreeSelectProps<N>): {
150
+ nodes: readonly N[];
151
+ raw: Map<HysTreeKey, N>;
152
+ };
153
+ export declare const selectTreeIndex: <N extends object>(nodes: readonly N[], props: HysTreeSelectProps<N>) => {
154
+ map: Map<HysTreeKey, import("./tree").HysTreeRecord<N>>;
155
+ rows: import("./tree").HysTreeRecord<N>[];
156
+ roots: HysTreeKey[];
157
+ fields: {
158
+ id: string;
159
+ label: string;
160
+ children: string;
161
+ disabled: string;
162
+ disableCheckbox: string;
163
+ selectable: string;
164
+ checkable: string;
165
+ icon: string;
166
+ hasChildren: string;
167
+ isLeaf: string;
168
+ };
169
+ invalid: boolean;
170
+ };