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,92 @@
1
+ import type { VNodeChild } from "vue";
2
+ export type HysProgressType = "line" | "circle" | "dashboard";
3
+ export type HysProgressStatus = "normal" | "success" | "warning" | "error" | "active";
4
+ export type HysProgressSize = "sm" | "md" | "lg";
5
+ export type HysProgressLinecap = "round" | "butt" | "square";
6
+ export type HysProgressGapPosition = "top" | "right" | "bottom" | "left";
7
+ export type HysProgressGradientDirection = number | "to right" | "to left" | "to top" | "to bottom" | "to top right" | "to top left" | "to bottom right" | "to bottom left";
8
+ export interface HysProgressGradientStop {
9
+ offset: number;
10
+ color: string;
11
+ }
12
+ export interface HysProgressGradient {
13
+ from: string;
14
+ to: string;
15
+ direction?: HysProgressGradientDirection;
16
+ stops?: readonly HysProgressGradientStop[];
17
+ }
18
+ export interface HysProgressColorStop {
19
+ value: number;
20
+ color: string;
21
+ }
22
+ export type HysProgressColor = string | ((value: number) => string) | readonly HysProgressColorStop[] | readonly string[] | HysProgressGradient;
23
+ export interface HysProgressSuccess {
24
+ value: number;
25
+ color?: HysProgressColor;
26
+ }
27
+ export interface HysProgressLabelContext {
28
+ value: number;
29
+ successValue: number;
30
+ status: HysProgressStatus;
31
+ indeterminate: boolean;
32
+ }
33
+ export interface HysProgressProps {
34
+ value: number;
35
+ showLabel?: boolean;
36
+ color?: HysProgressColor;
37
+ status?: HysProgressStatus;
38
+ strokeWidth?: number;
39
+ type?: HysProgressType;
40
+ width?: number | string;
41
+ format?: (value: number, successValue: number) => VNodeChild;
42
+ indeterminate?: boolean;
43
+ size?: HysProgressSize;
44
+ textInside?: boolean;
45
+ textColor?: string;
46
+ precision?: number;
47
+ showStatusIcon?: boolean;
48
+ trailColor?: string;
49
+ strokeLinecap?: HysProgressLinecap;
50
+ success?: HysProgressSuccess;
51
+ steps?: number;
52
+ stepGap?: number;
53
+ gapDegree?: number;
54
+ gapPosition?: HysProgressGapPosition;
55
+ striped?: boolean;
56
+ stripedFlow?: boolean;
57
+ animated?: boolean;
58
+ duration?: number;
59
+ flowDuration?: number;
60
+ ariaLabel?: string;
61
+ ariaValueText?: string | ((context: HysProgressLabelContext) => string);
62
+ }
63
+ export interface HysProgressSlots {
64
+ default?: (context: HysProgressLabelContext) => VNodeChild;
65
+ icon?: (context: HysProgressLabelContext) => VNodeChild;
66
+ }
67
+ export interface HysProgressInstance {
68
+ readonly element: HTMLElement | undefined;
69
+ readonly value: number;
70
+ readonly successValue: number;
71
+ readonly status: HysProgressStatus;
72
+ }
73
+ export declare const progressPercent: (value: number | undefined) => number;
74
+ export declare const progressNumber: (value: number | undefined, fallback: number, min: number, max: number) => number;
75
+ export declare const progressStatusColor: (status: HysProgressStatus) => string;
76
+ export type ProgressPaint = {
77
+ color: string;
78
+ gradient?: {
79
+ stops: HysProgressGradientStop[];
80
+ angle: number;
81
+ };
82
+ };
83
+ export declare function progressPaint(color: HysProgressColor | undefined, value: number, fallback: string): ProgressPaint;
84
+ export declare function progressCssPaint(paint: ProgressPaint): string;
85
+ export declare function progressGradientCoordinates(degrees: number): {
86
+ x1: number;
87
+ y1: number;
88
+ x2: number;
89
+ y2: number;
90
+ };
91
+ export declare function progressArc(radius: number, start: number, degrees: number): string;
92
+ export declare const progressId: () => string;
@@ -0,0 +1,18 @@
1
+ import type { Component } from "vue";
2
+ export type HysRatingIcon = Component | string;
3
+ export type HysRatingLevels<T> = readonly T[] | Record<number, T | {
4
+ value: T;
5
+ excluded?: boolean;
6
+ }>;
7
+ export interface HysRatingInstance {
8
+ element: HTMLElement | undefined;
9
+ value: number;
10
+ hoverValue: number | null;
11
+ focus: (options?: FocusOptions) => void;
12
+ blur: () => void;
13
+ setValue: (value: number) => Promise<boolean>;
14
+ clear: () => Promise<boolean>;
15
+ setCurrentValue: (value: number) => void;
16
+ resetCurrentValue: () => void;
17
+ }
18
+ export declare function ratingLevel<T>(levels: HysRatingLevels<T> | undefined, value: number, low: number, high: number, fallback: T): T;
@@ -0,0 +1,15 @@
1
+ import type { Component, CSSProperties } from "vue";
2
+ import type { HysChoiceOption, HysChoiceValue } from "./choice";
3
+ export interface HysSegmentedOption<T extends HysChoiceValue = HysChoiceValue> extends HysChoiceOption<T> {
4
+ icon?: Component | string;
5
+ title?: string;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ }
9
+ export interface HysSegmentedInstance {
10
+ element: HTMLElement | undefined;
11
+ value: HysChoiceValue | null;
12
+ focus: (value?: HysChoiceValue) => void;
13
+ blur: () => void;
14
+ select: (value: HysChoiceValue) => Promise<boolean>;
15
+ }
@@ -0,0 +1,46 @@
1
+ export type HysSelectValue = string | number | boolean | Record<string, unknown>;
2
+ export type HysSelectModelValue = HysSelectValue | HysSelectValue[] | null;
3
+ export interface HysSelectOption {
4
+ label: string;
5
+ value: HysSelectValue;
6
+ disabled?: boolean;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface HysSelectGroup {
10
+ label: string;
11
+ options: HysSelectOption[];
12
+ disabled?: boolean;
13
+ [key: string]: unknown;
14
+ }
15
+ export type HysSelectDataOption = HysSelectOption | HysSelectGroup | Record<string, unknown>;
16
+ export interface HysSelectFieldNames {
17
+ label?: string;
18
+ value?: string;
19
+ options?: string;
20
+ disabled?: string;
21
+ }
22
+ export interface HysSelectSearchContext {
23
+ signal: AbortSignal;
24
+ }
25
+ export interface HysSelectInstance {
26
+ focus: () => void;
27
+ blur: () => void;
28
+ open: () => Promise<void>;
29
+ close: () => void;
30
+ scrollTo: (value: HysSelectValue) => void;
31
+ retry: () => void;
32
+ selectAll: () => number;
33
+ deselectAll: () => number;
34
+ selected: HysSelectOption[];
35
+ query: string;
36
+ isOpen: boolean;
37
+ }
38
+ export interface HysSelectRow {
39
+ key: string;
40
+ option?: HysSelectOption;
41
+ group?: string;
42
+ index: number;
43
+ created?: boolean;
44
+ }
45
+ export declare function selectKeyFactory(valueKey: () => string): (value: HysSelectValue) => string;
46
+ export declare function normalizeSelectOptions(options: readonly HysSelectDataOption[], names: HysSelectFieldNames, keyOf: (value: HysSelectValue) => string): HysSelectRow[];
@@ -0,0 +1,21 @@
1
+ import type { CSSProperties } from "vue";
2
+ export type HysSliderValue = number | [number, number];
3
+ export type HysSliderStep = number | "mark" | null;
4
+ export type HysSliderMarks = Record<number, string | {
5
+ label: string;
6
+ style?: CSSProperties;
7
+ }>;
8
+ export interface HysSliderDragInfo {
9
+ index: number;
10
+ track: boolean;
11
+ cancelled: boolean;
12
+ }
13
+ export interface HysSliderInstance {
14
+ element: HTMLElement | undefined;
15
+ dragging: boolean;
16
+ values: number[];
17
+ focus: (index?: number) => void;
18
+ blur: () => void;
19
+ setValue: (value: HysSliderValue) => void;
20
+ cancel: () => void;
21
+ }
@@ -0,0 +1,312 @@
1
+ import type { HysPopupTransition } from '../motion/popup';
2
+ import type { CSSProperties, HTMLAttributes, VNodeChild } from "vue";
3
+ import type { Placement } from "./useFloating";
4
+ export type HysTableKey = string | number;
5
+ export type HysTableDirection = "asc" | "desc";
6
+ export type HysTableFilterValue = string | number | boolean;
7
+ export type HysTableFilters = Record<string, readonly HysTableFilterValue[]>;
8
+ export interface HysTableSort {
9
+ key: string;
10
+ direction: HysTableDirection;
11
+ }
12
+ export interface HysTableSelectionProps {
13
+ disabled?: boolean;
14
+ label?: string;
15
+ title?: string;
16
+ }
17
+ export interface HysTableSelectionColumn {
18
+ label?: string;
19
+ width?: number;
20
+ fixed?: boolean | "left" | "right";
21
+ align?: "left" | "center" | "right";
22
+ }
23
+ export interface HysTableFilterConfirmOptions {
24
+ closeDropdown?: boolean;
25
+ }
26
+ export interface HysTableFilterResetOptions extends HysTableFilterConfirmOptions {
27
+ confirm?: boolean;
28
+ }
29
+ export interface HysTableScrollRowOptions {
30
+ behavior?: ScrollBehavior;
31
+ block?: "start" | "center" | "end" | "nearest";
32
+ }
33
+ export interface HysTableFilter {
34
+ label: string;
35
+ value: HysTableFilterValue;
36
+ disabled?: boolean;
37
+ children?: readonly HysTableFilter[];
38
+ }
39
+ export type HysTableElementAttrs = HTMLAttributes & Record<string, unknown>;
40
+ export type HysTablePaginationPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
41
+ export interface HysTableCellContext<T extends object = Record<string, unknown>> {
42
+ row: T;
43
+ column: HysTableColumn<T>;
44
+ value: unknown;
45
+ rowIndex: number;
46
+ columnIndex: number;
47
+ }
48
+ export interface HysTableColumn<T extends object = any> {
49
+ key: string;
50
+ label: string;
51
+ dataIndex?: string | readonly (string | number)[];
52
+ type?: "default" | "selection" | "index" | "expand";
53
+ children?: readonly HysTableColumn<T>[];
54
+ width?: string | number;
55
+ minWidth?: number;
56
+ maxWidth?: number;
57
+ fixed?: boolean | "left" | "right";
58
+ align?: "left" | "center" | "right";
59
+ headerAlign?: "left" | "center" | "right";
60
+ sortable?: boolean | "custom";
61
+ sorter?: (a: T, b: T) => number;
62
+ sortBy?: string | ((row: T) => unknown) | readonly (string | ((row: T) => unknown))[];
63
+ sortOrders?: readonly (HysTableDirection | null)[];
64
+ defaultSortOrder?: HysTableDirection;
65
+ sortPriority?: number;
66
+ filters?: readonly HysTableFilter[];
67
+ filterable?: boolean;
68
+ filterMultiple?: boolean;
69
+ filterMode?: "menu" | "tree";
70
+ filterSearch?: boolean | ((query: string, option: HysTableFilter) => boolean);
71
+ defaultFilterValue?: readonly HysTableFilterValue[];
72
+ filterResetToDefault?: boolean;
73
+ filterMethod?: (value: HysTableFilterValue, row: T, column: HysTableColumn<T>) => boolean;
74
+ formatter?: (row: T, column: HysTableColumn<T>, value: unknown, index: number) => VNodeChild;
75
+ ellipsis?: boolean;
76
+ showOverflowTooltip?: boolean;
77
+ tooltipFormatter?: (context: HysTableCellContext<T>) => VNodeChild;
78
+ className?: string;
79
+ headerClassName?: string;
80
+ cellStyle?: CSSProperties | ((context: HysTableCellContext<T>) => CSSProperties);
81
+ summary?: "sum" | "avg" | "min" | "max" | "count";
82
+ index?: number | ((index: number, row: T) => VNodeChild);
83
+ hidden?: boolean;
84
+ responsive?: readonly ("xs" | "sm" | "md" | "lg" | "xl" | "xxl")[];
85
+ resizable?: boolean;
86
+ rowScope?: "row" | "rowgroup";
87
+ customCell?: (context: HysTableCellContext<T>) => HysTableElementAttrs;
88
+ customHeaderCell?: (column: HysTableColumn<T>, index: number) => HysTableElementAttrs;
89
+ }
90
+ export interface HysTablePagination {
91
+ position?: readonly HysTablePaginationPosition[];
92
+ page?: number;
93
+ pageSize?: number;
94
+ total?: number;
95
+ pageSizeOptions?: number[];
96
+ showSizeChanger?: boolean;
97
+ showQuickJumper?: boolean;
98
+ showTotal?: boolean;
99
+ compact?: boolean;
100
+ hideOnSinglePage?: boolean;
101
+ }
102
+ export interface HysTableQuery<T extends object = Record<string, unknown>> {
103
+ action: "sort" | "filter" | "page" | "pageSize";
104
+ page: number;
105
+ pageSize: number;
106
+ sorts: HysTableSort[];
107
+ filters: HysTableFilters;
108
+ currentData: T[];
109
+ }
110
+ export interface HysTableLoadContext {
111
+ signal: AbortSignal;
112
+ key: HysTableKey;
113
+ depth: number;
114
+ }
115
+ export interface HysTableLocale {
116
+ emptyText: string;
117
+ loadingText: string;
118
+ selectAll: string;
119
+ selectRow: string;
120
+ expandRow: string;
121
+ collapseRow: string;
122
+ expand: string;
123
+ collapse: string;
124
+ filter: string;
125
+ filterPlaceholder: string;
126
+ reset: string;
127
+ apply: string;
128
+ retry: string;
129
+ retryLabel: string;
130
+ scrollLabel: string;
131
+ resizeColumn: string;
132
+ sortAsc: string;
133
+ sortDesc: string;
134
+ filterSearch?: string;
135
+ noFilterMatch?: string;
136
+ invertSelection?: string;
137
+ clearSelection?: string;
138
+ selected?: string;
139
+ paginationLabels?: Partial<{
140
+ total: string;
141
+ perPage: string;
142
+ jump: string;
143
+ page: string;
144
+ first: string;
145
+ previous: string;
146
+ next: string;
147
+ last: string;
148
+ }>;
149
+ }
150
+ export interface HysTableProps<T extends object> {
151
+ popupTransition?: HysPopupTransition;
152
+ popupTransitionDuration?: number;
153
+ locale?: Partial<HysTableLocale>;
154
+ columns: readonly HysTableColumn<T>[];
155
+ rows: readonly T[];
156
+ rowKey?: string | ((row: T) => HysTableKey);
157
+ emptyText?: string;
158
+ loading?: boolean;
159
+ disabled?: boolean;
160
+ striped?: boolean;
161
+ bordered?: boolean;
162
+ size?: "sm" | "md" | "lg";
163
+ tableLayout?: "auto" | "fixed";
164
+ caption?: string;
165
+ height?: number | string;
166
+ maxHeight?: number | string;
167
+ stickyHeader?: boolean;
168
+ showHeader?: boolean;
169
+ fit?: boolean;
170
+ scrollbarAlwaysOn?: boolean;
171
+ scrollbarTabindex?: number | string;
172
+ headerRowClassName?: string | ((columns: readonly HysTableColumn<T>[], level: number) => string);
173
+ headerRowStyle?: CSSProperties | ((columns: readonly HysTableColumn<T>[], level: number) => CSSProperties);
174
+ rowClassName?: string | ((row: T, index: number) => string);
175
+ rowStyle?: CSSProperties | ((row: T, index: number) => CSSProperties);
176
+ cellClassName?: string | ((context: HysTableCellContext<T>) => string);
177
+ cellStyle?: CSSProperties | ((context: HysTableCellContext<T>) => CSSProperties);
178
+ headerCellClassName?: string | ((column: HysTableColumn<T>, index: number) => string);
179
+ headerCellStyle?: CSSProperties | ((column: HysTableColumn<T>, index: number) => CSSProperties);
180
+ customRow?: (row: T, index: number) => HysTableElementAttrs;
181
+ customHeaderRow?: (columns: readonly HysTableColumn<T>[], index: number) => HysTableElementAttrs;
182
+ customCell?: (context: HysTableCellContext<T>) => HysTableElementAttrs;
183
+ customHeaderCell?: (column: HysTableColumn<T>, index: number) => HysTableElementAttrs;
184
+ selectable?: boolean | ((row: T, index: number) => boolean);
185
+ selectionType?: "checkbox" | "radio";
186
+ selectedRowKeys?: readonly HysTableKey[];
187
+ defaultSelectedRowKeys?: readonly HysTableKey[];
188
+ reserveSelection?: boolean;
189
+ checkStrictly?: boolean;
190
+ selectOnIndeterminate?: boolean;
191
+ selectionActions?: boolean;
192
+ rangeSelection?: boolean;
193
+ hideSelectAll?: boolean;
194
+ selectionColumn?: HysTableSelectionColumn;
195
+ getSelectionProps?: (row: T, index: number) => HysTableSelectionProps;
196
+ highlightCurrentRow?: boolean;
197
+ currentRowKey?: HysTableKey | null;
198
+ defaultCurrentRowKey?: HysTableKey;
199
+ showIndex?: boolean;
200
+ indexMethod?: (index: number, row: T) => VNodeChild;
201
+ sort?: HysTableSort | null;
202
+ sorts?: readonly HysTableSort[];
203
+ defaultSort?: HysTableSort | readonly HysTableSort[] | null;
204
+ multiSort?: boolean;
205
+ sortOrders?: readonly (HysTableDirection | null)[];
206
+ filters?: HysTableFilters;
207
+ defaultFilters?: HysTableFilters;
208
+ filterColumnKey?: string | null;
209
+ filterPlacement?: Placement;
210
+ appendFilterTo?: string | HTMLElement | false;
211
+ pagination?: boolean | HysTablePagination;
212
+ page?: number;
213
+ pageSize?: number;
214
+ total?: number;
215
+ serverMode?: boolean;
216
+ scrollToFirstRowOnChange?: boolean;
217
+ expandable?: boolean;
218
+ expandedRowKeys?: readonly HysTableKey[];
219
+ defaultExpandedRowKeys?: readonly HysTableKey[];
220
+ defaultExpandAll?: boolean;
221
+ rowExpandable?: (row: T) => boolean;
222
+ expandOnClickRow?: boolean;
223
+ showExpandColumn?: boolean;
224
+ expandColumnTitle?: string;
225
+ expandFixed?: boolean | "left" | "right";
226
+ preserveExpandedContent?: boolean;
227
+ treeMode?: boolean;
228
+ childrenKey?: string;
229
+ hasChildrenKey?: string;
230
+ indent?: number;
231
+ loadChildren?: (row: T, context: HysTableLoadContext) => readonly T[] | Promise<readonly T[]>;
232
+ showSummary?: boolean;
233
+ sumText?: string;
234
+ summaryMethod?: (context: {
235
+ columns: readonly HysTableColumn<T>[];
236
+ rows: T[];
237
+ }) => readonly VNodeChild[] | Record<string, VNodeChild>;
238
+ spanMethod?: (context: HysTableCellContext<T>) => {
239
+ rowspan?: number;
240
+ colspan?: number;
241
+ } | readonly [number, number] | undefined;
242
+ showOverflowTooltip?: boolean;
243
+ tooltipFormatter?: (context: HysTableCellContext<T>) => VNodeChild;
244
+ resizable?: boolean;
245
+ columnWidths?: Readonly<Record<string, number>>;
246
+ allowDragLastColumn?: boolean;
247
+ }
248
+ export interface HysTableInstance<T extends object = Record<string, unknown>> {
249
+ readonly element: HTMLElement | undefined;
250
+ readonly viewport: HTMLElement | undefined;
251
+ readonly selectedKeys: HysTableKey[];
252
+ readonly currentRow: T | undefined;
253
+ readonly expandedKeys: HysTableKey[];
254
+ readonly query: HysTableQuery<T>;
255
+ readonly columns: HysTableColumn<T>[];
256
+ clearSelection: () => Promise<boolean>;
257
+ getSelectionRows: () => T[];
258
+ getHalfSelectionRows: () => T[];
259
+ toggleRowSelection: (row: T | HysTableKey, selected?: boolean, range?: boolean) => Promise<boolean>;
260
+ toggleAllSelection: (selected?: boolean) => Promise<boolean>;
261
+ invertSelection: () => Promise<boolean>;
262
+ setCurrentRow: (row?: T | HysTableKey | null) => Promise<boolean>;
263
+ toggleRowExpansion: (row: T | HysTableKey, expanded?: boolean) => Promise<boolean>;
264
+ loadRow: (row: T | HysTableKey, force?: boolean) => Promise<boolean>;
265
+ updateKeyChildren: (row: T | HysTableKey, children: readonly T[]) => Promise<boolean>;
266
+ clearSort: () => void;
267
+ setSort: (sort: HysTableSort | readonly HysTableSort[] | null) => void;
268
+ clearFilter: (keys?: readonly string[]) => void;
269
+ setFilter: (key: string, values: readonly HysTableFilterValue[]) => void;
270
+ showFilter: (key: string) => Promise<boolean>;
271
+ hideFilter: () => Promise<boolean>;
272
+ setPage: (page: number) => void;
273
+ resizeColumn: (key: string, width: number) => void;
274
+ resetColumnWidths: () => void;
275
+ doLayout: () => Promise<void>;
276
+ scrollTo: (options: ScrollToOptions) => void;
277
+ setScrollTop: (top: number) => void;
278
+ setScrollLeft: (left: number) => void;
279
+ scrollToRow: (row: T | HysTableKey, options?: HysTableScrollRowOptions) => Promise<boolean>;
280
+ }
281
+ export interface TableNode<T extends object> {
282
+ row: T;
283
+ key: HysTableKey;
284
+ token: string;
285
+ index: number;
286
+ depth: number;
287
+ rootToken: string;
288
+ parent?: TableNode<T>;
289
+ children: TableNode<T>[];
290
+ lazy: boolean;
291
+ }
292
+ export interface TableHeader<T extends object> {
293
+ column: HysTableColumn<T>;
294
+ key: string;
295
+ leaves: HysTableColumn<T>[];
296
+ colspan: number;
297
+ rowspan: number;
298
+ fixed?: "left" | "right";
299
+ }
300
+ export declare const tableToken: (key: HysTableKey) => string;
301
+ export declare function tableValue(row: object, path: string | readonly (string | number)[]): unknown;
302
+ export declare const tableBreakpoint: (width: number) => "sm" | "md" | "lg" | "xs" | "xl" | "xxl";
303
+ export declare function tableColumns<T extends object>(input: readonly HysTableColumn<T>[], breakpoint: ReturnType<typeof tableBreakpoint>, showExpandColumn?: boolean): {
304
+ leaves: HysTableColumn<T>[];
305
+ headers: TableHeader<T>[][];
306
+ };
307
+ export declare function tableCompare<T extends object>(sorts: readonly HysTableSort[], columns: readonly HysTableColumn<T>[]): (a: T, b: T) => number;
308
+ export declare function tableMatches<T extends object>(row: T, filters: HysTableFilters, columns: readonly HysTableColumn<T>[]): boolean;
309
+ export declare function tableFilterPredicate<T extends object>(filters: HysTableFilters, columns: readonly HysTableColumn<T>[]): (row: T) => boolean;
310
+ /** Iterative traversal also tolerates accidentally cyclic filter definitions. */
311
+ export declare function tableFilterOptions(filters: readonly HysTableFilter[]): HysTableFilter[];
312
+ export declare function tableSummary<T extends object>(rows: readonly T[], column: HysTableColumn<T>): number | "" | "—";
@@ -0,0 +1,96 @@
1
+ import type { Component, VNodeChild } from "vue";
2
+ import type { HysPopupMotionProps } from "../motion/popup";
3
+ export type HysTagInputReason = "keyboard" | "blur" | "separator" | "paste" | "api";
4
+ export interface HysTagInputAddContext {
5
+ signal: AbortSignal;
6
+ values: readonly string[];
7
+ reason: HysTagInputReason;
8
+ }
9
+ export interface HysTagInputInvalid {
10
+ value: string;
11
+ reason: "duplicate" | "max" | "guard" | "error" | "maxlength" | "minlength";
12
+ error?: Error;
13
+ }
14
+ export interface HysTagInputProps extends HysPopupMotionProps {
15
+ modelValue?: readonly string[];
16
+ defaultValue?: readonly string[];
17
+ max?: number;
18
+ placeholder?: string;
19
+ disabled?: boolean;
20
+ readonly?: boolean;
21
+ size?: "sm" | "md" | "lg";
22
+ addOnBlur?: boolean;
23
+ separator?: string;
24
+ delimiters?: string | readonly string[] | RegExp;
25
+ trigger?: "Enter" | "Space" | "Tab" | readonly string[];
26
+ beforeAdd?: (value: string, context: HysTagInputAddContext) => boolean | void | Promise<boolean | void>;
27
+ allowDuplicates?: boolean;
28
+ caseSensitive?: boolean;
29
+ trim?: boolean;
30
+ clearable?: boolean;
31
+ clearIcon?: Component;
32
+ tagTone?: "primary" | "success" | "warning" | "danger" | "neutral";
33
+ tagEffect?: "light" | "dark" | "outline";
34
+ tagRound?: boolean;
35
+ draggable?: boolean;
36
+ collapseTags?: boolean;
37
+ maxCollapseTags?: number;
38
+ collapseTagsTooltip?: boolean;
39
+ overflowHeight?: number;
40
+ maxTagTextLength?: number;
41
+ maxlength?: number;
42
+ minlength?: number;
43
+ ariaLabel?: string;
44
+ label?: string;
45
+ name?: string;
46
+ form?: string;
47
+ autocomplete?: string;
48
+ autofocus?: boolean;
49
+ tabindex?: number;
50
+ status?: "error" | "warning" | "success";
51
+ error?: string;
52
+ validateEvent?: boolean;
53
+ inputProps?: Record<string, unknown>;
54
+ }
55
+ export interface HysTagInputSlotContext {
56
+ values: readonly string[];
57
+ draft: string;
58
+ disabled: boolean;
59
+ readonly: boolean;
60
+ pending: boolean;
61
+ add: (value?: string | string[]) => Promise<boolean>;
62
+ clear: () => Promise<boolean>;
63
+ }
64
+ export interface HysTagInputTagContext {
65
+ value: string;
66
+ index: number;
67
+ disabled: boolean;
68
+ readonly: boolean;
69
+ remove: () => Promise<boolean>;
70
+ }
71
+ export interface HysTagInputSlots {
72
+ tag?: (context: HysTagInputTagContext) => VNodeChild;
73
+ prefix?: (context: HysTagInputSlotContext) => VNodeChild;
74
+ suffix?: (context: HysTagInputSlotContext) => VNodeChild;
75
+ "clear-icon"?: (context: HysTagInputSlotContext) => VNodeChild;
76
+ "remove-icon"?: (context: HysTagInputTagContext) => VNodeChild;
77
+ "collapse-tag"?: (context: {
78
+ count: number;
79
+ values: readonly string[];
80
+ }) => VNodeChild;
81
+ }
82
+ export interface HysTagInputInstance {
83
+ readonly element: HTMLElement | undefined;
84
+ readonly input: HTMLInputElement | undefined;
85
+ readonly values: readonly string[];
86
+ readonly draft: string;
87
+ readonly pending: boolean;
88
+ focus: (options?: FocusOptions) => void;
89
+ blur: () => void;
90
+ add: (value?: string | string[]) => Promise<boolean>;
91
+ remove: (index: number) => Promise<boolean>;
92
+ clear: () => Promise<boolean>;
93
+ move: (from: number, to: number) => Promise<boolean>;
94
+ setDraft: (value: string) => void;
95
+ }
96
+ export declare function splitTags(value: string, separator?: string | readonly string[] | RegExp): string[];
@@ -0,0 +1,76 @@
1
+ import type { Component, InputHTMLAttributes, TextareaHTMLAttributes } from "vue";
2
+ export interface HysInputFormatInfo {
3
+ userTyping: boolean;
4
+ input: string;
5
+ }
6
+ export interface HysInputCountInfo {
7
+ value: string;
8
+ count: number;
9
+ maxLength?: number;
10
+ }
11
+ export type HysInputCountStrategy = boolean | ((value: string) => number);
12
+ export interface HysInputProps {
13
+ modelValue?: string | number | null;
14
+ defaultValue?: string | number | null;
15
+ placeholder?: string;
16
+ type?: string;
17
+ label?: string;
18
+ disabled?: boolean;
19
+ readonly?: boolean;
20
+ ariaLabel?: string;
21
+ error?: string;
22
+ status?: "error" | "warning" | "success";
23
+ clearable?: boolean;
24
+ clearIcon?: Component;
25
+ prefixIcon?: Component;
26
+ suffixIcon?: Component;
27
+ showPassword?: boolean;
28
+ showPasswordOn?: "click" | "mousedown";
29
+ passwordVisible?: boolean;
30
+ defaultPasswordVisible?: boolean;
31
+ showCount?: boolean | {
32
+ formatter: (info: HysInputCountInfo) => string;
33
+ };
34
+ showWordLimit?: boolean;
35
+ countPosition?: "inside" | "outside";
36
+ wordLimitPosition?: "inside" | "outside";
37
+ countGraphemes?: HysInputCountStrategy;
38
+ maxlength?: number | string;
39
+ minlength?: number | string;
40
+ formatter?: (value: string, info: HysInputFormatInfo) => string;
41
+ parser?: (value: string) => string | number;
42
+ allowInput?: (value: string) => boolean;
43
+ autocomplete?: string;
44
+ name?: string;
45
+ size?: "sm" | "md" | "lg";
46
+ rows?: number;
47
+ autosize?: boolean | {
48
+ minRows?: number;
49
+ maxRows?: number;
50
+ };
51
+ resize?: "none" | "both" | "horizontal" | "vertical";
52
+ inputProps?: InputHTMLAttributes | TextareaHTMLAttributes;
53
+ autofocus?: boolean;
54
+ selectOnFocus?: boolean;
55
+ bordered?: boolean;
56
+ round?: boolean;
57
+ }
58
+ export interface HysInputInstance {
59
+ input: HTMLInputElement | HTMLTextAreaElement | undefined;
60
+ textarea: HTMLTextAreaElement | undefined;
61
+ isComposing: boolean;
62
+ focus: (options?: FocusOptions) => void;
63
+ blur: () => void;
64
+ select: () => void;
65
+ clear: () => void;
66
+ resize: () => Promise<void>;
67
+ setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
68
+ scrollTo: (options: ScrollToOptions) => void;
69
+ }
70
+ export type HysTextareaProps = Omit<HysInputProps, 'type' | 'showPassword' | 'showPasswordOn' | 'passwordVisible' | 'defaultPasswordVisible'>;
71
+ export interface HysTextareaInstance extends Omit<HysInputInstance, 'input'> {
72
+ input: HTMLTextAreaElement | undefined;
73
+ }
74
+ export declare function textCount(value: string, strategy?: HysInputCountStrategy): number;
75
+ export declare function textLimit(value: string, max: number | undefined, strategy?: HysInputCountStrategy): string;
76
+ export declare function textLengthLimit(value?: string | number): number | undefined;