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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,154 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0
4
+
5
+ - DataGrid 支持受控查询、远程加载取消与重试、单选和多选、选择保留、自定义列字段与汇总,以及按行键滚动定位。树形行事件返回原始记录,列宽拖动按帧预览并在释放时保存,支持键盘调整和取消。TypeScript 模板引用可使用 `HysDataGridInstance`。
6
+
7
+ - VirtualTable 增加双向虚拟化、左右固定列与顶部固定行、容器测量、稳定排序、受控选择、键盘与实例定位、滚动追加、缓存恢复及自定义加载状态。滚动按帧合并,追加保留当前位置;保留原有表体高度和插槽约定。
8
+
9
+ - TagInput 补充非受控初值、分隔符与批量粘贴、可取消异步检查、受控拒绝处理、清空、标签外观与折叠虚拟列表、拖拽/键盘排序、表单与实例方法;ColorPicker 补充透明度、颜色格式与预设、预览确认、内嵌与受控浮层、自定义内容及表单集成,连续拖动缓存几何并按帧更新,释放时集中校验。保留原有默认行为并增加独立示例。
10
+
11
+ - Alert 补充外观、横幅、操作区、受控关闭、异步检查与退出完成事件;Empty 补充内置图形、图片回退及独立内容区;Timeline 补充双侧和交替布局、标签、节点、加载、字段映射与稳定排序。保留原有接口,完善缓存、动效及辅助技术处理,新增独立场景。
12
+ - Transfer 双击移动时阻止第二次按下产生文字选区,保留复选框、交互内容与快捷多选。
13
+
14
+ - Progress 增加仪表盘与缺口配置、函数/阈值/渐变颜色、已确认进度叠加、分段与精确部分段、尺寸和端点、文字与状态图标、条纹/进行中/不定进度、动效与辅助技术配置;保留原有 value 和默认显示,完善边界及缓存处理并新增独立示例。
15
+
16
+ - Upload 补充受控/初始文件列表、真实 multipart 与自定义请求、自动/手动提交、并发队列、按帧进度、取消和重试、异步验证及内容转换、移除检查、文本/图片/卡片列表、预览/下载、目录与粘贴、插槽和表单集成;保留原有本地选择模式与事件,完善缓存任务和本地 URL 清理,新增独立场景。
17
+
18
+ - Tooltip 与 Popover 补充受控/非受控显示、多种及组合触发、延迟与自动关闭、可移入内容、十二种定位、箭头与外观、独立参考元素、自定义挂载、内容保留及生命周期、键盘导航和实例操作;统一浮层清理并补充独立场景。
19
+ - 修复 Drawer 关闭拦截函数的运行时属性识别,保留回调类型兼容性。
20
+
21
+ - Drawer 补充受控及非受控显示、异步操作与关闭拦截、生命周期和内容挂载策略、独立滚动与分区布局、容器内展示、嵌套推移、全屏及透明度配置、方向动效、焦点管理与实例方法;新增按帧合并的四向边缘缩放、键盘调整、受控尺寸与取消回退,保留旧 close 事件用法。
22
+
23
+ - ContextMenu 补充多种触发方式、多级子菜单、分组与分隔线、复选/单选与普通项选中、受控状态、业务字段映射、模板、滚动边界和键盘/实例操作;Breadcrumb 增加图标、同级菜单、深层折叠、尺寸与文字截断及宿主路由适配,保留既有事件和默认行为。
24
+
25
+ - Transfer 支持 Ctrl/Cmd 逐项切换、Shift 鼠标/键盘范围选择,并补充默认关闭的 moveOnDoubleClick 双击移动参数与独立示例。
26
+
27
+ - Transfer 新增从源列表飞入目标列表的移动动效、落地高亮与效果/时长配置;覆盖按钮、拖拽和实例方法,限制可见代表项目数量,并清理连续移动、滚动和页面离开时的动画。
28
+
29
+ - Select 多选新增紧凑的全选/全不选工具栏、批量范围与文字配置、实例操作和批量事件;保留禁用值,遵守选择上限,支持筛选、远程结果、虚拟列表及键盘操作;多选默认折叠超过 3 个的标签,可显式设置 maxTagCount。
30
+
31
+ - 穿梭框拖拽目标去掉叠加的内阴影描边,保留单层高亮边框与背景反馈,避免滚动区域出现双重边线。
32
+
33
+ - 为选择、日期、补全、提及、颜色、提示、菜单及数据组件内的浮层统一增加可配置展开/收起动效与时长;补充交互示例,处理退出禁用、快速重开、减少动态效果、边缘定位和页面缓存清理。
34
+
35
+ - 修复 Chrome 中鼠标位于自适应高度表格时,纵向滚轮无法传给 Modal 等外层滚动容器的问题;保留表格横向滚动约束。
36
+
37
+ - Modal 拖拽采用按帧更新合成层位置,缓存手势边界并在结束后同步状态;默认柔和缩放,支持全屏/还原过渡及弹窗背景、遮罩的独立透明度,增加宽度预设与标题/底部分区尺寸,并优化缩放手柄及轻量拖动反馈。
38
+
39
+ - Modal 补充内置操作区、异步确认与取消、关闭拦截、失败重试、调用式服务、拖拽与尺寸调整、全屏切换、长内容滚动、快捷确认、挂载策略与焦点配置;统一嵌套层级、滚动锁定及子浮层清理,保留原有插槽和显示接口。
40
+
41
+ ## 0.2.0
42
+
43
+ - Table 补充布局与表头行样式、多字段排序、选择单元格定制、筛选浮层控制与连续应用、展开图标及操作列配置、手动更新子行和独立视口行定位;保留现有参数、事件与默认行为。
44
+ - 日期选择补充多周、周范围示例、跨年周与首周规则、整周校验与禁用、周编号模板及周起止元数据;面板与输入共用周规则。
45
+
46
+ - DatePicker 与 DateRangePicker 补充日期单位、多值与绑定类型、格式化输入、快捷项、禁用规则与时刻、双面板、开放和固定端点、草稿确认及实例方法;统一表单、键盘与主题交互,保留原有字符串和整体范围输入接口。
47
+
48
+ - Cascader 补充完整路径与末级值、业务字段及分支重复值、多选与严格选择、搜索校验、懒加载与取消重试、虚拟列、内嵌面板、模板和实例方法;统一标签、弹层、表单与键盘交互,并保留原有路径数组接口。
49
+
50
+ - 修复关闭动效或启用“减少动态效果”后,浮层的可见性出现逐层过渡、首次聚焦失败的问题。
51
+
52
+ - Table 补充可搜索菜单与树形筛选、默认筛选恢复、排序优先级、Shift 区间选择与当前页反选、分页位置与纵向滚动恢复、行与单元格属性回调及语义化行标题;批量选择仅作用于当前筛选结果。
53
+
54
+ - TreeSelect 补充真实层级展开、复选联动与回填策略、多选标签、数值编号和业务字段、扁平树、标签对象、远程搜索与懒加载、虚拟列表和实例方法;完善受控弹层焦点恢复、表单、主题与尺寸继承,并保留原有单选、多选接口。
55
+
56
+ - Tree 补充业务字段与数值编号、默认状态、勾选与半选 API、手风琴与点击展开、筛选模式、不可变节点编辑、拖放规则和悬停展开;完善异步取消、虚拟滚动、键盘与表单关联,保留原有选择和拖放接口。
57
+
58
+ - Transfer 补充双侧搜索与全选、受控勾选、目标排序、单向移除、字段映射、自定义面板、分页和虚拟滚动;保留拖拽动画与既有事件,完善表单关联、键盘操作和缓存清理。
59
+ - 修复表单失焦校验反馈使提交按钮在鼠标按下后移位、第一次点击无法提交的问题,保留键盘失焦校验和提交完整校验。
60
+
61
+ - Card 补充封面、操作分区、页签与骨架加载;Badge 补充角标位置、自定义内容、状态点和可选标签;Divider 与 Skeleton 扩展样式、模板及加载防闪烁控制。
62
+
63
+ - 扩展 Table 的分组与固定布局、排序筛选、选择与分页、展开与树形加载、汇总合并、列宽调整及溢出提示,补充事件、实例方法和独立示例,保留原有使用方式。
64
+
65
+ - DataGrid 列筛选支持再次点击当前搜索图标或按 Esc 收起,保留条件并恢复键盘焦点;修复普通表头覆盖左右固定表头的问题。
66
+
67
+ - 修复 Pagination 跳转数字输入框的内部高度,与页码、每页条数选择器和确认按钮统一为 32px,保留聚焦全选与键盘跳转。
68
+
69
+ - 修复 DataGrid 左右固定列的表头、汇总与悬停背景,使其与同一行的普通列一致并同步主题。
70
+
71
+ - Calendar 新增可配置月份切换动画、年视图、卡片模式、年月定位、范围限制、日期与月份插槽、跨日日程与溢出列表、本地化、键盘导航及实例方法,保留现有日期与事件接口。
72
+ - Select 选项浮层限制垂直占用,选项独立滚动,搜索区与底部内容保持可见;新增多选项示例。
73
+
74
+ - Add bounded Gantt undo/redo for accepted scheduling and dependency edits, with atomic replay, scoped shortcuts and external-update safety.
75
+ - Add dependency-order and invalid-data diagnostics, cycle detection, paged conflict inspection and incident-only drag previews.
76
+
77
+ - Use one shared Gantt scroll viewport for task names and timelines, with pinned date headers and task labels; prevent clipped rows and blank space after vertical scrolling.
78
+ - Add Gantt viewport height controls and multi-task scrolling examples; preserve horizontal fitting and center bars within configurable row heights.
79
+ - Add optional Gantt virtual rows and task-location methods, with bounded rendering, cached-page scroll restoration and independent large-data examples.
80
+ - Add pointer and keyboard dependency editing, edge selection/removal, cycle and permission checks, edge auto-scrolling and accepted-change events.
81
+ - Add resizable Gantt task columns with controlled widths, bounds, responsive timeline space, keyboard adjustments, cancellation and reset.
82
+ - Route backward Gantt dependencies through the row gap and keep a visible approach segment outside the target bar.
83
+ - Allow dragging or keyboard retargeting existing dependency endpoints, with atomic moves, validation, cancellation and accepted-move events.
84
+ - Clear Gantt edge selection when interacting with the surrounding chart, retaining endpoint editing and removal actions.
85
+ - Disambiguate shared dependency endpoints with named relation choices, one active drag handle and focused edge highlighting.
86
+ - Support clearing task selection through empty-chart clicks, Escape or a null model, with layered editing cancellation and accessible pressed states.
87
+ - Add compact, translucent dependency choices with search, direct removal, predecessor/successor location and endpoint-edit actions.
88
+
89
+ - Expand Rating with precise fractional display, custom level colors/icons, score/text templates, controlled hover previews, keyboard/RTL and form/reset integration.
90
+ - Expand Segmented with typed/mapped options, custom content, vertical/block/rounded layouts, animated selection, keyboard navigation and cached-page observer cleanup.
91
+ - Remove obsolete Gantt scale-button styles and keep segmented labels readable on their selected surfaces across themes.
92
+ - Add independent rating and segmented scenarios, public instance types and interaction guidance.
93
+
94
+ - Expand checkboxes with scalar/array values, mapped checked values, uncontrolled defaults, button/border variants and form reset behavior.
95
+ - Add CheckboxGroup and standalone Radio; support mapped/typed options, composed children, selection limits and bulk actions, keyboard navigation and native form values.
96
+ - Expand Switch with mapped values, sizes, inline text/icons, custom rails/thumbs and cancellation-aware async guards; retain change-only consumers and discard stale completions.
97
+ - Add independent choice-control scenarios and verify existing tree, permission and transfer integrations.
98
+
99
+ - Add Autocomplete with free text input, grouped/local/remote suggestions, mapped business fields, custom matching and cancellable debounced queries.
100
+ - Support custom input/option/loading/header/footer/clear content, retryable errors, keyboard preview and selection policies, controlled state and form integration.
101
+ - Add dedicated autocomplete scenarios, public TypeScript interfaces and input/async/accessibility guidance.
102
+ - Keep the documentation table of contents fixed during page transitions and asynchronous example loading, with independent scrolling for long navigation lists.
103
+
104
+ - Expand Avatar with icon/text/image types, image fit modes and source attributes, fallback sources/slots, loading hooks, responsive sizes and auto-fit text with configurable gaps.
105
+ - Add AvatarGroup for data/slot composition, shared sizes/shapes, overlap and vertical layouts, collapsed members, keyboard-accessible overflow panels and cached-page cleanup.
106
+ - Add independent avatar/group scenarios, public types and API guidance.
107
+
108
+ - Prevent slider tooltip clipping with independent, themed overlays, viewport edge shifting/flipping, long-text wrapping and scroll/resize positioning cleanup.
109
+ - Move slider handles and selected tracks through transforms; cache stable tooltip styles and dimensions and update tip positions in the handle's paint cycle.
110
+
111
+ - Replace native range inputs with custom pointer-driven slider tracks and accessible handles, including decimal-safe steps, ordered intervals, track dragging and keyboard controls.
112
+ - Add marks-only selection, stops, vertical/reverse layouts, size inheritance, tooltip/handle/mark slots, optional numeric editors and named form values.
113
+ - Clean active pointer listeners and animation frames on cancellation and cached-page leave; add dedicated slider scenarios and public instance types.
114
+
115
+ - Expand text inputs with custom clear/password icons, icon props, formatting/parsing, uncontrolled defaults, controlled password visibility and held-password cleanup.
116
+ - Share Input textarea mode and standalone Textarea behavior, with bounded autosize, width/size remeasurement, native form values, composition-safe updates and public instance methods.
117
+ - Add UTF-16, grapheme and custom length strategies, safe truncation, inside/outside counters, custom count output and independent examples for each input capability.
118
+ - Prevent stale text from reappearing when an input clear and form reset occur in the same event.
119
+ - Use descriptive documentation scenario titles, improve composed select/input styles and isolate transient password preview behavior from published controls.
120
+
121
+ - Expand number inputs with nullable/uncontrolled values, clear policies, decimal-safe steps, bounded strict grids and exact string-mode values.
122
+ - Add display formatting/parsing, decimal separators, input filtering, synchronous validation and configurable draft/live updates.
123
+ - Add stacked right controls, affix/icon slots, loading states, keyboard policies, opt-in wheel adjustment and held-button stepping with cached-page cleanup.
124
+ - Preserve form feedback, native field submission and reset behavior; add public number types, instance methods and independent numeric scenarios.
125
+
126
+ - Expand select values to numbers, booleans and stable-key objects, with configurable empty/clear values, groups and business-field mappings.
127
+ - Add removable/collapsed tags, selection limits, created options, separator input, controlled open/search state and richer slots/events.
128
+ - Add cancellable/debounced remote methods with retry, bounded virtual lists, page navigation, typeahead and native form submission fields.
129
+ - Preserve wrapping-label activation, form feedback, theme and size inheritance; clean remote requests and popup observers on cached-page leave.
130
+ - Add independent select scenes and public type/keyboard/remote-search notes.
131
+
132
+ - Add shared automatic label alignment, responsive field columns, 24-column label/control layouts and inline forms.
133
+ - Add label suffixes, wrapping, optional markers, tooltip/help/extra content, inherited icons and inline feedback.
134
+ - Add snapshot reads, partial writes, server feedback arrays, configurable reset baselines, callback validation and imperative submit.
135
+ - Add per-field first-error policy, callback validators, transformed nested/member rules and conditional data preservation.
136
+ - Add accessible grouped controls, a public custom-control context hook and layout observer cleanup for cached pages.
137
+ - Add independent scenarios for complete forms, query filters, alignment, grids, numeric validation, policies, record hydration and accessibility.
138
+
139
+ - Add typed and nested form rules, warning-only feedback, field dependencies, partial validation/reset and structured results.
140
+ - Add field lookup/focus/scroll methods, initial-value capture, rule-change checks, label/feedback slots and inherited layout settings.
141
+ - Cancel stale form checks and submissions on reset, clear, disable and cached-page leave; provide AbortSignal to custom validators.
142
+ - Propagate form and field disabled/size settings to inputs, selectors, buttons and related controls, including teleported panels.
143
+ - Keep select option rows, search fields and icons aligned with the effective control size, including live changes while the popup is open.
144
+ - Add practical form scenarios for dynamic rows, nested values, cross-field checks, asynchronous cancellation and field methods.
145
+
146
+ - Expand tabs with placements, presentation styles, numeric values, dynamic actions, asynchronous guards, panel lifecycle options and overflow navigation.
147
+ - Add stable accordion keys, keyboard navigation, configurable trigger areas, panel lifecycle options, guarded expansion and extra content slots.
148
+ - Add per-step status, subtitles, custom content, compact/dot layouts and responsive keyboard navigation.
149
+ - Add breadcrumb label slots, per-item separators, disabled links and safe external-link attributes.
150
+ - Expand navigation examples and regression coverage for state preservation, rapid input, guard failures and cached-page cleanup.
151
+
3
152
  ## 0.1.1
4
153
 
5
154
  - Center toast messages at the top by default and add seven placement options.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  面向 Vue 3.5+ 的组件库,提供 TypeScript 类型、主题配置和独立的中文交互文档。
4
4
 
5
+ [在线文档与交互示例](https://lampo1024.github.io/hys-ui/)
6
+
5
7
  ## 安装
6
8
 
7
9
  ```bash
@@ -37,6 +39,20 @@ provideHysConfig({ theme, motion: 'subtle' })
37
39
 
38
40
  可以使用 `--hys-ui-primary`、`--hys-ui-surface`、`--hys-ui-text`、`--hys-ui-border`、`--hys-ui-font-family` 等公开变量覆盖组件外观。组件类名与变量采用独立前缀,没有 body/html 全局重置。
39
41
 
42
+
43
+ 浮层组件统一通过 `popupTransition` 设置展开与收起动效:`scale`(默认柔和缩放)、`fade`(淡入淡出)、`slide`(轻移)、`slide-fade`(轻移缩放)、`none`(关闭)。`popupTransitionDuration` 设置时长,默认 160ms,设为 0 立即切换。该配置适用于选择、日期、自动补全、提及、颜色、提示、菜单,以及表格、树形、头像组、日历事件和甘特图关系等浮层。Modal、Drawer 和 Toast 保留各自的动画配置。
44
+
45
+ ```vue
46
+ <HysSelect
47
+ v-model="value"
48
+ :options="options"
49
+ popup-transition="slide-fade"
50
+ :popup-transition-duration="200"
51
+ />
52
+ ```
53
+
54
+ 系统减少动态效果和 `motion: 'off'` 优先于局部设置;内嵌日期面板不播放浮层动效。动画仅改变透明度和合成层变换,关闭时立即停止交互,退出完成后移除内容。
55
+
40
56
  ## 开发与文档
41
57
 
42
58
  ```bash
@@ -77,7 +93,7 @@ task.update({ type: 'success', message: '上传完成', duration: 2000 })
77
93
 
78
94
  ## 发布
79
95
 
80
- 根工作区和文档应用为私有,npm 包名为 `hys-ui`,版本 `0.1.1`,MIT 公开发布。
96
+ 根工作区和文档应用为私有,npm 包名为 `hys-ui`,版本 `0.3.0`,MIT 公开发布。
81
97
 
82
98
  ```bash
83
99
  npm run pack:ui
@@ -1,7 +1,7 @@
1
1
  import o from "./HysAccordion2.vue.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-fe782734"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-f780bc57"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1,65 +1,199 @@
1
- import { defineComponent as V, ref as k, computed as A, useId as C, openBlock as c, createElementBlock as u, mergeProps as B, unref as l, Fragment as N, renderList as _, createElementVNode as p, renderSlot as b, createTextVNode as y, toDisplayString as v, createVNode as $, createCommentVNode as D } from "vue";
2
- import { useHysRootAttrs as E } from "../../config.js";
3
- import { ChevronDown as H } from "lucide-vue-next";
4
- const R = ["id", "disabled", "aria-expanded", "aria-controls", "onClick"], S = ["id", "aria-labelledby"], L = /* @__PURE__ */ V({
1
+ import { defineComponent as j, ref as S, useId as G, computed as J, watch as D, onActivated as Q, onDeactivated as W, onBeforeUnmount as X, openBlock as h, createElementBlock as f, mergeProps as Y, unref as n, Fragment as Z, renderList as x, createElementVNode as p, normalizeClass as z, createBlock as _, resolveDynamicComponent as ee, withCtx as O, renderSlot as A, createTextVNode as P, toDisplayString as R, createVNode as E, createCommentVNode as V, Transition as ae, withDirectives as oe, vShow as te } from "vue";
2
+ import { ChevronDown as U } from "lucide-vue-next";
3
+ import { useHysRootAttrs as re } from "../../config.js";
4
+ import { useMotion as ie } from "../../motion/useMotion.js";
5
+ const le = { class: "hys-ui-accordion-title-content" }, de = {
6
+ key: 0,
7
+ class: "hys-ui-accordion-icon",
8
+ "aria-hidden": "true"
9
+ }, se = ["data-accordion-index", "disabled", "aria-label", "aria-expanded", "aria-controls", "aria-busy", "onClick", "onKeydown"], ne = {
10
+ key: 1,
11
+ class: "hys-ui-accordion-extra"
12
+ }, ce = ["id", "aria-labelledby"], ue = { class: "hys-ui-accordion-clip" }, he = { class: "hys-ui-ex-accordion-body" }, be = /* @__PURE__ */ j({
5
13
  __name: "HysAccordion",
6
14
  props: {
7
15
  items: {},
8
16
  multiple: { type: Boolean },
9
17
  modelValue: {},
10
18
  defaultActive: {},
11
- disabled: { type: Boolean }
19
+ disabled: { type: Boolean },
20
+ bordered: { type: Boolean, default: !0 },
21
+ ghost: { type: Boolean },
22
+ size: { default: "md" },
23
+ arrowPlacement: { default: "right" },
24
+ showArrow: { type: Boolean, default: !0 },
25
+ trigger: { default: "header" },
26
+ lazy: { type: Boolean, default: !0 },
27
+ destroyOnHide: { type: Boolean, default: !0 },
28
+ beforeToggle: {}
12
29
  },
13
- emits: ["update:modelValue", "change"],
14
- setup(i, { emit: f }) {
15
- const h = E(), a = i, d = f, m = k(a.defaultActive || []), r = A(() => a.modelValue ?? m.value), s = C();
16
- function g(t) {
17
- var o;
18
- if (a.disabled || (o = a.items[t]) != null && o.disabled) return;
19
- const n = r.value.includes(t) ? r.value.filter((e) => e !== t) : a.multiple ? [...r.value, t] : [t];
20
- m.value = n, d("update:modelValue", n), d("change", n);
30
+ emits: ["update:modelValue", "change", "itemClick", "guardError"],
31
+ setup(t, { emit: q }) {
32
+ const r = t, C = q, F = re(), { effectiveMotion: M } = ie(), H = S([...r.defaultActive ?? []]), T = S(), b = G(), s = (a) => {
33
+ var i;
34
+ return ((i = r.items[a]) == null ? void 0 : i.id) ?? a;
35
+ }, c = J(() => {
36
+ const a = new Set(r.items.map((o, e) => s(e))), i = [...new Set(r.modelValue ?? H.value)].filter((o) => a.has(o));
37
+ return r.multiple ? i : i.slice(0, 1);
38
+ }), B = S(/* @__PURE__ */ new Set()), y = S();
39
+ let m = 0, v = !0;
40
+ const l = (a) => c.value.includes(s(a)), I = (a, i) => a.forceRender || l(i) || !r.destroyOnHide && (!r.lazy || B.value.has(s(i))), L = (a) => r.trigger === "icon" || (a.showArrow ?? r.showArrow);
41
+ function w() {
42
+ m++, y.value = void 0;
21
43
  }
22
- return (t, n) => (c(), u("div", B(l(h), { class: "hys-ui-ex-accordion" }), [
23
- (c(!0), u(N, null, _(i.items, (o, e) => (c(), u("section", { key: e }, [
24
- p("h3", null, [
25
- p("button", {
26
- id: l(s) + "-button-" + e,
44
+ async function K(a) {
45
+ const i = r.items[a], o = s(a), e = ++m;
46
+ if (y.value = void 0, !v || r.disabled || !i || i.disabled) return;
47
+ const d = !c.value.includes(o), k = [...c.value];
48
+ C("itemClick", o, d);
49
+ try {
50
+ if (r.beforeToggle && (y.value = o, await r.beforeToggle(o, d) === !1) || !v || e !== m || r.disabled || r.items[a] !== i || i.disabled || k.length !== c.value.length || k.some((g, $) => g !== c.value[$])) return;
51
+ const u = d ? r.multiple ? [...c.value, o] : [o] : c.value.filter((g) => g !== o);
52
+ y.value = void 0, H.value = u, C("update:modelValue", u), C("change", u);
53
+ } catch (u) {
54
+ v && e === m && C("guardError", u);
55
+ } finally {
56
+ e === m && (y.value = void 0);
57
+ }
58
+ }
59
+ function N(a, i) {
60
+ var k, u;
61
+ if (!["ArrowDown", "ArrowUp", "Home", "End"].includes(a.key)) return;
62
+ const o = r.items.map((g, $) => !r.disabled && !g.disabled ? $ : -1).filter((g) => g >= 0);
63
+ if (!o.length) return;
64
+ a.preventDefault();
65
+ const e = o.indexOf(i), d = a.key === "Home" ? 0 : a.key === "End" ? o.length - 1 : (e + (a.key === "ArrowUp" ? -1 : 1) + o.length) % o.length;
66
+ (u = (k = T.value) == null ? void 0 : k.querySelector('[data-accordion-index="' + o[d] + '"]')) == null || u.focus();
67
+ }
68
+ return D(c, (a) => {
69
+ a.forEach((i) => B.value.add(i)), w();
70
+ }, { immediate: !0 }), D(() => r.items.map((a) => [a.id, a.disabled]), () => {
71
+ w();
72
+ const a = new Set(r.items.map((i, o) => s(o)));
73
+ B.value = new Set([...B.value].filter((i) => a.has(i)));
74
+ }, { deep: !0 }), D(() => r.disabled, w), Q(() => {
75
+ v = !0;
76
+ }), W(() => {
77
+ v = !1, w();
78
+ }), X(() => {
79
+ v = !1, w();
80
+ }), (a, i) => (h(), f("div", Y({
81
+ ref_key: "root",
82
+ ref: T
83
+ }, n(F), {
84
+ class: ["hys-ui-ex-accordion", ["hys-ui-accordion-size-" + t.size, { "hys-ui-accordion-borderless": !t.bordered, "hys-ui-accordion-ghost": t.ghost }]]
85
+ }), [
86
+ (h(!0), f(Z, null, x(t.items, (o, e) => (h(), f("section", {
87
+ key: typeof s(e) + ":" + s(e),
88
+ class: "hys-ui-accordion-item"
89
+ }, [
90
+ p("div", {
91
+ class: z(["hys-ui-accordion-heading", { "hys-ui-accordion-arrow-left": t.arrowPlacement === "left", "hys-ui-accordion-disabled": t.disabled || o.disabled }])
92
+ }, [
93
+ p("h3", null, [
94
+ (h(), _(ee(t.trigger === "header" ? "button" : "span"), {
95
+ id: n(b) + "-button-" + e,
96
+ type: t.trigger === "header" ? "button" : void 0,
97
+ class: z({ "hys-ui-accordion-trigger": t.trigger === "header", "hys-ui-accordion-title": !0 }),
98
+ "data-accordion-index": t.trigger === "header" ? e : void 0,
99
+ disabled: t.trigger === "header" ? t.disabled || o.disabled : void 0,
100
+ "aria-expanded": t.trigger === "header" ? l(e) : void 0,
101
+ "aria-controls": t.trigger === "header" ? n(b) + "-panel-" + e : void 0,
102
+ "aria-busy": t.trigger === "header" && y.value === s(e) || void 0,
103
+ onClick: (d) => t.trigger === "header" && K(e),
104
+ onKeydown: (d) => t.trigger === "header" && N(d, e)
105
+ }, {
106
+ default: O(() => [
107
+ p("span", le, [
108
+ A(a.$slots, "title", {
109
+ item: o,
110
+ index: e,
111
+ expanded: l(e)
112
+ }, () => [
113
+ P(R(o.title), 1)
114
+ ], !0)
115
+ ]),
116
+ t.trigger === "header" && L(o) ? (h(), f("span", de, [
117
+ A(a.$slots, "icon", {
118
+ item: o,
119
+ index: e,
120
+ expanded: l(e)
121
+ }, () => [
122
+ E(n(U), {
123
+ size: 16,
124
+ class: z(["hys-ui-accordion-chevron", { "hys-ui-accordion-expanded": l(e) }])
125
+ }, null, 8, ["class"])
126
+ ], !0)
127
+ ])) : V("", !0)
128
+ ]),
129
+ _: 2
130
+ }, 1064, ["id", "type", "class", "data-accordion-index", "disabled", "aria-expanded", "aria-controls", "aria-busy", "onClick", "onKeydown"]))
131
+ ]),
132
+ t.trigger === "icon" ? (h(), f("button", {
133
+ key: 0,
27
134
  type: "button",
28
- disabled: i.disabled || o.disabled,
29
- "aria-expanded": r.value.includes(e),
30
- "aria-controls": l(s) + "-panel-" + e,
31
- onClick: (w) => g(e)
135
+ class: "hys-ui-accordion-trigger hys-ui-accordion-icon-trigger",
136
+ "data-accordion-index": e,
137
+ disabled: t.disabled || o.disabled,
138
+ "aria-label": (l(e) ? "收起" : "展开") + o.title,
139
+ "aria-expanded": l(e),
140
+ "aria-controls": n(b) + "-panel-" + e,
141
+ "aria-busy": y.value === s(e) || void 0,
142
+ onClick: (d) => K(e),
143
+ onKeydown: (d) => N(d, e)
32
144
  }, [
33
- b(t.$slots, "title", {
145
+ A(a.$slots, "icon", {
34
146
  item: o,
35
- index: e
147
+ index: e,
148
+ expanded: l(e)
36
149
  }, () => [
37
- y(v(o.title), 1)
38
- ], !0),
39
- $(l(H), {
40
- size: 16,
41
- class: "hys-ui-accordion-chevron"
42
- })
43
- ], 8, R)
44
- ]),
45
- r.value.includes(e) ? (c(), u("div", {
46
- key: 0,
47
- id: l(s) + "-panel-" + e,
48
- role: "region",
49
- "aria-labelledby": l(s) + "-button-" + e,
50
- class: "hys-ui-ex-accordion-body"
51
- }, [
52
- b(t.$slots, "content", {
53
- item: o,
54
- index: e
55
- }, () => [
56
- y(v(o.content), 1)
57
- ], !0)
58
- ], 8, S)) : D("", !0)
150
+ E(n(U), {
151
+ size: 16,
152
+ class: z(["hys-ui-accordion-chevron", { "hys-ui-accordion-expanded": l(e) }])
153
+ }, null, 8, ["class"])
154
+ ], !0)
155
+ ], 40, se)) : V("", !0),
156
+ a.$slots.extra ? (h(), f("div", ne, [
157
+ A(a.$slots, "extra", {
158
+ item: o,
159
+ index: e,
160
+ expanded: l(e)
161
+ }, void 0, !0)
162
+ ])) : V("", !0)
163
+ ], 2),
164
+ E(ae, {
165
+ name: "hys-ui-accordion",
166
+ css: n(M) !== "off"
167
+ }, {
168
+ default: O(() => [
169
+ I(o, e) ? oe((h(), f("div", {
170
+ key: 0,
171
+ id: n(b) + "-panel-" + e,
172
+ role: "region",
173
+ "aria-labelledby": n(b) + "-button-" + e,
174
+ class: "hys-ui-accordion-panel"
175
+ }, [
176
+ p("div", ue, [
177
+ p("div", he, [
178
+ A(a.$slots, "content", {
179
+ item: o,
180
+ index: e,
181
+ expanded: l(e)
182
+ }, () => [
183
+ P(R(o.content), 1)
184
+ ], !0)
185
+ ])
186
+ ])
187
+ ], 8, ce)), [
188
+ [te, l(e)]
189
+ ]) : V("", !0)
190
+ ]),
191
+ _: 2
192
+ }, 1032, ["css"])
59
193
  ]))), 128))
60
194
  ], 16));
61
195
  }
62
196
  });
63
197
  export {
64
- L as default
198
+ be as default
65
199
  };
@@ -1,56 +1,7 @@
1
- import { defineComponent as b, ref as k, computed as C, watch as g, openBlock as o, createElementBlock as s, mergeProps as B, unref as t, createBlock as w, resolveDynamicComponent as A, createCommentVNode as l, createElementVNode as c, renderSlot as u, createTextVNode as d, toDisplayString as m, createVNode as N } from "vue";
2
- import { useHysRootAttrs as V } from "../../config.js";
3
- import { CircleCheck as I, TriangleAlert as $, CircleAlert as p, Info as x, X as z } from "lucide-vue-next";
4
- const D = ["role"], E = { key: 0 }, j = /* @__PURE__ */ b({
5
- __name: "HysAlert",
6
- props: {
7
- tone: { default: "info" },
8
- title: {},
9
- description: {},
10
- closable: { type: Boolean },
11
- showIcon: { type: Boolean },
12
- center: { type: Boolean },
13
- visible: { type: Boolean, default: void 0 }
14
- },
15
- emits: ["close", "update:visible"],
16
- setup(e, { emit: y }) {
17
- const f = V(), r = e, a = y, n = k(!0), v = C(() => r.visible ?? n.value);
18
- g(() => r.title, () => n.value = !0);
19
- function h() {
20
- n.value = !1, a("update:visible", !1), a("close");
21
- }
22
- return (i, H) => v.value ? (o(), s("div", B({ key: 0 }, t(f), {
23
- class: ["hys-ui-ex-alert", "hys-ui-ex-" + e.tone],
24
- role: e.tone === "danger" ? "alert" : "status",
25
- style: { justifyContent: e.center ? "center" : void 0 }
26
- }), [
27
- e.showIcon ? (o(), w(A(e.tone === "success" ? t(I) : e.tone === "warning" ? t($) : e.tone === "danger" ? t(p) : t(x)), {
28
- key: 0,
29
- size: 18
30
- })) : l("", !0),
31
- c("div", null, [
32
- e.title || i.$slots.title ? (o(), s("strong", E, [
33
- u(i.$slots, "title", {}, () => [
34
- d(m(e.title), 1)
35
- ])
36
- ])) : l("", !0),
37
- c("div", null, [
38
- u(i.$slots, "default", {}, () => [
39
- d(m(e.description), 1)
40
- ])
41
- ])
42
- ]),
43
- e.closable ? (o(), s("button", {
44
- key: 1,
45
- type: "button",
46
- "aria-label": "关闭提示",
47
- onClick: h
48
- }, [
49
- N(t(z), { size: 14 })
50
- ])) : l("", !0)
51
- ], 16, D)) : l("", !0);
52
- }
53
- });
1
+ import o from "./HysAlert2.vue.js";
2
+ /* empty css */
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-aa88a78b"]]);
54
5
  export {
55
- j as default
6
+ p as default
56
7
  };