hys-ui 0.2.0 → 0.4.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 (261) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +68 -59
  3. package/dist/components/HysAlert/HysAlert.vue.js +5 -54
  4. package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
  5. package/dist/components/HysAnimatedNumber/HysAnimatedNumber.vue.js +5 -41
  6. package/dist/components/HysAnimatedNumber/HysAnimatedNumber2.vue.js +146 -2
  7. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +2 -2
  8. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +285 -273
  9. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +1 -1
  10. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +102 -98
  11. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +1 -1
  12. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +273 -59
  13. package/dist/components/HysButton/HysButton.vue.js +2 -2
  14. package/dist/components/HysButton/HysButton2.vue.js +227 -60
  15. package/dist/components/HysButtonGroup/HysButtonGroup.vue.js +7 -0
  16. package/dist/components/HysButtonGroup/HysButtonGroup2.vue.js +51 -0
  17. package/dist/components/HysCalendar/HysCalendar.vue.js +3 -3
  18. package/dist/components/HysCalendar/HysCalendar2.vue.js +237 -225
  19. package/dist/components/HysCascader/HysCascader.vue.js +2 -2
  20. package/dist/components/HysCascader/HysCascader2.vue.js +337 -324
  21. package/dist/components/HysColorPicker/HysColorPanel.vue.js +7 -0
  22. package/dist/components/HysColorPicker/HysColorPanel2.vue.js +238 -0
  23. package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
  24. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -217
  25. package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +90 -76
  26. package/dist/components/HysContextMenu/HysContextMenu.vue.js +5 -89
  27. package/dist/components/HysContextMenu/HysContextMenu2.vue.js +247 -2
  28. package/dist/components/HysContextMenu/HysMenuPanel.vue.js +7 -0
  29. package/dist/components/HysContextMenu/HysMenuPanel2.vue.js +208 -0
  30. package/dist/components/HysContextMenu/HysMenuSlot.js +10 -0
  31. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  32. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1008 -559
  33. package/dist/components/HysDatePicker/HysDatePicker.vue.js +2 -0
  34. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
  35. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +539 -526
  36. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +5 -3
  37. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  38. package/dist/components/HysDrawer/HysDrawer2.vue.js +434 -84
  39. package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
  40. package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
  41. package/dist/components/HysFormItem/HysFormItem.vue.js +2 -2
  42. package/dist/components/HysFormItem/HysFormItem2.vue.js +171 -164
  43. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  44. package/dist/components/HysGantt/HysGantt2.vue.js +810 -795
  45. package/dist/components/HysMention/HysMention.vue.js +1 -1
  46. package/dist/components/HysMention/HysMention2.vue.js +1092 -142
  47. package/dist/components/HysModal/HysModal.vue.js +2 -2
  48. package/dist/components/HysModal/HysModal2.vue.js +491 -85
  49. package/dist/components/HysPagination/HysPagination.vue.js +2 -2
  50. package/dist/components/HysPagination/HysPagination2.vue.js +243 -180
  51. package/dist/components/HysPopover/HysPopover.vue.js +5 -91
  52. package/dist/components/HysPopover/HysPopover2.vue.js +120 -2
  53. package/dist/components/HysProgress/HysProgress.vue.js +2 -2
  54. package/dist/components/HysProgress/HysProgress2.vue.js +319 -52
  55. package/dist/components/HysSearch/HysSearch.vue.js +5 -82
  56. package/dist/components/HysSearch/HysSearch2.vue.js +176 -2
  57. package/dist/components/HysSelect/HysSelect.vue.js +2 -2
  58. package/dist/components/HysSelect/HysSelect2.vue.js +755 -590
  59. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  60. package/dist/components/HysSlider/HysSlider2.vue.js +192 -188
  61. package/dist/components/HysSlider/SliderTooltip.vue.js +2 -2
  62. package/dist/components/HysSlider/SliderTooltip2.vue.js +103 -89
  63. package/dist/components/HysSplitPane/HysSplitPane.vue.js +315 -58
  64. package/dist/components/HysSplitPane/HysSplitPane3.vue.js +5 -0
  65. package/dist/components/HysTable/HysTable.vue.js +2 -2
  66. package/dist/components/HysTable/HysTable2.vue.js +1416 -1127
  67. package/dist/components/HysTagInput/HysTagInput.vue.js +5 -82
  68. package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
  69. package/dist/components/HysTimeline/HysTimeline.vue.js +2 -2
  70. package/dist/components/HysTimeline/HysTimeline2.vue.js +243 -24
  71. package/dist/components/HysTooltip/HysTooltip.vue.js +5 -64
  72. package/dist/components/HysTooltip/HysTooltip2.vue.js +110 -2
  73. package/dist/components/HysTour/HysTour.vue.js +291 -63
  74. package/dist/components/HysTour/HysTour3.vue.js +5 -0
  75. package/dist/components/HysTransfer/HysTransfer.vue.js +2 -2
  76. package/dist/components/HysTransfer/HysTransfer2.vue.js +237 -207
  77. package/dist/components/HysTransfer/HysTransferPanel.vue.js +1 -1
  78. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +320 -271
  79. package/dist/components/HysTree/HysTree.vue.js +2 -2
  80. package/dist/components/HysTree/HysTree2.vue.js +195 -184
  81. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +4 -4
  82. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +389 -377
  83. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  84. package/dist/components/HysUpload/HysUpload2.vue.js +459 -125
  85. package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
  86. package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
  87. package/dist/composables/buttonGroup.js +12 -0
  88. package/dist/composables/color.js +97 -0
  89. package/dist/composables/dataGrid.js +68 -0
  90. package/dist/composables/drawer.js +17 -0
  91. package/dist/composables/feedback.js +14 -0
  92. package/dist/composables/floatingPosition.js +18 -0
  93. package/dist/composables/mentionDocument.js +79 -0
  94. package/dist/composables/mentionEditor.js +58 -0
  95. package/dist/composables/menu.js +96 -0
  96. package/dist/composables/modal.js +14 -0
  97. package/dist/composables/overlayManager.js +48 -18
  98. package/dist/composables/progress.js +94 -0
  99. package/dist/composables/selectOptions.js +44 -38
  100. package/dist/composables/splitPaneSizes.js +58 -0
  101. package/dist/composables/table.js +128 -105
  102. package/dist/composables/tagInput.js +16 -0
  103. package/dist/composables/timeline.js +19 -0
  104. package/dist/composables/transfer.js +19 -17
  105. package/dist/composables/upload.js +55 -0
  106. package/dist/composables/uploadRequest.js +58 -0
  107. package/dist/composables/useAlert.js +124 -0
  108. package/dist/composables/useColorPicker.js +402 -0
  109. package/dist/composables/useContextMenu.js +514 -0
  110. package/dist/composables/useDataGridRemote.js +67 -0
  111. package/dist/composables/useDialog.js +86 -43
  112. package/dist/composables/useDrawerPush.js +33 -0
  113. package/dist/composables/useDrawerResize.js +221 -0
  114. package/dist/composables/useFloating.js +118 -80
  115. package/dist/composables/useHysModal.js +185 -0
  116. package/dist/composables/useMentionCaret.js +81 -0
  117. package/dist/composables/useMentionList.js +81 -0
  118. package/dist/composables/useMentionModel.js +90 -0
  119. package/dist/composables/useMentionOptions.js +421 -0
  120. package/dist/composables/useModal.js +295 -0
  121. package/dist/composables/useModalInteraction.js +394 -0
  122. package/dist/composables/usePopupSurface.js +458 -0
  123. package/dist/composables/useSplitPaneDrag.js +52 -0
  124. package/dist/composables/useSplitPaneStorage.js +38 -0
  125. package/dist/composables/useTable.js +344 -312
  126. package/dist/composables/useTableSticky.js +79 -0
  127. package/dist/composables/useTagInput.js +313 -0
  128. package/dist/composables/useTourLayout.js +129 -0
  129. package/dist/composables/useTransferMotion.js +185 -0
  130. package/dist/composables/useUpload.js +472 -0
  131. package/dist/composables/useUploadModel.js +65 -0
  132. package/dist/composables/useUploadRequests.js +266 -0
  133. package/dist/composables/useVirtualTableLayout.js +277 -0
  134. package/dist/composables/virtualTable.js +43 -0
  135. package/dist/config.js +11 -11
  136. package/dist/index.js +175 -153
  137. package/dist/internal/MultiSplitPane.vue.js +305 -0
  138. package/dist/internal/MultiSplitPane2.vue.js +4 -0
  139. package/dist/internal/PopupReference.js +39 -0
  140. package/dist/internal/PopupSurfacePanel.vue.js +7 -0
  141. package/dist/internal/PopupSurfacePanel2.vue.js +92 -0
  142. package/dist/motion/PopupMotion.js +105 -0
  143. package/dist/motion/popup.js +10 -0
  144. package/dist/style.css +1 -1
  145. package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -22
  146. package/dist/types/components/HysAnimatedNumber/HysAnimatedNumber.vue.d.ts +61 -7
  147. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +7 -7
  148. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +6 -1
  149. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +3 -3
  150. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +54 -31
  151. package/dist/types/components/HysButton/HysButton.vue.d.ts +82 -22
  152. package/dist/types/components/HysButtonGroup/HysButtonGroup.vue.d.ts +30 -0
  153. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +3 -2
  154. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +7 -7
  155. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
  156. package/dist/types/components/HysColorPicker/HysColorPanel.vue.d.ts +58 -0
  157. package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +63 -10
  158. package/dist/types/components/HysCommandPalette/HysCommandPalette.vue.d.ts +2 -1
  159. package/dist/types/components/HysContextMenu/HysContextMenu.vue.d.ts +50 -34
  160. package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +79 -0
  161. package/dist/types/components/HysContextMenu/HysMenuSlot.d.ts +8 -0
  162. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +65 -118
  163. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +3 -3
  164. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +92 -35
  165. package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
  166. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
  167. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +2 -1
  168. package/dist/types/components/HysMention/HysMention.vue.d.ts +91 -39
  169. package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
  170. package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +2 -2
  171. package/dist/types/components/HysPagination/HysPagination.vue.d.ts +55 -4
  172. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +41 -29
  173. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +18 -24
  174. package/dist/types/components/HysRating/HysRating.vue.d.ts +1 -1
  175. package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
  176. package/dist/types/components/HysSearch/HysSearch.vue.d.ts +45 -7
  177. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +19 -5
  178. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +5 -4
  179. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +3 -1
  180. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +125 -14
  181. package/dist/types/components/HysSteps/HysSteps.vue.d.ts +1 -1
  182. package/dist/types/components/HysTable/HysTable.vue.d.ts +1742 -5
  183. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +2 -2
  184. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +47 -25
  185. package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
  186. package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
  187. package/dist/types/components/HysTour/HysTour.vue.d.ts +46 -8
  188. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +2 -2
  189. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +5 -3
  190. package/dist/types/components/HysTree/HysTree.vue.d.ts +2 -2
  191. package/dist/types/components/HysUpload/HysUpload.vue.d.ts +55 -67
  192. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +71 -40
  193. package/dist/types/composables/autocomplete.d.ts +3 -0
  194. package/dist/types/composables/avatar.d.ts +3 -0
  195. package/dist/types/composables/buttonGroup.d.ts +9 -0
  196. package/dist/types/composables/cascader.d.ts +3 -0
  197. package/dist/types/composables/color.d.ts +97 -0
  198. package/dist/types/composables/dataGrid.d.ts +100 -0
  199. package/dist/types/composables/datePicker.d.ts +3 -0
  200. package/dist/types/composables/drawer.d.ts +102 -0
  201. package/dist/types/composables/feedback.d.ts +98 -0
  202. package/dist/types/composables/floatingPosition.d.ts +14 -0
  203. package/dist/types/composables/formContext.d.ts +2 -0
  204. package/dist/types/composables/mention.d.ts +284 -0
  205. package/dist/types/composables/mentionDocument.d.ts +15 -0
  206. package/dist/types/composables/mentionEditor.d.ts +7 -0
  207. package/dist/types/composables/menu.d.ts +183 -0
  208. package/dist/types/composables/modal.d.ts +185 -0
  209. package/dist/types/composables/overlayManager.d.ts +7 -3
  210. package/dist/types/composables/popupSurface.d.ts +83 -0
  211. package/dist/types/composables/progress.d.ts +92 -0
  212. package/dist/types/composables/selectOptions.d.ts +7 -0
  213. package/dist/types/composables/splitPaneSizes.d.ts +11 -0
  214. package/dist/types/composables/table.d.ts +119 -6
  215. package/dist/types/composables/tagInput.d.ts +96 -0
  216. package/dist/types/composables/timeline.d.ts +82 -0
  217. package/dist/types/composables/tour.d.ts +68 -0
  218. package/dist/types/composables/transfer.d.ts +7 -0
  219. package/dist/types/composables/tree.d.ts +3 -0
  220. package/dist/types/composables/treeSelect.d.ts +3 -0
  221. package/dist/types/composables/upload.d.ts +202 -0
  222. package/dist/types/composables/uploadRequest.d.ts +3 -0
  223. package/dist/types/composables/useAlert.d.ts +21 -0
  224. package/dist/types/composables/useCascader.d.ts +1 -1
  225. package/dist/types/composables/useColorPicker.d.ts +101 -0
  226. package/dist/types/composables/useContextMenu.d.ts +81 -0
  227. package/dist/types/composables/useDataGridRemote.d.ts +15 -0
  228. package/dist/types/composables/useDialog.d.ts +16 -3
  229. package/dist/types/composables/useDrawerPush.d.ts +6 -0
  230. package/dist/types/composables/useDrawerResize.d.ts +27 -0
  231. package/dist/types/composables/useFloating.d.ts +22 -3
  232. package/dist/types/composables/useHysModal.d.ts +44 -0
  233. package/dist/types/composables/useMentionCaret.d.ts +6 -0
  234. package/dist/types/composables/useMentionList.d.ts +23 -0
  235. package/dist/types/composables/useMentionModel.d.ts +14 -0
  236. package/dist/types/composables/useMentionOptions.d.ts +26 -0
  237. package/dist/types/composables/useModal.d.ts +62 -0
  238. package/dist/types/composables/useModalInteraction.d.ts +27 -0
  239. package/dist/types/composables/usePopupSurface.d.ts +3341 -0
  240. package/dist/types/composables/useSplitPaneDrag.d.ts +14 -0
  241. package/dist/types/composables/useSplitPaneStorage.d.ts +4 -0
  242. package/dist/types/composables/useTable.d.ts +7 -3
  243. package/dist/types/composables/useTableSticky.d.ts +22 -0
  244. package/dist/types/composables/useTagInput.d.ts +66 -0
  245. package/dist/types/composables/useTourLayout.d.ts +33 -0
  246. package/dist/types/composables/useTransferMotion.d.ts +36 -0
  247. package/dist/types/composables/useUpload.d.ts +94 -0
  248. package/dist/types/composables/useUploadModel.d.ts +14 -0
  249. package/dist/types/composables/useUploadRequests.d.ts +38 -0
  250. package/dist/types/composables/useVirtualTableLayout.d.ts +51 -0
  251. package/dist/types/composables/virtualTable.d.ts +126 -0
  252. package/dist/types/config.d.ts +1 -0
  253. package/dist/types/index.d.ts +53 -3
  254. package/dist/types/internal/MultiSplitPane.vue.d.ts +54 -0
  255. package/dist/types/internal/PopupReference.d.ts +18 -0
  256. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +37 -0
  257. package/dist/types/motion/PopupMotion.d.ts +59 -0
  258. package/dist/types/motion/popup.d.ts +12 -0
  259. package/package.json +3 -2
  260. package/dist/components/HysSplitPane/HysSplitPane2.vue.js +0 -4
  261. package/dist/components/HysTour/HysTour2.vue.js +0 -4
@@ -0,0 +1,4 @@
1
+ import f from "./MultiSplitPane.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,39 @@
1
+ import { defineComponent as u, isVNode as g, Text as l, Comment as s, h as b, Fragment as f, cloneVNode as x } from "vue";
2
+ const m = (n) => n.flatMap(
3
+ (e) => e.type === f ? m(e.children) : e.type === s || e.type === l && !String(e.children).trim() ? [] : [e]
4
+ ), k = u({
5
+ name: "HysPopupReference",
6
+ inheritAttrs: !1,
7
+ props: { id: String, open: Boolean, kind: String },
8
+ emits: ["element"],
9
+ setup(n, { slots: e, emit: h }) {
10
+ const y = (t) => {
11
+ const r = (t == null ? void 0 : t.$el) ?? t;
12
+ h("element", r instanceof HTMLElement ? r : void 0);
13
+ };
14
+ return () => {
15
+ var a, p, d, c;
16
+ const t = ((a = e.default) == null ? void 0 : a.call(e)) ?? [], r = m(t), i = r[0];
17
+ if (r.length !== 1 || !g(i) || i.type === l || i.type === s)
18
+ return b(f, null, t);
19
+ const o = (p = i.props) == null ? void 0 : p["aria-describedby"];
20
+ return x(
21
+ i,
22
+ {
23
+ ref: y,
24
+ ...n.kind === "tooltip" ? {
25
+ "aria-describedby": n.open ? [o, n.id].filter(Boolean).join(" ") : o
26
+ } : {
27
+ "aria-controls": n.open ? n.id : (d = i.props) == null ? void 0 : d["aria-controls"],
28
+ "aria-expanded": n.open,
29
+ "aria-haspopup": ((c = i.props) == null ? void 0 : c["aria-haspopup"]) ?? "dialog"
30
+ }
31
+ },
32
+ !0
33
+ );
34
+ };
35
+ }
36
+ });
37
+ export {
38
+ k as default
39
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./PopupSurfacePanel2.vue.js";
2
+ /* empty css */
3
+ import p from "../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ p(o, [["__scopeId", "data-v-1bdc76f1"]]);
5
+ export {
6
+ f as default
7
+ };
@@ -0,0 +1,92 @@
1
+ import { defineComponent as m, provide as y, computed as p, openBlock as i, createBlock as b, Teleport as k, createVNode as h, unref as r, withCtx as w, withDirectives as P, createElementBlock as o, mergeProps as g, normalizeStyle as s, createCommentVNode as l, createElementVNode as E, normalizeClass as L, renderSlot as c, normalizeProps as d, guardReactiveProps as f, createTextVNode as S, toDisplayString as C, vShow as F } from "vue";
2
+ import I from "../motion/PopupMotion.js";
3
+ import { useHysRootAttrs as T } from "../config.js";
4
+ import { overlayOwnerKey as N } from "../composables/overlayManager.js";
5
+ const V = ["id", "role", "aria-label", "aria-labelledby", "data-side", "data-placement"], $ = ["id"], A = /* @__PURE__ */ m({
6
+ __name: "PopupSurfacePanel",
7
+ props: {
8
+ surface: {},
9
+ options: {},
10
+ kind: {},
11
+ title: {}
12
+ },
13
+ setup(e) {
14
+ const u = e;
15
+ y(
16
+ N,
17
+ p(() => u.surface.active.value && u.surface.open.value)
18
+ );
19
+ const v = T();
20
+ return (n, a) => e.surface.active.value ? (i(), b(k, {
21
+ key: 0,
22
+ to: e.surface.teleportTo.value,
23
+ disabled: e.options.appendTo === !1
24
+ }, [
25
+ h(r(I), {
26
+ "popup-transition": e.options.popupTransition,
27
+ "popup-transition-duration": e.options.popupTransitionDuration,
28
+ placement: e.surface.placement.value,
29
+ "ignore-owner": "",
30
+ onEntered: e.surface.afterEnter,
31
+ onLeft: e.surface.afterLeave,
32
+ onInactive: e.surface.inactive
33
+ }, {
34
+ default: w(() => [
35
+ e.surface.mounted.value ? P((i(), o("div", g({
36
+ key: 0,
37
+ id: e.surface.id,
38
+ ref: (t) => e.surface.panel.value = t
39
+ }, r(v), {
40
+ class: ["hys-ui-popup-surface-panel", [
41
+ e.kind === "tooltip" ? "hys-ui-tooltip-bubble hys-ui-floating-tooltip" : "hys-ui-popover-panel hys-ui-floating-surface",
42
+ e.options.overlayClass,
43
+ { "hys-ui-popup-enterable": e.options.enterable !== !1 }
44
+ ]],
45
+ style: e.surface.style.value,
46
+ role: e.kind === "tooltip" ? "tooltip" : "dialog",
47
+ "aria-label": e.options.ariaLabel || (e.kind === "popover" ? e.title || "浮层" : void 0),
48
+ "aria-labelledby": e.kind === "popover" && !e.options.ariaLabel && (e.title || n.$slots.title) ? e.surface.titleId : void 0,
49
+ "data-side": e.surface.placement.value.split("-")[0],
50
+ "data-placement": e.surface.placement.value,
51
+ onPointerenter: a[0] || (a[0] = //@ts-ignore
52
+ (...t) => e.surface.panelEnter && e.surface.panelEnter(...t)),
53
+ onPointerleave: a[1] || (a[1] = //@ts-ignore
54
+ (...t) => e.surface.panelLeave && e.surface.panelLeave(...t)),
55
+ onFocusin: a[2] || (a[2] = //@ts-ignore
56
+ (...t) => e.surface.panelFocusIn && e.surface.panelFocusIn(...t)),
57
+ onFocusout: a[3] || (a[3] = //@ts-ignore
58
+ (...t) => e.surface.panelFocusOut && e.surface.panelFocusOut(...t))
59
+ }), [
60
+ e.options.showArrow ? (i(), o("span", {
61
+ key: 0,
62
+ class: "hys-ui-popup-arrow",
63
+ style: s(e.surface.arrowStyle.value),
64
+ "aria-hidden": "true"
65
+ }, null, 4)) : l("", !0),
66
+ E("div", {
67
+ class: L(["hys-ui-popup-surface-content", e.options.contentClass]),
68
+ style: s(e.surface.contentStyle.value)
69
+ }, [
70
+ e.kind === "popover" && (e.title || n.$slots.title) ? (i(), o("div", {
71
+ key: 0,
72
+ id: e.surface.titleId,
73
+ class: "hys-ui-popup-surface-title"
74
+ }, [
75
+ c(n.$slots, "title", d(f(e.surface.scope.value)), () => [
76
+ S(C(e.title), 1)
77
+ ], !0)
78
+ ], 8, $)) : l("", !0),
79
+ c(n.$slots, "default", d(f(e.surface.scope.value)), void 0, !0)
80
+ ], 6)
81
+ ], 16, V)), [
82
+ [F, e.surface.open.value]
83
+ ]) : l("", !0)
84
+ ]),
85
+ _: 3
86
+ }, 8, ["popup-transition", "popup-transition-duration", "placement", "onEntered", "onLeft", "onInactive"])
87
+ ], 8, ["to", "disabled"])) : l("", !0);
88
+ }
89
+ });
90
+ export {
91
+ A as default
92
+ };
@@ -0,0 +1,105 @@
1
+ import { defineComponent as T, ref as x, inject as B, computed as p, watch as W, onMounted as C, onActivated as D, onDeactivated as O, onBeforeUnmount as k, h as H, Transition as N } from "vue";
2
+ import { useHysRootAttrs as S } from "../config.js";
3
+ import { overlayOwnerKey as j } from "../composables/overlayManager.js";
4
+ const U = T({
5
+ name: "HysPopupMotion",
6
+ props: {
7
+ popupTransition: {
8
+ type: String,
9
+ default: void 0
10
+ },
11
+ popupTransitionDuration: { type: Number, default: void 0 },
12
+ placement: { type: String, default: "bottom-start" },
13
+ disabled: { type: Boolean, default: !1 },
14
+ ignoreOwner: { type: Boolean, default: !1 }
15
+ },
16
+ emits: ["inactive", "entered", "left"],
17
+ setup(i, { slots: A, emit: s }) {
18
+ var w;
19
+ const E = S(), l = x(!0), h = x(
20
+ typeof window < "u" && !!((w = window.matchMedia) != null && w.call(window, "(prefers-reduced-motion: reduce)").matches)
21
+ ), a = B(j, void 0);
22
+ let n, c = !1;
23
+ const v = p(() => i.popupTransition ?? "scale"), y = p(
24
+ () => Number.isFinite(i.popupTransitionDuration) ? Math.max(0, Math.min(2e3, i.popupTransitionDuration)) : 160
25
+ ), M = p(
26
+ () => l.value && (i.ignoreOwner || (a == null ? void 0 : a.value) !== !1)
27
+ ), L = p(
28
+ () => !i.disabled && v.value !== "none" && y.value > 0 && E.value["data-hys-motion"] !== "off" && !h.value
29
+ );
30
+ let o;
31
+ const d = /* @__PURE__ */ new WeakMap();
32
+ function f() {
33
+ h.value = !!(n != null && n.matches);
34
+ }
35
+ function m() {
36
+ var t;
37
+ c || (c = !0, n = (t = window.matchMedia) == null ? void 0 : t.call(window, "(prefers-reduced-motion: reduce)"), f(), n == null || n.addEventListener("change", f));
38
+ }
39
+ function g() {
40
+ c = !1, n == null || n.removeEventListener("change", f);
41
+ }
42
+ function u(t) {
43
+ const e = t, r = d.get(t);
44
+ r && (e.inert = r.inert, r.aria === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", r.aria), e.style.pointerEvents = r.pointer, d.delete(t)), e.classList.add("hys-ui-popup-motion"), e.style.setProperty(
45
+ "--hys-ui-popup-duration",
46
+ y.value + "ms"
47
+ ), o = e, b(e);
48
+ }
49
+ function b(t) {
50
+ const e = i.placement;
51
+ t.style.setProperty(
52
+ "--hys-ui-popup-origin",
53
+ e.startsWith("top") ? "bottom center" : e.startsWith("left") ? "right center" : e.startsWith("right") ? "left center" : "top center"
54
+ ), t.style.setProperty(
55
+ "--hys-ui-popup-x",
56
+ e.startsWith("left") ? "6px" : e.startsWith("right") ? "-6px" : "0px"
57
+ ), t.style.setProperty(
58
+ "--hys-ui-popup-y",
59
+ e.startsWith("left") || e.startsWith("right") ? "0px" : e.startsWith("top") ? "6px" : "-6px"
60
+ );
61
+ }
62
+ function P(t) {
63
+ const e = t;
64
+ u(t), d.set(t, {
65
+ inert: e.inert,
66
+ aria: e.getAttribute("aria-hidden"),
67
+ pointer: e.style.pointerEvents
68
+ }), e.inert = !0, e.setAttribute("aria-hidden", "true"), e.style.pointerEvents = "none";
69
+ }
70
+ return W(
71
+ () => i.placement,
72
+ () => {
73
+ o != null && o.isConnected && b(o);
74
+ },
75
+ { flush: "post" }
76
+ ), C(m), D(() => {
77
+ l.value = !0, m();
78
+ }), O(() => {
79
+ l.value = !1, g(), s("inactive");
80
+ }), k(g), W(
81
+ () => a == null ? void 0 : a.value,
82
+ (t) => {
83
+ t === !1 && !i.ignoreOwner && s("inactive");
84
+ },
85
+ { flush: "sync" }
86
+ ), () => M.value ? H(
87
+ N,
88
+ {
89
+ name: "hys-ui-popup-" + v.value,
90
+ appear: !0,
91
+ css: L.value,
92
+ onAfterEnter: () => s("entered"),
93
+ onAfterLeave: () => s("left"),
94
+ onBeforeEnter: u,
95
+ onEnterCancelled: u,
96
+ onBeforeLeave: P,
97
+ onLeaveCancelled: u
98
+ },
99
+ A.default
100
+ ) : null;
101
+ }
102
+ });
103
+ export {
104
+ U as default
105
+ };
@@ -0,0 +1,10 @@
1
+ function h(t) {
2
+ const i = t.getBoundingClientRect();
3
+ return {
4
+ width: t.offsetWidth || i.width,
5
+ height: t.offsetHeight || i.height
6
+ };
7
+ }
8
+ export {
9
+ h as popupSize
10
+ };