@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.
Files changed (175) hide show
  1. package/Button-DL6nqUco.js +182 -0
  2. package/CHANGELOG.md +15 -0
  3. package/Checkbox-q0dugR2t.js +402 -0
  4. package/{Collection-B3xUVWPF.js → Collection-KMFfVuzU.js} +179 -152
  5. package/Dialog-D6Bqrpn-.js +1952 -0
  6. package/Disclosure-dAZYXyTH.js +225 -0
  7. package/Disclosure.css +1 -0
  8. package/DragAndDrop-B0T3WgjL.js +40 -0
  9. package/FocusScope-B7CkxXNC.js +513 -0
  10. package/{Form-DXLoQL91.js → Form-BWBjJC6v.js} +79 -81
  11. package/Group-D7_8007y.js +42 -0
  12. package/Heading-RCRHv6hd.js +15 -0
  13. package/{Hidden-BQWDvze4.js → Hidden-CVlUgUJM.js} +1 -1
  14. package/Link-BnQvB-hH.js +75 -0
  15. package/ListBox-DBBiqvcR.js +474 -0
  16. package/ListKeyboardDelegate-gCXy-Xnn.js +172 -0
  17. package/PressResponder-B4g56kDz.js +31 -0
  18. package/README.md +21 -3
  19. package/{RSPContexts-EOiWkKOf.js → RSPContexts-BW2SEIqe.js} +2 -2
  20. package/SelectionManager-BfXUE1qg.js +1031 -0
  21. package/Separator-BBX9m2O2.js +49 -0
  22. package/Tag-DWt0koFj.js +728 -0
  23. package/Text-BCF0xvqL.js +15 -0
  24. package/TextField-CX4eOQf6.js +225 -0
  25. package/TextField.module-DdICj682.js +143 -0
  26. package/{VisuallyHidden-B_XzVvlX.js → VisuallyHidden-Dhr5caPC.js} +1 -1
  27. package/accordion/Accordion.d.ts +8 -8
  28. package/accordion/AccordionItem.d.ts +11 -3
  29. package/accordion/index.d.ts +0 -3
  30. package/{context-ScOIq_Gu.js → context-BpJLnOuu.js} +11 -11
  31. package/global.css +1 -0
  32. package/index-B-jHjTDC.js +120 -0
  33. package/{index-CorR1LBD.js → index-BPdc9gJ8.js} +3 -3
  34. package/{index-Dl1Q-tbj.js → index-KSgQWWiy.js} +5315 -5315
  35. package/index.d.ts +1 -0
  36. package/index.js +105 -112
  37. package/index10.js +1 -1
  38. package/index11.js +1 -1
  39. package/index12.js +1 -1
  40. package/index13.js +1 -1
  41. package/index14.js +1 -1
  42. package/index15.js +2 -2
  43. package/index16.js +2 -2
  44. package/index17.js +1 -1
  45. package/index18.js +1 -1
  46. package/index19.js +2 -2
  47. package/index2.js +1 -1
  48. package/index20.js +2 -2
  49. package/index21.js +1 -1
  50. package/index22.js +1 -1
  51. package/index23.js +1 -1
  52. package/index24.js +1 -1
  53. package/index25.js +2 -2
  54. package/index26.js +2 -2
  55. package/index27.js +2 -2
  56. package/index28.js +1 -1
  57. package/index29.js +2 -8
  58. package/index3.js +2 -4
  59. package/index30.js +17 -16
  60. package/index31.js +3 -3
  61. package/index32.js +3 -3
  62. package/index33.js +2 -2
  63. package/index34.js +3 -3
  64. package/index35.js +1 -1
  65. package/index36.js +2 -2
  66. package/index37.js +2 -2
  67. package/index38.js +2 -2
  68. package/index39.js +2 -2
  69. package/index4.js +1 -1
  70. package/index40.js +19 -12
  71. package/index41.js +61 -14
  72. package/index42.js +44 -22
  73. package/index43.js +13 -11
  74. package/index44.js +25 -4
  75. package/index45.js +16 -51
  76. package/index46.js +19 -16
  77. package/index47.js +49 -27
  78. package/index48.js +5 -18
  79. package/index49.js +25 -21
  80. package/index5.js +1 -1
  81. package/index50.js +16 -47
  82. package/index51.js +7 -3
  83. package/index52.js +18 -18
  84. package/index53.js +16 -16
  85. package/index54.js +6 -4
  86. package/index55.js +8 -21
  87. package/index56.js +13 -16
  88. package/index57.js +6 -8
  89. package/index58.js +6 -9
  90. package/index59.js +17 -13
  91. package/index6.js +1 -1
  92. package/index60.js +20 -7
  93. package/index61.js +59 -7
  94. package/index62.js +13 -17
  95. package/index63.js +9 -20
  96. package/index64.js +40 -48
  97. package/index65.js +85 -15
  98. package/index66.js +74 -11
  99. package/index67.js +23 -62
  100. package/index68.js +64 -80
  101. package/index69.js +68 -62
  102. package/index7.js +1 -1
  103. package/index70.js +138 -22
  104. package/index71.js +66 -65
  105. package/index72.js +40 -78
  106. package/index73.js +75 -133
  107. package/index74.js +69 -68
  108. package/index75.js +96 -34
  109. package/index76.js +258 -65
  110. package/index77.js +715 -63
  111. package/index78.js +478 -93
  112. package/index79.js +303 -263
  113. package/index8.js +1 -1
  114. package/index80.js +343 -678
  115. package/index81.js +242 -481
  116. package/index82.js +1329 -282
  117. package/index83.js +968 -350
  118. package/index84.js +343 -211
  119. package/index85.js +2025 -1288
  120. package/index86.js +2313 -954
  121. package/index87.js +6782 -339
  122. package/index88.js +15 -2103
  123. package/index89.js +12 -2369
  124. package/index9.js +1 -1
  125. package/index90.js +4 -6832
  126. package/index91.js +7 -15
  127. package/link/Link.d.ts +2 -2
  128. package/link-button/LinkButton.d.ts +1 -1
  129. package/package.json +7 -1
  130. package/{react.esm-D8HpDGKP.js → react.esm-sMU8Z7rL.js} +1872 -1872
  131. package/textfield/index.d.ts +0 -2
  132. package/useControlledState-Kv9K2AYu.js +30 -0
  133. package/{useDescription-D4_zk_sA.js → useDescription-B7stiK3j.js} +1 -1
  134. package/useEvent-Xk5kn5Ns.js +21 -0
  135. package/useField-DMzJIIN4.js +67 -0
  136. package/{useFilter-BnJDBCkt.js → useFilter-Bt9dbV1U.js} +1 -1
  137. package/useFocusRing-9PXyKy2A.js +1297 -0
  138. package/{useFocusable-C-N9wcwm.js → useFocusable-CcEBZe40.js} +11 -8
  139. package/{useGridSelectionCheckbox-i1rsjlC-.js → useGridSelectionCheckbox-DYgEnElE.js} +3 -3
  140. package/useHasTabbableChild-D6DwR81L.js +34 -0
  141. package/{useHighlightSelectionDescription-JVx2MW_e.js → useHighlightSelectionDescription-WYAbP4No.js} +19 -19
  142. package/useLabels-9zaZ9oa0.js +17 -0
  143. package/useListState-BfTeKTk5.js +119 -0
  144. package/{useLocalizedStringFormatter-DVCAZqcL.js → useLocalizedStringFormatter-BlCbn-hX.js} +29 -29
  145. package/{useSingleSelectListState-CmX9_L5H.js → useSingleSelectListState-DPkaL0la.js} +5 -5
  146. package/Button-CCevm2s3.js +0 -183
  147. package/Checkbox-CllWDBxF.js +0 -405
  148. package/Dialog-CLTyYwkS.js +0 -1889
  149. package/DragAndDrop-OTN7La7U.js +0 -42
  150. package/FocusScope-BR0SJ-cZ.js +0 -512
  151. package/Group-DPMuN3h8.js +0 -44
  152. package/Label-C18A_4Z5.js +0 -69
  153. package/Link-BU1h3K2a.js +0 -77
  154. package/ListBox-D21tdwTs.js +0 -463
  155. package/ListKeyboardDelegate-DxMjfMsI.js +0 -172
  156. package/PressResponder-DP8ZDNGy.js +0 -31
  157. package/SelectionManager-D4WtKtey.js +0 -988
  158. package/Separator-DLUHK9vv.js +0 -48
  159. package/Tag-CEd6WWSc.js +0 -725
  160. package/Text-DGLaY3HR.js +0 -17
  161. package/TextField-C_hq9WeT.js +0 -226
  162. package/TextField.module-Cwq1FAm7.js +0 -141
  163. package/accordion/AccordionContent.d.ts +0 -3
  164. package/accordion/AccordionTagContext.d.ts +0 -3
  165. package/accordion/AccordionTrigger.d.ts +0 -3
  166. package/index-CEg5vZQH.js +0 -132
  167. package/index-CgfokhRq.js +0 -674
  168. package/index.css +0 -1
  169. package/index92.js +0 -14
  170. package/index93.js +0 -6
  171. package/index94.js +0 -9
  172. package/useControlledState-S_TYcV_c.js +0 -45
  173. package/useFocusRing-D97-G3fT.js +0 -1324
  174. package/useHasTabbableChild-DeuCnGGv.js +0 -34
  175. 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
+ };