@midas-ds/components 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Button-DL6nqUco.js +182 -0
- package/CHANGELOG.md +15 -0
- package/Checkbox-q0dugR2t.js +402 -0
- package/{Collection-B3xUVWPF.js → Collection-KMFfVuzU.js} +179 -152
- package/Dialog-D6Bqrpn-.js +1952 -0
- package/Disclosure-dAZYXyTH.js +225 -0
- package/Disclosure.css +1 -0
- package/DragAndDrop-B0T3WgjL.js +40 -0
- package/FocusScope-B7CkxXNC.js +513 -0
- package/{Form-DXLoQL91.js → Form-BWBjJC6v.js} +79 -81
- package/Group-D7_8007y.js +42 -0
- package/Heading-RCRHv6hd.js +15 -0
- package/{Hidden-BQWDvze4.js → Hidden-CVlUgUJM.js} +1 -1
- package/Link-BnQvB-hH.js +75 -0
- package/ListBox-DBBiqvcR.js +474 -0
- package/ListKeyboardDelegate-gCXy-Xnn.js +172 -0
- package/PressResponder-B4g56kDz.js +31 -0
- package/README.md +21 -3
- package/{RSPContexts-EOiWkKOf.js → RSPContexts-BW2SEIqe.js} +2 -2
- package/SelectionManager-BfXUE1qg.js +1031 -0
- package/Separator-BBX9m2O2.js +49 -0
- package/Tag-DWt0koFj.js +728 -0
- package/Text-BCF0xvqL.js +15 -0
- package/TextField-CX4eOQf6.js +225 -0
- package/TextField.module-DdICj682.js +143 -0
- package/{VisuallyHidden-B_XzVvlX.js → VisuallyHidden-Dhr5caPC.js} +1 -1
- package/accordion/Accordion.d.ts +8 -8
- package/accordion/AccordionItem.d.ts +11 -3
- package/accordion/index.d.ts +0 -3
- package/{context-ScOIq_Gu.js → context-BpJLnOuu.js} +11 -11
- package/global.css +1 -0
- package/index-B-jHjTDC.js +120 -0
- package/{index-CorR1LBD.js → index-BPdc9gJ8.js} +3 -3
- package/{index-Dl1Q-tbj.js → index-KSgQWWiy.js} +5315 -5315
- package/index.d.ts +1 -0
- package/index.js +105 -112
- package/index10.js +1 -1
- package/index11.js +1 -1
- package/index12.js +1 -1
- package/index13.js +1 -1
- package/index14.js +1 -1
- package/index15.js +2 -2
- package/index16.js +2 -2
- package/index17.js +1 -1
- package/index18.js +1 -1
- package/index19.js +2 -2
- package/index2.js +1 -1
- package/index20.js +2 -2
- package/index21.js +1 -1
- package/index22.js +1 -1
- package/index23.js +1 -1
- package/index24.js +1 -1
- package/index25.js +2 -2
- package/index26.js +2 -2
- package/index27.js +2 -2
- package/index28.js +1 -1
- package/index29.js +2 -8
- package/index3.js +2 -4
- package/index30.js +17 -16
- package/index31.js +3 -3
- package/index32.js +3 -3
- package/index33.js +2 -2
- package/index34.js +3 -3
- package/index35.js +1 -1
- package/index36.js +2 -2
- package/index37.js +2 -2
- package/index38.js +2 -2
- package/index39.js +2 -2
- package/index4.js +1 -1
- package/index40.js +19 -12
- package/index41.js +61 -14
- package/index42.js +44 -22
- package/index43.js +13 -11
- package/index44.js +25 -4
- package/index45.js +16 -51
- package/index46.js +19 -16
- package/index47.js +49 -27
- package/index48.js +5 -18
- package/index49.js +25 -21
- package/index5.js +1 -1
- package/index50.js +16 -47
- package/index51.js +7 -3
- package/index52.js +18 -18
- package/index53.js +16 -16
- package/index54.js +6 -4
- package/index55.js +8 -21
- package/index56.js +13 -16
- package/index57.js +6 -8
- package/index58.js +6 -9
- package/index59.js +17 -13
- package/index6.js +1 -1
- package/index60.js +20 -7
- package/index61.js +59 -7
- package/index62.js +13 -17
- package/index63.js +9 -20
- package/index64.js +40 -48
- package/index65.js +85 -15
- package/index66.js +74 -11
- package/index67.js +23 -62
- package/index68.js +64 -80
- package/index69.js +68 -62
- package/index7.js +1 -1
- package/index70.js +138 -22
- package/index71.js +66 -65
- package/index72.js +40 -78
- package/index73.js +75 -133
- package/index74.js +69 -68
- package/index75.js +96 -34
- package/index76.js +258 -65
- package/index77.js +715 -63
- package/index78.js +478 -93
- package/index79.js +303 -263
- package/index8.js +1 -1
- package/index80.js +343 -678
- package/index81.js +242 -481
- package/index82.js +1329 -282
- package/index83.js +968 -350
- package/index84.js +343 -211
- package/index85.js +2025 -1288
- package/index86.js +2313 -954
- package/index87.js +6782 -339
- package/index88.js +15 -2103
- package/index89.js +12 -2369
- package/index9.js +1 -1
- package/index90.js +4 -6832
- package/index91.js +7 -15
- package/link/Link.d.ts +2 -2
- package/link-button/LinkButton.d.ts +1 -1
- package/package.json +7 -1
- package/{react.esm-D8HpDGKP.js → react.esm-sMU8Z7rL.js} +1872 -1872
- package/textfield/index.d.ts +0 -2
- package/useControlledState-Kv9K2AYu.js +30 -0
- package/{useDescription-D4_zk_sA.js → useDescription-B7stiK3j.js} +1 -1
- package/useEvent-Xk5kn5Ns.js +21 -0
- package/useField-DMzJIIN4.js +67 -0
- package/{useFilter-BnJDBCkt.js → useFilter-Bt9dbV1U.js} +1 -1
- package/useFocusRing-9PXyKy2A.js +1297 -0
- package/{useFocusable-C-N9wcwm.js → useFocusable-CcEBZe40.js} +11 -8
- package/{useGridSelectionCheckbox-i1rsjlC-.js → useGridSelectionCheckbox-DYgEnElE.js} +3 -3
- package/useHasTabbableChild-D6DwR81L.js +34 -0
- package/{useHighlightSelectionDescription-JVx2MW_e.js → useHighlightSelectionDescription-WYAbP4No.js} +19 -19
- package/useLabels-9zaZ9oa0.js +17 -0
- package/useListState-BfTeKTk5.js +119 -0
- package/{useLocalizedStringFormatter-DVCAZqcL.js → useLocalizedStringFormatter-BlCbn-hX.js} +29 -29
- package/{useSingleSelectListState-CmX9_L5H.js → useSingleSelectListState-DPkaL0la.js} +5 -5
- package/Button-CCevm2s3.js +0 -183
- package/Checkbox-CllWDBxF.js +0 -405
- package/Dialog-CLTyYwkS.js +0 -1889
- package/DragAndDrop-OTN7La7U.js +0 -42
- package/FocusScope-BR0SJ-cZ.js +0 -512
- package/Group-DPMuN3h8.js +0 -44
- package/Label-C18A_4Z5.js +0 -69
- package/Link-BU1h3K2a.js +0 -77
- package/ListBox-D21tdwTs.js +0 -463
- package/ListKeyboardDelegate-DxMjfMsI.js +0 -172
- package/PressResponder-DP8ZDNGy.js +0 -31
- package/SelectionManager-D4WtKtey.js +0 -988
- package/Separator-DLUHK9vv.js +0 -48
- package/Tag-CEd6WWSc.js +0 -725
- package/Text-DGLaY3HR.js +0 -17
- package/TextField-C_hq9WeT.js +0 -226
- package/TextField.module-Cwq1FAm7.js +0 -141
- package/accordion/AccordionContent.d.ts +0 -3
- package/accordion/AccordionTagContext.d.ts +0 -3
- package/accordion/AccordionTrigger.d.ts +0 -3
- package/index-CEg5vZQH.js +0 -132
- package/index-CgfokhRq.js +0 -674
- package/index.css +0 -1
- package/index92.js +0 -14
- package/index93.js +0 -6
- package/index94.js +0 -9
- package/useControlledState-S_TYcV_c.js +0 -45
- package/useFocusRing-D97-G3fT.js +0 -1324
- package/useHasTabbableChild-DeuCnGGv.js +0 -34
- package/useListState-DSOTbsL3.js +0 -119
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
import { s as H, l as T, t as N, u as W, v as G, w as J, x as Y } from "./useFocusRing-9PXyKy2A.js";
|
|
2
|
+
import L, { useRef as y, useContext as Q, useMemo as R, useEffect as B } from "react";
|
|
3
|
+
function X(e) {
|
|
4
|
+
const t = H(e);
|
|
5
|
+
if (!(e instanceof t.HTMLElement) && !(e instanceof t.SVGElement)) return !1;
|
|
6
|
+
let { display: n, visibility: a } = e.style, r = n !== "none" && a !== "hidden" && a !== "collapse";
|
|
7
|
+
if (r) {
|
|
8
|
+
const { getComputedStyle: u } = e.ownerDocument.defaultView;
|
|
9
|
+
let { display: d, visibility: o } = u(e);
|
|
10
|
+
r = d !== "none" && o !== "hidden" && o !== "collapse";
|
|
11
|
+
}
|
|
12
|
+
return r;
|
|
13
|
+
}
|
|
14
|
+
function Z(e, t) {
|
|
15
|
+
return !e.hasAttribute("hidden") && // Ignore HiddenSelect when tree walking.
|
|
16
|
+
!e.hasAttribute("data-react-aria-prevent-focus") && (e.nodeName === "DETAILS" && t && t.nodeName !== "SUMMARY" ? e.hasAttribute("open") : !0);
|
|
17
|
+
}
|
|
18
|
+
function j(e, t) {
|
|
19
|
+
return e.nodeName !== "#comment" && X(e) && Z(e, t) && (!e.parentElement || j(e.parentElement, e));
|
|
20
|
+
}
|
|
21
|
+
const I = /* @__PURE__ */ L.createContext(null), k = "react-aria-focus-scope-restore";
|
|
22
|
+
let f = null;
|
|
23
|
+
function le(e) {
|
|
24
|
+
let { children: t, contain: n, restoreFocus: a, autoFocus: r } = e, u = y(null), d = y(null), o = y([]), { parentNode: p } = Q(I) || {}, l = R(() => new A({
|
|
25
|
+
scopeRef: o
|
|
26
|
+
}), [
|
|
27
|
+
o
|
|
28
|
+
]);
|
|
29
|
+
T(() => {
|
|
30
|
+
let s = p || v.root;
|
|
31
|
+
if (v.getTreeNode(s.scopeRef) && f && !F(f, s.scopeRef)) {
|
|
32
|
+
let b = v.getTreeNode(f);
|
|
33
|
+
b && (s = b);
|
|
34
|
+
}
|
|
35
|
+
s.addChild(l), v.addNode(l);
|
|
36
|
+
}, [
|
|
37
|
+
l,
|
|
38
|
+
p
|
|
39
|
+
]), T(() => {
|
|
40
|
+
let s = v.getTreeNode(o);
|
|
41
|
+
s && (s.contain = !!n);
|
|
42
|
+
}, [
|
|
43
|
+
n
|
|
44
|
+
]), T(() => {
|
|
45
|
+
var s;
|
|
46
|
+
let b = (s = u.current) === null || s === void 0 ? void 0 : s.nextSibling, $ = [], x = (_) => _.stopPropagation();
|
|
47
|
+
for (; b && b !== d.current; )
|
|
48
|
+
$.push(b), b.addEventListener(k, x), b = b.nextSibling;
|
|
49
|
+
return o.current = $, () => {
|
|
50
|
+
for (let _ of $) _.removeEventListener(k, x);
|
|
51
|
+
};
|
|
52
|
+
}, [
|
|
53
|
+
t
|
|
54
|
+
]), re(o, a, n), te(o, n), ae(o, a, n), ne(o, r), B(() => {
|
|
55
|
+
const s = N(o.current ? o.current[0] : void 0).activeElement;
|
|
56
|
+
let b = null;
|
|
57
|
+
if (h(s, o.current)) {
|
|
58
|
+
for (let $ of v.traverse()) $.scopeRef && h(s, $.scopeRef.current) && (b = $);
|
|
59
|
+
b === v.getTreeNode(o) && (f = b.scopeRef);
|
|
60
|
+
}
|
|
61
|
+
}, [
|
|
62
|
+
o
|
|
63
|
+
]), T(() => () => {
|
|
64
|
+
var s, b, $;
|
|
65
|
+
let x = ($ = (b = v.getTreeNode(o)) === null || b === void 0 || (s = b.parent) === null || s === void 0 ? void 0 : s.scopeRef) !== null && $ !== void 0 ? $ : null;
|
|
66
|
+
(o === f || F(o, f)) && (!x || v.getTreeNode(x)) && (f = x), v.removeTreeNode(o);
|
|
67
|
+
}, [
|
|
68
|
+
o
|
|
69
|
+
]);
|
|
70
|
+
let i = R(() => O(o), []), c = R(() => ({
|
|
71
|
+
focusManager: i,
|
|
72
|
+
parentNode: l
|
|
73
|
+
}), [
|
|
74
|
+
l,
|
|
75
|
+
i
|
|
76
|
+
]);
|
|
77
|
+
return /* @__PURE__ */ L.createElement(I.Provider, {
|
|
78
|
+
value: c
|
|
79
|
+
}, /* @__PURE__ */ L.createElement("span", {
|
|
80
|
+
"data-focus-scope-start": !0,
|
|
81
|
+
hidden: !0,
|
|
82
|
+
ref: u
|
|
83
|
+
}), t, /* @__PURE__ */ L.createElement("span", {
|
|
84
|
+
"data-focus-scope-end": !0,
|
|
85
|
+
hidden: !0,
|
|
86
|
+
ref: d
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
function O(e) {
|
|
90
|
+
return {
|
|
91
|
+
focusNext(t = {}) {
|
|
92
|
+
let n = e.current, { from: a, tabbable: r, wrap: u, accept: d } = t, o = a || N(n[0]).activeElement, p = n[0].previousElementSibling, l = w(n), i = m(l, {
|
|
93
|
+
tabbable: r,
|
|
94
|
+
accept: d
|
|
95
|
+
}, n);
|
|
96
|
+
i.currentNode = h(o, n) ? o : p;
|
|
97
|
+
let c = i.nextNode();
|
|
98
|
+
return !c && u && (i.currentNode = p, c = i.nextNode()), c && E(c, !0), c;
|
|
99
|
+
},
|
|
100
|
+
focusPrevious(t = {}) {
|
|
101
|
+
let n = e.current, { from: a, tabbable: r, wrap: u, accept: d } = t, o = a || N(n[0]).activeElement, p = n[n.length - 1].nextElementSibling, l = w(n), i = m(l, {
|
|
102
|
+
tabbable: r,
|
|
103
|
+
accept: d
|
|
104
|
+
}, n);
|
|
105
|
+
i.currentNode = h(o, n) ? o : p;
|
|
106
|
+
let c = i.previousNode();
|
|
107
|
+
return !c && u && (i.currentNode = p, c = i.previousNode()), c && E(c, !0), c;
|
|
108
|
+
},
|
|
109
|
+
focusFirst(t = {}) {
|
|
110
|
+
let n = e.current, { tabbable: a, accept: r } = t, u = w(n), d = m(u, {
|
|
111
|
+
tabbable: a,
|
|
112
|
+
accept: r
|
|
113
|
+
}, n);
|
|
114
|
+
d.currentNode = n[0].previousElementSibling;
|
|
115
|
+
let o = d.nextNode();
|
|
116
|
+
return o && E(o, !0), o;
|
|
117
|
+
},
|
|
118
|
+
focusLast(t = {}) {
|
|
119
|
+
let n = e.current, { tabbable: a, accept: r } = t, u = w(n), d = m(u, {
|
|
120
|
+
tabbable: a,
|
|
121
|
+
accept: r
|
|
122
|
+
}, n);
|
|
123
|
+
d.currentNode = n[n.length - 1].nextElementSibling;
|
|
124
|
+
let o = d.previousNode();
|
|
125
|
+
return o && E(o, !0), o;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const K = [
|
|
130
|
+
"input:not([disabled]):not([type=hidden])",
|
|
131
|
+
"select:not([disabled])",
|
|
132
|
+
"textarea:not([disabled])",
|
|
133
|
+
"button:not([disabled])",
|
|
134
|
+
"a[href]",
|
|
135
|
+
"area[href]",
|
|
136
|
+
"summary",
|
|
137
|
+
"iframe",
|
|
138
|
+
"object",
|
|
139
|
+
"embed",
|
|
140
|
+
"audio[controls]",
|
|
141
|
+
"video[controls]",
|
|
142
|
+
'[contenteditable]:not([contenteditable^="false"])'
|
|
143
|
+
], z = K.join(":not([hidden]),") + ",[tabindex]:not([disabled]):not([hidden])";
|
|
144
|
+
K.push('[tabindex]:not([tabindex="-1"]):not([disabled])');
|
|
145
|
+
const ee = K.join(':not([hidden]):not([tabindex="-1"]),');
|
|
146
|
+
function ie(e) {
|
|
147
|
+
return e.matches(z);
|
|
148
|
+
}
|
|
149
|
+
function w(e) {
|
|
150
|
+
return e[0].parentElement;
|
|
151
|
+
}
|
|
152
|
+
function S(e) {
|
|
153
|
+
let t = v.getTreeNode(f);
|
|
154
|
+
for (; t && t.scopeRef !== e; ) {
|
|
155
|
+
if (t.contain) return !1;
|
|
156
|
+
t = t.parent;
|
|
157
|
+
}
|
|
158
|
+
return !0;
|
|
159
|
+
}
|
|
160
|
+
function te(e, t) {
|
|
161
|
+
let n = y(void 0), a = y(void 0);
|
|
162
|
+
T(() => {
|
|
163
|
+
let r = e.current;
|
|
164
|
+
if (!t) {
|
|
165
|
+
a.current && (cancelAnimationFrame(a.current), a.current = void 0);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const u = N(r ? r[0] : void 0);
|
|
169
|
+
let d = (l) => {
|
|
170
|
+
if (l.key !== "Tab" || l.altKey || l.ctrlKey || l.metaKey || !S(e) || l.isComposing) return;
|
|
171
|
+
let i = u.activeElement, c = e.current;
|
|
172
|
+
if (!c || !h(i, c)) return;
|
|
173
|
+
let s = w(c), b = m(s, {
|
|
174
|
+
tabbable: !0
|
|
175
|
+
}, c);
|
|
176
|
+
if (!i) return;
|
|
177
|
+
b.currentNode = i;
|
|
178
|
+
let $ = l.shiftKey ? b.previousNode() : b.nextNode();
|
|
179
|
+
$ || (b.currentNode = l.shiftKey ? c[c.length - 1].nextElementSibling : c[0].previousElementSibling, $ = l.shiftKey ? b.previousNode() : b.nextNode()), l.preventDefault(), $ && E($, !0);
|
|
180
|
+
}, o = (l) => {
|
|
181
|
+
(!f || F(f, e)) && h(l.target, e.current) ? (f = e, n.current = l.target) : S(e) && !g(l.target, e) ? n.current ? n.current.focus() : f && f.current && M(f.current) : S(e) && (n.current = l.target);
|
|
182
|
+
}, p = (l) => {
|
|
183
|
+
a.current && cancelAnimationFrame(a.current), a.current = requestAnimationFrame(() => {
|
|
184
|
+
let i = Y();
|
|
185
|
+
if (!((i === "virtual" || i === null) && G() && J()) && u.activeElement && S(e) && !g(u.activeElement, e))
|
|
186
|
+
if (f = e, u.body.contains(l.target)) {
|
|
187
|
+
var s;
|
|
188
|
+
n.current = l.target, (s = n.current) === null || s === void 0 || s.focus();
|
|
189
|
+
} else f.current && M(f.current);
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
return u.addEventListener("keydown", d, !1), u.addEventListener("focusin", o, !1), r == null || r.forEach((l) => l.addEventListener("focusin", o, !1)), r == null || r.forEach((l) => l.addEventListener("focusout", p, !1)), () => {
|
|
193
|
+
u.removeEventListener("keydown", d, !1), u.removeEventListener("focusin", o, !1), r == null || r.forEach((l) => l.removeEventListener("focusin", o, !1)), r == null || r.forEach((l) => l.removeEventListener("focusout", p, !1));
|
|
194
|
+
};
|
|
195
|
+
}, [
|
|
196
|
+
e,
|
|
197
|
+
t
|
|
198
|
+
]), T(() => () => {
|
|
199
|
+
a.current && cancelAnimationFrame(a.current);
|
|
200
|
+
}, [
|
|
201
|
+
a
|
|
202
|
+
]);
|
|
203
|
+
}
|
|
204
|
+
function U(e) {
|
|
205
|
+
return g(e);
|
|
206
|
+
}
|
|
207
|
+
function h(e, t) {
|
|
208
|
+
return !e || !t ? !1 : t.some((n) => n.contains(e));
|
|
209
|
+
}
|
|
210
|
+
function g(e, t = null) {
|
|
211
|
+
if (e instanceof Element && e.closest("[data-react-aria-top-layer]")) return !0;
|
|
212
|
+
for (let { scopeRef: n } of v.traverse(v.getTreeNode(t)))
|
|
213
|
+
if (n && h(e, n.current)) return !0;
|
|
214
|
+
return !1;
|
|
215
|
+
}
|
|
216
|
+
function de(e) {
|
|
217
|
+
return g(e, f);
|
|
218
|
+
}
|
|
219
|
+
function F(e, t) {
|
|
220
|
+
var n;
|
|
221
|
+
let a = (n = v.getTreeNode(t)) === null || n === void 0 ? void 0 : n.parent;
|
|
222
|
+
for (; a; ) {
|
|
223
|
+
if (a.scopeRef === e) return !0;
|
|
224
|
+
a = a.parent;
|
|
225
|
+
}
|
|
226
|
+
return !1;
|
|
227
|
+
}
|
|
228
|
+
function E(e, t = !1) {
|
|
229
|
+
if (e != null && !t) try {
|
|
230
|
+
W(e);
|
|
231
|
+
} catch {
|
|
232
|
+
}
|
|
233
|
+
else if (e != null) try {
|
|
234
|
+
e.focus();
|
|
235
|
+
} catch {
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function q(e, t = !0) {
|
|
239
|
+
let n = e[0].previousElementSibling, a = w(e), r = m(a, {
|
|
240
|
+
tabbable: t
|
|
241
|
+
}, e);
|
|
242
|
+
r.currentNode = n;
|
|
243
|
+
let u = r.nextNode();
|
|
244
|
+
return t && !u && (a = w(e), r = m(a, {
|
|
245
|
+
tabbable: !1
|
|
246
|
+
}, e), r.currentNode = n, u = r.nextNode()), u;
|
|
247
|
+
}
|
|
248
|
+
function M(e, t = !0) {
|
|
249
|
+
E(q(e, t));
|
|
250
|
+
}
|
|
251
|
+
function ne(e, t) {
|
|
252
|
+
const n = L.useRef(t);
|
|
253
|
+
B(() => {
|
|
254
|
+
if (n.current) {
|
|
255
|
+
f = e;
|
|
256
|
+
const a = N(e.current ? e.current[0] : void 0);
|
|
257
|
+
!h(a.activeElement, f.current) && e.current && M(e.current);
|
|
258
|
+
}
|
|
259
|
+
n.current = !1;
|
|
260
|
+
}, [
|
|
261
|
+
e
|
|
262
|
+
]);
|
|
263
|
+
}
|
|
264
|
+
function re(e, t, n) {
|
|
265
|
+
T(() => {
|
|
266
|
+
if (t || n) return;
|
|
267
|
+
let a = e.current;
|
|
268
|
+
const r = N(a ? a[0] : void 0);
|
|
269
|
+
let u = (d) => {
|
|
270
|
+
let o = d.target;
|
|
271
|
+
h(o, e.current) ? f = e : U(o) || (f = null);
|
|
272
|
+
};
|
|
273
|
+
return r.addEventListener("focusin", u, !1), a == null || a.forEach((d) => d.addEventListener("focusin", u, !1)), () => {
|
|
274
|
+
r.removeEventListener("focusin", u, !1), a == null || a.forEach((d) => d.removeEventListener("focusin", u, !1));
|
|
275
|
+
};
|
|
276
|
+
}, [
|
|
277
|
+
e,
|
|
278
|
+
t,
|
|
279
|
+
n
|
|
280
|
+
]);
|
|
281
|
+
}
|
|
282
|
+
function P(e) {
|
|
283
|
+
let t = v.getTreeNode(f);
|
|
284
|
+
for (; t && t.scopeRef !== e; ) {
|
|
285
|
+
if (t.nodeToRestore) return !1;
|
|
286
|
+
t = t.parent;
|
|
287
|
+
}
|
|
288
|
+
return (t == null ? void 0 : t.scopeRef) === e;
|
|
289
|
+
}
|
|
290
|
+
function ae(e, t, n) {
|
|
291
|
+
const a = y(typeof document < "u" ? N(e.current ? e.current[0] : void 0).activeElement : null);
|
|
292
|
+
T(() => {
|
|
293
|
+
let r = e.current;
|
|
294
|
+
const u = N(r ? r[0] : void 0);
|
|
295
|
+
if (!t || n) return;
|
|
296
|
+
let d = () => {
|
|
297
|
+
(!f || F(f, e)) && h(u.activeElement, e.current) && (f = e);
|
|
298
|
+
};
|
|
299
|
+
return u.addEventListener("focusin", d, !1), r == null || r.forEach((o) => o.addEventListener("focusin", d, !1)), () => {
|
|
300
|
+
u.removeEventListener("focusin", d, !1), r == null || r.forEach((o) => o.removeEventListener("focusin", d, !1));
|
|
301
|
+
};
|
|
302
|
+
}, [
|
|
303
|
+
e,
|
|
304
|
+
n
|
|
305
|
+
]), T(() => {
|
|
306
|
+
const r = N(e.current ? e.current[0] : void 0);
|
|
307
|
+
if (!t) return;
|
|
308
|
+
let u = (d) => {
|
|
309
|
+
if (d.key !== "Tab" || d.altKey || d.ctrlKey || d.metaKey || !S(e) || d.isComposing) return;
|
|
310
|
+
let o = r.activeElement;
|
|
311
|
+
if (!g(o, e) || !P(e)) return;
|
|
312
|
+
let p = v.getTreeNode(e);
|
|
313
|
+
if (!p) return;
|
|
314
|
+
let l = p.nodeToRestore, i = m(r.body, {
|
|
315
|
+
tabbable: !0
|
|
316
|
+
});
|
|
317
|
+
i.currentNode = o;
|
|
318
|
+
let c = d.shiftKey ? i.previousNode() : i.nextNode();
|
|
319
|
+
if ((!l || !r.body.contains(l) || l === r.body) && (l = void 0, p.nodeToRestore = void 0), (!c || !g(c, e)) && l) {
|
|
320
|
+
i.currentNode = l;
|
|
321
|
+
do
|
|
322
|
+
c = d.shiftKey ? i.previousNode() : i.nextNode();
|
|
323
|
+
while (g(c, e));
|
|
324
|
+
d.preventDefault(), d.stopPropagation(), c ? E(c, !0) : U(l) ? E(l, !0) : o.blur();
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
return n || r.addEventListener("keydown", u, !0), () => {
|
|
328
|
+
n || r.removeEventListener("keydown", u, !0);
|
|
329
|
+
};
|
|
330
|
+
}, [
|
|
331
|
+
e,
|
|
332
|
+
t,
|
|
333
|
+
n
|
|
334
|
+
]), T(() => {
|
|
335
|
+
const r = N(e.current ? e.current[0] : void 0);
|
|
336
|
+
if (!t) return;
|
|
337
|
+
let u = v.getTreeNode(e);
|
|
338
|
+
if (u) {
|
|
339
|
+
var d;
|
|
340
|
+
return u.nodeToRestore = (d = a.current) !== null && d !== void 0 ? d : void 0, () => {
|
|
341
|
+
let o = v.getTreeNode(e);
|
|
342
|
+
if (!o) return;
|
|
343
|
+
let p = o.nodeToRestore;
|
|
344
|
+
if (t && p && (r.activeElement && g(r.activeElement, e) || r.activeElement === r.body && P(e))) {
|
|
345
|
+
let l = v.clone();
|
|
346
|
+
requestAnimationFrame(() => {
|
|
347
|
+
if (r.activeElement === r.body) {
|
|
348
|
+
let i = l.getTreeNode(e);
|
|
349
|
+
for (; i; ) {
|
|
350
|
+
if (i.nodeToRestore && i.nodeToRestore.isConnected) {
|
|
351
|
+
V(i.nodeToRestore);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
i = i.parent;
|
|
355
|
+
}
|
|
356
|
+
for (i = l.getTreeNode(e); i; ) {
|
|
357
|
+
if (i.scopeRef && i.scopeRef.current && v.getTreeNode(i.scopeRef)) {
|
|
358
|
+
let c = q(i.scopeRef.current, !0);
|
|
359
|
+
V(c);
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
i = i.parent;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
}, [
|
|
370
|
+
e,
|
|
371
|
+
t
|
|
372
|
+
]);
|
|
373
|
+
}
|
|
374
|
+
function V(e) {
|
|
375
|
+
e.dispatchEvent(new CustomEvent(k, {
|
|
376
|
+
bubbles: !0,
|
|
377
|
+
cancelable: !0
|
|
378
|
+
})) && E(e);
|
|
379
|
+
}
|
|
380
|
+
function m(e, t, n) {
|
|
381
|
+
let a = t != null && t.tabbable ? ee : z, r = N(e).createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
|
|
382
|
+
acceptNode(u) {
|
|
383
|
+
var d;
|
|
384
|
+
return !(t == null || (d = t.from) === null || d === void 0) && d.contains(u) ? NodeFilter.FILTER_REJECT : u.matches(a) && j(u) && (!n || h(u, n)) && (!(t != null && t.accept) || t.accept(u)) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
return t != null && t.from && (r.currentNode = t.from), r;
|
|
388
|
+
}
|
|
389
|
+
function ce(e, t = {}) {
|
|
390
|
+
return {
|
|
391
|
+
focusNext(n = {}) {
|
|
392
|
+
let a = e.current;
|
|
393
|
+
if (!a) return null;
|
|
394
|
+
let { from: r, tabbable: u = t.tabbable, wrap: d = t.wrap, accept: o = t.accept } = n, p = r || N(a).activeElement, l = m(a, {
|
|
395
|
+
tabbable: u,
|
|
396
|
+
accept: o
|
|
397
|
+
});
|
|
398
|
+
a.contains(p) && (l.currentNode = p);
|
|
399
|
+
let i = l.nextNode();
|
|
400
|
+
return !i && d && (l.currentNode = a, i = l.nextNode()), i && E(i, !0), i;
|
|
401
|
+
},
|
|
402
|
+
focusPrevious(n = t) {
|
|
403
|
+
let a = e.current;
|
|
404
|
+
if (!a) return null;
|
|
405
|
+
let { from: r, tabbable: u = t.tabbable, wrap: d = t.wrap, accept: o = t.accept } = n, p = r || N(a).activeElement, l = m(a, {
|
|
406
|
+
tabbable: u,
|
|
407
|
+
accept: o
|
|
408
|
+
});
|
|
409
|
+
if (a.contains(p)) l.currentNode = p;
|
|
410
|
+
else {
|
|
411
|
+
let c = C(l);
|
|
412
|
+
return c && E(c, !0), c ?? null;
|
|
413
|
+
}
|
|
414
|
+
let i = l.previousNode();
|
|
415
|
+
if (!i && d) {
|
|
416
|
+
l.currentNode = a;
|
|
417
|
+
let c = C(l);
|
|
418
|
+
if (!c)
|
|
419
|
+
return null;
|
|
420
|
+
i = c;
|
|
421
|
+
}
|
|
422
|
+
return i && E(i, !0), i ?? null;
|
|
423
|
+
},
|
|
424
|
+
focusFirst(n = t) {
|
|
425
|
+
let a = e.current;
|
|
426
|
+
if (!a) return null;
|
|
427
|
+
let { tabbable: r = t.tabbable, accept: u = t.accept } = n, o = m(a, {
|
|
428
|
+
tabbable: r,
|
|
429
|
+
accept: u
|
|
430
|
+
}).nextNode();
|
|
431
|
+
return o && E(o, !0), o;
|
|
432
|
+
},
|
|
433
|
+
focusLast(n = t) {
|
|
434
|
+
let a = e.current;
|
|
435
|
+
if (!a) return null;
|
|
436
|
+
let { tabbable: r = t.tabbable, accept: u = t.accept } = n, d = m(a, {
|
|
437
|
+
tabbable: r,
|
|
438
|
+
accept: u
|
|
439
|
+
}), o = C(d);
|
|
440
|
+
return o && E(o, !0), o ?? null;
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
function C(e) {
|
|
445
|
+
let t, n;
|
|
446
|
+
do
|
|
447
|
+
n = e.lastChild(), n && (t = n);
|
|
448
|
+
while (n);
|
|
449
|
+
return t;
|
|
450
|
+
}
|
|
451
|
+
class D {
|
|
452
|
+
get size() {
|
|
453
|
+
return this.fastMap.size;
|
|
454
|
+
}
|
|
455
|
+
getTreeNode(t) {
|
|
456
|
+
return this.fastMap.get(t);
|
|
457
|
+
}
|
|
458
|
+
addTreeNode(t, n, a) {
|
|
459
|
+
let r = this.fastMap.get(n ?? null);
|
|
460
|
+
if (!r) return;
|
|
461
|
+
let u = new A({
|
|
462
|
+
scopeRef: t
|
|
463
|
+
});
|
|
464
|
+
r.addChild(u), u.parent = r, this.fastMap.set(t, u), a && (u.nodeToRestore = a);
|
|
465
|
+
}
|
|
466
|
+
addNode(t) {
|
|
467
|
+
this.fastMap.set(t.scopeRef, t);
|
|
468
|
+
}
|
|
469
|
+
removeTreeNode(t) {
|
|
470
|
+
if (t === null) return;
|
|
471
|
+
let n = this.fastMap.get(t);
|
|
472
|
+
if (!n) return;
|
|
473
|
+
let a = n.parent;
|
|
474
|
+
for (let u of this.traverse()) u !== n && n.nodeToRestore && u.nodeToRestore && n.scopeRef && n.scopeRef.current && h(u.nodeToRestore, n.scopeRef.current) && (u.nodeToRestore = n.nodeToRestore);
|
|
475
|
+
let r = n.children;
|
|
476
|
+
a && (a.removeChild(n), r.size > 0 && r.forEach((u) => a && a.addChild(u))), this.fastMap.delete(n.scopeRef);
|
|
477
|
+
}
|
|
478
|
+
// Pre Order Depth First
|
|
479
|
+
*traverse(t = this.root) {
|
|
480
|
+
if (t.scopeRef != null && (yield t), t.children.size > 0) for (let n of t.children) yield* this.traverse(n);
|
|
481
|
+
}
|
|
482
|
+
clone() {
|
|
483
|
+
var t;
|
|
484
|
+
let n = new D();
|
|
485
|
+
var a;
|
|
486
|
+
for (let r of this.traverse()) n.addTreeNode(r.scopeRef, (a = (t = r.parent) === null || t === void 0 ? void 0 : t.scopeRef) !== null && a !== void 0 ? a : null, r.nodeToRestore);
|
|
487
|
+
return n;
|
|
488
|
+
}
|
|
489
|
+
constructor() {
|
|
490
|
+
this.fastMap = /* @__PURE__ */ new Map(), this.root = new A({
|
|
491
|
+
scopeRef: null
|
|
492
|
+
}), this.fastMap.set(null, this.root);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
class A {
|
|
496
|
+
addChild(t) {
|
|
497
|
+
this.children.add(t), t.parent = this;
|
|
498
|
+
}
|
|
499
|
+
removeChild(t) {
|
|
500
|
+
this.children.delete(t), t.parent = void 0;
|
|
501
|
+
}
|
|
502
|
+
constructor(t) {
|
|
503
|
+
this.children = /* @__PURE__ */ new Set(), this.contain = !1, this.scopeRef = t.scopeRef;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
let v = new D();
|
|
507
|
+
export {
|
|
508
|
+
m as $,
|
|
509
|
+
le as a,
|
|
510
|
+
ie as b,
|
|
511
|
+
de as c,
|
|
512
|
+
ce as d
|
|
513
|
+
};
|