@pubinfo-pr/module-rbac 0.204.5 → 0.220.2

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 (159) hide show
  1. package/dist/ComponentSelect-A7uGTuHW.js +3498 -0
  2. package/dist/{DynamicRoutesForm-DP_sq_Uu.js → DynamicRoutesForm-DSzy_bh5.js} +43 -42
  3. package/dist/HCheckList-ODQHidN8.js +37 -0
  4. package/dist/HoverCard-CmJCoa2b.js +44 -0
  5. package/dist/{IconSelect-CiLpc63Z.js → IconSelect-DouEg3xY.js} +89 -88
  6. package/dist/ImportExport-DisdLoY8.js +342 -0
  7. package/dist/{LayoutForm-Cp4bBrYl.js → LayoutForm-Bdfs5WeK.js} +35 -34
  8. package/dist/{MetaForm-CVSgktB_.js → MetaForm-CcDwS8vh.js} +6128 -6143
  9. package/dist/{OrgAndPosition-ClASobEv.js → OrgAndPosition-jDX7m0HD.js} +61 -60
  10. package/dist/{ResourceEdit-w8qh1MFO.js → ResourceEdit-0BYZRye_.js} +128 -127
  11. package/dist/{ResourceRelation-ChEwIbWM.js → ResourceRelation-CU-QpUhP.js} +25 -25
  12. package/dist/{ResourceRelation-D_j898zp.js → ResourceRelation-roz0a8Td.js} +35 -34
  13. package/dist/{RoleRelation-DzyVn5dk.js → RoleRelation-BQQFaum0.js} +28 -27
  14. package/dist/{RoleSelector-Cd6_RUsc.js → RoleSelector-gkar_UGG.js} +89 -89
  15. package/dist/{TenantEdit-BOvXk7BZ.js → TenantEdit-BsahDUlf.js} +94 -93
  16. package/dist/{UserAuthorization-DLeivbs7.js → UserAuthorization-2Fl4IGw7.js} +81 -80
  17. package/dist/{UserEdit-YKS1FVW_.js → UserEdit-CX3Qau8T.js} +102 -101
  18. package/dist/{animation_item-BU-LInxP.js → animation_item-DBOz2rcX.js} +20 -22
  19. package/dist/{blackWhiteList-CNQltBqC.js → blackWhiteList-DbG7JH8n.js} +69 -69
  20. package/dist/blackWhiteList.css +1 -1
  21. package/dist/{breadcrumb_setting-Ds-XJRR1.js → breadcrumb_setting-Dx2Li6xt.js} +19 -19
  22. package/dist/{browserType-Dn_hQtAN.js → browserType-B8A1Osvk.js} +11 -10
  23. package/dist/chunk-DiMWNkAf.js +18 -0
  24. package/dist/cloneDeep-CSOSavu3.js +6 -0
  25. package/dist/components/GroupSelector/index.vue.d.ts +7 -1
  26. package/dist/components/ResourceIcones/Select.vue.d.ts +2 -1
  27. package/dist/components/ResourceSelector/index.vue.d.ts +7 -1
  28. package/dist/components/RoleSelector/RoleSearch.vue.d.ts +9 -1
  29. package/dist/components/RoleSelector/RoleSelector.vue.d.ts +7 -1
  30. package/dist/{createAndEditDataPermission-CaOBJgoV.js → createAndEditDataPermission-8_KNLzJT.js} +49 -48
  31. package/dist/createAndEditDataPermission.css +1 -1
  32. package/dist/{data-permission-ZRQ-Aoib.js → data-permission-LpuDLDm0.js} +41 -41
  33. package/dist/{dayjs.min-sGDSMYRj.js → dayjs.min-Cb7gQFd4.js} +1 -1
  34. package/dist/{dictionary-CtGgtPfc.js → dictionary-CEaxjqZe.js} +46 -46
  35. package/dist/drawerBlackWhiteList-DXLdWurZ.js +120 -0
  36. package/dist/drawerDictionary-DYJTAZr6.js +126 -0
  37. package/dist/drawerDictionaryItem-BChXD2-q.js +138 -0
  38. package/dist/{drawerGroup-DEuiiDPP.js → drawerGroup-CdnZkZxi.js} +67 -66
  39. package/dist/drawerOrganization-CwtSFUj0.js +247 -0
  40. package/dist/drawerPosition-CfyfeQCN.js +166 -0
  41. package/dist/drawerRegion-DAwY_29K.js +183 -0
  42. package/dist/drawerRole-B7uCfHk-.js +154 -0
  43. package/dist/{drawerRole-Dv61PBZR.js → drawerRole-DK6DrinO.js} +77 -76
  44. package/dist/{drawerRole-DNDyOvXw.js → drawerRole-DrzMHL0O.js} +69 -68
  45. package/dist/{group-BbkZjv5e.js → group-CaOhkh72.js} +48 -48
  46. package/dist/group.css +1 -1
  47. package/dist/index.css +1 -1
  48. package/dist/index.js +613 -689
  49. package/dist/isEmpty-BjEzPyCa.js +12 -0
  50. package/dist/{itemlist-By-FV6pN.js → itemlist-CFwRUV2Y.js} +44 -44
  51. package/dist/{layout_setting-BUAgQ1Bk.js → layout_setting-79srmFgJ.js} +11 -11
  52. package/dist/layout_setting.css +1 -1
  53. package/dist/{log-vjU7aBPR.js → log-BYris9iT.js} +6 -6
  54. package/dist/{loginHistoryDetail-C7GT2yME.js → loginHistoryDetail-CZnfmbbM.js} +24 -23
  55. package/dist/{login_history-D08W00Qu.js → login_history-BiwaLpxA.js} +33 -33
  56. package/dist/login_history.css +1 -1
  57. package/dist/{menu_setting-5Jet091Q.js → menu_setting-ChueWHs4.js} +42 -42
  58. package/dist/not-data-Bml86wdH.js +3 -0
  59. package/dist/{operateHistoryDetail-BaNJRfwy.js → operateHistoryDetail-HId-EZzy.js} +27 -26
  60. package/dist/{operate_history-kJwIuPg2.js → operate_history-sPd9IHMV.js} +33 -33
  61. package/dist/operate_history.css +1 -1
  62. package/dist/{organization-Cmj3DUXl.js → organization-Dv3FbKke.js} +1438 -1444
  63. package/dist/organization.css +1 -1
  64. package/dist/{other_setting-DQ70WnZK.js → other_setting-BEV_UK0g.js} +86 -86
  65. package/dist/other_setting.css +1 -1
  66. package/dist/{page_animation_setting-Lp6cMuFM.js → page_animation_setting-Cp5OnFpd.js} +33 -33
  67. package/dist/page_animation_setting.css +1 -1
  68. package/dist/{page_w_setting-CD_HtSUv.js → page_w_setting-Q--ct16C.js} +11 -11
  69. package/dist/page_w_setting.css +1 -1
  70. package/dist/{position-CLpbgKGj.js → position-CCZ2MSMP.js} +41 -41
  71. package/dist/{region-Dd9pt_Si.js → region-D3mjqB8H.js} +62 -62
  72. package/dist/{resource-C7dXB0EE.js → resource-DaQ7CvM_.js} +69 -69
  73. package/dist/{role-JGtvRObt.js → role-4UgEw3nH.js} +49 -49
  74. package/dist/{role_group-CKOb_m63.js → role_group-hkRlCnyl.js} +41 -41
  75. package/dist/{safe_setting-G_ZP-jWQ.js → safe_setting-4fv3qNRZ.js} +85 -85
  76. package/dist/{setItem-yKhjmUh0.js → setItem-Vkcwkj-O.js} +33 -32
  77. package/dist/setItem.css +1 -1
  78. package/dist/{tabbar_setting-B3kMhRNm.js → tabbar_setting-kbuTvrLB.js} +36 -36
  79. package/dist/{tenant-BBiCJkU_.js → tenant-lWfGw2u1.js} +48 -48
  80. package/dist/{theme_setting-vhNDLlkc.js → theme_setting-CEb7UYQO.js} +47 -47
  81. package/dist/theme_setting.css +1 -1
  82. package/dist/{toolbar_setting-DNBdxeGP.js → toolbar_setting-BG-k2UFc.js} +32 -32
  83. package/dist/useAppAndResource-B7FmNfKG.js +52 -0
  84. package/dist/{user-DvCyUhZW.js → user-BkUpcQC8.js} +96 -96
  85. package/dist/{vanilla-picker-DcG96G63.js → vanilla-picker-Byb6q187.js} +239 -239
  86. package/dist/views/blackWhiteList/components/drawerBlackWhiteList.vue.d.ts +5 -1
  87. package/dist/views/components/setItem.vue.d.ts +5 -1
  88. package/dist/views/data-permission/components/createAndEditDataPermission.vue.d.ts +5 -1
  89. package/dist/views/dictionary/components/drawerDictionary.vue.d.ts +5 -1
  90. package/dist/views/dictionary/components/drawerDictionaryItem.vue.d.ts +5 -1
  91. package/dist/views/group/components/drawerGroup.vue.d.ts +5 -1
  92. package/dist/views/log_center/components/loginHistoryDetail.vue.d.ts +8 -1
  93. package/dist/views/log_center/components/operateHistoryDetail.vue.d.ts +8 -1
  94. package/dist/views/organization/components/drawerOrganization.vue.d.ts +5 -1
  95. package/dist/views/organization/components/drawerRole.vue.d.ts +5 -1
  96. package/dist/views/other_setting/interface.d.ts +1 -2
  97. package/dist/views/position/components/drawerPosition.vue.d.ts +5 -1
  98. package/dist/views/region/components/drawerRegion.vue.d.ts +5 -1
  99. package/dist/views/resource/components/ImportExport.vue.d.ts +5 -1
  100. package/dist/views/resource/components/ResourceEdit.vue.d.ts +5 -1
  101. package/dist/views/role/components/drawerRole.vue.d.ts +5 -1
  102. package/dist/views/role_group/components/drawerRole.vue.d.ts +5 -1
  103. package/dist/views/tenant/components/TenantEdit.vue.d.ts +5 -1
  104. package/dist/views/user/components/UserAuthorization.vue.d.ts +5 -1
  105. package/dist/views/user/components/UserEdit.vue.d.ts +5 -1
  106. package/dist/{watermark_setting-CXp4Og0Y.js → watermark_setting-Cl2EtPAa.js} +98 -98
  107. package/dist/watermark_setting.css +1 -1
  108. package/package.json +13 -13
  109. package/src/views/other_setting/index.vue +2 -2
  110. package/src/views/other_setting/interface.ts +1 -1
  111. package/dist/ComponentSelect-D0OCk6H1.js +0 -3572
  112. package/dist/ComponentSelect-WO-3S5rH.js +0 -2
  113. package/dist/DynamicRoutesForm-DjZ3eVLW.js +0 -4
  114. package/dist/HCheckList-B5Qk_HBI.js +0 -2
  115. package/dist/HCheckList-DLBewmPw.js +0 -36
  116. package/dist/HoverCard-69ZIOivd.js +0 -2
  117. package/dist/HoverCard-BDFcxxvk.js +0 -43
  118. package/dist/IconSelect-C_Gj5G4I.js +0 -3
  119. package/dist/ImportExport-CL5uPlby.js +0 -342
  120. package/dist/ImportExport-CPy2rvv7.js +0 -4
  121. package/dist/LayoutForm-QFjwakyQ.js +0 -4
  122. package/dist/MetaForm-Bb-um1Zo.js +0 -4
  123. package/dist/OrgAndPosition-DoiGY5xb.js +0 -2
  124. package/dist/ResourceEdit-BTaNdwC_.js +0 -10
  125. package/dist/ResourceRelation-BIOzTOKA.js +0 -2
  126. package/dist/RoleRelation-CyTcqRfZ.js +0 -2
  127. package/dist/TenantEdit-BlMmL6q5.js +0 -2
  128. package/dist/UserAuthorization-qGr1Sdat.js +0 -3
  129. package/dist/UserEdit-CwfyqNWf.js +0 -3
  130. package/dist/animation_item-GzGItm3s.js +0 -2
  131. package/dist/browserType-BXTT4j6i.js +0 -2
  132. package/dist/chunk-Cpsc_9al.js +0 -18
  133. package/dist/cloneDeep-DDAtsK42.js +0 -7
  134. package/dist/createAndEditDataPermission-CChlLDUm.js +0 -5
  135. package/dist/drawerBlackWhiteList-BqIDyn2Q.js +0 -2
  136. package/dist/drawerBlackWhiteList-CkbZ_9PZ.js +0 -119
  137. package/dist/drawerDictionary-D911w7pC.js +0 -2
  138. package/dist/drawerDictionary-dMHs-6Cw.js +0 -125
  139. package/dist/drawerDictionaryItem-CbTa_qL-.js +0 -137
  140. package/dist/drawerDictionaryItem-DLUI5Yuc.js +0 -2
  141. package/dist/drawerGroup-CEEDMBg9.js +0 -3
  142. package/dist/drawerOrganization-CqEMD3gE.js +0 -246
  143. package/dist/drawerOrganization-mks5NMd9.js +0 -2
  144. package/dist/drawerPosition-Bd0s7qze.js +0 -165
  145. package/dist/drawerPosition-DwlTrlGA.js +0 -2
  146. package/dist/drawerRegion-DUbQAZuV.js +0 -182
  147. package/dist/drawerRegion-DwVzsZfT.js +0 -2
  148. package/dist/drawerRole-BNrbcSmr.js +0 -3
  149. package/dist/drawerRole-BxUIekjh.js +0 -3
  150. package/dist/drawerRole-CyA2oFht.js +0 -4
  151. package/dist/drawerRole-D5X7oHB_.js +0 -153
  152. package/dist/isEmpty-BvRqbmpu.js +0 -13
  153. package/dist/loginHistoryDetail-CkH5UUGU.js +0 -3
  154. package/dist/not-data-Cx--tk_h.js +0 -2
  155. package/dist/not-data-tyTawN37.js +0 -2
  156. package/dist/operateHistoryDetail-CeVPJzD6.js +0 -3
  157. package/dist/routeSystem-DXMoWhFo.js +0 -2
  158. package/dist/setItem-Qa7UapHO.js +0 -4
  159. package/dist/useAppAndResource-CPL2VpOJ.js +0 -52
@@ -0,0 +1,3498 @@
1
+ import { r as __exportAll } from "./chunk-DiMWNkAf.js";
2
+ import { useViewStore } from "./index.js";
3
+ import { Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, isRef, mergeProps, normalizeClass, normalizeProps, onBeforeUnmount, onMounted, onUnmounted, openBlock, ref, resolveComponent, shallowRef, unref, useId, useModel, useTemplateRef, watch, watchEffect, withCtx } from "vue";
4
+ import { CaretDownOutlined } from "@ant-design/icons-vue";
5
+ import { Empty } from "ant-design-vue";
6
+ import { DirectoryTree, Empty as Empty$1, FormItemRest, Input as Input$1 } from "ant-design-vue/es";
7
+ import './ComponentSelect.css';var sides = [
8
+ "top",
9
+ "right",
10
+ "bottom",
11
+ "left"
12
+ ], min$1 = Math.min, max$1 = Math.max, round$1 = Math.round, floor$1 = Math.floor, createCoords = (e) => ({
13
+ x: e,
14
+ y: e
15
+ }), oppositeSideMap = {
16
+ left: "right",
17
+ right: "left",
18
+ bottom: "top",
19
+ top: "bottom"
20
+ }, oppositeAlignmentMap = {
21
+ start: "end",
22
+ end: "start"
23
+ };
24
+ function clamp(e, t, n) {
25
+ return max$1(e, min$1(t, n));
26
+ }
27
+ function evaluate(e, t) {
28
+ return typeof e == "function" ? e(t) : e;
29
+ }
30
+ function getSide(e) {
31
+ return e.split("-")[0];
32
+ }
33
+ function getAlignment(e) {
34
+ return e.split("-")[1];
35
+ }
36
+ function getOppositeAxis(e) {
37
+ return e === "x" ? "y" : "x";
38
+ }
39
+ function getAxisLength(e) {
40
+ return e === "y" ? "height" : "width";
41
+ }
42
+ var yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
43
+ function getSideAxis(e) {
44
+ return yAxisSides.has(getSide(e)) ? "y" : "x";
45
+ }
46
+ function getAlignmentAxis(e) {
47
+ return getOppositeAxis(getSideAxis(e));
48
+ }
49
+ function getAlignmentSides(e, t, n) {
50
+ n === void 0 && (n = !1);
51
+ let r = getAlignment(e), i = getAlignmentAxis(e), a = getAxisLength(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
52
+ return t.reference[a] > t.floating[a] && (o = getOppositePlacement(o)), [o, getOppositePlacement(o)];
53
+ }
54
+ function getExpandedPlacements(e) {
55
+ let t = getOppositePlacement(e);
56
+ return [
57
+ getOppositeAlignmentPlacement(e),
58
+ t,
59
+ getOppositeAlignmentPlacement(t)
60
+ ];
61
+ }
62
+ function getOppositeAlignmentPlacement(e) {
63
+ return e.replace(/start|end/g, (e) => oppositeAlignmentMap[e]);
64
+ }
65
+ var lrPlacement = ["left", "right"], rlPlacement = ["right", "left"], tbPlacement = ["top", "bottom"], btPlacement = ["bottom", "top"];
66
+ function getSideList(e, t, n) {
67
+ switch (e) {
68
+ case "top":
69
+ case "bottom": return n ? t ? rlPlacement : lrPlacement : t ? lrPlacement : rlPlacement;
70
+ case "left":
71
+ case "right": return t ? tbPlacement : btPlacement;
72
+ default: return [];
73
+ }
74
+ }
75
+ function getOppositeAxisPlacements(e, t, n, r) {
76
+ let i = getAlignment(e), a = getSideList(getSide(e), n === "start", r);
77
+ return i && (a = a.map((e) => e + "-" + i), t && (a = a.concat(a.map(getOppositeAlignmentPlacement)))), a;
78
+ }
79
+ function getOppositePlacement(e) {
80
+ return e.replace(/left|right|bottom|top/g, (e) => oppositeSideMap[e]);
81
+ }
82
+ function expandPaddingObject(e) {
83
+ return {
84
+ top: 0,
85
+ right: 0,
86
+ bottom: 0,
87
+ left: 0,
88
+ ...e
89
+ };
90
+ }
91
+ function getPaddingObject(e) {
92
+ return typeof e == "number" ? {
93
+ top: e,
94
+ right: e,
95
+ bottom: e,
96
+ left: e
97
+ } : expandPaddingObject(e);
98
+ }
99
+ function rectToClientRect(e) {
100
+ let { x: t, y: n, width: r, height: i } = e;
101
+ return {
102
+ width: r,
103
+ height: i,
104
+ top: n,
105
+ left: t,
106
+ right: t + r,
107
+ bottom: n + i,
108
+ x: t,
109
+ y: n
110
+ };
111
+ }
112
+ function hasWindow() {
113
+ return typeof window < "u";
114
+ }
115
+ function getNodeName$1(e) {
116
+ return isNode$1(e) ? (e.nodeName || "").toLowerCase() : "#document";
117
+ }
118
+ function getWindow$1(e) {
119
+ var t;
120
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
121
+ }
122
+ function getDocumentElement$1(e) {
123
+ return ((isNode$1(e) ? e.ownerDocument : e.document) || window.document)?.documentElement;
124
+ }
125
+ function isNode$1(e) {
126
+ return hasWindow() ? e instanceof Node || e instanceof getWindow$1(e).Node : !1;
127
+ }
128
+ function isElement$1(e) {
129
+ return hasWindow() ? e instanceof Element || e instanceof getWindow$1(e).Element : !1;
130
+ }
131
+ function isHTMLElement$1(e) {
132
+ return hasWindow() ? e instanceof HTMLElement || e instanceof getWindow$1(e).HTMLElement : !1;
133
+ }
134
+ function isShadowRoot$1(e) {
135
+ return !hasWindow() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof getWindow$1(e).ShadowRoot;
136
+ }
137
+ var invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
138
+ function isOverflowElement$1(e) {
139
+ let { overflow: t, overflowX: n, overflowY: r, display: i } = getComputedStyle$2(e);
140
+ return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && !invalidOverflowDisplayValues.has(i);
141
+ }
142
+ var tableElements = /* @__PURE__ */ new Set([
143
+ "table",
144
+ "td",
145
+ "th"
146
+ ]);
147
+ function isTableElement(e) {
148
+ return tableElements.has(getNodeName$1(e));
149
+ }
150
+ var topLayerSelectors = [":popover-open", ":modal"];
151
+ function isTopLayer(e) {
152
+ return topLayerSelectors.some((t) => {
153
+ try {
154
+ return e.matches(t);
155
+ } catch {
156
+ return !1;
157
+ }
158
+ });
159
+ }
160
+ var transformProperties = [
161
+ "transform",
162
+ "translate",
163
+ "scale",
164
+ "rotate",
165
+ "perspective"
166
+ ], willChangeValues = [
167
+ "transform",
168
+ "translate",
169
+ "scale",
170
+ "rotate",
171
+ "perspective",
172
+ "filter"
173
+ ], containValues = [
174
+ "paint",
175
+ "layout",
176
+ "strict",
177
+ "content"
178
+ ];
179
+ function isContainingBlock(e) {
180
+ let t = isWebKit(), n = isElement$1(e) ? getComputedStyle$2(e) : e;
181
+ return transformProperties.some((e) => n[e] ? n[e] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || willChangeValues.some((e) => (n.willChange || "").includes(e)) || containValues.some((e) => (n.contain || "").includes(e));
182
+ }
183
+ function getContainingBlock(e) {
184
+ let t = getParentNode$2(e);
185
+ for (; isHTMLElement$1(t) && !isLastTraversableNode(t);) {
186
+ if (isContainingBlock(t)) return t;
187
+ if (isTopLayer(t)) return null;
188
+ t = getParentNode$2(t);
189
+ }
190
+ return null;
191
+ }
192
+ function isWebKit() {
193
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
194
+ }
195
+ var lastTraversableNodeNames = /* @__PURE__ */ new Set([
196
+ "html",
197
+ "body",
198
+ "#document"
199
+ ]);
200
+ function isLastTraversableNode(e) {
201
+ return lastTraversableNodeNames.has(getNodeName$1(e));
202
+ }
203
+ function getComputedStyle$2(e) {
204
+ return getWindow$1(e).getComputedStyle(e);
205
+ }
206
+ function getNodeScroll(e) {
207
+ return isElement$1(e) ? {
208
+ scrollLeft: e.scrollLeft,
209
+ scrollTop: e.scrollTop
210
+ } : {
211
+ scrollLeft: e.scrollX,
212
+ scrollTop: e.scrollY
213
+ };
214
+ }
215
+ function getParentNode$2(e) {
216
+ if (getNodeName$1(e) === "html") return e;
217
+ let t = e.assignedSlot || e.parentNode || isShadowRoot$1(e) && e.host || getDocumentElement$1(e);
218
+ return isShadowRoot$1(t) ? t.host : t;
219
+ }
220
+ function getNearestOverflowAncestor$1(e) {
221
+ let t = getParentNode$2(e);
222
+ return isLastTraversableNode(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : isHTMLElement$1(t) && isOverflowElement$1(t) ? t : getNearestOverflowAncestor$1(t);
223
+ }
224
+ function getOverflowAncestors(e, t, n) {
225
+ t === void 0 && (t = []), n === void 0 && (n = !0);
226
+ let r = getNearestOverflowAncestor$1(e), i = r === e.ownerDocument?.body, a = getWindow$1(r);
227
+ if (i) {
228
+ let e = getFrameElement(a);
229
+ return t.concat(a, a.visualViewport || [], isOverflowElement$1(r) ? r : [], e && n ? getOverflowAncestors(e) : []);
230
+ }
231
+ return t.concat(r, getOverflowAncestors(r, [], n));
232
+ }
233
+ function getFrameElement(e) {
234
+ return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
235
+ }
236
+ var isEmpty = (e) => e.length === 0;
237
+ function toKebabCase(e) {
238
+ return e.replace(/([a-z\d])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
239
+ }
240
+ function createAnatomy(e, t = []) {
241
+ return {
242
+ parts: (...n) => {
243
+ if (isEmpty(t)) return createAnatomy(e, n);
244
+ throw Error("createAnatomy().parts(...) should only be called once. Did you mean to use .extendWith(...) ?");
245
+ },
246
+ extendWith: (...n) => createAnatomy(e, [...t, ...n]),
247
+ rename: (e) => createAnatomy(e, t),
248
+ keys: () => t,
249
+ build: () => [...new Set(t)].reduce((t, n) => Object.assign(t, { [n]: {
250
+ selector: [`&[data-scope="${toKebabCase(e)}"][data-part="${toKebabCase(n)}"]`, `& [data-scope="${toKebabCase(e)}"][data-part="${toKebabCase(n)}"]`].join(", "),
251
+ attrs: {
252
+ "data-scope": toKebabCase(e),
253
+ "data-part": toKebabCase(n)
254
+ }
255
+ } }), {})
256
+ };
257
+ }
258
+ var isObject$2 = (e) => typeof e == "object" && !!e, dataAttr = (e) => e ? "" : void 0, ELEMENT_NODE = 1, DOCUMENT_NODE = 9, DOCUMENT_FRAGMENT_NODE = 11;
259
+ function isHTMLElement(e) {
260
+ return isObject$2(e) && e.nodeType === ELEMENT_NODE && typeof e.nodeName == "string";
261
+ }
262
+ var isDocument = (e) => isObject$2(e) && e.nodeType === DOCUMENT_NODE, isWindow = (e) => isObject$2(e) && e === e.window;
263
+ function getNodeName(e) {
264
+ return isHTMLElement(e) ? e.localName || "" : "#document";
265
+ }
266
+ function isRootElement(e) {
267
+ return [
268
+ "html",
269
+ "body",
270
+ "#document"
271
+ ].includes(getNodeName(e));
272
+ }
273
+ var isNode = (e) => isObject$2(e) && e.nodeType !== void 0;
274
+ function isShadowRoot(e) {
275
+ return isNode(e) && e.nodeType === DOCUMENT_FRAGMENT_NODE && "host" in e;
276
+ }
277
+ var isInputElement = (e) => isHTMLElement(e) && e.localName === "input";
278
+ function isElementVisible(e) {
279
+ return isHTMLElement(e) ? e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0 : !1;
280
+ }
281
+ var TEXTAREA_SELECT_REGEX = /(textarea|select)/;
282
+ function isEditableElement(e) {
283
+ if (e == null || !isHTMLElement(e)) return !1;
284
+ try {
285
+ return isInputElement(e) && e.selectionStart != null || TEXTAREA_SELECT_REGEX.test(e.localName) || e.isContentEditable || e.getAttribute("contenteditable") === "true" || e.getAttribute("contenteditable") === "";
286
+ } catch {
287
+ return !1;
288
+ }
289
+ }
290
+ function contains(e, t) {
291
+ if (!e || !t || !isHTMLElement(e) || !isHTMLElement(t)) return !1;
292
+ let n = t.getRootNode?.();
293
+ if (e === t || e.contains(t)) return !0;
294
+ if (n && isShadowRoot(n)) {
295
+ let n = t;
296
+ for (; n;) {
297
+ if (e === n) return !0;
298
+ n = n.parentNode || n.host;
299
+ }
300
+ }
301
+ return !1;
302
+ }
303
+ function getDocument(e) {
304
+ return isDocument(e) ? e : isWindow(e) ? e.document : e?.ownerDocument ?? document;
305
+ }
306
+ function getDocumentElement(e) {
307
+ return getDocument(e).documentElement;
308
+ }
309
+ function getWindow(e) {
310
+ return isShadowRoot(e) ? getWindow(e.host) : isDocument(e) ? e.defaultView ?? window : isHTMLElement(e) ? e.ownerDocument?.defaultView ?? window : window;
311
+ }
312
+ function getActiveElement(e) {
313
+ let t = e.activeElement;
314
+ for (; t?.shadowRoot;) {
315
+ let e = t.shadowRoot.activeElement;
316
+ if (e === t) break;
317
+ t = e;
318
+ }
319
+ return t;
320
+ }
321
+ function getParentNode$1(e) {
322
+ if (getNodeName(e) === "html") return e;
323
+ let t = e.assignedSlot || e.parentNode || isShadowRoot(e) && e.host || getDocumentElement(e);
324
+ return isShadowRoot(t) ? t.host : t;
325
+ }
326
+ var styleCache = /* @__PURE__ */ new WeakMap();
327
+ function getComputedStyle$1(e) {
328
+ return styleCache.has(e) || styleCache.set(e, getWindow(e).getComputedStyle(e)), styleCache.get(e);
329
+ }
330
+ var isDom = () => typeof document < "u";
331
+ function getPlatform() {
332
+ return navigator.userAgentData?.platform ?? navigator.platform;
333
+ }
334
+ var pt = (e) => isDom() && e.test(getPlatform()), vn = (e) => isDom() && e.test(navigator.vendor), isMac = () => pt(/^Mac/), isApple = () => pt(/mac|iphone|ipad|ipod/i), isSafari = () => isApple() && vn(/apple/i), isIos = () => pt(/iP(hone|ad|od)|iOS/);
335
+ function getComposedPath(e) {
336
+ return e.composedPath?.() ?? e.nativeEvent?.composedPath?.();
337
+ }
338
+ function getEventTarget(e) {
339
+ return getComposedPath(e)?.[0] ?? e.target;
340
+ }
341
+ function isContextMenuEvent(e) {
342
+ return e.button === 2 || isMac() && e.ctrlKey && e.button === 0;
343
+ }
344
+ function addDomEvent(e, t, n, r) {
345
+ let i = typeof e == "function" ? e() : e;
346
+ return i?.addEventListener(t, n, r), () => {
347
+ i?.removeEventListener(t, n, r);
348
+ };
349
+ }
350
+ function getDescriptor(e, t) {
351
+ let { type: n = "HTMLInputElement", property: r = "value" } = t, i = getWindow(e)[n].prototype;
352
+ return Object.getOwnPropertyDescriptor(i, r) ?? {};
353
+ }
354
+ function getElementType(e) {
355
+ if (e.localName === "input") return "HTMLInputElement";
356
+ if (e.localName === "textarea") return "HTMLTextAreaElement";
357
+ if (e.localName === "select") return "HTMLSelectElement";
358
+ }
359
+ function setElementValue(e, t, n = "value") {
360
+ let r = getElementType(e);
361
+ r && getDescriptor(e, {
362
+ type: r,
363
+ property: n
364
+ }).set?.call(e, t), e.setAttribute(n, t);
365
+ }
366
+ var isFrame = (e) => isHTMLElement(e) && e.tagName === "IFRAME", hasTabIndex = (e) => !Number.isNaN(Number.parseInt(e.getAttribute("tabindex") || "0", 10)), hasNegativeTabIndex = (e) => Number.parseInt(e.getAttribute("tabindex") || "0", 10) < 0, focusableSelector = "input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false']), details > summary:first-of-type";
367
+ function getFocusables(e, t = !1) {
368
+ if (!e) return [];
369
+ let n = Array.from(e.querySelectorAll(focusableSelector));
370
+ (t === !0 || t === "if-empty" && n.length === 0) && isHTMLElement(e) && isFocusable(e) && n.unshift(e);
371
+ let r = n.filter(isFocusable);
372
+ return r.forEach((e, t) => {
373
+ if (isFrame(e) && e.contentDocument) {
374
+ let n = e.contentDocument.body;
375
+ r.splice(t, 1, ...getFocusables(n));
376
+ }
377
+ }), r;
378
+ }
379
+ function isFocusable(e) {
380
+ return !e || e.closest("[inert]") ? !1 : e.matches(focusableSelector) && isElementVisible(e);
381
+ }
382
+ function getTabbables(e, t) {
383
+ if (!e) return [];
384
+ let n = Array.from(e.querySelectorAll(focusableSelector)), r = n.filter(isTabbable);
385
+ return t && isTabbable(e) && r.unshift(e), r.forEach((e, t) => {
386
+ if (isFrame(e) && e.contentDocument) {
387
+ let n = e.contentDocument.body, i = getTabbables(n);
388
+ r.splice(t, 1, ...i);
389
+ }
390
+ }), !r.length && t ? n : r;
391
+ }
392
+ function isTabbable(e) {
393
+ return e != null && e.tabIndex > 0 ? !0 : isFocusable(e) && !hasNegativeTabIndex(e);
394
+ }
395
+ function getTabbableEdges(e, t) {
396
+ let n = getTabbables(e, t);
397
+ return [n[0] || null, n[n.length - 1] || null];
398
+ }
399
+ function getNextTabbable(e, t) {
400
+ let n = getTabbables(e), r = e?.ownerDocument || document, i = t ?? r.activeElement;
401
+ return i && n[n.indexOf(i) + 1] || null;
402
+ }
403
+ function getTabIndex(e) {
404
+ return e.tabIndex < 0 && (/^(audio|video|details)$/.test(e.localName) || isEditableElement(e)) && !hasTabIndex(e) ? 0 : e.tabIndex;
405
+ }
406
+ function getInitialFocus(e) {
407
+ let { root: t, getInitialEl: n, filter: r, enabled: i = !0 } = e;
408
+ if (!i) return;
409
+ let a = null;
410
+ if (a ||= typeof n == "function" ? n() : n, a ||= t?.querySelector("[data-autofocus],[autofocus]"), !a) {
411
+ let e = getTabbables(t);
412
+ a = r ? e.filter(r)[0] : e[0];
413
+ }
414
+ return a || t || void 0;
415
+ }
416
+ function raf$2(e) {
417
+ let t = globalThis.requestAnimationFrame(e);
418
+ return () => {
419
+ globalThis.cancelAnimationFrame(t);
420
+ };
421
+ }
422
+ function getNearestOverflowAncestor(e) {
423
+ let t = getParentNode$1(e);
424
+ return isRootElement(t) ? getDocument(t).body : isHTMLElement(t) && isOverflowElement(t) ? t : getNearestOverflowAncestor(t);
425
+ }
426
+ var OVERFLOW_RE = /auto|scroll|overlay|hidden|clip/;
427
+ function isOverflowElement(e) {
428
+ let { overflow: t, overflowX: n, overflowY: r, display: i } = getWindow(e).getComputedStyle(e);
429
+ return OVERFLOW_RE.test(t + r + n) && !["inline", "contents"].includes(i);
430
+ }
431
+ function proxyTabFocusImpl(e, t = {}) {
432
+ let { triggerElement: n, onFocus: r } = t, i = e?.ownerDocument || document, a = i.body;
433
+ function o(t) {
434
+ if (t.key !== "Tab") return;
435
+ let o = null, [s, c] = getTabbableEdges(e, !0), l = !s && !c;
436
+ t.shiftKey && (i.activeElement === s || l) ? o = n : !t.shiftKey && i.activeElement === n ? o = s : !t.shiftKey && (i.activeElement === c || l) && (o = getNextTabbable(a, n)), o && (t.preventDefault(), typeof r == "function" ? r(o) : o.focus());
437
+ }
438
+ return addDomEvent(i, "keydown", o, !0);
439
+ }
440
+ function proxyTabFocus(e, t) {
441
+ let { defer: n, triggerElement: r, ...i } = t, a = n ? raf$2 : (e) => e(), o = [];
442
+ return o.push(a(() => {
443
+ let t = typeof e == "function" ? e() : e, n = typeof r == "function" ? r() : r;
444
+ o.push(proxyTabFocusImpl(t, {
445
+ triggerElement: n,
446
+ ...i
447
+ }));
448
+ })), () => {
449
+ o.forEach((e) => e?.());
450
+ };
451
+ }
452
+ function createScope(e) {
453
+ let t = {
454
+ getRootNode: (e) => e.getRootNode?.() ?? document,
455
+ getDoc: (e) => getDocument(t.getRootNode(e)),
456
+ getWin: (e) => t.getDoc(e).defaultView ?? window,
457
+ getActiveElement: (e) => getActiveElement(t.getRootNode(e)),
458
+ isActiveElement: (e, n) => n === t.getActiveElement(e),
459
+ getById: (e, n) => t.getRootNode(e).getElementById(n),
460
+ setValue: (e, t) => {
461
+ e == null || t == null || setElementValue(e, t.toString());
462
+ }
463
+ };
464
+ return {
465
+ ...t,
466
+ ...e
467
+ };
468
+ }
469
+ var cleanups = /* @__PURE__ */ new WeakMap();
470
+ function set$2(e, t, n) {
471
+ cleanups.has(e) || cleanups.set(e, /* @__PURE__ */ new Map());
472
+ let r = cleanups.get(e), i = r.get(t);
473
+ if (!i) return r.set(t, n()), () => {
474
+ r.get(t)?.(), r.delete(t);
475
+ };
476
+ let a = n(), o = () => {
477
+ a(), i(), r.delete(t);
478
+ };
479
+ return r.set(t, o), () => {
480
+ r.get(t) === o && (a(), r.set(t, i));
481
+ };
482
+ }
483
+ function setStyle(e, t) {
484
+ return e ? set$2(e, "style", () => {
485
+ let n = e.style.cssText;
486
+ return Object.assign(e.style, t), () => {
487
+ e.style.cssText = n;
488
+ };
489
+ }) : () => {};
490
+ }
491
+ var fps = 1e3 / 60;
492
+ function waitForElement(e, t) {
493
+ let n = e();
494
+ if (isHTMLElement(n) && n.isConnected) return t(n), () => void 0;
495
+ {
496
+ let n = setInterval(() => {
497
+ let r = e();
498
+ isHTMLElement(r) && r.isConnected && (t(r), clearInterval(n));
499
+ }, fps);
500
+ return () => clearInterval(n);
501
+ }
502
+ }
503
+ function waitForElements(e, t) {
504
+ let n = [];
505
+ return e?.forEach((e) => {
506
+ let r = waitForElement(e, t);
507
+ n.push(r);
508
+ }), () => {
509
+ n.forEach((e) => e());
510
+ };
511
+ }
512
+ function clear(e) {
513
+ for (; e.length > 0;) e.pop();
514
+ return e;
515
+ }
516
+ function runIfFn(e, ...t) {
517
+ return (typeof e == "function" ? e(...t) : e) ?? void 0;
518
+ }
519
+ var cast = (e) => e;
520
+ function noop() {}
521
+ function callAll(...e) {
522
+ return (...t) => {
523
+ e.forEach((e) => {
524
+ e?.(...t);
525
+ });
526
+ };
527
+ }
528
+ var uuid = /* @__PURE__ */ (() => {
529
+ let e = 0;
530
+ return () => (e++, e.toString(36));
531
+ })(), isArray = (e) => Array.isArray(e), isObjectLike = (e) => typeof e == "object" && !!e, isObject$1 = (e) => isObjectLike(e) && !isArray(e), isNumber = (e) => typeof e == "number" && !Number.isNaN(e), isString = (e) => typeof e == "string", isFunction = (e) => typeof e == "function", isNull = (e) => e == null;
532
+ function hasProp(e, t) {
533
+ return Object.prototype.hasOwnProperty.call(e, t);
534
+ }
535
+ var baseGetTag = (e) => Object.prototype.toString.call(e), fnToString = Function.prototype.toString, objectCtorString = fnToString.call(Object);
536
+ function isPlainObject(e) {
537
+ if (!isObjectLike(e) || baseGetTag(e) !== "[object Object]") return !1;
538
+ let t = Object.getPrototypeOf(e);
539
+ if (t === null) return !0;
540
+ let n = hasProp(t, "constructor") && t.constructor;
541
+ return typeof n == "function" && n instanceof n && fnToString.call(n) === objectCtorString;
542
+ }
543
+ var { floor, abs, round, min, max, sign } = Math;
544
+ function compact(e) {
545
+ if (!isPlainObject$1(e) || e === void 0) return e;
546
+ let t = Reflect.ownKeys(e).filter((e) => typeof e == "string"), n = {};
547
+ for (let r of t) {
548
+ let t = e[r];
549
+ t !== void 0 && (n[r] = compact(t));
550
+ }
551
+ return n;
552
+ }
553
+ function isPlainObject$1(e) {
554
+ return e && typeof e == "object" && e.constructor === Object;
555
+ }
556
+ function computeCoordsFromPlacement(e, t, n) {
557
+ let { reference: r, floating: i } = e, a = getSideAxis(t), o = getAlignmentAxis(t), s = getAxisLength(o), c = getSide(t), l = a === "y", u = r.x + r.width / 2 - i.width / 2, d = r.y + r.height / 2 - i.height / 2, f = r[s] / 2 - i[s] / 2, p;
558
+ switch (c) {
559
+ case "top":
560
+ p = {
561
+ x: u,
562
+ y: r.y - i.height
563
+ };
564
+ break;
565
+ case "bottom":
566
+ p = {
567
+ x: u,
568
+ y: r.y + r.height
569
+ };
570
+ break;
571
+ case "right":
572
+ p = {
573
+ x: r.x + r.width,
574
+ y: d
575
+ };
576
+ break;
577
+ case "left":
578
+ p = {
579
+ x: r.x - i.width,
580
+ y: d
581
+ };
582
+ break;
583
+ default: p = {
584
+ x: r.x,
585
+ y: r.y
586
+ };
587
+ }
588
+ switch (getAlignment(t)) {
589
+ case "start":
590
+ p[o] -= f * (n && l ? -1 : 1);
591
+ break;
592
+ case "end":
593
+ p[o] += f * (n && l ? -1 : 1);
594
+ break;
595
+ }
596
+ return p;
597
+ }
598
+ async function detectOverflow(e, t) {
599
+ t === void 0 && (t = {});
600
+ let { x: n, y: r, platform: i, rects: a, elements: o, strategy: s } = e, { boundary: c = "clippingAncestors", rootBoundary: l = "viewport", elementContext: u = "floating", altBoundary: d = !1, padding: f = 0 } = evaluate(t, e), p = getPaddingObject(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = rectToClientRect(await i.getClippingRect({
601
+ element: await (i.isElement == null ? void 0 : i.isElement(m)) ?? !0 ? m : m.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(o.floating)),
602
+ boundary: c,
603
+ rootBoundary: l,
604
+ strategy: s
605
+ })), g = u === "floating" ? {
606
+ x: n,
607
+ y: r,
608
+ width: a.floating.width,
609
+ height: a.floating.height
610
+ } : a.reference, _ = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(o.floating)), v = await (i.isElement == null ? void 0 : i.isElement(_)) && await (i.getScale == null ? void 0 : i.getScale(_)) || {
611
+ x: 1,
612
+ y: 1
613
+ }, y = rectToClientRect(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
614
+ elements: o,
615
+ rect: g,
616
+ offsetParent: _,
617
+ strategy: s
618
+ }) : g);
619
+ return {
620
+ top: (h.top - y.top + p.top) / v.y,
621
+ bottom: (y.bottom - h.bottom + p.bottom) / v.y,
622
+ left: (h.left - y.left + p.left) / v.x,
623
+ right: (y.right - h.right + p.right) / v.x
624
+ };
625
+ }
626
+ var computePosition$1 = async (e, t, n) => {
627
+ let { placement: r = "bottom", strategy: i = "absolute", middleware: a = [], platform: o } = n, s = a.filter(Boolean), c = await (o.isRTL == null ? void 0 : o.isRTL(t)), l = await o.getElementRects({
628
+ reference: e,
629
+ floating: t,
630
+ strategy: i
631
+ }), { x: u, y: d } = computeCoordsFromPlacement(l, r, c), f = r, p = {}, m = 0;
632
+ for (let n = 0; n < s.length; n++) {
633
+ let { name: a, fn: h } = s[n], { x: g, y: _, data: v, reset: y } = await h({
634
+ x: u,
635
+ y: d,
636
+ initialPlacement: r,
637
+ placement: f,
638
+ strategy: i,
639
+ middlewareData: p,
640
+ rects: l,
641
+ platform: {
642
+ ...o,
643
+ detectOverflow: o.detectOverflow ?? detectOverflow
644
+ },
645
+ elements: {
646
+ reference: e,
647
+ floating: t
648
+ }
649
+ });
650
+ u = g ?? u, d = _ ?? d, p = {
651
+ ...p,
652
+ [a]: {
653
+ ...p[a],
654
+ ...v
655
+ }
656
+ }, y && m <= 50 && (m++, typeof y == "object" && (y.placement && (f = y.placement), y.rects && (l = y.rects === !0 ? await o.getElementRects({
657
+ reference: e,
658
+ floating: t,
659
+ strategy: i
660
+ }) : y.rects), {x: u, y: d} = computeCoordsFromPlacement(l, f, c)), n = -1);
661
+ }
662
+ return {
663
+ x: u,
664
+ y: d,
665
+ placement: f,
666
+ strategy: i,
667
+ middlewareData: p
668
+ };
669
+ }, arrow$1 = (e) => ({
670
+ name: "arrow",
671
+ options: e,
672
+ async fn(t) {
673
+ let { x: n, y: r, placement: i, rects: a, platform: o, elements: s, middlewareData: c } = t, { element: l, padding: u = 0 } = evaluate(e, t) || {};
674
+ if (l == null) return {};
675
+ let d = getPaddingObject(u), f = {
676
+ x: n,
677
+ y: r
678
+ }, p = getAlignmentAxis(i), m = getAxisLength(p), h = await o.getDimensions(l), g = p === "y", _ = g ? "top" : "left", v = g ? "bottom" : "right", y = g ? "clientHeight" : "clientWidth", b = a.reference[m] + a.reference[p] - f[p] - a.floating[m], x = f[p] - a.reference[p], S = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(l)), C = S ? S[y] : 0;
679
+ (!C || !await (o.isElement == null ? void 0 : o.isElement(S))) && (C = s.floating[y] || a.floating[m]);
680
+ let w = b / 2 - x / 2, T = C / 2 - h[m] / 2 - 1, E = min$1(d[_], T), D = min$1(d[v], T), O = E, k = C - h[m] - D, A = C / 2 - h[m] / 2 + w, j = clamp(O, A, k), M = !c.arrow && getAlignment(i) != null && A !== j && a.reference[m] / 2 - (A < O ? E : D) - h[m] / 2 < 0, N = M ? A < O ? A - O : A - k : 0;
681
+ return {
682
+ [p]: f[p] + N,
683
+ data: {
684
+ [p]: j,
685
+ centerOffset: A - j - N,
686
+ ...M && { alignmentOffset: N }
687
+ },
688
+ reset: M
689
+ };
690
+ }
691
+ }), flip$1 = function(e) {
692
+ return e === void 0 && (e = {}), {
693
+ name: "flip",
694
+ options: e,
695
+ async fn(t) {
696
+ var n;
697
+ let { placement: r, middlewareData: i, rects: a, initialPlacement: o, platform: s, elements: c } = t, { mainAxis: l = !0, crossAxis: u = !0, fallbackPlacements: d, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: p = "none", flipAlignment: m = !0, ...h } = evaluate(e, t);
698
+ if ((n = i.arrow) != null && n.alignmentOffset) return {};
699
+ let g = getSide(r), _ = getSideAxis(o), v = getSide(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [getOppositePlacement(o)] : getExpandedPlacements(o)), x = p !== "none";
700
+ !d && x && b.push(...getOppositeAxisPlacements(o, m, p, y));
701
+ let S = [o, ...b], C = await s.detectOverflow(t, h), w = [], T = i.flip?.overflows || [];
702
+ if (l && w.push(C[g]), u) {
703
+ let e = getAlignmentSides(r, a, y);
704
+ w.push(C[e[0]], C[e[1]]);
705
+ }
706
+ if (T = [...T, {
707
+ placement: r,
708
+ overflows: w
709
+ }], !w.every((e) => e <= 0)) {
710
+ let e = (i.flip?.index || 0) + 1, t = S[e];
711
+ if (t && (!(u === "alignment" && _ !== getSideAxis(t)) || T.every((e) => getSideAxis(e.placement) === _ ? e.overflows[0] > 0 : !0))) return {
712
+ data: {
713
+ index: e,
714
+ overflows: T
715
+ },
716
+ reset: { placement: t }
717
+ };
718
+ let n = T.filter((e) => e.overflows[0] <= 0).sort((e, t) => e.overflows[1] - t.overflows[1])[0]?.placement;
719
+ if (!n) switch (f) {
720
+ case "bestFit": {
721
+ let e = T.filter((e) => {
722
+ if (x) {
723
+ let t = getSideAxis(e.placement);
724
+ return t === _ || t === "y";
725
+ }
726
+ return !0;
727
+ }).map((e) => [e.placement, e.overflows.filter((e) => e > 0).reduce((e, t) => e + t, 0)]).sort((e, t) => e[1] - t[1])[0]?.[0];
728
+ e && (n = e);
729
+ break;
730
+ }
731
+ case "initialPlacement":
732
+ n = o;
733
+ break;
734
+ }
735
+ if (r !== n) return { reset: { placement: n } };
736
+ }
737
+ return {};
738
+ }
739
+ };
740
+ };
741
+ function getSideOffsets(e, t) {
742
+ return {
743
+ top: e.top - t.height,
744
+ right: e.right - t.width,
745
+ bottom: e.bottom - t.height,
746
+ left: e.left - t.width
747
+ };
748
+ }
749
+ function isAnySideFullyClipped(e) {
750
+ return sides.some((t) => e[t] >= 0);
751
+ }
752
+ var hide$1 = function(e) {
753
+ return e === void 0 && (e = {}), {
754
+ name: "hide",
755
+ options: e,
756
+ async fn(t) {
757
+ let { rects: n, platform: r } = t, { strategy: i = "referenceHidden", ...a } = evaluate(e, t);
758
+ switch (i) {
759
+ case "referenceHidden": {
760
+ let e = getSideOffsets(await r.detectOverflow(t, {
761
+ ...a,
762
+ elementContext: "reference"
763
+ }), n.reference);
764
+ return { data: {
765
+ referenceHiddenOffsets: e,
766
+ referenceHidden: isAnySideFullyClipped(e)
767
+ } };
768
+ }
769
+ case "escaped": {
770
+ let e = getSideOffsets(await r.detectOverflow(t, {
771
+ ...a,
772
+ altBoundary: !0
773
+ }), n.floating);
774
+ return { data: {
775
+ escapedOffsets: e,
776
+ escaped: isAnySideFullyClipped(e)
777
+ } };
778
+ }
779
+ default: return {};
780
+ }
781
+ }
782
+ };
783
+ }, originSides = /* @__PURE__ */ new Set(["left", "top"]);
784
+ async function convertValueToCoords(e, t) {
785
+ let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = getSide(n), s = getAlignment(n), c = getSideAxis(n) === "y", l = originSides.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = evaluate(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
786
+ mainAxis: d,
787
+ crossAxis: 0,
788
+ alignmentAxis: null
789
+ } : {
790
+ mainAxis: d.mainAxis || 0,
791
+ crossAxis: d.crossAxis || 0,
792
+ alignmentAxis: d.alignmentAxis
793
+ };
794
+ return s && typeof m == "number" && (p = s === "end" ? m * -1 : m), c ? {
795
+ x: p * u,
796
+ y: f * l
797
+ } : {
798
+ x: f * l,
799
+ y: p * u
800
+ };
801
+ }
802
+ var offset$1 = function(e) {
803
+ return e === void 0 && (e = 0), {
804
+ name: "offset",
805
+ options: e,
806
+ async fn(t) {
807
+ var n;
808
+ let { x: r, y: i, placement: a, middlewareData: o } = t, s = await convertValueToCoords(t, e);
809
+ return a === o.offset?.placement && (n = o.arrow) != null && n.alignmentOffset ? {} : {
810
+ x: r + s.x,
811
+ y: i + s.y,
812
+ data: {
813
+ ...s,
814
+ placement: a
815
+ }
816
+ };
817
+ }
818
+ };
819
+ }, shift$1 = function(e) {
820
+ return e === void 0 && (e = {}), {
821
+ name: "shift",
822
+ options: e,
823
+ async fn(t) {
824
+ let { x: n, y: r, placement: i, platform: a } = t, { mainAxis: o = !0, crossAxis: s = !1, limiter: c = { fn: (e) => {
825
+ let { x: t, y: n } = e;
826
+ return {
827
+ x: t,
828
+ y: n
829
+ };
830
+ } }, ...l } = evaluate(e, t), u = {
831
+ x: n,
832
+ y: r
833
+ }, d = await a.detectOverflow(t, l), f = getSideAxis(getSide(i)), p = getOppositeAxis(f), m = u[p], h = u[f];
834
+ if (o) {
835
+ let e = p === "y" ? "top" : "left", t = p === "y" ? "bottom" : "right", n = m + d[e], r = m - d[t];
836
+ m = clamp(n, m, r);
837
+ }
838
+ if (s) {
839
+ let e = f === "y" ? "top" : "left", t = f === "y" ? "bottom" : "right", n = h + d[e], r = h - d[t];
840
+ h = clamp(n, h, r);
841
+ }
842
+ let g = c.fn({
843
+ ...t,
844
+ [p]: m,
845
+ [f]: h
846
+ });
847
+ return {
848
+ ...g,
849
+ data: {
850
+ x: g.x - n,
851
+ y: g.y - r,
852
+ enabled: {
853
+ [p]: o,
854
+ [f]: s
855
+ }
856
+ }
857
+ };
858
+ }
859
+ };
860
+ }, limitShift$1 = function(e) {
861
+ return e === void 0 && (e = {}), {
862
+ options: e,
863
+ fn(t) {
864
+ let { x: n, y: r, placement: i, rects: a, middlewareData: o } = t, { offset: s = 0, mainAxis: c = !0, crossAxis: l = !0 } = evaluate(e, t), u = {
865
+ x: n,
866
+ y: r
867
+ }, d = getSideAxis(i), f = getOppositeAxis(d), p = u[f], m = u[d], h = evaluate(s, t), g = typeof h == "number" ? {
868
+ mainAxis: h,
869
+ crossAxis: 0
870
+ } : {
871
+ mainAxis: 0,
872
+ crossAxis: 0,
873
+ ...h
874
+ };
875
+ if (c) {
876
+ let e = f === "y" ? "height" : "width", t = a.reference[f] - a.floating[e] + g.mainAxis, n = a.reference[f] + a.reference[e] - g.mainAxis;
877
+ p < t ? p = t : p > n && (p = n);
878
+ }
879
+ if (l) {
880
+ let e = f === "y" ? "width" : "height", t = originSides.has(getSide(i)), n = a.reference[d] - a.floating[e] + (t && o.offset?.[d] || 0) + (t ? 0 : g.crossAxis), r = a.reference[d] + a.reference[e] + (t ? 0 : o.offset?.[d] || 0) - (t ? g.crossAxis : 0);
881
+ m < n ? m = n : m > r && (m = r);
882
+ }
883
+ return {
884
+ [f]: p,
885
+ [d]: m
886
+ };
887
+ }
888
+ };
889
+ }, size$1 = function(e) {
890
+ return e === void 0 && (e = {}), {
891
+ name: "size",
892
+ options: e,
893
+ async fn(t) {
894
+ var n, r;
895
+ let { placement: i, rects: a, platform: o, elements: s } = t, { apply: c = () => {}, ...l } = evaluate(e, t), u = await o.detectOverflow(t, l), d = getSide(i), f = getAlignment(i), p = getSideAxis(i) === "y", { width: m, height: h } = a.floating, g, _;
896
+ d === "top" || d === "bottom" ? (g = d, _ = f === (await (o.isRTL == null ? void 0 : o.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (_ = d, g = f === "end" ? "top" : "bottom");
897
+ let v = h - u.top - u.bottom, y = m - u.left - u.right, b = min$1(h - u[g], v), x = min$1(m - u[_], y), S = !t.middlewareData.shift, C = b, w = x;
898
+ if ((n = t.middlewareData.shift) != null && n.enabled.x && (w = y), (r = t.middlewareData.shift) != null && r.enabled.y && (C = v), S && !f) {
899
+ let e = max$1(u.left, 0), t = max$1(u.right, 0), n = max$1(u.top, 0), r = max$1(u.bottom, 0);
900
+ p ? w = m - 2 * (e !== 0 || t !== 0 ? e + t : max$1(u.left, u.right)) : C = h - 2 * (n !== 0 || r !== 0 ? n + r : max$1(u.top, u.bottom));
901
+ }
902
+ await c({
903
+ ...t,
904
+ availableWidth: w,
905
+ availableHeight: C
906
+ });
907
+ let T = await o.getDimensions(s.floating);
908
+ return m !== T.width || h !== T.height ? { reset: { rects: !0 } } : {};
909
+ }
910
+ };
911
+ };
912
+ function getCssDimensions(e) {
913
+ let t = getComputedStyle$2(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = isHTMLElement$1(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = round$1(n) !== a || round$1(r) !== o;
914
+ return s && (n = a, r = o), {
915
+ width: n,
916
+ height: r,
917
+ $: s
918
+ };
919
+ }
920
+ function unwrapElement(e) {
921
+ return isElement$1(e) ? e : e.contextElement;
922
+ }
923
+ function getScale(e) {
924
+ let t = unwrapElement(e);
925
+ if (!isHTMLElement$1(t)) return createCoords(1);
926
+ let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = getCssDimensions(t), o = (a ? round$1(n.width) : n.width) / r, s = (a ? round$1(n.height) : n.height) / i;
927
+ return (!o || !Number.isFinite(o)) && (o = 1), (!s || !Number.isFinite(s)) && (s = 1), {
928
+ x: o,
929
+ y: s
930
+ };
931
+ }
932
+ var noOffsets = /* @__PURE__ */ createCoords(0);
933
+ function getVisualOffsets(e) {
934
+ let t = getWindow$1(e);
935
+ return !isWebKit() || !t.visualViewport ? noOffsets : {
936
+ x: t.visualViewport.offsetLeft,
937
+ y: t.visualViewport.offsetTop
938
+ };
939
+ }
940
+ function shouldAddVisualOffsets(e, t, n) {
941
+ return t === void 0 && (t = !1), !n || t && n !== getWindow$1(e) ? !1 : t;
942
+ }
943
+ function getBoundingClientRect(e, t, n, r) {
944
+ t === void 0 && (t = !1), n === void 0 && (n = !1);
945
+ let i = e.getBoundingClientRect(), a = unwrapElement(e), o = createCoords(1);
946
+ t && (r ? isElement$1(r) && (o = getScale(r)) : o = getScale(e));
947
+ let s = shouldAddVisualOffsets(a, n, r) ? getVisualOffsets(a) : createCoords(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
948
+ if (a) {
949
+ let e = getWindow$1(a), t = r && isElement$1(r) ? getWindow$1(r) : r, n = e, i = getFrameElement(n);
950
+ for (; i && r && t !== n;) {
951
+ let e = getScale(i), t = i.getBoundingClientRect(), r = getComputedStyle$2(i), a = t.left + (i.clientLeft + parseFloat(r.paddingLeft)) * e.x, o = t.top + (i.clientTop + parseFloat(r.paddingTop)) * e.y;
952
+ c *= e.x, l *= e.y, u *= e.x, d *= e.y, c += a, l += o, n = getWindow$1(i), i = getFrameElement(n);
953
+ }
954
+ }
955
+ return rectToClientRect({
956
+ width: u,
957
+ height: d,
958
+ x: c,
959
+ y: l
960
+ });
961
+ }
962
+ function getWindowScrollBarX(e, t) {
963
+ let n = getNodeScroll(e).scrollLeft;
964
+ return t ? t.left + n : getBoundingClientRect(getDocumentElement$1(e)).left + n;
965
+ }
966
+ function getHTMLOffset(e, t) {
967
+ let n = e.getBoundingClientRect();
968
+ return {
969
+ x: n.left + t.scrollLeft - getWindowScrollBarX(e, n),
970
+ y: n.top + t.scrollTop
971
+ };
972
+ }
973
+ function convertOffsetParentRelativeRectToViewportRelativeRect(e) {
974
+ let { elements: t, rect: n, offsetParent: r, strategy: i } = e, a = i === "fixed", o = getDocumentElement$1(r), s = t ? isTopLayer(t.floating) : !1;
975
+ if (r === o || s && a) return n;
976
+ let c = {
977
+ scrollLeft: 0,
978
+ scrollTop: 0
979
+ }, l = createCoords(1), u = createCoords(0), d = isHTMLElement$1(r);
980
+ if ((d || !d && !a) && ((getNodeName$1(r) !== "body" || isOverflowElement$1(o)) && (c = getNodeScroll(r)), isHTMLElement$1(r))) {
981
+ let e = getBoundingClientRect(r);
982
+ l = getScale(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
983
+ }
984
+ let f = o && !d && !a ? getHTMLOffset(o, c) : createCoords(0);
985
+ return {
986
+ width: n.width * l.x,
987
+ height: n.height * l.y,
988
+ x: n.x * l.x - c.scrollLeft * l.x + u.x + f.x,
989
+ y: n.y * l.y - c.scrollTop * l.y + u.y + f.y
990
+ };
991
+ }
992
+ function getClientRects(e) {
993
+ return Array.from(e.getClientRects());
994
+ }
995
+ function getDocumentRect(e) {
996
+ let t = getDocumentElement$1(e), n = getNodeScroll(e), r = e.ownerDocument.body, i = max$1(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = max$1(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + getWindowScrollBarX(e), s = -n.scrollTop;
997
+ return getComputedStyle$2(r).direction === "rtl" && (o += max$1(t.clientWidth, r.clientWidth) - i), {
998
+ width: i,
999
+ height: a,
1000
+ x: o,
1001
+ y: s
1002
+ };
1003
+ }
1004
+ var SCROLLBAR_MAX = 25;
1005
+ function getViewportRect(e, t) {
1006
+ let n = getWindow$1(e), r = getDocumentElement$1(e), i = n.visualViewport, a = r.clientWidth, o = r.clientHeight, s = 0, c = 0;
1007
+ if (i) {
1008
+ a = i.width, o = i.height;
1009
+ let e = isWebKit();
1010
+ (!e || e && t === "fixed") && (s = i.offsetLeft, c = i.offsetTop);
1011
+ }
1012
+ let l = getWindowScrollBarX(r);
1013
+ if (l <= 0) {
1014
+ let e = r.ownerDocument, t = e.body, n = getComputedStyle(t), i = e.compatMode === "CSS1Compat" && parseFloat(n.marginLeft) + parseFloat(n.marginRight) || 0, o = Math.abs(r.clientWidth - t.clientWidth - i);
1015
+ o <= SCROLLBAR_MAX && (a -= o);
1016
+ } else l <= SCROLLBAR_MAX && (a += l);
1017
+ return {
1018
+ width: a,
1019
+ height: o,
1020
+ x: s,
1021
+ y: c
1022
+ };
1023
+ }
1024
+ var absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
1025
+ function getInnerBoundingClientRect(e, t) {
1026
+ let n = getBoundingClientRect(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = isHTMLElement$1(e) ? getScale(e) : createCoords(1);
1027
+ return {
1028
+ width: e.clientWidth * a.x,
1029
+ height: e.clientHeight * a.y,
1030
+ x: i * a.x,
1031
+ y: r * a.y
1032
+ };
1033
+ }
1034
+ function getClientRectFromClippingAncestor(e, t, n) {
1035
+ let r;
1036
+ if (t === "viewport") r = getViewportRect(e, n);
1037
+ else if (t === "document") r = getDocumentRect(getDocumentElement$1(e));
1038
+ else if (isElement$1(t)) r = getInnerBoundingClientRect(t, n);
1039
+ else {
1040
+ let n = getVisualOffsets(e);
1041
+ r = {
1042
+ x: t.x - n.x,
1043
+ y: t.y - n.y,
1044
+ width: t.width,
1045
+ height: t.height
1046
+ };
1047
+ }
1048
+ return rectToClientRect(r);
1049
+ }
1050
+ function hasFixedPositionAncestor(e, t) {
1051
+ let n = getParentNode$2(e);
1052
+ return n === t || !isElement$1(n) || isLastTraversableNode(n) ? !1 : getComputedStyle$2(n).position === "fixed" || hasFixedPositionAncestor(n, t);
1053
+ }
1054
+ function getClippingElementAncestors(e, t) {
1055
+ let n = t.get(e);
1056
+ if (n) return n;
1057
+ let r = getOverflowAncestors(e, [], !1).filter((e) => isElement$1(e) && getNodeName$1(e) !== "body"), i = null, a = getComputedStyle$2(e).position === "fixed", o = a ? getParentNode$2(e) : e;
1058
+ for (; isElement$1(o) && !isLastTraversableNode(o);) {
1059
+ let t = getComputedStyle$2(o), n = isContainingBlock(o);
1060
+ !n && t.position === "fixed" && (i = null), (a ? !n && !i : !n && t.position === "static" && i && absoluteOrFixed.has(i.position) || isOverflowElement$1(o) && !n && hasFixedPositionAncestor(e, o)) ? r = r.filter((e) => e !== o) : i = t, o = getParentNode$2(o);
1061
+ }
1062
+ return t.set(e, r), r;
1063
+ }
1064
+ function getClippingRect(e) {
1065
+ let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? isTopLayer(t) ? [] : getClippingElementAncestors(t, this._c) : [].concat(n), r], o = a[0], s = a.reduce((e, n) => {
1066
+ let r = getClientRectFromClippingAncestor(t, n, i);
1067
+ return e.top = max$1(r.top, e.top), e.right = min$1(r.right, e.right), e.bottom = min$1(r.bottom, e.bottom), e.left = max$1(r.left, e.left), e;
1068
+ }, getClientRectFromClippingAncestor(t, o, i));
1069
+ return {
1070
+ width: s.right - s.left,
1071
+ height: s.bottom - s.top,
1072
+ x: s.left,
1073
+ y: s.top
1074
+ };
1075
+ }
1076
+ function getDimensions(e) {
1077
+ let { width: t, height: n } = getCssDimensions(e);
1078
+ return {
1079
+ width: t,
1080
+ height: n
1081
+ };
1082
+ }
1083
+ function getRectRelativeToOffsetParent(e, t, n) {
1084
+ let r = isHTMLElement$1(t), i = getDocumentElement$1(t), a = n === "fixed", o = getBoundingClientRect(e, !0, a, t), s = {
1085
+ scrollLeft: 0,
1086
+ scrollTop: 0
1087
+ }, c = createCoords(0);
1088
+ function l() {
1089
+ c.x = getWindowScrollBarX(i);
1090
+ }
1091
+ if (r || !r && !a) if ((getNodeName$1(t) !== "body" || isOverflowElement$1(i)) && (s = getNodeScroll(t)), r) {
1092
+ let e = getBoundingClientRect(t, !0, a, t);
1093
+ c.x = e.x + t.clientLeft, c.y = e.y + t.clientTop;
1094
+ } else i && l();
1095
+ a && !r && i && l();
1096
+ let u = i && !r && !a ? getHTMLOffset(i, s) : createCoords(0);
1097
+ return {
1098
+ x: o.left + s.scrollLeft - c.x - u.x,
1099
+ y: o.top + s.scrollTop - c.y - u.y,
1100
+ width: o.width,
1101
+ height: o.height
1102
+ };
1103
+ }
1104
+ function isStaticPositioned(e) {
1105
+ return getComputedStyle$2(e).position === "static";
1106
+ }
1107
+ function getTrueOffsetParent(e, t) {
1108
+ if (!isHTMLElement$1(e) || getComputedStyle$2(e).position === "fixed") return null;
1109
+ if (t) return t(e);
1110
+ let n = e.offsetParent;
1111
+ return getDocumentElement$1(e) === n && (n = n.ownerDocument.body), n;
1112
+ }
1113
+ function getOffsetParent(e, t) {
1114
+ let n = getWindow$1(e);
1115
+ if (isTopLayer(e)) return n;
1116
+ if (!isHTMLElement$1(e)) {
1117
+ let t = getParentNode$2(e);
1118
+ for (; t && !isLastTraversableNode(t);) {
1119
+ if (isElement$1(t) && !isStaticPositioned(t)) return t;
1120
+ t = getParentNode$2(t);
1121
+ }
1122
+ return n;
1123
+ }
1124
+ let r = getTrueOffsetParent(e, t);
1125
+ for (; r && isTableElement(r) && isStaticPositioned(r);) r = getTrueOffsetParent(r, t);
1126
+ return r && isLastTraversableNode(r) && isStaticPositioned(r) && !isContainingBlock(r) ? n : r || getContainingBlock(e) || n;
1127
+ }
1128
+ var getElementRects = async function(e) {
1129
+ let t = this.getOffsetParent || getOffsetParent, n = this.getDimensions, r = await n(e.floating);
1130
+ return {
1131
+ reference: getRectRelativeToOffsetParent(e.reference, await t(e.floating), e.strategy),
1132
+ floating: {
1133
+ x: 0,
1134
+ y: 0,
1135
+ width: r.width,
1136
+ height: r.height
1137
+ }
1138
+ };
1139
+ };
1140
+ function isRTL(e) {
1141
+ return getComputedStyle$2(e).direction === "rtl";
1142
+ }
1143
+ var platform = {
1144
+ convertOffsetParentRelativeRectToViewportRelativeRect,
1145
+ getDocumentElement: getDocumentElement$1,
1146
+ getClippingRect,
1147
+ getOffsetParent,
1148
+ getElementRects,
1149
+ getClientRects,
1150
+ getDimensions,
1151
+ getScale,
1152
+ isElement: isElement$1,
1153
+ isRTL
1154
+ };
1155
+ function rectsAreEqual(e, t) {
1156
+ return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
1157
+ }
1158
+ function observeMove(e, t) {
1159
+ let n = null, r, i = getDocumentElement$1(e);
1160
+ function a() {
1161
+ var e;
1162
+ clearTimeout(r), (e = n) == null || e.disconnect(), n = null;
1163
+ }
1164
+ function o(s, c) {
1165
+ s === void 0 && (s = !1), c === void 0 && (c = 1), a();
1166
+ let l = e.getBoundingClientRect(), { left: u, top: d, width: f, height: p } = l;
1167
+ if (s || t(), !f || !p) return;
1168
+ let m = floor$1(d), h = floor$1(i.clientWidth - (u + f)), g = floor$1(i.clientHeight - (d + p)), _ = floor$1(u), v = {
1169
+ rootMargin: -m + "px " + -h + "px " + -g + "px " + -_ + "px",
1170
+ threshold: max$1(0, min$1(1, c)) || 1
1171
+ }, y = !0;
1172
+ function b(t) {
1173
+ let n = t[0].intersectionRatio;
1174
+ if (n !== c) {
1175
+ if (!y) return o();
1176
+ n ? o(!1, n) : r = setTimeout(() => {
1177
+ o(!1, 1e-7);
1178
+ }, 1e3);
1179
+ }
1180
+ n === 1 && !rectsAreEqual(l, e.getBoundingClientRect()) && o(), y = !1;
1181
+ }
1182
+ try {
1183
+ n = new IntersectionObserver(b, {
1184
+ ...v,
1185
+ root: i.ownerDocument
1186
+ });
1187
+ } catch {
1188
+ n = new IntersectionObserver(b, v);
1189
+ }
1190
+ n.observe(e);
1191
+ }
1192
+ return o(!0), a;
1193
+ }
1194
+ function autoUpdate(e, t, n, r) {
1195
+ r === void 0 && (r = {});
1196
+ let { ancestorScroll: i = !0, ancestorResize: a = !0, elementResize: o = typeof ResizeObserver == "function", layoutShift: s = typeof IntersectionObserver == "function", animationFrame: c = !1 } = r, l = unwrapElement(e), u = i || a ? [...l ? getOverflowAncestors(l) : [], ...getOverflowAncestors(t)] : [];
1197
+ u.forEach((e) => {
1198
+ i && e.addEventListener("scroll", n, { passive: !0 }), a && e.addEventListener("resize", n);
1199
+ });
1200
+ let d = l && s ? observeMove(l, n) : null, f = -1, p = null;
1201
+ o && (p = new ResizeObserver((e) => {
1202
+ let [r] = e;
1203
+ r && r.target === l && p && (p.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
1204
+ var e;
1205
+ (e = p) == null || e.observe(t);
1206
+ })), n();
1207
+ }), l && !c && p.observe(l), p.observe(t));
1208
+ let m, h = c ? getBoundingClientRect(e) : null;
1209
+ c && g();
1210
+ function g() {
1211
+ let t = getBoundingClientRect(e);
1212
+ h && !rectsAreEqual(h, t) && n(), h = t, m = requestAnimationFrame(g);
1213
+ }
1214
+ return n(), () => {
1215
+ var e;
1216
+ u.forEach((e) => {
1217
+ i && e.removeEventListener("scroll", n), a && e.removeEventListener("resize", n);
1218
+ }), d?.(), (e = p) == null || e.disconnect(), p = null, c && cancelAnimationFrame(m);
1219
+ };
1220
+ }
1221
+ var offset = offset$1, shift = shift$1, flip = flip$1, size = size$1, hide = hide$1, arrow = arrow$1, limitShift = limitShift$1, computePosition = (e, t, n) => {
1222
+ let r = /* @__PURE__ */ new Map(), i = {
1223
+ platform,
1224
+ ...n
1225
+ }, a = {
1226
+ ...i.platform,
1227
+ _c: r
1228
+ };
1229
+ return computePosition$1(e, t, {
1230
+ ...i,
1231
+ platform: a
1232
+ });
1233
+ };
1234
+ function createDOMRect(e = 0, t = 0, n = 0, r = 0) {
1235
+ if (typeof DOMRect == "function") return new DOMRect(e, t, n, r);
1236
+ let i = {
1237
+ x: e,
1238
+ y: t,
1239
+ width: n,
1240
+ height: r,
1241
+ top: t,
1242
+ right: e + n,
1243
+ bottom: t + r,
1244
+ left: e
1245
+ };
1246
+ return {
1247
+ ...i,
1248
+ toJSON: () => i
1249
+ };
1250
+ }
1251
+ function getDOMRect(e) {
1252
+ if (!e) return createDOMRect();
1253
+ let { x: t, y: n, width: r, height: i } = e;
1254
+ return createDOMRect(t, n, r, i);
1255
+ }
1256
+ function getAnchorElement(e, t) {
1257
+ return {
1258
+ contextElement: isHTMLElement(e) ? e : void 0,
1259
+ getBoundingClientRect: () => {
1260
+ let n = e, r = t?.(n);
1261
+ return r || !n ? getDOMRect(r) : n.getBoundingClientRect();
1262
+ }
1263
+ };
1264
+ }
1265
+ var toVar = (e) => ({
1266
+ variable: e,
1267
+ reference: `var(${e})`
1268
+ }), cssVars = {
1269
+ arrowSize: toVar("--arrow-size"),
1270
+ arrowSizeHalf: toVar("--arrow-size-half"),
1271
+ arrowBg: toVar("--arrow-background"),
1272
+ transformOrigin: toVar("--transform-origin"),
1273
+ arrowOffset: toVar("--arrow-offset")
1274
+ };
1275
+ function getTransformOrigin(e) {
1276
+ return {
1277
+ top: "bottom center",
1278
+ "top-start": e ? `${e.x}px bottom` : "left bottom",
1279
+ "top-end": e ? `${e.x}px bottom` : "right bottom",
1280
+ bottom: "top center",
1281
+ "bottom-start": e ? `${e.x}px top` : "top left",
1282
+ "bottom-end": e ? `${e.x}px top` : "top right",
1283
+ left: "right center",
1284
+ "left-start": e ? `right ${e.y}px` : "right top",
1285
+ "left-end": e ? `right ${e.y}px` : "right bottom",
1286
+ right: "left center",
1287
+ "right-start": e ? `left ${e.y}px` : "left top",
1288
+ "right-end": e ? `left ${e.y}px` : "left bottom"
1289
+ };
1290
+ }
1291
+ var transformOriginMiddleware = {
1292
+ name: "transformOrigin",
1293
+ fn({ placement: e, elements: t, middlewareData: n }) {
1294
+ let { arrow: r } = n, i = getTransformOrigin(r)[e], { floating: a } = t;
1295
+ return a.style.setProperty(cssVars.transformOrigin.variable, i), { data: { transformOrigin: i } };
1296
+ }
1297
+ }, rectMiddleware = {
1298
+ name: "rects",
1299
+ fn({ rects: e }) {
1300
+ return { data: e };
1301
+ }
1302
+ };
1303
+ function shiftArrowMiddleware(e) {
1304
+ if (e) return {
1305
+ name: "shiftArrow",
1306
+ fn({ placement: t, middlewareData: n }) {
1307
+ if (!n.arrow) return {};
1308
+ let { x: r, y: i } = n.arrow, a = t.split("-")[0];
1309
+ return Object.assign(e.style, {
1310
+ left: r == null ? "" : `${r}px`,
1311
+ top: i == null ? "" : `${i}px`,
1312
+ [a]: `calc(100% + ${cssVars.arrowOffset.reference})`
1313
+ }), {};
1314
+ }
1315
+ };
1316
+ }
1317
+ function getPlacementDetails(e) {
1318
+ let [t, n] = e.split("-");
1319
+ return {
1320
+ side: t,
1321
+ align: n,
1322
+ hasAlign: n != null
1323
+ };
1324
+ }
1325
+ var defaultOptions = {
1326
+ strategy: "absolute",
1327
+ placement: "bottom",
1328
+ listeners: !0,
1329
+ gutter: 8,
1330
+ flip: !0,
1331
+ slide: !0,
1332
+ overlap: !1,
1333
+ sameWidth: !1,
1334
+ fitViewport: !1,
1335
+ overflowPadding: 8,
1336
+ arrowPadding: 4
1337
+ };
1338
+ function roundByDpr(e, t) {
1339
+ let n = e.devicePixelRatio || 1;
1340
+ return Math.round(t * n) / n;
1341
+ }
1342
+ function getBoundaryMiddleware(e) {
1343
+ return runIfFn(e.boundary);
1344
+ }
1345
+ function getArrowMiddleware(e, t) {
1346
+ if (e) return arrow({
1347
+ element: e,
1348
+ padding: t.arrowPadding
1349
+ });
1350
+ }
1351
+ function getOffsetMiddleware(e, t) {
1352
+ if (!isNull(t.offset ?? t.gutter)) return offset(({ placement: n }) => {
1353
+ let r = (e?.clientHeight || 0) / 2, i = t.offset?.mainAxis ?? t.gutter, a = typeof i == "number" ? i + r : i ?? r, { hasAlign: o } = getPlacementDetails(n), s = o ? void 0 : t.shift;
1354
+ return compact({
1355
+ crossAxis: t.offset?.crossAxis ?? s,
1356
+ mainAxis: a,
1357
+ alignmentAxis: t.shift
1358
+ });
1359
+ });
1360
+ }
1361
+ function getFlipMiddleware(e) {
1362
+ if (e.flip) return flip({
1363
+ boundary: getBoundaryMiddleware(e),
1364
+ padding: e.overflowPadding,
1365
+ fallbackPlacements: e.flip === !0 ? void 0 : e.flip
1366
+ });
1367
+ }
1368
+ function getShiftMiddleware(e) {
1369
+ if (!(!e.slide && !e.overlap)) return shift({
1370
+ boundary: getBoundaryMiddleware(e),
1371
+ mainAxis: e.slide,
1372
+ crossAxis: e.overlap,
1373
+ padding: e.overflowPadding,
1374
+ limiter: limitShift()
1375
+ });
1376
+ }
1377
+ function getSizeMiddleware(e) {
1378
+ return size({
1379
+ padding: e.overflowPadding,
1380
+ apply({ elements: e, rects: t, availableHeight: n, availableWidth: r }) {
1381
+ let i = e.floating, a = Math.round(t.reference.width);
1382
+ r = Math.floor(r), n = Math.floor(n), i.style.setProperty("--reference-width", `${a}px`), i.style.setProperty("--available-width", `${r}px`), i.style.setProperty("--available-height", `${n}px`);
1383
+ }
1384
+ });
1385
+ }
1386
+ function hideWhenDetachedMiddleware(e) {
1387
+ if (e.hideWhenDetached) return hide({
1388
+ strategy: "referenceHidden",
1389
+ boundary: e.boundary?.() ?? "clippingAncestors"
1390
+ });
1391
+ }
1392
+ function getAutoUpdateOptions(e) {
1393
+ return e ? e === !0 ? {
1394
+ ancestorResize: !0,
1395
+ ancestorScroll: !0,
1396
+ elementResize: !0,
1397
+ layoutShift: !0
1398
+ } : e : {};
1399
+ }
1400
+ function getPlacementImpl(e, t, n = {}) {
1401
+ let r = getAnchorElement(e, n.getAnchorRect);
1402
+ if (!t || !r) return;
1403
+ let i = Object.assign({}, defaultOptions, n), a = t.querySelector("[data-part=arrow]"), o = [
1404
+ getOffsetMiddleware(a, i),
1405
+ getFlipMiddleware(i),
1406
+ getShiftMiddleware(i),
1407
+ getArrowMiddleware(a, i),
1408
+ shiftArrowMiddleware(a),
1409
+ transformOriginMiddleware,
1410
+ getSizeMiddleware(i),
1411
+ hideWhenDetachedMiddleware(i),
1412
+ rectMiddleware
1413
+ ], { placement: s, strategy: c, onComplete: l, onPositioned: u } = i, d = async () => {
1414
+ if (!r || !t) return;
1415
+ let e = await computePosition(r, t, {
1416
+ placement: s,
1417
+ middleware: o,
1418
+ strategy: c
1419
+ });
1420
+ l?.(e), u?.({ placed: !0 });
1421
+ let n = getWindow(t), a = roundByDpr(n, e.x), d = roundByDpr(n, e.y);
1422
+ t.style.setProperty("--x", `${a}px`), t.style.setProperty("--y", `${d}px`), i.hideWhenDetached && (e.middlewareData.hide?.referenceHidden ? (t.style.setProperty("visibility", "hidden"), t.style.setProperty("pointer-events", "none")) : (t.style.removeProperty("visibility"), t.style.removeProperty("pointer-events")));
1423
+ let f = t.firstElementChild;
1424
+ if (f) {
1425
+ let e = getComputedStyle$1(f);
1426
+ t.style.setProperty("--z-index", e.zIndex);
1427
+ }
1428
+ }, f = async () => {
1429
+ n.updatePosition ? (await n.updatePosition({ updatePosition: d }), u?.({ placed: !0 })) : await d();
1430
+ }, p = getAutoUpdateOptions(i.listeners), m = i.listeners ? autoUpdate(r, t, f, p) : noop;
1431
+ return f(), () => {
1432
+ m?.(), u?.({ placed: !1 });
1433
+ };
1434
+ }
1435
+ function getPlacement(e, t, n = {}) {
1436
+ let { defer: r, ...i } = n, a = r ? raf$2 : (e) => e(), o = [];
1437
+ return o.push(a(() => {
1438
+ let n = typeof e == "function" ? e() : e, r = typeof t == "function" ? t() : t;
1439
+ o.push(getPlacementImpl(n, r, i));
1440
+ })), () => {
1441
+ o.forEach((e) => e?.());
1442
+ };
1443
+ }
1444
+ var ARROW_FLOATING_STYLE = {
1445
+ bottom: "rotate(45deg)",
1446
+ left: "rotate(135deg)",
1447
+ top: "rotate(225deg)",
1448
+ right: "rotate(315deg)"
1449
+ };
1450
+ function getPlacementStyles(e = {}) {
1451
+ let { placement: t, sameWidth: n, fitViewport: r, strategy: i = "absolute" } = e;
1452
+ return {
1453
+ arrow: {
1454
+ position: "absolute",
1455
+ width: cssVars.arrowSize.reference,
1456
+ height: cssVars.arrowSize.reference,
1457
+ [cssVars.arrowSizeHalf.variable]: `calc(${cssVars.arrowSize.reference} / 2)`,
1458
+ [cssVars.arrowOffset.variable]: `calc(${cssVars.arrowSizeHalf.reference} * -1)`
1459
+ },
1460
+ arrowTip: {
1461
+ transform: t ? ARROW_FLOATING_STYLE[t.split("-")[0]] : void 0,
1462
+ background: cssVars.arrowBg.reference,
1463
+ top: "0",
1464
+ left: "0",
1465
+ width: "100%",
1466
+ height: "100%",
1467
+ position: "absolute",
1468
+ zIndex: "inherit"
1469
+ },
1470
+ floating: {
1471
+ position: i,
1472
+ isolation: "isolate",
1473
+ minWidth: n ? void 0 : "max-content",
1474
+ width: n ? "var(--reference-width)" : void 0,
1475
+ maxWidth: r ? "var(--available-width)" : void 0,
1476
+ maxHeight: r ? "var(--available-height)" : void 0,
1477
+ top: "0px",
1478
+ left: "0px",
1479
+ transform: t ? "translate3d(var(--x), var(--y), 0)" : "translate3d(0, -100vh, 0)",
1480
+ zIndex: "var(--z-index)"
1481
+ }
1482
+ };
1483
+ }
1484
+ var counterMap = /* @__PURE__ */ new WeakMap(), uncontrolledNodes = /* @__PURE__ */ new WeakMap(), markerMap = {}, lockCount = 0;
1485
+ function unwrapHost(e) {
1486
+ return e && (e.host || unwrapHost(e.parentNode));
1487
+ }
1488
+ function correctTargets(e, t) {
1489
+ return t.map((t) => {
1490
+ if (e.contains(t)) return t;
1491
+ let n = unwrapHost(t);
1492
+ return n && e.contains(n) ? n : (console.error("[@destyler/aria-hidden] target", t, "in not contained inside", e, ". Doing nothing"), null);
1493
+ }).filter((e) => !!e);
1494
+ }
1495
+ function isIgnoredNode(e) {
1496
+ return e.localName === "next-route-announcer" || e.localName === "script" || e.hasAttribute("aria-live") ? !0 : e.matches("[data-live-announcer]");
1497
+ }
1498
+ function walkTreeOutside(e, t) {
1499
+ let { parentNode: n, markerName: r, controlAttribute: i, explicitBooleanValue: a } = t, o = correctTargets(n, Array.isArray(e) ? e : [e]);
1500
+ markerMap[r] ||= /* @__PURE__ */ new WeakMap();
1501
+ let s = markerMap[r], c = [], l = /* @__PURE__ */ new Set(), u = new Set(o), d = (e) => {
1502
+ !e || l.has(e) || (l.add(e), d(e.parentNode));
1503
+ };
1504
+ o.forEach(d);
1505
+ let f = (e) => {
1506
+ !e || u.has(e) || Array.prototype.forEach.call(e.children, (e) => {
1507
+ if (l.has(e)) f(e);
1508
+ else try {
1509
+ if (isIgnoredNode(e)) return;
1510
+ let t = e.getAttribute(i), n = a ? t === "true" : t !== null && t !== "false", o = (counterMap.get(e) || 0) + 1, l = (s.get(e) || 0) + 1;
1511
+ counterMap.set(e, o), s.set(e, l), c.push(e), o === 1 && n && uncontrolledNodes.set(e, !0), l === 1 && e.setAttribute(r, ""), n || e.setAttribute(i, a ? "true" : "");
1512
+ } catch (t) {
1513
+ console.error("[@destyler/aria-hidden] cannot operate on ", e, t);
1514
+ }
1515
+ });
1516
+ };
1517
+ return f(n), l.clear(), lockCount++, () => {
1518
+ c.forEach((e) => {
1519
+ let t = counterMap.get(e) - 1, n = s.get(e) - 1;
1520
+ counterMap.set(e, t), s.set(e, n), t || (uncontrolledNodes.has(e) || e.removeAttribute(i), uncontrolledNodes.delete(e)), n || e.removeAttribute(r);
1521
+ }), lockCount--, lockCount || (counterMap = /* @__PURE__ */ new WeakMap(), counterMap = /* @__PURE__ */ new WeakMap(), uncontrolledNodes = /* @__PURE__ */ new WeakMap(), markerMap = {});
1522
+ };
1523
+ }
1524
+ function getParentNode(e) {
1525
+ return (Array.isArray(e) ? e[0] : e).ownerDocument.body;
1526
+ }
1527
+ function hideOthers(e, t = getParentNode(e), n = "data-aria-hidden") {
1528
+ if (t) return walkTreeOutside(e, {
1529
+ parentNode: t,
1530
+ markerName: n,
1531
+ controlAttribute: "aria-hidden",
1532
+ explicitBooleanValue: !0
1533
+ });
1534
+ }
1535
+ function raf(e) {
1536
+ let t = requestAnimationFrame(() => e());
1537
+ return () => cancelAnimationFrame(t);
1538
+ }
1539
+ function ariaHidden(e, t = {}) {
1540
+ let { defer: n = !0 } = t, r = n ? raf : (e) => e(), i = [];
1541
+ return i.push(r(() => {
1542
+ let t = (typeof e == "function" ? e() : e).filter(Boolean);
1543
+ t.length !== 0 && i.push(hideOthers(t));
1544
+ })), () => {
1545
+ i.forEach((e) => e?.());
1546
+ };
1547
+ }
1548
+ function getWindowFrames(e) {
1549
+ let t = {
1550
+ each(t) {
1551
+ for (let n = 0; n < e.frames?.length; n += 1) {
1552
+ let r = e.frames[n];
1553
+ r && t(r);
1554
+ }
1555
+ },
1556
+ addEventListener(e, n, r) {
1557
+ return t.each((t) => {
1558
+ try {
1559
+ t.document.addEventListener(e, n, r);
1560
+ } catch {}
1561
+ }), () => {
1562
+ try {
1563
+ t.removeEventListener(e, n, r);
1564
+ } catch {}
1565
+ };
1566
+ },
1567
+ removeEventListener(e, n, r) {
1568
+ t.each((t) => {
1569
+ try {
1570
+ t.document.removeEventListener(e, n, r);
1571
+ } catch {}
1572
+ });
1573
+ }
1574
+ };
1575
+ return t;
1576
+ }
1577
+ function getParentWindow(e) {
1578
+ let t = e.frameElement == null ? null : e.parent;
1579
+ return {
1580
+ addEventListener: (e, n, r) => {
1581
+ try {
1582
+ t?.addEventListener(e, n, r);
1583
+ } catch {}
1584
+ return () => {
1585
+ try {
1586
+ t?.removeEventListener(e, n, r);
1587
+ } catch {}
1588
+ };
1589
+ },
1590
+ removeEventListener: (e, n, r) => {
1591
+ try {
1592
+ t?.removeEventListener(e, n, r);
1593
+ } catch {}
1594
+ }
1595
+ };
1596
+ }
1597
+ var POINTER_OUTSIDE_EVENT = "pointerdown.outside", FOCUS_OUTSIDE_EVENT = "focus.outside";
1598
+ function isComposedPathFocusable(e) {
1599
+ for (let t of e) if (isHTMLElement(t) && isFocusable(t)) return !0;
1600
+ return !1;
1601
+ }
1602
+ var isPointerEvent = (e) => "clientY" in e;
1603
+ function isEventPointWithin(e, t) {
1604
+ if (!isPointerEvent(t) || !e) return !1;
1605
+ let n = e.getBoundingClientRect();
1606
+ return n.width === 0 || n.height === 0 ? !1 : n.top <= t.clientY && t.clientY <= n.top + n.height && n.left <= t.clientX && t.clientX <= n.left + n.width;
1607
+ }
1608
+ function isPointInRect(e, t) {
1609
+ return e.y <= t.y && t.y <= e.y + e.height && e.x <= t.x && t.x <= e.x + e.width;
1610
+ }
1611
+ function isEventWithinScrollbar(e, t) {
1612
+ if (!t || !isPointerEvent(e)) return !1;
1613
+ let n = t.scrollHeight > t.clientHeight, r = n && e.clientX > t.offsetLeft + t.clientWidth, i = t.scrollWidth > t.clientWidth, a = i && e.clientY > t.offsetTop + t.clientHeight;
1614
+ return isPointInRect({
1615
+ x: t.offsetLeft,
1616
+ y: t.offsetTop,
1617
+ width: t.clientWidth + (n ? 16 : 0),
1618
+ height: t.clientHeight + (i ? 16 : 0)
1619
+ }, {
1620
+ x: e.clientX,
1621
+ y: e.clientY
1622
+ }) ? r || a : !1;
1623
+ }
1624
+ function trackInteractOutsideImpl(e, t) {
1625
+ let { exclude: n, onFocusOutside: r, onPointerDownOutside: i, onInteractOutside: a, defer: o } = t;
1626
+ if (!e) return;
1627
+ let s = getDocument(e), c = getWindow(e), l = getWindowFrames(c), u = getParentWindow(c);
1628
+ function d(t) {
1629
+ let r = getEventTarget(t);
1630
+ if (!isHTMLElement(r) || !r.isConnected || contains(e, r) || isEventPointWithin(e, t)) return !1;
1631
+ let i = s.querySelector(`[aria-controls="${e.id}"]`);
1632
+ return i && isEventWithinScrollbar(t, getNearestOverflowAncestor(i)) || isEventWithinScrollbar(t, getNearestOverflowAncestor(e)) ? !1 : !n?.(r);
1633
+ }
1634
+ let f = /* @__PURE__ */ new Set();
1635
+ function p(t) {
1636
+ function n() {
1637
+ let n = o ? raf$2 : (e) => e(), r = t.composedPath?.() ?? [t.target];
1638
+ n(() => {
1639
+ if (!(!e || !d(t))) {
1640
+ if (i || a) {
1641
+ let t = callAll(i, a);
1642
+ e.addEventListener(POINTER_OUTSIDE_EVENT, t, { once: !0 });
1643
+ }
1644
+ fireCustomEvent(e, POINTER_OUTSIDE_EVENT, {
1645
+ bubbles: !1,
1646
+ cancelable: !0,
1647
+ detail: {
1648
+ originalEvent: t,
1649
+ contextmenu: isContextMenuEvent(t),
1650
+ focusable: isComposedPathFocusable(r)
1651
+ }
1652
+ });
1653
+ }
1654
+ });
1655
+ }
1656
+ t.pointerType === "touch" ? (f.forEach((e) => e()), f.add(addDomEvent(s, "click", n, { once: !0 })), f.add(u.addEventListener("click", n, { once: !0 })), f.add(l.addEventListener("click", n, { once: !0 }))) : n();
1657
+ }
1658
+ let m = /* @__PURE__ */ new Set(), h = setTimeout(() => {
1659
+ m.add(addDomEvent(s, "pointerdown", p, !0)), m.add(u.addEventListener("pointerdown", p, !0)), m.add(l.addEventListener("pointerdown", p, !0));
1660
+ }, 0);
1661
+ function g(t) {
1662
+ (o ? raf$2 : (e) => e())(() => {
1663
+ if (!(!e || !d(t))) {
1664
+ if (r || a) {
1665
+ let t = callAll(r, a);
1666
+ e.addEventListener(FOCUS_OUTSIDE_EVENT, t, { once: !0 });
1667
+ }
1668
+ fireCustomEvent(e, FOCUS_OUTSIDE_EVENT, {
1669
+ bubbles: !1,
1670
+ cancelable: !0,
1671
+ detail: {
1672
+ originalEvent: t,
1673
+ contextmenu: !1,
1674
+ focusable: isFocusable(getEventTarget(t))
1675
+ }
1676
+ });
1677
+ }
1678
+ });
1679
+ }
1680
+ return m.add(addDomEvent(s, "focusin", g, !0)), m.add(u.addEventListener("focusin", g, !0)), m.add(l.addEventListener("focusin", g, !0)), () => {
1681
+ clearTimeout(h), f.forEach((e) => e()), m.forEach((e) => e());
1682
+ };
1683
+ }
1684
+ function trackInteractOutside(e, t) {
1685
+ let { defer: n } = t, r = n ? raf$2 : (e) => e(), i = [];
1686
+ return i.push(r(() => {
1687
+ let n = typeof e == "function" ? e() : e;
1688
+ i.push(trackInteractOutsideImpl(n, t));
1689
+ })), () => {
1690
+ i.forEach((e) => e?.());
1691
+ };
1692
+ }
1693
+ function fireCustomEvent(e, t, n) {
1694
+ let r = new (e.ownerDocument.defaultView || window).CustomEvent(t, n);
1695
+ return e.dispatchEvent(r);
1696
+ }
1697
+ function trackEscapeKeydown(e, t) {
1698
+ return addDomEvent(getDocument(e), "keydown", (e) => {
1699
+ e.key === "Escape" && (e.isComposing || t?.(e));
1700
+ }, { capture: !0 });
1701
+ }
1702
+ var layerStack = {
1703
+ layers: [],
1704
+ branches: [],
1705
+ count() {
1706
+ return this.layers.length;
1707
+ },
1708
+ pointerBlockingLayers() {
1709
+ return this.layers.filter((e) => e.pointerBlocking);
1710
+ },
1711
+ topMostPointerBlockingLayer() {
1712
+ return [...this.pointerBlockingLayers()].slice(-1)[0];
1713
+ },
1714
+ hasPointerBlockingLayer() {
1715
+ return this.pointerBlockingLayers().length > 0;
1716
+ },
1717
+ isBelowPointerBlockingLayer(e) {
1718
+ return this.indexOf(e) < (this.topMostPointerBlockingLayer() ? this.indexOf(this.topMostPointerBlockingLayer()?.node) : -1);
1719
+ },
1720
+ isTopMost(e) {
1721
+ return this.layers[this.count() - 1]?.node === e;
1722
+ },
1723
+ getNestedLayers(e) {
1724
+ return Array.from(this.layers).slice(this.indexOf(e) + 1);
1725
+ },
1726
+ isInNestedLayer(e, t) {
1727
+ return this.getNestedLayers(e).some((e) => contains(e.node, t));
1728
+ },
1729
+ isInBranch(e) {
1730
+ return Array.from(this.branches).some((t) => contains(t, e));
1731
+ },
1732
+ add(e) {
1733
+ let t = this.layers.push(e);
1734
+ e.node.style.setProperty("--layer-index", `${t}`);
1735
+ },
1736
+ addBranch(e) {
1737
+ this.branches.push(e);
1738
+ },
1739
+ remove(e) {
1740
+ let t = this.indexOf(e);
1741
+ t < 0 || (t < this.count() - 1 && this.getNestedLayers(e).forEach((e) => e.dismiss()), this.layers.splice(t, 1), e.style.removeProperty("--layer-index"));
1742
+ },
1743
+ removeBranch(e) {
1744
+ let t = this.branches.indexOf(e);
1745
+ t >= 0 && this.branches.splice(t, 1);
1746
+ },
1747
+ indexOf(e) {
1748
+ return this.layers.findIndex((t) => t.node === e);
1749
+ },
1750
+ dismiss(e) {
1751
+ this.layers[this.indexOf(e)]?.dismiss();
1752
+ },
1753
+ clear() {
1754
+ this.remove(this.layers[0].node);
1755
+ }
1756
+ }, originalBodyPointerEvents;
1757
+ function assignPointerEventToLayers() {
1758
+ layerStack.layers.forEach(({ node: e }) => {
1759
+ e.style.pointerEvents = layerStack.isBelowPointerBlockingLayer(e) ? "none" : "auto";
1760
+ });
1761
+ }
1762
+ function clearPointerEvent(e) {
1763
+ e.style.pointerEvents = "";
1764
+ }
1765
+ function disablePointerEventsOutside(e, t) {
1766
+ let n = getDocument(e), r = [];
1767
+ if (layerStack.hasPointerBlockingLayer() && !n.body.hasAttribute("data-inert") && (originalBodyPointerEvents = document.body.style.pointerEvents, queueMicrotask(() => {
1768
+ n.body.style.pointerEvents = "none", n.body.setAttribute("data-inert", "");
1769
+ })), t) {
1770
+ let e = waitForElements(t, (e) => {
1771
+ r.push(setStyle(e, { pointerEvents: "auto" }));
1772
+ });
1773
+ r.push(e);
1774
+ }
1775
+ return () => {
1776
+ layerStack.hasPointerBlockingLayer() || (queueMicrotask(() => {
1777
+ n.body.style.pointerEvents = originalBodyPointerEvents, n.body.removeAttribute("data-inert"), n.body.style.length === 0 && n.body.removeAttribute("style");
1778
+ }), r.forEach((e) => e()));
1779
+ };
1780
+ }
1781
+ function trackDismissableElementImpl(e, t) {
1782
+ if (!e) throw Error("[@destyler/dismissable] node is `null` or `undefined`");
1783
+ let { onDismiss: n, pointerBlocking: r, exclude: i, debug: a } = t, o = {
1784
+ dismiss: n,
1785
+ node: e,
1786
+ pointerBlocking: r
1787
+ };
1788
+ layerStack.add(o), assignPointerEventToLayers();
1789
+ function s(r) {
1790
+ let i = getEventTarget(r.detail.originalEvent);
1791
+ layerStack.isBelowPointerBlockingLayer(e) || layerStack.isInBranch(i) || (t.onPointerDownOutside?.(r), t.onInteractOutside?.(r), !r.defaultPrevented && (a && console.log("onPointerDownOutside:", r.detail.originalEvent), n?.()));
1792
+ }
1793
+ function c(e) {
1794
+ let r = getEventTarget(e.detail.originalEvent);
1795
+ layerStack.isInBranch(r) || (t.onFocusOutside?.(e), t.onInteractOutside?.(e), !e.defaultPrevented && (a && console.log("onFocusOutside:", e.detail.originalEvent), n?.()));
1796
+ }
1797
+ function l(r) {
1798
+ layerStack.isTopMost(e) && (t.onEscapeKeyDown?.(r), !r.defaultPrevented && n && (r.preventDefault(), n()));
1799
+ }
1800
+ function u(n) {
1801
+ if (!e) return !1;
1802
+ let r = typeof i == "function" ? i() : i, a = Array.isArray(r) ? r : [r], o = t.persistentElements?.map((e) => e()).filter(isHTMLElement);
1803
+ return o && a.push(...o), a.some((e) => contains(e, n)) || layerStack.isInNestedLayer(e, n);
1804
+ }
1805
+ let d = [
1806
+ r ? disablePointerEventsOutside(e, t.persistentElements) : void 0,
1807
+ trackEscapeKeydown(e, l),
1808
+ trackInteractOutside(e, {
1809
+ exclude: u,
1810
+ onFocusOutside: c,
1811
+ onPointerDownOutside: s,
1812
+ defer: t.defer
1813
+ })
1814
+ ];
1815
+ return () => {
1816
+ layerStack.remove(e), assignPointerEventToLayers(), clearPointerEvent(e), d.forEach((e) => e?.());
1817
+ };
1818
+ }
1819
+ function trackDismissableElement(e, t) {
1820
+ let { defer: n } = t, r = n ? raf$2 : (e) => e(), i = [];
1821
+ return i.push(r(() => {
1822
+ let n = isFunction(e) ? e() : e;
1823
+ i.push(trackDismissableElementImpl(n, t));
1824
+ })), () => {
1825
+ i.forEach((e) => e?.());
1826
+ };
1827
+ }
1828
+ var isTabEvent = (e) => e.key === "Tab", valueOrHandler = (e, ...t) => typeof e == "function" ? e(...t) : e, isEscapeEvent = (e) => !e.isComposing && e.key === "Escape", delay = (e) => setTimeout(e, 0);
1829
+ function isSelectableInput(e) {
1830
+ return e.localName === "input" && "select" in e && typeof e.select == "function";
1831
+ }
1832
+ var activeFocusTraps = {
1833
+ activateTrap(e, t) {
1834
+ if (e.length > 0) {
1835
+ let n = e[e.length - 1];
1836
+ n !== t && n.pause();
1837
+ }
1838
+ let n = e.indexOf(t);
1839
+ n === -1 || e.splice(n, 1), e.push(t);
1840
+ },
1841
+ deactivateTrap(e, t) {
1842
+ let n = e.indexOf(t);
1843
+ n !== -1 && e.splice(n, 1), e.length > 0 && e[e.length - 1].unpause();
1844
+ }
1845
+ }, sharedTrapStack = [], FocusTrap = class {
1846
+ get active() {
1847
+ return this.state.active;
1848
+ }
1849
+ get paused() {
1850
+ return this.state.paused;
1851
+ }
1852
+ constructor(e, t) {
1853
+ this.state = {
1854
+ containers: [],
1855
+ containerGroups: [],
1856
+ tabbableGroups: [],
1857
+ nodeFocusedBeforeActivation: null,
1858
+ mostRecentlyFocusedNode: null,
1859
+ active: !1,
1860
+ paused: !1,
1861
+ delayInitialFocusTimer: void 0,
1862
+ recentNavEvent: void 0
1863
+ }, this.listenerCleanups = [], this.handleFocus = (e) => {
1864
+ let t = getEventTarget(e), n = this.findContainerIndex(t, e) >= 0;
1865
+ if (n || isDocument(t)) n && (this.state.mostRecentlyFocusedNode = t);
1866
+ else {
1867
+ e.stopImmediatePropagation();
1868
+ let t, n = !0;
1869
+ if (this.state.mostRecentlyFocusedNode) if (getTabIndex(this.state.mostRecentlyFocusedNode) > 0) {
1870
+ let e = this.findContainerIndex(this.state.mostRecentlyFocusedNode), { tabbableNodes: r } = this.state.containerGroups[e];
1871
+ if (r.length > 0) {
1872
+ let e = r.findIndex((e) => e === this.state.mostRecentlyFocusedNode);
1873
+ e >= 0 && (this.config.isKeyForward(this.state.recentNavEvent) ? e + 1 < r.length && (t = r[e + 1], n = !1) : e - 1 >= 0 && (t = r[e - 1], n = !1));
1874
+ }
1875
+ } else this.state.containerGroups.some((e) => e.tabbableNodes.some((e) => getTabIndex(e) > 0)) || (n = !1);
1876
+ else n = !1;
1877
+ n && (t = this.findNextNavNode({
1878
+ target: this.state.mostRecentlyFocusedNode,
1879
+ isBackward: this.config.isKeyBackward(this.state.recentNavEvent)
1880
+ })), t ? this.tryFocus(t) : this.tryFocus(this.state.mostRecentlyFocusedNode || this.getInitialFocusNode());
1881
+ }
1882
+ this.state.recentNavEvent = void 0;
1883
+ }, this.handlePointerDown = (e) => {
1884
+ let t = getEventTarget(e);
1885
+ if (!(this.findContainerIndex(t, e) >= 0)) {
1886
+ if (valueOrHandler(this.config.clickOutsideDeactivates, e)) {
1887
+ this.deactivate({ returnFocus: this.config.returnFocusOnDeactivate });
1888
+ return;
1889
+ }
1890
+ valueOrHandler(this.config.allowOutsideClick, e) || e.preventDefault();
1891
+ }
1892
+ }, this.handleClick = (e) => {
1893
+ let t = getEventTarget(e);
1894
+ this.findContainerIndex(t, e) >= 0 || valueOrHandler(this.config.clickOutsideDeactivates, e) || valueOrHandler(this.config.allowOutsideClick, e) || (e.preventDefault(), e.stopImmediatePropagation());
1895
+ }, this.handleTabKey = (e) => {
1896
+ if (this.config.isKeyForward(e) || this.config.isKeyBackward(e)) {
1897
+ this.state.recentNavEvent = e;
1898
+ let t = this.config.isKeyBackward(e), n = this.findNextNavNode({
1899
+ event: e,
1900
+ isBackward: t
1901
+ });
1902
+ if (!n) return;
1903
+ isTabEvent(e) && e.preventDefault(), this.tryFocus(n);
1904
+ }
1905
+ }, this.handleEscapeKey = (e) => {
1906
+ isEscapeEvent(e) && valueOrHandler(this.config.escapeDeactivates, e) !== !1 && (e.preventDefault(), this.deactivate());
1907
+ }, this.setupMutationObserver = () => {
1908
+ this._mutationObserver = new (this.doc.defaultView || window).MutationObserver((e) => {
1909
+ e.some((e) => Array.from(e.removedNodes).includes(this.state.mostRecentlyFocusedNode)) && this.tryFocus(this.getInitialFocusNode());
1910
+ });
1911
+ }, this.updateObservedNodes = () => {
1912
+ this._mutationObserver?.disconnect(), this.state.active && !this.state.paused && this.state.containers.forEach((e) => {
1913
+ this._mutationObserver?.observe(e, {
1914
+ subtree: !0,
1915
+ childList: !0
1916
+ });
1917
+ });
1918
+ }, this.getInitialFocusNode = () => {
1919
+ let e = this.getNodeForOption("initialFocus", { hasFallback: !0 });
1920
+ if (e === !1) return !1;
1921
+ if (e === void 0 || e && !isFocusable(e)) if (this.findContainerIndex(this.doc.activeElement) >= 0) e = this.doc.activeElement;
1922
+ else {
1923
+ let t = this.state.tabbableGroups[0];
1924
+ e = t && t.firstTabbableNode || this.getNodeForOption("fallbackFocus");
1925
+ }
1926
+ else e === null && (e = this.getNodeForOption("fallbackFocus"));
1927
+ if (!e) throw Error("Your focus-trap needs to have at least one focusable element");
1928
+ return e.isConnected || (e = this.getNodeForOption("fallbackFocus")), e;
1929
+ }, this.tryFocus = (e) => {
1930
+ if (e !== !1 && e !== getActiveElement(this.doc)) {
1931
+ if (!e || !e.focus) {
1932
+ this.tryFocus(this.getInitialFocusNode());
1933
+ return;
1934
+ }
1935
+ e.focus({ preventScroll: !!this.config.preventScroll }), this.state.mostRecentlyFocusedNode = e, isSelectableInput(e) && e.select();
1936
+ }
1937
+ }, this.deactivate = (e) => {
1938
+ if (!this.state.active) return this;
1939
+ let t = {
1940
+ onDeactivate: this.config.onDeactivate,
1941
+ onPostDeactivate: this.config.onPostDeactivate,
1942
+ checkCanReturnFocus: this.config.checkCanReturnFocus,
1943
+ ...e
1944
+ };
1945
+ clearTimeout(this.state.delayInitialFocusTimer), this.state.delayInitialFocusTimer = void 0, this.removeListeners(), this.state.active = !1, this.state.paused = !1, this.updateObservedNodes(), activeFocusTraps.deactivateTrap(this.trapStack, this);
1946
+ let n = this.getOption(t, "onDeactivate"), r = this.getOption(t, "onPostDeactivate"), i = this.getOption(t, "checkCanReturnFocus"), a = this.getOption(t, "returnFocus", "returnFocusOnDeactivate");
1947
+ n?.();
1948
+ let o = () => {
1949
+ delay(() => {
1950
+ if (a) {
1951
+ let e = this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation);
1952
+ this.tryFocus(e);
1953
+ }
1954
+ r?.();
1955
+ });
1956
+ };
1957
+ return a && i ? (i(this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation)).then(o, o), this) : (o(), this);
1958
+ }, this.pause = (e) => {
1959
+ if (this.state.paused || !this.state.active) return this;
1960
+ let t = this.getOption(e, "onPause"), n = this.getOption(e, "onPostPause");
1961
+ return this.state.paused = !0, t?.(), this.removeListeners(), this.updateObservedNodes(), n?.(), this;
1962
+ }, this.unpause = (e) => {
1963
+ if (!this.state.paused || !this.state.active) return this;
1964
+ let t = this.getOption(e, "onUnpause"), n = this.getOption(e, "onPostUnpause");
1965
+ return this.state.paused = !1, t?.(), this.updateTabbableNodes(), this.addListeners(), this.updateObservedNodes(), n?.(), this;
1966
+ }, this.updateContainerElements = (e) => (this.state.containers = Array.isArray(e) ? e.filter(Boolean) : [e].filter(Boolean), this.state.active && this.updateTabbableNodes(), this.updateObservedNodes(), this), this.getReturnFocusNode = (e) => {
1967
+ let t = this.getNodeForOption("setReturnFocus", { params: [e] });
1968
+ return t || (t === !1 ? !1 : e);
1969
+ }, this.getOption = (e, t, n) => e && e[t] !== void 0 ? e[t] : this.config[n || t], this.getNodeForOption = (e, { hasFallback: t = !1, params: n = [] } = {}) => {
1970
+ let r = this.config[e];
1971
+ if (typeof r == "function" && (r = r(...n)), r === !0 && (r = void 0), !r) {
1972
+ if (r === void 0 || r === !1) return r;
1973
+ throw Error(`\`${e}\` was specified but was not a node, or did not return a node`);
1974
+ }
1975
+ let i = r;
1976
+ if (typeof r == "string") {
1977
+ try {
1978
+ i = this.doc.querySelector(r);
1979
+ } catch (t) {
1980
+ throw Error(`\`${e}\` appears to be an invalid selector; error="${t.message}"`);
1981
+ }
1982
+ if (!i && !t) throw Error(`\`${e}\` as selector refers to no known node`);
1983
+ }
1984
+ return i;
1985
+ }, this.findNextNavNode = (e) => {
1986
+ let { event: t, isBackward: n = !1 } = e, r = e.target || getEventTarget(t);
1987
+ this.updateTabbableNodes();
1988
+ let i = null;
1989
+ if (this.state.tabbableGroups.length > 0) {
1990
+ let e = this.findContainerIndex(r, t), a = e >= 0 ? this.state.containerGroups[e] : void 0;
1991
+ if (e < 0) i = n ? this.state.tabbableGroups[this.state.tabbableGroups.length - 1].lastTabbableNode : this.state.tabbableGroups[0].firstTabbableNode;
1992
+ else if (n) {
1993
+ let n = this.state.tabbableGroups.findIndex(({ firstTabbableNode: e }) => r === e);
1994
+ if (n < 0 && (a?.container === r || isFocusable(r) && !isTabbable(r) && !a?.nextTabbableNode(r, !1)) && (n = e), n >= 0) {
1995
+ let e = n === 0 ? this.state.tabbableGroups.length - 1 : n - 1, t = this.state.tabbableGroups[e];
1996
+ i = getTabIndex(r) >= 0 ? t.lastTabbableNode : t.lastDomTabbableNode;
1997
+ } else isTabEvent(t) || (i = a?.nextTabbableNode(r, !1));
1998
+ } else {
1999
+ let n = this.state.tabbableGroups.findIndex(({ lastTabbableNode: e }) => r === e);
2000
+ if (n < 0 && (a?.container === r || isFocusable(r) && !isTabbable(r) && !a?.nextTabbableNode(r)) && (n = e), n >= 0) {
2001
+ let e = n === this.state.tabbableGroups.length - 1 ? 0 : n + 1, t = this.state.tabbableGroups[e];
2002
+ i = getTabIndex(r) >= 0 ? t.firstTabbableNode : t.firstDomTabbableNode;
2003
+ } else isTabEvent(t) || (i = a?.nextTabbableNode(r));
2004
+ }
2005
+ } else i = this.getNodeForOption("fallbackFocus");
2006
+ return i;
2007
+ }, this.trapStack = t.trapStack || sharedTrapStack;
2008
+ let n = {
2009
+ returnFocusOnDeactivate: !0,
2010
+ escapeDeactivates: !0,
2011
+ delayInitialFocus: !0,
2012
+ isKeyForward(e) {
2013
+ return isTabEvent(e) && !e.shiftKey;
2014
+ },
2015
+ isKeyBackward(e) {
2016
+ return isTabEvent(e) && e.shiftKey;
2017
+ },
2018
+ ...t
2019
+ };
2020
+ this.doc = n.document || getDocument(Array.isArray(e) ? e[0] : e), this.config = n, this.updateContainerElements(e), this.setupMutationObserver();
2021
+ }
2022
+ findContainerIndex(e, t) {
2023
+ let n = typeof t?.composedPath == "function" ? t.composedPath() : void 0;
2024
+ return this.state.containerGroups.findIndex(({ container: t, tabbableNodes: r }) => t.contains(e) || n?.includes(t) || r.find((t) => t === e));
2025
+ }
2026
+ updateTabbableNodes() {
2027
+ if (this.state.containerGroups = this.state.containers.map((e) => {
2028
+ let t = getTabbables(e), n = getFocusables(e), r = t.length > 0 ? t[0] : void 0, i = t.length > 0 ? t[t.length - 1] : void 0, a = n.find((e) => isTabbable(e)), o = n.slice().reverse().find((e) => isTabbable(e)), s = !!t.find((e) => getTabIndex(e) > 0);
2029
+ function c(e, r = !0) {
2030
+ let i = t.indexOf(e);
2031
+ return i < 0 ? r ? n.slice(n.indexOf(e) + 1).find((e) => isTabbable(e)) : n.slice(0, n.indexOf(e)).reverse().find((e) => isTabbable(e)) : t[i + (r ? 1 : -1)];
2032
+ }
2033
+ return {
2034
+ container: e,
2035
+ tabbableNodes: t,
2036
+ focusableNodes: n,
2037
+ posTabIndexesFound: s,
2038
+ firstTabbableNode: r,
2039
+ lastTabbableNode: i,
2040
+ firstDomTabbableNode: a,
2041
+ lastDomTabbableNode: o,
2042
+ nextTabbableNode: c
2043
+ };
2044
+ }), this.state.tabbableGroups = this.state.containerGroups.filter((e) => e.tabbableNodes.length > 0), this.state.tabbableGroups.length <= 0 && !this.getNodeForOption("fallbackFocus")) throw Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
2045
+ if (this.state.containerGroups.find((e) => e.posTabIndexesFound) && this.state.containerGroups.length > 1) throw Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.");
2046
+ }
2047
+ addListeners() {
2048
+ if (this.state.active) return activeFocusTraps.activateTrap(this.trapStack, this), this.state.delayInitialFocusTimer = this.config.delayInitialFocus ? delay(() => {
2049
+ this.tryFocus(this.getInitialFocusNode());
2050
+ }) : this.tryFocus(this.getInitialFocusNode()), this.listenerCleanups.push(addDomEvent(this.doc, "focusin", this.handleFocus, !0), addDomEvent(this.doc, "mousedown", this.handlePointerDown, {
2051
+ capture: !0,
2052
+ passive: !1
2053
+ }), addDomEvent(this.doc, "touchstart", this.handlePointerDown, {
2054
+ capture: !0,
2055
+ passive: !1
2056
+ }), addDomEvent(this.doc, "click", this.handleClick, {
2057
+ capture: !0,
2058
+ passive: !1
2059
+ }), addDomEvent(this.doc, "keydown", this.handleTabKey, {
2060
+ capture: !0,
2061
+ passive: !1
2062
+ }), addDomEvent(this.doc, "keydown", this.handleEscapeKey)), this;
2063
+ }
2064
+ removeListeners() {
2065
+ if (this.state.active) return this.listenerCleanups.forEach((e) => e()), this.listenerCleanups = [], this;
2066
+ }
2067
+ activate(e) {
2068
+ if (this.state.active) return this;
2069
+ let t = this.getOption(e, "onActivate"), n = this.getOption(e, "onPostActivate"), r = this.getOption(e, "checkCanFocusTrap");
2070
+ r || this.updateTabbableNodes(), this.state.active = !0, this.state.paused = !1, this.state.nodeFocusedBeforeActivation = this.doc.activeElement || null, t?.();
2071
+ let i = () => {
2072
+ r && this.updateTabbableNodes(), this.addListeners(), this.updateObservedNodes(), n?.();
2073
+ };
2074
+ return r ? (r(this.state.containers.concat()).then(i, i), this) : (i(), this);
2075
+ }
2076
+ };
2077
+ function trapFocus(e, t = {}) {
2078
+ let n, r = raf$2(() => {
2079
+ let r = typeof e == "function" ? e() : e;
2080
+ if (r) {
2081
+ n = new FocusTrap(r, {
2082
+ escapeDeactivates: !1,
2083
+ allowOutsideClick: !0,
2084
+ preventScroll: !0,
2085
+ returnFocusOnDeactivate: !0,
2086
+ delayInitialFocus: !1,
2087
+ fallbackFocus: r,
2088
+ ...t,
2089
+ document: getDocument(r)
2090
+ });
2091
+ try {
2092
+ n.activate();
2093
+ } catch {}
2094
+ }
2095
+ });
2096
+ return function() {
2097
+ n?.deactivate(), r();
2098
+ };
2099
+ }
2100
+ var LOCK_CLASSNAME = "data-scroll-lock";
2101
+ function assignStyle(e, t) {
2102
+ if (!e) return;
2103
+ let n = Object.keys(t).reduce((t, n) => (t[n] = e.style.getPropertyValue(n), t), {});
2104
+ return Object.assign(e.style, t), () => {
2105
+ Object.assign(e.style, n);
2106
+ };
2107
+ }
2108
+ function setCSSProperty(e, t, n) {
2109
+ if (!e) return;
2110
+ let r = e.style.getPropertyValue(t);
2111
+ return e.style.setProperty(t, n), () => {
2112
+ r ? e.style.setProperty(t, r) : e.style.removeProperty(t);
2113
+ };
2114
+ }
2115
+ function getPaddingProperty(e) {
2116
+ let t = e.getBoundingClientRect().left;
2117
+ return Math.round(t) + e.scrollLeft ? "paddingLeft" : "paddingRight";
2118
+ }
2119
+ function preventBodyScroll(e) {
2120
+ let t = e ?? document, n = t.defaultView ?? window, { documentElement: r, body: i } = t;
2121
+ if (i.hasAttribute(LOCK_CLASSNAME)) return;
2122
+ i.setAttribute(LOCK_CLASSNAME, "");
2123
+ let a = n.innerWidth - r.clientWidth, o = () => setCSSProperty(r, "--scrollbar-width", `${a}px`), s = getPaddingProperty(r), c = [o(), isIos() ? (() => {
2124
+ let { scrollX: e, scrollY: t, visualViewport: r } = n, o = r?.offsetLeft ?? 0, c = r?.offsetTop ?? 0, l = assignStyle(i, {
2125
+ position: "fixed",
2126
+ overflow: "hidden",
2127
+ top: `${-(t - Math.floor(c))}px`,
2128
+ left: `${-(e - Math.floor(o))}px`,
2129
+ right: "0",
2130
+ [s]: `${a}px`
2131
+ });
2132
+ return () => {
2133
+ l?.(), n.scrollTo({
2134
+ left: e,
2135
+ top: t,
2136
+ behavior: "instant"
2137
+ });
2138
+ };
2139
+ })() : assignStyle(i, {
2140
+ overflow: "hidden",
2141
+ [s]: `${a}px`
2142
+ })];
2143
+ return () => {
2144
+ c.forEach((e) => e?.()), i.removeAttribute(LOCK_CLASSNAME);
2145
+ };
2146
+ }
2147
+ var GET_ORIGINAL_SYMBOL = Symbol(), getProto = Object.getPrototypeOf, objectsToTrack = /* @__PURE__ */ new WeakMap(), isObjectToTrack = (e) => e && (objectsToTrack.has(e) ? objectsToTrack.get(e) : getProto(e) === Object.prototype || getProto(e) === Array.prototype);
2148
+ const getUntracked = (e) => isObjectToTrack(e) && e[GET_ORIGINAL_SYMBOL] || null, markToTrack = (e, t = !0) => {
2149
+ objectsToTrack.set(e, t);
2150
+ };
2151
+ function glob() {
2152
+ if (typeof globalThis < "u" || typeof globalThis < "u") return globalThis;
2153
+ if (typeof window < "u") return window;
2154
+ }
2155
+ function globalRef(e, t) {
2156
+ let n = glob();
2157
+ return n ? (n[e] ||= t(), n[e]) : t();
2158
+ }
2159
+ var refSet = globalRef("__destyler__refSet", () => /* @__PURE__ */ new WeakSet()), isReactElement = (e) => typeof e == "object" && !!e && "$$typeof" in e && "props" in e, isVueElement = (e) => typeof e == "object" && !!e && "__v_isVNode" in e;
2160
+ function isDOMElement(e) {
2161
+ return typeof e == "object" && !!e && "nodeType" in e && typeof e.nodeName == "string";
2162
+ }
2163
+ var isElement = (e) => isReactElement(e) || isVueElement(e) || isDOMElement(e), isObject = (e) => typeof e == "object" && !!e;
2164
+ function canProxy(e) {
2165
+ return isObject(e) && !refSet.has(e) && (Array.isArray(e) || !(Symbol.iterator in e)) && !isElement(e) && !(e instanceof WeakMap) && !(e instanceof WeakSet) && !(e instanceof Error) && typeof e != "number" && !(e instanceof Date) && typeof e != "string" && !(e instanceof RegExp) && !(e instanceof ArrayBuffer) && !(e instanceof Promise);
2166
+ }
2167
+ function set(e, t, n) {
2168
+ typeof n.value == "object" && !canProxy(n.value) && (n.value = clone(n.value)), !n.enumerable || n.get || n.set || !n.configurable || !n.writable || t === "__proto__" ? Object.defineProperty(e, t, n) : e[t] = n.value;
2169
+ }
2170
+ function clone(e) {
2171
+ if (typeof e != "object") return e;
2172
+ let t = 0, n, r, i, a = Object.prototype.toString.call(e);
2173
+ if (a === "[object Object]" ? i = Object.create(Object.getPrototypeOf(e) || null) : a === "[object Array]" ? i = Array.from({ length: e.length }) : a === "[object Set]" ? (i = /* @__PURE__ */ new Set(), e.forEach((e) => {
2174
+ i.add(clone(e));
2175
+ })) : a === "[object Map]" ? (i = /* @__PURE__ */ new Map(), e.forEach((e, t) => {
2176
+ i.set(clone(t), clone(e));
2177
+ })) : a === "[object Date]" ? i = /* @__PURE__ */ new Date(+e) : a === "[object RegExp]" ? i = new RegExp(e.source, e.flags) : a === "[object DataView]" ? i = new e.constructor(clone(e.buffer)) : a === "[object ArrayBuffer]" ? i = e.slice(0) : a === "[object Blob]" ? i = e.slice() : a.slice(-6) === "Array]" && (i = new e.constructor(e)), i) {
2178
+ for (r = Object.getOwnPropertySymbols(e); t < r.length; t++) set(i, r[t], Object.getOwnPropertyDescriptor(e, r[t]));
2179
+ for (t = 0, r = Object.getOwnPropertyNames(e); t < r.length; t++) Object.hasOwnProperty.call(i, n = r[t]) && i[n] === e[n] || set(i, n, Object.getOwnPropertyDescriptor(e, n));
2180
+ }
2181
+ return i || e;
2182
+ }
2183
+ var proxyStateMap = globalRef("__destyler__proxyStateMap", () => /* @__PURE__ */ new WeakMap());
2184
+ function buildProxyFunction(e = Object.is, t = (e, t) => new Proxy(e, t), n = /* @__PURE__ */ new WeakMap(), r = (e, t) => {
2185
+ let r = n.get(e);
2186
+ if (r?.[0] === t) return r[1];
2187
+ let i = Array.isArray(e) ? [] : Object.create(Object.getPrototypeOf(e));
2188
+ return markToTrack(i, !0), n.set(e, [t, i]), Reflect.ownKeys(e).forEach((t) => {
2189
+ let n = Reflect.get(e, t);
2190
+ refSet.has(n) ? (markToTrack(n, !1), i[t] = n) : proxyStateMap.has(n) ? i[t] = snapshot(n) : i[t] = n;
2191
+ }), Object.freeze(i);
2192
+ }, i = /* @__PURE__ */ new WeakMap(), a = [1, 1], o = (n) => {
2193
+ if (!isObject(n)) throw Error("object required");
2194
+ let o = i.get(n);
2195
+ if (o) return o;
2196
+ let s = a[0], c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = (e, t = ++a[0]) => {
2197
+ s !== t && (s = t, c.forEach((n) => n(e, t)));
2198
+ }, d = a[1], f = (e = ++a[1]) => (d !== e && !c.size && (d = e, l.forEach(([t]) => {
2199
+ let n = t[1](e);
2200
+ n > s && (s = n);
2201
+ })), s), p = (e) => (t, n) => {
2202
+ let r = [...t];
2203
+ r[1] = [e, ...r[1]], u(r, n);
2204
+ }, m = (e, t) => {
2205
+ if (c.size) {
2206
+ let n = t[3](p(e));
2207
+ l.set(e, [t, n]);
2208
+ } else l.set(e, [t]);
2209
+ }, h = (e) => {
2210
+ let t = l.get(e);
2211
+ t && (l.delete(e), t[1]?.());
2212
+ }, g = (e) => (c.add(e), c.size === 1 && l.forEach(([e], t) => {
2213
+ let n = e[3](p(t));
2214
+ l.set(t, [e, n]);
2215
+ }), () => {
2216
+ c.delete(e), c.size === 0 && l.forEach(([e, t], n) => {
2217
+ t && (t(), l.set(n, [e]));
2218
+ });
2219
+ }), _ = Array.isArray(n) ? [] : Object.create(Object.getPrototypeOf(n)), v = t(_, {
2220
+ deleteProperty(e, t) {
2221
+ let n = Reflect.get(e, t);
2222
+ h(t);
2223
+ let r = Reflect.deleteProperty(e, t);
2224
+ return r && u([
2225
+ "delete",
2226
+ [t],
2227
+ n
2228
+ ]), r;
2229
+ },
2230
+ set(t, n, r, a) {
2231
+ let o = Reflect.has(t, n), s = Reflect.get(t, n, a);
2232
+ if (o && (e(s, r) || i.has(r) && e(s, i.get(r)))) return !0;
2233
+ h(n), isObject(r) && (r = getUntracked(r) || r);
2234
+ let c = r;
2235
+ if (!Object.getOwnPropertyDescriptor(t, n)?.set) {
2236
+ !proxyStateMap.has(r) && canProxy(r) && (c = proxy(r));
2237
+ let e = !refSet.has(c) && proxyStateMap.get(c);
2238
+ e && m(n, e);
2239
+ }
2240
+ return Reflect.set(t, n, c, a), u([
2241
+ "set",
2242
+ [n],
2243
+ r,
2244
+ s
2245
+ ]), !0;
2246
+ }
2247
+ });
2248
+ i.set(n, v);
2249
+ let y = [
2250
+ _,
2251
+ f,
2252
+ r,
2253
+ g
2254
+ ];
2255
+ return proxyStateMap.set(v, y), Reflect.ownKeys(n).forEach((e) => {
2256
+ let t = Object.getOwnPropertyDescriptor(n, e);
2257
+ t.get || t.set ? Object.defineProperty(_, e, t) : v[e] = n[e];
2258
+ }), v;
2259
+ }) {
2260
+ return [
2261
+ o,
2262
+ proxyStateMap,
2263
+ refSet,
2264
+ e,
2265
+ t,
2266
+ canProxy,
2267
+ n,
2268
+ r,
2269
+ i,
2270
+ a
2271
+ ];
2272
+ }
2273
+ var [proxyFunction] = buildProxyFunction();
2274
+ function proxy(e = {}) {
2275
+ return proxyFunction(e);
2276
+ }
2277
+ function subscribe(e, t, n) {
2278
+ let r = proxyStateMap.get(e), i, a = [], o = r[3], s = !1, c = o((e) => {
2279
+ if (a.push(e), n) {
2280
+ t(a.splice(0));
2281
+ return;
2282
+ }
2283
+ i ||= Promise.resolve().then(() => {
2284
+ i = void 0, s && t(a.splice(0));
2285
+ });
2286
+ });
2287
+ return s = !0, () => {
2288
+ s = !1, c();
2289
+ };
2290
+ }
2291
+ function snapshot(e) {
2292
+ let [t, n, r] = proxyStateMap.get(e);
2293
+ return r(t, n());
2294
+ }
2295
+ function ref$1(e) {
2296
+ return refSet.add(e), e;
2297
+ }
2298
+ function proxyWithComputed(e, t) {
2299
+ let n = Object.keys(t);
2300
+ n.forEach((t) => {
2301
+ if (Object.getOwnPropertyDescriptor(e, t)) throw Error("object property already defined");
2302
+ });
2303
+ let r = proxy(e);
2304
+ return n.forEach((e) => {
2305
+ let n = t[e], { get: i, set: a } = typeof n == "function" ? { get: n } : n, o = {};
2306
+ o.get = () => i(snapshot(r)), a && (o.set = (e) => a(r, e)), Object.defineProperty(r, e, o);
2307
+ }), r;
2308
+ }
2309
+ function deepMerge(e, ...t) {
2310
+ if (!isPlainObject(e)) throw TypeError("Source argument must be a plain object");
2311
+ let n = e;
2312
+ for (let e of t) {
2313
+ if (!isPlainObject(e)) continue;
2314
+ let t = compact(e);
2315
+ for (let r in t) {
2316
+ if (!Object.prototype.hasOwnProperty.call(t, r) || r === "__proto__" || r === "constructor" || r === "prototype") continue;
2317
+ let i = n[r], a = e[r];
2318
+ isPlainObject(a) ? n[r] = isPlainObject(i) ? deepMerge(i, a) : { ...a } : n[r] = a;
2319
+ }
2320
+ }
2321
+ return n;
2322
+ }
2323
+ function toEvent(e) {
2324
+ return isString(e) ? { type: e } : e;
2325
+ }
2326
+ function toArray(e) {
2327
+ return e ? isArray(e) ? e.slice() : [e] : [];
2328
+ }
2329
+ function isGuardHelper(e) {
2330
+ return isObject$1(e) && e.predicate != null;
2331
+ }
2332
+ var Truthy = () => !0;
2333
+ function determineGuardFn(e, t) {
2334
+ return e ??= Truthy, (n, r, i) => {
2335
+ if (isString(e)) {
2336
+ let a = t[e];
2337
+ return isFunction(a) ? a(n, r, i) : a;
2338
+ }
2339
+ return isGuardHelper(e) ? e.predicate(t)(n, r, i) : e?.(n, r, i);
2340
+ };
2341
+ }
2342
+ function determineActionsFn(e, t) {
2343
+ return (n, r, i) => isGuardHelper(e) ? e.predicate(t)(n, r, i) : e;
2344
+ }
2345
+ var MachineStatus = /* @__PURE__ */ function(e) {
2346
+ return e.NotStarted = "Not Started", e.Running = "Running", e.Stopped = "Stopped", e;
2347
+ }({}), ActionTypes = /* @__PURE__ */ function(e) {
2348
+ return e.Start = "machine.start", e.Stop = "machine.stop", e.Created = "machine.created", e.Init = "machine.init", e;
2349
+ }({}), MachineType = /* @__PURE__ */ function(e) {
2350
+ return e.Machine = "machine", e.Actor = "machine.actor", e;
2351
+ }({});
2352
+ function createProxy(e) {
2353
+ let t = e.computed ?? cast({}), n = e.context ?? cast({}), r = e.initial ? e.states?.[e.initial]?.tags : [];
2354
+ return cast(proxy({
2355
+ value: e.initial ?? "",
2356
+ previousValue: "",
2357
+ event: cast({}),
2358
+ previousEvent: cast({}),
2359
+ context: proxyWithComputed(n, t),
2360
+ done: !1,
2361
+ tags: r ?? [],
2362
+ hasTag(e) {
2363
+ return this.tags.includes(e);
2364
+ },
2365
+ matches(...e) {
2366
+ return e.includes(this.value);
2367
+ },
2368
+ can(e) {
2369
+ return cast(this).nextEvents.includes(e);
2370
+ },
2371
+ get nextEvents() {
2372
+ let t = e.states?.[this.value]?.on ?? {}, n = e?.on ?? {};
2373
+ return Object.keys({
2374
+ ...t,
2375
+ ...n
2376
+ });
2377
+ },
2378
+ get changed() {
2379
+ return this.event.value === ActionTypes.Init || !this.previousValue ? !1 : this.value !== this.previousValue;
2380
+ }
2381
+ }));
2382
+ }
2383
+ function determineDelayFn(e, t) {
2384
+ return (n, r) => {
2385
+ if (isNumber(e)) return e;
2386
+ if (isFunction(e)) return e(n, r);
2387
+ if (isString(e)) {
2388
+ let i = Number.parseFloat(e);
2389
+ if (!Number.isNaN(i)) return i;
2390
+ if (t) {
2391
+ let i = t?.[e];
2392
+ if (i === null) throw Error(`[@destyler/xstate > determine-delay] Cannot determine delay for \`${e}\`. It is set to null in \`options.delays\``);
2393
+ return isFunction(i) ? i(n, r) : i;
2394
+ }
2395
+ }
2396
+ };
2397
+ }
2398
+ function toTarget(e) {
2399
+ return isString(e) ? { target: e } : e;
2400
+ }
2401
+ function determineTransitionFn(e, t) {
2402
+ return (n, r, i) => toArray(e).map(toTarget).find((e) => determineGuardFn(e.guard, t)(n, r, i) ?? e.target ?? e.actions);
2403
+ }
2404
+ var Machine = class {
2405
+ constructor(e, t) {
2406
+ this.status = MachineStatus.NotStarted, this.type = MachineType.Machine, this.activityEvents = /* @__PURE__ */ new Map(), this.delayedEvents = /* @__PURE__ */ new Map(), this.stateListeners = /* @__PURE__ */ new Set(), this.doneListeners = /* @__PURE__ */ new Set(), this.contextWatchers = /* @__PURE__ */ new Set(), this.removeStateListener = noop, this.children = /* @__PURE__ */ new Map(), this._created = () => {
2407
+ if (!this.config.created) return;
2408
+ let e = toEvent(ActionTypes.Created);
2409
+ this.executeActions(this.config.created, e);
2410
+ }, this.start = (e) => {
2411
+ if (this.state.value = "", this.state.tags = [], this.status === MachineStatus.Running) return this;
2412
+ this.status = MachineStatus.Running, this.removeStateListener = subscribe(this.state, () => {
2413
+ this.stateListeners.forEach((e) => {
2414
+ e(this.stateSnapshot);
2415
+ });
2416
+ }, this.sync), this.setupContextWatchers(), this.executeActivities(toEvent(ActionTypes.Start), toArray(this.config.activities), ActionTypes.Start), this.executeActions(this.config.entry, toEvent(ActionTypes.Start));
2417
+ let t = toEvent(ActionTypes.Init), n = isObject$1(e) ? e.value : e, r = isObject$1(e) ? e.context : void 0;
2418
+ r && this.setContext(r);
2419
+ let i = { target: n ?? this.config.initial }, a = this.getNextStateInfo(i, t);
2420
+ return this.initialState = a, this.performStateChangeEffects(this.state.value, a, t), this;
2421
+ }, this.setupContextWatchers = () => {
2422
+ let { watch: e } = this.config;
2423
+ if (!e) return;
2424
+ let t = snapshot(this.state.context), n = subscribe(this.state.context, () => {
2425
+ let n = snapshot(this.state.context);
2426
+ for (let [r, i] of Object.entries(e)) (this.options.compareFns?.[r] ?? Object.is)(t[r], n[r]) || this.executeActions(i, this.state.event);
2427
+ t = n;
2428
+ });
2429
+ this.contextWatchers.add(n);
2430
+ }, this.stop = () => {
2431
+ if (this.status !== MachineStatus.Stopped) return this.performExitEffects(this.state.value, toEvent(ActionTypes.Stop)), this.executeActions(this.config.exit, toEvent(ActionTypes.Stop)), this.setState(""), this.setEvent(ActionTypes.Stop), this.stopStateListeners(), this.stopChildren(), this.stopActivities(), this.stopDelayedEvents(), this.stopContextWatchers(), this.status = MachineStatus.Stopped, this;
2432
+ }, this.stopStateListeners = () => {
2433
+ this.removeStateListener(), this.stateListeners.clear();
2434
+ }, this.stopContextWatchers = () => {
2435
+ this.contextWatchers.forEach((e) => e()), this.contextWatchers.clear();
2436
+ }, this.stopDelayedEvents = () => {
2437
+ this.delayedEvents.forEach((e) => {
2438
+ e.forEach((e) => e());
2439
+ }), this.delayedEvents.clear();
2440
+ }, this.stopActivities = (e) => {
2441
+ e ? (this.activityEvents.get(e)?.forEach((e) => e()), this.activityEvents.get(e)?.clear(), this.activityEvents.delete(e)) : (this.activityEvents.forEach((e) => {
2442
+ e.forEach((e) => e()), e.clear();
2443
+ }), this.activityEvents.clear());
2444
+ }, this.sendChild = (e, t) => {
2445
+ let n = toEvent(e), r = runIfFn(t, this.contextSnapshot), i = this.children.get(r);
2446
+ if (!i) throw Error(`[@destyler/xstate] Cannot send '${n.type}' event to unknown child`);
2447
+ i.send(n);
2448
+ }, this.stopChild = (e) => {
2449
+ if (!this.children.has(e)) throw Error(`[@destyler.xstate > stop-child] Cannot stop unknown child ${e}`);
2450
+ this.children.get(e).stop(), this.children.delete(e);
2451
+ }, this.removeChild = (e) => {
2452
+ this.children.delete(e);
2453
+ }, this.stopChildren = () => {
2454
+ this.children.forEach((e) => e.stop()), this.children.clear();
2455
+ }, this.setParent = (e) => {
2456
+ this.parent = e;
2457
+ }, this.spawn = (e, t) => {
2458
+ let n = runIfFn(e);
2459
+ return t && (n.id = t), n.type = MachineType.Actor, n.setParent(this), this.children.set(n.id, cast(n)), n.onDone(() => {
2460
+ this.removeChild(n.id);
2461
+ }).start(), cast(ref$1(n));
2462
+ }, this.stopActivity = (e) => {
2463
+ if (!this.state.value) return;
2464
+ let t = this.activityEvents.get(this.state.value);
2465
+ t?.get(e)?.(), t?.delete(e);
2466
+ }, this.addActivityCleanup = (e, t, n) => {
2467
+ e && (this.activityEvents.has(e) ? this.activityEvents.get(e)?.set(t, n) : this.activityEvents.set(e, new Map([[t, n]])));
2468
+ }, this.setState = (e) => {
2469
+ this.state.previousValue = this.state.value, this.state.value = e;
2470
+ let t = this.getStateNode(e);
2471
+ e == null ? clear(this.state.tags) : this.state.tags = toArray(t?.tags);
2472
+ }, this.setContext = (e) => {
2473
+ e && deepMerge(this.state.context, e);
2474
+ }, this.setOptions = (e) => {
2475
+ let t = compact(e);
2476
+ this.actionMap = {
2477
+ ...this.actionMap,
2478
+ ...t.actions
2479
+ }, this.delayMap = {
2480
+ ...this.delayMap,
2481
+ ...t.delays
2482
+ }, this.activityMap = {
2483
+ ...this.activityMap,
2484
+ ...t.activities
2485
+ }, this.guardMap = {
2486
+ ...this.guardMap,
2487
+ ...t.guards
2488
+ };
2489
+ }, this.getStateNode = (e) => {
2490
+ if (e) return this.config.states?.[e];
2491
+ }, this.getNextStateInfo = (e, t) => {
2492
+ let n = this.determineTransition(e, t), r = !n?.target, i = n?.target ?? this.state.value, a = this.state.value !== i, o = this.getStateNode(i), s = {
2493
+ reenter: !r && !a && !n?.internal,
2494
+ transition: n,
2495
+ stateNode: o,
2496
+ target: i,
2497
+ changed: a
2498
+ };
2499
+ return this.log("NextState:", `[${t.type}]`, this.state.value, "---->", s.target), s;
2500
+ }, this.getAfterActions = (e, t) => {
2501
+ let n, r = this.state.value;
2502
+ return {
2503
+ entry: () => {
2504
+ n = globalThis.setTimeout(() => {
2505
+ let t = this.getNextStateInfo(e, this.state.event);
2506
+ this.performStateChangeEffects(r, t, this.state.event);
2507
+ }, t);
2508
+ },
2509
+ exit: () => {
2510
+ globalThis.clearTimeout(n);
2511
+ }
2512
+ };
2513
+ }, this.getDelayedEventActions = (e) => {
2514
+ let t = this.getStateNode(e), n = this.state.event;
2515
+ if (!t || !t.after) return;
2516
+ let r = [], i = [];
2517
+ if (isArray(t.after)) {
2518
+ let e = this.determineTransition(t.after, n);
2519
+ if (!e) return;
2520
+ if (!hasProp(e, "delay")) throw Error(`[@destyler/xstate > after] Delay is required for after transition: ${JSON.stringify(e)}`);
2521
+ let a = determineDelayFn(e.delay, this.delayMap)(this.contextSnapshot, n), o = this.getAfterActions(e, a);
2522
+ return r.push(o.entry), i.push(o.exit), {
2523
+ entries: r,
2524
+ exits: i
2525
+ };
2526
+ }
2527
+ if (isObject$1(t.after)) for (let e in t.after) {
2528
+ let a = t.after[e], o = determineDelayFn(e, this.delayMap)(this.contextSnapshot, n), s = this.getAfterActions(a, o);
2529
+ r.push(s.entry), i.push(s.exit);
2530
+ }
2531
+ return {
2532
+ entries: r,
2533
+ exits: i
2534
+ };
2535
+ }, this.executeActions = (e, t) => {
2536
+ let n = determineActionsFn(e, this.guardMap)(this.contextSnapshot, t, this.guardMeta);
2537
+ for (let e of toArray(n)) {
2538
+ let n = isString(e) ? this.actionMap?.[e] : e;
2539
+ isString(e) && !n && console.warn(`[@destyler/xstate > execute-actions] No implementation found for action: \`${e}\``), n?.(this.state.context, t, this.meta);
2540
+ }
2541
+ }, this.executeActivities = (e, t, n) => {
2542
+ for (let r of t) {
2543
+ let t = isString(r) ? this.activityMap?.[r] : r;
2544
+ if (!t) {
2545
+ console.warn(`[@destyler/xstate > execute-activity] No implementation found for activity: \`${r}\``);
2546
+ continue;
2547
+ }
2548
+ let i = t(this.state.context, e, this.meta);
2549
+ if (i) {
2550
+ let e = isString(r) ? r : r.name || uuid();
2551
+ this.addActivityCleanup(n ?? this.state.value, e, i);
2552
+ }
2553
+ }
2554
+ }, this.createEveryActivities = (e, t) => {
2555
+ if (e) if (isArray(e)) {
2556
+ let n = toArray(e).find((e) => {
2557
+ let t = e.delay, n = determineDelayFn(t, this.delayMap)(this.contextSnapshot, this.state.event);
2558
+ return determineGuardFn(e.guard, this.guardMap)(this.contextSnapshot, this.state.event, this.guardMeta) ?? n != null;
2559
+ });
2560
+ if (!n) return;
2561
+ let r = determineDelayFn(n.delay, this.delayMap)(this.contextSnapshot, this.state.event);
2562
+ t(() => {
2563
+ let e = globalThis.setInterval(() => {
2564
+ this.executeActions(n.actions, this.state.event);
2565
+ }, r);
2566
+ return () => {
2567
+ globalThis.clearInterval(e);
2568
+ };
2569
+ });
2570
+ } else for (let n in e) {
2571
+ let r = e?.[n], i = determineDelayFn(n, this.delayMap)(this.contextSnapshot, this.state.event);
2572
+ t(() => {
2573
+ let e = globalThis.setInterval(() => {
2574
+ this.executeActions(r, this.state.event);
2575
+ }, i);
2576
+ return () => {
2577
+ globalThis.clearInterval(e);
2578
+ };
2579
+ });
2580
+ }
2581
+ }, this.setEvent = (e) => {
2582
+ this.state.previousEvent = this.state.event, this.state.event = ref$1(toEvent(e));
2583
+ }, this.performExitEffects = (e, t) => {
2584
+ let n = this.state.value;
2585
+ if (n === "") return;
2586
+ let r = e ? this.getStateNode(e) : void 0;
2587
+ this.stopActivities(n);
2588
+ let i = toArray(determineActionsFn(r?.exit, this.guardMap)(this.contextSnapshot, t, this.guardMeta)), a = this.delayedEvents.get(n);
2589
+ a && i.push(...a), this.executeActions(i, t), this.delayedEvents.delete(n);
2590
+ }, this.performEntryEffects = (e, t) => {
2591
+ let n = this.getStateNode(e), r = toArray(n?.activities);
2592
+ this.createEveryActivities(n?.every, (e) => {
2593
+ r.unshift(e);
2594
+ }), r.length > 0 && this.executeActivities(t, r);
2595
+ let i = toArray(determineActionsFn(n?.entry, this.guardMap)(this.contextSnapshot, t, this.guardMeta)), a = this.getDelayedEventActions(e);
2596
+ n?.after && a && (this.delayedEvents.set(e, a?.exits), i.push(...a.entries)), this.executeActions(i, t), n?.type === "final" && (this.state.done = !0, this.doneListeners.forEach((e) => {
2597
+ e(this.stateSnapshot);
2598
+ }), this.stop());
2599
+ }, this.performTransitionEffects = (e, t) => {
2600
+ let n = this.determineTransition(e, t);
2601
+ this.executeActions(n?.actions, t);
2602
+ }, this.performStateChangeEffects = (e, t, n) => {
2603
+ this.setEvent(n);
2604
+ let r = t.changed || t.reenter;
2605
+ r && this.performExitEffects(e, n), this.performTransitionEffects(t.transition, n), this.setState(t.target), r && this.performEntryEffects(t.target, n);
2606
+ }, this.determineTransition = (e, t) => determineTransitionFn(e, this.guardMap)?.(this.contextSnapshot, t, this.guardMeta), this.sendParent = (e) => {
2607
+ if (!this.parent) throw Error("[@destyler/xstate > send-parent] Cannot send event to parent machine, no parent is set. Use `machine.spawn()` to spawn a child machine.");
2608
+ let t = toEvent(e);
2609
+ this.parent?.send(t);
2610
+ }, this.log = (...e) => {
2611
+ this.options.debug && console.log(...e);
2612
+ }, this.send = (e) => {
2613
+ let t = toEvent(e);
2614
+ this.transition(this.state.value, t);
2615
+ }, this.transition = (e, t) => {
2616
+ let n = isString(e) ? this.getStateNode(e) : e?.stateNode, r = toEvent(t);
2617
+ if (!n && !this.config.on) {
2618
+ let t = this.status === MachineStatus.Stopped ? "[@destyler/xstate > transition] Cannot transition a stopped machine" : `[destyler/xstate > transition] State does not have a definition for \`state\`: ${e}, \`event\`: ${r.type}`;
2619
+ console.warn(t);
2620
+ return;
2621
+ }
2622
+ let i = n?.on?.[r.type] ?? this.config.on?.[r.type], a = this.getNextStateInfo(i, r);
2623
+ return this.performStateChangeEffects(this.state.value, a, r), a.stateNode;
2624
+ }, this.subscribe = (e) => (this.stateListeners.add(e), this.status === MachineStatus.Running && e(this.stateSnapshot), () => {
2625
+ this.stateListeners.delete(e);
2626
+ }), this.onDone = (e) => (this.doneListeners.add(e), this), this.onTransition = (e) => (this.stateListeners.add(e), this.status === MachineStatus.Running && e(this.stateSnapshot), this), this.config = clone(e), this.options = clone(t ?? {}), this.id = this.config.id ?? `machine-${uuid()}`, this.guardMap = this.options?.guards ?? {}, this.actionMap = this.options?.actions ?? {}, this.delayMap = this.options?.delays ?? {}, this.activityMap = this.options?.activities ?? {}, this.sync = this.options?.sync ?? !1, this.state = createProxy(this.config), this.initialContext = snapshot(this.state.context);
2627
+ }
2628
+ get stateSnapshot() {
2629
+ return cast(snapshot(this.state));
2630
+ }
2631
+ getState() {
2632
+ return this.stateSnapshot;
2633
+ }
2634
+ get contextSnapshot() {
2635
+ return this.stateSnapshot.context;
2636
+ }
2637
+ get self() {
2638
+ let e = this;
2639
+ return {
2640
+ id: this.id,
2641
+ send: this.send.bind(this),
2642
+ sendParent: this.sendParent.bind(this),
2643
+ sendChild: this.sendChild.bind(this),
2644
+ stop: this.stop.bind(this),
2645
+ stopChild: this.stopChild.bind(this),
2646
+ spawn: this.spawn.bind(this),
2647
+ stopActivity: this.stopActivity.bind(this),
2648
+ get state() {
2649
+ return e.stateSnapshot;
2650
+ },
2651
+ get initialContext() {
2652
+ return e.initialContext;
2653
+ },
2654
+ get initialState() {
2655
+ return e.initialState?.target ?? "";
2656
+ }
2657
+ };
2658
+ }
2659
+ get meta() {
2660
+ return {
2661
+ state: this.stateSnapshot,
2662
+ guards: this.guardMap,
2663
+ send: this.send.bind(this),
2664
+ self: this.self,
2665
+ initialContext: this.initialContext,
2666
+ initialState: this.initialState?.target ?? "",
2667
+ getState: () => this.stateSnapshot,
2668
+ getAction: (e) => this.actionMap[e],
2669
+ getGuard: (e) => this.guardMap[e]
2670
+ };
2671
+ }
2672
+ get guardMeta() {
2673
+ return { state: this.stateSnapshot };
2674
+ }
2675
+ get [Symbol.toStringTag]() {
2676
+ return "Machine";
2677
+ }
2678
+ getHydrationState() {
2679
+ let e = this.getState();
2680
+ return {
2681
+ value: e.value,
2682
+ tags: e.tags
2683
+ };
2684
+ }
2685
+ };
2686
+ function createMachine(e, t) {
2687
+ return new Machine(e, t);
2688
+ }
2689
+ function createProps() {
2690
+ return (e) => Array.from(new Set(e));
2691
+ }
2692
+ function createNormalizer(e) {
2693
+ return new Proxy({}, { get() {
2694
+ return e;
2695
+ } });
2696
+ }
2697
+ var parts = createAnatomy("popover").parts("arrow", "arrowTip", "anchor", "trigger", "indicator", "positioner", "content", "title", "description", "closeTrigger").build(), dom = createScope({
2698
+ getAnchorId: (e) => e.ids?.anchor ?? `popover:${e.id}:anchor`,
2699
+ getTriggerId: (e) => e.ids?.trigger ?? `popover:${e.id}:trigger`,
2700
+ getContentId: (e) => e.ids?.content ?? `popover:${e.id}:content`,
2701
+ getPositionerId: (e) => e.ids?.positioner ?? `popover:${e.id}:popper`,
2702
+ getArrowId: (e) => e.ids?.arrow ?? `popover:${e.id}:arrow`,
2703
+ getTitleId: (e) => e.ids?.title ?? `popover:${e.id}:title`,
2704
+ getDescriptionId: (e) => e.ids?.description ?? `popover:${e.id}:desc`,
2705
+ getCloseTriggerId: (e) => e.ids?.closeTrigger ?? `popover:${e.id}:close`,
2706
+ getAnchorEl: (e) => dom.getById(e, dom.getAnchorId(e)),
2707
+ getTriggerEl: (e) => dom.getById(e, dom.getTriggerId(e)),
2708
+ getContentEl: (e) => dom.getById(e, dom.getContentId(e)),
2709
+ getPositionerEl: (e) => dom.getById(e, dom.getPositionerId(e)),
2710
+ getTitleEl: (e) => dom.getById(e, dom.getTitleId(e)),
2711
+ getDescriptionEl: (e) => dom.getById(e, dom.getDescriptionId(e)),
2712
+ getFocusableEls: (e) => getFocusables(dom.getContentEl(e)),
2713
+ getFirstFocusableEl: (e) => dom.getFocusableEls(e)[0]
2714
+ });
2715
+ function connect(e, t, n) {
2716
+ let r = e.matches("open"), i = e.context.currentPlacement, a = e.context.currentPortalled, o = e.context.renderedElements, s = getPlacementStyles({
2717
+ ...e.context.positioning,
2718
+ placement: i
2719
+ });
2720
+ return {
2721
+ portalled: a,
2722
+ open: r,
2723
+ setOpen(e) {
2724
+ e !== r && t(e ? "OPEN" : "CLOSE");
2725
+ },
2726
+ reposition(e = {}) {
2727
+ t({
2728
+ type: "POSITIONING.SET",
2729
+ options: e
2730
+ });
2731
+ },
2732
+ getArrowProps() {
2733
+ return n.element({
2734
+ id: dom.getArrowId(e.context),
2735
+ ...parts.arrow.attrs,
2736
+ dir: e.context.dir,
2737
+ style: s.arrow
2738
+ });
2739
+ },
2740
+ getArrowTipProps() {
2741
+ return n.element({
2742
+ ...parts.arrowTip.attrs,
2743
+ dir: e.context.dir,
2744
+ style: s.arrowTip
2745
+ });
2746
+ },
2747
+ getAnchorProps() {
2748
+ return n.element({
2749
+ ...parts.anchor.attrs,
2750
+ dir: e.context.dir,
2751
+ id: dom.getAnchorId(e.context)
2752
+ });
2753
+ },
2754
+ getTriggerProps() {
2755
+ return n.button({
2756
+ ...parts.trigger.attrs,
2757
+ dir: e.context.dir,
2758
+ type: "button",
2759
+ "data-placement": i,
2760
+ id: dom.getTriggerId(e.context),
2761
+ "aria-haspopup": "dialog",
2762
+ "aria-expanded": r,
2763
+ "data-state": r ? "open" : "closed",
2764
+ "aria-controls": dom.getContentId(e.context),
2765
+ onPointerDown(e) {
2766
+ isSafari() && e.currentTarget.focus();
2767
+ },
2768
+ onClick(e) {
2769
+ e.defaultPrevented || t("TOGGLE");
2770
+ },
2771
+ onBlur(e) {
2772
+ t({
2773
+ type: "TRIGGER_BLUR",
2774
+ target: e.relatedTarget
2775
+ });
2776
+ }
2777
+ });
2778
+ },
2779
+ getIndicatorProps() {
2780
+ return n.element({
2781
+ ...parts.indicator.attrs,
2782
+ dir: e.context.dir,
2783
+ "data-state": r ? "open" : "closed"
2784
+ });
2785
+ },
2786
+ getPositionerProps() {
2787
+ return n.element({
2788
+ id: dom.getPositionerId(e.context),
2789
+ ...parts.positioner.attrs,
2790
+ dir: e.context.dir,
2791
+ style: s.floating
2792
+ });
2793
+ },
2794
+ getContentProps() {
2795
+ return n.element({
2796
+ ...parts.content.attrs,
2797
+ dir: e.context.dir,
2798
+ id: dom.getContentId(e.context),
2799
+ tabIndex: -1,
2800
+ role: "dialog",
2801
+ hidden: !r,
2802
+ "data-state": r ? "open" : "closed",
2803
+ "data-expanded": dataAttr(r),
2804
+ "aria-labelledby": o.title ? dom.getTitleId(e.context) : void 0,
2805
+ "aria-describedby": o.description ? dom.getDescriptionId(e.context) : void 0,
2806
+ "data-placement": i
2807
+ });
2808
+ },
2809
+ getTitleProps() {
2810
+ return n.element({
2811
+ ...parts.title.attrs,
2812
+ id: dom.getTitleId(e.context),
2813
+ dir: e.context.dir
2814
+ });
2815
+ },
2816
+ getDescriptionProps() {
2817
+ return n.element({
2818
+ ...parts.description.attrs,
2819
+ id: dom.getDescriptionId(e.context),
2820
+ dir: e.context.dir
2821
+ });
2822
+ },
2823
+ getCloseTriggerProps() {
2824
+ return n.button({
2825
+ ...parts.closeTrigger.attrs,
2826
+ dir: e.context.dir,
2827
+ id: dom.getCloseTriggerId(e.context),
2828
+ type: "button",
2829
+ "aria-label": "close",
2830
+ onClick(e) {
2831
+ e.defaultPrevented || t("CLOSE");
2832
+ }
2833
+ });
2834
+ }
2835
+ };
2836
+ }
2837
+ function machine(e) {
2838
+ let t = compact(e);
2839
+ return createMachine({
2840
+ id: "popover",
2841
+ initial: t.open ? "open" : "closed",
2842
+ context: {
2843
+ closeOnInteractOutside: !0,
2844
+ closeOnEscape: !0,
2845
+ autoFocus: !0,
2846
+ modal: !1,
2847
+ portalled: !0,
2848
+ positioning: {
2849
+ placement: "bottom",
2850
+ ...t.positioning
2851
+ },
2852
+ currentPlacement: void 0,
2853
+ ...t,
2854
+ renderedElements: {
2855
+ title: !0,
2856
+ description: !0
2857
+ }
2858
+ },
2859
+ computed: { currentPortalled: (e) => !!e.modal || !!e.portalled },
2860
+ watch: { open: ["toggleVisibility"] },
2861
+ entry: ["checkRenderedElements"],
2862
+ states: {
2863
+ closed: { on: {
2864
+ "CONTROLLED.OPEN": {
2865
+ target: "open",
2866
+ actions: ["setInitialFocus"]
2867
+ },
2868
+ TOGGLE: [{
2869
+ guard: "isOpenControlled",
2870
+ actions: ["invokeOnOpen"]
2871
+ }, {
2872
+ target: "open",
2873
+ actions: ["invokeOnOpen", "setInitialFocus"]
2874
+ }],
2875
+ OPEN: [{
2876
+ guard: "isOpenControlled",
2877
+ actions: ["invokeOnOpen"]
2878
+ }, {
2879
+ target: "open",
2880
+ actions: ["invokeOnOpen", "setInitialFocus"]
2881
+ }]
2882
+ } },
2883
+ open: {
2884
+ activities: [
2885
+ "trapFocus",
2886
+ "preventScroll",
2887
+ "hideContentBelow",
2888
+ "trackPositioning",
2889
+ "trackDismissableElement",
2890
+ "proxyTabFocus"
2891
+ ],
2892
+ on: {
2893
+ "CONTROLLED.CLOSE": {
2894
+ target: "closed",
2895
+ actions: ["setFinalFocus"]
2896
+ },
2897
+ CLOSE: [{
2898
+ guard: "isOpenControlled",
2899
+ actions: ["invokeOnClose"]
2900
+ }, {
2901
+ target: "closed",
2902
+ actions: ["invokeOnClose", "setFinalFocus"]
2903
+ }],
2904
+ TOGGLE: [{
2905
+ guard: "isOpenControlled",
2906
+ actions: ["invokeOnClose"]
2907
+ }, {
2908
+ target: "closed",
2909
+ actions: ["invokeOnClose"]
2910
+ }],
2911
+ "POSITIONING.SET": { actions: "reposition" }
2912
+ }
2913
+ }
2914
+ }
2915
+ }, {
2916
+ guards: { isOpenControlled: (e) => !!e["open.controlled"] },
2917
+ activities: {
2918
+ trackPositioning(e) {
2919
+ return e.currentPlacement = e.positioning.placement, getPlacement(dom.getAnchorEl(e) ?? dom.getTriggerEl(e), () => dom.getPositionerEl(e), {
2920
+ ...e.positioning,
2921
+ defer: !0,
2922
+ onComplete(t) {
2923
+ e.currentPlacement = t.placement;
2924
+ }
2925
+ });
2926
+ },
2927
+ trackDismissableElement(e, t, { send: n }) {
2928
+ let r = () => dom.getContentEl(e), i = !0;
2929
+ return trackDismissableElement(r, {
2930
+ pointerBlocking: e.modal,
2931
+ exclude: dom.getTriggerEl(e),
2932
+ defer: !0,
2933
+ onEscapeKeyDown(t) {
2934
+ e.onEscapeKeyDown?.(t), !e.closeOnEscape && t.preventDefault();
2935
+ },
2936
+ onInteractOutside(t) {
2937
+ e.onInteractOutside?.(t), !t.defaultPrevented && (i = !(t.detail.focusable || t.detail.contextmenu), e.closeOnInteractOutside || t.preventDefault());
2938
+ },
2939
+ onPointerDownOutside: e.onPointerDownOutside,
2940
+ onFocusOutside: e.onFocusOutside,
2941
+ persistentElements: e.persistentElements,
2942
+ onDismiss() {
2943
+ n({
2944
+ type: "CLOSE",
2945
+ src: "interact-outside",
2946
+ restoreFocus: i
2947
+ });
2948
+ }
2949
+ });
2950
+ },
2951
+ proxyTabFocus(e) {
2952
+ return e.modal || !e.portalled ? void 0 : proxyTabFocus(() => dom.getContentEl(e), {
2953
+ triggerElement: dom.getTriggerEl(e),
2954
+ defer: !0,
2955
+ onFocus(e) {
2956
+ e.focus({ preventScroll: !0 });
2957
+ }
2958
+ });
2959
+ },
2960
+ hideContentBelow(e) {
2961
+ return e.modal ? ariaHidden(() => [dom.getContentEl(e), dom.getTriggerEl(e)], { defer: !0 }) : void 0;
2962
+ },
2963
+ preventScroll(e) {
2964
+ if (e.modal) return preventBodyScroll(dom.getDoc(e));
2965
+ },
2966
+ trapFocus(e) {
2967
+ return e.modal ? trapFocus(() => dom.getContentEl(e), { initialFocus: () => getInitialFocus({
2968
+ root: dom.getContentEl(e),
2969
+ getInitialEl: e.initialFocusEl,
2970
+ enabled: e.autoFocus
2971
+ }) }) : void 0;
2972
+ }
2973
+ },
2974
+ actions: {
2975
+ reposition(e, t) {
2976
+ getPlacement(dom.getAnchorEl(e) ?? dom.getTriggerEl(e), () => dom.getPositionerEl(e), {
2977
+ ...e.positioning,
2978
+ ...t.options,
2979
+ defer: !0,
2980
+ listeners: !1,
2981
+ onComplete(t) {
2982
+ e.currentPlacement = t.placement;
2983
+ }
2984
+ });
2985
+ },
2986
+ checkRenderedElements(e) {
2987
+ raf$2(() => {
2988
+ Object.assign(e.renderedElements, {
2989
+ title: !!dom.getTitleEl(e),
2990
+ description: !!dom.getDescriptionEl(e)
2991
+ });
2992
+ });
2993
+ },
2994
+ setInitialFocus(e) {
2995
+ e.modal || raf$2(() => {
2996
+ getInitialFocus({
2997
+ root: dom.getContentEl(e),
2998
+ getInitialEl: e.initialFocusEl,
2999
+ enabled: e.autoFocus
3000
+ })?.focus({ preventScroll: !0 });
3001
+ });
3002
+ },
3003
+ setFinalFocus(e, t) {
3004
+ let n = t.restoreFocus ?? t.previousEvent?.restoreFocus;
3005
+ n != null && !n || raf$2(() => {
3006
+ dom.getTriggerEl(e)?.focus({ preventScroll: !0 });
3007
+ });
3008
+ },
3009
+ invokeOnOpen(e) {
3010
+ e.onOpenChange?.({ open: !0 });
3011
+ },
3012
+ invokeOnClose(e) {
3013
+ e.onOpenChange?.({ open: !1 });
3014
+ },
3015
+ toggleVisibility(e, t, { send: n }) {
3016
+ n({
3017
+ type: e.open ? "CONTROLLED.OPEN" : "CONTROLLED.CLOSE",
3018
+ previousEvent: t
3019
+ });
3020
+ }
3021
+ }
3022
+ });
3023
+ }
3024
+ createProps()([
3025
+ "autoFocus",
3026
+ "closeOnEscape",
3027
+ "closeOnInteractOutside",
3028
+ "dir",
3029
+ "getRootNode",
3030
+ "id",
3031
+ "ids",
3032
+ "initialFocusEl",
3033
+ "modal",
3034
+ "onEscapeKeyDown",
3035
+ "onFocusOutside",
3036
+ "onInteractOutside",
3037
+ "onOpenChange",
3038
+ "onPointerDownOutside",
3039
+ "open.controlled",
3040
+ "open",
3041
+ "persistentElements",
3042
+ "portalled",
3043
+ "positioning"
3044
+ ]);
3045
+ function useSnapshot(e, t) {
3046
+ let { actions: n, context: r } = t ?? {}, i = shallowRef(e.state), a = subscribe(e.state, () => {
3047
+ i.value = snapshot(e.state);
3048
+ });
3049
+ return onUnmounted(() => {
3050
+ a?.();
3051
+ }), watchEffect(() => {
3052
+ e.setOptions({ actions: n });
3053
+ }), r && watch(r, (t) => {
3054
+ e.setContext(unref(t));
3055
+ }, { deep: !0 }), i;
3056
+ }
3057
+ function useService(e, t) {
3058
+ let { state: n, context: r } = t ?? {}, i = typeof e == "function" ? e() : e;
3059
+ return r && i.setContext(unref(r)), i._created(), onMounted(() => {
3060
+ i.start(n), onBeforeUnmount(() => {
3061
+ i.stop();
3062
+ });
3063
+ }), i;
3064
+ }
3065
+ function useMachine(e, t) {
3066
+ let n = useService(e, t);
3067
+ return [
3068
+ useSnapshot(n, t),
3069
+ n.send,
3070
+ n
3071
+ ];
3072
+ }
3073
+ function toCase(e) {
3074
+ return e.charAt(0).toUpperCase() + e.substr(1).toLowerCase();
3075
+ }
3076
+ var propMap = {
3077
+ htmlFor: "for",
3078
+ className: "class",
3079
+ onDoubleClick: "onDblclick",
3080
+ onChange: "onInput",
3081
+ onFocus: "onFocusin",
3082
+ onBlur: "onFocusout",
3083
+ defaultValue: "value",
3084
+ defaultChecked: "checked"
3085
+ };
3086
+ function toVueProp(e) {
3087
+ return e in propMap ? propMap[e] : e.startsWith("on") ? `on${toCase(e.substr(2))}` : e.toLowerCase();
3088
+ }
3089
+ var normalizeProps$1 = createNormalizer((e) => {
3090
+ let t = {};
3091
+ for (let n in e) {
3092
+ let r = e[n];
3093
+ n === "children" ? (typeof r == "string" || typeof r == "number") && (t.textContent = String(r)) : t[toVueProp(n)] = e[n];
3094
+ }
3095
+ return t;
3096
+ }), _hoisted_1$7 = {
3097
+ key: 0,
3098
+ xmlns: "http://www.w3.org/2000/svg",
3099
+ width: "1em",
3100
+ height: "1em",
3101
+ viewBox: "0 0 16 16"
3102
+ }, _hoisted_2$6 = {
3103
+ key: 1,
3104
+ xmlns: "http://www.w3.org/2000/svg",
3105
+ width: "1em",
3106
+ height: "1em",
3107
+ viewBox: "0 0 16 16"
3108
+ }, ComponentsIcones_default = /* @__PURE__ */ defineComponent({
3109
+ name: "ComponentIcones",
3110
+ __name: "ComponentsIcones",
3111
+ props: { expanded: {
3112
+ type: Boolean,
3113
+ default: !1
3114
+ } },
3115
+ setup(e) {
3116
+ let t = e;
3117
+ return (e, n) => t.expanded ? (openBlock(), createElementBlock("svg", _hoisted_1$7, [...n[0] ||= [createElementVNode("g", {
3118
+ fill: "none",
3119
+ "stroke-linecap": "round",
3120
+ "stroke-linejoin": "round"
3121
+ }, [createElementVNode("path", {
3122
+ class: "stroke-dark dark:stroke-light",
3123
+ d: "m1.87 8l.7-2.74a1 1 0 0 1 .96-.76h10.94a1 1 0 0 1 .97 1.24l-.219.875M6 13.5H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3124
+ }), createElementVNode("path", {
3125
+ stroke: "#67B686",
3126
+ d: "m9.485 9.516l3.968 3.968m-3.968 0l3.968-3.968m-1.634-1.874l3.507 3.507a.496.496 0 0 1 0 .702l-3.507 3.507a.496.496 0 0 1-.701 0L7.61 11.85a.496.496 0 0 1 0-.702l3.507-3.507a.496.496 0 0 1 .701 0z"
3127
+ })], -1)]])) : (openBlock(), createElementBlock("svg", _hoisted_2$6, [...n[1] ||= [createElementVNode("g", {
3128
+ fill: "none",
3129
+ "stroke-linecap": "round",
3130
+ "stroke-linejoin": "round"
3131
+ }, [createElementVNode("path", {
3132
+ class: "stroke-dark dark:stroke-light",
3133
+ d: "M4.5 4.5H12c.83 0 1.5.67 1.5 1.5v.5m-7.5 7H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3134
+ }), createElementVNode("path", {
3135
+ stroke: "#67B686",
3136
+ d: "m9.485 9.516l3.968 3.968m-3.968 0l3.968-3.968m-1.634-1.874l3.507 3.507a.496.496 0 0 1 0 .702l-3.507 3.507a.496.496 0 0 1-.701 0L7.61 11.85a.496.496 0 0 1 0-.702l3.507-3.507a.496.496 0 0 1 .701 0z"
3137
+ })], -1)]]));
3138
+ }
3139
+ }), _hoisted_1$6 = {
3140
+ key: 0,
3141
+ xmlns: "http://www.w3.org/2000/svg",
3142
+ width: "1em",
3143
+ height: "1em",
3144
+ viewBox: "0 0 16 16"
3145
+ }, _hoisted_2$5 = {
3146
+ key: 1,
3147
+ xmlns: "http://www.w3.org/2000/svg",
3148
+ width: "1em",
3149
+ height: "1em",
3150
+ viewBox: "0 0 16 16"
3151
+ }, FolderIcones_default = /* @__PURE__ */ defineComponent({
3152
+ name: "FolderIcones",
3153
+ __name: "FolderIcones",
3154
+ props: { expanded: {
3155
+ type: Boolean,
3156
+ default: !1
3157
+ } },
3158
+ setup(e) {
3159
+ let t = e;
3160
+ return (e, n) => t.expanded ? (openBlock(), createElementBlock("svg", _hoisted_1$6, [...n[0] ||= [createElementVNode("path", {
3161
+ fill: "none",
3162
+ class: "stroke-dark dark:stroke-light",
3163
+ "stroke-linecap": "round",
3164
+ "stroke-linejoin": "round",
3165
+ d: "m1.87 8l.7-2.74a1 1 0 0 1 .96-.76h10.94a1 1 0 0 1 .97 1.24l-1.75 7a1 1 0 0 1-.97.76H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3166
+ }, null, -1)]])) : (openBlock(), createElementBlock("svg", _hoisted_2$5, [...n[1] ||= [createElementVNode("path", {
3167
+ fill: "none",
3168
+ class: "stroke-dark dark:stroke-light",
3169
+ "stroke-linecap": "round",
3170
+ "stroke-linejoin": "round",
3171
+ d: "M4.5 4.5H12c.83 0 1.5.67 1.5 1.5v6c0 .83-.67 1.5-1.5 1.5H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3172
+ }, null, -1)]]));
3173
+ }
3174
+ }), _hoisted_1$5 = {
3175
+ key: 0,
3176
+ xmlns: "http://www.w3.org/2000/svg",
3177
+ width: "1em",
3178
+ height: "1em",
3179
+ viewBox: "0 0 16 16"
3180
+ }, _hoisted_2$4 = {
3181
+ key: 1,
3182
+ xmlns: "http://www.w3.org/2000/svg",
3183
+ width: "1em",
3184
+ height: "1em",
3185
+ viewBox: "0 0 16 16"
3186
+ }, ModuleIcones_default = /* @__PURE__ */ defineComponent({
3187
+ name: "ModleIcones",
3188
+ __name: "ModuleIcones",
3189
+ props: { expanded: {
3190
+ type: Boolean,
3191
+ default: !1
3192
+ } },
3193
+ setup(e) {
3194
+ let t = e;
3195
+ return (e, n) => t.expanded ? (openBlock(), createElementBlock("svg", _hoisted_1$5, [...n[0] ||= [createElementVNode("g", {
3196
+ fill: "none",
3197
+ "stroke-linecap": "round",
3198
+ "stroke-linejoin": "round"
3199
+ }, [createElementVNode("path", {
3200
+ class: "stroke-dark dark:stroke-light",
3201
+ d: "m1.875 8l.686-2.743a1 1 0 0 1 .97-.757h10.938a1 1 0 0 1 .97 1.243l-.315 1.26M6 13.5H2.004A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3202
+ }), createElementVNode("path", {
3203
+ stroke: "#65bb87",
3204
+ d: "M15.5 13.5v1.2a.8.8 0 0 1-.8.8h-4.4a.8.8 0 0 1-.8-.8v-1.2H9a1 1 0 0 1 0-2h.5v-1.2a.8.8 0 0 1 .8-.8h1.2V9a1 1 0 0 1 2 0v.5h1.2a.8.8 0 0 1 .8.8v1.2H15a1 1 0 0 0 0 2z"
3205
+ })], -1)]])) : (openBlock(), createElementBlock("svg", _hoisted_2$4, [...n[1] ||= [createElementVNode("g", {
3206
+ fill: "none",
3207
+ "stroke-linecap": "round",
3208
+ "stroke-linejoin": "round"
3209
+ }, [createElementVNode("path", {
3210
+ class: "stroke-dark dark:stroke-light",
3211
+ d: "M4.5 4.5H12A1.5 1.5 0 0 1 13.5 6v.5m-7.5 7H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3212
+ }), createElementVNode("path", {
3213
+ stroke: "#65bb87",
3214
+ d: "M15.5 13.5v1.2a.8.8 0 0 1-.8.8h-4.4a.8.8 0 0 1-.8-.8v-1.2H9a1 1 0 0 1 0-2h.5v-1.2a.8.8 0 0 1 .8-.8h1.2V9a1 1 0 0 1 2 0v.5h1.2a.8.8 0 0 1 .8.8v1.2H15a1 1 0 0 0 0 2z"
3215
+ })], -1)]]));
3216
+ }
3217
+ }), _hoisted_1$4 = {
3218
+ key: 0,
3219
+ xmlns: "http://www.w3.org/2000/svg",
3220
+ width: "1em",
3221
+ height: "1em",
3222
+ viewBox: "0 0 16 16"
3223
+ }, _hoisted_2$3 = {
3224
+ key: 1,
3225
+ xmlns: "http://www.w3.org/2000/svg",
3226
+ width: "1em",
3227
+ height: "1em",
3228
+ viewBox: "0 0 16 16"
3229
+ }, PackagesIcones_default = /* @__PURE__ */ defineComponent({
3230
+ name: "PackagesIcones",
3231
+ __name: "PackagesIcones",
3232
+ props: { expanded: {
3233
+ type: Boolean,
3234
+ default: !1
3235
+ } },
3236
+ setup(e) {
3237
+ let t = e;
3238
+ return (e, n) => t.expanded ? (openBlock(), createElementBlock("svg", _hoisted_1$4, [...n[0] ||= [createElementVNode("g", {
3239
+ fill: "none",
3240
+ "stroke-linecap": "round",
3241
+ "stroke-linejoin": "round"
3242
+ }, [createElementVNode("path", {
3243
+ class: "stroke-dark dark:stroke-light",
3244
+ d: "m1.875 8l.686-2.743a1 1 0 0 1 .97-.757h10.938a1 1 0 0 1 .97 1.243l-.315 1.26M6 13.5H2.004A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3245
+ }), createElementVNode("path", {
3246
+ stroke: "#E23730",
3247
+ d: "M12 15.337v-3.919L8.5 9.214m3.5 2.204l3.5-2.204M12 7.5l3.5 1.714v4.408L12 15.5l-3.5-1.878V9.214Z"
3248
+ })], -1)]])) : (openBlock(), createElementBlock("svg", _hoisted_2$3, [...n[1] ||= [createElementVNode("g", {
3249
+ fill: "none",
3250
+ "stroke-linecap": "round",
3251
+ "stroke-linejoin": "round"
3252
+ }, [createElementVNode("path", {
3253
+ class: "stroke-dark dark:stroke-light",
3254
+ d: "M4.5 4.5H12A1.5 1.5 0 0 1 13.5 6v.5m-7.5 7H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3255
+ }), createElementVNode("path", {
3256
+ stroke: "#E23730",
3257
+ d: "M12 15.337v-3.919L8.5 9.214m3.5 2.204l3.5-2.204M12 7.5l3.5 1.714v4.408L12 15.5l-3.5-1.878V9.214Z"
3258
+ })], -1)]]));
3259
+ }
3260
+ }), _hoisted_1$3 = {
3261
+ key: 0,
3262
+ xmlns: "http://www.w3.org/2000/svg",
3263
+ width: "1em",
3264
+ height: "1em",
3265
+ viewBox: "0 0 16 16"
3266
+ }, _hoisted_2$2 = {
3267
+ key: 1,
3268
+ xmlns: "http://www.w3.org/2000/svg",
3269
+ width: "1em",
3270
+ height: "1em",
3271
+ viewBox: "0 0 16 16"
3272
+ }, SrcIcones_default = /* @__PURE__ */ defineComponent({
3273
+ name: "SrcIcones",
3274
+ __name: "SrcIcones",
3275
+ props: { expanded: {
3276
+ type: Boolean,
3277
+ default: !1
3278
+ } },
3279
+ setup(e) {
3280
+ let t = e;
3281
+ return (e, n) => t.expanded ? (openBlock(), createElementBlock("svg", _hoisted_1$3, [...n[0] ||= [createElementVNode("g", {
3282
+ fill: "none",
3283
+ "stroke-linecap": "round",
3284
+ "stroke-linejoin": "round"
3285
+ }, [createElementVNode("path", {
3286
+ class: "stroke-dark dark:stroke-light",
3287
+ d: "m1.875 8l.686-2.743a1 1 0 0 1 .97-.757h10.938a1 1 0 0 1 .97 1.243l-.315 1.26M6 13.5H2.004A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3288
+ }), createElementVNode("path", {
3289
+ stroke: "#65bb87",
3290
+ d: "m10.5 8.5l-3 3.5l3 3.5m2-7l3 3.5l-3 3.5"
3291
+ })], -1)]])) : (openBlock(), createElementBlock("svg", _hoisted_2$2, [...n[1] ||= [createElementVNode("g", {
3292
+ fill: "none",
3293
+ "stroke-linecap": "round",
3294
+ "stroke-linejoin": "round"
3295
+ }, [createElementVNode("path", {
3296
+ class: "stroke-dark dark:stroke-light",
3297
+ d: "M4.5 4.5H12A1.5 1.5 0 0 1 13.5 6v.5m-7.5 7H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3298
+ }), createElementVNode("path", {
3299
+ stroke: "#65bb87",
3300
+ d: "m10.5 8.5l-3 3.5l3 3.5m2-7l3 3.5l-3 3.5"
3301
+ })], -1)]]));
3302
+ }
3303
+ }), _hoisted_1$2 = {
3304
+ key: 0,
3305
+ xmlns: "http://www.w3.org/2000/svg",
3306
+ width: "1em",
3307
+ height: "1em",
3308
+ viewBox: "0 0 16 16"
3309
+ }, _hoisted_2$1 = {
3310
+ key: 1,
3311
+ xmlns: "http://www.w3.org/2000/svg",
3312
+ width: "1em",
3313
+ height: "1em",
3314
+ viewBox: "0 0 16 16"
3315
+ }, ViewIcones_default = /* @__PURE__ */ defineComponent({
3316
+ name: "ViewIcones",
3317
+ __name: "ViewIcones",
3318
+ props: { expanded: {
3319
+ type: Boolean,
3320
+ default: !1
3321
+ } },
3322
+ setup(e) {
3323
+ let t = e;
3324
+ return (e, n) => t.expanded ? (openBlock(), createElementBlock("svg", _hoisted_1$2, [...n[0] ||= [createElementVNode("g", {
3325
+ fill: "none",
3326
+ "stroke-linecap": "round",
3327
+ "stroke-linejoin": "round"
3328
+ }, [createElementVNode("path", {
3329
+ class: "stroke-dark dark:stroke-light",
3330
+ d: "m1.875 8l.686-2.743a1 1 0 0 1 .97-.757h10.938a1 1 0 0 1 .97 1.243l-.315 1.26M6 13.5H2.004A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3331
+ }), createElementVNode("path", {
3332
+ stroke: "#E23730",
3333
+ d: "M14.692 8.5H9.308a.31.31 0 0 0-.307.336l.47 5.241c.01.128.1.235.223.27l2.303 1.153l2.308-1.153a.31.31 0 0 0 .225-.27L15 8.836a.31.31 0 0 0-.307-.336"
3334
+ })], -1)]])) : (openBlock(), createElementBlock("svg", _hoisted_2$1, [...n[1] ||= [createElementVNode("g", {
3335
+ fill: "none",
3336
+ "stroke-linecap": "round",
3337
+ "stroke-linejoin": "round"
3338
+ }, [createElementVNode("path", {
3339
+ class: "stroke-dark dark:stroke-light",
3340
+ d: "M4.5 4.5H12A1.5 1.5 0 0 1 13.5 6v.5m-7.5 7H2A1.5 1.5 0 0 1 .5 12V3.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1"
3341
+ }), createElementVNode("path", {
3342
+ stroke: "#E23730",
3343
+ d: "M14.692 8.5H9.308a.31.31 0 0 0-.307.336l.47 5.241c.01.128.1.235.223.27l2.303 1.153l2.308-1.153a.31.31 0 0 0 .225-.27L15 8.836a.31.31 0 0 0-.307-.336"
3344
+ })], -1)]]));
3345
+ }
3346
+ }), _hoisted_1$1 = {
3347
+ xmlns: "http://www.w3.org/2000/svg",
3348
+ width: "1em",
3349
+ height: "1em",
3350
+ viewBox: "0 0 16 16"
3351
+ }, VueIcones_default = /* @__PURE__ */ defineComponent({
3352
+ name: "VueIcones",
3353
+ __name: "VueIcones",
3354
+ setup(e) {
3355
+ return (e, t) => (openBlock(), createElementBlock("svg", _hoisted_1$1, [...t[0] ||= [createElementVNode("g", {
3356
+ fill: "none",
3357
+ stroke: "#65bb87",
3358
+ "stroke-linecap": "round",
3359
+ "stroke-linejoin": "round"
3360
+ }, [createElementVNode("path", { d: "M1 1.5h5.44L8 4.56L9.56 1.5H15l-6.99 13z" }), createElementVNode("path", { d: "M12.05 1.73L8 9.28L3.95 1.73" })], -1)]]));
3361
+ }
3362
+ }), _hoisted_1 = { class: "mt-0" }, _hoisted_2 = { class: "w-152 mb-2" }, _hoisted_3 = { class: "inline-flex items-center text-inherit not-italic leading-[0] text-center normal-case [vertical-align:-0.125em] [text-rendering:optimizeLegibility] svg:size-4" }, _hoisted_4 = {
3363
+ key: 1,
3364
+ class: "flex items-center justify-center h-[220px]"
3365
+ }, ComponentSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
3366
+ name: "ComponentSelect",
3367
+ __name: "ComponentSelect",
3368
+ props: {
3369
+ modelValue: { default: "" },
3370
+ modelModifiers: {},
3371
+ scope: { default: "" },
3372
+ scopeModifiers: {}
3373
+ },
3374
+ emits: ["update:modelValue", "update:scope"],
3375
+ setup(e) {
3376
+ let l = Empty.PRESENTED_IMAGE_SIMPLE, h = useViewStore(), g = useModel(e, "modelValue"), _ = useModel(e, "scope"), b = useTemplateRef("searchInputRef"), [x, D] = useMachine(machine({
3377
+ id: useId(),
3378
+ initialFocusEl: () => b.value
3379
+ })), P = computed(() => connect(x.value, D, normalizeProps$1)), F = ref(!1), I = ref(""), L = computed(() => g.value ? [`${_.value ? `module:${_.value}` : "local"}/${g.value}`] : []), R = ref([]);
3380
+ function z(e) {
3381
+ return !e.includes("/");
3382
+ }
3383
+ function B(e) {
3384
+ let t = e.indexOf("/");
3385
+ return t === -1 ? e : e.slice(0, t);
3386
+ }
3387
+ function V(e) {
3388
+ let t = e.split("/"), n = [], r = "";
3389
+ for (let e = 0; e < Math.max(0, t.length - 1); e++) {
3390
+ let i = t[e];
3391
+ r = e === 0 ? i : `${r}/${i}`, n.push(r);
3392
+ }
3393
+ return n;
3394
+ }
3395
+ function H(e, t) {
3396
+ let n = e || [], r = t?.node?.key, i = !!t?.expanded, a;
3397
+ a = r && z(r) ? i ? r : void 0 : r ? B(r) : n.find(z), R.value = n.filter((e) => !z(String(e)) || String(e) === a);
3398
+ }
3399
+ function U() {
3400
+ let e = L.value[0];
3401
+ e && (R.value = V(e));
3402
+ }
3403
+ watch(L, () => {
3404
+ U();
3405
+ }, { immediate: !0 }), watch(F, (e) => {
3406
+ e && U();
3407
+ }), watch(F, (e) => {
3408
+ e && U();
3409
+ });
3410
+ let W = computed(() => {
3411
+ let e = I.value.trim();
3412
+ return e ? h.filterRouteTree(e) : h.getRouteTreeData();
3413
+ });
3414
+ function G(e) {
3415
+ let t = [], n = (e) => {
3416
+ for (let r of e || []) Array.isArray(r?.children) && r.children.length > 0 && (t.push(String(r.key)), n(r.children));
3417
+ };
3418
+ return n(e), t;
3419
+ }
3420
+ watch(I, (e) => {
3421
+ if (String(e || "").trim().length > 0) {
3422
+ let e = W.value;
3423
+ R.value = G(e);
3424
+ } else U();
3425
+ });
3426
+ function K(e, t) {
3427
+ let n = t?.node, r = n?.dataRef ?? n;
3428
+ r?.isLeaf && (g.value = r.value || "", _.value = r.scope || "", I.value = "", F.value = !1);
3429
+ }
3430
+ return (e, t) => {
3431
+ let r = Input$1, h = FormItemRest, y = DirectoryTree, b = Empty$1;
3432
+ return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", normalizeProps(guardReactiveProps(unref(P).getTriggerProps())), [createVNode(r, {
3433
+ value: g.value,
3434
+ "onUpdate:value": t[0] ||= (e) => g.value = e,
3435
+ "addon-before": _.value || "本地",
3436
+ placeholder: "请输入或选择组件路径(views下的路径)"
3437
+ }, null, 8, ["value", "addon-before"])], 16), (openBlock(), createBlock(Teleport, { to: "body" }, [unref(P).open ? (openBlock(), createElementBlock("div", mergeProps({ key: 0 }, unref(P).getPositionerProps(), { class: "z-1050" }), [createElementVNode("div", mergeProps(unref(P).getContentProps(), { class: "z-1050 w-162 rounded-md border border-solid p-4 border-[--g-border-color] shadow-md outline-none bg-#ffffff dark:bg-#141414 text-dark dark:text-light data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95" }), [createElementVNode("div", _hoisted_2, [createVNode(h, null, {
3438
+ default: withCtx(() => [createVNode(r, {
3439
+ ref: "searchInputRef",
3440
+ value: unref(I),
3441
+ "onUpdate:value": t[1] ||= (e) => isRef(I) ? I.value = e : null,
3442
+ "allow-clear": "",
3443
+ size: "small",
3444
+ placeholder: "搜索组件或路径"
3445
+ }, null, 8, ["value"])]),
3446
+ _: 1
3447
+ })]), unref(W) && unref(W).length ? (openBlock(), createBlock(y, {
3448
+ key: 0,
3449
+ "expanded-keys": unref(R),
3450
+ "onUpdate:expandedKeys": t[2] ||= (e) => isRef(R) ? R.value = e : null,
3451
+ class: "w-152 h-100 overflow-y-auto directory-tree-root",
3452
+ "selected-keys": unref(L),
3453
+ "tree-data": unref(W),
3454
+ "show-icon": !0,
3455
+ "show-line": !0,
3456
+ virtual: !0,
3457
+ "expand-action": "click",
3458
+ onExpand: H,
3459
+ onSelect: K
3460
+ }, {
3461
+ switcherIcon: withCtx(({ switcherCls: e }) => [createVNode(unref(CaretDownOutlined), { class: normalizeClass(e) }, null, 8, ["class"])]),
3462
+ icon: withCtx(({ expanded: e, dataRef: t }) => [createElementVNode("span", _hoisted_3, [t?.root && !t?.module ? (openBlock(), createBlock(PackagesIcones_default, {
3463
+ key: 0,
3464
+ expanded: e
3465
+ }, null, 8, ["expanded"])) : t?.root && t?.module ? (openBlock(), createBlock(ModuleIcones_default, {
3466
+ key: 1,
3467
+ expanded: e
3468
+ }, null, 8, ["expanded"])) : t?.isLeaf ? (openBlock(), createBlock(VueIcones_default, { key: 2 })) : ["components", "component"].includes(String(t?.title).toLowerCase()) ? (openBlock(), createBlock(ComponentsIcones_default, {
3469
+ key: 3,
3470
+ expanded: e
3471
+ }, null, 8, ["expanded"])) : [
3472
+ "views",
3473
+ "view",
3474
+ "pages",
3475
+ "page"
3476
+ ].includes(String(t?.title).toLowerCase()) ? (openBlock(), createBlock(ViewIcones_default, {
3477
+ key: 4,
3478
+ expanded: e
3479
+ }, null, 8, ["expanded"])) : ["src"].includes(String(t?.title).toLowerCase()) ? (openBlock(), createBlock(SrcIcones_default, {
3480
+ key: 5,
3481
+ expanded: e
3482
+ }, null, 8, ["expanded"])) : (openBlock(), createBlock(FolderIcones_default, {
3483
+ key: 6,
3484
+ expanded: e
3485
+ }, null, 8, ["expanded"]))])]),
3486
+ _: 1
3487
+ }, 8, [
3488
+ "expanded-keys",
3489
+ "selected-keys",
3490
+ "tree-data"
3491
+ ])) : (openBlock(), createElementBlock("div", _hoisted_4, [createVNode(b, {
3492
+ image: unref(l),
3493
+ description: "没有找到匹配的组件"
3494
+ }, null, 8, ["image"])]))], 16)], 16)) : createCommentVNode("", !0)]))]);
3495
+ };
3496
+ }
3497
+ }), ComponentSelect_exports = /* @__PURE__ */ __exportAll({ default: () => ComponentSelect_default }), ComponentSelect_default = ComponentSelect_vue_vue_type_script_setup_true_lang_default;
3498
+ export { ComponentSelect_exports as n, ComponentSelect_default as t };