mimir-ui-kit 1.65.0 → 1.65.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/components/Dropdown/Dropdown.js +386 -357
- package/package.json +1 -1
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as z, jsxs as De, Fragment as nt } from "react/jsx-runtime";
|
|
2
2
|
import { c as fe } from "../../index-DIxK0V-G.js";
|
|
3
|
-
import E, { createContext as ie, useState as J, useContext as
|
|
3
|
+
import E, { createContext as ie, useState as J, useContext as re, useRef as A, useEffect as te, useMemo as q, Fragment as ve, useReducer as rt, createRef as Fe, useId as be, memo as ot, useCallback as ce } from "react";
|
|
4
4
|
import { u as lt, c as U } from "../../hooks-HgN6Yauq.js";
|
|
5
5
|
import { Button as at } from "../Button/Button.js";
|
|
6
|
-
import { o as T, u as He, M as me, W as Y, y as
|
|
6
|
+
import { o as T, u as He, M as me, W as Y, y as ne, O as ae, n as de, m as ut, t as it, H as se, s as ke, p as st, a as V, T as ct, $ as dt, b as pt, D as Be, I as ft, c as le } from "../../keyboard-wis2TUql.js";
|
|
7
7
|
import { w as vt } from "../../use-active-press-CnDeVvQq.js";
|
|
8
|
-
import { n as
|
|
8
|
+
import { n as ye, s as mt, l as Ke, e as bt, E as ht, R as Pt, v as yt, y as $t, x as Et, a as St, b as gt, m as Tt, f as wt, d as It, t as Ft } from "../../portal-BnEqSZwo.js";
|
|
9
9
|
import { e as kt } from "../../use-resolve-button-type-DhFdPxnv.js";
|
|
10
10
|
import { T as he, s as Pe } from "../../hidden-CkTYbiNM.js";
|
|
11
|
-
import { R as
|
|
11
|
+
import { R as Oe, H as xe, i as X, c as Ge, u as $e, s as Bt } from "../../open-closed-CJijMeI2.js";
|
|
12
12
|
import { C as Mt } from "../../close-provider-CEutdhG8.js";
|
|
13
13
|
import { r as Ue } from "../../bugs-diTMAGNw.js";
|
|
14
|
-
import { b as
|
|
15
|
-
import { f as
|
|
16
|
-
function xt({ defaultContainers: e = [], portals: t, mainTreeNode:
|
|
17
|
-
let
|
|
18
|
-
var
|
|
19
|
-
let
|
|
20
|
-
for (let
|
|
21
|
-
if (t != null && t.current) for (let
|
|
22
|
-
for (let
|
|
23
|
-
return
|
|
14
|
+
import { b as Re, P as ue, F as ee, A as Nt, h as Lt, T as Me } from "../../focus-management-BAl0GmRk.js";
|
|
15
|
+
import { f as Ot } from "../../use-is-mounted-MBU4fiLr.js";
|
|
16
|
+
function xt({ defaultContainers: e = [], portals: t, mainTreeNode: r } = {}) {
|
|
17
|
+
let c = ye(r), p = T(() => {
|
|
18
|
+
var P, m;
|
|
19
|
+
let l = [];
|
|
20
|
+
for (let o of e) o !== null && (o instanceof HTMLElement ? l.push(o) : "current" in o && o.current instanceof HTMLElement && l.push(o.current));
|
|
21
|
+
if (t != null && t.current) for (let o of t.current) l.push(o);
|
|
22
|
+
for (let o of (P = c == null ? void 0 : c.querySelectorAll("html > *, body > *")) != null ? P : []) o !== document.body && o !== document.head && o instanceof HTMLElement && o.id !== "headlessui-portal-root" && (r && (o.contains(r) || o.contains((m = r == null ? void 0 : r.getRootNode()) == null ? void 0 : m.host)) || l.some((h) => o.contains(h)) || l.push(o));
|
|
23
|
+
return l;
|
|
24
24
|
});
|
|
25
|
-
return { resolveContainers:
|
|
25
|
+
return { resolveContainers: p, contains: T((P) => p().some((m) => m.contains(P))) };
|
|
26
26
|
}
|
|
27
27
|
let je = ie(null);
|
|
28
|
-
function
|
|
29
|
-
let [
|
|
30
|
-
return E.createElement(je.Provider, { value:
|
|
31
|
-
var
|
|
32
|
-
if (
|
|
33
|
-
for (let
|
|
34
|
-
|
|
28
|
+
function We({ children: e, node: t }) {
|
|
29
|
+
let [r, c] = J(null), p = Xe(t ?? r);
|
|
30
|
+
return E.createElement(je.Provider, { value: p }, e, p === null && E.createElement(he, { features: Pe.Hidden, ref: (P) => {
|
|
31
|
+
var m, l;
|
|
32
|
+
if (P) {
|
|
33
|
+
for (let o of (l = (m = He(P)) == null ? void 0 : m.querySelectorAll("html > *, body > *")) != null ? l : []) if (o !== document.body && o !== document.head && o instanceof HTMLElement && o != null && o.contains(P)) {
|
|
34
|
+
c(o);
|
|
35
35
|
break;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
} }));
|
|
39
39
|
}
|
|
40
|
-
function
|
|
40
|
+
function Xe(e = null) {
|
|
41
41
|
var t;
|
|
42
|
-
return (t =
|
|
42
|
+
return (t = re(je)) != null ? t : e;
|
|
43
43
|
}
|
|
44
44
|
var Q = ((e) => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(Q || {});
|
|
45
45
|
function Ze() {
|
|
46
|
-
let e =
|
|
46
|
+
let e = A(0);
|
|
47
47
|
return mt(!0, "keydown", (t) => {
|
|
48
48
|
t.key === "Tab" && (e.current = t.shiftKey ? 1 : 0);
|
|
49
49
|
}, !0), e;
|
|
@@ -54,14 +54,14 @@ function qe(e) {
|
|
|
54
54
|
}
|
|
55
55
|
let Ee = ie(null);
|
|
56
56
|
Ee.displayName = "TransitionContext";
|
|
57
|
-
var
|
|
58
|
-
function
|
|
59
|
-
let e =
|
|
57
|
+
var Rt = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(Rt || {});
|
|
58
|
+
function _t() {
|
|
59
|
+
let e = re(Ee);
|
|
60
60
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
61
61
|
return e;
|
|
62
62
|
}
|
|
63
|
-
function
|
|
64
|
-
let e =
|
|
63
|
+
function At() {
|
|
64
|
+
let e = re(Se);
|
|
65
65
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
66
66
|
return e;
|
|
67
67
|
}
|
|
@@ -71,101 +71,101 @@ function ge(e) {
|
|
|
71
71
|
return "children" in e ? ge(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
72
72
|
}
|
|
73
73
|
function Je(e, t) {
|
|
74
|
-
let
|
|
75
|
-
let s =
|
|
76
|
-
s !== -1 && (V(
|
|
77
|
-
|
|
78
|
-
}, [
|
|
79
|
-
|
|
80
|
-
} }),
|
|
74
|
+
let r = ke(e), c = A([]), p = Ot(), P = st(), m = T((d, a = ae.Hidden) => {
|
|
75
|
+
let s = c.current.findIndex(({ el: u }) => u === d);
|
|
76
|
+
s !== -1 && (V(a, { [ae.Unmount]() {
|
|
77
|
+
c.current.splice(s, 1);
|
|
78
|
+
}, [ae.Hidden]() {
|
|
79
|
+
c.current[s].state = "hidden";
|
|
80
|
+
} }), P.microTask(() => {
|
|
81
81
|
var u;
|
|
82
|
-
!ge(
|
|
82
|
+
!ge(c) && p.current && ((u = r.current) == null || u.call(r));
|
|
83
83
|
}));
|
|
84
|
-
}),
|
|
85
|
-
let
|
|
86
|
-
return
|
|
87
|
-
}),
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
})]), t == null || t.chains.current[
|
|
91
|
-
Promise.all(n.current[
|
|
92
|
-
})]),
|
|
93
|
-
}),
|
|
94
|
-
Promise.all(n.current[
|
|
84
|
+
}), l = T((d) => {
|
|
85
|
+
let a = c.current.find(({ el: s }) => s === d);
|
|
86
|
+
return a ? a.state !== "visible" && (a.state = "visible") : c.current.push({ el: d, state: "visible" }), () => m(d, ae.Unmount);
|
|
87
|
+
}), o = A([]), h = A(Promise.resolve()), n = A({ enter: [], leave: [] }), f = T((d, a, s) => {
|
|
88
|
+
o.current.splice(0), t && (t.chains.current[a] = t.chains.current[a].filter(([u]) => u !== d)), t == null || t.chains.current[a].push([d, new Promise((u) => {
|
|
89
|
+
o.current.push(u);
|
|
90
|
+
})]), t == null || t.chains.current[a].push([d, new Promise((u) => {
|
|
91
|
+
Promise.all(n.current[a].map(([v, g]) => g)).then(() => u());
|
|
92
|
+
})]), a === "enter" ? h.current = h.current.then(() => t == null ? void 0 : t.wait.current).then(() => s(a)) : s(a);
|
|
93
|
+
}), $ = T((d, a, s) => {
|
|
94
|
+
Promise.all(n.current[a].splice(0).map(([u, v]) => v)).then(() => {
|
|
95
95
|
var u;
|
|
96
|
-
(u =
|
|
97
|
-
}).then(() => s(
|
|
96
|
+
(u = o.current.shift()) == null || u();
|
|
97
|
+
}).then(() => s(a));
|
|
98
98
|
});
|
|
99
|
-
return q(() => ({ children:
|
|
99
|
+
return q(() => ({ children: c, register: l, unregister: m, onStart: f, onStop: $, wait: h, chains: n }), [l, m, c, f, $, n, h]);
|
|
100
100
|
}
|
|
101
101
|
let Qe = ve, Ve = me.RenderStrategy;
|
|
102
|
-
function
|
|
103
|
-
var
|
|
104
|
-
let { transition:
|
|
105
|
-
de(() =>
|
|
106
|
-
if (
|
|
102
|
+
function Ct(e, t) {
|
|
103
|
+
var r, c;
|
|
104
|
+
let { transition: p = !0, beforeEnter: P, afterEnter: m, beforeLeave: l, afterLeave: o, enter: h, enterFrom: n, enterTo: f, entered: $, leave: d, leaveFrom: a, leaveTo: s, ...u } = e, [v, g] = J(null), S = A(null), B = qe(e), D = ne(...B ? [S, t, g] : t === null ? [] : [t]), C = (r = u.unmount) == null || r ? ae.Unmount : ae.Hidden, { show: k, appear: N, initial: Z } = _t(), [M, L] = J(k ? "visible" : "hidden"), G = At(), { register: O, unregister: x } = G;
|
|
105
|
+
de(() => O(S), [O, S]), de(() => {
|
|
106
|
+
if (C === ae.Hidden && S.current) {
|
|
107
107
|
if (k && M !== "visible") {
|
|
108
|
-
|
|
108
|
+
L("visible");
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
111
|
-
return V(M, { hidden: () => x(S), visible: () =>
|
|
111
|
+
return V(M, { hidden: () => x(S), visible: () => O(S) });
|
|
112
112
|
}
|
|
113
|
-
}, [M, S,
|
|
114
|
-
let
|
|
113
|
+
}, [M, S, O, x, k, C]);
|
|
114
|
+
let H = Ke();
|
|
115
115
|
de(() => {
|
|
116
|
-
if (B &&
|
|
117
|
-
}, [S, M,
|
|
118
|
-
let
|
|
119
|
-
|
|
120
|
-
}, G),
|
|
121
|
-
|
|
122
|
-
let
|
|
123
|
-
i.onStart(S,
|
|
124
|
-
pe === "enter" ?
|
|
116
|
+
if (B && H && M === "visible" && S.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
117
|
+
}, [S, M, H, B]);
|
|
118
|
+
let R = Z && !N, _ = N && k && Z, y = A(!1), i = Je(() => {
|
|
119
|
+
y.current || (L("hidden"), x(S));
|
|
120
|
+
}, G), b = T((W) => {
|
|
121
|
+
y.current = !0;
|
|
122
|
+
let oe = W ? "enter" : "leave";
|
|
123
|
+
i.onStart(S, oe, (pe) => {
|
|
124
|
+
pe === "enter" ? P == null || P() : pe === "leave" && (l == null || l());
|
|
125
125
|
});
|
|
126
|
-
}), w = T((
|
|
127
|
-
let
|
|
128
|
-
|
|
129
|
-
pe === "enter" ?
|
|
130
|
-
}),
|
|
126
|
+
}), w = T((W) => {
|
|
127
|
+
let oe = W ? "enter" : "leave";
|
|
128
|
+
y.current = !1, i.onStop(S, oe, (pe) => {
|
|
129
|
+
pe === "enter" ? m == null || m() : pe === "leave" && (o == null || o());
|
|
130
|
+
}), oe === "leave" && !ge(i) && (L("hidden"), x(S));
|
|
131
131
|
});
|
|
132
|
-
|
|
133
|
-
B &&
|
|
134
|
-
}, [k, B,
|
|
135
|
-
let I = !(!
|
|
136
|
-
return M === "visible" && (j |=
|
|
132
|
+
te(() => {
|
|
133
|
+
B && p || (b(k), w(k));
|
|
134
|
+
}, [k, B, p]);
|
|
135
|
+
let I = !(!p || !B || !H || R), [, F] = Oe(I, v, k, { start: b, end: w }), K = ut({ ref: D, className: ((c = it(u.className, _ && h, _ && n, F.enter && h, F.enter && F.closed && n, F.enter && !F.closed && f, F.leave && d, F.leave && !F.closed && a, F.leave && F.closed && s, !F.transition && k && $)) == null ? void 0 : c.trim()) || void 0, ...xe(F) }), j = 0;
|
|
136
|
+
return M === "visible" && (j |= X.Open), M === "hidden" && (j |= X.Closed), F.enter && (j |= X.Opening), F.leave && (j |= X.Closing), E.createElement(Se.Provider, { value: i }, E.createElement(Ge, { value: j }, se({ ourProps: K, theirProps: u, defaultTag: Qe, features: Ve, visible: M === "visible", name: "Transition.Child" })));
|
|
137
137
|
}
|
|
138
138
|
function Dt(e, t) {
|
|
139
|
-
let { show:
|
|
140
|
-
|
|
141
|
-
let
|
|
142
|
-
if (
|
|
143
|
-
let [n,
|
|
144
|
-
|
|
145
|
-
}), [
|
|
139
|
+
let { show: r, appear: c = !1, unmount: p = !0, ...P } = e, m = A(null), l = qe(e), o = ne(...l ? [m, t] : t === null ? [] : [t]);
|
|
140
|
+
Ke();
|
|
141
|
+
let h = $e();
|
|
142
|
+
if (r === void 0 && h !== null && (r = (h & X.Open) === X.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
143
|
+
let [n, f] = J(r ? "visible" : "hidden"), $ = Je(() => {
|
|
144
|
+
r || f("hidden");
|
|
145
|
+
}), [d, a] = J(!0), s = A([r]);
|
|
146
146
|
de(() => {
|
|
147
|
-
|
|
148
|
-
}, [s,
|
|
149
|
-
let u = q(() => ({ show:
|
|
147
|
+
d !== !1 && s.current[s.current.length - 1] !== r && (s.current.push(r), a(!1));
|
|
148
|
+
}, [s, r]);
|
|
149
|
+
let u = q(() => ({ show: r, appear: c, initial: d }), [r, c, d]);
|
|
150
150
|
de(() => {
|
|
151
|
-
|
|
152
|
-
}, [
|
|
153
|
-
let
|
|
151
|
+
r ? f("visible") : !ge($) && m.current !== null && f("hidden");
|
|
152
|
+
}, [r, $]);
|
|
153
|
+
let v = { unmount: p }, g = T(() => {
|
|
154
154
|
var B;
|
|
155
|
-
|
|
155
|
+
d && a(!1), (B = e.beforeEnter) == null || B.call(e);
|
|
156
156
|
}), S = T(() => {
|
|
157
157
|
var B;
|
|
158
|
-
|
|
158
|
+
d && a(!1), (B = e.beforeLeave) == null || B.call(e);
|
|
159
159
|
});
|
|
160
|
-
return E.createElement(Se.Provider, { value:
|
|
160
|
+
return E.createElement(Se.Provider, { value: $ }, E.createElement(Ee.Provider, { value: u }, se({ ourProps: { ...v, as: ve, children: E.createElement(Ye, { ref: o, ...v, ...P, beforeEnter: g, beforeLeave: S }) }, theirProps: {}, defaultTag: ve, features: Ve, visible: n === "visible", name: "Transition" })));
|
|
161
161
|
}
|
|
162
162
|
function Ht(e, t) {
|
|
163
|
-
let
|
|
164
|
-
return E.createElement(E.Fragment, null, !
|
|
163
|
+
let r = re(Ee) !== null, c = $e() !== null;
|
|
164
|
+
return E.createElement(E.Fragment, null, !r && c ? E.createElement(Ne, { ref: t, ...e }) : E.createElement(Ye, { ref: t, ...e }));
|
|
165
165
|
}
|
|
166
|
-
let
|
|
166
|
+
let Ne = Y(Dt), Ye = Y(Ct), Kt = Y(Ht), Gt = Object.assign(Ne, { Child: Kt, Root: Ne });
|
|
167
167
|
var Ut = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(Ut || {}), jt = ((e) => (e[e.TogglePopover = 0] = "TogglePopover", e[e.ClosePopover = 1] = "ClosePopover", e[e.SetButton = 2] = "SetButton", e[e.SetButtonId = 3] = "SetButtonId", e[e.SetPanel = 4] = "SetPanel", e[e.SetPanelId = 5] = "SetPanelId", e))(jt || {});
|
|
168
|
-
let
|
|
168
|
+
let Wt = { 0: (e) => ({ ...e, popoverState: V(e.popoverState, { 0: 1, 1: 0 }), __demoMode: !1 }), 1(e) {
|
|
169
169
|
return e.popoverState === 1 ? e : { ...e, popoverState: 1, __demoMode: !1 };
|
|
170
170
|
}, 2(e, t) {
|
|
171
171
|
return e.button === t.button ? e : { ...e, button: t.button };
|
|
@@ -175,173 +175,173 @@ let Xt = { 0: (e) => ({ ...e, popoverState: V(e.popoverState, { 0: 1, 1: 0 }), _
|
|
|
175
175
|
return e.panel === t.panel ? e : { ...e, panel: t.panel };
|
|
176
176
|
}, 5(e, t) {
|
|
177
177
|
return e.panelId === t.panelId ? e : { ...e, panelId: t.panelId };
|
|
178
|
-
} },
|
|
179
|
-
|
|
178
|
+
} }, _e = ie(null);
|
|
179
|
+
_e.displayName = "PopoverContext";
|
|
180
180
|
function Te(e) {
|
|
181
|
-
let t =
|
|
181
|
+
let t = re(_e);
|
|
182
182
|
if (t === null) {
|
|
183
|
-
let
|
|
184
|
-
throw Error.captureStackTrace && Error.captureStackTrace(
|
|
183
|
+
let r = new Error(`<${e} /> is missing a parent <Popover /> component.`);
|
|
184
|
+
throw Error.captureStackTrace && Error.captureStackTrace(r, Te), r;
|
|
185
185
|
}
|
|
186
186
|
return t;
|
|
187
187
|
}
|
|
188
188
|
let we = ie(null);
|
|
189
189
|
we.displayName = "PopoverAPIContext";
|
|
190
|
-
function
|
|
191
|
-
let t =
|
|
190
|
+
function Ae(e) {
|
|
191
|
+
let t = re(we);
|
|
192
192
|
if (t === null) {
|
|
193
|
-
let
|
|
194
|
-
throw Error.captureStackTrace && Error.captureStackTrace(
|
|
193
|
+
let r = new Error(`<${e} /> is missing a parent <Popover /> component.`);
|
|
194
|
+
throw Error.captureStackTrace && Error.captureStackTrace(r, Ae), r;
|
|
195
195
|
}
|
|
196
196
|
return t;
|
|
197
197
|
}
|
|
198
|
-
let
|
|
199
|
-
|
|
198
|
+
let Ce = ie(null);
|
|
199
|
+
Ce.displayName = "PopoverGroupContext";
|
|
200
200
|
function ze() {
|
|
201
|
-
return
|
|
201
|
+
return re(Ce);
|
|
202
202
|
}
|
|
203
203
|
let Ie = ie(null);
|
|
204
204
|
Ie.displayName = "PopoverPanelContext";
|
|
205
|
-
function
|
|
206
|
-
return
|
|
205
|
+
function Xt() {
|
|
206
|
+
return re(Ie);
|
|
207
207
|
}
|
|
208
208
|
function Zt(e, t) {
|
|
209
|
-
return V(t.type,
|
|
209
|
+
return V(t.type, Wt, e, t);
|
|
210
210
|
}
|
|
211
211
|
let qt = "div";
|
|
212
212
|
function Jt(e, t) {
|
|
213
|
-
var
|
|
214
|
-
let { __demoMode:
|
|
215
|
-
|
|
216
|
-
})),
|
|
217
|
-
if (!n ||
|
|
218
|
-
for (let
|
|
219
|
-
let
|
|
220
|
-
return
|
|
221
|
-
}, [n,
|
|
222
|
-
var
|
|
223
|
-
return (
|
|
213
|
+
var r;
|
|
214
|
+
let { __demoMode: c = !1, ...p } = e, P = A(null), m = ne(t, ct((y) => {
|
|
215
|
+
P.current = y;
|
|
216
|
+
})), l = A([]), o = rt(Zt, { __demoMode: c, popoverState: c ? 0 : 1, buttons: l, button: null, buttonId: null, panel: null, panelId: null, beforePanelSentinel: Fe(), afterPanelSentinel: Fe(), afterButtonSentinel: Fe() }), [{ popoverState: h, button: n, buttonId: f, panel: $, panelId: d, beforePanelSentinel: a, afterPanelSentinel: s, afterButtonSentinel: u }, v] = o, g = ye((r = P.current) != null ? r : n), S = q(() => {
|
|
217
|
+
if (!n || !$) return !1;
|
|
218
|
+
for (let K of document.querySelectorAll("body > *")) if (Number(K == null ? void 0 : K.contains(n)) ^ Number(K == null ? void 0 : K.contains($))) return !0;
|
|
219
|
+
let y = Re(), i = y.indexOf(n), b = (i + y.length - 1) % y.length, w = (i + 1) % y.length, I = y[b], F = y[w];
|
|
220
|
+
return !$.contains(I) && !$.contains(F);
|
|
221
|
+
}, [n, $]), B = ke(f), D = ke(d), C = q(() => ({ buttonId: B, panelId: D, close: () => v({ type: 1 }) }), [B, D, v]), k = ze(), N = k == null ? void 0 : k.registerPopover, Z = T(() => {
|
|
222
|
+
var y;
|
|
223
|
+
return (y = k == null ? void 0 : k.isFocusWithinPopoverGroup()) != null ? y : (g == null ? void 0 : g.activeElement) && ((n == null ? void 0 : n.contains(g.activeElement)) || ($ == null ? void 0 : $.contains(g.activeElement)));
|
|
224
224
|
});
|
|
225
|
-
|
|
226
|
-
let [M,
|
|
227
|
-
ht(g == null ? void 0 : g.defaultView, "focus", (
|
|
228
|
-
var i,
|
|
229
|
-
|
|
230
|
-
}, !0), Pt(
|
|
231
|
-
|
|
225
|
+
te(() => N == null ? void 0 : N(C), [N, C]);
|
|
226
|
+
let [M, L] = bt(), G = Xe(n), O = xt({ mainTreeNode: G, portals: M, defaultContainers: [n, $] });
|
|
227
|
+
ht(g == null ? void 0 : g.defaultView, "focus", (y) => {
|
|
228
|
+
var i, b, w, I, F, K;
|
|
229
|
+
y.target !== window && y.target instanceof HTMLElement && h === 0 && (Z() || n && $ && (O.contains(y.target) || (b = (i = a.current) == null ? void 0 : i.contains) != null && b.call(i, y.target) || (I = (w = s.current) == null ? void 0 : w.contains) != null && I.call(w, y.target) || (K = (F = u.current) == null ? void 0 : F.contains) != null && K.call(F, y.target) || v({ type: 1 })));
|
|
230
|
+
}, !0), Pt(h === 0, O.resolveContainers, (y, i) => {
|
|
231
|
+
v({ type: 1 }), Nt(i, Lt.Loose) || (y.preventDefault(), n == null || n.focus());
|
|
232
232
|
});
|
|
233
|
-
let x = T((
|
|
234
|
-
|
|
235
|
-
let i =
|
|
233
|
+
let x = T((y) => {
|
|
234
|
+
v({ type: 1 });
|
|
235
|
+
let i = y ? y instanceof HTMLElement ? y : "current" in y && y.current instanceof HTMLElement ? y.current : n : n;
|
|
236
236
|
i == null || i.focus();
|
|
237
|
-
}),
|
|
238
|
-
return E.createElement(
|
|
237
|
+
}), H = q(() => ({ close: x, isPortalled: S }), [x, S]), R = q(() => ({ open: h === 0, close: x }), [h, x]), _ = { ref: m };
|
|
238
|
+
return E.createElement(We, { node: G }, E.createElement(yt, null, E.createElement(Ie.Provider, { value: null }, E.createElement(_e.Provider, { value: o }, E.createElement(we.Provider, { value: H }, E.createElement(Mt, { value: x }, E.createElement(Ge, { value: V(h, { 0: X.Open, 1: X.Closed }) }, E.createElement(L, null, se({ ourProps: _, theirProps: p, slot: R, defaultTag: qt, name: "Popover" })))))))));
|
|
239
239
|
}
|
|
240
240
|
let Qt = "button";
|
|
241
241
|
function Vt(e, t) {
|
|
242
|
-
let
|
|
243
|
-
|
|
244
|
-
if (!
|
|
245
|
-
|
|
242
|
+
let r = be(), { id: c = `headlessui-popover-button-${r}`, disabled: p = !1, autoFocus: P = !1, ...m } = e, [l, o] = Te("Popover.Button"), { isPortalled: h } = Ae("Popover.Button"), n = A(null), f = `headlessui-focus-sentinel-${be()}`, $ = ze(), d = $ == null ? void 0 : $.closeOthers, a = Xt() !== null;
|
|
243
|
+
te(() => {
|
|
244
|
+
if (!a) return o({ type: 3, buttonId: c }), () => {
|
|
245
|
+
o({ type: 3, buttonId: null });
|
|
246
246
|
};
|
|
247
|
-
}, [
|
|
248
|
-
let [s] = J(() => Symbol()), u =
|
|
249
|
-
if (!
|
|
250
|
-
if (i)
|
|
247
|
+
}, [a, c, o]);
|
|
248
|
+
let [s] = J(() => Symbol()), u = ne(n, t, $t(), T((i) => {
|
|
249
|
+
if (!a) {
|
|
250
|
+
if (i) l.buttons.current.push(s);
|
|
251
251
|
else {
|
|
252
|
-
let
|
|
253
|
-
|
|
252
|
+
let b = l.buttons.current.indexOf(s);
|
|
253
|
+
b !== -1 && l.buttons.current.splice(b, 1);
|
|
254
254
|
}
|
|
255
|
-
|
|
255
|
+
l.buttons.current.length > 1 && console.warn("You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported."), i && o({ type: 2, button: i });
|
|
256
256
|
}
|
|
257
|
-
})),
|
|
258
|
-
var
|
|
259
|
-
if (
|
|
260
|
-
if (
|
|
257
|
+
})), v = ne(n, t), g = ye(n), S = T((i) => {
|
|
258
|
+
var b, w, I;
|
|
259
|
+
if (a) {
|
|
260
|
+
if (l.popoverState === 1) return;
|
|
261
261
|
switch (i.key) {
|
|
262
|
-
case
|
|
263
|
-
case
|
|
264
|
-
i.preventDefault(), (w = (
|
|
262
|
+
case le.Space:
|
|
263
|
+
case le.Enter:
|
|
264
|
+
i.preventDefault(), (w = (b = i.target).click) == null || w.call(b), o({ type: 1 }), (I = l.button) == null || I.focus();
|
|
265
265
|
break;
|
|
266
266
|
}
|
|
267
267
|
} else switch (i.key) {
|
|
268
|
-
case
|
|
269
|
-
case
|
|
270
|
-
i.preventDefault(), i.stopPropagation(),
|
|
268
|
+
case le.Space:
|
|
269
|
+
case le.Enter:
|
|
270
|
+
i.preventDefault(), i.stopPropagation(), l.popoverState === 1 && (d == null || d(l.buttonId)), o({ type: 0 });
|
|
271
271
|
break;
|
|
272
|
-
case
|
|
273
|
-
if (
|
|
272
|
+
case le.Escape:
|
|
273
|
+
if (l.popoverState !== 0) return d == null ? void 0 : d(l.buttonId);
|
|
274
274
|
if (!n.current || g != null && g.activeElement && !n.current.contains(g.activeElement)) return;
|
|
275
|
-
i.preventDefault(), i.stopPropagation(),
|
|
275
|
+
i.preventDefault(), i.stopPropagation(), o({ type: 1 });
|
|
276
276
|
break;
|
|
277
277
|
}
|
|
278
278
|
}), B = T((i) => {
|
|
279
|
-
|
|
280
|
-
}), A = T((i) => {
|
|
281
|
-
var f, w;
|
|
282
|
-
Ue(i.currentTarget) || v || (o ? (r({ type: 1 }), (f = a.button) == null || f.focus()) : (i.preventDefault(), i.stopPropagation(), a.popoverState === 1 && (c == null || c(a.buttonId)), r({ type: 0 }), (w = a.button) == null || w.focus()));
|
|
279
|
+
a || i.key === le.Space && i.preventDefault();
|
|
283
280
|
}), D = T((i) => {
|
|
281
|
+
var b, w;
|
|
282
|
+
Ue(i.currentTarget) || p || (a ? (o({ type: 1 }), (b = l.button) == null || b.focus()) : (i.preventDefault(), i.stopPropagation(), l.popoverState === 1 && (d == null || d(l.buttonId)), o({ type: 0 }), (w = l.button) == null || w.focus()));
|
|
283
|
+
}), C = T((i) => {
|
|
284
284
|
i.preventDefault(), i.stopPropagation();
|
|
285
|
-
}), { isFocusVisible: k, focusProps:
|
|
286
|
-
let i =
|
|
285
|
+
}), { isFocusVisible: k, focusProps: N } = dt({ autoFocus: P }), { isHovered: Z, hoverProps: M } = pt({ isDisabled: p }), { pressed: L, pressProps: G } = vt({ disabled: p }), O = l.popoverState === 0, x = q(() => ({ open: O, active: L || O, disabled: p, hover: Z, focus: k, autofocus: P }), [O, Z, k, L, p, P]), H = kt(e, l.button), R = a ? Be({ ref: v, type: H, onKeyDown: S, onClick: D, disabled: p || void 0, autoFocus: P }, N, M, G) : Be({ ref: u, id: l.buttonId, type: H, "aria-expanded": l.popoverState === 0, "aria-controls": l.panel ? l.panelId : void 0, disabled: p || void 0, autoFocus: P, onKeyDown: S, onKeyUp: B, onClick: D, onMouseDown: C }, N, M, G), _ = Ze(), y = T(() => {
|
|
286
|
+
let i = l.panel;
|
|
287
287
|
if (!i) return;
|
|
288
|
-
function
|
|
289
|
-
V(
|
|
288
|
+
function b() {
|
|
289
|
+
V(_.current, { [Q.Forwards]: () => ue(i, ee.First), [Q.Backwards]: () => ue(i, ee.Last) }) === Me.Error && ue(Re().filter((w) => w.dataset.headlessuiFocusGuard !== "true"), V(_.current, { [Q.Forwards]: ee.Next, [Q.Backwards]: ee.Previous }), { relativeTo: l.button });
|
|
290
290
|
}
|
|
291
|
-
|
|
291
|
+
b();
|
|
292
292
|
});
|
|
293
|
-
return E.createElement(E.Fragment, null, se({ ourProps:
|
|
293
|
+
return E.createElement(E.Fragment, null, se({ ourProps: R, theirProps: m, slot: x, defaultTag: Qt, name: "Popover.Button" }), O && !a && h && E.createElement(he, { id: f, ref: l.afterButtonSentinel, features: Pe.Focusable, "data-headlessui-focus-guard": !0, as: "button", type: "button", onFocus: y }));
|
|
294
294
|
}
|
|
295
295
|
let Yt = "div", zt = me.RenderStrategy | me.Static;
|
|
296
296
|
function et(e, t) {
|
|
297
|
-
let
|
|
298
|
-
if (Ue(
|
|
299
|
-
|
|
300
|
-
}), s = q(() => ({ open:
|
|
301
|
-
return se({ ourProps: u, theirProps:
|
|
297
|
+
let r = be(), { id: c = `headlessui-popover-backdrop-${r}`, transition: p = !1, ...P } = e, [{ popoverState: m }, l] = Te("Popover.Backdrop"), [o, h] = J(null), n = ne(t, h), f = $e(), [$, d] = Oe(p, o, f !== null ? (f & X.Open) === X.Open : m === 0), a = T((v) => {
|
|
298
|
+
if (Ue(v.currentTarget)) return v.preventDefault();
|
|
299
|
+
l({ type: 1 });
|
|
300
|
+
}), s = q(() => ({ open: m === 0 }), [m]), u = { ref: n, id: c, "aria-hidden": !0, onClick: a, ...xe(d) };
|
|
301
|
+
return se({ ourProps: u, theirProps: P, slot: s, defaultTag: Yt, features: zt, visible: $, name: "Popover.Backdrop" });
|
|
302
302
|
}
|
|
303
303
|
let en = "div", tn = me.RenderStrategy | me.Static;
|
|
304
304
|
function nn(e, t) {
|
|
305
|
-
let
|
|
306
|
-
|
|
307
|
-
let [
|
|
308
|
-
de(() => (
|
|
309
|
-
|
|
310
|
-
}), [
|
|
311
|
-
let M =
|
|
312
|
-
Tt(
|
|
313
|
-
|
|
305
|
+
let r = be(), { id: c = `headlessui-popover-panel-${r}`, focus: p = !1, anchor: P, portal: m = !1, modal: l = !1, transition: o = !1, ...h } = e, [n, f] = Te("Popover.Panel"), { close: $, isPortalled: d } = Ae("Popover.Panel"), a = `headlessui-focus-sentinel-before-${r}`, s = `headlessui-focus-sentinel-after-${r}`, u = A(null), v = Et(P), [g, S] = St(v), B = gt();
|
|
306
|
+
v && (m = !0);
|
|
307
|
+
let [D, C] = J(null), k = ne(u, t, v ? g : null, T((b) => f({ type: 4, panel: b })), C), N = ye(u), Z = ft();
|
|
308
|
+
de(() => (f({ type: 5, panelId: c }), () => {
|
|
309
|
+
f({ type: 5, panelId: null });
|
|
310
|
+
}), [c, f]);
|
|
311
|
+
let M = $e(), [L, G] = Oe(o, D, M !== null ? (M & X.Open) === X.Open : n.popoverState === 0);
|
|
312
|
+
Tt(L, n.button, () => {
|
|
313
|
+
f({ type: 1 });
|
|
314
314
|
});
|
|
315
|
-
let
|
|
316
|
-
wt(
|
|
317
|
-
let x = T((
|
|
315
|
+
let O = n.__demoMode ? !1 : l && L;
|
|
316
|
+
wt(O, N);
|
|
317
|
+
let x = T((b) => {
|
|
318
318
|
var w;
|
|
319
|
-
switch (
|
|
320
|
-
case
|
|
321
|
-
if (n.popoverState !== 0 || !u.current ||
|
|
322
|
-
|
|
319
|
+
switch (b.key) {
|
|
320
|
+
case le.Escape:
|
|
321
|
+
if (n.popoverState !== 0 || !u.current || N != null && N.activeElement && !u.current.contains(N.activeElement)) return;
|
|
322
|
+
b.preventDefault(), b.stopPropagation(), f({ type: 1 }), (w = n.button) == null || w.focus();
|
|
323
323
|
break;
|
|
324
324
|
}
|
|
325
325
|
});
|
|
326
|
-
|
|
327
|
-
var
|
|
328
|
-
e.static || n.popoverState === 1 && ((
|
|
329
|
-
}, [n.popoverState, e.unmount, e.static,
|
|
330
|
-
if (n.__demoMode || !
|
|
331
|
-
let
|
|
332
|
-
u.current.contains(
|
|
333
|
-
}, [n.__demoMode,
|
|
334
|
-
let
|
|
335
|
-
var w, I, F,
|
|
336
|
-
let
|
|
337
|
-
|
|
338
|
-
} : void 0, tabIndex: -1, style: { ...
|
|
339
|
-
let
|
|
340
|
-
if (!
|
|
326
|
+
te(() => {
|
|
327
|
+
var b;
|
|
328
|
+
e.static || n.popoverState === 1 && ((b = e.unmount) == null || b) && f({ type: 4, panel: null });
|
|
329
|
+
}, [n.popoverState, e.unmount, e.static, f]), te(() => {
|
|
330
|
+
if (n.__demoMode || !p || n.popoverState !== 0 || !u.current) return;
|
|
331
|
+
let b = N == null ? void 0 : N.activeElement;
|
|
332
|
+
u.current.contains(b) || ue(u.current, ee.First);
|
|
333
|
+
}, [n.__demoMode, p, u.current, n.popoverState]);
|
|
334
|
+
let H = q(() => ({ open: n.popoverState === 0, close: $ }), [n.popoverState, $]), R = Be(v ? B() : {}, { ref: k, id: c, onKeyDown: x, onBlur: p && n.popoverState === 0 ? (b) => {
|
|
335
|
+
var w, I, F, K, j;
|
|
336
|
+
let W = b.relatedTarget;
|
|
337
|
+
W && u.current && ((w = u.current) != null && w.contains(W) || (f({ type: 1 }), ((F = (I = n.beforePanelSentinel.current) == null ? void 0 : I.contains) != null && F.call(I, W) || (j = (K = n.afterPanelSentinel.current) == null ? void 0 : K.contains) != null && j.call(K, W)) && W.focus({ preventScroll: !0 })));
|
|
338
|
+
} : void 0, tabIndex: -1, style: { ...h.style, ...S, "--button-width": It(n.button, !0).width }, ...xe(G) }), _ = Ze(), y = T(() => {
|
|
339
|
+
let b = u.current;
|
|
340
|
+
if (!b) return;
|
|
341
341
|
function w() {
|
|
342
|
-
V(
|
|
342
|
+
V(_.current, { [Q.Forwards]: () => {
|
|
343
343
|
var I;
|
|
344
|
-
|
|
344
|
+
ue(b, ee.First) === Me.Error && ((I = n.afterPanelSentinel.current) == null || I.focus());
|
|
345
345
|
}, [Q.Backwards]: () => {
|
|
346
346
|
var I;
|
|
347
347
|
(I = n.button) == null || I.focus({ preventScroll: !0 });
|
|
@@ -349,206 +349,235 @@ function nn(e, t) {
|
|
|
349
349
|
}
|
|
350
350
|
w();
|
|
351
351
|
}), i = T(() => {
|
|
352
|
-
let
|
|
353
|
-
if (!
|
|
352
|
+
let b = u.current;
|
|
353
|
+
if (!b) return;
|
|
354
354
|
function w() {
|
|
355
|
-
V(
|
|
355
|
+
V(_.current, { [Q.Forwards]: () => {
|
|
356
356
|
if (!n.button) return;
|
|
357
|
-
let I =
|
|
358
|
-
for (let
|
|
359
|
-
let
|
|
360
|
-
|
|
357
|
+
let I = Re(), F = I.indexOf(n.button), K = I.slice(0, F + 1), j = [...I.slice(F + 1), ...K];
|
|
358
|
+
for (let W of j.slice()) if (W.dataset.headlessuiFocusGuard === "true" || D != null && D.contains(W)) {
|
|
359
|
+
let oe = j.indexOf(W);
|
|
360
|
+
oe !== -1 && j.splice(oe, 1);
|
|
361
361
|
}
|
|
362
|
-
|
|
362
|
+
ue(j, ee.First, { sorted: !1 });
|
|
363
363
|
}, [Q.Backwards]: () => {
|
|
364
364
|
var I;
|
|
365
|
-
|
|
365
|
+
ue(b, ee.Previous) === Me.Error && ((I = n.button) == null || I.focus());
|
|
366
366
|
} });
|
|
367
367
|
}
|
|
368
368
|
w();
|
|
369
369
|
});
|
|
370
|
-
return E.createElement(Bt, null, E.createElement(Ie.Provider, { value:
|
|
370
|
+
return E.createElement(Bt, null, E.createElement(Ie.Provider, { value: c }, E.createElement(we.Provider, { value: { close: $, isPortalled: d } }, E.createElement(Ft, { enabled: m ? e.static || L : !1 }, L && d && E.createElement(he, { id: a, ref: n.beforePanelSentinel, features: Pe.Focusable, "data-headlessui-focus-guard": !0, as: "button", type: "button", onFocus: y }), se({ mergeRefs: Z, ourProps: R, theirProps: h, slot: H, defaultTag: en, features: tn, visible: L, name: "Popover.Panel" }), L && d && E.createElement(he, { id: s, ref: n.afterPanelSentinel, features: Pe.Focusable, "data-headlessui-focus-guard": !0, as: "button", type: "button", onFocus: i })))));
|
|
371
371
|
}
|
|
372
372
|
let rn = "div";
|
|
373
373
|
function on(e, t) {
|
|
374
|
-
let
|
|
375
|
-
|
|
376
|
-
let u = s.indexOf(
|
|
374
|
+
let r = A(null), c = ne(r, t), [p, P] = J([]), m = T((a) => {
|
|
375
|
+
P((s) => {
|
|
376
|
+
let u = s.indexOf(a);
|
|
377
377
|
if (u !== -1) {
|
|
378
|
-
let
|
|
379
|
-
return
|
|
378
|
+
let v = s.slice();
|
|
379
|
+
return v.splice(u, 1), v;
|
|
380
380
|
}
|
|
381
381
|
return s;
|
|
382
382
|
});
|
|
383
|
-
}),
|
|
384
|
-
var
|
|
385
|
-
let s = He(
|
|
383
|
+
}), l = T((a) => (P((s) => [...s, a]), () => m(a))), o = T(() => {
|
|
384
|
+
var a;
|
|
385
|
+
let s = He(r);
|
|
386
386
|
if (!s) return !1;
|
|
387
387
|
let u = s.activeElement;
|
|
388
|
-
return (
|
|
388
|
+
return (a = r.current) != null && a.contains(u) ? !0 : p.some((v) => {
|
|
389
389
|
var g, S;
|
|
390
|
-
return ((g = s.getElementById(
|
|
390
|
+
return ((g = s.getElementById(v.buttonId.current)) == null ? void 0 : g.contains(u)) || ((S = s.getElementById(v.panelId.current)) == null ? void 0 : S.contains(u));
|
|
391
391
|
});
|
|
392
|
-
}),
|
|
393
|
-
for (let s of
|
|
394
|
-
}), n = q(() => ({ registerPopover:
|
|
395
|
-
return E.createElement(
|
|
392
|
+
}), h = T((a) => {
|
|
393
|
+
for (let s of p) s.buttonId.current !== a && s.close();
|
|
394
|
+
}), n = q(() => ({ registerPopover: l, unregisterPopover: m, isFocusWithinPopoverGroup: o, closeOthers: h }), [l, m, o, h]), f = q(() => ({}), []), $ = e, d = { ref: c };
|
|
395
|
+
return E.createElement(We, null, E.createElement(Ce.Provider, { value: n }, se({ ourProps: d, theirProps: $, slot: f, defaultTag: rn, name: "Popover.Group" })));
|
|
396
396
|
}
|
|
397
|
-
let ln = Y(Jt),
|
|
398
|
-
const
|
|
397
|
+
let ln = Y(Jt), Le = Y(Vt), an = Y(et), un = Y(et), tt = Y(nn), sn = Y(on), cn = Object.assign(ln, { Button: Le, Backdrop: un, Overlay: an, Panel: tt, Group: sn });
|
|
398
|
+
const Fn = 300, kn = ot(
|
|
399
399
|
({
|
|
400
400
|
children: e,
|
|
401
401
|
position: t = "bottom end",
|
|
402
|
-
popoverProps:
|
|
403
|
-
className:
|
|
404
|
-
buttonClassName:
|
|
405
|
-
panelClassName:
|
|
406
|
-
menuItemsClassName:
|
|
407
|
-
buttonContent:
|
|
408
|
-
needCloseButton:
|
|
409
|
-
openOnHover:
|
|
402
|
+
popoverProps: r,
|
|
403
|
+
className: c,
|
|
404
|
+
buttonClassName: p,
|
|
405
|
+
panelClassName: P,
|
|
406
|
+
menuItemsClassName: m,
|
|
407
|
+
buttonContent: l,
|
|
408
|
+
needCloseButton: o,
|
|
409
|
+
openOnHover: h = !1,
|
|
410
410
|
isOpen: n,
|
|
411
|
-
isControlled:
|
|
412
|
-
onOpenChange:
|
|
413
|
-
autoCloseTimeout:
|
|
414
|
-
triggerElement:
|
|
411
|
+
isControlled: f = !1,
|
|
412
|
+
onOpenChange: $,
|
|
413
|
+
autoCloseTimeout: d = 0,
|
|
414
|
+
triggerElement: a,
|
|
415
415
|
variant: s = "default",
|
|
416
416
|
arrow: u = !1
|
|
417
417
|
}) => {
|
|
418
|
-
const [
|
|
418
|
+
const [v, g] = J(
|
|
419
419
|
n ?? !1
|
|
420
|
-
), [S, B] = J(!1),
|
|
421
|
-
buttonRef:
|
|
420
|
+
), [S, B] = J(!1), D = A(null), C = A(null), k = A(null), { getArrowClasses: N, getPositionClass: Z } = lt({
|
|
421
|
+
buttonRef: C,
|
|
422
422
|
panelRef: k,
|
|
423
423
|
initialPosition: t,
|
|
424
|
-
isOpen:
|
|
424
|
+
isOpen: v || n,
|
|
425
425
|
arrow: u,
|
|
426
426
|
variant: s
|
|
427
427
|
}), M = ce(() => {
|
|
428
|
-
|
|
429
|
-
}, []),
|
|
430
|
-
|
|
428
|
+
D.current && clearTimeout(D.current);
|
|
429
|
+
}, []), L = ce(() => {
|
|
430
|
+
d > 0 && !S && (D.current = setTimeout(() => {
|
|
431
431
|
g(!1), B(!0);
|
|
432
|
-
},
|
|
433
|
-
}, [
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
y && g(!0);
|
|
441
|
-
}, [y]), R = ce(
|
|
442
|
-
(O) => {
|
|
443
|
-
if (y) {
|
|
444
|
-
const L = O.relatedTarget;
|
|
445
|
-
D.current && !D.current.contains(L) && k.current && !k.current.contains(L) && g(!1);
|
|
432
|
+
}, d));
|
|
433
|
+
}, [d, S]), G = ce(() => {
|
|
434
|
+
h && g(!0);
|
|
435
|
+
}, [h]), O = ce(
|
|
436
|
+
(R) => {
|
|
437
|
+
if (h) {
|
|
438
|
+
const _ = R.relatedTarget;
|
|
439
|
+
C.current && !C.current.contains(_) && k.current && !k.current.contains(_) && g(!1);
|
|
446
440
|
}
|
|
447
441
|
},
|
|
448
|
-
[
|
|
442
|
+
[h]
|
|
449
443
|
), x = ce(
|
|
450
|
-
(
|
|
451
|
-
|
|
444
|
+
(R) => {
|
|
445
|
+
f || g(R), $ == null || $(R);
|
|
452
446
|
},
|
|
453
|
-
[
|
|
454
|
-
),
|
|
455
|
-
(
|
|
456
|
-
|
|
447
|
+
[f, $]
|
|
448
|
+
), H = ce(
|
|
449
|
+
(R) => {
|
|
450
|
+
R == null || R(), x(!1);
|
|
457
451
|
},
|
|
458
452
|
[x]
|
|
459
453
|
);
|
|
460
|
-
return
|
|
454
|
+
return te(() => (v ? L() : M(), () => {
|
|
455
|
+
M();
|
|
456
|
+
}), [v, L, M]), te(() => {
|
|
457
|
+
f && g(n);
|
|
458
|
+
}, [n, f]), /* @__PURE__ */ z(
|
|
461
459
|
cn,
|
|
462
460
|
{
|
|
463
461
|
as: "div",
|
|
464
|
-
className: fe(U.menu,
|
|
465
|
-
...
|
|
466
|
-
children: ({ open:
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
close: () => K(L)
|
|
478
|
-
}) : o
|
|
479
|
-
}
|
|
480
|
-
) : /* @__PURE__ */ re(
|
|
481
|
-
Ne,
|
|
482
|
-
{
|
|
483
|
-
ref: D,
|
|
484
|
-
onMouseEnter: G,
|
|
485
|
-
onMouseLeave: R,
|
|
486
|
-
onClick: m ? () => x(!p) : void 0,
|
|
487
|
-
className: fe(U["menu-button"], v),
|
|
488
|
-
children: a
|
|
489
|
-
}
|
|
490
|
-
),
|
|
491
|
-
/* @__PURE__ */ re(
|
|
492
|
-
Kt,
|
|
493
|
-
{
|
|
494
|
-
show: m ? p : O || p,
|
|
495
|
-
as: ve,
|
|
496
|
-
enter: U.enter,
|
|
497
|
-
enterFrom: U["enter-from"],
|
|
498
|
-
enterTo: U["enter-to"],
|
|
499
|
-
leave: U.leave,
|
|
500
|
-
leaveFrom: U["leave-from"],
|
|
501
|
-
leaveTo: U["leave-to"],
|
|
502
|
-
children: /* @__PURE__ */ De(
|
|
503
|
-
tt,
|
|
462
|
+
className: fe(U.menu, c),
|
|
463
|
+
...r,
|
|
464
|
+
children: ({ open: R, close: _ }) => /* @__PURE__ */ De(
|
|
465
|
+
dn,
|
|
466
|
+
{
|
|
467
|
+
isOpen: v,
|
|
468
|
+
isControlled: f,
|
|
469
|
+
onClose: () => H(_),
|
|
470
|
+
buttonRef: C,
|
|
471
|
+
panelRef: k,
|
|
472
|
+
children: [
|
|
473
|
+
a ? /* @__PURE__ */ z(
|
|
474
|
+
Le,
|
|
504
475
|
{
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
static: m,
|
|
476
|
+
as: "div",
|
|
477
|
+
ref: C,
|
|
508
478
|
onMouseEnter: G,
|
|
509
|
-
onMouseLeave:
|
|
510
|
-
className: fe(
|
|
511
|
-
|
|
512
|
-
|
|
479
|
+
onMouseLeave: O,
|
|
480
|
+
className: fe(U["menu-button"], p),
|
|
481
|
+
children: typeof a == "function" ? a({
|
|
482
|
+
open: v,
|
|
483
|
+
close: () => H(_)
|
|
484
|
+
}) : a
|
|
485
|
+
}
|
|
486
|
+
) : /* @__PURE__ */ z(
|
|
487
|
+
Le,
|
|
488
|
+
{
|
|
489
|
+
ref: C,
|
|
490
|
+
onMouseEnter: G,
|
|
491
|
+
onMouseLeave: O,
|
|
492
|
+
onClick: f ? () => x(!v) : void 0,
|
|
493
|
+
className: fe(U["menu-button"], p),
|
|
494
|
+
children: l
|
|
495
|
+
}
|
|
496
|
+
),
|
|
497
|
+
/* @__PURE__ */ z(
|
|
498
|
+
Gt,
|
|
499
|
+
{
|
|
500
|
+
show: f ? v : R || v,
|
|
501
|
+
as: ve,
|
|
502
|
+
enter: U.enter,
|
|
503
|
+
enterFrom: U["enter-from"],
|
|
504
|
+
enterTo: U["enter-to"],
|
|
505
|
+
leave: U.leave,
|
|
506
|
+
leaveFrom: U["leave-from"],
|
|
507
|
+
leaveTo: U["leave-to"],
|
|
508
|
+
children: /* @__PURE__ */ De(
|
|
509
|
+
tt,
|
|
513
510
|
{
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
511
|
+
ref: k,
|
|
512
|
+
anchor: t,
|
|
513
|
+
static: f,
|
|
514
|
+
onMouseEnter: G,
|
|
515
|
+
onMouseLeave: O,
|
|
516
|
+
className: fe(
|
|
517
|
+
U["menu-items"],
|
|
518
|
+
Z(),
|
|
519
|
+
{
|
|
520
|
+
[U["menu-items--black"]]: s === "black",
|
|
521
|
+
[U["menu-items-with-arrow"]]: u
|
|
522
|
+
},
|
|
523
|
+
P
|
|
524
|
+
),
|
|
525
|
+
children: [
|
|
526
|
+
u && /* @__PURE__ */ z("div", { className: N() }),
|
|
527
|
+
o && /* @__PURE__ */ z(
|
|
528
|
+
at,
|
|
529
|
+
{
|
|
530
|
+
isIconButton: !0,
|
|
531
|
+
iconName: "Close16px",
|
|
532
|
+
onClick: () => H(_),
|
|
533
|
+
clear: !0,
|
|
534
|
+
className: U["close-button"]
|
|
535
|
+
}
|
|
537
536
|
),
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
537
|
+
/* @__PURE__ */ z(
|
|
538
|
+
"div",
|
|
539
|
+
{
|
|
540
|
+
className: fe(
|
|
541
|
+
U["menu-items-container"],
|
|
542
|
+
m
|
|
543
|
+
),
|
|
544
|
+
children: typeof e == "function" ? e({ close: () => H(_) }) : e
|
|
545
|
+
}
|
|
546
|
+
)
|
|
547
|
+
]
|
|
548
|
+
}
|
|
549
|
+
)
|
|
542
550
|
}
|
|
543
551
|
)
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
552
|
+
]
|
|
553
|
+
}
|
|
554
|
+
)
|
|
547
555
|
}
|
|
548
556
|
);
|
|
549
557
|
}
|
|
550
558
|
);
|
|
559
|
+
function dn({
|
|
560
|
+
isControlled: e,
|
|
561
|
+
isOpen: t,
|
|
562
|
+
onClose: r,
|
|
563
|
+
buttonRef: c,
|
|
564
|
+
panelRef: p,
|
|
565
|
+
children: P
|
|
566
|
+
}) {
|
|
567
|
+
return te(() => {
|
|
568
|
+
if (!t || !e) return;
|
|
569
|
+
const m = (o) => {
|
|
570
|
+
o.key === "Escape" && (r == null || r());
|
|
571
|
+
}, l = (o) => {
|
|
572
|
+
const h = o.target, n = c.current && !c.current.contains(h), f = p.current && !p.current.contains(h);
|
|
573
|
+
n && f && (r == null || r());
|
|
574
|
+
};
|
|
575
|
+
return document.addEventListener("keydown", m), document.addEventListener("mousedown", l), () => {
|
|
576
|
+
document.removeEventListener("keydown", m), document.removeEventListener("mousedown", l);
|
|
577
|
+
};
|
|
578
|
+
}, [e, e, t, r]), /* @__PURE__ */ z(nt, { children: P });
|
|
579
|
+
}
|
|
551
580
|
export {
|
|
552
|
-
|
|
553
|
-
|
|
581
|
+
Fn as ANIMATION_DELAY,
|
|
582
|
+
kn as Dropdown
|
|
554
583
|
};
|