@yselimcan/ui 0.0.6 → 0.0.7
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/index100.js +4 -32
- package/dist/index101.js +67 -19
- package/dist/index102.js +8 -5
- package/dist/index103.js +14 -4
- package/dist/index104.js +4 -5
- package/dist/index105.js +3 -11
- package/dist/index106.js +5 -18
- package/dist/index107.js +30 -13
- package/dist/index108.js +11 -296
- package/dist/index109.js +66 -4
- package/dist/index110.js +52 -37
- package/dist/index111.js +10 -123
- package/dist/index112.js +5 -4
- package/dist/index113.js +12 -20
- package/dist/index114.js +12 -76
- package/dist/index115.js +29 -61
- package/dist/index116.js +19 -46
- package/dist/index117.js +38 -64
- package/dist/index118.js +18 -8
- package/dist/index119.js +11 -13
- package/dist/index120.js +38 -4
- package/dist/index121.js +14 -4
- package/dist/index122.js +8 -5
- package/dist/index123.js +13 -134
- package/dist/index124.js +5 -27
- package/dist/index125.js +87 -8
- package/dist/index126.js +296 -4
- package/dist/index127.js +11 -12
- package/dist/index128.js +121 -18
- package/dist/index129.js +5 -14
- package/dist/index130.js +263 -5
- package/dist/index131.js +77 -27
- package/dist/index132.js +38 -17
- package/dist/index133.js +21 -22
- package/dist/index134.js +11 -58
- package/dist/index135.js +55 -16
- package/dist/index136.js +11 -27
- package/dist/index137.js +11 -40
- package/dist/index138.js +31 -43
- package/dist/index139.js +16 -19
- package/dist/index140.js +65 -47
- package/dist/index141.js +97 -44
- package/dist/index142.js +8 -17
- package/dist/index143.js +8 -11
- package/dist/index144.js +2 -2
- package/dist/index145.js +102 -34
- package/dist/index146.js +7 -230
- package/dist/index147.js +31 -282
- package/dist/index148.js +230 -53
- package/dist/index149.js +74 -15
- package/dist/index150.js +275 -71
- package/dist/index151.js +53 -3
- package/dist/index152.js +43 -28
- package/dist/index153.js +77 -24
- package/dist/index154.js +3 -15
- package/dist/index155.js +12 -67
- package/dist/index156.js +16 -4
- package/dist/index157.js +27 -103
- package/dist/index158.js +7 -79
- package/dist/index159.js +19 -260
- package/dist/index160.js +25 -12
- package/dist/index161.js +159 -9
- package/dist/index162.js +111 -38
- package/dist/index163.js +64 -4
- package/dist/index164.js +75 -66
- package/dist/index165.js +65 -10
- package/dist/index166.js +69 -8
- package/dist/index167.js +14 -6
- package/dist/index168.js +6 -52
- package/dist/index169.js +4 -10
- package/dist/index17.js +4 -4
- package/dist/index170.js +16 -116
- package/dist/index171.js +20 -10
- package/dist/index172.js +58 -11
- package/dist/index173.js +16 -65
- package/dist/index174.js +26 -11
- package/dist/index175.js +42 -12
- package/dist/index176.js +20 -11
- package/dist/index177.js +48 -11
- package/dist/index178.js +47 -83
- package/dist/index179.js +17 -11
- package/dist/index18.js +4 -4
- package/dist/index180.js +11 -11
- package/dist/index181.js +34 -55
- package/dist/index182.js +15 -11
- package/dist/index183.js +79 -11
- package/dist/index184.js +23 -18
- package/dist/index185.js +4 -9
- package/dist/index186.js +10 -7
- package/dist/index187.js +10 -103
- package/dist/index188.js +40 -7
- package/dist/index189.js +4 -32
- package/dist/index19.js +9 -9
- package/dist/index190.js +10 -75
- package/dist/index191.js +11 -14
- package/dist/index192.js +114 -25
- package/dist/index193.js +11 -7
- package/dist/index194.js +85 -20
- package/dist/index195.js +12 -24
- package/dist/index196.js +59 -157
- package/dist/index197.js +4 -114
- package/dist/index198.js +5 -76
- package/dist/index199.js +11 -64
- package/dist/index20.js +2 -2
- package/dist/index200.js +5 -47
- package/dist/index201.js +21 -199
- package/dist/index202.js +4 -48
- package/dist/index203.js +27 -20
- package/dist/index204.js +127 -26
- package/dist/index205.js +45 -6
- package/dist/index206.js +18 -10
- package/dist/index207.js +5 -12
- package/dist/index208.js +179 -15
- package/dist/index209.js +75 -6
- package/dist/index21.js +3 -3
- package/dist/index210.js +399 -4
- package/dist/index211.js +199 -21
- package/dist/index212.js +46 -126
- package/dist/index213.js +18 -43
- package/dist/index214.js +47 -17
- package/dist/index215.js +7 -5
- package/dist/index216.js +5 -181
- package/dist/index217.js +15 -74
- package/dist/index218.js +12 -396
- package/dist/index219.js +33 -4
- package/dist/index22.js +5 -5
- package/dist/index220.js +4 -5
- package/dist/index221.js +11 -14
- package/dist/index222.js +7 -30
- package/dist/index223.js +1 -1
- package/dist/index224.js +2 -2
- package/dist/index225.js +1 -1
- package/dist/index227.js +1 -1
- package/dist/index228.js +1 -1
- package/dist/index229.js +1 -1
- package/dist/index23.js +2 -2
- package/dist/index231.js +1 -1
- package/dist/index233.js +1 -1
- package/dist/index234.js +28 -28
- package/dist/index235.js +1 -1
- package/dist/index236.js +4 -209
- package/dist/index237.js +209 -4
- package/dist/index238.js +3 -13
- package/dist/index239.js +13 -47
- package/dist/index24.js +9 -9
- package/dist/index240.js +47 -3
- package/dist/index242.js +3 -3
- package/dist/index243.js +2 -2
- package/dist/index246.js +2 -2
- package/dist/index247.js +1 -1
- package/dist/index251.js +1 -1
- package/dist/index253.js +1 -1
- package/dist/index256.js +1 -1
- package/dist/index257.js +1 -1
- package/dist/index260.js +1 -1
- package/dist/index261.js +1 -1
- package/dist/index262.js +2 -2
- package/dist/index264.js +2 -2
- package/dist/index27.js +1 -1
- package/dist/index28.js +1 -1
- package/dist/index33.js +11 -11
- package/dist/index34.js +2 -2
- package/dist/index35.js +9 -9
- package/dist/index36.js +7 -7
- package/dist/index37.js +3 -3
- package/dist/index38.js +5 -5
- package/dist/index39.js +3 -3
- package/dist/index41.js +2 -2
- package/dist/index45.js +2 -2
- package/dist/index46.js +4 -4
- package/dist/index47.js +5 -5
- package/dist/index48.js +15 -15
- package/dist/index49.js +2 -2
- package/dist/index50.js +9 -9
- package/dist/index52.js +24 -24
- package/dist/index53.js +3 -3
- package/dist/index54.js +31 -31
- package/dist/index55.js +13 -13
- package/dist/index56.js +12 -12
- package/dist/index57.js +1 -1
- package/dist/index58.js +3 -3
- package/dist/index59.js +5 -5
- package/dist/index60.js +11 -11
- package/dist/index61.js +4 -4
- package/dist/index62.js +3 -3
- package/dist/index63.js +11 -11
- package/dist/index64.js +4 -4
- package/dist/index65.js +3 -3
- package/dist/index66.js +13 -13
- package/dist/index67.js +1 -1
- package/dist/index69.js +31 -31
- package/dist/index70.js +5 -5
- package/dist/index71.js +17 -17
- package/dist/index72.js +23 -23
- package/dist/index73.js +7 -7
- package/dist/index74.js +1 -1
- package/dist/index75.js +13 -13
- package/dist/index76.js +2 -2
- package/dist/index77.js +4 -4
- package/dist/index78.js +3 -3
- package/dist/index79.js +1 -1
- package/dist/index80.js +1 -1
- package/dist/index81.js +17 -17
- package/dist/index82.js +4 -4
- package/dist/index83.js +4 -4
- package/dist/index86.js +89 -11
- package/dist/index87.js +8 -8
- package/dist/index88.js +12 -96
- package/dist/index89.js +87 -81
- package/dist/index94.js +133 -7
- package/dist/index95.js +26 -86
- package/dist/index96.js +8 -12
- package/dist/index97.js +5 -63
- package/dist/index98.js +13 -38
- package/dist/index99.js +23 -14
- package/package.json +5 -2
package/dist/index126.js
CHANGED
|
@@ -1,7 +1,299 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import * as b from "react";
|
|
3
|
+
import { tabbable as we, isTabbable as De, focusable as Ke } from "./index237.js";
|
|
4
|
+
import { isHTMLElement as q, getNodeName as He, getWindow as _e, getComputedStyle as Ue } from "./index94.js";
|
|
5
|
+
import { useMergedRefs as Re } from "./index101.js";
|
|
6
|
+
import { useValueAsRef as H } from "./index170.js";
|
|
7
|
+
import { useStableCallback as _ } from "./index95.js";
|
|
8
|
+
import { useIsoLayoutEffect as U } from "./index97.js";
|
|
9
|
+
import { visuallyHidden as We } from "./index167.js";
|
|
10
|
+
import { useTimeout as ye } from "./index138.js";
|
|
11
|
+
import { useAnimationFrame as $e } from "./index140.js";
|
|
12
|
+
import { FocusGuard as Te } from "./index160.js";
|
|
13
|
+
import { createChangeEventDetails as ze } from "./index115.js";
|
|
14
|
+
import { createAttribute as Fe } from "./index238.js";
|
|
15
|
+
import { enqueueFocus as te } from "./index239.js";
|
|
16
|
+
import { markOthers as Je } from "./index240.js";
|
|
17
|
+
import { usePortalContext as Qe } from "./index128.js";
|
|
18
|
+
import { useFloatingTree as Xe } from "./index135.js";
|
|
19
|
+
import { CLICK_TRIGGER_IDENTIFIER as Ye } from "./index133.js";
|
|
20
|
+
import { resolveRef as D } from "./index236.js";
|
|
21
|
+
import { jsxs as Ze, jsx as xe } from "react/jsx-runtime";
|
|
22
|
+
import { isTypeableCombobox as he, getFloatingFocusElement as Ie, getDocument as I, activeElement as V, contains as m, getTarget as W } from "./index166.js";
|
|
23
|
+
import { getTabbableOptions as re, isOutsideEvent as Le, getNextTabbable as et, getPreviousTabbable as tt } from "./index165.js";
|
|
24
|
+
import { getNodeAncestors as ke, getNodeChildren as Ce } from "./index241.js";
|
|
25
|
+
import { isVirtualClick as nt, isVirtualPointerEvent as rt, stopEvent as ot } from "./index225.js";
|
|
26
|
+
import { triggerHover as st, outsidePress as ut, focusOut as it } from "./index116.js";
|
|
27
|
+
function ct(n, p) {
|
|
28
|
+
const h = _e(n.target);
|
|
29
|
+
return n instanceof h.KeyboardEvent ? "keyboard" : n instanceof h.FocusEvent ? p || "keyboard" : "pointerType" in n ? n.pointerType || "keyboard" : "touches" in n ? "touch" : n instanceof h.MouseEvent ? p || (n.detail === 0 ? "keyboard" : "mouse") : "";
|
|
30
|
+
}
|
|
31
|
+
const Ae = 20;
|
|
32
|
+
let L = [];
|
|
33
|
+
function oe() {
|
|
34
|
+
L = L.filter((n) => n.isConnected);
|
|
35
|
+
}
|
|
36
|
+
function at(n) {
|
|
37
|
+
oe(), n && He(n) !== "body" && (L.push(n), L.length > Ae && (L = L.slice(-Ae)));
|
|
38
|
+
}
|
|
39
|
+
function ne() {
|
|
40
|
+
return oe(), L[L.length - 1];
|
|
41
|
+
}
|
|
42
|
+
function ft(n) {
|
|
43
|
+
if (!n)
|
|
44
|
+
return null;
|
|
45
|
+
const p = re();
|
|
46
|
+
return De(n, p) ? n : we(n, p)[0] || n;
|
|
47
|
+
}
|
|
48
|
+
function lt(n) {
|
|
49
|
+
return !n || !n.isConnected ? !1 : typeof n.checkVisibility == "function" ? n.checkVisibility() : Ue(n).display !== "none";
|
|
50
|
+
}
|
|
51
|
+
function Oe(n, p) {
|
|
52
|
+
if (!p.current.includes("floating") && !n.getAttribute("role")?.includes("dialog"))
|
|
53
|
+
return;
|
|
54
|
+
const h = re(), $ = Ke(n, h).filter((S) => {
|
|
55
|
+
const P = S.getAttribute("data-tabindex") || "";
|
|
56
|
+
return De(S, h) || S.hasAttribute("data-tabindex") && !P.startsWith("-");
|
|
57
|
+
}), N = n.getAttribute("tabindex");
|
|
58
|
+
p.current.includes("floating") || $.length === 0 ? N !== "0" && n.setAttribute("tabindex", "0") : (N !== "-1" || n.hasAttribute("data-tabindex") && n.getAttribute("data-tabindex") !== "-1") && (n.setAttribute("tabindex", "-1"), n.setAttribute("data-tabindex", "-1"));
|
|
59
|
+
}
|
|
60
|
+
function Mt(n) {
|
|
61
|
+
const {
|
|
62
|
+
context: p,
|
|
63
|
+
children: h,
|
|
64
|
+
disabled: i = !1,
|
|
65
|
+
order: $ = ["content"],
|
|
66
|
+
initialFocus: N = !0,
|
|
67
|
+
returnFocus: S = !0,
|
|
68
|
+
restoreFocus: P = !1,
|
|
69
|
+
modal: E = !0,
|
|
70
|
+
closeOnFocusOut: M = !0,
|
|
71
|
+
openInteractionType: Ne = "",
|
|
72
|
+
getInsideElements: Se = () => [],
|
|
73
|
+
nextFocusableElement: z,
|
|
74
|
+
previousFocusableElement: J,
|
|
75
|
+
beforeContentFocusGuardRef: Pe,
|
|
76
|
+
externalTree: Me
|
|
77
|
+
} = n, F = "rootStore" in p ? p.rootStore : p, v = F.useState("open"), a = F.useState("domReferenceElement"), f = F.useState("floatingElement"), {
|
|
78
|
+
events: Q,
|
|
79
|
+
dataRef: k
|
|
80
|
+
} = F.context, O = _(() => k.current.floatingContext?.nodeId), se = _(Se), ue = N === !1, x = he(a) && ue, C = H($), ie = H(N), j = H(S), ce = H(Ne), R = Xe(Me), c = Qe(), Ge = b.useRef(null), qe = b.useRef(null), y = b.useRef(!1), B = b.useRef(!1), X = b.useRef(!1), ae = b.useRef(-1), fe = b.useRef(""), Y = b.useRef(""), le = ye(), de = ye(), be = $e(), Z = c != null, r = Ie(f), A = _((t = r) => t ? we(t, re()) : []), G = _((t) => {
|
|
81
|
+
const o = A(t);
|
|
82
|
+
return C.current.map(() => o).filter(Boolean).flat();
|
|
83
|
+
});
|
|
84
|
+
b.useEffect(() => {
|
|
85
|
+
if (i || !E)
|
|
86
|
+
return;
|
|
87
|
+
function t(l) {
|
|
88
|
+
l.key === "Tab" && m(r, V(I(r))) && A().length === 0 && !x && ot(l);
|
|
89
|
+
}
|
|
90
|
+
const o = I(r);
|
|
91
|
+
return o.addEventListener("keydown", t), () => {
|
|
92
|
+
o.removeEventListener("keydown", t);
|
|
93
|
+
};
|
|
94
|
+
}, [i, a, r, E, C, x, A, G]), b.useEffect(() => {
|
|
95
|
+
if (i || !f)
|
|
96
|
+
return;
|
|
97
|
+
function t(o) {
|
|
98
|
+
const l = W(o), d = A().indexOf(l);
|
|
99
|
+
d !== -1 && (ae.current = d);
|
|
100
|
+
}
|
|
101
|
+
return f.addEventListener("focusin", t), () => {
|
|
102
|
+
f.removeEventListener("focusin", t);
|
|
103
|
+
};
|
|
104
|
+
}, [i, f, A]), b.useEffect(() => {
|
|
105
|
+
if (i || !v)
|
|
106
|
+
return;
|
|
107
|
+
const t = I(r);
|
|
108
|
+
function o() {
|
|
109
|
+
X.current = !1;
|
|
110
|
+
}
|
|
111
|
+
function l(d) {
|
|
112
|
+
const e = W(d), s = m(f, e) || m(a, e) || m(c?.portalNode, e);
|
|
113
|
+
X.current = !s, Y.current = d.pointerType || "keyboard";
|
|
114
|
+
}
|
|
115
|
+
function u() {
|
|
116
|
+
Y.current = "keyboard";
|
|
117
|
+
}
|
|
118
|
+
return t.addEventListener("pointerdown", l, !0), t.addEventListener("pointerup", o, !0), t.addEventListener("pointercancel", o, !0), t.addEventListener("keydown", u, !0), () => {
|
|
119
|
+
t.removeEventListener("pointerdown", l, !0), t.removeEventListener("pointerup", o, !0), t.removeEventListener("pointercancel", o, !0), t.removeEventListener("keydown", u, !0);
|
|
120
|
+
};
|
|
121
|
+
}, [i, f, a, r, v, c]), b.useEffect(() => {
|
|
122
|
+
if (i || !M)
|
|
123
|
+
return;
|
|
124
|
+
function t() {
|
|
125
|
+
B.current = !0, de.start(0, () => {
|
|
126
|
+
B.current = !1;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
function o(e) {
|
|
130
|
+
const s = e.relatedTarget, w = e.currentTarget, g = W(e);
|
|
131
|
+
queueMicrotask(() => {
|
|
132
|
+
const K = O(), ge = F.context.triggerElements, Be = !(m(a, s) || m(f, s) || m(s, f) || m(c?.portalNode, s) || s != null && ge.hasElement(s) || ge.hasMatchingElement((T) => m(T, s)) || s?.hasAttribute(Fe("focus-guard")) || R && (Ce(R.nodesRef.current, K).find((T) => m(T.context?.elements.floating, s) || m(T.context?.elements.domReference, s)) || ke(R.nodesRef.current, K).find((T) => [T.context?.elements.floating, Ie(T.context?.elements.floating)].includes(s) || T.context?.elements.domReference === s)));
|
|
133
|
+
if (w === a && r && Oe(r, C), P && w !== a && !lt(g) && V(I(r)) === I(r).body) {
|
|
134
|
+
if (q(r) && (r.focus(), P === "popup")) {
|
|
135
|
+
be.request(() => {
|
|
136
|
+
r.focus();
|
|
137
|
+
});
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const T = ae.current, ee = A(), ve = ee[T] || ee[ee.length - 1] || r;
|
|
141
|
+
q(ve) && ve.focus();
|
|
142
|
+
}
|
|
143
|
+
if (k.current.insideReactTree) {
|
|
144
|
+
k.current.insideReactTree = !1;
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
(x || !E) && s && Be && !B.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
|
|
148
|
+
// For an "untrapped" typeable combobox (input role=combobox with
|
|
149
|
+
// initialFocus=false), re-opening the popup and tabbing out should still close it even
|
|
150
|
+
// when the previously focused element (e.g. the next tabbable outside the popup) is
|
|
151
|
+
// focused again. Otherwise, the popup remains open on the second Tab sequence:
|
|
152
|
+
// click input -> Tab (closes) -> click input -> Tab.
|
|
153
|
+
// Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
|
|
154
|
+
(x || s !== ne()) && (y.current = !0, F.setOpen(!1, ze(it, e)));
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
function l() {
|
|
158
|
+
X.current || (k.current.insideReactTree = !0, le.start(0, () => {
|
|
159
|
+
k.current.insideReactTree = !1;
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
const u = q(a) ? a : null, d = [];
|
|
163
|
+
if (!(!f && !u))
|
|
164
|
+
return u && (u.addEventListener("focusout", o), u.addEventListener("pointerdown", t), d.push(() => {
|
|
165
|
+
u.removeEventListener("focusout", o), u.removeEventListener("pointerdown", t);
|
|
166
|
+
})), f && (f.addEventListener("focusout", o), c && (f.addEventListener("focusout", l, !0), d.push(() => {
|
|
167
|
+
f.removeEventListener("focusout", l, !0);
|
|
168
|
+
})), d.push(() => {
|
|
169
|
+
f.removeEventListener("focusout", o);
|
|
170
|
+
})), () => {
|
|
171
|
+
d.forEach((e) => {
|
|
172
|
+
e();
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
}, [i, a, f, r, E, R, c, F, M, P, A, x, O, C, k, le, de, be]);
|
|
176
|
+
const me = b.useRef(null), pe = b.useRef(null), Ve = Re(me, Pe, c?.beforeInsideRef), je = Re(pe, c?.afterInsideRef);
|
|
177
|
+
b.useEffect(() => {
|
|
178
|
+
if (i || !f || !v)
|
|
179
|
+
return;
|
|
180
|
+
const t = Array.from(c?.portalNode?.querySelectorAll(`[${Fe("portal")}]`) || []), l = (R ? ke(R.nodesRef.current, O()) : []).find((e) => he(e.context?.elements.domReference || null))?.context?.elements.domReference, u = [f, l, ...t, ...se(), Ge.current, qe.current, me.current, pe.current, c?.beforeOutsideRef.current, c?.afterOutsideRef.current, D(J), D(z), x ? a : null].filter((e) => e != null), d = Je(u, E || x);
|
|
181
|
+
return () => {
|
|
182
|
+
d();
|
|
183
|
+
};
|
|
184
|
+
}, [v, i, a, f, E, C, c, x, R, O, se, z, J]), U(() => {
|
|
185
|
+
if (!v || i || !q(r))
|
|
186
|
+
return;
|
|
187
|
+
const t = I(r), o = V(t);
|
|
188
|
+
queueMicrotask(() => {
|
|
189
|
+
const l = G(r), u = ie.current, d = typeof u == "function" ? u(ce.current || "") : u;
|
|
190
|
+
if (d === void 0 || d === !1)
|
|
191
|
+
return;
|
|
192
|
+
let e;
|
|
193
|
+
d === !0 || d === null ? e = l[0] || r : e = D(d), e = e || l[0] || r, !m(r, o) && te(e, {
|
|
194
|
+
preventScroll: e === r
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
}, [i, v, r, ue, G, ie, ce]), U(() => {
|
|
198
|
+
if (i || !r)
|
|
199
|
+
return;
|
|
200
|
+
const t = I(r), o = V(t);
|
|
201
|
+
at(o);
|
|
202
|
+
function l(e) {
|
|
203
|
+
if (e.open || (fe.current = ct(e.nativeEvent, Y.current)), e.reason === st && e.nativeEvent.type === "mouseleave" && (y.current = !0), e.reason === ut)
|
|
204
|
+
if (e.nested)
|
|
205
|
+
y.current = !1;
|
|
206
|
+
else if (nt(e.nativeEvent) || rt(e.nativeEvent))
|
|
207
|
+
y.current = !1;
|
|
208
|
+
else {
|
|
209
|
+
let s = !1;
|
|
210
|
+
document.createElement("div").focus({
|
|
211
|
+
get preventScroll() {
|
|
212
|
+
return s = !0, !1;
|
|
213
|
+
}
|
|
214
|
+
}), s ? y.current = !1 : y.current = !0;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
Q.on("openchange", l);
|
|
218
|
+
const u = t.createElement("span");
|
|
219
|
+
u.setAttribute("tabindex", "-1"), u.setAttribute("aria-hidden", "true"), Object.assign(u.style, We), Z && a && a.insertAdjacentElement("afterend", u);
|
|
220
|
+
function d() {
|
|
221
|
+
const e = j.current;
|
|
222
|
+
let s = typeof e == "function" ? e(fe.current) : e;
|
|
223
|
+
if (s === void 0 || s === !1)
|
|
224
|
+
return null;
|
|
225
|
+
if (s === null && (s = !0), typeof s == "boolean") {
|
|
226
|
+
const g = a || ne();
|
|
227
|
+
return g && g.isConnected ? g : u;
|
|
228
|
+
}
|
|
229
|
+
const w = a || ne() || u;
|
|
230
|
+
return D(s) || w;
|
|
231
|
+
}
|
|
232
|
+
return () => {
|
|
233
|
+
Q.off("openchange", l);
|
|
234
|
+
const e = V(t), s = m(f, e) || R && Ce(R.nodesRef.current, O(), !1).some((g) => m(g.context?.elements.floating, e)), w = d();
|
|
235
|
+
queueMicrotask(() => {
|
|
236
|
+
const g = ft(w), K = typeof j.current != "boolean";
|
|
237
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
238
|
+
j.current && !y.current && q(g) && // If the focus moved somewhere else after mount, avoid returning focus
|
|
239
|
+
// since it likely entered a different element which should be
|
|
240
|
+
// respected: https://github.com/floating-ui/floating-ui/issues/2607
|
|
241
|
+
(!(!K && g !== e && e !== t.body) || s) && g.focus({
|
|
242
|
+
preventScroll: !0
|
|
243
|
+
}), u.remove();
|
|
244
|
+
});
|
|
245
|
+
};
|
|
246
|
+
}, [i, f, r, j, k, Q, R, Z, a, O]), b.useEffect(() => {
|
|
247
|
+
queueMicrotask(() => {
|
|
248
|
+
y.current = !1;
|
|
249
|
+
});
|
|
250
|
+
}, [i]), b.useEffect(() => {
|
|
251
|
+
if (i || !v)
|
|
252
|
+
return;
|
|
253
|
+
function t(l) {
|
|
254
|
+
W(l)?.closest(`[${Ye}]`) && (B.current = !0);
|
|
255
|
+
}
|
|
256
|
+
const o = I(r);
|
|
257
|
+
return o.addEventListener("pointerdown", t, !0), () => {
|
|
258
|
+
o.removeEventListener("pointerdown", t, !0);
|
|
259
|
+
};
|
|
260
|
+
}, [i, v, r]), U(() => {
|
|
261
|
+
if (!i && c)
|
|
262
|
+
return c.setFocusManagerState({
|
|
263
|
+
modal: E,
|
|
264
|
+
closeOnFocusOut: M,
|
|
265
|
+
open: v,
|
|
266
|
+
onOpenChange: F.setOpen,
|
|
267
|
+
domReference: a
|
|
268
|
+
}), () => {
|
|
269
|
+
c.setFocusManagerState(null);
|
|
270
|
+
};
|
|
271
|
+
}, [i, c, E, v, F, M, a]), U(() => {
|
|
272
|
+
if (!(i || !r))
|
|
273
|
+
return Oe(r, C), () => {
|
|
274
|
+
queueMicrotask(oe);
|
|
275
|
+
};
|
|
276
|
+
}, [i, r, C]);
|
|
277
|
+
const Ee = !i && (E ? !x : !0) && (Z || E);
|
|
278
|
+
return /* @__PURE__ */ Ze(b.Fragment, {
|
|
279
|
+
children: [Ee && /* @__PURE__ */ xe(Te, {
|
|
280
|
+
"data-type": "inside",
|
|
281
|
+
ref: Ve,
|
|
282
|
+
onFocus: (t) => {
|
|
283
|
+
if (E) {
|
|
284
|
+
const o = G();
|
|
285
|
+
te(o[o.length - 1]);
|
|
286
|
+
} else c?.portalNode && (y.current = !1, Le(t, c.portalNode) ? et(a)?.focus() : D(J ?? c.beforeOutsideRef)?.focus());
|
|
287
|
+
}
|
|
288
|
+
}), h, Ee && /* @__PURE__ */ xe(Te, {
|
|
289
|
+
"data-type": "inside",
|
|
290
|
+
ref: je,
|
|
291
|
+
onFocus: (t) => {
|
|
292
|
+
E ? te(G()[0]) : c?.portalNode && (M && (y.current = !0), Le(t, c.portalNode) ? tt(a)?.focus() : D(z ?? c.afterOutsideRef)?.focus());
|
|
293
|
+
}
|
|
294
|
+
})]
|
|
295
|
+
});
|
|
296
|
+
}
|
|
5
297
|
export {
|
|
6
|
-
|
|
298
|
+
Mt as FloatingFocusManager
|
|
7
299
|
};
|
package/dist/index127.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return o;
|
|
1
|
+
import n from "./index100.js";
|
|
2
|
+
import * as o from "react";
|
|
3
|
+
const t = /* @__PURE__ */ o.createContext(void 0);
|
|
4
|
+
process.env.NODE_ENV !== "production" && (t.displayName = "MenuPortalContext");
|
|
5
|
+
function s() {
|
|
6
|
+
const e = o.useContext(t);
|
|
7
|
+
if (e === void 0)
|
|
8
|
+
throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Menu.Portal> is missing." : n(32));
|
|
9
|
+
return e;
|
|
11
10
|
}
|
|
12
11
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
t as MenuPortalContext,
|
|
13
|
+
s as useMenuPortalContext
|
|
15
14
|
};
|
package/dist/index128.js
CHANGED
|
@@ -1,25 +1,128 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
|
|
2
|
+
import * as t from "react";
|
|
3
|
+
import * as h from "react-dom";
|
|
4
|
+
import { isNode as M } from "./index94.js";
|
|
5
|
+
import { useId as D } from "./index139.js";
|
|
6
|
+
import { useIsoLayoutEffect as V } from "./index97.js";
|
|
7
|
+
import { FocusGuard as S } from "./index160.js";
|
|
8
|
+
import { createChangeEventDetails as w } from "./index115.js";
|
|
9
|
+
import { createAttribute as G } from "./index238.js";
|
|
10
|
+
import { useRenderElement as _ } from "./index87.js";
|
|
11
|
+
import { ownerVisuallyHidden as j } from "./index133.js";
|
|
12
|
+
import { jsxs as T, jsx as P } from "react/jsx-runtime";
|
|
13
|
+
import { enableFocusInside as I, isOutsideEvent as g, getPreviousTabbable as q, getNextTabbable as A, disableFocusInside as B } from "./index165.js";
|
|
14
|
+
import { EMPTY_OBJECT as H } from "./index106.js";
|
|
15
|
+
import { focusOut as J } from "./index116.js";
|
|
16
|
+
const F = /* @__PURE__ */ t.createContext(null);
|
|
17
|
+
process.env.NODE_ENV !== "production" && (F.displayName = "PortalContext");
|
|
18
|
+
const Y = () => t.useContext(F), k = G("portal");
|
|
19
|
+
function z(N = {}) {
|
|
4
20
|
const {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} = d,
|
|
21
|
+
ref: f,
|
|
22
|
+
container: s,
|
|
23
|
+
componentProps: b = H,
|
|
24
|
+
elementProps: E,
|
|
25
|
+
elementState: x
|
|
26
|
+
} = N, d = D(), m = Y()?.portalNode, [e, c] = t.useState(null), [p, u] = t.useState(null), n = t.useRef(null);
|
|
27
|
+
V(() => {
|
|
28
|
+
if (s === null) {
|
|
29
|
+
n.current && (n.current = null, u(null), c(null));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (d == null)
|
|
33
|
+
return;
|
|
34
|
+
const a = (s && (M(s) ? s : s.current)) ?? m ?? document.body;
|
|
35
|
+
if (a == null) {
|
|
36
|
+
n.current && (n.current = null, u(null), c(null));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
n.current !== a && (n.current = a, u(null), c(a));
|
|
40
|
+
}, [s, m, d]);
|
|
41
|
+
const i = _("div", b, {
|
|
42
|
+
ref: [f, u],
|
|
43
|
+
state: x,
|
|
44
|
+
props: [{
|
|
45
|
+
id: d,
|
|
46
|
+
[k]: ""
|
|
47
|
+
}, E]
|
|
48
|
+
});
|
|
11
49
|
return {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// allow Tabbing away from focusableWhenDisabled elements
|
|
15
|
-
onKeyDown(b) {
|
|
16
|
-
s && e && b.key !== "Tab" && b.preventDefault();
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
return t || (a.tabIndex = i, !o && s && (a.tabIndex = e ? i : -1)), (o && (e || n) || !o && s) && (a["aria-disabled"] = s), o && (!e || l) && (a.disabled = s), a;
|
|
20
|
-
}, [t, s, e, n, l, o, i])
|
|
50
|
+
portalNode: p,
|
|
51
|
+
portalSubtree: e && i ? /* @__PURE__ */ h.createPortal(i, e) : null
|
|
21
52
|
};
|
|
22
53
|
}
|
|
54
|
+
const K = /* @__PURE__ */ t.forwardRef(function(f, s) {
|
|
55
|
+
const {
|
|
56
|
+
children: b,
|
|
57
|
+
container: E,
|
|
58
|
+
className: x,
|
|
59
|
+
render: d,
|
|
60
|
+
renderGuards: R,
|
|
61
|
+
...m
|
|
62
|
+
} = f, {
|
|
63
|
+
portalNode: e,
|
|
64
|
+
portalSubtree: c
|
|
65
|
+
} = z({
|
|
66
|
+
container: E,
|
|
67
|
+
ref: s,
|
|
68
|
+
componentProps: f,
|
|
69
|
+
elementProps: m
|
|
70
|
+
}), p = t.useRef(null), u = t.useRef(null), n = t.useRef(null), i = t.useRef(null), [o, a] = t.useState(null), C = o?.modal, O = o?.open, v = typeof R == "boolean" ? R : !!o && !o.modal && o.open && !!e;
|
|
71
|
+
t.useEffect(() => {
|
|
72
|
+
if (!e || C)
|
|
73
|
+
return;
|
|
74
|
+
function r(l) {
|
|
75
|
+
e && g(l) && (l.type === "focusin" ? I : B)(e);
|
|
76
|
+
}
|
|
77
|
+
return e.addEventListener("focusin", r, !0), e.addEventListener("focusout", r, !0), () => {
|
|
78
|
+
e.removeEventListener("focusin", r, !0), e.removeEventListener("focusout", r, !0);
|
|
79
|
+
};
|
|
80
|
+
}, [e, C]), t.useEffect(() => {
|
|
81
|
+
!e || O || I(e);
|
|
82
|
+
}, [O, e]);
|
|
83
|
+
const L = t.useMemo(() => ({
|
|
84
|
+
beforeOutsideRef: p,
|
|
85
|
+
afterOutsideRef: u,
|
|
86
|
+
beforeInsideRef: n,
|
|
87
|
+
afterInsideRef: i,
|
|
88
|
+
portalNode: e,
|
|
89
|
+
setFocusManagerState: a
|
|
90
|
+
}), [e]);
|
|
91
|
+
return /* @__PURE__ */ T(t.Fragment, {
|
|
92
|
+
children: [c, /* @__PURE__ */ T(F.Provider, {
|
|
93
|
+
value: L,
|
|
94
|
+
children: [v && e && /* @__PURE__ */ P(S, {
|
|
95
|
+
"data-type": "outside",
|
|
96
|
+
ref: p,
|
|
97
|
+
onFocus: (r) => {
|
|
98
|
+
if (g(r, e))
|
|
99
|
+
n.current?.focus();
|
|
100
|
+
else {
|
|
101
|
+
const l = o ? o.domReference : null;
|
|
102
|
+
q(l)?.focus();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}), v && e && /* @__PURE__ */ P("span", {
|
|
106
|
+
"aria-owns": e.id,
|
|
107
|
+
style: j
|
|
108
|
+
}), e && /* @__PURE__ */ h.createPortal(b, e), v && e && /* @__PURE__ */ P(S, {
|
|
109
|
+
"data-type": "outside",
|
|
110
|
+
ref: u,
|
|
111
|
+
onFocus: (r) => {
|
|
112
|
+
if (g(r, e))
|
|
113
|
+
i.current?.focus();
|
|
114
|
+
else {
|
|
115
|
+
const l = o ? o.domReference : null;
|
|
116
|
+
A(l)?.focus(), o?.closeOnFocusOut && o?.onOpenChange(!1, w(J, r.nativeEvent));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
})]
|
|
120
|
+
})]
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
process.env.NODE_ENV !== "production" && (K.displayName = "FloatingPortal");
|
|
23
124
|
export {
|
|
24
|
-
|
|
125
|
+
K as FloatingPortal,
|
|
126
|
+
z as useFloatingPortalNode,
|
|
127
|
+
Y as usePortalContext
|
|
25
128
|
};
|
package/dist/index129.js
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
position: "fixed",
|
|
6
|
-
top: 0,
|
|
7
|
-
left: 0,
|
|
8
|
-
border: 0,
|
|
9
|
-
padding: 0,
|
|
10
|
-
width: 1,
|
|
11
|
-
height: 1,
|
|
12
|
-
margin: -1
|
|
13
|
-
};
|
|
1
|
+
import { isReactVersionAtLeast as r } from "./index200.js";
|
|
2
|
+
function n(e) {
|
|
3
|
+
return r(19) ? e : e ? "true" : void 0;
|
|
4
|
+
}
|
|
14
5
|
export {
|
|
15
|
-
|
|
6
|
+
n as inertValue
|
|
16
7
|
};
|