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
@@ -0,0 +1,438 @@
1
+ import { ref as R, shallowRef as A, computed as s, watch as z, onBeforeUnmount as Te, onDeactivated as Le, onActivated as Re, nextTick as Ke } from "vue";
2
+ import { useTreeSelect as Ne } from "./useTreeSelect.js";
3
+ import { treeKey as $ } from "./tree.js";
4
+ import { cascaderWords as K, cascaderEntries as I, cascaderToken as c, validCascaderPath as ve, cascaderPath as E } from "./cascader.js";
5
+ function Je(t, G, f, h, ge) {
6
+ const w = R(!0), p = A(
7
+ t.defaultValue ?? (t.emitPath === !1 && !t.multiple ? null : [])
8
+ ), ee = A([
9
+ ...t.defaultExpandedPath ?? []
10
+ ]), N = A(), q = R(!1), D = A(), S = R(!1), x = A(), v = s(() => !!t.multiple), ae = s(
11
+ () => t.modelValue === void 0 ? p.value : t.modelValue
12
+ ), g = s(
13
+ () => !w.value || G.value || !!t.readonly || !!t.loading
14
+ ), me = s(() => {
15
+ var e, a, l, n;
16
+ return {
17
+ ...K,
18
+ ...t.locale,
19
+ search: t.searchPlaceholder ?? ((e = t.locale) == null ? void 0 : e.search) ?? K.search,
20
+ empty: t.emptyText ?? ((a = t.locale) == null ? void 0 : a.empty) ?? K.empty,
21
+ noMatch: t.noMatchText ?? ((l = t.locale) == null ? void 0 : l.noMatch) ?? K.noMatch,
22
+ loading: t.loadingText ?? ((n = t.locale) == null ? void 0 : n.loading) ?? K.loading
23
+ };
24
+ }), H = s(
25
+ () => !!t.checkStrictly || !v.value && !!t.changeOnSelect
26
+ ), _ = s(
27
+ () => I(N.value ?? t.options, t)
28
+ ), te = s(() => I(t.cacheData ?? [], t)), F = s(() => {
29
+ const e = new Map(te.value.map);
30
+ for (const [a, l] of _.value.map) e.set(a, l);
31
+ if (x.value)
32
+ for (const a of x.value.tree.index.value.rows)
33
+ e.set(String(a.key), a.node);
34
+ return e;
35
+ }), we = s(() => {
36
+ var n;
37
+ const e = /* @__PURE__ */ new Map();
38
+ for (const r of F.value.values())
39
+ e.has(r.path.at(-1)) || e.set(r.path.at(-1), r);
40
+ const a = ((n = x.value) == null ? void 0 : n.tree.index.value.rows.map(
41
+ (r) => r.node
42
+ )) ?? [..._.value.map.values()], l = /* @__PURE__ */ new Set();
43
+ for (const r of a) {
44
+ const u = r.path.at(-1);
45
+ l.has(u) || (e.set(u, r), l.add(u));
46
+ }
47
+ return e;
48
+ }), le = /* @__PURE__ */ new Map();
49
+ function ne(e) {
50
+ const a = we.value.get(e);
51
+ return a && le.set(e, a.path), (a == null ? void 0 : a.path) ?? le.get(e) ?? [e];
52
+ }
53
+ function re(e) {
54
+ return t.clearValue !== void 0 && JSON.stringify(e) === JSON.stringify(t.clearValue) ? [] : t.emitPath === !1 ? (v.value ? Array.isArray(e) ? e : $(e) ? [e] : [] : $(e) ? [e] : []).filter($).map(ne) : v.value ? Array.isArray(e) ? e.filter(ve).filter((a) => a.length).map((a) => [...a]) : [] : ve(e) && e.length ? [[...e]] : [];
55
+ }
56
+ const oe = s(() => re(ae.value)), j = s(() => oe.value.map(c)), y = s(() => [...t.expandedPath ?? ee.value]), ye = s(
57
+ () => y.value.map((e, a) => c(y.value.slice(0, a + 1)))
58
+ ), xe = s(
59
+ () => t.loadChildren ? async (e, a) => {
60
+ const l = await t.loadChildren(e.raw, {
61
+ signal: a.signal,
62
+ path: [...e.path],
63
+ nodes: [...e.nodes],
64
+ level: e.path.length - 1
65
+ });
66
+ if (!Array.isArray(l))
67
+ throw new TypeError("loadChildren must resolve to an array");
68
+ return I(l, t, e).roots;
69
+ } : void 0
70
+ );
71
+ function ie(e) {
72
+ var n;
73
+ const a = Array.isArray(e) ? e : typeof e == "string" && e ? [e] : [], l = a.filter((r) => typeof r == "string").map(E).filter((r) => r.length);
74
+ return !l.length && t.clearValue !== void 0 ? t.clearValue : v.value ? t.emitPath === !1 ? l.map((r) => r.at(-1)) : l : t.emitPath === !1 ? ((n = l[0]) == null ? void 0 : n.at(-1)) ?? null : l[0] ?? [];
75
+ }
76
+ function V(e) {
77
+ var u, d;
78
+ const a = (u = x.value) == null ? void 0 : u.item(e), l = F.value.get(e) ?? (a == null ? void 0 : a.node), n = (l == null ? void 0 : l.path) ?? E(e), r = (l == null ? void 0 : l.labels) ?? n.map(String);
79
+ return {
80
+ path: [...n],
81
+ labels: [...r],
82
+ nodes: [...(l == null ? void 0 : l.nodes) ?? []],
83
+ node: l == null ? void 0 : l.raw,
84
+ value: n.at(-1),
85
+ label: t.showAllLevels === !1 ? r.at(-1) ?? "" : r.join(t.separator ?? " / "),
86
+ disabled: !!(l != null && l.disabled || a != null && a.disabled),
87
+ missing: !((d = x.value) != null && d.tree.index.value.map.has(e))
88
+ };
89
+ }
90
+ function be(e) {
91
+ var l;
92
+ const a = e.values.filter(
93
+ (n) => typeof n == "string"
94
+ );
95
+ return {
96
+ reason: e.reason,
97
+ node: (l = e.node) == null ? void 0 : l.raw,
98
+ items: a.map(V),
99
+ paths: a.map(E),
100
+ halfCheckedPaths: e.halfCheckedKeys.map(
101
+ (n) => E(String(n))
102
+ ),
103
+ event: e.event
104
+ };
105
+ }
106
+ let m = 0, J = 0;
107
+ function Se(e) {
108
+ const a = [...y.value], l = m, n = e.map((u) => E(String(u))).sort((u, d) => d.length - u.length), r = n[0] ?? [];
109
+ t.expandedPath === void 0 && (ee.value = r), h("update:expandedPath", r), h(
110
+ "expandChange",
111
+ r,
112
+ r.flatMap((u, d) => {
113
+ var b;
114
+ const o = (b = F.value.get(
115
+ c(r.slice(0, d + 1))
116
+ )) == null ? void 0 : b.raw;
117
+ return o ? [o] : [];
118
+ })
119
+ ), Ke().then(() => {
120
+ var b;
121
+ if (!w.value || l !== m || c(y.value) !== c(r))
122
+ return;
123
+ const u = (W) => W.map((fe, Z) => c(W.slice(0, Z + 1))), d = new Set(u(a)), o = new Set(u(r));
124
+ for (const [W, fe, Z] of [
125
+ [d, o, "node-collapse"],
126
+ [o, d, "node-expand"]
127
+ ])
128
+ for (const he of W) {
129
+ const L = (b = x.value) == null ? void 0 : b.tree.index.value.map.get(he);
130
+ !fe.has(he) && (L != null && L.hasChildren) && h(Z, L.node.raw, { path: [...L.node.path] });
131
+ }
132
+ });
133
+ }
134
+ const i = Ne(
135
+ {
136
+ get nodes() {
137
+ return _.value.roots;
138
+ },
139
+ get cacheData() {
140
+ return te.value.roots;
141
+ },
142
+ get modelValue() {
143
+ return v.value ? j.value : j.value[0] ?? "";
144
+ },
145
+ get multiple() {
146
+ return v.value;
147
+ },
148
+ get checkable() {
149
+ return v.value;
150
+ },
151
+ get checkStrictly() {
152
+ return t.checkStrictly;
153
+ },
154
+ get showCheckedStrategy() {
155
+ return t.showCheckedStrategy ?? "child";
156
+ },
157
+ get disabled() {
158
+ return G.value;
159
+ },
160
+ get readonly() {
161
+ return t.readonly;
162
+ },
163
+ get loading() {
164
+ return t.loading;
165
+ },
166
+ get multipleLimit() {
167
+ return t.multipleLimit;
168
+ },
169
+ get searchValue() {
170
+ return t.searchValue;
171
+ },
172
+ get defaultSearchValue() {
173
+ return t.defaultSearchValue;
174
+ },
175
+ get expandedKeys() {
176
+ return ye.value;
177
+ },
178
+ autoExpandParent: !0,
179
+ accordion: !0,
180
+ get loadChildren() {
181
+ return xe.value;
182
+ },
183
+ get validateEvent() {
184
+ return t.validateEvent;
185
+ }
186
+ },
187
+ G,
188
+ f,
189
+ (e, ...a) => {
190
+ var l;
191
+ if (e === "update:modelValue") {
192
+ const n = ie(a[0]);
193
+ t.modelValue === void 0 && (p.value = n), h(e, n);
194
+ } else if (e === "change" || e === "value-change")
195
+ h(e, ie(a[0]), be(a[1])), e === "value-change" && t.clearSearchAfterSelect !== !1 && !t.retainSearch && i.filter("");
196
+ else if (e === "update:expandedKeys") Se(a[0]);
197
+ else if (e === "load" || e === "children-loaded") {
198
+ const n = a[0];
199
+ h(e, {
200
+ node: n.node.raw,
201
+ path: [...n.node.path],
202
+ children: n.children.map((r) => r.raw)
203
+ });
204
+ } else e === "load-error" ? h(e, {
205
+ node: a[0].node.raw,
206
+ path: [...a[0].node.path],
207
+ error: a[0].error
208
+ }) : e === "node-expand" || e === "node-collapse" ? h(e, a[0].raw, { path: [...a[0].path] }) : e === "remove-tag" ? h(e, E(String(a[0])), (l = a[1]) == null ? void 0 : l.raw) : ["update:searchValue", "search", "clear", "limit"].includes(e) && h(e, ...a);
209
+ },
210
+ ge
211
+ );
212
+ x.value = i;
213
+ const Pe = s(
214
+ () => i.items.value.map((e) => V(String(e.value)))
215
+ ), Ce = s(() => {
216
+ const e = [_.value.roots];
217
+ for (let a = 0; a < y.value.length; a++) {
218
+ const l = i.tree.index.value.map.get(
219
+ c(y.value.slice(0, a + 1))
220
+ );
221
+ if (!(l != null && l.hasChildren)) break;
222
+ e.push(
223
+ l.children.map((n) => i.tree.index.value.map.get(n).node)
224
+ );
225
+ }
226
+ return e;
227
+ });
228
+ async function ue(e) {
229
+ if (g.value || !f.value) return !1;
230
+ const a = m, l = ++J;
231
+ for (let n = 0; n < e.length; n++) {
232
+ const r = c(e.slice(0, n + 1)), u = i.tree.index.value.map.get(r);
233
+ if (!u || u.disabled) return !1;
234
+ const d = e.slice(0, n + 1).map((o, b) => c(e.slice(0, b + 1)));
235
+ if (await i.tree.setExpandedKeys(d), !w.value || a !== m || l !== J || !f.value || !i.tree.expanded.value.has(r) || u.hasChildren && t.loadChildren && (!await i.tree.load(r) || a !== m || l !== J || !f.value || !w.value))
236
+ return !1;
237
+ }
238
+ return e.length ? c(y.value) === c(e) : (await i.tree.setExpandedKeys([]), a === m && l === J && y.value.length === 0);
239
+ }
240
+ async function ke(e, a) {
241
+ let l = [e], n = /* @__PURE__ */ new Set();
242
+ for (; l.length; ) {
243
+ const r = l.splice(0, 4).filter((d) => !n.has(d));
244
+ for (const d of r) n.add(d);
245
+ if ((await Promise.all(
246
+ r.map(async (d) => {
247
+ let o = i.tree.index.value.map.get(d);
248
+ if (!o || o.disabled) return !0;
249
+ if (o.hasChildren && !o.children.length && !t.loadChildren)
250
+ return !1;
251
+ if (o.hasChildren && !o.children.length && t.loadChildren) {
252
+ if (!await i.tree.load(d)) return !1;
253
+ o = i.tree.index.value.map.get(d);
254
+ }
255
+ return o && l.push(...o.children.map(String)), !0;
256
+ })
257
+ )).some((d) => !d) || !f.value || !w.value || a !== m)
258
+ return !1;
259
+ }
260
+ return !0;
261
+ }
262
+ async function Ae(e, a, l) {
263
+ let n = i.tree.index.value.map.get(e);
264
+ if (!n || n.disabled || g.value || S.value) return !1;
265
+ const r = m;
266
+ if (v.value) {
267
+ if (!t.checkStrictly && n.hasChildren && !i.tree.checked.value.has(e)) {
268
+ S.value = !0;
269
+ try {
270
+ if (!await ke(e, r)) return !1;
271
+ } finally {
272
+ S.value = !1;
273
+ }
274
+ if (n = i.tree.index.value.map.get(e), !n) return !1;
275
+ }
276
+ return l !== void 0 && l === i.tree.checked.value.has(e) ? !1 : i.pick(n, a);
277
+ }
278
+ if (n.hasChildren && !H.value)
279
+ return await ue(n.node.path), !1;
280
+ const u = await i.request([e], "select", n.node, a);
281
+ return u && h("select", [...n.node.path], [...n.node.nodes], a), u;
282
+ }
283
+ function Ee(e) {
284
+ const a = Array.isArray(e) ? e : ne(e);
285
+ return i.removeTag(c(a));
286
+ }
287
+ function Ve(e) {
288
+ const a = re(e);
289
+ return i.setValue(
290
+ v.value ? a.map(c) : a[0] ? c(a[0]) : ""
291
+ );
292
+ }
293
+ const O = R(!1), X = A(), B = R("");
294
+ let P, Q, M = 0;
295
+ function Y() {
296
+ M++, clearTimeout(Q), Q = void 0, P == null || P.abort(), P = void 0, O.value = !1;
297
+ }
298
+ async function de(e = !1) {
299
+ Y(), X.value = void 0;
300
+ const a = i.query.value.trim();
301
+ if (!t.filterable || !a || !f.value || g.value) {
302
+ B.value = "";
303
+ return;
304
+ }
305
+ const l = M, n = new AbortController();
306
+ P = n, O.value = !0;
307
+ const r = async () => {
308
+ var d;
309
+ Q = void 0;
310
+ try {
311
+ const o = await (((d = t.beforeFilter) == null ? void 0 : d.call(t, a, {
312
+ signal: n.signal
313
+ })) ?? !0);
314
+ !n.signal.aborted && w.value && f.value && l === M && (B.value = o ? a : "");
315
+ } catch (o) {
316
+ !n.signal.aborted && l === M && (X.value = o, B.value = "", h("search-error", o, a));
317
+ } finally {
318
+ l === M && (O.value = !1, P = void 0);
319
+ }
320
+ }, u = e ? 0 : Math.max(0, Math.min(5e3, t.debounce ?? 0));
321
+ u ? Q = setTimeout(r, u) : await r();
322
+ }
323
+ const Me = s(() => {
324
+ const e = B.value;
325
+ if (!e) return [];
326
+ const a = i.tree.index.value.rows.filter((n) => !n.disabled && (H.value || !n.hasChildren)).filter(
327
+ (n) => t.filterMethod ? t.filterMethod(e, n.node.nodes) : n.node.labels.join(t.separator ?? " / ").toLocaleLowerCase().includes(e.toLocaleLowerCase())
328
+ );
329
+ t.searchSort && a.sort(
330
+ (n, r) => t.searchSort(V(String(n.key)), V(String(r.key)), e)
331
+ );
332
+ const l = t.searchLimit === !1 ? 1 / 0 : Math.max(0, Math.floor(t.searchLimit ?? 50));
333
+ return a.slice(0, l).map((n) => n.node);
334
+ });
335
+ z(
336
+ [
337
+ i.query,
338
+ f,
339
+ g,
340
+ () => t.filterable,
341
+ () => t.beforeFilter
342
+ ],
343
+ () => {
344
+ de();
345
+ },
346
+ { immediate: !0 }
347
+ );
348
+ let C, T = 0, k;
349
+ function U() {
350
+ T++, C == null || C.abort(), C = void 0, q.value = !1, k = void 0;
351
+ }
352
+ function se(e = !0) {
353
+ if (!t.loadRoot || !f.value || g.value)
354
+ return Promise.resolve(!1);
355
+ if (!e && N.value !== void 0) return Promise.resolve(!0);
356
+ if (k && !e) return k;
357
+ U();
358
+ const a = T, l = new AbortController(), n = t.loadRoot;
359
+ C = l, q.value = !0, D.value = void 0;
360
+ let r;
361
+ const u = new Promise((o) => {
362
+ r = () => o(!1), l.signal.addEventListener("abort", r, { once: !0 });
363
+ }), d = (async () => {
364
+ try {
365
+ const o = await n({ signal: l.signal });
366
+ if (l.signal.aborted || a !== T || !w.value || !f.value || n !== t.loadRoot)
367
+ return !1;
368
+ if (!Array.isArray(o))
369
+ throw new TypeError("loadRoot must resolve to an array");
370
+ return N.value = o, h("root-load", o), !0;
371
+ } catch (o) {
372
+ return !l.signal.aborted && a === T && (D.value = o, h("root-load-error", o)), !1;
373
+ } finally {
374
+ l.signal.removeEventListener("abort", r), a === T && (q.value = !1, C = void 0, k = void 0);
375
+ }
376
+ })();
377
+ return k = Promise.race([d, u]), k;
378
+ }
379
+ z(
380
+ [f, g, () => t.options, () => t.loadRoot],
381
+ () => {
382
+ f.value && !g.value && !t.options.length && t.loadRoot && se(!1);
383
+ },
384
+ { immediate: !0 }
385
+ ), z(
386
+ [() => t.options, () => t.loadRoot],
387
+ ([e, a], [l, n]) => {
388
+ !e.length && !l.length && a === n || (U(), N.value = void 0, D.value = void 0);
389
+ },
390
+ { flush: "sync" }
391
+ ), z(
392
+ [f, g],
393
+ () => {
394
+ (!f.value || g.value) && (m++, S.value = !1, U(), Y());
395
+ },
396
+ { flush: "sync" }
397
+ );
398
+ function ce() {
399
+ w.value = !1, m++, U(), Y(), S.value = !1;
400
+ }
401
+ return Te(ce), Le(ce), Re(() => w.value = !0), {
402
+ engine: i,
403
+ entries: F,
404
+ current: ae,
405
+ multiple: v,
406
+ items: Pe,
407
+ columns: Ce,
408
+ browsing: y,
409
+ anyLevel: H,
410
+ blocked: g,
411
+ words: me,
412
+ checking: S,
413
+ selectedPaths: oe,
414
+ modelKeys: j,
415
+ rootPending: q,
416
+ rootError: D,
417
+ filterPending: O,
418
+ filterError: X,
419
+ searchResults: Me,
420
+ item: V,
421
+ pick: Ae,
422
+ expandPath: ue,
423
+ removeTag: Ee,
424
+ setValue: Ve,
425
+ clear: i.clear,
426
+ filter: i.filter,
427
+ reloadRoot: se,
428
+ retrySearch: () => de(!0),
429
+ reloadNode: (e) => i.tree.reloadNode(c(e)),
430
+ getCheckedNodes: (e = !1) => v.value ? i.tree.getCheckedNodes(e).map((a) => a.raw) : j.value.flatMap((a) => {
431
+ const l = i.tree.index.value.map.get(a);
432
+ return l && (!e || !l.hasChildren) ? [l.node.raw] : [];
433
+ })
434
+ };
435
+ }
436
+ export {
437
+ Je as useCascader
438
+ };