hys-ui 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +15 -1
  3. package/dist/components/HysAlert/HysAlert.vue.js +5 -54
  4. package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
  5. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +2 -2
  6. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +285 -273
  7. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +1 -1
  8. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +102 -98
  9. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +1 -1
  10. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +273 -59
  11. package/dist/components/HysCalendar/HysCalendar.vue.js +3 -3
  12. package/dist/components/HysCalendar/HysCalendar2.vue.js +237 -225
  13. package/dist/components/HysCascader/HysCascader.vue.js +2 -2
  14. package/dist/components/HysCascader/HysCascader2.vue.js +337 -324
  15. package/dist/components/HysColorPicker/HysColorPanel.vue.js +7 -0
  16. package/dist/components/HysColorPicker/HysColorPanel2.vue.js +238 -0
  17. package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
  18. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -217
  19. package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +90 -76
  20. package/dist/components/HysContextMenu/HysContextMenu.vue.js +5 -89
  21. package/dist/components/HysContextMenu/HysContextMenu2.vue.js +247 -2
  22. package/dist/components/HysContextMenu/HysMenuPanel.vue.js +7 -0
  23. package/dist/components/HysContextMenu/HysMenuPanel2.vue.js +208 -0
  24. package/dist/components/HysContextMenu/HysMenuSlot.js +10 -0
  25. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  26. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1008 -559
  27. package/dist/components/HysDatePicker/HysDatePicker.vue.js +2 -0
  28. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
  29. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +539 -526
  30. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +5 -3
  31. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  32. package/dist/components/HysDrawer/HysDrawer2.vue.js +434 -84
  33. package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
  34. package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
  35. package/dist/components/HysFormItem/HysFormItem.vue.js +2 -2
  36. package/dist/components/HysFormItem/HysFormItem2.vue.js +171 -164
  37. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  38. package/dist/components/HysGantt/HysGantt2.vue.js +810 -795
  39. package/dist/components/HysMention/HysMention.vue.js +1 -1
  40. package/dist/components/HysMention/HysMention2.vue.js +112 -100
  41. package/dist/components/HysModal/HysModal.vue.js +2 -2
  42. package/dist/components/HysModal/HysModal2.vue.js +490 -85
  43. package/dist/components/HysPopover/HysPopover.vue.js +5 -91
  44. package/dist/components/HysPopover/HysPopover2.vue.js +120 -2
  45. package/dist/components/HysProgress/HysProgress.vue.js +2 -2
  46. package/dist/components/HysProgress/HysProgress2.vue.js +319 -52
  47. package/dist/components/HysSelect/HysSelect.vue.js +2 -2
  48. package/dist/components/HysSelect/HysSelect2.vue.js +730 -594
  49. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  50. package/dist/components/HysSlider/HysSlider2.vue.js +192 -188
  51. package/dist/components/HysSlider/SliderTooltip.vue.js +2 -2
  52. package/dist/components/HysSlider/SliderTooltip2.vue.js +103 -89
  53. package/dist/components/HysTable/HysTable.vue.js +2 -2
  54. package/dist/components/HysTable/HysTable2.vue.js +389 -368
  55. package/dist/components/HysTagInput/HysTagInput.vue.js +5 -82
  56. package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
  57. package/dist/components/HysTimeline/HysTimeline.vue.js +2 -2
  58. package/dist/components/HysTimeline/HysTimeline2.vue.js +243 -24
  59. package/dist/components/HysTooltip/HysTooltip.vue.js +5 -64
  60. package/dist/components/HysTooltip/HysTooltip2.vue.js +110 -2
  61. package/dist/components/HysTour/HysTour.vue.js +46 -42
  62. package/dist/components/HysTransfer/HysTransfer.vue.js +2 -2
  63. package/dist/components/HysTransfer/HysTransfer2.vue.js +237 -207
  64. package/dist/components/HysTransfer/HysTransferPanel.vue.js +1 -1
  65. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +320 -271
  66. package/dist/components/HysTree/HysTree.vue.js +2 -2
  67. package/dist/components/HysTree/HysTree2.vue.js +195 -184
  68. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +4 -4
  69. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +389 -377
  70. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  71. package/dist/components/HysUpload/HysUpload2.vue.js +459 -125
  72. package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
  73. package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
  74. package/dist/composables/color.js +97 -0
  75. package/dist/composables/dataGrid.js +68 -0
  76. package/dist/composables/drawer.js +17 -0
  77. package/dist/composables/feedback.js +14 -0
  78. package/dist/composables/menu.js +96 -0
  79. package/dist/composables/modal.js +14 -0
  80. package/dist/composables/overlayManager.js +48 -18
  81. package/dist/composables/progress.js +94 -0
  82. package/dist/composables/tagInput.js +16 -0
  83. package/dist/composables/timeline.js +19 -0
  84. package/dist/composables/transfer.js +19 -17
  85. package/dist/composables/upload.js +55 -0
  86. package/dist/composables/uploadRequest.js +58 -0
  87. package/dist/composables/useAlert.js +124 -0
  88. package/dist/composables/useColorPicker.js +402 -0
  89. package/dist/composables/useContextMenu.js +514 -0
  90. package/dist/composables/useDataGridRemote.js +67 -0
  91. package/dist/composables/useDialog.js +86 -43
  92. package/dist/composables/useDrawerPush.js +33 -0
  93. package/dist/composables/useDrawerResize.js +221 -0
  94. package/dist/composables/useFloating.js +110 -76
  95. package/dist/composables/useHysModal.js +185 -0
  96. package/dist/composables/useModal.js +295 -0
  97. package/dist/composables/useModalInteraction.js +394 -0
  98. package/dist/composables/usePopupSurface.js +458 -0
  99. package/dist/composables/useTagInput.js +313 -0
  100. package/dist/composables/useTransferMotion.js +185 -0
  101. package/dist/composables/useUpload.js +472 -0
  102. package/dist/composables/useUploadModel.js +65 -0
  103. package/dist/composables/useUploadRequests.js +266 -0
  104. package/dist/composables/useVirtualTableLayout.js +277 -0
  105. package/dist/composables/virtualTable.js +43 -0
  106. package/dist/index.js +27 -24
  107. package/dist/internal/PopupReference.js +39 -0
  108. package/dist/internal/PopupSurfacePanel.vue.js +7 -0
  109. package/dist/internal/PopupSurfacePanel2.vue.js +92 -0
  110. package/dist/motion/PopupMotion.js +105 -0
  111. package/dist/motion/popup.js +10 -0
  112. package/dist/style.css +1 -1
  113. package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -22
  114. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +7 -7
  115. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +6 -1
  116. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +3 -3
  117. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +54 -31
  118. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +3 -2
  119. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +7 -7
  120. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
  121. package/dist/types/components/HysColorPicker/HysColorPanel.vue.d.ts +58 -0
  122. package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +63 -10
  123. package/dist/types/components/HysCommandPalette/HysCommandPalette.vue.d.ts +2 -1
  124. package/dist/types/components/HysContextMenu/HysContextMenu.vue.d.ts +50 -34
  125. package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +79 -0
  126. package/dist/types/components/HysContextMenu/HysMenuSlot.d.ts +8 -0
  127. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +65 -118
  128. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +1 -1
  129. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +92 -35
  130. package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
  131. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
  132. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +2 -1
  133. package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -1
  134. package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
  135. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +41 -29
  136. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +18 -24
  137. package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
  138. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +13 -4
  139. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +5 -4
  140. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +3 -1
  141. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +2 -2
  142. package/dist/types/components/HysTable/HysTable.vue.d.ts +4 -4
  143. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +2 -2
  144. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +47 -25
  145. package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
  146. package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
  147. package/dist/types/components/HysTour/HysTour.vue.d.ts +2 -1
  148. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +2 -2
  149. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +5 -3
  150. package/dist/types/components/HysTree/HysTree.vue.d.ts +2 -2
  151. package/dist/types/components/HysUpload/HysUpload.vue.d.ts +55 -67
  152. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +71 -40
  153. package/dist/types/composables/autocomplete.d.ts +3 -0
  154. package/dist/types/composables/avatar.d.ts +3 -0
  155. package/dist/types/composables/cascader.d.ts +3 -0
  156. package/dist/types/composables/color.d.ts +97 -0
  157. package/dist/types/composables/dataGrid.d.ts +100 -0
  158. package/dist/types/composables/datePicker.d.ts +3 -0
  159. package/dist/types/composables/drawer.d.ts +102 -0
  160. package/dist/types/composables/feedback.d.ts +98 -0
  161. package/dist/types/composables/formContext.d.ts +2 -0
  162. package/dist/types/composables/menu.d.ts +183 -0
  163. package/dist/types/composables/modal.d.ts +183 -0
  164. package/dist/types/composables/overlayManager.d.ts +7 -3
  165. package/dist/types/composables/popupSurface.d.ts +83 -0
  166. package/dist/types/composables/progress.d.ts +92 -0
  167. package/dist/types/composables/selectOptions.d.ts +2 -0
  168. package/dist/types/composables/table.d.ts +3 -0
  169. package/dist/types/composables/tagInput.d.ts +96 -0
  170. package/dist/types/composables/timeline.d.ts +82 -0
  171. package/dist/types/composables/transfer.d.ts +7 -0
  172. package/dist/types/composables/tree.d.ts +3 -0
  173. package/dist/types/composables/treeSelect.d.ts +3 -0
  174. package/dist/types/composables/upload.d.ts +202 -0
  175. package/dist/types/composables/uploadRequest.d.ts +3 -0
  176. package/dist/types/composables/useAlert.d.ts +21 -0
  177. package/dist/types/composables/useCascader.d.ts +1 -1
  178. package/dist/types/composables/useColorPicker.d.ts +101 -0
  179. package/dist/types/composables/useContextMenu.d.ts +81 -0
  180. package/dist/types/composables/useDataGridRemote.d.ts +15 -0
  181. package/dist/types/composables/useDialog.d.ts +16 -3
  182. package/dist/types/composables/useDrawerPush.d.ts +6 -0
  183. package/dist/types/composables/useDrawerResize.d.ts +27 -0
  184. package/dist/types/composables/useFloating.d.ts +21 -2
  185. package/dist/types/composables/useHysModal.d.ts +44 -0
  186. package/dist/types/composables/useModal.d.ts +62 -0
  187. package/dist/types/composables/useModalInteraction.d.ts +27 -0
  188. package/dist/types/composables/usePopupSurface.d.ts +3341 -0
  189. package/dist/types/composables/useTagInput.d.ts +66 -0
  190. package/dist/types/composables/useTransferMotion.d.ts +36 -0
  191. package/dist/types/composables/useUpload.d.ts +94 -0
  192. package/dist/types/composables/useUploadModel.d.ts +14 -0
  193. package/dist/types/composables/useUploadRequests.d.ts +38 -0
  194. package/dist/types/composables/useVirtualTableLayout.d.ts +51 -0
  195. package/dist/types/composables/virtualTable.d.ts +126 -0
  196. package/dist/types/index.d.ts +17 -2
  197. package/dist/types/internal/PopupReference.d.ts +18 -0
  198. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +37 -0
  199. package/dist/types/motion/PopupMotion.d.ts +59 -0
  200. package/dist/types/motion/popup.d.ts +12 -0
  201. package/package.json +1 -1
@@ -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
+ };