@midas-ds/components 1.0.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.
Files changed (243) hide show
  1. package/Breadcrumbs.css +1 -0
  2. package/Button-CCevm2s3.js +183 -0
  3. package/Button.css +1 -0
  4. package/ButtonGroup.css +1 -0
  5. package/CHANGELOG.md +76 -0
  6. package/Card.css +1 -0
  7. package/Checkbox-CllWDBxF.js +405 -0
  8. package/Checkbox.css +1 -0
  9. package/Collection-B3xUVWPF.js +483 -0
  10. package/ComboBox.css +1 -0
  11. package/DatePicker.css +1 -0
  12. package/Dialog-CLTyYwkS.js +1889 -0
  13. package/DragAndDrop-OTN7La7U.js +42 -0
  14. package/Dropdown.css +1 -0
  15. package/FileUpload.css +1 -0
  16. package/Flex.css +1 -0
  17. package/Flex.module-CpoxBzQX.js +37 -0
  18. package/FocusScope-BR0SJ-cZ.js +512 -0
  19. package/Form-DXLoQL91.js +240 -0
  20. package/Grid.css +1 -0
  21. package/Grid.module-Ia0e9Dix.js +36 -0
  22. package/Group-DPMuN3h8.js +44 -0
  23. package/Hidden-BQWDvze4.js +37 -0
  24. package/InfoBanner.css +1 -0
  25. package/Label-C18A_4Z5.js +69 -0
  26. package/Layout.css +1 -0
  27. package/Link-BU1h3K2a.js +77 -0
  28. package/Link.css +1 -0
  29. package/LinkButton.css +1 -0
  30. package/ListBox-D21tdwTs.js +463 -0
  31. package/ListKeyboardDelegate-DxMjfMsI.js +172 -0
  32. package/Logo.css +1 -0
  33. package/Modal.css +1 -0
  34. package/MultiSelect.css +1 -0
  35. package/PressResponder-DP8ZDNGy.js +31 -0
  36. package/README.md +7 -0
  37. package/RSPContexts-EOiWkKOf.js +11 -0
  38. package/Radio.css +1 -0
  39. package/SearchField.css +1 -0
  40. package/Select.css +1 -0
  41. package/SelectionManager-D4WtKtey.js +988 -0
  42. package/Separator-DLUHK9vv.js +48 -0
  43. package/Spinner.css +1 -0
  44. package/Table.css +1 -0
  45. package/Tabs.css +1 -0
  46. package/Tag-CEd6WWSc.js +725 -0
  47. package/Tag.css +1 -0
  48. package/Text-DGLaY3HR.js +17 -0
  49. package/TextArea.css +1 -0
  50. package/TextField-C_hq9WeT.js +226 -0
  51. package/TextField.css +1 -0
  52. package/TextField.module-Cwq1FAm7.js +141 -0
  53. package/Toast.css +1 -0
  54. package/VisuallyHidden-B_XzVvlX.js +39 -0
  55. package/accordion/Accordion.d.ts +13 -0
  56. package/accordion/AccordionContent.d.ts +3 -0
  57. package/accordion/AccordionItem.d.ts +3 -0
  58. package/accordion/AccordionTagContext.d.ts +3 -0
  59. package/accordion/AccordionTrigger.d.ts +3 -0
  60. package/accordion/index.d.ts +5 -0
  61. package/breadcrumbs/Breadcrumbs.d.ts +9 -0
  62. package/breadcrumbs/index.d.ts +1 -0
  63. package/button/Button.d.ts +41 -0
  64. package/button/ButtonGroup.d.ts +12 -0
  65. package/button/index.d.ts +2 -0
  66. package/card/Card.d.ts +34 -0
  67. package/card/index.d.ts +1 -0
  68. package/checkbox/Checkbox.d.ts +2 -0
  69. package/checkbox/CheckboxGroup.d.ts +10 -0
  70. package/checkbox/index.d.ts +2 -0
  71. package/chevron-down-Cd1bkzXT.js +13 -0
  72. package/chevron-right-DBMc9VMi.js +23 -0
  73. package/clsx-OuTLNxxd.js +16 -0
  74. package/combobox/ComboBox.d.ts +12 -0
  75. package/combobox/index.d.ts +1 -0
  76. package/context-ScOIq_Gu.js +80 -0
  77. package/createLucideIcon-DeWljiyi.js +79 -0
  78. package/date-picker/DatePicker.d.ts +14 -0
  79. package/date-picker/index.d.ts +2 -0
  80. package/dropdown/Dropdown.d.ts +8 -0
  81. package/dropdown/index.d.ts +1 -0
  82. package/file-upload/FileUpload.d.ts +11 -0
  83. package/file-upload/index.d.ts +1 -0
  84. package/flex/Flex.d.ts +17 -0
  85. package/flex/FlexItem.d.ts +15 -0
  86. package/flex/index.d.ts +2 -0
  87. package/grid/Grid.d.ts +16 -0
  88. package/grid/GridItem.d.ts +7 -0
  89. package/grid/index.d.ts +2 -0
  90. package/index-CEg5vZQH.js +132 -0
  91. package/index-CgfokhRq.js +674 -0
  92. package/index-CorR1LBD.js +3122 -0
  93. package/index-Dl1Q-tbj.js +26984 -0
  94. package/index.css +1 -0
  95. package/index.d.ts +29 -0
  96. package/index.js +114 -0
  97. package/index10.js +4 -0
  98. package/index11.js +5 -0
  99. package/index12.js +4 -0
  100. package/index13.js +4 -0
  101. package/index14.js +4 -0
  102. package/index15.js +6 -0
  103. package/index16.js +6 -0
  104. package/index17.js +6 -0
  105. package/index18.js +4 -0
  106. package/index19.js +6 -0
  107. package/index2.js +8 -0
  108. package/index20.js +6 -0
  109. package/index21.js +4 -0
  110. package/index22.js +5 -0
  111. package/index23.js +5 -0
  112. package/index24.js +5 -0
  113. package/index25.js +6 -0
  114. package/index26.js +6 -0
  115. package/index27.js +6 -0
  116. package/index28.js +4 -0
  117. package/index29.js +12 -0
  118. package/index3.js +8 -0
  119. package/index30.js +20 -0
  120. package/index31.js +22 -0
  121. package/index32.js +14 -0
  122. package/index33.js +11 -0
  123. package/index34.js +31 -0
  124. package/index35.js +8 -0
  125. package/index36.js +9 -0
  126. package/index37.js +19 -0
  127. package/index38.js +9 -0
  128. package/index39.js +9 -0
  129. package/index4.js +4 -0
  130. package/index40.js +16 -0
  131. package/index41.js +16 -0
  132. package/index42.js +31 -0
  133. package/index43.js +16 -0
  134. package/index44.js +6 -0
  135. package/index45.js +53 -0
  136. package/index46.js +18 -0
  137. package/index47.js +27 -0
  138. package/index48.js +18 -0
  139. package/index49.js +21 -0
  140. package/index5.js +5 -0
  141. package/index50.js +49 -0
  142. package/index51.js +5 -0
  143. package/index52.js +25 -0
  144. package/index53.js +18 -0
  145. package/index54.js +9 -0
  146. package/index55.js +25 -0
  147. package/index56.js +18 -0
  148. package/index57.js +11 -0
  149. package/index58.js +12 -0
  150. package/index59.js +15 -0
  151. package/index6.js +4 -0
  152. package/index60.js +9 -0
  153. package/index61.js +9 -0
  154. package/index62.js +19 -0
  155. package/index63.js +22 -0
  156. package/index64.js +61 -0
  157. package/index65.js +15 -0
  158. package/index66.js +11 -0
  159. package/index67.js +63 -0
  160. package/index68.js +85 -0
  161. package/index69.js +74 -0
  162. package/index7.js +9 -0
  163. package/index70.js +24 -0
  164. package/index71.js +69 -0
  165. package/index72.js +80 -0
  166. package/index73.js +140 -0
  167. package/index74.js +70 -0
  168. package/index75.js +42 -0
  169. package/index76.js +82 -0
  170. package/index77.js +71 -0
  171. package/index78.js +104 -0
  172. package/index79.js +274 -0
  173. package/index8.js +4 -0
  174. package/index80.js +724 -0
  175. package/index81.js +491 -0
  176. package/index82.js +317 -0
  177. package/index83.js +391 -0
  178. package/index84.js +254 -0
  179. package/index85.js +1364 -0
  180. package/index86.js +1009 -0
  181. package/index87.js +388 -0
  182. package/index88.js +2105 -0
  183. package/index89.js +2371 -0
  184. package/index9.js +5 -0
  185. package/index90.js +6834 -0
  186. package/index91.js +17 -0
  187. package/index92.js +14 -0
  188. package/index93.js +6 -0
  189. package/index94.js +9 -0
  190. package/info-banner/InfoBanner.d.ts +21 -0
  191. package/info-banner/index.d.ts +1 -0
  192. package/intlStrings-Cd44R5hT.js +278 -0
  193. package/layout/Layout.d.ts +51 -0
  194. package/layout/index.d.ts +1 -0
  195. package/link/Link.d.ts +13 -0
  196. package/link/index.d.ts +1 -0
  197. package/link-button/LinkButton.d.ts +18 -0
  198. package/link-button/index.d.ts +1 -0
  199. package/logo/Logo.d.ts +16 -0
  200. package/logo/index.d.ts +1 -0
  201. package/modal/Modal.d.ts +13 -0
  202. package/modal/index.d.ts +1 -0
  203. package/multi-select/MultiSelect.d.ts +28 -0
  204. package/multi-select/index.d.ts +1 -0
  205. package/package.json +29 -0
  206. package/radio/Radio.d.ts +20 -0
  207. package/radio/index.d.ts +1 -0
  208. package/react.esm-D8HpDGKP.js +11060 -0
  209. package/search-field/SearchField.d.ts +13 -0
  210. package/search-field/index.d.ts +1 -0
  211. package/select/Select.d.ts +11 -0
  212. package/select/index.d.ts +1 -0
  213. package/spinner/Spinner.d.ts +11 -0
  214. package/spinner/index.d.ts +1 -0
  215. package/table/Table.d.ts +12 -0
  216. package/table/index.d.ts +1 -0
  217. package/tabs/Tabs.d.ts +12 -0
  218. package/tabs/index.d.ts +1 -0
  219. package/tag/Tag.d.ts +11 -0
  220. package/tag/index.d.ts +1 -0
  221. package/textarea/TextArea.d.ts +20 -0
  222. package/textarea/index.d.ts +1 -0
  223. package/textfield/TextField.d.ts +16 -0
  224. package/textfield/index.d.ts +3 -0
  225. package/theme/index.d.ts +138 -0
  226. package/theme/tokens.d.ts +135 -0
  227. package/toast/Toast.d.ts +25 -0
  228. package/toast/index.d.ts +1 -0
  229. package/tokens-CjXmpXTi.js +160 -0
  230. package/triangle-alert-1OYl9KWz.js +56 -0
  231. package/useControlledState-S_TYcV_c.js +45 -0
  232. package/useDescription-D4_zk_sA.js +32 -0
  233. package/useFilter-BnJDBCkt.js +35 -0
  234. package/useFocusRing-D97-G3fT.js +1324 -0
  235. package/useFocusable-C-N9wcwm.js +56 -0
  236. package/useGridSelectionCheckbox-i1rsjlC-.js +22 -0
  237. package/useHasTabbableChild-DeuCnGGv.js +34 -0
  238. package/useHighlightSelectionDescription-JVx2MW_e.js +552 -0
  239. package/useListState-DSOTbsL3.js +119 -0
  240. package/useLocalizedStringFormatter-DVCAZqcL.js +96 -0
  241. package/useSingleSelectListState-CmX9_L5H.js +34 -0
  242. package/useUpdateEffect-Dtz-i14F.js +12 -0
  243. package/x-JK7i-TQC.js +14 -0
@@ -0,0 +1,1889 @@
1
+ import { a as Lo } from "./Button-CCevm2s3.js";
2
+ import { F as Le, s as Ro, C as Ko, l as G, f as Io, k as pe, R as Oo, D as Ee, e as le, g as _o, n as q, o as zo, y as de, m as Ho, b as Ve, E as No, z as Uo, p as jo, t as Re, a as $e, S as Wo, T as Vo, d as ae, x as oe, u as Yo, i as Zo, c as Go, v as qo, A as Ke } from "./useFocusRing-D97-G3fT.js";
3
+ import { a as Xo } from "./RSPContexts-EOiWkKOf.js";
4
+ import g, { useEffect as Y, useRef as V, useState as te, useCallback as Z, useContext as _, createContext as O, useMemo as Ye, forwardRef as Me } from "react";
5
+ import { $ as Jo, c as Qo, d as er, a as Ze, e as tr, f as or } from "./Collection-B3xUVWPF.js";
6
+ import { $ as rr, a as nr, b as lr, c as ar } from "./Separator-DLUHK9vv.js";
7
+ import { $ as sr } from "./Text-DGLaY3HR.js";
8
+ import { l as ir, f as ur, $ as Ge, a as dr, b as qe } from "./SelectionManager-D4WtKtey.js";
9
+ import { a as cr, $ as Xe } from "./PressResponder-DP8ZDNGy.js";
10
+ import { a as fr, $ as Je } from "./useControlledState-S_TYcV_c.js";
11
+ import { $ as Qe } from "./useLocalizedStringFormatter-DVCAZqcL.js";
12
+ import { a as pr } from "./useFocusable-C-N9wcwm.js";
13
+ import { c as $r, a as et } from "./FocusScope-BR0SJ-cZ.js";
14
+ import br from "react-dom";
15
+ import { b as mr } from "./Hidden-BQWDvze4.js";
16
+ import { $ as gr } from "./context-ScOIq_Gu.js";
17
+ import { b as tt } from "./ListKeyboardDelegate-DxMjfMsI.js";
18
+ import { a as vr } from "./VisuallyHidden-B_XzVvlX.js";
19
+ function xr() {
20
+ return typeof window.ResizeObserver < "u";
21
+ }
22
+ function Ce(t) {
23
+ const { ref: e, box: o, onResize: r } = t;
24
+ Y(() => {
25
+ let n = e == null ? void 0 : e.current;
26
+ if (n)
27
+ if (xr()) {
28
+ const l = new window.ResizeObserver((u) => {
29
+ u.length && r();
30
+ });
31
+ return l.observe(n, {
32
+ box: o
33
+ }), () => {
34
+ n && l.unobserve(n);
35
+ };
36
+ } else
37
+ return window.addEventListener("resize", r, !1), () => {
38
+ window.removeEventListener("resize", r, !1);
39
+ };
40
+ }, [
41
+ r,
42
+ e,
43
+ o
44
+ ]);
45
+ }
46
+ function we(t, e = -1 / 0, o = 1 / 0) {
47
+ return Math.min(Math.max(t, e), o);
48
+ }
49
+ function hr(t) {
50
+ let { ref: e, onInteractOutside: o, isDisabled: r, onInteractOutsideStart: n } = t, l = V({
51
+ isPointerDown: !1,
52
+ ignoreEmulatedMouseEvents: !1
53
+ }), u = Le((s) => {
54
+ o && se(s, e) && (n && n(s), l.current.isPointerDown = !0);
55
+ }), a = Le((s) => {
56
+ o && o(s);
57
+ });
58
+ Y(() => {
59
+ let s = l.current;
60
+ if (r) return;
61
+ const d = e.current, i = Ro(d);
62
+ if (typeof PointerEvent < "u") {
63
+ let p = ($) => {
64
+ s.isPointerDown && se($, e) && a($), s.isPointerDown = !1;
65
+ };
66
+ return i.addEventListener("pointerdown", u, !0), i.addEventListener("pointerup", p, !0), () => {
67
+ i.removeEventListener("pointerdown", u, !0), i.removeEventListener("pointerup", p, !0);
68
+ };
69
+ } else {
70
+ let p = (c) => {
71
+ s.ignoreEmulatedMouseEvents ? s.ignoreEmulatedMouseEvents = !1 : s.isPointerDown && se(c, e) && a(c), s.isPointerDown = !1;
72
+ }, $ = (c) => {
73
+ s.ignoreEmulatedMouseEvents = !0, s.isPointerDown && se(c, e) && a(c), s.isPointerDown = !1;
74
+ };
75
+ return i.addEventListener("mousedown", u, !0), i.addEventListener("mouseup", p, !0), i.addEventListener("touchstart", u, !0), i.addEventListener("touchend", $, !0), () => {
76
+ i.removeEventListener("mousedown", u, !0), i.removeEventListener("mouseup", p, !0), i.removeEventListener("touchstart", u, !0), i.removeEventListener("touchend", $, !0);
77
+ };
78
+ }
79
+ }, [
80
+ e,
81
+ r,
82
+ u,
83
+ a
84
+ ]);
85
+ }
86
+ function se(t, e) {
87
+ if (t.button > 0) return !1;
88
+ if (t.target) {
89
+ const o = t.target.ownerDocument;
90
+ if (!o || !o.documentElement.contains(t.target) || t.target.closest("[data-react-aria-top-layer]")) return !1;
91
+ }
92
+ return e.current && !e.current.contains(t.target);
93
+ }
94
+ const N = {
95
+ top: "top",
96
+ bottom: "top",
97
+ left: "left",
98
+ right: "left"
99
+ }, ce = {
100
+ top: "bottom",
101
+ bottom: "top",
102
+ left: "right",
103
+ right: "left"
104
+ }, yr = {
105
+ top: "left",
106
+ left: "top"
107
+ }, De = {
108
+ top: "height",
109
+ left: "width"
110
+ }, ot = {
111
+ width: "totalWidth",
112
+ height: "totalHeight"
113
+ }, ie = {};
114
+ let k = typeof document < "u" ? window.visualViewport : null;
115
+ function Ie(t) {
116
+ let e = 0, o = 0, r = 0, n = 0, l = 0, u = 0, a = {};
117
+ var s;
118
+ let d = ((s = k == null ? void 0 : k.scale) !== null && s !== void 0 ? s : 1) > 1;
119
+ if (t.tagName === "BODY") {
120
+ let f = document.documentElement;
121
+ r = f.clientWidth, n = f.clientHeight;
122
+ var i;
123
+ e = (i = k == null ? void 0 : k.width) !== null && i !== void 0 ? i : r;
124
+ var p;
125
+ o = (p = k == null ? void 0 : k.height) !== null && p !== void 0 ? p : n, a.top = f.scrollTop || t.scrollTop, a.left = f.scrollLeft || t.scrollLeft, k && (l = k.offsetTop, u = k.offsetLeft);
126
+ } else
127
+ ({ width: e, height: o, top: l, left: u } = ee(t)), a.top = t.scrollTop, a.left = t.scrollLeft, r = e, n = o;
128
+ if (Ko() && (t.tagName === "BODY" || t.tagName === "HTML") && d) {
129
+ a.top = 0, a.left = 0;
130
+ var $;
131
+ l = ($ = k == null ? void 0 : k.pageTop) !== null && $ !== void 0 ? $ : 0;
132
+ var c;
133
+ u = (c = k == null ? void 0 : k.pageLeft) !== null && c !== void 0 ? c : 0;
134
+ }
135
+ return {
136
+ width: e,
137
+ height: o,
138
+ totalWidth: r,
139
+ totalHeight: n,
140
+ scroll: a,
141
+ top: l,
142
+ left: u
143
+ };
144
+ }
145
+ function Pr(t) {
146
+ return {
147
+ top: t.scrollTop,
148
+ left: t.scrollLeft,
149
+ width: t.scrollWidth,
150
+ height: t.scrollHeight
151
+ };
152
+ }
153
+ function Oe(t, e, o, r, n, l, u) {
154
+ var a;
155
+ let s = (a = n.scroll[t]) !== null && a !== void 0 ? a : 0, d = r[De[t]], i = r.scroll[N[t]] + l, p = d + r.scroll[N[t]] - l, $ = e - s + u[t] - r[N[t]], c = e - s + o + u[t] - r[N[t]];
156
+ return $ < i ? i - $ : c > p ? Math.max(p - c, i - $) : 0;
157
+ }
158
+ function Er(t) {
159
+ let e = window.getComputedStyle(t);
160
+ return {
161
+ top: parseInt(e.marginTop, 10) || 0,
162
+ bottom: parseInt(e.marginBottom, 10) || 0,
163
+ left: parseInt(e.marginLeft, 10) || 0,
164
+ right: parseInt(e.marginRight, 10) || 0
165
+ };
166
+ }
167
+ function _e(t) {
168
+ if (ie[t]) return ie[t];
169
+ let [e, o] = t.split(" "), r = N[e] || "right", n = yr[r];
170
+ N[o] || (o = "center");
171
+ let l = De[r], u = De[n];
172
+ return ie[t] = {
173
+ placement: e,
174
+ crossPlacement: o,
175
+ axis: r,
176
+ crossAxis: n,
177
+ size: l,
178
+ crossSize: u
179
+ }, ie[t];
180
+ }
181
+ function he(t, e, o, r, n, l, u, a, s, d) {
182
+ let { placement: i, crossPlacement: p, axis: $, crossAxis: c, size: f, crossSize: h } = r, b = {};
183
+ var v;
184
+ b[c] = (v = t[c]) !== null && v !== void 0 ? v : 0;
185
+ var x, C, F, y;
186
+ p === "center" ? b[c] += (((x = t[h]) !== null && x !== void 0 ? x : 0) - ((C = o[h]) !== null && C !== void 0 ? C : 0)) / 2 : p !== c && (b[c] += ((F = t[h]) !== null && F !== void 0 ? F : 0) - ((y = o[h]) !== null && y !== void 0 ? y : 0)), b[c] += l;
187
+ const m = t[c] - o[h] + s + d, K = t[c] + t[h] - s - d;
188
+ if (b[c] = we(b[c], m, K), i === $) {
189
+ const L = a ? u[f] : e[ot[f]];
190
+ b[ce[$]] = Math.floor(L - t[$] + n);
191
+ } else b[$] = Math.floor(t[$] + t[f] + n);
192
+ return b;
193
+ }
194
+ function Cr(t, e, o, r, n, l, u, a) {
195
+ const s = r ? o.height : e[ot.height];
196
+ var d;
197
+ let i = t.top != null ? o.top + t.top : o.top + (s - ((d = t.bottom) !== null && d !== void 0 ? d : 0) - u);
198
+ var p, $, c, f, h, b;
199
+ let v = a !== "top" ? (
200
+ // We want the distance between the top of the overlay to the bottom of the boundary
201
+ Math.max(0, e.height + e.top + ((p = e.scroll.top) !== null && p !== void 0 ? p : 0) - i - ((($ = n.top) !== null && $ !== void 0 ? $ : 0) + ((c = n.bottom) !== null && c !== void 0 ? c : 0) + l))
202
+ ) : Math.max(0, i + u - (e.top + ((f = e.scroll.top) !== null && f !== void 0 ? f : 0)) - (((h = n.top) !== null && h !== void 0 ? h : 0) + ((b = n.bottom) !== null && b !== void 0 ? b : 0) + l));
203
+ return Math.min(e.height - l * 2, v);
204
+ }
205
+ function ze(t, e, o, r, n, l) {
206
+ let { placement: u, axis: a, size: s } = l;
207
+ var d, i;
208
+ if (u === a) return Math.max(0, o[a] - t[a] - ((d = t.scroll[a]) !== null && d !== void 0 ? d : 0) + e[a] - ((i = r[a]) !== null && i !== void 0 ? i : 0) - r[ce[a]] - n);
209
+ var p;
210
+ return Math.max(0, t[s] + t[a] + t.scroll[a] - e[a] - o[a] - o[s] - ((p = r[a]) !== null && p !== void 0 ? p : 0) - r[ce[a]] - n);
211
+ }
212
+ function wr(t, e, o, r, n, l, u, a, s, d, i, p, $, c, f, h) {
213
+ let b = _e(t), { size: v, crossAxis: x, crossSize: C, placement: F, crossPlacement: y } = b, m = he(e, a, o, b, i, p, d, $, f, h), K = i, L = ze(a, d, e, n, l + i, b);
214
+ if (u && r[v] > L) {
215
+ let j = _e(`${ce[F]} ${y}`), ve = he(e, a, o, j, i, p, d, $, f, h);
216
+ ze(a, d, e, n, l + i, j) > L && (b = j, m = ve, K = i);
217
+ }
218
+ let A = "bottom";
219
+ b.axis === "top" ? b.placement === "top" ? A = "top" : b.placement === "bottom" && (A = "bottom") : b.crossAxis === "top" && (b.crossPlacement === "top" ? A = "bottom" : b.crossPlacement === "bottom" && (A = "top"));
220
+ let E = Oe(x, m[x], o[C], a, s, l, d);
221
+ m[x] += E;
222
+ let B = Cr(m, a, d, $, n, l, o.height, A);
223
+ c && c < B && (B = c), o.height = Math.min(o.height, B), m = he(e, a, o, b, K, p, d, $, f, h), E = Oe(x, m[x], o[C], a, s, l, d), m[x] += E;
224
+ let T = {}, P = e[x] + 0.5 * e[C] - m[x] - n[N[x]];
225
+ const M = f / 2 + h;
226
+ var U, z, R, S;
227
+ const H = N[x] === "left" ? ((U = n.left) !== null && U !== void 0 ? U : 0) + ((z = n.right) !== null && z !== void 0 ? z : 0) : ((R = n.top) !== null && R !== void 0 ? R : 0) + ((S = n.bottom) !== null && S !== void 0 ? S : 0), X = o[C] - H - f / 2 - h, J = e[x] + f / 2 - (m[x] + n[N[x]]), me = e[x] + e[C] - f / 2 - (m[x] + n[N[x]]), ge = we(P, J, me);
228
+ return T[x] = we(ge, M, X), {
229
+ position: m,
230
+ maxHeight: B,
231
+ arrowOffsetLeft: T.left,
232
+ arrowOffsetTop: T.top,
233
+ placement: b.placement
234
+ };
235
+ }
236
+ function Dr(t) {
237
+ let { placement: e, targetNode: o, overlayNode: r, scrollNode: n, padding: l, shouldFlip: u, boundaryElement: a, offset: s, crossOffset: d, maxHeight: i, arrowSize: p = 0, arrowBoundaryOffset: $ = 0 } = t, c = r instanceof HTMLElement ? Ar(r) : document.documentElement, f = c === document.documentElement;
238
+ const h = window.getComputedStyle(c).position;
239
+ let b = !!h && h !== "static", v = f ? ee(o) : He(o, c);
240
+ if (!f) {
241
+ let { marginTop: T, marginLeft: P } = window.getComputedStyle(o);
242
+ v.top += parseInt(T, 10) || 0, v.left += parseInt(P, 10) || 0;
243
+ }
244
+ let x = ee(r), C = Er(r);
245
+ var F, y;
246
+ x.width += ((F = C.left) !== null && F !== void 0 ? F : 0) + ((y = C.right) !== null && y !== void 0 ? y : 0);
247
+ var m, K;
248
+ x.height += ((m = C.top) !== null && m !== void 0 ? m : 0) + ((K = C.bottom) !== null && K !== void 0 ? K : 0);
249
+ let L = Pr(n), A = Ie(a), E = Ie(c), B = a.tagName === "BODY" ? ee(c) : He(c, a);
250
+ return c.tagName === "HTML" && a.tagName === "BODY" && (E.scroll.top = 0, E.scroll.left = 0), wr(e, v, x, L, C, l, u, A, E, B, s, d, b, i, p, $);
251
+ }
252
+ function ee(t) {
253
+ let { top: e, left: o, width: r, height: n } = t.getBoundingClientRect(), { scrollTop: l, scrollLeft: u, clientTop: a, clientLeft: s } = document.documentElement;
254
+ return {
255
+ top: e + l - a,
256
+ left: o + u - s,
257
+ width: r,
258
+ height: n
259
+ };
260
+ }
261
+ function He(t, e) {
262
+ let o = window.getComputedStyle(t), r;
263
+ if (o.position === "fixed") {
264
+ let { top: n, left: l, width: u, height: a } = t.getBoundingClientRect();
265
+ r = {
266
+ top: n,
267
+ left: l,
268
+ width: u,
269
+ height: a
270
+ };
271
+ } else {
272
+ r = ee(t);
273
+ let n = ee(e), l = window.getComputedStyle(e);
274
+ n.top += (parseInt(l.borderTopWidth, 10) || 0) - e.scrollTop, n.left += (parseInt(l.borderLeftWidth, 10) || 0) - e.scrollLeft, r.top -= n.top, r.left -= n.left;
275
+ }
276
+ return r.top -= parseInt(o.marginTop, 10) || 0, r.left -= parseInt(o.marginLeft, 10) || 0, r;
277
+ }
278
+ function Ar(t) {
279
+ let e = t.offsetParent;
280
+ if (e && e === document.body && window.getComputedStyle(e).position === "static" && !Ne(e) && (e = document.documentElement), e == null)
281
+ for (e = t.parentElement; e && !Ne(e); ) e = e.parentElement;
282
+ return e || document.documentElement;
283
+ }
284
+ function Ne(t) {
285
+ let e = window.getComputedStyle(t);
286
+ return e.transform !== "none" || /transform|perspective/.test(e.willChange) || e.filter !== "none" || e.contain === "paint" || "backdropFilter" in e && e.backdropFilter !== "none" || "WebkitBackdropFilter" in e && e.WebkitBackdropFilter !== "none";
287
+ }
288
+ const rt = /* @__PURE__ */ new WeakMap();
289
+ function Mr(t) {
290
+ let { triggerRef: e, isOpen: o, onClose: r } = t;
291
+ Y(() => {
292
+ if (!o || r === null) return;
293
+ let n = (l) => {
294
+ let u = l.target;
295
+ if (!e.current || u instanceof Node && !u.contains(e.current) || l.target instanceof HTMLInputElement || l.target instanceof HTMLTextAreaElement) return;
296
+ let a = r || rt.get(e.current);
297
+ a && a();
298
+ };
299
+ return window.addEventListener("scroll", n, !0), () => {
300
+ window.removeEventListener("scroll", n, !0);
301
+ };
302
+ }, [
303
+ o,
304
+ r,
305
+ e
306
+ ]);
307
+ }
308
+ let w = typeof document < "u" ? window.visualViewport : null;
309
+ function Sr(t) {
310
+ let { direction: e } = gr(), { arrowSize: o = 0, targetRef: r, overlayRef: n, scrollRef: l = n, placement: u = "bottom", containerPadding: a = 12, shouldFlip: s = !0, boundaryElement: d = typeof document < "u" ? document.body : null, offset: i = 0, crossOffset: p = 0, shouldUpdatePosition: $ = !0, isOpen: c = !0, onClose: f, maxHeight: h, arrowBoundaryOffset: b = 0 } = t, [v, x] = te(null), C = [
311
+ $,
312
+ u,
313
+ n.current,
314
+ r.current,
315
+ l.current,
316
+ a,
317
+ s,
318
+ d,
319
+ i,
320
+ p,
321
+ c,
322
+ e,
323
+ h,
324
+ b,
325
+ o
326
+ ], F = V(w == null ? void 0 : w.scale);
327
+ Y(() => {
328
+ c && (F.current = w == null ? void 0 : w.scale);
329
+ }, [
330
+ c
331
+ ]);
332
+ let y = Z(() => {
333
+ if ($ === !1 || !c || !n.current || !r.current || !d || (w == null ? void 0 : w.scale) !== F.current) return;
334
+ let E = null;
335
+ if (l.current && l.current.contains(document.activeElement)) {
336
+ var B;
337
+ let S = (B = document.activeElement) === null || B === void 0 ? void 0 : B.getBoundingClientRect(), H = l.current.getBoundingClientRect();
338
+ var T;
339
+ if (E = {
340
+ type: "top",
341
+ offset: ((T = S == null ? void 0 : S.top) !== null && T !== void 0 ? T : 0) - H.top
342
+ }, E.offset > H.height / 2) {
343
+ E.type = "bottom";
344
+ var P;
345
+ E.offset = ((P = S == null ? void 0 : S.bottom) !== null && P !== void 0 ? P : 0) - H.bottom;
346
+ }
347
+ }
348
+ let M = n.current;
349
+ if (!h && n.current) {
350
+ var U;
351
+ M.style.top = "0px", M.style.bottom = "";
352
+ var z;
353
+ M.style.maxHeight = ((z = (U = window.visualViewport) === null || U === void 0 ? void 0 : U.height) !== null && z !== void 0 ? z : window.innerHeight) + "px";
354
+ }
355
+ let R = Dr({
356
+ placement: Br(u, e),
357
+ overlayNode: n.current,
358
+ targetNode: r.current,
359
+ scrollNode: l.current || n.current,
360
+ padding: a,
361
+ shouldFlip: s,
362
+ boundaryElement: d,
363
+ offset: i,
364
+ crossOffset: p,
365
+ maxHeight: h,
366
+ arrowSize: o,
367
+ arrowBoundaryOffset: b
368
+ });
369
+ if (R.position) {
370
+ if (M.style.top = "", M.style.bottom = "", M.style.left = "", M.style.right = "", Object.keys(R.position).forEach((S) => M.style[S] = R.position[S] + "px"), M.style.maxHeight = R.maxHeight != null ? R.maxHeight + "px" : "", E && document.activeElement && l.current) {
371
+ let S = document.activeElement.getBoundingClientRect(), H = l.current.getBoundingClientRect(), X = S[E.type] - H[E.type];
372
+ l.current.scrollTop += X - E.offset;
373
+ }
374
+ x(R);
375
+ }
376
+ }, C);
377
+ G(y, C), kr(y), Ce({
378
+ ref: n,
379
+ onResize: y
380
+ }), Ce({
381
+ ref: r,
382
+ onResize: y
383
+ });
384
+ let m = V(!1);
385
+ G(() => {
386
+ let E, B = () => {
387
+ m.current = !0, clearTimeout(E), E = setTimeout(() => {
388
+ m.current = !1;
389
+ }, 500), y();
390
+ }, T = () => {
391
+ m.current && B();
392
+ };
393
+ return w == null || w.addEventListener("resize", B), w == null || w.addEventListener("scroll", T), () => {
394
+ w == null || w.removeEventListener("resize", B), w == null || w.removeEventListener("scroll", T);
395
+ };
396
+ }, [
397
+ y
398
+ ]);
399
+ let K = Z(() => {
400
+ m.current || f == null || f();
401
+ }, [
402
+ f,
403
+ m
404
+ ]);
405
+ Mr({
406
+ triggerRef: r,
407
+ isOpen: c,
408
+ onClose: f && K
409
+ });
410
+ var L, A;
411
+ return {
412
+ overlayProps: {
413
+ style: {
414
+ position: "absolute",
415
+ zIndex: 1e5,
416
+ ...v == null ? void 0 : v.position,
417
+ maxHeight: (L = v == null ? void 0 : v.maxHeight) !== null && L !== void 0 ? L : "100vh"
418
+ }
419
+ },
420
+ placement: (A = v == null ? void 0 : v.placement) !== null && A !== void 0 ? A : null,
421
+ arrowProps: {
422
+ "aria-hidden": "true",
423
+ role: "presentation",
424
+ style: {
425
+ left: v == null ? void 0 : v.arrowOffsetLeft,
426
+ top: v == null ? void 0 : v.arrowOffsetTop
427
+ }
428
+ },
429
+ updatePosition: y
430
+ };
431
+ }
432
+ function kr(t) {
433
+ G(() => (window.addEventListener("resize", t, !1), () => {
434
+ window.removeEventListener("resize", t, !1);
435
+ }), [
436
+ t
437
+ ]);
438
+ }
439
+ function Br(t, e) {
440
+ return e === "rtl" ? t.replace("start", "right").replace("end", "left") : t.replace("start", "left").replace("end", "right");
441
+ }
442
+ const W = [];
443
+ function Tr(t, e) {
444
+ let { onClose: o, shouldCloseOnBlur: r, isOpen: n, isDismissable: l = !1, isKeyboardDismissDisabled: u = !1, shouldCloseOnInteractOutside: a } = t;
445
+ Y(() => (n && W.push(e), () => {
446
+ let f = W.indexOf(e);
447
+ f >= 0 && W.splice(f, 1);
448
+ }), [
449
+ n,
450
+ e
451
+ ]);
452
+ let s = () => {
453
+ W[W.length - 1] === e && o && o();
454
+ }, d = (f) => {
455
+ (!a || a(f.target)) && W[W.length - 1] === e && (f.stopPropagation(), f.preventDefault());
456
+ }, i = (f) => {
457
+ (!a || a(f.target)) && (W[W.length - 1] === e && (f.stopPropagation(), f.preventDefault()), s());
458
+ }, p = (f) => {
459
+ f.key === "Escape" && !u && !f.nativeEvent.isComposing && (f.stopPropagation(), f.preventDefault(), s());
460
+ };
461
+ hr({
462
+ ref: e,
463
+ onInteractOutside: l && n ? i : void 0,
464
+ onInteractOutsideStart: d
465
+ });
466
+ let { focusWithinProps: $ } = Io({
467
+ isDisabled: !r,
468
+ onBlurWithin: (f) => {
469
+ !f.relatedTarget || $r(f.relatedTarget) || (!a || a(f.relatedTarget)) && (o == null || o());
470
+ }
471
+ }), c = (f) => {
472
+ f.target === f.currentTarget && f.preventDefault();
473
+ };
474
+ return {
475
+ overlayProps: {
476
+ onKeyDown: p,
477
+ ...$
478
+ },
479
+ underlayProps: {
480
+ onPointerDown: c
481
+ }
482
+ };
483
+ }
484
+ function nt(t, e, o) {
485
+ let { type: r } = t, { isOpen: n } = e;
486
+ Y(() => {
487
+ o && o.current && rt.set(o.current, e.close);
488
+ });
489
+ let l;
490
+ r === "menu" ? l = !0 : r === "listbox" && (l = "listbox");
491
+ let u = pe();
492
+ return {
493
+ triggerProps: {
494
+ "aria-haspopup": l,
495
+ "aria-expanded": n,
496
+ "aria-controls": n ? u : void 0,
497
+ onPress: e.toggle
498
+ },
499
+ overlayProps: {
500
+ id: u
501
+ }
502
+ };
503
+ }
504
+ const ye = typeof document < "u" && window.visualViewport, Fr = /* @__PURE__ */ new Set([
505
+ "checkbox",
506
+ "radio",
507
+ "range",
508
+ "color",
509
+ "file",
510
+ "image",
511
+ "button",
512
+ "submit",
513
+ "reset"
514
+ ]);
515
+ let ue = 0, Pe;
516
+ function Lr(t = {}) {
517
+ let { isDisabled: e } = t;
518
+ G(() => {
519
+ if (!e)
520
+ return ue++, ue === 1 && (Oo() ? Pe = Kr() : Pe = Rr()), () => {
521
+ ue--, ue === 0 && Pe();
522
+ };
523
+ }, [
524
+ e
525
+ ]);
526
+ }
527
+ function Rr() {
528
+ return Ee(Q(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`), Q(document.documentElement, "overflow", "hidden"));
529
+ }
530
+ function Kr() {
531
+ let t, e, o = (d) => {
532
+ t = tt(d.target, !0), !(t === document.documentElement && t === document.body) && t instanceof HTMLElement && window.getComputedStyle(t).overscrollBehavior === "auto" && (e = Q(t, "overscrollBehavior", "contain"));
533
+ }, r = (d) => {
534
+ if (!t || t === document.documentElement || t === document.body) {
535
+ d.preventDefault();
536
+ return;
537
+ }
538
+ t.scrollHeight === t.clientHeight && t.scrollWidth === t.clientWidth && d.preventDefault();
539
+ }, n = (d) => {
540
+ let i = d.target;
541
+ je(i) && i !== document.activeElement && (d.preventDefault(), a(), i.style.transform = "translateY(-2000px)", i.focus(), requestAnimationFrame(() => {
542
+ i.style.transform = "";
543
+ })), e && e();
544
+ }, l = (d) => {
545
+ let i = d.target;
546
+ je(i) && (a(), i.style.transform = "translateY(-2000px)", requestAnimationFrame(() => {
547
+ i.style.transform = "", ye && (ye.height < window.innerHeight ? requestAnimationFrame(() => {
548
+ Ue(i);
549
+ }) : ye.addEventListener("resize", () => Ue(i), {
550
+ once: !0
551
+ }));
552
+ }));
553
+ }, u = null, a = () => {
554
+ if (u) return;
555
+ let d = () => {
556
+ window.scrollTo(0, 0);
557
+ }, i = window.pageXOffset, p = window.pageYOffset;
558
+ u = Ee(re(window, "scroll", d), Q(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`), Q(document.documentElement, "overflow", "hidden"), Q(document.body, "marginTop", `-${p}px`), () => {
559
+ window.scrollTo(i, p);
560
+ }), window.scrollTo(0, 0);
561
+ }, s = Ee(re(document, "touchstart", o, {
562
+ passive: !1,
563
+ capture: !0
564
+ }), re(document, "touchmove", r, {
565
+ passive: !1,
566
+ capture: !0
567
+ }), re(document, "touchend", n, {
568
+ passive: !1,
569
+ capture: !0
570
+ }), re(document, "focus", l, !0));
571
+ return () => {
572
+ e == null || e(), u == null || u(), s();
573
+ };
574
+ }
575
+ function Q(t, e, o) {
576
+ let r = t.style[e];
577
+ return t.style[e] = o, () => {
578
+ t.style[e] = r;
579
+ };
580
+ }
581
+ function re(t, e, o, r) {
582
+ return t.addEventListener(e, o, r), () => {
583
+ t.removeEventListener(e, o, r);
584
+ };
585
+ }
586
+ function Ue(t) {
587
+ let e = document.scrollingElement || document.documentElement, o = t;
588
+ for (; o && o !== e; ) {
589
+ let r = tt(o);
590
+ if (r !== document.documentElement && r !== document.body && r !== o) {
591
+ let n = r.getBoundingClientRect().top, l = o.getBoundingClientRect().top;
592
+ l > n + o.clientHeight && (r.scrollTop += l - n);
593
+ }
594
+ o = r.parentElement;
595
+ }
596
+ }
597
+ function je(t) {
598
+ return t instanceof HTMLInputElement && !Fr.has(t.type) || t instanceof HTMLTextAreaElement || t instanceof HTMLElement && t.isContentEditable;
599
+ }
600
+ var lt = {};
601
+ lt = {
602
+ dismiss: "تجاهل"
603
+ };
604
+ var at = {};
605
+ at = {
606
+ dismiss: "Отхвърляне"
607
+ };
608
+ var st = {};
609
+ st = {
610
+ dismiss: "Odstranit"
611
+ };
612
+ var it = {};
613
+ it = {
614
+ dismiss: "Luk"
615
+ };
616
+ var ut = {};
617
+ ut = {
618
+ dismiss: "Schließen"
619
+ };
620
+ var dt = {};
621
+ dt = {
622
+ dismiss: "Απόρριψη"
623
+ };
624
+ var ct = {};
625
+ ct = {
626
+ dismiss: "Dismiss"
627
+ };
628
+ var ft = {};
629
+ ft = {
630
+ dismiss: "Descartar"
631
+ };
632
+ var pt = {};
633
+ pt = {
634
+ dismiss: "Lõpeta"
635
+ };
636
+ var $t = {};
637
+ $t = {
638
+ dismiss: "Hylkää"
639
+ };
640
+ var bt = {};
641
+ bt = {
642
+ dismiss: "Rejeter"
643
+ };
644
+ var mt = {};
645
+ mt = {
646
+ dismiss: "התעלם"
647
+ };
648
+ var gt = {};
649
+ gt = {
650
+ dismiss: "Odbaci"
651
+ };
652
+ var vt = {};
653
+ vt = {
654
+ dismiss: "Elutasítás"
655
+ };
656
+ var xt = {};
657
+ xt = {
658
+ dismiss: "Ignora"
659
+ };
660
+ var ht = {};
661
+ ht = {
662
+ dismiss: "閉じる"
663
+ };
664
+ var yt = {};
665
+ yt = {
666
+ dismiss: "무시"
667
+ };
668
+ var Pt = {};
669
+ Pt = {
670
+ dismiss: "Atmesti"
671
+ };
672
+ var Et = {};
673
+ Et = {
674
+ dismiss: "Nerādīt"
675
+ };
676
+ var Ct = {};
677
+ Ct = {
678
+ dismiss: "Lukk"
679
+ };
680
+ var wt = {};
681
+ wt = {
682
+ dismiss: "Negeren"
683
+ };
684
+ var Dt = {};
685
+ Dt = {
686
+ dismiss: "Zignoruj"
687
+ };
688
+ var At = {};
689
+ At = {
690
+ dismiss: "Descartar"
691
+ };
692
+ var Mt = {};
693
+ Mt = {
694
+ dismiss: "Dispensar"
695
+ };
696
+ var St = {};
697
+ St = {
698
+ dismiss: "Revocare"
699
+ };
700
+ var kt = {};
701
+ kt = {
702
+ dismiss: "Пропустить"
703
+ };
704
+ var Bt = {};
705
+ Bt = {
706
+ dismiss: "Zrušiť"
707
+ };
708
+ var Tt = {};
709
+ Tt = {
710
+ dismiss: "Opusti"
711
+ };
712
+ var Ft = {};
713
+ Ft = {
714
+ dismiss: "Odbaci"
715
+ };
716
+ var Lt = {};
717
+ Lt = {
718
+ dismiss: "Avvisa"
719
+ };
720
+ var Rt = {};
721
+ Rt = {
722
+ dismiss: "Kapat"
723
+ };
724
+ var Kt = {};
725
+ Kt = {
726
+ dismiss: "Скасувати"
727
+ };
728
+ var It = {};
729
+ It = {
730
+ dismiss: "取消"
731
+ };
732
+ var Ot = {};
733
+ Ot = {
734
+ dismiss: "關閉"
735
+ };
736
+ var _t = {};
737
+ _t = {
738
+ "ar-AE": lt,
739
+ "bg-BG": at,
740
+ "cs-CZ": st,
741
+ "da-DK": it,
742
+ "de-DE": ut,
743
+ "el-GR": dt,
744
+ "en-US": ct,
745
+ "es-ES": ft,
746
+ "et-EE": pt,
747
+ "fi-FI": $t,
748
+ "fr-FR": bt,
749
+ "he-IL": mt,
750
+ "hr-HR": gt,
751
+ "hu-HU": vt,
752
+ "it-IT": xt,
753
+ "ja-JP": ht,
754
+ "ko-KR": yt,
755
+ "lt-LT": Pt,
756
+ "lv-LV": Et,
757
+ "nb-NO": Ct,
758
+ "nl-NL": wt,
759
+ "pl-PL": Dt,
760
+ "pt-BR": At,
761
+ "pt-PT": Mt,
762
+ "ro-RO": St,
763
+ "ru-RU": kt,
764
+ "sk-SK": Bt,
765
+ "sl-SI": Tt,
766
+ "sr-SP": Ft,
767
+ "sv-SE": Lt,
768
+ "tr-TR": Rt,
769
+ "uk-UA": Kt,
770
+ "zh-CN": It,
771
+ "zh-TW": Ot
772
+ };
773
+ function Ir(t) {
774
+ return t && t.__esModule ? t.default : t;
775
+ }
776
+ function We(t) {
777
+ let { onDismiss: e, ...o } = t, r = Qe(Ir(_t), "@react-aria/overlays"), n = fr(o, r.format("dismiss")), l = () => {
778
+ e && e();
779
+ };
780
+ return /* @__PURE__ */ g.createElement(vr, null, /* @__PURE__ */ g.createElement("button", {
781
+ ...n,
782
+ tabIndex: -1,
783
+ onClick: l,
784
+ style: {
785
+ width: 1,
786
+ height: 1
787
+ }
788
+ }));
789
+ }
790
+ let ne = /* @__PURE__ */ new WeakMap(), I = [];
791
+ function Or(t, e = document.body) {
792
+ let o = new Set(t), r = /* @__PURE__ */ new Set(), n = (s) => {
793
+ for (let $ of s.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]")) o.add($);
794
+ let d = ($) => {
795
+ if (o.has($) || $.parentElement && r.has($.parentElement) && $.parentElement.getAttribute("role") !== "row") return NodeFilter.FILTER_REJECT;
796
+ for (let c of o)
797
+ if ($.contains(c)) return NodeFilter.FILTER_SKIP;
798
+ return NodeFilter.FILTER_ACCEPT;
799
+ }, i = document.createTreeWalker(s, NodeFilter.SHOW_ELEMENT, {
800
+ acceptNode: d
801
+ }), p = d(s);
802
+ if (p === NodeFilter.FILTER_ACCEPT && l(s), p !== NodeFilter.FILTER_REJECT) {
803
+ let $ = i.nextNode();
804
+ for (; $ != null; )
805
+ l($), $ = i.nextNode();
806
+ }
807
+ }, l = (s) => {
808
+ var d;
809
+ let i = (d = ne.get(s)) !== null && d !== void 0 ? d : 0;
810
+ s.getAttribute("aria-hidden") === "true" && i === 0 || (i === 0 && s.setAttribute("aria-hidden", "true"), r.add(s), ne.set(s, i + 1));
811
+ };
812
+ I.length && I[I.length - 1].disconnect(), n(e);
813
+ let u = new MutationObserver((s) => {
814
+ for (let d of s)
815
+ if (!(d.type !== "childList" || d.addedNodes.length === 0) && ![
816
+ ...o,
817
+ ...r
818
+ ].some((i) => i.contains(d.target))) {
819
+ for (let i of d.removedNodes) i instanceof Element && (o.delete(i), r.delete(i));
820
+ for (let i of d.addedNodes)
821
+ (i instanceof HTMLElement || i instanceof SVGElement) && (i.dataset.liveAnnouncer === "true" || i.dataset.reactAriaTopLayer === "true") ? o.add(i) : i instanceof Element && n(i);
822
+ }
823
+ });
824
+ u.observe(e, {
825
+ childList: !0,
826
+ subtree: !0
827
+ });
828
+ let a = {
829
+ observe() {
830
+ u.observe(e, {
831
+ childList: !0,
832
+ subtree: !0
833
+ });
834
+ },
835
+ disconnect() {
836
+ u.disconnect();
837
+ }
838
+ };
839
+ return I.push(a), () => {
840
+ u.disconnect();
841
+ for (let s of r) {
842
+ let d = ne.get(s);
843
+ d != null && (d === 1 ? (s.removeAttribute("aria-hidden"), ne.delete(s)) : ne.set(s, d - 1));
844
+ }
845
+ a === I[I.length - 1] ? (I.pop(), I.length && I[I.length - 1].observe()) : I.splice(I.indexOf(a), 1);
846
+ };
847
+ }
848
+ function _r(t, e) {
849
+ let { triggerRef: o, popoverRef: r, isNonModal: n, isKeyboardDismissDisabled: l, shouldCloseOnInteractOutside: u, ...a } = t, { overlayProps: s, underlayProps: d } = Tr({
850
+ // If popover is in the top layer, it should not prevent other popovers from being dismissed.
851
+ isOpen: e.isOpen && !a["data-react-aria-top-layer"],
852
+ onClose: e.close,
853
+ shouldCloseOnBlur: !0,
854
+ isDismissable: !n,
855
+ isKeyboardDismissDisabled: l,
856
+ shouldCloseOnInteractOutside: u
857
+ }, r), { overlayProps: i, arrowProps: p, placement: $ } = Sr({
858
+ ...a,
859
+ targetRef: o,
860
+ overlayRef: r,
861
+ isOpen: e.isOpen,
862
+ onClose: n ? e.close : void 0
863
+ });
864
+ return Lr({
865
+ isDisabled: n || !e.isOpen
866
+ }), G(() => {
867
+ if (e.isOpen && !n && r.current) return Or([
868
+ r.current
869
+ ]);
870
+ }, [
871
+ n,
872
+ e.isOpen,
873
+ r
874
+ ]), {
875
+ popoverProps: le(s, i),
876
+ arrowProps: p,
877
+ underlayProps: d,
878
+ placement: $
879
+ };
880
+ }
881
+ const zr = /* @__PURE__ */ O({});
882
+ function Hr() {
883
+ var t;
884
+ return (t = _(zr)) !== null && t !== void 0 ? t : {};
885
+ }
886
+ const zt = /* @__PURE__ */ g.createContext(null);
887
+ function Nr(t) {
888
+ let e = _o(), { portalContainer: o = e ? null : document.body, isExiting: r } = t, [n, l] = te(!1), u = Ye(() => ({
889
+ contain: n,
890
+ setContain: l
891
+ }), [
892
+ n,
893
+ l
894
+ ]), { getContainer: a } = Hr();
895
+ if (!t.portalContainer && a && (o = a()), !o) return null;
896
+ let s = t.children;
897
+ return t.disableFocusManagement || (s = /* @__PURE__ */ g.createElement(et, {
898
+ restoreFocus: !0,
899
+ contain: n && !r
900
+ }, s)), s = /* @__PURE__ */ g.createElement(zt.Provider, {
901
+ value: u
902
+ }, /* @__PURE__ */ g.createElement(cr, null, s)), /* @__PURE__ */ br.createPortal(s, o);
903
+ }
904
+ function Ur() {
905
+ let t = _(zt), e = t == null ? void 0 : t.setContain;
906
+ G(() => {
907
+ e == null || e(!0);
908
+ }, [
909
+ e
910
+ ]);
911
+ }
912
+ var Ht = {};
913
+ Ht = {
914
+ longPressMessage: "اضغط مطولاً أو اضغط على Alt + السهم لأسفل لفتح القائمة"
915
+ };
916
+ var Nt = {};
917
+ Nt = {
918
+ longPressMessage: "Натиснете продължително или натиснете Alt+ стрелка надолу, за да отворите менюто"
919
+ };
920
+ var Ut = {};
921
+ Ut = {
922
+ longPressMessage: "Dlouhým stiskem nebo stisknutím kláves Alt + šipka dolů otevřete nabídku"
923
+ };
924
+ var jt = {};
925
+ jt = {
926
+ longPressMessage: "Langt tryk eller tryk på Alt + pil ned for at åbne menuen"
927
+ };
928
+ var Wt = {};
929
+ Wt = {
930
+ longPressMessage: "Drücken Sie lange oder drücken Sie Alt + Nach-unten, um das Menü zu öffnen"
931
+ };
932
+ var Vt = {};
933
+ Vt = {
934
+ longPressMessage: "Πιέστε παρατεταμένα ή πατήστε Alt + κάτω βέλος για να ανοίξετε το μενού"
935
+ };
936
+ var Yt = {};
937
+ Yt = {
938
+ longPressMessage: "Long press or press Alt + ArrowDown to open menu"
939
+ };
940
+ var Zt = {};
941
+ Zt = {
942
+ longPressMessage: "Mantenga pulsado o pulse Alt + flecha abajo para abrir el menú"
943
+ };
944
+ var Gt = {};
945
+ Gt = {
946
+ longPressMessage: "Menüü avamiseks vajutage pikalt või vajutage klahve Alt + allanool"
947
+ };
948
+ var qt = {};
949
+ qt = {
950
+ longPressMessage: "Avaa valikko painamalla pohjassa tai näppäinyhdistelmällä Alt + Alanuoli"
951
+ };
952
+ var Xt = {};
953
+ Xt = {
954
+ longPressMessage: "Appuyez de manière prolongée ou appuyez sur Alt + Flèche vers le bas pour ouvrir le menu."
955
+ };
956
+ var Jt = {};
957
+ Jt = {
958
+ longPressMessage: "לחץ לחיצה ארוכה או הקש Alt + ArrowDown כדי לפתוח את התפריט"
959
+ };
960
+ var Qt = {};
961
+ Qt = {
962
+ longPressMessage: "Dugo pritisnite ili pritisnite Alt + strelicu prema dolje za otvaranje izbornika"
963
+ };
964
+ var eo = {};
965
+ eo = {
966
+ longPressMessage: "Nyomja meg hosszan, vagy nyomja meg az Alt + lefele nyíl gombot a menü megnyitásához"
967
+ };
968
+ var to = {};
969
+ to = {
970
+ longPressMessage: "Premere a lungo o premere Alt + Freccia giù per aprire il menu"
971
+ };
972
+ var oo = {};
973
+ oo = {
974
+ longPressMessage: "長押しまたは Alt+下矢印キーでメニューを開く"
975
+ };
976
+ var ro = {};
977
+ ro = {
978
+ longPressMessage: "길게 누르거나 Alt + 아래쪽 화살표를 눌러 메뉴 열기"
979
+ };
980
+ var no = {};
981
+ no = {
982
+ longPressMessage: "Norėdami atidaryti meniu, nuspaudę palaikykite arba paspauskite „Alt + ArrowDown“."
983
+ };
984
+ var lo = {};
985
+ lo = {
986
+ longPressMessage: "Lai atvērtu izvēlni, turiet nospiestu vai nospiediet taustiņu kombināciju Alt + lejupvērstā bultiņa"
987
+ };
988
+ var ao = {};
989
+ ao = {
990
+ longPressMessage: "Langt trykk eller trykk Alt + PilNed for å åpne menyen"
991
+ };
992
+ var so = {};
993
+ so = {
994
+ longPressMessage: "Druk lang op Alt + pijl-omlaag of druk op Alt om het menu te openen"
995
+ };
996
+ var io = {};
997
+ io = {
998
+ longPressMessage: "Naciśnij i przytrzymaj lub naciśnij klawisze Alt + Strzałka w dół, aby otworzyć menu"
999
+ };
1000
+ var uo = {};
1001
+ uo = {
1002
+ longPressMessage: "Pressione e segure ou pressione Alt + Seta para baixo para abrir o menu"
1003
+ };
1004
+ var co = {};
1005
+ co = {
1006
+ longPressMessage: "Prima continuamente ou prima Alt + Seta Para Baixo para abrir o menu"
1007
+ };
1008
+ var fo = {};
1009
+ fo = {
1010
+ longPressMessage: "Apăsați lung sau apăsați pe Alt + săgeată în jos pentru a deschide meniul"
1011
+ };
1012
+ var po = {};
1013
+ po = {
1014
+ longPressMessage: "Нажмите и удерживайте или нажмите Alt + Стрелка вниз, чтобы открыть меню"
1015
+ };
1016
+ var $o = {};
1017
+ $o = {
1018
+ longPressMessage: "Ponuku otvoríte dlhým stlačením alebo stlačením klávesu Alt + klávesu so šípkou nadol"
1019
+ };
1020
+ var bo = {};
1021
+ bo = {
1022
+ longPressMessage: "Za odprtje menija pritisnite in držite gumb ali pritisnite Alt+puščica navzdol"
1023
+ };
1024
+ var mo = {};
1025
+ mo = {
1026
+ longPressMessage: "Dugo pritisnite ili pritisnite Alt + strelicu prema dole da otvorite meni"
1027
+ };
1028
+ var go = {};
1029
+ go = {
1030
+ longPressMessage: "Håll nedtryckt eller tryck på Alt + pil nedåt för att öppna menyn"
1031
+ };
1032
+ var vo = {};
1033
+ vo = {
1034
+ longPressMessage: "Menüyü açmak için uzun basın veya Alt + Aşağı Ok tuşuna basın"
1035
+ };
1036
+ var xo = {};
1037
+ xo = {
1038
+ longPressMessage: "Довго або звичайно натисніть комбінацію клавіш Alt і стрілка вниз, щоб відкрити меню"
1039
+ };
1040
+ var ho = {};
1041
+ ho = {
1042
+ longPressMessage: "长按或按 Alt + 向下方向键以打开菜单"
1043
+ };
1044
+ var yo = {};
1045
+ yo = {
1046
+ longPressMessage: "長按或按 Alt+向下鍵以開啟功能表"
1047
+ };
1048
+ var Po = {};
1049
+ Po = {
1050
+ "ar-AE": Ht,
1051
+ "bg-BG": Nt,
1052
+ "cs-CZ": Ut,
1053
+ "da-DK": jt,
1054
+ "de-DE": Wt,
1055
+ "el-GR": Vt,
1056
+ "en-US": Yt,
1057
+ "es-ES": Zt,
1058
+ "et-EE": Gt,
1059
+ "fi-FI": qt,
1060
+ "fr-FR": Xt,
1061
+ "he-IL": Jt,
1062
+ "hr-HR": Qt,
1063
+ "hu-HU": eo,
1064
+ "it-IT": to,
1065
+ "ja-JP": oo,
1066
+ "ko-KR": ro,
1067
+ "lt-LT": no,
1068
+ "lv-LV": lo,
1069
+ "nb-NO": ao,
1070
+ "nl-NL": so,
1071
+ "pl-PL": io,
1072
+ "pt-BR": uo,
1073
+ "pt-PT": co,
1074
+ "ro-RO": fo,
1075
+ "ru-RU": po,
1076
+ "sk-SK": $o,
1077
+ "sl-SI": bo,
1078
+ "sr-SP": mo,
1079
+ "sv-SE": go,
1080
+ "tr-TR": vo,
1081
+ "uk-UA": xo,
1082
+ "zh-CN": ho,
1083
+ "zh-TW": yo
1084
+ };
1085
+ function jr(t) {
1086
+ return t && t.__esModule ? t.default : t;
1087
+ }
1088
+ function Wr(t, e, o) {
1089
+ let { type: r = "menu", isDisabled: n, trigger: l = "press" } = t, u = pe(), { triggerProps: a, overlayProps: s } = nt({
1090
+ type: r
1091
+ }, e, o), d = (c) => {
1092
+ if (!n && !(l === "longPress" && !c.altKey) && o && o.current)
1093
+ switch (c.key) {
1094
+ case "Enter":
1095
+ case " ":
1096
+ if (l === "longPress") return;
1097
+ case "ArrowDown":
1098
+ "continuePropagation" in c || c.stopPropagation(), c.preventDefault(), e.toggle("first");
1099
+ break;
1100
+ case "ArrowUp":
1101
+ "continuePropagation" in c || c.stopPropagation(), c.preventDefault(), e.toggle("last");
1102
+ break;
1103
+ default:
1104
+ "continuePropagation" in c && c.continuePropagation();
1105
+ }
1106
+ }, i = Qe(jr(Po), "@react-aria/menu"), { longPressProps: p } = ir({
1107
+ isDisabled: n || l !== "longPress",
1108
+ accessibilityDescription: i.format("longPressMessage"),
1109
+ onLongPressStart() {
1110
+ e.close();
1111
+ },
1112
+ onLongPress() {
1113
+ e.open("first");
1114
+ }
1115
+ }), $ = {
1116
+ onPressStart(c) {
1117
+ c.pointerType !== "touch" && c.pointerType !== "keyboard" && !n && e.open(c.pointerType === "virtual" ? "first" : null);
1118
+ },
1119
+ onPress(c) {
1120
+ c.pointerType === "touch" && !n && e.toggle();
1121
+ }
1122
+ };
1123
+ return delete a.onPress, {
1124
+ // @ts-ignore - TODO we pass out both DOMAttributes AND AriaButtonProps, but useButton will discard the longPress event handlers, it's only through PressResponder magic that this works for RSP and RAC. it does not work in aria examples
1125
+ menuTriggerProps: {
1126
+ ...a,
1127
+ ...l === "press" ? $ : p,
1128
+ id: u,
1129
+ onKeyDown: d
1130
+ },
1131
+ menuProps: {
1132
+ ...s,
1133
+ "aria-labelledby": u,
1134
+ autoFocus: e.focusStrategy || !0,
1135
+ onClose: e.close
1136
+ }
1137
+ };
1138
+ }
1139
+ const Eo = /* @__PURE__ */ new WeakMap();
1140
+ function Vr(t, e, o) {
1141
+ let { shouldFocusWrap: r = !0, onKeyDown: n, onKeyUp: l, ...u } = t;
1142
+ !t["aria-label"] && !t["aria-labelledby"] && console.warn("An aria-label or aria-labelledby prop is required for accessibility.");
1143
+ let a = q(t, {
1144
+ labelable: !0
1145
+ }), { listProps: s } = rr({
1146
+ ...u,
1147
+ ref: o,
1148
+ selectionManager: e.selectionManager,
1149
+ collection: e.collection,
1150
+ disabledKeys: e.disabledKeys,
1151
+ shouldFocusWrap: r,
1152
+ linkBehavior: "override"
1153
+ });
1154
+ return Eo.set(e, {
1155
+ onClose: t.onClose,
1156
+ onAction: t.onAction
1157
+ }), {
1158
+ menuProps: le(a, {
1159
+ onKeyDown: n,
1160
+ onKeyUp: l
1161
+ }, {
1162
+ role: "menu",
1163
+ ...s,
1164
+ onKeyDown: (d) => {
1165
+ var i;
1166
+ d.key !== "Escape" && ((i = s.onKeyDown) === null || i === void 0 || i.call(s, d));
1167
+ }
1168
+ })
1169
+ };
1170
+ }
1171
+ function Yr(t, e, o) {
1172
+ let { id: r, key: n, closeOnSelect: l, isVirtualized: u, "aria-haspopup": a, onPressStart: s, onPressUp: d, onPress: i, onPressChange: p, onPressEnd: $, onHoverStart: c, onHoverChange: f, onHoverEnd: h, onKeyDown: b, onKeyUp: v, onFocus: x, onFocusChange: C, onBlur: F, selectionManager: y = e.selectionManager } = t, m = !!a, K = m && t["aria-expanded"] === "true";
1173
+ var L;
1174
+ let A = (L = t.isDisabled) !== null && L !== void 0 ? L : y.isDisabled(n);
1175
+ var E;
1176
+ let B = (E = t.isSelected) !== null && E !== void 0 ? E : y.isSelected(n), T = Eo.get(e), P = e.collection.getItem(n), M = t.onClose || T.onClose, U = zo(), z = (D) => {
1177
+ var xe;
1178
+ if (!m) {
1179
+ if (!(P == null || (xe = P.props) === null || xe === void 0) && xe.onAction ? P.props.onAction() : t.onAction && t.onAction(n), T.onAction) {
1180
+ let Fo = T.onAction;
1181
+ Fo(n);
1182
+ }
1183
+ D.target instanceof HTMLAnchorElement && P && U.open(D.target, D, P.props.href, P.props.routerOptions);
1184
+ }
1185
+ }, R = "menuitem";
1186
+ m || (y.selectionMode === "single" ? R = "menuitemradio" : y.selectionMode === "multiple" && (R = "menuitemcheckbox"));
1187
+ let S = de(), H = de(), X = de(), J = {
1188
+ id: r,
1189
+ "aria-disabled": A || void 0,
1190
+ role: R,
1191
+ "aria-label": t["aria-label"],
1192
+ "aria-labelledby": S,
1193
+ "aria-describedby": [
1194
+ H,
1195
+ X
1196
+ ].filter(Boolean).join(" ") || void 0,
1197
+ "aria-controls": t["aria-controls"],
1198
+ "aria-haspopup": a,
1199
+ "aria-expanded": t["aria-expanded"]
1200
+ };
1201
+ y.selectionMode !== "none" && !m && (J["aria-checked"] = B), u && (J["aria-posinset"] = P == null ? void 0 : P.index, J["aria-setsize"] = nr(e.collection));
1202
+ let me = (D) => {
1203
+ D.pointerType === "keyboard" && z(D), s == null || s(D);
1204
+ }, ge = (D) => {
1205
+ D.pointerType !== "keyboard" && (z(D), !m && M && (l ?? (y.selectionMode !== "multiple" || y.isLink(n))) && M()), d == null || d(D);
1206
+ }, { itemProps: j, isFocused: ve } = ur({
1207
+ selectionManager: y,
1208
+ key: n,
1209
+ ref: o,
1210
+ shouldSelectOnPressUp: !0,
1211
+ allowsDifferentPressOrigin: !0,
1212
+ // Disable all handling of links in useSelectable item
1213
+ // because we handle it ourselves. The behavior of menus
1214
+ // is slightly different from other collections because
1215
+ // actions are performed on key down rather than key up.
1216
+ linkBehavior: "none"
1217
+ }), { pressProps: Te, isPressed: Mo } = Ho({
1218
+ onPressStart: me,
1219
+ onPress: i,
1220
+ onPressUp: ge,
1221
+ onPressChange: p,
1222
+ onPressEnd: $,
1223
+ isDisabled: A
1224
+ }), { hoverProps: So } = Ve({
1225
+ isDisabled: A,
1226
+ onHoverStart(D) {
1227
+ !No() && !(K && a === "dialog") && (y.setFocused(!0), y.setFocusedKey(n)), c == null || c(D);
1228
+ },
1229
+ onHoverChange: f,
1230
+ onHoverEnd: h
1231
+ }), { keyboardProps: ko } = pr({
1232
+ onKeyDown: (D) => {
1233
+ if (D.repeat) {
1234
+ D.continuePropagation();
1235
+ return;
1236
+ }
1237
+ switch (D.key) {
1238
+ case " ":
1239
+ !A && y.selectionMode === "none" && !m && l !== !1 && M && M();
1240
+ break;
1241
+ case "Enter":
1242
+ !A && l !== !1 && !m && M && M();
1243
+ break;
1244
+ default:
1245
+ m || D.continuePropagation(), b == null || b(D);
1246
+ break;
1247
+ }
1248
+ },
1249
+ onKeyUp: v
1250
+ }), { focusProps: Bo } = Uo({
1251
+ onBlur: F,
1252
+ onFocus: x,
1253
+ onFocusChange: C
1254
+ }), Fe = q(P == null ? void 0 : P.props);
1255
+ delete Fe.id;
1256
+ let To = jo(P == null ? void 0 : P.props);
1257
+ return {
1258
+ menuItemProps: {
1259
+ ...J,
1260
+ ...le(Fe, To, m ? {
1261
+ onFocus: j.onFocus,
1262
+ "data-key": j["data-key"]
1263
+ } : j, Te, So, ko, Bo),
1264
+ // If a submenu is expanded, set the tabIndex to -1 so that shift tabbing goes out of the menu instead of the parent menu item.
1265
+ tabIndex: j.tabIndex != null && K ? -1 : j.tabIndex
1266
+ },
1267
+ labelProps: {
1268
+ id: S
1269
+ },
1270
+ descriptionProps: {
1271
+ id: H
1272
+ },
1273
+ keyboardShortcutProps: {
1274
+ id: X
1275
+ },
1276
+ isFocused: ve,
1277
+ isSelected: B,
1278
+ isPressed: Mo,
1279
+ isDisabled: A
1280
+ };
1281
+ }
1282
+ function Zr(t) {
1283
+ let { heading: e, "aria-label": o } = t, r = pe();
1284
+ return {
1285
+ itemProps: {
1286
+ role: "presentation"
1287
+ },
1288
+ headingProps: e ? {
1289
+ // Techincally, menus cannot contain headings according to ARIA.
1290
+ // We hide the heading from assistive technology, using role="presentation",
1291
+ // and only use it as a label for the nested group.
1292
+ id: r,
1293
+ role: "presentation"
1294
+ } : {},
1295
+ groupProps: {
1296
+ role: "group",
1297
+ "aria-label": o,
1298
+ "aria-labelledby": e ? r : void 0
1299
+ }
1300
+ };
1301
+ }
1302
+ function Gr(t, e) {
1303
+ let { role: o = "dialog" } = t, r = de();
1304
+ r = t["aria-label"] ? void 0 : r;
1305
+ let n = V(!1);
1306
+ return Y(() => {
1307
+ if (e.current && !e.current.contains(document.activeElement)) {
1308
+ Re(e.current);
1309
+ let l = setTimeout(() => {
1310
+ document.activeElement === e.current && (n.current = !0, e.current && (e.current.blur(), Re(e.current)), n.current = !1);
1311
+ }, 500);
1312
+ return () => {
1313
+ clearTimeout(l);
1314
+ };
1315
+ }
1316
+ }, [
1317
+ e
1318
+ ]), Ur(), {
1319
+ dialogProps: {
1320
+ ...q(t, {
1321
+ labelable: !0
1322
+ }),
1323
+ role: o,
1324
+ tabIndex: -1,
1325
+ "aria-labelledby": t["aria-labelledby"] || r,
1326
+ // Prevent blur events from reaching useOverlay, which may cause
1327
+ // popovers to close. Since focus is contained within the dialog,
1328
+ // we don't want this to occur due to the above useEffect.
1329
+ onBlur: (l) => {
1330
+ n.current && l.stopPropagation();
1331
+ }
1332
+ },
1333
+ titleProps: {
1334
+ id: r
1335
+ }
1336
+ };
1337
+ }
1338
+ function Co(t) {
1339
+ let [e, o] = Je(t.isOpen, t.defaultOpen || !1, t.onOpenChange);
1340
+ const r = Z(() => {
1341
+ o(!0);
1342
+ }, [
1343
+ o
1344
+ ]), n = Z(() => {
1345
+ o(!1);
1346
+ }, [
1347
+ o
1348
+ ]), l = Z(() => {
1349
+ o(!e);
1350
+ }, [
1351
+ o,
1352
+ e
1353
+ ]);
1354
+ return {
1355
+ isOpen: e,
1356
+ setOpen: o,
1357
+ open: r,
1358
+ close: n,
1359
+ toggle: l
1360
+ };
1361
+ }
1362
+ function wo(t) {
1363
+ let e = Co(t), [o, r] = te(null), [n, l] = te([]), u = () => {
1364
+ l([]), e.close();
1365
+ };
1366
+ return {
1367
+ focusStrategy: o,
1368
+ ...e,
1369
+ open(d = null) {
1370
+ r(d), e.open();
1371
+ },
1372
+ toggle(d = null) {
1373
+ r(d), e.toggle();
1374
+ },
1375
+ close() {
1376
+ u();
1377
+ },
1378
+ expandedKeysStack: n,
1379
+ openSubmenu: (d, i) => {
1380
+ l((p) => i > p.length ? p : [
1381
+ ...p.slice(0, i),
1382
+ d
1383
+ ]);
1384
+ },
1385
+ closeSubmenu: (d, i) => {
1386
+ l((p) => p[i] === d ? p.slice(0, i) : p);
1387
+ }
1388
+ };
1389
+ }
1390
+ class qr {
1391
+ *[Symbol.iterator]() {
1392
+ yield* this.iterable;
1393
+ }
1394
+ get size() {
1395
+ return this.keyMap.size;
1396
+ }
1397
+ getKeys() {
1398
+ return this.keyMap.keys();
1399
+ }
1400
+ getKeyBefore(e) {
1401
+ let o = this.keyMap.get(e);
1402
+ var r;
1403
+ return o && (r = o.prevKey) !== null && r !== void 0 ? r : null;
1404
+ }
1405
+ getKeyAfter(e) {
1406
+ let o = this.keyMap.get(e);
1407
+ var r;
1408
+ return o && (r = o.nextKey) !== null && r !== void 0 ? r : null;
1409
+ }
1410
+ getFirstKey() {
1411
+ return this.firstKey;
1412
+ }
1413
+ getLastKey() {
1414
+ return this.lastKey;
1415
+ }
1416
+ getItem(e) {
1417
+ var o;
1418
+ return (o = this.keyMap.get(e)) !== null && o !== void 0 ? o : null;
1419
+ }
1420
+ at(e) {
1421
+ const o = [
1422
+ ...this.getKeys()
1423
+ ];
1424
+ return this.getItem(o[e]);
1425
+ }
1426
+ constructor(e, { expandedKeys: o } = {}) {
1427
+ this.keyMap = /* @__PURE__ */ new Map(), this.firstKey = null, this.lastKey = null, this.iterable = e, o = o || /* @__PURE__ */ new Set();
1428
+ let r = (a) => {
1429
+ if (this.keyMap.set(a.key, a), a.childNodes && (a.type === "section" || o.has(a.key))) for (let s of a.childNodes) r(s);
1430
+ };
1431
+ for (let a of e) r(a);
1432
+ let n = null, l = 0;
1433
+ for (let [a, s] of this.keyMap)
1434
+ n ? (n.nextKey = a, s.prevKey = n.key) : (this.firstKey = a, s.prevKey = void 0), s.type === "item" && (s.index = l++), n = s, n.nextKey = void 0;
1435
+ var u;
1436
+ this.lastKey = (u = n == null ? void 0 : n.key) !== null && u !== void 0 ? u : null;
1437
+ }
1438
+ }
1439
+ function Xr(t) {
1440
+ let { onExpandedChange: e } = t, [o, r] = Je(t.expandedKeys ? new Set(t.expandedKeys) : void 0, t.defaultExpandedKeys ? new Set(t.defaultExpandedKeys) : /* @__PURE__ */ new Set(), e), n = Ge(t), l = Ye(() => t.disabledKeys ? new Set(t.disabledKeys) : /* @__PURE__ */ new Set(), [
1441
+ t.disabledKeys
1442
+ ]), u = dr(t, Z((s) => new qr(s, {
1443
+ expandedKeys: o
1444
+ }), [
1445
+ o
1446
+ ]), null);
1447
+ return Y(() => {
1448
+ n.focusedKey != null && !u.getItem(n.focusedKey) && n.setFocusedKey(null);
1449
+ }, [
1450
+ u,
1451
+ n.focusedKey
1452
+ ]), {
1453
+ collection: u,
1454
+ expandedKeys: o,
1455
+ disabledKeys: l,
1456
+ toggleKey: (s) => {
1457
+ r(Jr(o, s));
1458
+ },
1459
+ setExpandedKeys: r,
1460
+ selectionManager: new qe(u, n)
1461
+ };
1462
+ }
1463
+ function Jr(t, e) {
1464
+ let o = new Set(t);
1465
+ return o.has(e) ? o.delete(e) : o.add(e), o;
1466
+ }
1467
+ const Qr = /* @__PURE__ */ O({
1468
+ placement: "bottom"
1469
+ }), Se = /* @__PURE__ */ O(null);
1470
+ function en(t, e) {
1471
+ [t, e] = $e(t, e, Se);
1472
+ let o = _(be), r = Co(t), n = t.isOpen != null || t.defaultOpen != null || !o ? r : o, l = Wo(e, n.isOpen) || t.isExiting || !1;
1473
+ if (mr()) {
1474
+ let a = t.children;
1475
+ return typeof a == "function" && (a = a({
1476
+ trigger: t.trigger || null,
1477
+ placement: "bottom",
1478
+ isEntering: !1,
1479
+ isExiting: !1,
1480
+ defaultChildren: null
1481
+ })), /* @__PURE__ */ g.createElement(g.Fragment, null, a);
1482
+ }
1483
+ return n && !n.isOpen && !l ? null : /* @__PURE__ */ g.createElement(tn, {
1484
+ ...t,
1485
+ triggerRef: t.triggerRef,
1486
+ state: n,
1487
+ popoverRef: e,
1488
+ isExiting: l
1489
+ });
1490
+ }
1491
+ const Mn = /* @__PURE__ */ Me(en);
1492
+ function tn({ state: t, isExiting: e, UNSTABLE_portalContainer: o, ...r }) {
1493
+ let n = V(null), [l, u] = te(0);
1494
+ G(() => {
1495
+ n.current && t.isOpen && u(n.current.getBoundingClientRect().width);
1496
+ }, [
1497
+ t.isOpen,
1498
+ n
1499
+ ]);
1500
+ var a;
1501
+ let { popoverProps: s, underlayProps: d, arrowProps: i, placement: p } = _r({
1502
+ ...r,
1503
+ offset: (a = r.offset) !== null && a !== void 0 ? a : 8,
1504
+ arrowSize: l
1505
+ }, t), $ = r.popoverRef, c = Vo($, !!p) || r.isEntering || !1, f = ae({
1506
+ ...r,
1507
+ defaultClassName: "react-aria-Popover",
1508
+ values: {
1509
+ trigger: r.trigger || null,
1510
+ placement: p,
1511
+ isEntering: c,
1512
+ isExiting: e
1513
+ }
1514
+ }), h = {
1515
+ ...s.style,
1516
+ ...f.style
1517
+ };
1518
+ return /* @__PURE__ */ g.createElement(Nr, {
1519
+ ...r,
1520
+ isExiting: e,
1521
+ portalContainer: o
1522
+ }, !r.isNonModal && t.isOpen && /* @__PURE__ */ g.createElement("div", {
1523
+ "data-testid": "underlay",
1524
+ ...d,
1525
+ style: {
1526
+ position: "fixed",
1527
+ inset: 0
1528
+ }
1529
+ }), /* @__PURE__ */ g.createElement("div", {
1530
+ ...le(q(r), s),
1531
+ ...f,
1532
+ ref: $,
1533
+ slot: r.slot || void 0,
1534
+ style: h,
1535
+ "data-trigger": r.trigger,
1536
+ "data-placement": p,
1537
+ "data-entering": c || void 0,
1538
+ "data-exiting": e || void 0
1539
+ }, !r.isNonModal && /* @__PURE__ */ g.createElement(We, {
1540
+ onDismiss: t.close
1541
+ }), /* @__PURE__ */ g.createElement(Qr.Provider, {
1542
+ value: {
1543
+ ...i,
1544
+ placement: p,
1545
+ ref: n
1546
+ }
1547
+ }, f.children), /* @__PURE__ */ g.createElement(We, {
1548
+ onDismiss: t.close
1549
+ })));
1550
+ }
1551
+ const on = /* @__PURE__ */ O({}), Do = /* @__PURE__ */ O(null), ke = /* @__PURE__ */ O(null), Be = /* @__PURE__ */ O(null), fe = /* @__PURE__ */ O(null);
1552
+ function Sn(t) {
1553
+ let e = wo(t), o = V(null), { menuTriggerProps: r, menuProps: n } = Wr({
1554
+ ...t,
1555
+ type: "menu"
1556
+ }, e, o), [l, u] = te(null), a = Z(() => {
1557
+ o.current && u(o.current.offsetWidth + "px");
1558
+ }, [
1559
+ o
1560
+ ]);
1561
+ Ce({
1562
+ ref: o,
1563
+ onResize: a
1564
+ });
1565
+ let s = V(null);
1566
+ return /* @__PURE__ */ g.createElement(oe, {
1567
+ values: [
1568
+ [
1569
+ Do,
1570
+ {
1571
+ ...n,
1572
+ ref: s
1573
+ }
1574
+ ],
1575
+ [
1576
+ be,
1577
+ e
1578
+ ],
1579
+ [
1580
+ Be,
1581
+ e
1582
+ ],
1583
+ [
1584
+ Se,
1585
+ {
1586
+ trigger: "MenuTrigger",
1587
+ triggerRef: o,
1588
+ scrollRef: s,
1589
+ placement: "bottom start",
1590
+ style: {
1591
+ "--trigger-width": l
1592
+ }
1593
+ }
1594
+ ]
1595
+ ]
1596
+ }, /* @__PURE__ */ g.createElement(Xe, {
1597
+ ...r,
1598
+ ref: o,
1599
+ isPressed: e.isOpen
1600
+ }, t.children));
1601
+ }
1602
+ const rn = /* @__PURE__ */ O(null);
1603
+ function nn(t, e) {
1604
+ return [t, e] = $e(t, e, Do), /* @__PURE__ */ g.createElement(Qo, {
1605
+ content: /* @__PURE__ */ g.createElement(er, t)
1606
+ }, (o) => o.size > 0 && /* @__PURE__ */ g.createElement(ln, {
1607
+ props: t,
1608
+ collection: o,
1609
+ menuRef: e
1610
+ }));
1611
+ }
1612
+ function ln({ props: t, collection: e, menuRef: o }) {
1613
+ let r = Xr({
1614
+ ...t,
1615
+ collection: e,
1616
+ children: void 0
1617
+ }), n = _(Be), { isVirtualized: l, CollectionRoot: u } = _(Ze), { menuProps: a } = Vr({
1618
+ ...t,
1619
+ isVirtualized: l,
1620
+ onClose: t.onClose || (n == null ? void 0 : n.close)
1621
+ }, r, o), s = ae({
1622
+ defaultClassName: "react-aria-Menu",
1623
+ className: t.className,
1624
+ style: t.style,
1625
+ values: {}
1626
+ });
1627
+ return /* @__PURE__ */ g.createElement(et, null, /* @__PURE__ */ g.createElement("div", {
1628
+ ...q(t),
1629
+ ...a,
1630
+ ...s,
1631
+ ref: o,
1632
+ slot: t.slot || void 0,
1633
+ onScroll: t.onScroll
1634
+ }, /* @__PURE__ */ g.createElement(oe, {
1635
+ values: [
1636
+ [
1637
+ ke,
1638
+ r
1639
+ ],
1640
+ [
1641
+ lr,
1642
+ {
1643
+ elementType: "div"
1644
+ }
1645
+ ],
1646
+ [
1647
+ tr,
1648
+ {
1649
+ name: "MenuSection",
1650
+ render: sn
1651
+ }
1652
+ ],
1653
+ [
1654
+ rn,
1655
+ {
1656
+ parentMenuRef: o
1657
+ }
1658
+ ],
1659
+ [
1660
+ Ae,
1661
+ null
1662
+ ],
1663
+ [
1664
+ fe,
1665
+ r.selectionManager
1666
+ ]
1667
+ ]
1668
+ }, /* @__PURE__ */ g.createElement(u, {
1669
+ collection: e,
1670
+ persistedKeys: or(r.selectionManager.focusedKey),
1671
+ scrollRef: o
1672
+ }))));
1673
+ }
1674
+ const kn = /* @__PURE__ */ Me(nn);
1675
+ class an extends qe {
1676
+ get focusedKey() {
1677
+ return this.parent.focusedKey;
1678
+ }
1679
+ get isFocused() {
1680
+ return this.parent.isFocused;
1681
+ }
1682
+ setFocusedKey(e, o) {
1683
+ return this.parent.setFocusedKey(e, o);
1684
+ }
1685
+ setFocused(e) {
1686
+ this.parent.setFocused(e);
1687
+ }
1688
+ get childFocusStrategy() {
1689
+ return this.parent.childFocusStrategy;
1690
+ }
1691
+ constructor(e, o) {
1692
+ super(e.collection, o), this.parent = e;
1693
+ }
1694
+ }
1695
+ function sn(t, e, o, r = "react-aria-MenuSection") {
1696
+ var n, l;
1697
+ let u = _(ke), { CollectionBranch: a } = _(Ze), [s, d] = qo();
1698
+ var i;
1699
+ let { headingProps: p, groupProps: $ } = Zr({
1700
+ heading: d,
1701
+ "aria-label": (i = o.props["aria-label"]) !== null && i !== void 0 ? i : void 0
1702
+ }), c = ae({
1703
+ defaultClassName: r,
1704
+ className: (n = o.props) === null || n === void 0 ? void 0 : n.className,
1705
+ style: (l = o.props) === null || l === void 0 ? void 0 : l.style,
1706
+ values: {}
1707
+ }), f = _(fe), h = Ge(t), b = t.selectionMode != null ? new an(f, h) : f;
1708
+ return /* @__PURE__ */ g.createElement("section", {
1709
+ ...q(t),
1710
+ ...$,
1711
+ ...c,
1712
+ ref: e
1713
+ }, /* @__PURE__ */ g.createElement(oe, {
1714
+ values: [
1715
+ [
1716
+ ar,
1717
+ {
1718
+ ...p,
1719
+ ref: s
1720
+ }
1721
+ ],
1722
+ [
1723
+ fe,
1724
+ b
1725
+ ]
1726
+ ]
1727
+ }, /* @__PURE__ */ g.createElement(a, {
1728
+ collection: u.collection,
1729
+ parent: o
1730
+ })));
1731
+ }
1732
+ const Ae = /* @__PURE__ */ O(null), Bn = /* @__PURE__ */ Jo("item", function(e, o, r) {
1733
+ var n;
1734
+ [e, o] = $e(e, o, Ae);
1735
+ let l = (n = Yo(Ae)) === null || n === void 0 ? void 0 : n.id, u = _(ke), a = Zo(o), s = _(fe), { menuItemProps: d, labelProps: i, descriptionProps: p, keyboardShortcutProps: $, ...c } = Yr({
1736
+ ...e,
1737
+ id: l,
1738
+ key: r.key,
1739
+ selectionManager: s
1740
+ }, u, a), { isFocusVisible: f, focusProps: h } = Go(), { hoverProps: b, isHovered: v } = Ve({
1741
+ isDisabled: c.isDisabled
1742
+ }), x = ae({
1743
+ ...e,
1744
+ id: void 0,
1745
+ children: r.rendered,
1746
+ defaultClassName: "react-aria-MenuItem",
1747
+ values: {
1748
+ ...c,
1749
+ isHovered: v,
1750
+ isFocusVisible: f,
1751
+ selectionMode: s.selectionMode,
1752
+ selectionBehavior: s.selectionBehavior,
1753
+ hasSubmenu: !!e["aria-haspopup"],
1754
+ isOpen: e["aria-expanded"] === "true"
1755
+ }
1756
+ }), C = e.href ? "a" : "div";
1757
+ return /* @__PURE__ */ g.createElement(C, {
1758
+ ...le(d, h, b),
1759
+ ...x,
1760
+ ref: a,
1761
+ "data-disabled": c.isDisabled || void 0,
1762
+ "data-hovered": v || void 0,
1763
+ "data-focused": c.isFocused || void 0,
1764
+ "data-focus-visible": f || void 0,
1765
+ "data-pressed": c.isPressed || void 0,
1766
+ "data-selected": c.isSelected || void 0,
1767
+ "data-selection-mode": s.selectionMode === "none" ? void 0 : s.selectionMode,
1768
+ "data-has-submenu": !!e["aria-haspopup"] || void 0,
1769
+ "data-open": e["aria-expanded"] === "true" || void 0
1770
+ }, /* @__PURE__ */ g.createElement(oe, {
1771
+ values: [
1772
+ [
1773
+ sr,
1774
+ {
1775
+ slots: {
1776
+ label: i,
1777
+ description: p
1778
+ }
1779
+ }
1780
+ ],
1781
+ [
1782
+ on,
1783
+ $
1784
+ ]
1785
+ ]
1786
+ }, x.children));
1787
+ }), Ao = /* @__PURE__ */ O(null), be = /* @__PURE__ */ O(null);
1788
+ function Tn(t) {
1789
+ let e = wo(t), o = V(null), { triggerProps: r, overlayProps: n } = nt({
1790
+ type: "dialog"
1791
+ }, e, o);
1792
+ return r.id = pe(), n["aria-labelledby"] = r.id, /* @__PURE__ */ g.createElement(oe, {
1793
+ values: [
1794
+ [
1795
+ be,
1796
+ e
1797
+ ],
1798
+ [
1799
+ Be,
1800
+ e
1801
+ ],
1802
+ [
1803
+ Ao,
1804
+ n
1805
+ ],
1806
+ [
1807
+ Se,
1808
+ {
1809
+ trigger: "DialogTrigger",
1810
+ triggerRef: o
1811
+ }
1812
+ ]
1813
+ ]
1814
+ }, /* @__PURE__ */ g.createElement(Xe, {
1815
+ ...r,
1816
+ ref: o,
1817
+ isPressed: e.isOpen
1818
+ }, t.children));
1819
+ }
1820
+ function un(t, e) {
1821
+ let o = t["aria-labelledby"];
1822
+ [t, e] = $e(t, e, Ao);
1823
+ let { dialogProps: r, titleProps: n } = Gr({
1824
+ ...t,
1825
+ // Only pass aria-labelledby from props, not context.
1826
+ // Context is used as a fallback below.
1827
+ "aria-labelledby": o
1828
+ }, e), l = _(be);
1829
+ !r["aria-label"] && !r["aria-labelledby"] && (t["aria-labelledby"] ? r["aria-labelledby"] = t["aria-labelledby"] : console.warn('If a Dialog does not contain a <Heading slot="title">, it must have an aria-label or aria-labelledby attribute for accessibility.'));
1830
+ let u = ae({
1831
+ defaultClassName: "react-aria-Dialog",
1832
+ className: t.className,
1833
+ style: t.style,
1834
+ children: t.children,
1835
+ values: {
1836
+ close: (l == null ? void 0 : l.close) || (() => {
1837
+ })
1838
+ }
1839
+ });
1840
+ return /* @__PURE__ */ g.createElement("section", {
1841
+ ...q(t),
1842
+ ...r,
1843
+ ...u,
1844
+ ref: e,
1845
+ slot: t.slot || void 0
1846
+ }, /* @__PURE__ */ g.createElement(oe, {
1847
+ values: [
1848
+ [
1849
+ Xo,
1850
+ {
1851
+ slots: {
1852
+ [Ke]: {},
1853
+ title: {
1854
+ ...n,
1855
+ level: 2
1856
+ }
1857
+ }
1858
+ }
1859
+ ],
1860
+ [
1861
+ Lo,
1862
+ {
1863
+ slots: {
1864
+ [Ke]: {},
1865
+ close: {
1866
+ onPress: () => l == null ? void 0 : l.close()
1867
+ }
1868
+ }
1869
+ }
1870
+ ]
1871
+ ]
1872
+ }, u.children));
1873
+ }
1874
+ const Fn = /* @__PURE__ */ Me(un);
1875
+ export {
1876
+ Sn as $,
1877
+ Mn as a,
1878
+ kn as b,
1879
+ Bn as c,
1880
+ Tn as d,
1881
+ Wr as e,
1882
+ Co as f,
1883
+ Ce as g,
1884
+ be as h,
1885
+ Se as i,
1886
+ Or as j,
1887
+ Ao as k,
1888
+ Fn as l
1889
+ };