@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.
- package/dist/ComponentSelect-A7uGTuHW.js +3498 -0
- package/dist/{DynamicRoutesForm-DP_sq_Uu.js → DynamicRoutesForm-DSzy_bh5.js} +43 -42
- package/dist/HCheckList-ODQHidN8.js +37 -0
- package/dist/HoverCard-CmJCoa2b.js +44 -0
- package/dist/{IconSelect-CiLpc63Z.js → IconSelect-DouEg3xY.js} +89 -88
- package/dist/ImportExport-DisdLoY8.js +342 -0
- package/dist/{LayoutForm-Cp4bBrYl.js → LayoutForm-Bdfs5WeK.js} +35 -34
- package/dist/{MetaForm-CVSgktB_.js → MetaForm-CcDwS8vh.js} +6128 -6143
- package/dist/{OrgAndPosition-ClASobEv.js → OrgAndPosition-jDX7m0HD.js} +61 -60
- package/dist/{ResourceEdit-w8qh1MFO.js → ResourceEdit-0BYZRye_.js} +128 -127
- package/dist/{ResourceRelation-ChEwIbWM.js → ResourceRelation-CU-QpUhP.js} +25 -25
- package/dist/{ResourceRelation-D_j898zp.js → ResourceRelation-roz0a8Td.js} +35 -34
- package/dist/{RoleRelation-DzyVn5dk.js → RoleRelation-BQQFaum0.js} +28 -27
- package/dist/{RoleSelector-Cd6_RUsc.js → RoleSelector-gkar_UGG.js} +89 -89
- package/dist/{TenantEdit-BOvXk7BZ.js → TenantEdit-BsahDUlf.js} +94 -93
- package/dist/{UserAuthorization-DLeivbs7.js → UserAuthorization-2Fl4IGw7.js} +81 -80
- package/dist/{UserEdit-YKS1FVW_.js → UserEdit-CX3Qau8T.js} +102 -101
- package/dist/{animation_item-BU-LInxP.js → animation_item-DBOz2rcX.js} +20 -22
- package/dist/{blackWhiteList-CNQltBqC.js → blackWhiteList-DbG7JH8n.js} +69 -69
- package/dist/blackWhiteList.css +1 -1
- package/dist/{breadcrumb_setting-Ds-XJRR1.js → breadcrumb_setting-Dx2Li6xt.js} +19 -19
- package/dist/{browserType-Dn_hQtAN.js → browserType-B8A1Osvk.js} +11 -10
- package/dist/chunk-DiMWNkAf.js +18 -0
- package/dist/cloneDeep-CSOSavu3.js +6 -0
- package/dist/components/GroupSelector/index.vue.d.ts +7 -1
- package/dist/components/ResourceIcones/Select.vue.d.ts +2 -1
- package/dist/components/ResourceSelector/index.vue.d.ts +7 -1
- package/dist/components/RoleSelector/RoleSearch.vue.d.ts +9 -1
- package/dist/components/RoleSelector/RoleSelector.vue.d.ts +7 -1
- package/dist/{createAndEditDataPermission-CaOBJgoV.js → createAndEditDataPermission-8_KNLzJT.js} +49 -48
- package/dist/createAndEditDataPermission.css +1 -1
- package/dist/{data-permission-ZRQ-Aoib.js → data-permission-LpuDLDm0.js} +41 -41
- package/dist/{dayjs.min-sGDSMYRj.js → dayjs.min-Cb7gQFd4.js} +1 -1
- package/dist/{dictionary-CtGgtPfc.js → dictionary-CEaxjqZe.js} +46 -46
- package/dist/drawerBlackWhiteList-DXLdWurZ.js +120 -0
- package/dist/drawerDictionary-DYJTAZr6.js +126 -0
- package/dist/drawerDictionaryItem-BChXD2-q.js +138 -0
- package/dist/{drawerGroup-DEuiiDPP.js → drawerGroup-CdnZkZxi.js} +67 -66
- package/dist/drawerOrganization-CwtSFUj0.js +247 -0
- package/dist/drawerPosition-CfyfeQCN.js +166 -0
- package/dist/drawerRegion-DAwY_29K.js +183 -0
- package/dist/drawerRole-B7uCfHk-.js +154 -0
- package/dist/{drawerRole-Dv61PBZR.js → drawerRole-DK6DrinO.js} +77 -76
- package/dist/{drawerRole-DNDyOvXw.js → drawerRole-DrzMHL0O.js} +69 -68
- package/dist/{group-BbkZjv5e.js → group-CaOhkh72.js} +48 -48
- package/dist/group.css +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +613 -689
- package/dist/isEmpty-BjEzPyCa.js +12 -0
- package/dist/{itemlist-By-FV6pN.js → itemlist-CFwRUV2Y.js} +44 -44
- package/dist/{layout_setting-BUAgQ1Bk.js → layout_setting-79srmFgJ.js} +11 -11
- package/dist/layout_setting.css +1 -1
- package/dist/{log-vjU7aBPR.js → log-BYris9iT.js} +6 -6
- package/dist/{loginHistoryDetail-C7GT2yME.js → loginHistoryDetail-CZnfmbbM.js} +24 -23
- package/dist/{login_history-D08W00Qu.js → login_history-BiwaLpxA.js} +33 -33
- package/dist/login_history.css +1 -1
- package/dist/{menu_setting-5Jet091Q.js → menu_setting-ChueWHs4.js} +42 -42
- package/dist/not-data-Bml86wdH.js +3 -0
- package/dist/{operateHistoryDetail-BaNJRfwy.js → operateHistoryDetail-HId-EZzy.js} +27 -26
- package/dist/{operate_history-kJwIuPg2.js → operate_history-sPd9IHMV.js} +33 -33
- package/dist/operate_history.css +1 -1
- package/dist/{organization-Cmj3DUXl.js → organization-Dv3FbKke.js} +1438 -1444
- package/dist/organization.css +1 -1
- package/dist/{other_setting-DQ70WnZK.js → other_setting-BEV_UK0g.js} +86 -86
- package/dist/other_setting.css +1 -1
- package/dist/{page_animation_setting-Lp6cMuFM.js → page_animation_setting-Cp5OnFpd.js} +33 -33
- package/dist/page_animation_setting.css +1 -1
- package/dist/{page_w_setting-CD_HtSUv.js → page_w_setting-Q--ct16C.js} +11 -11
- package/dist/page_w_setting.css +1 -1
- package/dist/{position-CLpbgKGj.js → position-CCZ2MSMP.js} +41 -41
- package/dist/{region-Dd9pt_Si.js → region-D3mjqB8H.js} +62 -62
- package/dist/{resource-C7dXB0EE.js → resource-DaQ7CvM_.js} +69 -69
- package/dist/{role-JGtvRObt.js → role-4UgEw3nH.js} +49 -49
- package/dist/{role_group-CKOb_m63.js → role_group-hkRlCnyl.js} +41 -41
- package/dist/{safe_setting-G_ZP-jWQ.js → safe_setting-4fv3qNRZ.js} +85 -85
- package/dist/{setItem-yKhjmUh0.js → setItem-Vkcwkj-O.js} +33 -32
- package/dist/setItem.css +1 -1
- package/dist/{tabbar_setting-B3kMhRNm.js → tabbar_setting-kbuTvrLB.js} +36 -36
- package/dist/{tenant-BBiCJkU_.js → tenant-lWfGw2u1.js} +48 -48
- package/dist/{theme_setting-vhNDLlkc.js → theme_setting-CEb7UYQO.js} +47 -47
- package/dist/theme_setting.css +1 -1
- package/dist/{toolbar_setting-DNBdxeGP.js → toolbar_setting-BG-k2UFc.js} +32 -32
- package/dist/useAppAndResource-B7FmNfKG.js +52 -0
- package/dist/{user-DvCyUhZW.js → user-BkUpcQC8.js} +96 -96
- package/dist/{vanilla-picker-DcG96G63.js → vanilla-picker-Byb6q187.js} +239 -239
- package/dist/views/blackWhiteList/components/drawerBlackWhiteList.vue.d.ts +5 -1
- package/dist/views/components/setItem.vue.d.ts +5 -1
- package/dist/views/data-permission/components/createAndEditDataPermission.vue.d.ts +5 -1
- package/dist/views/dictionary/components/drawerDictionary.vue.d.ts +5 -1
- package/dist/views/dictionary/components/drawerDictionaryItem.vue.d.ts +5 -1
- package/dist/views/group/components/drawerGroup.vue.d.ts +5 -1
- package/dist/views/log_center/components/loginHistoryDetail.vue.d.ts +8 -1
- package/dist/views/log_center/components/operateHistoryDetail.vue.d.ts +8 -1
- package/dist/views/organization/components/drawerOrganization.vue.d.ts +5 -1
- package/dist/views/organization/components/drawerRole.vue.d.ts +5 -1
- package/dist/views/other_setting/interface.d.ts +1 -2
- package/dist/views/position/components/drawerPosition.vue.d.ts +5 -1
- package/dist/views/region/components/drawerRegion.vue.d.ts +5 -1
- package/dist/views/resource/components/ImportExport.vue.d.ts +5 -1
- package/dist/views/resource/components/ResourceEdit.vue.d.ts +5 -1
- package/dist/views/role/components/drawerRole.vue.d.ts +5 -1
- package/dist/views/role_group/components/drawerRole.vue.d.ts +5 -1
- package/dist/views/tenant/components/TenantEdit.vue.d.ts +5 -1
- package/dist/views/user/components/UserAuthorization.vue.d.ts +5 -1
- package/dist/views/user/components/UserEdit.vue.d.ts +5 -1
- package/dist/{watermark_setting-CXp4Og0Y.js → watermark_setting-Cl2EtPAa.js} +98 -98
- package/dist/watermark_setting.css +1 -1
- package/package.json +13 -13
- package/src/views/other_setting/index.vue +2 -2
- package/src/views/other_setting/interface.ts +1 -1
- package/dist/ComponentSelect-D0OCk6H1.js +0 -3572
- package/dist/ComponentSelect-WO-3S5rH.js +0 -2
- package/dist/DynamicRoutesForm-DjZ3eVLW.js +0 -4
- package/dist/HCheckList-B5Qk_HBI.js +0 -2
- package/dist/HCheckList-DLBewmPw.js +0 -36
- package/dist/HoverCard-69ZIOivd.js +0 -2
- package/dist/HoverCard-BDFcxxvk.js +0 -43
- package/dist/IconSelect-C_Gj5G4I.js +0 -3
- package/dist/ImportExport-CL5uPlby.js +0 -342
- package/dist/ImportExport-CPy2rvv7.js +0 -4
- package/dist/LayoutForm-QFjwakyQ.js +0 -4
- package/dist/MetaForm-Bb-um1Zo.js +0 -4
- package/dist/OrgAndPosition-DoiGY5xb.js +0 -2
- package/dist/ResourceEdit-BTaNdwC_.js +0 -10
- package/dist/ResourceRelation-BIOzTOKA.js +0 -2
- package/dist/RoleRelation-CyTcqRfZ.js +0 -2
- package/dist/TenantEdit-BlMmL6q5.js +0 -2
- package/dist/UserAuthorization-qGr1Sdat.js +0 -3
- package/dist/UserEdit-CwfyqNWf.js +0 -3
- package/dist/animation_item-GzGItm3s.js +0 -2
- package/dist/browserType-BXTT4j6i.js +0 -2
- package/dist/chunk-Cpsc_9al.js +0 -18
- package/dist/cloneDeep-DDAtsK42.js +0 -7
- package/dist/createAndEditDataPermission-CChlLDUm.js +0 -5
- package/dist/drawerBlackWhiteList-BqIDyn2Q.js +0 -2
- package/dist/drawerBlackWhiteList-CkbZ_9PZ.js +0 -119
- package/dist/drawerDictionary-D911w7pC.js +0 -2
- package/dist/drawerDictionary-dMHs-6Cw.js +0 -125
- package/dist/drawerDictionaryItem-CbTa_qL-.js +0 -137
- package/dist/drawerDictionaryItem-DLUI5Yuc.js +0 -2
- package/dist/drawerGroup-CEEDMBg9.js +0 -3
- package/dist/drawerOrganization-CqEMD3gE.js +0 -246
- package/dist/drawerOrganization-mks5NMd9.js +0 -2
- package/dist/drawerPosition-Bd0s7qze.js +0 -165
- package/dist/drawerPosition-DwlTrlGA.js +0 -2
- package/dist/drawerRegion-DUbQAZuV.js +0 -182
- package/dist/drawerRegion-DwVzsZfT.js +0 -2
- package/dist/drawerRole-BNrbcSmr.js +0 -3
- package/dist/drawerRole-BxUIekjh.js +0 -3
- package/dist/drawerRole-CyA2oFht.js +0 -4
- package/dist/drawerRole-D5X7oHB_.js +0 -153
- package/dist/isEmpty-BvRqbmpu.js +0 -13
- package/dist/loginHistoryDetail-CkH5UUGU.js +0 -3
- package/dist/not-data-Cx--tk_h.js +0 -2
- package/dist/not-data-tyTawN37.js +0 -2
- package/dist/operateHistoryDetail-CeVPJzD6.js +0 -3
- package/dist/routeSystem-DXMoWhFo.js +0 -2
- package/dist/setItem-Qa7UapHO.js +0 -4
- 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 };
|