hys-ui 0.1.0 → 0.2.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 (247) hide show
  1. package/CHANGELOG.md +137 -1
  2. package/README.md +18 -6
  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 +14 -14
  6. package/dist/components/HysAnimatedNumber/HysAnimatedNumber.vue.js +23 -20
  7. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +7 -0
  8. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +627 -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 +252 -0
  13. package/dist/components/HysBadge/HysBadge.vue.js +2 -2
  14. package/dist/components/HysBadge/HysBadge2.vue.js +154 -26
  15. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +5 -38
  16. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +74 -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 -84
  20. package/dist/components/HysCalendar/HysCalendar2.vue.js +803 -2
  21. package/dist/components/HysCard/HysCard.vue.js +1 -1
  22. package/dist/components/HysCard/HysCard2.vue.js +177 -44
  23. package/dist/components/HysCascader/HysCascader.vue.js +5 -182
  24. package/dist/components/HysCascader/HysCascader2.vue.js +760 -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 +5 -39
  28. package/dist/components/HysCheckbox/HysCheckbox2.vue.js +200 -2
  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/HysColorPicker.vue.js +2 -2
  32. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +107 -106
  33. package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +52 -51
  34. package/dist/components/HysCommentEditor/HysCommentEditor.vue.js +17 -17
  35. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  36. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +397 -390
  37. package/dist/components/HysDatePicker/HysDatePicker.vue.js +268 -139
  38. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +7 -0
  39. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +807 -0
  40. package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +7 -0
  41. package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +357 -0
  42. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +268 -158
  43. package/dist/components/HysDivider/HysDivider.vue.js +2 -2
  44. package/dist/components/HysDivider/HysDivider2.vue.js +33 -13
  45. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  46. package/dist/components/HysDrawer/HysDrawer2.vue.js +55 -54
  47. package/dist/components/HysFileManager/HysFileManager.vue.js +5 -63
  48. package/dist/components/HysFileManager/HysFileManager2.vue.js +86 -2
  49. package/dist/components/HysForm/HysForm.vue.js +3 -3
  50. package/dist/components/HysForm/HysForm2.vue.js +580 -92
  51. package/dist/components/HysFormItem/HysFormItem.vue.js +5 -69
  52. package/dist/components/HysFormItem/HysFormItem2.vue.js +521 -2
  53. package/dist/components/HysGantt/HysGantt.vue.js +5 -264
  54. package/dist/components/HysGantt/HysGantt2.vue.js +1399 -2
  55. package/dist/components/HysInput/HysInput.vue.js +2 -2
  56. package/dist/components/HysInput/HysInput2.vue.js +468 -120
  57. package/dist/components/HysMention/HysMention.vue.js +2 -2
  58. package/dist/components/HysMention/HysMention2.vue.js +89 -88
  59. package/dist/components/HysModal/HysModal.vue.js +2 -2
  60. package/dist/components/HysModal/HysModal2.vue.js +35 -35
  61. package/dist/components/HysNotificationCenter/HysNotificationCenter.vue.js +37 -36
  62. package/dist/components/HysNumberInput/HysNumberInput.vue.js +2 -2
  63. package/dist/components/HysNumberInput/HysNumberInput2.vue.js +561 -70
  64. package/dist/components/HysOrgTree/HysOrgTree.vue.js +41 -36
  65. package/dist/components/HysPagination/HysPagination.vue.js +2 -2
  66. package/dist/components/HysPagination/HysPagination2.vue.js +93 -91
  67. package/dist/components/HysPermissionMatrix/HysPermissionMatrix.vue.js +5 -41
  68. package/dist/components/HysPermissionMatrix/HysPermissionMatrix2.vue.js +101 -2
  69. package/dist/components/HysRadio/HysRadio.vue.js +7 -0
  70. package/dist/components/HysRadio/HysRadio2.vue.js +180 -0
  71. package/dist/components/HysRadioGroup/HysRadioGroup.vue.js +5 -40
  72. package/dist/components/HysRadioGroup/HysRadioGroup2.vue.js +205 -2
  73. package/dist/components/HysRating/HysRating.vue.js +1 -1
  74. package/dist/components/HysRating/HysRating2.vue.js +288 -68
  75. package/dist/components/HysResizablePanel/HysResizablePanel.vue.js +46 -28
  76. package/dist/components/HysRichTextEditor/HysRichTextEditor.vue.js +2 -2
  77. package/dist/components/HysRichTextEditor/HysRichTextEditor2.vue.js +87 -67
  78. package/dist/components/HysSearch/HysSearch.vue.js +50 -38
  79. package/dist/components/HysSegmented/HysSegmented.vue.js +5 -58
  80. package/dist/components/HysSegmented/HysSegmented2.vue.js +273 -2
  81. package/dist/components/HysSelect/HysSelect.vue.js +3 -2
  82. package/dist/components/HysSelect/HysSelect2.vue.js +859 -164
  83. package/dist/components/HysSkeleton/HysSkeleton.vue.js +2 -2
  84. package/dist/components/HysSkeleton/HysSkeleton2.vue.js +126 -29
  85. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  86. package/dist/components/HysSlider/HysSlider2.vue.js +532 -59
  87. package/dist/components/HysSlider/SliderTooltip.vue.js +7 -0
  88. package/dist/components/HysSlider/SliderTooltip2.vue.js +156 -0
  89. package/dist/components/HysSplitPane/HysSplitPane.vue.js +48 -42
  90. package/dist/components/HysSteps/HysSteps.vue.js +2 -2
  91. package/dist/components/HysSteps/HysSteps2.vue.js +111 -36
  92. package/dist/components/HysSwitch/HysSwitch.vue.js +2 -2
  93. package/dist/components/HysSwitch/HysSwitch2.vue.js +235 -42
  94. package/dist/components/HysTable/HysTable.vue.js +1 -1
  95. package/dist/components/HysTable/HysTable2.vue.js +1471 -82
  96. package/dist/components/HysTable/HysTableFilterOptions.vue.js +7 -0
  97. package/dist/components/HysTable/HysTableFilterOptions2.vue.js +133 -0
  98. package/dist/components/HysTabs/HysTabs.vue.js +2 -2
  99. package/dist/components/HysTabs/HysTabs2.vue.js +262 -66
  100. package/dist/components/HysTagInput/HysTagInput.vue.js +43 -42
  101. package/dist/components/HysTextarea/HysTextarea.vue.js +137 -66
  102. package/dist/components/HysToast/HysToast.vue.js +2 -2
  103. package/dist/components/HysToast/HysToast2.vue.js +121 -38
  104. package/dist/components/HysTour/HysTour.vue.js +47 -42
  105. package/dist/components/HysTransfer/HysTransfer.vue.js +5 -207
  106. package/dist/components/HysTransfer/HysTransfer2.vue.js +416 -2
  107. package/dist/components/HysTransfer/HysTransferPanel.vue.js +7 -0
  108. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +454 -0
  109. package/dist/components/HysTree/HysTree.vue.js +2 -3
  110. package/dist/components/HysTree/HysTree2.vue.js +641 -301
  111. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +5 -129
  112. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +558 -2
  113. package/dist/components/HysTreeSelect/HysTreeSelectPanel.vue.js +7 -0
  114. package/dist/components/HysTreeSelect/HysTreeSelectPanel2.vue.js +323 -0
  115. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  116. package/dist/components/HysUpload/HysUpload2.vue.js +97 -78
  117. package/dist/composables/autocomplete.js +50 -0
  118. package/dist/composables/avatar.js +57 -0
  119. package/dist/composables/calendar.js +96 -0
  120. package/dist/composables/cascader.js +79 -0
  121. package/dist/composables/choice.js +38 -0
  122. package/dist/composables/choiceModel.js +67 -0
  123. package/dist/composables/datePicker.js +227 -0
  124. package/dist/composables/formContext.js +94 -3
  125. package/dist/composables/formLayout.js +57 -0
  126. package/dist/composables/formValidation.js +240 -0
  127. package/dist/composables/ganttConflicts.js +143 -0
  128. package/dist/composables/numberInput.js +91 -0
  129. package/dist/composables/rating.js +16 -0
  130. package/dist/composables/selectOptions.js +54 -0
  131. package/dist/composables/table.js +150 -0
  132. package/dist/composables/textInput.js +34 -0
  133. package/dist/composables/toastEscape.js +16 -0
  134. package/dist/composables/transfer.js +63 -0
  135. package/dist/composables/tree.js +118 -0
  136. package/dist/composables/treeSelect.js +71 -0
  137. package/dist/composables/useCascader.js +438 -0
  138. package/dist/composables/useDatePicker.js +425 -0
  139. package/dist/composables/useDialog.js +16 -16
  140. package/dist/composables/useFloating.js +98 -52
  141. package/dist/composables/useGanttDependencies.js +306 -0
  142. package/dist/composables/useGanttHistory.js +157 -0
  143. package/dist/composables/useGanttLabelResize.js +100 -0
  144. package/dist/composables/useHysToast.js +148 -0
  145. package/dist/composables/useTable.js +474 -0
  146. package/dist/composables/useTextareaSize.js +72 -0
  147. package/dist/composables/useTransfer.js +257 -0
  148. package/dist/composables/useTree.js +439 -0
  149. package/dist/composables/useTreeSelect.js +361 -0
  150. package/dist/config.js +18 -15
  151. package/dist/index.js +149 -136
  152. package/dist/style.css +1 -1
  153. package/dist/types/components/HysAccordion/HysAccordion.vue.d.ts +61 -22
  154. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +201 -0
  155. package/dist/types/components/HysAvatar/HysAvatar.vue.d.ts +28 -15
  156. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +99 -0
  157. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +41 -4
  158. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +38 -10
  159. package/dist/types/components/HysButton/HysButton.vue.d.ts +0 -1
  160. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +119 -29
  161. package/dist/types/components/HysCard/HysCard.vue.d.ts +57 -5
  162. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +129 -41
  163. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +55 -0
  164. package/dist/types/components/HysCheckbox/HysCheckbox.vue.d.ts +55 -27
  165. package/dist/types/components/HysCheckboxGroup/HysCheckboxGroup.vue.d.ts +73 -0
  166. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +1 -1
  167. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +66 -14
  168. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +90 -0
  169. package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +93 -0
  170. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +66 -14
  171. package/dist/types/components/HysDivider/HysDivider.vue.d.ts +8 -3
  172. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +1 -0
  173. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +8 -4
  174. package/dist/types/components/HysForm/HysForm.vue.d.ts +110 -18
  175. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +108 -2
  176. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +88 -4
  177. package/dist/types/components/HysInput/HysInput.vue.d.ts +52 -29
  178. package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -2
  179. package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +93 -33
  180. package/dist/types/components/HysOrgTree/HysOrgTree.vue.d.ts +4 -1
  181. package/dist/types/components/HysPagination/HysPagination.vue.d.ts +1 -1
  182. package/dist/types/components/HysPermissionMatrix/HysPermissionMatrix.vue.d.ts +8 -1
  183. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +3 -3
  184. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +1 -1
  185. package/dist/types/components/HysRadio/HysRadio.vue.d.ts +56 -0
  186. package/dist/types/components/HysRadioGroup/HysRadioGroup.vue.d.ts +62 -17
  187. package/dist/types/components/HysRating/HysRating.vue.d.ts +85 -5
  188. package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +6 -0
  189. package/dist/types/components/HysRichTextEditor/HysRichTextEditor.vue.d.ts +4 -4
  190. package/dist/types/components/HysSearch/HysSearch.vue.d.ts +2 -2
  191. package/dist/types/components/HysSegmented/HysSegmented.vue.d.ts +64 -32
  192. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +120 -14
  193. package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +30 -2
  194. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +66 -9
  195. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +22 -0
  196. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +6 -0
  197. package/dist/types/components/HysSteps/HysSteps.vue.d.ts +65 -9
  198. package/dist/types/components/HysSwitch/HysSwitch.vue.d.ts +76 -17
  199. package/dist/types/components/HysTable/HysTable.vue.d.ts +206 -32
  200. package/dist/types/components/HysTable/HysTableFilterOptions.vue.d.ts +18 -0
  201. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +76 -23
  202. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +5 -5
  203. package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +44 -27
  204. package/dist/types/components/HysToast/HysToast.vue.d.ts +55 -7
  205. package/dist/types/components/HysTour/HysTour.vue.d.ts +5 -3
  206. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +55 -30
  207. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +105 -0
  208. package/dist/types/components/HysTree/HysTree.vue.d.ts +140 -73
  209. package/dist/types/components/HysTreeSelect/HysTreeSelect.vue.d.ts +102 -23
  210. package/dist/types/components/HysTreeSelect/HysTreeSelectPanel.vue.d.ts +56 -0
  211. package/dist/types/composables/autocomplete.d.ts +106 -0
  212. package/dist/types/composables/avatar.d.ts +70 -0
  213. package/dist/types/composables/calendar.d.ts +66 -0
  214. package/dist/types/composables/cascader.d.ts +192 -0
  215. package/dist/types/composables/choice.d.ts +110 -0
  216. package/dist/types/composables/choiceModel.d.ts +11 -0
  217. package/dist/types/composables/datePicker.d.ts +247 -0
  218. package/dist/types/composables/formContext.d.ts +138 -8
  219. package/dist/types/composables/formLayout.d.ts +11 -0
  220. package/dist/types/composables/formValidation.d.ts +13 -0
  221. package/dist/types/composables/gantt.d.ts +68 -0
  222. package/dist/types/composables/ganttConflicts.d.ts +30 -0
  223. package/dist/types/composables/numberInput.d.ts +45 -0
  224. package/dist/types/composables/rating.d.ts +18 -0
  225. package/dist/types/composables/segmented.d.ts +15 -0
  226. package/dist/types/composables/selectOptions.d.ts +44 -0
  227. package/dist/types/composables/slider.d.ts +21 -0
  228. package/dist/types/composables/table.d.ts +309 -0
  229. package/dist/types/composables/textInput.d.ts +76 -0
  230. package/dist/types/composables/toastEscape.d.ts +1 -0
  231. package/dist/types/composables/transfer.d.ts +180 -0
  232. package/dist/types/composables/tree.d.ts +237 -0
  233. package/dist/types/composables/treeSelect.d.ts +167 -0
  234. package/dist/types/composables/useCascader.d.ts +162 -0
  235. package/dist/types/composables/useDatePicker.d.ts +79 -0
  236. package/dist/types/composables/useFloating.d.ts +8 -5
  237. package/dist/types/composables/useGanttDependencies.d.ts +83 -0
  238. package/dist/types/composables/useGanttHistory.d.ts +42 -0
  239. package/dist/types/composables/useGanttLabelResize.d.ts +23 -0
  240. package/dist/types/composables/useHysToast.d.ts +50 -0
  241. package/dist/types/composables/useTable.d.ts +60 -0
  242. package/dist/types/composables/useTextareaSize.d.ts +3 -0
  243. package/dist/types/composables/useTransfer.d.ts +58 -0
  244. package/dist/types/composables/useTree.d.ts +77 -0
  245. package/dist/types/composables/useTreeSelect.d.ts +117 -0
  246. package/dist/types/index.d.ts +38 -7
  247. package/package.json +47 -11
@@ -1,4 +1,560 @@
1
- import f from "./HysTreeSelect.vue.js";
1
+ import { defineComponent as Me, useAttrs as Ae, ref as V, useId as Fe, provide as Oe, computed as B, watch as O, nextTick as I, onMounted as Ie, onUpdated as De, onActivated as We, onDeactivated as qe, onBeforeUnmount as Pe, openBlock as r, createElementBlock as u, mergeProps as Q, unref as a, createElementVNode as S, withModifiers as Z, renderSlot as v, createCommentVNode as f, toDisplayString as z, Fragment as _, renderList as fe, normalizeClass as ye, createTextVNode as D, createBlock as E, resolveDynamicComponent as pe, createVNode as C, withCtx as $, Teleport as Ue, createSlots as je, normalizeProps as W, guardReactiveProps as q } from "vue";
2
+ import { X as me, LoaderCircle as ge, ChevronDown as Re, Search as Xe } from "lucide-vue-next";
3
+ import Ye from "../HysInput/HysInput.vue.js";
4
+ import Ge from "../HysButton/HysButton.vue.js";
5
+ import Je from "../HysTooltip/HysTooltip.vue.js";
6
+ import Qe from "./HysTreeSelectPanel.vue.js";
7
+ import { useFloating as Ze } from "../../composables/useFloating.js";
8
+ import { useHysRootAttrs as _e } from "../../config.js";
9
+ import { useHysControlState as ea, useHysFormItemContext as aa, fieldKey as ta } from "../../composables/formContext.js";
10
+ import { useTreeSelect as la } from "../../composables/useTreeSelect.js";
11
+ const oa = ["disabled"], sa = ["id", "aria-expanded", "aria-controls", "aria-label", "aria-disabled", "aria-readonly", "aria-invalid", "aria-describedby", "aria-required", "aria-busy", "tabindex"], ia = {
12
+ key: 0,
13
+ class: "hys-ui-tree-select-prefix"
14
+ }, ra = {
15
+ key: 1,
16
+ class: "hys-ui-tree-select-placeholder"
17
+ }, na = {
18
+ key: 2,
19
+ class: "hys-ui-tree-select-tags"
20
+ }, da = { class: "hys-ui-tree-select-tag-label" }, ua = ["disabled", "aria-label", "onClick"], ca = ["aria-label"], ha = {
21
+ key: 3,
22
+ class: "hys-ui-tree-select-value"
23
+ }, va = { class: "hys-ui-tree-select-indicators" }, fa = ["name", "value", "disabled"], ya = {
24
+ key: 0,
25
+ class: "hys-ui-tree-select-header"
26
+ }, pa = {
27
+ key: 2,
28
+ class: "hys-ui-tree-select-loading",
29
+ role: "status"
30
+ }, ma = {
31
+ key: 3,
32
+ class: "hys-ui-tree-select-error",
33
+ role: "alert"
34
+ }, ga = {
35
+ key: 4,
36
+ class: "hys-ui-tree-select-footer"
37
+ }, Ka = /* @__PURE__ */ Me({
38
+ inheritAttrs: !1,
39
+ __name: "HysTreeSelect",
40
+ props: {
41
+ modelValue: {},
42
+ defaultValue: {},
43
+ nodes: {},
44
+ cacheData: {},
45
+ fieldNames: {},
46
+ nodeKey: {},
47
+ simpleMode: { type: [Boolean, Object] },
48
+ labelInValue: { type: Boolean },
49
+ disabled: { type: Boolean },
50
+ readonly: { type: Boolean },
51
+ loading: { type: Boolean },
52
+ size: {},
53
+ status: {},
54
+ placeholder: {},
55
+ ariaLabel: {},
56
+ name: {},
57
+ multiple: { type: Boolean },
58
+ leafOnly: { type: Boolean },
59
+ checkable: { type: Boolean },
60
+ checkStrictly: { type: Boolean },
61
+ showCheckedStrategy: { default: "child" },
62
+ clearable: { type: Boolean, default: !1 },
63
+ clearValue: {},
64
+ removable: { type: Boolean, default: !0 },
65
+ multipleLimit: {},
66
+ maxTagCount: { default: 3 },
67
+ maxTagTextLength: {},
68
+ searchable: { type: Boolean, default: !0 },
69
+ searchValue: {},
70
+ defaultSearchValue: {},
71
+ searchPlaceholder: {},
72
+ filterNode: {},
73
+ filterMode: {},
74
+ showMatchedChildren: { type: Boolean },
75
+ retainSearch: { type: Boolean },
76
+ clearSearchAfterSelect: { type: Boolean, default: !0 },
77
+ remote: { type: Boolean },
78
+ remoteMethod: {},
79
+ debounce: {},
80
+ expandedKeys: {},
81
+ defaultExpandedKeys: {},
82
+ defaultExpandAll: { type: Boolean, default: !0 },
83
+ autoExpandParent: { type: Boolean, default: !0 },
84
+ accordion: { type: Boolean },
85
+ expandOnClickNode: { type: Boolean },
86
+ expandSelected: { type: Boolean, default: !0 },
87
+ loadedKeys: {},
88
+ loadChildren: {},
89
+ showLine: { type: Boolean },
90
+ showIcon: { type: Boolean, default: !0 },
91
+ indent: { default: 18 },
92
+ open: { type: Boolean, default: void 0 },
93
+ defaultOpen: { type: Boolean },
94
+ showOnFocus: { type: Boolean },
95
+ popupMatchWidth: { type: Boolean, default: !0 },
96
+ popupWidth: {},
97
+ popupClass: {},
98
+ popupStyle: {},
99
+ appendTo: { type: [String, Boolean], default: "body" },
100
+ placement: {},
101
+ listHeight: { default: 256 },
102
+ virtual: { type: Boolean },
103
+ itemHeight: {},
104
+ overscan: { default: 4 },
105
+ emptyText: {},
106
+ noMatchText: {},
107
+ loadingText: {},
108
+ locale: {},
109
+ validateEvent: { type: Boolean, default: !0 }
110
+ },
111
+ emits: ["update:modelValue", "change", "value-change", "select", "deselect", "check", "clear", "remove-tag", "limit", "update:searchValue", "search", "search-error", "search-complete", "update:open", "visible-change", "update:expandedKeys", "update:loadedKeys", "node-expand", "node-collapse", "load-error", "children-loaded", "load", "scroll", "focus", "blur"],
112
+ setup(i, { expose: be, emit: ke }) {
113
+ const o = i, T = ke, we = Ae(), ee = _e(), n = ea(o), g = aa(), y = V(), H = V(), P = V(), b = V(), M = Fe(), ae = V("");
114
+ Oe(ta, void 0);
115
+ let k = !0, K = !1, U = !1, N = 0;
116
+ const j = Ze(y, H, {
117
+ get placement() {
118
+ return o.placement;
119
+ },
120
+ matchWidth: () => o.popupMatchWidth ? !0 : "min",
121
+ width: () => {
122
+ var e;
123
+ return o.popupWidth ?? (o.virtual && !o.popupMatchWidth ? Math.max(((e = y.value) == null ? void 0 : e.getBoundingClientRect().width) ?? 0, 240) : void 0);
124
+ },
125
+ requestOpen: (e, l) => (e || (U = !!l), T("update:open", e), o.open === void 0 ? void 0 : !1)
126
+ }), { open: c, style: xe, show: Be, close: p } = j, Te = B(() => c.value && k), s = la(
127
+ o,
128
+ n.disabled,
129
+ Te,
130
+ (e, ...l) => {
131
+ T(e, ...l), e === "value-change" && o.clearSearchAfterSelect && !o.retainSearch && s.filter("");
132
+ },
133
+ () => {
134
+ g.validate("change");
135
+ }
136
+ ), {
137
+ items: w,
138
+ multiple: R,
139
+ busy: ba,
140
+ blocked: X,
141
+ query: te,
142
+ words: L,
143
+ remoteError: le,
144
+ remotePending: Y
145
+ } = s, Se = B(() => ({
146
+ "--hys-ui-tree-select-control-height": (n.size.value === "sm" ? 30 : n.size.value === "lg" ? 44 : 38) + "px"
147
+ })), Ce = B(() => ({
148
+ ...o.popupStyle,
149
+ ...xe.value,
150
+ maxHeight: "min(60dvh, calc(100dvh - 20px))",
151
+ overflowY: "hidden"
152
+ })), $e = B(
153
+ () => o.itemHeight ?? (n.size.value === "sm" ? 30 : n.size.value === "lg" ? 42 : 36)
154
+ ), oe = B(
155
+ () => Number.isFinite(o.maxTagCount) ? Math.max(0, Math.floor(o.maxTagCount)) : 1 / 0
156
+ ), ze = B(() => w.value.slice(0, oe.value)), x = B(() => w.value.slice(oe.value)), A = (e) => typeof e.label == "string" || typeof e.label == "number" ? String(e.label) : String(e.value), se = (e) => Number.isFinite(o.maxTagTextLength) && o.maxTagTextLength >= 0 ? A(e).slice(0, o.maxTagTextLength) + (A(e).length > o.maxTagTextLength ? "…" : "") : void 0, Ee = B(
157
+ () => o.clearable && !X.value && s.values.value.some((e) => !s.item(e).disabled)
158
+ ), Ke = () => Object.fromEntries(
159
+ Object.entries(we).filter(([e]) => !["class", "style"].includes(e))
160
+ );
161
+ function ie() {
162
+ var d;
163
+ const e = (d = y.value) == null ? void 0 : d.closest("label");
164
+ if (!e) return;
165
+ const l = e.cloneNode(!0);
166
+ l.querySelectorAll(".hys-ui-tree-select-wrap").forEach((t) => t.remove()), ae.value = (l.textContent ?? "").replace(/\s+/g, " ").trim();
167
+ }
168
+ async function m(e = !0, l = !1) {
169
+ var ue, ce, he, ve;
170
+ if (!k || n.disabled.value || o.readonly) return !1;
171
+ const d = c.value, t = N;
172
+ if (await Be(l), await I(), !k || !c.value || t !== N) return !1;
173
+ if (!d && !o.retainSearch && s.filter(""), o.expandSelected && s.values.value.length) {
174
+ const J = s.values.value.flatMap(
175
+ (F) => s.tree.ancestors(F)
176
+ );
177
+ await s.tree.setExpandedKeys([
178
+ .../* @__PURE__ */ new Set([...s.tree.rawExpanded.value, ...J])
179
+ ]);
180
+ }
181
+ if (await I(), !k || !c.value || t !== N) return !1;
182
+ const h = s.values.value.find(
183
+ (J) => s.tree.visible.value.some((F) => F.key === J && !F.disabled)
184
+ );
185
+ return h !== void 0 && ((ue = b.value) == null || ue.setActive(h), await ((ce = b.value) == null ? void 0 : ce.scrollTo({ key: h }))), e && (o.searchable ? (he = P.value) == null || he.focus() : await ((ve = b.value) == null ? void 0 : ve.focus(h))), !0;
186
+ }
187
+ async function G() {
188
+ const e = await s.clear();
189
+ return e && p(!0), e;
190
+ }
191
+ function Ne(e) {
192
+ (e == null ? void 0 : e.target) instanceof Element && e.target.closest("button") || (c.value ? p() : m());
193
+ }
194
+ function Le(e) {
195
+ !R.value && s.values.value.includes(e) && p(!0);
196
+ }
197
+ function Ve(e) {
198
+ var l, d;
199
+ if (!(e.isComposing || e.keyCode === 229 || e.target !== y.value)) {
200
+ if (["ArrowDown", "ArrowUp", "Enter", " "].includes(e.key))
201
+ e.preventDefault(), c.value ? o.searchable ? (l = P.value) == null || l.focus() : (d = b.value) == null || d.focus() : m();
202
+ else if (e.key === "Escape" && c.value)
203
+ e.preventDefault(), p(!0);
204
+ else if (e.key === "Backspace" && R.value && !X.value) {
205
+ const t = [...w.value].reverse().find((h) => !h.disabled);
206
+ t && (e.preventDefault(), s.removeTag(t.value));
207
+ }
208
+ }
209
+ }
210
+ function re(e) {
211
+ K || (K = !0, T("focus", e)), e.target === y.value && o.showOnFocus && !j.restoringFocus.value && m(!1);
212
+ }
213
+ async function ne(e) {
214
+ var d, t;
215
+ if (await I(), !k) return;
216
+ const l = e.relatedTarget instanceof Node ? e.relatedTarget : document.activeElement;
217
+ (d = y.value) != null && d.contains(l) || (t = H.value) != null && t.contains(l) || K && (K = !1, T("blur", e), o.validateEvent && g.validate("blur"));
218
+ }
219
+ async function He(e) {
220
+ var l;
221
+ await m(!1) && await ((l = b.value) == null ? void 0 : l.scrollTo(e));
222
+ }
223
+ O(
224
+ () => o.open,
225
+ (e) => {
226
+ if (k)
227
+ if (e) m(!1, !0);
228
+ else {
229
+ const l = U;
230
+ U = !1, p(l, !0);
231
+ }
232
+ }
233
+ ), O(c, (e) => {
234
+ e || N++, T("visible-change", e), !e && !o.retainSearch && s.filter("");
235
+ }), O(
236
+ [() => o.readonly, n.disabled],
237
+ ([e, l]) => {
238
+ (e || l) && (p(!1, !0), o.open && T("update:open", !1));
239
+ },
240
+ { flush: "sync" }
241
+ ), O(
242
+ [
243
+ te,
244
+ w,
245
+ () => o.popupWidth,
246
+ () => o.popupMatchWidth,
247
+ () => n.size.value
248
+ ],
249
+ () => {
250
+ I().then(() => j.update());
251
+ }
252
+ ), Ie(() => {
253
+ ie(), (o.open ?? o.defaultOpen) && m(!1, !0);
254
+ }), De(ie), We(() => {
255
+ k = !0, o.open && m(!1, !0);
256
+ });
257
+ function de() {
258
+ k = !1, K = !1, N++, p(!1, !0);
259
+ }
260
+ return qe(de), Pe(de), be({
261
+ element: y,
262
+ open: c,
263
+ focus: () => {
264
+ var e;
265
+ n.disabled.value || (e = y.value) == null || e.focus();
266
+ },
267
+ blur: () => {
268
+ var e, l, d;
269
+ p(), ((e = y.value) != null && e.contains(document.activeElement) || (l = H.value) != null && l.contains(document.activeElement)) && ((d = document.activeElement) == null || d.blur());
270
+ },
271
+ show: () => m(),
272
+ hide: (e = !1) => p(e),
273
+ clear: G,
274
+ removeTag: s.removeTag,
275
+ setValue: s.setValue,
276
+ filter: s.filter,
277
+ getSelectedKeys: () => [...s.values.value],
278
+ getSelectedItems: () => [...w.value],
279
+ getCheckedKeys: s.tree.getCheckedKeys,
280
+ getHalfCheckedKeys: s.tree.getHalfCheckedKeys,
281
+ getNode: (e) => {
282
+ const l = s.tree.getNode(e);
283
+ return l ? s.rawNode(l) : void 0;
284
+ },
285
+ getExpandedKeys: () => [...s.tree.expanded.value],
286
+ setExpandedKeys: s.tree.setExpandedKeys,
287
+ expandNode: s.tree.expandNode,
288
+ reloadNode: s.tree.reloadNode,
289
+ scrollTo: He
290
+ }), (e, l) => {
291
+ var d;
292
+ return r(), u("div", Q(a(ee), {
293
+ class: ["hys-ui-tree-select-wrap", [e.$attrs.class, "hys-ui-tree-select-" + a(n).size.value]],
294
+ style: [e.$attrs.style, Se.value]
295
+ }), [
296
+ S("button", {
297
+ hidden: "",
298
+ type: "button",
299
+ tabindex: "-1",
300
+ "aria-hidden": "true",
301
+ disabled: a(n).disabled.value,
302
+ onClick: l[0] || (l[0] = Z((t) => {
303
+ var h;
304
+ (h = y.value) == null || h.focus(), m();
305
+ }, ["prevent"]))
306
+ }, null, 8, oa),
307
+ S("div", Q({
308
+ ref_key: "trigger",
309
+ ref: y
310
+ }, Ke(), {
311
+ id: e.$attrs.id || a(g).id.value || a(M),
312
+ "data-hys-ui-field-managed": "",
313
+ role: "combobox",
314
+ "aria-haspopup": "tree",
315
+ "aria-expanded": a(c),
316
+ "aria-controls": a(c) ? a(M) + "-tree" : void 0,
317
+ "aria-label": i.ariaLabel || a(g).label.value || ae.value || i.placeholder || "选择节点",
318
+ "aria-disabled": a(n).disabled.value || void 0,
319
+ "aria-readonly": i.readonly || void 0,
320
+ "aria-invalid": i.status === "error" || a(g).invalid.value || void 0,
321
+ "aria-describedby": a(g).describedBy.value,
322
+ "aria-required": a(g).required.value || void 0,
323
+ "aria-busy": i.loading || a(Y) || void 0,
324
+ tabindex: a(n).disabled.value ? -1 : 0,
325
+ class: ["hys-ui-tree-select-control", {
326
+ "hys-ui-tree-select-control-disabled": a(n).disabled.value,
327
+ "hys-ui-tree-select-control-error": i.status === "error" || a(g).invalid.value,
328
+ "hys-ui-tree-select-control-warning": i.status === "warning",
329
+ "hys-ui-tree-select-control-success": i.status === "success"
330
+ }],
331
+ onClick: Ne,
332
+ onKeydown: Ve,
333
+ onFocusin: re,
334
+ onFocusout: ne
335
+ }), [
336
+ e.$slots.prefix ? (r(), u("span", ia, [
337
+ v(e.$slots, "prefix", {}, void 0, !0)
338
+ ])) : f("", !0),
339
+ a(w).length ? a(R) ? (r(), u("div", na, [
340
+ (r(!0), u(_, null, fe(ze.value, (t) => v(e.$slots, "tag", {
341
+ item: t,
342
+ remove: () => a(s).removeTag(t.value)
343
+ }, () => [
344
+ S("span", {
345
+ class: ye(["hys-ui-tree-select-tag", { "hys-ui-tree-select-tag-disabled": t.disabled }])
346
+ }, [
347
+ S("span", da, [
348
+ se(t) !== void 0 ? (r(), u(_, { key: 0 }, [
349
+ D(z(se(t)), 1)
350
+ ], 64)) : (r(), E(pe(() => t.label), { key: 1 }))
351
+ ]),
352
+ i.removable ? (r(), u("button", {
353
+ key: 0,
354
+ type: "button",
355
+ class: "hys-ui-tree-select-tag-remove",
356
+ disabled: a(X) || t.disabled,
357
+ "aria-label": "移除 " + A(t),
358
+ onClick: Z((h) => a(s).removeTag(t.value), ["stop"])
359
+ }, [
360
+ C(a(me), {
361
+ size: 12,
362
+ "aria-hidden": "true"
363
+ })
364
+ ], 8, ua)) : f("", !0)
365
+ ], 2)
366
+ ], !0, typeof t.value + ":" + t.value)), 128)),
367
+ x.value.length ? (r(), E(Je, {
368
+ key: 0,
369
+ text: x.value.slice(0, 20).map(A).join("、") + (x.value.length > 20 ? " 等 " + x.value.length + " 项" : "")
370
+ }, {
371
+ default: $(() => [
372
+ S("span", {
373
+ class: "hys-ui-tree-select-tag hys-ui-tree-select-more",
374
+ "aria-label": "另外 " + x.value.length + " 项"
375
+ }, [
376
+ v(e.$slots, "max-tag-placeholder", {
377
+ items: x.value,
378
+ count: x.value.length
379
+ }, () => [
380
+ D("+" + z(x.value.length), 1)
381
+ ], !0)
382
+ ], 8, ca)
383
+ ]),
384
+ _: 3
385
+ }, 8, ["text"])) : f("", !0)
386
+ ])) : (r(), u("span", ha, [
387
+ (r(), E(pe(() => a(w)[0].label)))
388
+ ])) : (r(), u("span", ra, z(i.placeholder || "选择节点"), 1)),
389
+ S("span", va, [
390
+ i.loading || a(Y) ? (r(), E(a(ge), {
391
+ key: 0,
392
+ size: 15,
393
+ class: "hys-ui-icon-spin",
394
+ "aria-hidden": "true"
395
+ })) : f("", !0),
396
+ Ee.value ? (r(), u("button", {
397
+ key: 1,
398
+ type: "button",
399
+ class: "hys-ui-tree-select-clear",
400
+ "aria-label": "清空选择",
401
+ onClick: Z(G, ["stop"])
402
+ }, [
403
+ C(a(me), {
404
+ size: 14,
405
+ "aria-hidden": "true"
406
+ })
407
+ ])) : f("", !0),
408
+ v(e.$slots, "suffix", {}, () => [
409
+ C(a(Re), {
410
+ size: 16,
411
+ class: ye(["hys-ui-tree-select-chevron", { "hys-ui-tree-select-chevron-open": a(c) }]),
412
+ "aria-hidden": "true"
413
+ }, null, 8, ["class"])
414
+ ], !0)
415
+ ])
416
+ ], 16, sa),
417
+ i.name ? (r(!0), u(_, { key: 0 }, fe(a(s).values.value, (t) => (r(), u("input", {
418
+ key: typeof t + ":" + t,
419
+ type: "hidden",
420
+ name: i.name,
421
+ value: t,
422
+ disabled: a(n).disabled.value
423
+ }, null, 8, fa))), 128)) : f("", !0),
424
+ (r(), E(Ue, {
425
+ to: i.appendTo === !1 ? "body" : i.appendTo,
426
+ disabled: i.appendTo === !1
427
+ }, [
428
+ a(c) ? (r(), u("div", Q({
429
+ key: 0,
430
+ ref_key: "panel",
431
+ ref: H
432
+ }, a(ee), {
433
+ class: ["hys-ui-tree-select-menu hys-ui-pf-tree-select-menu", [i.popupClass, "hys-ui-tree-select-" + a(n).size.value]],
434
+ style: Ce.value,
435
+ onFocusin: re,
436
+ onFocusout: ne
437
+ }), [
438
+ e.$slots.header ? (r(), u("header", ya, [
439
+ v(e.$slots, "header", {}, void 0, !0)
440
+ ])) : f("", !0),
441
+ i.searchable ? (r(), E(Ye, {
442
+ key: 1,
443
+ ref_key: "search",
444
+ ref: P,
445
+ class: "hys-ui-tree-select-search",
446
+ "model-value": a(te),
447
+ placeholder: a(L).search,
448
+ "aria-label": a(L).search,
449
+ "aria-controls": a(M) + "-tree",
450
+ "aria-activedescendant": (d = b.value) == null ? void 0 : d.activeId,
451
+ disabled: a(n).disabled.value || i.readonly || i.loading,
452
+ size: a(n).size.value,
453
+ clearable: "",
454
+ "onUpdate:modelValue": a(s).filter,
455
+ onKeydown: l[1] || (l[1] = (t) => {
456
+ var h;
457
+ return (h = b.value) == null ? void 0 : h.searchKeys(t);
458
+ })
459
+ }, {
460
+ prefix: $(() => [
461
+ C(a(Xe), {
462
+ size: 14,
463
+ "aria-hidden": "true"
464
+ })
465
+ ]),
466
+ _: 1
467
+ }, 8, ["model-value", "placeholder", "aria-label", "aria-controls", "aria-activedescendant", "disabled", "size", "onUpdate:modelValue"])) : f("", !0),
468
+ i.loading || a(Y) ? (r(), u("div", pa, [
469
+ v(e.$slots, "loading", {}, () => [
470
+ C(a(ge), {
471
+ size: 16,
472
+ class: "hys-ui-icon-spin",
473
+ "aria-hidden": "true"
474
+ }),
475
+ D(z(a(L).loading), 1)
476
+ ], !0)
477
+ ])) : f("", !0),
478
+ a(le) ? (r(), u("div", ma, [
479
+ v(e.$slots, "error", {
480
+ error: a(le),
481
+ retry: a(s).retrySearch
482
+ }, () => [
483
+ S("span", null, z(a(L).loadError), 1),
484
+ C(Ge, {
485
+ size: "sm",
486
+ variant: "ghost",
487
+ onClick: l[2] || (l[2] = (t) => a(s).retrySearch())
488
+ }, {
489
+ default: $(() => [
490
+ D(z(a(L).retry), 1)
491
+ ]),
492
+ _: 1
493
+ })
494
+ ], !0)
495
+ ])) : f("", !0),
496
+ C(Qe, {
497
+ ref_key: "view",
498
+ ref: b,
499
+ store: a(s),
500
+ size: a(n).size.value,
501
+ "tree-id": a(M) + "-tree",
502
+ checkable: i.checkable,
503
+ "check-strictly": i.checkStrictly,
504
+ "leaf-only": i.leafOnly,
505
+ "expand-on-click-node": i.expandOnClickNode,
506
+ "show-line": i.showLine,
507
+ "show-icon": i.showIcon,
508
+ indent: i.indent,
509
+ "list-height": i.listHeight,
510
+ virtual: i.virtual,
511
+ "item-height": $e.value,
512
+ overscan: i.overscan,
513
+ onChoose: Le,
514
+ onScroll: l[3] || (l[3] = (t) => T("scroll", t))
515
+ }, je({ _: 2 }, [
516
+ e.$slots.option ? {
517
+ name: "option",
518
+ fn: $((t) => [
519
+ v(e.$slots, "option", W(q(t)), void 0, !0)
520
+ ]),
521
+ key: "0"
522
+ } : void 0,
523
+ e.$slots.icon ? {
524
+ name: "icon",
525
+ fn: $((t) => [
526
+ v(e.$slots, "icon", W(q(t)), void 0, !0)
527
+ ]),
528
+ key: "1"
529
+ } : void 0,
530
+ e.$slots.switcher ? {
531
+ name: "switcher",
532
+ fn: $((t) => [
533
+ v(e.$slots, "switcher", W(q(t)), void 0, !0)
534
+ ]),
535
+ key: "2"
536
+ } : void 0,
537
+ e.$slots.empty ? {
538
+ name: "empty",
539
+ fn: $((t) => [
540
+ v(e.$slots, "empty", W(q(t)), void 0, !0)
541
+ ]),
542
+ key: "3"
543
+ } : void 0
544
+ ]), 1032, ["store", "size", "tree-id", "checkable", "check-strictly", "leaf-only", "expand-on-click-node", "show-line", "show-icon", "indent", "list-height", "virtual", "item-height", "overscan"]),
545
+ e.$slots.footer ? (r(), u("footer", ga, [
546
+ v(e.$slots, "footer", {
547
+ items: a(w),
548
+ clear: G,
549
+ close: () => a(p)(!0)
550
+ }, void 0, !0)
551
+ ])) : f("", !0)
552
+ ], 16)) : f("", !0)
553
+ ], 8, ["to", "disabled"]))
554
+ ], 16);
555
+ };
556
+ }
557
+ });
2
558
  export {
3
- f as default
559
+ Ka as default
4
560
  };
@@ -0,0 +1,7 @@
1
+ import e from "./HysTreeSelectPanel2.vue.js";
2
+ /* empty css */
3
+ import o from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ o(e, [["__scopeId", "data-v-6d8bab07"]]);
5
+ export {
6
+ m as default
7
+ };