@eightshift/ui-components 1.7.1 → 1.8.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 (112) hide show
  1. package/dist/{Button-VbCAu4hd.js → Button-Xa6Ny0p_.js} +7 -7
  2. package/dist/{Color-BpLubxWI.js → Color-VsesNqCf.js} +5 -17
  3. package/dist/{ColorSwatch-CinC14s3.js → ColorSwatch-xOFAZO_h.js} +4 -4
  4. package/dist/ComboBox-CP_SqnqT.js +1886 -0
  5. package/dist/Dialog-jcIYer1n.js +2177 -0
  6. package/dist/{FieldError-BttM1Nxd.js → FieldError-BPe3YgNH.js} +2 -2
  7. package/dist/{FocusScope-CtCX0OGo.js → FocusScope-uV-xoRHT.js} +8 -9
  8. package/dist/{Group-XzWUooix.js → Group-Bvmb49y7.js} +5 -5
  9. package/dist/{Heading-DZelepHV.js → Heading-Bfhyr4ZC.js} +1 -1
  10. package/dist/{Hidden-CcFqOzrp.js → Hidden-7ZhNuLM9.js} +2 -2
  11. package/dist/{Input-CV1qVS6t.js → Input-C2dTSp9z.js} +10 -10
  12. package/dist/{Label-BwqMVkuV.js → Label-DqNX_sAU.js} +2 -2
  13. package/dist/{List-Bx2anbX-.js → List-C7L49CxW.js} +1 -1
  14. package/dist/{ListBox-DuZPdnkk.js → ListBox-B9r1QoSm.js} +19 -18
  15. package/dist/{NumberFormatter-U_Gx0UDq.js → NumberFormatter-DA8u1Ot7.js} +4 -6
  16. package/dist/OverlayArrow-ClRhYjQu.js +567 -0
  17. package/dist/{Select-c7902d94.esm-DtzFQzf-.js → Select-aab027f3.esm-B8nEum75.js} +4 -4
  18. package/dist/{SelectionManager-x27KqnAT.js → SelectionManager-DP537Pbu.js} +177 -141
  19. package/dist/{Separator-BM58t3PP.js → Separator-Dmxzf3m_.js} +62 -52
  20. package/dist/{Slider-D9Cs6yKr.js → Slider-BgHBCyI7.js} +16 -14
  21. package/dist/{Text-BVIXT8qq.js → Text-DImhB4rT.js} +1 -1
  22. package/dist/{VisuallyHidden-WhC7vZaL.js → VisuallyHidden-wryJF4qQ.js} +2 -2
  23. package/dist/assets/style.css +1 -1
  24. package/dist/assets/wp-ui-enhancements.css +1 -1
  25. package/dist/components/animated-visibility/animated-visibility.js +141 -113
  26. package/dist/components/base-control/base-control.js +1 -1
  27. package/dist/components/button/button.js +10 -7
  28. package/dist/components/checkbox/checkbox.js +19 -11
  29. package/dist/components/color-pickers/color-picker.js +1 -1
  30. package/dist/components/color-pickers/color-swatch.js +3 -3
  31. package/dist/components/color-pickers/gradient-editor.js +2 -2
  32. package/dist/components/color-pickers/solid-color-picker.js +21 -21
  33. package/dist/components/component-toggle/component-toggle.js +1 -1
  34. package/dist/components/draggable/draggable-handle.js +2 -2
  35. package/dist/components/draggable/draggable.js +2 -2
  36. package/dist/components/draggable-list/draggable-list-item.js +2 -2
  37. package/dist/components/draggable-list/draggable-list.js +2 -2
  38. package/dist/components/expandable/expandable.js +3 -3
  39. package/dist/components/index.js +8 -4
  40. package/dist/components/input-field/input-field.js +7 -7
  41. package/dist/components/item-collection/item-collection.js +1 -1
  42. package/dist/components/link-input/link-input.js +10 -1872
  43. package/dist/components/list-box/list-box.js +2 -2
  44. package/dist/components/matrix-align/matrix-align.js +2 -2
  45. package/dist/components/menu/menu.js +7 -974
  46. package/dist/components/modal/modal.js +7 -7
  47. package/dist/components/number-picker/number-picker.js +10 -10
  48. package/dist/components/option-select/option-select.js +1 -1
  49. package/dist/components/options-panel/options-panel.js +1 -1
  50. package/dist/components/placeholders/file-placeholder.js +1 -1
  51. package/dist/components/popover/popover.js +2 -2
  52. package/dist/components/radio/radio.js +13 -13
  53. package/dist/components/repeater/repeater-item.js +1 -1
  54. package/dist/components/repeater/repeater.js +2 -2
  55. package/dist/components/responsive/mini-responsive.js +3 -3
  56. package/dist/components/responsive/responsive-legacy.js +2 -2
  57. package/dist/components/responsive/responsive.js +2 -2
  58. package/dist/components/responsive-preview/responsive-preview.js +1 -1
  59. package/dist/components/select/async-multi-select.js +3 -3
  60. package/dist/components/select/async-single-select.js +2 -2
  61. package/dist/components/select/custom-select-default-components.js +1 -1
  62. package/dist/components/select/multi-select-components.js +1 -1
  63. package/dist/components/select/multi-select.js +3 -3
  64. package/dist/components/select/react-select-component-wrappers.js +1 -1
  65. package/dist/components/select/single-select.js +2 -2
  66. package/dist/components/select/v2/async-select.js +307 -0
  67. package/dist/components/select/v2/shared.js +24 -0
  68. package/dist/components/select/v2/single-select.js +993 -0
  69. package/dist/components/slider/column-config-slider.js +3 -3
  70. package/dist/components/slider/slider.js +3 -3
  71. package/dist/components/slider/utils.js +1 -1
  72. package/dist/components/tabs/tabs.js +16 -16
  73. package/dist/components/toggle/switch.js +6 -6
  74. package/dist/components/toggle/toggle.js +1 -1
  75. package/dist/components/toggle-button/toggle-button.js +55 -12
  76. package/dist/components/tooltip/tooltip.js +532 -8
  77. package/dist/{context-Cs-ZD1nu.js → context-BI3VdU0Z.js} +2 -2
  78. package/dist/{default-i18n-DRnM8y4w.js → default-i18n-CM1-Xvzf.js} +183 -176
  79. package/dist/{focusSafely-CgFLw4FA.js → focusSafely-Cl9cN7Qx.js} +14 -14
  80. package/dist/icons/icons.js +171 -1
  81. package/dist/icons/jsx-svg.js +16 -3
  82. package/dist/{index-a301f526.esm-BMg114iK.js → index-641ee5b8.esm-BclOH4xf.js} +165 -29
  83. package/dist/{index-BTCzc3zb.js → index-D0mHceYg.js} +81 -17
  84. package/dist/index.js +7 -3
  85. package/dist/{multi-select-components-DTvEidE3.js → multi-select-components-BGQBvx-z.js} +55 -44
  86. package/dist/{react-jsx-parser.min-B5HVwW_W.js → react-jsx-parser.min-CVit0rZn.js} +5620 -7409
  87. package/dist/{react-select-async.esm-CxA8wpeT.js → react-select-async.esm-B8kK0aL4.js} +3 -3
  88. package/dist/{react-select.esm-CeE7o5M9.js → react-select.esm-ucYwBxq5.js} +3 -3
  89. package/dist/{textSelection-CvK0YHTZ.js → textSelection-DDDNsS-g.js} +1 -1
  90. package/dist/{useButton-Cy9eEev7.js → useButton-CRKy9xk2.js} +4 -4
  91. package/dist/{useEvent-LZebwyrb.js → useEvent-D54lIBrO.js} +1 -1
  92. package/dist/{useFocusRing-BMOTWmOx.js → useFocusRing-DKxoCzVD.js} +1 -1
  93. package/dist/{useFocusable-ByyKSVQv.js → useFocusable-CPKTGWPn.js} +4 -4
  94. package/dist/{useFormReset-B8m1uz1J.js → useFormReset-CTp--h9B.js} +1 -1
  95. package/dist/{useFormValidationState-BjMhz_VI.js → useFormValidation-BNBrliSj.js} +92 -88
  96. package/dist/{useLabel-B6uO0wVK.js → useLabel-CzGdEzIq.js} +2 -2
  97. package/dist/{useLabels-5dFkeiXx.js → useLabels-eGSmZC_Z.js} +1 -1
  98. package/dist/{useListState-eKxv7HPC.js → useListState-D7mE1Y00.js} +1 -1
  99. package/dist/{useLocalizedStringFormatter-BaKmjFNp.js → useLocalizedStringFormatter-BBeUyA9l.js} +1 -1
  100. package/dist/{useNumberField-DMMUTZ-h.js → useNumberField-BmEJmL3K.js} +27 -20
  101. package/dist/{useNumberFormatter-Cyx5Dxkf.js → useNumberFormatter-CTY_UZxq.js} +2 -2
  102. package/dist/{usePress-D8nPoIQm.js → usePress-BG9At5Lb.js} +4 -4
  103. package/dist/{useSingleSelectListState-CABciySJ.js → useSingleSelectListState-DeJEr7lC.js} +2 -2
  104. package/dist/{useToggle-BmltE9Zr.js → useToggle-QlyoyPYv.js} +4 -4
  105. package/dist/{useToggleState-DZXLEnA_.js → useToggleState-C1mnFRiI.js} +1 -1
  106. package/dist/utilities/text-helpers.js +6 -0
  107. package/dist/{utils-BCJajCwh.js → utils-BSxcP7tv.js} +15 -14
  108. package/package.json +20 -20
  109. package/dist/Dialog-BN5EE7UH.js +0 -934
  110. package/dist/isScrollable-Dh9D9IOd.js +0 -9
  111. package/dist/tooltip-eKaARDoV.js +0 -1084
  112. package/dist/useMenuTrigger-4fwEmto8.js +0 -246
@@ -0,0 +1,2177 @@
1
+ import { a as $d2b4bc8c273e7be6$export$24d547caef80ccd1 } from "./Button-Xa6Ny0p_.js";
2
+ import { m as $df56164dff5785e2$export$4338b53315abf666, d as $3ef42575df84b30b$export$9d1611c77c2fe928, g as $8ae05eaa5c114e9c$export$7f54fc3180508a52, f as $bdb11010cef70236$export$f680877a34711e37, k as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, q as $ff5963eb1fccf552$export$e08e3b67e392101e, e as $b5e257d569688ac6$export$535bd6ca7f90a273, l as $bdb11010cef70236$export$b4cc09c592e8fdb8, a as $64fa3d84918910a7$export$29f1550f4b0d4415, o as $64fa3d84918910a7$export$45fda7c47f93fd48, p as $64fa3d84918910a7$export$6d3443f2c48bfc20, b as $64fa3d84918910a7$export$4d86445c2cf5e3, j as $64fa3d84918910a7$export$2881499e37b75b9a, $ as $64fa3d84918910a7$export$fabf2dc03a41866e, h as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, r as $64fa3d84918910a7$export$c62b8e45d58ddad9 } from "./utils-BSxcP7tv.js";
3
+ import { $ as $4e85f108e88277b8$export$d688439359537581 } from "./RSPContexts-2lR5GG9p.js";
4
+ import { e as $dd149f63282afbbf$export$f6211563215e3b37, a as $2a41e45df1593e64$export$d39e1813b3bdd0e1, d as $9daab02d461809db$export$683480f191c0e3ea, $ as $fc909762b330b746$export$61c6a8c84e605fb6, b as $44f671af83e7d9e0$export$2de4954e8ae13b9f } from "./OverlayArrow-ClRhYjQu.js";
5
+ import { j as $cc38e7bd3fc7b213$export$2bb74740c4e19def, o as $8a26561d2877236e$export$c24ed0104d07eab9, d as $880e95eb8b93ba9a$export$ecf600387e221c37, a as $7af3f5b51489e0b5$export$253fe78d46329472, b as $7613b1592d41b092$export$6cd28814d92fa9c9, c as $d496c0a20b6e58ec$export$6c8a5aaad13c9852, p as $e1995378a142960e$export$e953bb1cd0f19726, h as $7135fc7d473fd974$export$4feb769f8ddf26c5, e as $e1995378a142960e$export$18af5c7a9e9b3664, f as $e1995378a142960e$export$bf788dd355e3a401, g as $e1995378a142960e$export$fb8073518f34e6ec, i as $7135fc7d473fd974$export$d40e14dec8b060a8, m as $7135fc7d473fd974$export$90e00781bc59d8f9 } from "./SelectionManager-DP537Pbu.js";
6
+ import { b as $982254629710d113$export$b95089534ab7c1fd, c as $453cc9f0df89c0a5$export$77d5aafae4e095b2, f as $431f98aba6844401$export$6615d83f6de245ce, g as $72a5793c14baf454$export$e0e4026c12a8bdbb } from "./Separator-Dmxzf3m_.js";
7
+ import React__default, { useRef, useContext, useEffect, useMemo, createContext, useState, useCallback, forwardRef } from "react";
8
+ import { a as $514c0188e459b4c0$export$9afb8bc826b033ea } from "./Text-DImhB4rT.js";
9
+ import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "./filterDOMProps-EDDcM64A.js";
10
+ import { d as $ae1eeba8b9eafd08$export$5165eccb35aaadb5, b as $ea8dcbcb9ea1b556$export$9a302a45f65d0572, $ as $f6c31cce2adf654f$export$45712eceda6fad21, a as $ea8dcbcb9ea1b556$export$7e924b3091a3bd18 } from "./usePress-BG9At5Lb.js";
11
+ import { l as $e7801be82b4b2a53$export$4debdb1a3f0fa79e, g as $431fbd86ca7dc216$export$b204af158042fbac, d as $9ab94262bd0047c7$export$420e68273165f4ec, j as $c87311424ea30a05$export$fedb369cb70207f1, $ as $6179b936705e76d3$export$ae780daf29e6d456, a as $507fabe10e71c6fb$export$b9b3dfddab17db27, c as $a1ea59d68270f0dd$export$f8168d8dd8fd66e6, x as $507fabe10e71c6fb$export$98e20ec92f614cfe, h as $6a99195332edec8b$export$80f3e147d781571c, e as $458b0a5536c1a7cf$export$40bfa8c7b0832715 } from "./focusSafely-Cl9cN7Qx.js";
12
+ import { $ as $fca6afa0e843324b$export$f12b703ca79dfbb1 } from "./useLocalizedStringFormatter-BBeUyA9l.js";
13
+ import { b as $46d819fcbaf35654$export$8f71654801c2f7cd } from "./useFocusable-CPKTGWPn.js";
14
+ import { $ as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "./context-BI3VdU0Z.js";
15
+ import { $ as $f7dceffc5ad7768b$export$4e328f61c538687f } from "./useFocusRing-DKxoCzVD.js";
16
+ import { c as $9bf71ea28793e738$export$1258395f99bf9cbf, $ as $9bf71ea28793e738$export$20e40289641fbbb6 } from "./FocusScope-uV-xoRHT.js";
17
+ import { $ as $dbSRa$reactdom } from "./index-D0mHceYg.js";
18
+ import { b as $f39a9eba43920ace$export$b5d7cc18bb8d2b59 } from "./Hidden-7ZhNuLM9.js";
19
+ import { $ as $313b98861ee5dd6c$export$d6875122194c7b44 } from "./useLabels-eGSmZC_Z.js";
20
+ import { $ as $5c3e21d68f1c4674$export$439d29a4e110a164 } from "./VisuallyHidden-wryJF4qQ.js";
21
+ function $62d8ded9296f3872$export$cfa2225e87938781(node, checkForOverflow) {
22
+ let scrollableNode = node;
23
+ if ($cc38e7bd3fc7b213$export$2bb74740c4e19def(scrollableNode, checkForOverflow)) scrollableNode = scrollableNode.parentElement;
24
+ while (scrollableNode && !$cc38e7bd3fc7b213$export$2bb74740c4e19def(scrollableNode, checkForOverflow)) scrollableNode = scrollableNode.parentElement;
25
+ return scrollableNode || document.scrollingElement || document.documentElement;
26
+ }
27
+ const $f1ab8c75478c6f73$export$3351871ee4b288b8 = /* @__PURE__ */ React__default.forwardRef(({ children, ...props }, ref) => {
28
+ let isRegistered = useRef(false);
29
+ let prevContext = useContext($ae1eeba8b9eafd08$export$5165eccb35aaadb5);
30
+ ref = $df56164dff5785e2$export$4338b53315abf666(ref || (prevContext === null || prevContext === void 0 ? void 0 : prevContext.ref));
31
+ let context = $3ef42575df84b30b$export$9d1611c77c2fe928(prevContext || {}, {
32
+ ...props,
33
+ ref,
34
+ register() {
35
+ isRegistered.current = true;
36
+ if (prevContext) prevContext.register();
37
+ }
38
+ });
39
+ $e7801be82b4b2a53$export$4debdb1a3f0fa79e(prevContext, ref);
40
+ useEffect(() => {
41
+ if (!isRegistered.current) {
42
+ console.warn("A PressResponder was rendered without a pressable child. Either call the usePress hook, or wrap your DOM node with <Pressable> component.");
43
+ isRegistered.current = true;
44
+ }
45
+ }, []);
46
+ return /* @__PURE__ */ React__default.createElement($ae1eeba8b9eafd08$export$5165eccb35aaadb5.Provider, {
47
+ value: context
48
+ }, children);
49
+ });
50
+ function $f1ab8c75478c6f73$export$cf75428e0b9ed1ea({ children }) {
51
+ let context = useMemo(() => ({
52
+ register: () => {
53
+ }
54
+ }), []);
55
+ return /* @__PURE__ */ React__default.createElement($ae1eeba8b9eafd08$export$5165eccb35aaadb5.Provider, {
56
+ value: context
57
+ }, children);
58
+ }
59
+ function $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {
60
+ let { ref, onInteractOutside, isDisabled, onInteractOutsideStart } = props;
61
+ let stateRef = useRef({
62
+ isPointerDown: false,
63
+ ignoreEmulatedMouseEvents: false
64
+ });
65
+ let onPointerDown = $8ae05eaa5c114e9c$export$7f54fc3180508a52((e) => {
66
+ if (onInteractOutside && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {
67
+ if (onInteractOutsideStart) onInteractOutsideStart(e);
68
+ stateRef.current.isPointerDown = true;
69
+ }
70
+ });
71
+ let triggerInteractOutside = $8ae05eaa5c114e9c$export$7f54fc3180508a52((e) => {
72
+ if (onInteractOutside) onInteractOutside(e);
73
+ });
74
+ useEffect(() => {
75
+ let state = stateRef.current;
76
+ if (isDisabled) return;
77
+ const element = ref.current;
78
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
79
+ if (typeof PointerEvent !== "undefined") {
80
+ let onPointerUp = (e) => {
81
+ if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
82
+ state.isPointerDown = false;
83
+ };
84
+ documentObject.addEventListener("pointerdown", onPointerDown, true);
85
+ documentObject.addEventListener("pointerup", onPointerUp, true);
86
+ return () => {
87
+ documentObject.removeEventListener("pointerdown", onPointerDown, true);
88
+ documentObject.removeEventListener("pointerup", onPointerUp, true);
89
+ };
90
+ } else {
91
+ let onMouseUp = (e) => {
92
+ if (state.ignoreEmulatedMouseEvents) state.ignoreEmulatedMouseEvents = false;
93
+ else if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
94
+ state.isPointerDown = false;
95
+ };
96
+ let onTouchEnd = (e) => {
97
+ state.ignoreEmulatedMouseEvents = true;
98
+ if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);
99
+ state.isPointerDown = false;
100
+ };
101
+ documentObject.addEventListener("mousedown", onPointerDown, true);
102
+ documentObject.addEventListener("mouseup", onMouseUp, true);
103
+ documentObject.addEventListener("touchstart", onPointerDown, true);
104
+ documentObject.addEventListener("touchend", onTouchEnd, true);
105
+ return () => {
106
+ documentObject.removeEventListener("mousedown", onPointerDown, true);
107
+ documentObject.removeEventListener("mouseup", onMouseUp, true);
108
+ documentObject.removeEventListener("touchstart", onPointerDown, true);
109
+ documentObject.removeEventListener("touchend", onTouchEnd, true);
110
+ };
111
+ }
112
+ }, [
113
+ ref,
114
+ isDisabled,
115
+ onPointerDown,
116
+ triggerInteractOutside
117
+ ]);
118
+ }
119
+ function $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {
120
+ if (event.button > 0) return false;
121
+ if (event.target) {
122
+ const ownerDocument = event.target.ownerDocument;
123
+ if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;
124
+ if (event.target.closest("[data-react-aria-top-layer]")) return false;
125
+ }
126
+ return ref.current && !ref.current.contains(event.target);
127
+ }
128
+ const $a11501f3d1d39e6c$var$visibleOverlays = [];
129
+ function $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {
130
+ let { onClose, shouldCloseOnBlur, isOpen, isDismissable = false, isKeyboardDismissDisabled = false, shouldCloseOnInteractOutside } = props;
131
+ useEffect(() => {
132
+ if (isOpen) $a11501f3d1d39e6c$var$visibleOverlays.push(ref);
133
+ return () => {
134
+ let index = $a11501f3d1d39e6c$var$visibleOverlays.indexOf(ref);
135
+ if (index >= 0) $a11501f3d1d39e6c$var$visibleOverlays.splice(index, 1);
136
+ };
137
+ }, [
138
+ isOpen,
139
+ ref
140
+ ]);
141
+ let onHide = () => {
142
+ if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref && onClose) onClose();
143
+ };
144
+ let onInteractOutsideStart = (e) => {
145
+ if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target)) {
146
+ if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref) {
147
+ e.stopPropagation();
148
+ e.preventDefault();
149
+ }
150
+ }
151
+ };
152
+ let onInteractOutside = (e) => {
153
+ if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target)) {
154
+ if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref) {
155
+ e.stopPropagation();
156
+ e.preventDefault();
157
+ }
158
+ onHide();
159
+ }
160
+ };
161
+ let onKeyDown = (e) => {
162
+ if (e.key === "Escape" && !isKeyboardDismissDisabled && !e.nativeEvent.isComposing) {
163
+ e.stopPropagation();
164
+ e.preventDefault();
165
+ onHide();
166
+ }
167
+ };
168
+ $e0b6e0b68ec7f50f$export$872b660ac5a1ff98({
169
+ ref,
170
+ onInteractOutside: isDismissable && isOpen ? onInteractOutside : void 0,
171
+ onInteractOutsideStart
172
+ });
173
+ let { focusWithinProps } = $9ab94262bd0047c7$export$420e68273165f4ec({
174
+ isDisabled: !shouldCloseOnBlur,
175
+ onBlurWithin: (e) => {
176
+ if (!e.relatedTarget || $9bf71ea28793e738$export$1258395f99bf9cbf(e.relatedTarget)) return;
177
+ if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose === null || onClose === void 0 ? void 0 : onClose();
178
+ }
179
+ });
180
+ let onPointerDownUnderlay = (e) => {
181
+ if (e.target === e.currentTarget) e.preventDefault();
182
+ };
183
+ return {
184
+ overlayProps: {
185
+ onKeyDown,
186
+ ...focusWithinProps
187
+ },
188
+ underlayProps: {
189
+ onPointerDown: onPointerDownUnderlay
190
+ }
191
+ };
192
+ }
193
+ function $628037886ba31236$export$f9d5c8beee7d008d(props, state, ref) {
194
+ let { type } = props;
195
+ let { isOpen } = state;
196
+ useEffect(() => {
197
+ if (ref && ref.current) $dd149f63282afbbf$export$f6211563215e3b37.set(ref.current, state.close);
198
+ });
199
+ let ariaHasPopup = void 0;
200
+ if (type === "menu") ariaHasPopup = true;
201
+ else if (type === "listbox") ariaHasPopup = "listbox";
202
+ let overlayId = $bdb11010cef70236$export$f680877a34711e37();
203
+ return {
204
+ triggerProps: {
205
+ "aria-haspopup": ariaHasPopup,
206
+ "aria-expanded": isOpen,
207
+ "aria-controls": isOpen ? overlayId : void 0,
208
+ onPress: state.toggle
209
+ },
210
+ overlayProps: {
211
+ id: overlayId
212
+ }
213
+ };
214
+ }
215
+ const $49c51c25361d4cd2$var$visualViewport = typeof document !== "undefined" && window.visualViewport;
216
+ const $49c51c25361d4cd2$var$nonTextInputTypes = /* @__PURE__ */ new Set([
217
+ "checkbox",
218
+ "radio",
219
+ "range",
220
+ "color",
221
+ "file",
222
+ "image",
223
+ "button",
224
+ "submit",
225
+ "reset"
226
+ ]);
227
+ let $49c51c25361d4cd2$var$preventScrollCount = 0;
228
+ let $49c51c25361d4cd2$var$restore;
229
+ function $49c51c25361d4cd2$export$ee0f7cc6afcd1c18(options = {}) {
230
+ let { isDisabled } = options;
231
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
232
+ if (isDisabled) return;
233
+ $49c51c25361d4cd2$var$preventScrollCount++;
234
+ if ($49c51c25361d4cd2$var$preventScrollCount === 1) {
235
+ if ($c87311424ea30a05$export$fedb369cb70207f1()) $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollMobileSafari();
236
+ else $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollStandard();
237
+ }
238
+ return () => {
239
+ $49c51c25361d4cd2$var$preventScrollCount--;
240
+ if ($49c51c25361d4cd2$var$preventScrollCount === 0) $49c51c25361d4cd2$var$restore();
241
+ };
242
+ }, [
243
+ isDisabled
244
+ ]);
245
+ }
246
+ function $49c51c25361d4cd2$var$preventScrollStandard() {
247
+ return $ff5963eb1fccf552$export$e08e3b67e392101e($49c51c25361d4cd2$var$setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`), $49c51c25361d4cd2$var$setStyle(document.documentElement, "overflow", "hidden"));
248
+ }
249
+ function $49c51c25361d4cd2$var$preventScrollMobileSafari() {
250
+ let scrollable;
251
+ let restoreScrollableStyles;
252
+ let onTouchStart = (e) => {
253
+ scrollable = $62d8ded9296f3872$export$cfa2225e87938781(e.target, true);
254
+ if (scrollable === document.documentElement && scrollable === document.body) return;
255
+ if (scrollable instanceof HTMLElement && window.getComputedStyle(scrollable).overscrollBehavior === "auto") restoreScrollableStyles = $49c51c25361d4cd2$var$setStyle(scrollable, "overscrollBehavior", "contain");
256
+ };
257
+ let onTouchMove = (e) => {
258
+ if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {
259
+ e.preventDefault();
260
+ return;
261
+ }
262
+ if (scrollable.scrollHeight === scrollable.clientHeight && scrollable.scrollWidth === scrollable.clientWidth) e.preventDefault();
263
+ };
264
+ let onTouchEnd = (e) => {
265
+ let target = e.target;
266
+ if ($49c51c25361d4cd2$var$willOpenKeyboard(target) && target !== document.activeElement) {
267
+ e.preventDefault();
268
+ setupStyles();
269
+ target.style.transform = "translateY(-2000px)";
270
+ target.focus();
271
+ requestAnimationFrame(() => {
272
+ target.style.transform = "";
273
+ });
274
+ }
275
+ if (restoreScrollableStyles) restoreScrollableStyles();
276
+ };
277
+ let onFocus = (e) => {
278
+ let target = e.target;
279
+ if ($49c51c25361d4cd2$var$willOpenKeyboard(target)) {
280
+ setupStyles();
281
+ target.style.transform = "translateY(-2000px)";
282
+ requestAnimationFrame(() => {
283
+ target.style.transform = "";
284
+ if ($49c51c25361d4cd2$var$visualViewport) {
285
+ if ($49c51c25361d4cd2$var$visualViewport.height < window.innerHeight)
286
+ requestAnimationFrame(() => {
287
+ $49c51c25361d4cd2$var$scrollIntoView(target);
288
+ });
289
+ else
290
+ $49c51c25361d4cd2$var$visualViewport.addEventListener("resize", () => $49c51c25361d4cd2$var$scrollIntoView(target), {
291
+ once: true
292
+ });
293
+ }
294
+ });
295
+ }
296
+ };
297
+ let restoreStyles = null;
298
+ let setupStyles = () => {
299
+ if (restoreStyles) return;
300
+ let onWindowScroll = () => {
301
+ window.scrollTo(0, 0);
302
+ };
303
+ let scrollX = window.pageXOffset;
304
+ let scrollY = window.pageYOffset;
305
+ restoreStyles = $ff5963eb1fccf552$export$e08e3b67e392101e($49c51c25361d4cd2$var$addEvent(window, "scroll", onWindowScroll), $49c51c25361d4cd2$var$setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`), $49c51c25361d4cd2$var$setStyle(document.documentElement, "overflow", "hidden"), $49c51c25361d4cd2$var$setStyle(document.body, "marginTop", `-${scrollY}px`), () => {
306
+ window.scrollTo(scrollX, scrollY);
307
+ });
308
+ window.scrollTo(0, 0);
309
+ };
310
+ let removeEvents = $ff5963eb1fccf552$export$e08e3b67e392101e($49c51c25361d4cd2$var$addEvent(document, "touchstart", onTouchStart, {
311
+ passive: false,
312
+ capture: true
313
+ }), $49c51c25361d4cd2$var$addEvent(document, "touchmove", onTouchMove, {
314
+ passive: false,
315
+ capture: true
316
+ }), $49c51c25361d4cd2$var$addEvent(document, "touchend", onTouchEnd, {
317
+ passive: false,
318
+ capture: true
319
+ }), $49c51c25361d4cd2$var$addEvent(document, "focus", onFocus, true));
320
+ return () => {
321
+ restoreScrollableStyles === null || restoreScrollableStyles === void 0 ? void 0 : restoreScrollableStyles();
322
+ restoreStyles === null || restoreStyles === void 0 ? void 0 : restoreStyles();
323
+ removeEvents();
324
+ };
325
+ }
326
+ function $49c51c25361d4cd2$var$setStyle(element, style, value) {
327
+ let cur = element.style[style];
328
+ element.style[style] = value;
329
+ return () => {
330
+ element.style[style] = cur;
331
+ };
332
+ }
333
+ function $49c51c25361d4cd2$var$addEvent(target, event, handler, options) {
334
+ target.addEventListener(event, handler, options);
335
+ return () => {
336
+ target.removeEventListener(event, handler, options);
337
+ };
338
+ }
339
+ function $49c51c25361d4cd2$var$scrollIntoView(target) {
340
+ let root = document.scrollingElement || document.documentElement;
341
+ let nextTarget = target;
342
+ while (nextTarget && nextTarget !== root) {
343
+ let scrollable = $62d8ded9296f3872$export$cfa2225e87938781(nextTarget);
344
+ if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {
345
+ let scrollableTop = scrollable.getBoundingClientRect().top;
346
+ let targetTop = nextTarget.getBoundingClientRect().top;
347
+ if (targetTop > scrollableTop + nextTarget.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;
348
+ }
349
+ nextTarget = scrollable.parentElement;
350
+ }
351
+ }
352
+ function $49c51c25361d4cd2$var$willOpenKeyboard(target) {
353
+ return target instanceof HTMLInputElement && !$49c51c25361d4cd2$var$nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
354
+ }
355
+ var $773d5888b972f1cf$exports = {};
356
+ $773d5888b972f1cf$exports = {
357
+ "dismiss": `تجاهل`
358
+ };
359
+ var $d11f19852b941573$exports = {};
360
+ $d11f19852b941573$exports = {
361
+ "dismiss": `Отхвърляне`
362
+ };
363
+ var $b983974c2ee1efb3$exports = {};
364
+ $b983974c2ee1efb3$exports = {
365
+ "dismiss": `Odstranit`
366
+ };
367
+ var $5809cc9d4e92de73$exports = {};
368
+ $5809cc9d4e92de73$exports = {
369
+ "dismiss": `Luk`
370
+ };
371
+ var $c68c2e4fc74398d1$exports = {};
372
+ $c68c2e4fc74398d1$exports = {
373
+ "dismiss": `Schließen`
374
+ };
375
+ var $0898b4c153db2b77$exports = {};
376
+ $0898b4c153db2b77$exports = {
377
+ "dismiss": `Απόρριψη`
378
+ };
379
+ var $6d74810286a15183$exports = {};
380
+ $6d74810286a15183$exports = {
381
+ "dismiss": `Dismiss`
382
+ };
383
+ var $309d73dc65f78055$exports = {};
384
+ $309d73dc65f78055$exports = {
385
+ "dismiss": `Descartar`
386
+ };
387
+ var $44ad94f7205cf593$exports = {};
388
+ $44ad94f7205cf593$exports = {
389
+ "dismiss": `Lõpeta`
390
+ };
391
+ var $7c28f5687f0779a9$exports = {};
392
+ $7c28f5687f0779a9$exports = {
393
+ "dismiss": `Hylkää`
394
+ };
395
+ var $e6d75df4b68bd73a$exports = {};
396
+ $e6d75df4b68bd73a$exports = {
397
+ "dismiss": `Rejeter`
398
+ };
399
+ var $87505c9dab186d0f$exports = {};
400
+ $87505c9dab186d0f$exports = {
401
+ "dismiss": `התעלם`
402
+ };
403
+ var $553439c3ffb3e492$exports = {};
404
+ $553439c3ffb3e492$exports = {
405
+ "dismiss": `Odbaci`
406
+ };
407
+ var $74cf411061b983a2$exports = {};
408
+ $74cf411061b983a2$exports = {
409
+ "dismiss": `Elutasítás`
410
+ };
411
+ var $e933f298574dc435$exports = {};
412
+ $e933f298574dc435$exports = {
413
+ "dismiss": `Ignora`
414
+ };
415
+ var $ac91fc9fe02f71f6$exports = {};
416
+ $ac91fc9fe02f71f6$exports = {
417
+ "dismiss": `閉じる`
418
+ };
419
+ var $52b96f86422025af$exports = {};
420
+ $52b96f86422025af$exports = {
421
+ "dismiss": `무시`
422
+ };
423
+ var $c0d724c3e51dafa6$exports = {};
424
+ $c0d724c3e51dafa6$exports = {
425
+ "dismiss": `Atmesti`
426
+ };
427
+ var $c92899672a3fe72e$exports = {};
428
+ $c92899672a3fe72e$exports = {
429
+ "dismiss": `Nerādīt`
430
+ };
431
+ var $9f576b39d8e7a9d6$exports = {};
432
+ $9f576b39d8e7a9d6$exports = {
433
+ "dismiss": `Lukk`
434
+ };
435
+ var $9d025808aeec81a7$exports = {};
436
+ $9d025808aeec81a7$exports = {
437
+ "dismiss": `Negeren`
438
+ };
439
+ var $fce709921e2c0fa6$exports = {};
440
+ $fce709921e2c0fa6$exports = {
441
+ "dismiss": `Zignoruj`
442
+ };
443
+ var $2599cf0c4ab37f59$exports = {};
444
+ $2599cf0c4ab37f59$exports = {
445
+ "dismiss": `Descartar`
446
+ };
447
+ var $3c220ae7ef8a35fd$exports = {};
448
+ $3c220ae7ef8a35fd$exports = {
449
+ "dismiss": `Dispensar`
450
+ };
451
+ var $93562b5094072f54$exports = {};
452
+ $93562b5094072f54$exports = {
453
+ "dismiss": `Revocare`
454
+ };
455
+ var $cd9e2abd0d06c7b4$exports = {};
456
+ $cd9e2abd0d06c7b4$exports = {
457
+ "dismiss": `Пропустить`
458
+ };
459
+ var $45375701f409adf1$exports = {};
460
+ $45375701f409adf1$exports = {
461
+ "dismiss": `Zrušiť`
462
+ };
463
+ var $27fab53a576de9dd$exports = {};
464
+ $27fab53a576de9dd$exports = {
465
+ "dismiss": `Opusti`
466
+ };
467
+ var $4438748d9952e7c7$exports = {};
468
+ $4438748d9952e7c7$exports = {
469
+ "dismiss": `Odbaci`
470
+ };
471
+ var $0936d7347ef4da4c$exports = {};
472
+ $0936d7347ef4da4c$exports = {
473
+ "dismiss": `Avvisa`
474
+ };
475
+ var $29700c92185d38f8$exports = {};
476
+ $29700c92185d38f8$exports = {
477
+ "dismiss": `Kapat`
478
+ };
479
+ var $662ccaf2be4c25b3$exports = {};
480
+ $662ccaf2be4c25b3$exports = {
481
+ "dismiss": `Скасувати`
482
+ };
483
+ var $d80a27deda7cdb3c$exports = {};
484
+ $d80a27deda7cdb3c$exports = {
485
+ "dismiss": `取消`
486
+ };
487
+ var $2b2734393847c884$exports = {};
488
+ $2b2734393847c884$exports = {
489
+ "dismiss": `關閉`
490
+ };
491
+ var $a2f21f5f14f60553$exports = {};
492
+ $a2f21f5f14f60553$exports = {
493
+ "ar-AE": $773d5888b972f1cf$exports,
494
+ "bg-BG": $d11f19852b941573$exports,
495
+ "cs-CZ": $b983974c2ee1efb3$exports,
496
+ "da-DK": $5809cc9d4e92de73$exports,
497
+ "de-DE": $c68c2e4fc74398d1$exports,
498
+ "el-GR": $0898b4c153db2b77$exports,
499
+ "en-US": $6d74810286a15183$exports,
500
+ "es-ES": $309d73dc65f78055$exports,
501
+ "et-EE": $44ad94f7205cf593$exports,
502
+ "fi-FI": $7c28f5687f0779a9$exports,
503
+ "fr-FR": $e6d75df4b68bd73a$exports,
504
+ "he-IL": $87505c9dab186d0f$exports,
505
+ "hr-HR": $553439c3ffb3e492$exports,
506
+ "hu-HU": $74cf411061b983a2$exports,
507
+ "it-IT": $e933f298574dc435$exports,
508
+ "ja-JP": $ac91fc9fe02f71f6$exports,
509
+ "ko-KR": $52b96f86422025af$exports,
510
+ "lt-LT": $c0d724c3e51dafa6$exports,
511
+ "lv-LV": $c92899672a3fe72e$exports,
512
+ "nb-NO": $9f576b39d8e7a9d6$exports,
513
+ "nl-NL": $9d025808aeec81a7$exports,
514
+ "pl-PL": $fce709921e2c0fa6$exports,
515
+ "pt-BR": $2599cf0c4ab37f59$exports,
516
+ "pt-PT": $3c220ae7ef8a35fd$exports,
517
+ "ro-RO": $93562b5094072f54$exports,
518
+ "ru-RU": $cd9e2abd0d06c7b4$exports,
519
+ "sk-SK": $45375701f409adf1$exports,
520
+ "sl-SI": $27fab53a576de9dd$exports,
521
+ "sr-SP": $4438748d9952e7c7$exports,
522
+ "sv-SE": $0936d7347ef4da4c$exports,
523
+ "tr-TR": $29700c92185d38f8$exports,
524
+ "uk-UA": $662ccaf2be4c25b3$exports,
525
+ "zh-CN": $d80a27deda7cdb3c$exports,
526
+ "zh-TW": $2b2734393847c884$exports
527
+ };
528
+ function $parcel$interopDefault$1(a) {
529
+ return a && a.__esModule ? a.default : a;
530
+ }
531
+ function $86ea4cb521eb2e37$export$2317d149ed6f78c4(props) {
532
+ let { onDismiss, ...otherProps } = props;
533
+ let stringFormatter = $fca6afa0e843324b$export$f12b703ca79dfbb1($parcel$interopDefault$1($a2f21f5f14f60553$exports), "@react-aria/overlays");
534
+ let labels = $313b98861ee5dd6c$export$d6875122194c7b44(otherProps, stringFormatter.format("dismiss"));
535
+ let onClick = () => {
536
+ if (onDismiss) onDismiss();
537
+ };
538
+ return /* @__PURE__ */ React__default.createElement($5c3e21d68f1c4674$export$439d29a4e110a164, null, /* @__PURE__ */ React__default.createElement("button", {
539
+ ...labels,
540
+ tabIndex: -1,
541
+ onClick,
542
+ style: {
543
+ width: 1,
544
+ height: 1
545
+ }
546
+ }));
547
+ }
548
+ let $5e3802645cc19319$var$refCountMap = /* @__PURE__ */ new WeakMap();
549
+ let $5e3802645cc19319$var$observerStack = [];
550
+ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body) {
551
+ let visibleNodes = new Set(targets);
552
+ let hiddenNodes = /* @__PURE__ */ new Set();
553
+ let walk = (root2) => {
554
+ for (let element of root2.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]")) visibleNodes.add(element);
555
+ let acceptNode = (node) => {
556
+ if (visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute("role") !== "row") return NodeFilter.FILTER_REJECT;
557
+ for (let target of visibleNodes) {
558
+ if (node.contains(target)) return NodeFilter.FILTER_SKIP;
559
+ }
560
+ return NodeFilter.FILTER_ACCEPT;
561
+ };
562
+ let walker = document.createTreeWalker(root2, NodeFilter.SHOW_ELEMENT, {
563
+ acceptNode
564
+ });
565
+ let acceptRoot = acceptNode(root2);
566
+ if (acceptRoot === NodeFilter.FILTER_ACCEPT) hide(root2);
567
+ if (acceptRoot !== NodeFilter.FILTER_REJECT) {
568
+ let node = walker.nextNode();
569
+ while (node != null) {
570
+ hide(node);
571
+ node = walker.nextNode();
572
+ }
573
+ }
574
+ };
575
+ let hide = (node) => {
576
+ var _refCountMap_get;
577
+ let refCount = (_refCountMap_get = $5e3802645cc19319$var$refCountMap.get(node)) !== null && _refCountMap_get !== void 0 ? _refCountMap_get : 0;
578
+ if (node.getAttribute("aria-hidden") === "true" && refCount === 0) return;
579
+ if (refCount === 0) node.setAttribute("aria-hidden", "true");
580
+ hiddenNodes.add(node);
581
+ $5e3802645cc19319$var$refCountMap.set(node, refCount + 1);
582
+ };
583
+ if ($5e3802645cc19319$var$observerStack.length) $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1].disconnect();
584
+ walk(root);
585
+ let observer = new MutationObserver((changes) => {
586
+ for (let change of changes) {
587
+ if (change.type !== "childList" || change.addedNodes.length === 0) continue;
588
+ if (![
589
+ ...visibleNodes,
590
+ ...hiddenNodes
591
+ ].some((node) => node.contains(change.target))) {
592
+ for (let node of change.removedNodes) if (node instanceof Element) {
593
+ visibleNodes.delete(node);
594
+ hiddenNodes.delete(node);
595
+ }
596
+ for (let node of change.addedNodes) {
597
+ if ((node instanceof HTMLElement || node instanceof SVGElement) && (node.dataset.liveAnnouncer === "true" || node.dataset.reactAriaTopLayer === "true")) visibleNodes.add(node);
598
+ else if (node instanceof Element) walk(node);
599
+ }
600
+ }
601
+ }
602
+ });
603
+ observer.observe(root, {
604
+ childList: true,
605
+ subtree: true
606
+ });
607
+ let observerWrapper = {
608
+ observe() {
609
+ observer.observe(root, {
610
+ childList: true,
611
+ subtree: true
612
+ });
613
+ },
614
+ disconnect() {
615
+ observer.disconnect();
616
+ }
617
+ };
618
+ $5e3802645cc19319$var$observerStack.push(observerWrapper);
619
+ return () => {
620
+ observer.disconnect();
621
+ for (let node of hiddenNodes) {
622
+ let count = $5e3802645cc19319$var$refCountMap.get(node);
623
+ if (count == null) continue;
624
+ if (count === 1) {
625
+ node.removeAttribute("aria-hidden");
626
+ $5e3802645cc19319$var$refCountMap.delete(node);
627
+ } else $5e3802645cc19319$var$refCountMap.set(node, count - 1);
628
+ }
629
+ if (observerWrapper === $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1]) {
630
+ $5e3802645cc19319$var$observerStack.pop();
631
+ if ($5e3802645cc19319$var$observerStack.length) $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1].observe();
632
+ } else $5e3802645cc19319$var$observerStack.splice($5e3802645cc19319$var$observerStack.indexOf(observerWrapper), 1);
633
+ };
634
+ }
635
+ function $f2f8a6077418541e$export$542a6fd13ac93354(props, state) {
636
+ let { triggerRef, popoverRef, isNonModal, isKeyboardDismissDisabled, shouldCloseOnInteractOutside, ...otherProps } = props;
637
+ let { overlayProps, underlayProps } = $a11501f3d1d39e6c$export$ea8f71083e90600f({
638
+ // If popover is in the top layer, it should not prevent other popovers from being dismissed.
639
+ isOpen: state.isOpen && !otherProps["data-react-aria-top-layer"],
640
+ onClose: state.close,
641
+ shouldCloseOnBlur: true,
642
+ isDismissable: !isNonModal,
643
+ isKeyboardDismissDisabled,
644
+ shouldCloseOnInteractOutside
645
+ }, popoverRef);
646
+ let { overlayProps: positionProps, arrowProps, placement } = $2a41e45df1593e64$export$d39e1813b3bdd0e1({
647
+ ...otherProps,
648
+ targetRef: triggerRef,
649
+ overlayRef: popoverRef,
650
+ isOpen: state.isOpen,
651
+ onClose: isNonModal ? state.close : void 0
652
+ });
653
+ $49c51c25361d4cd2$export$ee0f7cc6afcd1c18({
654
+ isDisabled: isNonModal || !state.isOpen
655
+ });
656
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
657
+ if (state.isOpen && !isNonModal && popoverRef.current) return $5e3802645cc19319$export$1c3ebcada18427bf([
658
+ popoverRef.current
659
+ ]);
660
+ }, [
661
+ isNonModal,
662
+ state.isOpen,
663
+ popoverRef
664
+ ]);
665
+ return {
666
+ popoverProps: $3ef42575df84b30b$export$9d1611c77c2fe928(overlayProps, positionProps),
667
+ arrowProps,
668
+ underlayProps,
669
+ placement
670
+ };
671
+ }
672
+ const $96b38030c423d352$export$60d741e20e0aa309 = /* @__PURE__ */ createContext({});
673
+ function $96b38030c423d352$export$574e9b0fb070c3b0() {
674
+ var _useContext;
675
+ return (_useContext = useContext($96b38030c423d352$export$60d741e20e0aa309)) !== null && _useContext !== void 0 ? _useContext : {};
676
+ }
677
+ const $337b884510726a0d$export$a2200b96afd16271 = /* @__PURE__ */ React__default.createContext(null);
678
+ function $337b884510726a0d$export$c6fdb837b070b4ff(props) {
679
+ let isSSR = $b5e257d569688ac6$export$535bd6ca7f90a273();
680
+ let { portalContainer = isSSR ? null : document.body, isExiting } = props;
681
+ let [contain, setContain] = useState(false);
682
+ let contextValue = useMemo(() => ({
683
+ contain,
684
+ setContain
685
+ }), [
686
+ contain,
687
+ setContain
688
+ ]);
689
+ let { getContainer } = $96b38030c423d352$export$574e9b0fb070c3b0();
690
+ if (!props.portalContainer && getContainer) portalContainer = getContainer();
691
+ if (!portalContainer) return null;
692
+ let contents = props.children;
693
+ if (!props.disableFocusManagement) contents = /* @__PURE__ */ React__default.createElement($9bf71ea28793e738$export$20e40289641fbbb6, {
694
+ restoreFocus: true,
695
+ contain: contain && !isExiting
696
+ }, contents);
697
+ contents = /* @__PURE__ */ React__default.createElement($337b884510726a0d$export$a2200b96afd16271.Provider, {
698
+ value: contextValue
699
+ }, /* @__PURE__ */ React__default.createElement($f1ab8c75478c6f73$export$cf75428e0b9ed1ea, null, contents));
700
+ return /* @__PURE__ */ $dbSRa$reactdom.createPortal(contents, portalContainer);
701
+ }
702
+ function $337b884510726a0d$export$14c98a7594375490() {
703
+ let ctx = useContext($337b884510726a0d$export$a2200b96afd16271);
704
+ let setContain = ctx === null || ctx === void 0 ? void 0 : ctx.setContain;
705
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
706
+ setContain === null || setContain === void 0 ? void 0 : setContain(true);
707
+ }, [
708
+ setContain
709
+ ]);
710
+ }
711
+ var $c0398ad35c3639b7$exports = {};
712
+ $c0398ad35c3639b7$exports = {
713
+ "longPressMessage": `اضغط مطولاً أو اضغط على Alt + السهم لأسفل لفتح القائمة`
714
+ };
715
+ var $7af657c4165927c3$exports = {};
716
+ $7af657c4165927c3$exports = {
717
+ "longPressMessage": `Натиснете продължително или натиснете Alt+ стрелка надолу, за да отворите менюто`
718
+ };
719
+ var $d95d4da6d531ab81$exports = {};
720
+ $d95d4da6d531ab81$exports = {
721
+ "longPressMessage": `Dlouhým stiskem nebo stisknutím kláves Alt + šipka dolů otevřete nabídku`
722
+ };
723
+ var $24ebda9c775dca17$exports = {};
724
+ $24ebda9c775dca17$exports = {
725
+ "longPressMessage": `Langt tryk eller tryk på Alt + pil ned for at åbne menuen`
726
+ };
727
+ var $743e0dfca6cab1e9$exports = {};
728
+ $743e0dfca6cab1e9$exports = {
729
+ "longPressMessage": `Drücken Sie lange oder drücken Sie Alt + Nach-unten, um das Menü zu öffnen`
730
+ };
731
+ var $a2f41026e05f1c84$exports = {};
732
+ $a2f41026e05f1c84$exports = {
733
+ "longPressMessage": `Πιέστε παρατεταμένα ή πατήστε Alt + κάτω βέλος για να ανοίξετε το μενού`
734
+ };
735
+ var $43b800e97c901737$exports = {};
736
+ $43b800e97c901737$exports = {
737
+ "longPressMessage": `Long press or press Alt + ArrowDown to open menu`
738
+ };
739
+ var $442f5f6ac211e29f$exports = {};
740
+ $442f5f6ac211e29f$exports = {
741
+ "longPressMessage": `Mantenga pulsado o pulse Alt + flecha abajo para abrir el menú`
742
+ };
743
+ var $dff280acfeb2d8ac$exports = {};
744
+ $dff280acfeb2d8ac$exports = {
745
+ "longPressMessage": `Menüü avamiseks vajutage pikalt või vajutage klahve Alt + allanool`
746
+ };
747
+ var $51608325613944d7$exports = {};
748
+ $51608325613944d7$exports = {
749
+ "longPressMessage": `Avaa valikko painamalla pohjassa tai näppäinyhdistelmällä Alt + Alanuoli`
750
+ };
751
+ var $c4a1b1eabeaa87be$exports = {};
752
+ $c4a1b1eabeaa87be$exports = {
753
+ "longPressMessage": `Appuyez de manière prolongée ou appuyez sur Alt + Flèche vers le bas pour ouvrir le menu.`
754
+ };
755
+ var $8c74815cdee18d1b$exports = {};
756
+ $8c74815cdee18d1b$exports = {
757
+ "longPressMessage": `לחץ לחיצה ארוכה או הקש Alt + ArrowDown כדי לפתוח את התפריט`
758
+ };
759
+ var $fd0e9ef6a7fe0ec9$exports = {};
760
+ $fd0e9ef6a7fe0ec9$exports = {
761
+ "longPressMessage": `Dugo pritisnite ili pritisnite Alt + strelicu prema dolje za otvaranje izbornika`
762
+ };
763
+ var $a89a74a39eba465a$exports = {};
764
+ $a89a74a39eba465a$exports = {
765
+ "longPressMessage": `Nyomja meg hosszan, vagy nyomja meg az Alt + lefele nyíl gombot a menü megnyitásához`
766
+ };
767
+ var $edc7c66594a0ae8a$exports = {};
768
+ $edc7c66594a0ae8a$exports = {
769
+ "longPressMessage": `Premere a lungo o premere Alt + Freccia giù per aprire il menu`
770
+ };
771
+ var $f1ab51510712db52$exports = {};
772
+ $f1ab51510712db52$exports = {
773
+ "longPressMessage": `長押しまたは Alt+下矢印キーでメニューを開く`
774
+ };
775
+ var $f9b672d9b82fa3d6$exports = {};
776
+ $f9b672d9b82fa3d6$exports = {
777
+ "longPressMessage": `길게 누르거나 Alt + 아래쪽 화살표를 눌러 메뉴 열기`
778
+ };
779
+ var $a385f3910feda499$exports = {};
780
+ $a385f3910feda499$exports = {
781
+ "longPressMessage": `Norėdami atidaryti meniu, nuspaudę palaikykite arba paspauskite „Alt + ArrowDown“.`
782
+ };
783
+ var $4f1bde932c441789$exports = {};
784
+ $4f1bde932c441789$exports = {
785
+ "longPressMessage": `Lai atvērtu izvēlni, turiet nospiestu vai nospiediet taustiņu kombināciju Alt + lejupvērstā bultiņa`
786
+ };
787
+ var $914a51a8a594d5be$exports = {};
788
+ $914a51a8a594d5be$exports = {
789
+ "longPressMessage": `Langt trykk eller trykk Alt + PilNed for å åpne menyen`
790
+ };
791
+ var $89aaf803103bb500$exports = {};
792
+ $89aaf803103bb500$exports = {
793
+ "longPressMessage": `Druk lang op Alt + pijl-omlaag of druk op Alt om het menu te openen`
794
+ };
795
+ var $c685891476dbaaca$exports = {};
796
+ $c685891476dbaaca$exports = {
797
+ "longPressMessage": `Naciśnij i przytrzymaj lub naciśnij klawisze Alt + Strzałka w dół, aby otworzyć menu`
798
+ };
799
+ var $885879b9b10c2959$exports = {};
800
+ $885879b9b10c2959$exports = {
801
+ "longPressMessage": `Pressione e segure ou pressione Alt + Seta para baixo para abrir o menu`
802
+ };
803
+ var $6b39616688a51692$exports = {};
804
+ $6b39616688a51692$exports = {
805
+ "longPressMessage": `Prima continuamente ou prima Alt + Seta Para Baixo para abrir o menu`
806
+ };
807
+ var $f26362aed63f47e2$exports = {};
808
+ $f26362aed63f47e2$exports = {
809
+ "longPressMessage": `Apăsați lung sau apăsați pe Alt + săgeată în jos pentru a deschide meniul`
810
+ };
811
+ var $06cbade644558bf0$exports = {};
812
+ $06cbade644558bf0$exports = {
813
+ "longPressMessage": `Нажмите и удерживайте или нажмите Alt + Стрелка вниз, чтобы открыть меню`
814
+ };
815
+ var $0a391ff68f9d59b1$exports = {};
816
+ $0a391ff68f9d59b1$exports = {
817
+ "longPressMessage": `Ponuku otvoríte dlhým stlačením alebo stlačením klávesu Alt + klávesu so šípkou nadol`
818
+ };
819
+ var $8193cf0e649c7928$exports = {};
820
+ $8193cf0e649c7928$exports = {
821
+ "longPressMessage": `Za odprtje menija pritisnite in držite gumb ali pritisnite Alt+puščica navzdol`
822
+ };
823
+ var $f398debcce5a5c55$exports = {};
824
+ $f398debcce5a5c55$exports = {
825
+ "longPressMessage": `Dugo pritisnite ili pritisnite Alt + strelicu prema dole da otvorite meni`
826
+ };
827
+ var $9e9fef000aa4c013$exports = {};
828
+ $9e9fef000aa4c013$exports = {
829
+ "longPressMessage": `Håll nedtryckt eller tryck på Alt + pil nedåt för att öppna menyn`
830
+ };
831
+ var $c016c8183bbe3d68$exports = {};
832
+ $c016c8183bbe3d68$exports = {
833
+ "longPressMessage": `Menüyü açmak için uzun basın veya Alt + Aşağı Ok tuşuna basın`
834
+ };
835
+ var $ca4f6c8462244e62$exports = {};
836
+ $ca4f6c8462244e62$exports = {
837
+ "longPressMessage": `Довго або звичайно натисніть комбінацію клавіш Alt і стрілка вниз, щоб відкрити меню`
838
+ };
839
+ var $2d9960c02ccac927$exports = {};
840
+ $2d9960c02ccac927$exports = {
841
+ "longPressMessage": `长按或按 Alt + 向下方向键以打开菜单`
842
+ };
843
+ var $f1b682a4c8c5631c$exports = {};
844
+ $f1b682a4c8c5631c$exports = {
845
+ "longPressMessage": `長按或按 Alt+向下鍵以開啟功能表`
846
+ };
847
+ var $2cbb7ca666678a14$exports = {};
848
+ $2cbb7ca666678a14$exports = {
849
+ "ar-AE": $c0398ad35c3639b7$exports,
850
+ "bg-BG": $7af657c4165927c3$exports,
851
+ "cs-CZ": $d95d4da6d531ab81$exports,
852
+ "da-DK": $24ebda9c775dca17$exports,
853
+ "de-DE": $743e0dfca6cab1e9$exports,
854
+ "el-GR": $a2f41026e05f1c84$exports,
855
+ "en-US": $43b800e97c901737$exports,
856
+ "es-ES": $442f5f6ac211e29f$exports,
857
+ "et-EE": $dff280acfeb2d8ac$exports,
858
+ "fi-FI": $51608325613944d7$exports,
859
+ "fr-FR": $c4a1b1eabeaa87be$exports,
860
+ "he-IL": $8c74815cdee18d1b$exports,
861
+ "hr-HR": $fd0e9ef6a7fe0ec9$exports,
862
+ "hu-HU": $a89a74a39eba465a$exports,
863
+ "it-IT": $edc7c66594a0ae8a$exports,
864
+ "ja-JP": $f1ab51510712db52$exports,
865
+ "ko-KR": $f9b672d9b82fa3d6$exports,
866
+ "lt-LT": $a385f3910feda499$exports,
867
+ "lv-LV": $4f1bde932c441789$exports,
868
+ "nb-NO": $914a51a8a594d5be$exports,
869
+ "nl-NL": $89aaf803103bb500$exports,
870
+ "pl-PL": $c685891476dbaaca$exports,
871
+ "pt-BR": $885879b9b10c2959$exports,
872
+ "pt-PT": $6b39616688a51692$exports,
873
+ "ro-RO": $f26362aed63f47e2$exports,
874
+ "ru-RU": $06cbade644558bf0$exports,
875
+ "sk-SK": $0a391ff68f9d59b1$exports,
876
+ "sl-SI": $8193cf0e649c7928$exports,
877
+ "sr-SP": $f398debcce5a5c55$exports,
878
+ "sv-SE": $9e9fef000aa4c013$exports,
879
+ "tr-TR": $c016c8183bbe3d68$exports,
880
+ "uk-UA": $ca4f6c8462244e62$exports,
881
+ "zh-CN": $2d9960c02ccac927$exports,
882
+ "zh-TW": $f1b682a4c8c5631c$exports
883
+ };
884
+ function $parcel$interopDefault(a) {
885
+ return a && a.__esModule ? a.default : a;
886
+ }
887
+ function $168583247155ddda$export$dc9c12ed27dd1b49(props, state, ref) {
888
+ let { type = "menu", isDisabled, trigger = "press" } = props;
889
+ let menuTriggerId = $bdb11010cef70236$export$f680877a34711e37();
890
+ let { triggerProps, overlayProps } = $628037886ba31236$export$f9d5c8beee7d008d({
891
+ type
892
+ }, state, ref);
893
+ let onKeyDown = (e) => {
894
+ if (isDisabled) return;
895
+ if (trigger === "longPress" && !e.altKey) return;
896
+ if (ref && ref.current) switch (e.key) {
897
+ case "Enter":
898
+ case " ":
899
+ if (trigger === "longPress") return;
900
+ // fallthrough
901
+ case "ArrowDown":
902
+ if (!("continuePropagation" in e)) e.stopPropagation();
903
+ e.preventDefault();
904
+ state.toggle("first");
905
+ break;
906
+ case "ArrowUp":
907
+ if (!("continuePropagation" in e)) e.stopPropagation();
908
+ e.preventDefault();
909
+ state.toggle("last");
910
+ break;
911
+ default:
912
+ if ("continuePropagation" in e) e.continuePropagation();
913
+ }
914
+ };
915
+ let stringFormatter = $fca6afa0e843324b$export$f12b703ca79dfbb1($parcel$interopDefault($2cbb7ca666678a14$exports), "@react-aria/menu");
916
+ let { longPressProps } = $8a26561d2877236e$export$c24ed0104d07eab9({
917
+ isDisabled: isDisabled || trigger !== "longPress",
918
+ accessibilityDescription: stringFormatter.format("longPressMessage"),
919
+ onLongPressStart() {
920
+ state.close();
921
+ },
922
+ onLongPress() {
923
+ state.open("first");
924
+ }
925
+ });
926
+ let pressProps = {
927
+ onPressStart(e) {
928
+ if (e.pointerType !== "touch" && e.pointerType !== "keyboard" && !isDisabled)
929
+ state.open(e.pointerType === "virtual" ? "first" : null);
930
+ },
931
+ onPress(e) {
932
+ if (e.pointerType === "touch" && !isDisabled) state.toggle();
933
+ }
934
+ };
935
+ delete triggerProps.onPress;
936
+ return {
937
+ // @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
938
+ menuTriggerProps: {
939
+ ...triggerProps,
940
+ ...trigger === "press" ? pressProps : longPressProps,
941
+ id: menuTriggerId,
942
+ onKeyDown
943
+ },
944
+ menuProps: {
945
+ ...overlayProps,
946
+ "aria-labelledby": menuTriggerId,
947
+ autoFocus: state.focusStrategy || true,
948
+ onClose: state.close
949
+ }
950
+ };
951
+ }
952
+ const $d5336fe17ce95402$export$6f49b4016bfc8d56 = /* @__PURE__ */ new WeakMap();
953
+ function $d5336fe17ce95402$export$38eaa17faae8f579(props, state, ref) {
954
+ let { shouldFocusWrap = true, onKeyDown, onKeyUp, ...otherProps } = props;
955
+ if (!props["aria-label"] && !props["aria-labelledby"]) console.warn("An aria-label or aria-labelledby prop is required for accessibility.");
956
+ let domProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
957
+ labelable: true
958
+ });
959
+ let { listProps } = $982254629710d113$export$b95089534ab7c1fd({
960
+ ...otherProps,
961
+ ref,
962
+ selectionManager: state.selectionManager,
963
+ collection: state.collection,
964
+ disabledKeys: state.disabledKeys,
965
+ shouldFocusWrap,
966
+ linkBehavior: "override"
967
+ });
968
+ $d5336fe17ce95402$export$6f49b4016bfc8d56.set(state, {
969
+ onClose: props.onClose,
970
+ onAction: props.onAction
971
+ });
972
+ return {
973
+ menuProps: $3ef42575df84b30b$export$9d1611c77c2fe928(domProps, {
974
+ onKeyDown,
975
+ onKeyUp
976
+ }, {
977
+ role: "menu",
978
+ ...listProps,
979
+ onKeyDown: (e) => {
980
+ var _listProps_onKeyDown;
981
+ if (e.key !== "Escape") (_listProps_onKeyDown = listProps.onKeyDown) === null || _listProps_onKeyDown === void 0 ? void 0 : _listProps_onKeyDown.call(listProps, e);
982
+ }
983
+ })
984
+ };
985
+ }
986
+ function $a2e5df62f93c7633$export$9d32628fc2aea7da(props, state, ref) {
987
+ let { id, key, closeOnSelect, isVirtualized, "aria-haspopup": hasPopup, onPressStart: pressStartProp, onPressUp: pressUpProp, onPress, onPressChange, onPressEnd, onHoverStart: hoverStartProp, onHoverChange, onHoverEnd, onKeyDown, onKeyUp, onFocus, onFocusChange, onBlur, selectionManager = state.selectionManager } = props;
988
+ let isTrigger = !!hasPopup;
989
+ let isTriggerExpanded = isTrigger && props["aria-expanded"] === "true";
990
+ var _props_isDisabled;
991
+ let isDisabled = (_props_isDisabled = props.isDisabled) !== null && _props_isDisabled !== void 0 ? _props_isDisabled : selectionManager.isDisabled(key);
992
+ var _props_isSelected;
993
+ let isSelected = (_props_isSelected = props.isSelected) !== null && _props_isSelected !== void 0 ? _props_isSelected : selectionManager.isSelected(key);
994
+ let data = $d5336fe17ce95402$export$6f49b4016bfc8d56.get(state);
995
+ let item = state.collection.getItem(key);
996
+ let onClose = props.onClose || data.onClose;
997
+ let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();
998
+ let performAction = (e) => {
999
+ var _item_props;
1000
+ if (isTrigger) return;
1001
+ if (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.onAction) item.props.onAction();
1002
+ else if (props.onAction) props.onAction(key);
1003
+ if (data.onAction) {
1004
+ let onAction = data.onAction;
1005
+ onAction(key);
1006
+ }
1007
+ if (e.target instanceof HTMLAnchorElement && item) router.open(e.target, e, item.props.href, item.props.routerOptions);
1008
+ };
1009
+ let role = "menuitem";
1010
+ if (!isTrigger) {
1011
+ if (selectionManager.selectionMode === "single") role = "menuitemradio";
1012
+ else if (selectionManager.selectionMode === "multiple") role = "menuitemcheckbox";
1013
+ }
1014
+ let labelId = $bdb11010cef70236$export$b4cc09c592e8fdb8();
1015
+ let descriptionId = $bdb11010cef70236$export$b4cc09c592e8fdb8();
1016
+ let keyboardId = $bdb11010cef70236$export$b4cc09c592e8fdb8();
1017
+ let ariaProps = {
1018
+ id,
1019
+ "aria-disabled": isDisabled || void 0,
1020
+ role,
1021
+ "aria-label": props["aria-label"],
1022
+ "aria-labelledby": labelId,
1023
+ "aria-describedby": [
1024
+ descriptionId,
1025
+ keyboardId
1026
+ ].filter(Boolean).join(" ") || void 0,
1027
+ "aria-controls": props["aria-controls"],
1028
+ "aria-haspopup": hasPopup,
1029
+ "aria-expanded": props["aria-expanded"]
1030
+ };
1031
+ if (selectionManager.selectionMode !== "none" && !isTrigger) ariaProps["aria-checked"] = isSelected;
1032
+ if (isVirtualized) {
1033
+ ariaProps["aria-posinset"] = item === null || item === void 0 ? void 0 : item.index;
1034
+ ariaProps["aria-setsize"] = $453cc9f0df89c0a5$export$77d5aafae4e095b2(state.collection);
1035
+ }
1036
+ let onPressStart = (e) => {
1037
+ if (e.pointerType === "keyboard") performAction(e);
1038
+ pressStartProp === null || pressStartProp === void 0 ? void 0 : pressStartProp(e);
1039
+ };
1040
+ let onPressUp = (e) => {
1041
+ if (e.pointerType !== "keyboard") {
1042
+ performAction(e);
1043
+ if (!isTrigger && onClose && (closeOnSelect !== null && closeOnSelect !== void 0 ? closeOnSelect : selectionManager.selectionMode !== "multiple" || selectionManager.isLink(key))) onClose();
1044
+ }
1045
+ pressUpProp === null || pressUpProp === void 0 ? void 0 : pressUpProp(e);
1046
+ };
1047
+ let { itemProps, isFocused } = $880e95eb8b93ba9a$export$ecf600387e221c37({
1048
+ selectionManager,
1049
+ key,
1050
+ ref,
1051
+ shouldSelectOnPressUp: true,
1052
+ allowsDifferentPressOrigin: true,
1053
+ // Disable all handling of links in useSelectable item
1054
+ // because we handle it ourselves. The behavior of menus
1055
+ // is slightly different from other collections because
1056
+ // actions are performed on key down rather than key up.
1057
+ linkBehavior: "none"
1058
+ });
1059
+ let { pressProps, isPressed } = $f6c31cce2adf654f$export$45712eceda6fad21({
1060
+ onPressStart,
1061
+ onPress,
1062
+ onPressUp,
1063
+ onPressChange,
1064
+ onPressEnd,
1065
+ isDisabled
1066
+ });
1067
+ let { hoverProps } = $6179b936705e76d3$export$ae780daf29e6d456({
1068
+ isDisabled,
1069
+ onHoverStart(e) {
1070
+ if (!$507fabe10e71c6fb$export$b9b3dfddab17db27() && !(isTriggerExpanded && hasPopup === "dialog")) {
1071
+ selectionManager.setFocused(true);
1072
+ selectionManager.setFocusedKey(key);
1073
+ }
1074
+ hoverStartProp === null || hoverStartProp === void 0 ? void 0 : hoverStartProp(e);
1075
+ },
1076
+ onHoverChange,
1077
+ onHoverEnd
1078
+ });
1079
+ let { keyboardProps } = $46d819fcbaf35654$export$8f71654801c2f7cd({
1080
+ onKeyDown: (e) => {
1081
+ if (e.repeat) {
1082
+ e.continuePropagation();
1083
+ return;
1084
+ }
1085
+ switch (e.key) {
1086
+ case " ":
1087
+ if (!isDisabled && selectionManager.selectionMode === "none" && !isTrigger && closeOnSelect !== false && onClose) onClose();
1088
+ break;
1089
+ case "Enter":
1090
+ if (!isDisabled && closeOnSelect !== false && !isTrigger && onClose) onClose();
1091
+ break;
1092
+ default:
1093
+ if (!isTrigger) e.continuePropagation();
1094
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
1095
+ break;
1096
+ }
1097
+ },
1098
+ onKeyUp
1099
+ });
1100
+ let { focusProps } = $a1ea59d68270f0dd$export$f8168d8dd8fd66e6({
1101
+ onBlur,
1102
+ onFocus,
1103
+ onFocusChange
1104
+ });
1105
+ let domProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(item === null || item === void 0 ? void 0 : item.props);
1106
+ delete domProps.id;
1107
+ let linkProps = $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(item === null || item === void 0 ? void 0 : item.props);
1108
+ return {
1109
+ menuItemProps: {
1110
+ ...ariaProps,
1111
+ ...$3ef42575df84b30b$export$9d1611c77c2fe928(domProps, linkProps, isTrigger ? {
1112
+ onFocus: itemProps.onFocus,
1113
+ "data-key": itemProps["data-key"]
1114
+ } : itemProps, pressProps, hoverProps, keyboardProps, focusProps),
1115
+ // 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.
1116
+ tabIndex: itemProps.tabIndex != null && isTriggerExpanded ? -1 : itemProps.tabIndex
1117
+ },
1118
+ labelProps: {
1119
+ id: labelId
1120
+ },
1121
+ descriptionProps: {
1122
+ id: descriptionId
1123
+ },
1124
+ keyboardShortcutProps: {
1125
+ id: keyboardId
1126
+ },
1127
+ isFocused,
1128
+ isSelected,
1129
+ isPressed,
1130
+ isDisabled
1131
+ };
1132
+ }
1133
+ function $3e5eb2498db5b506$export$73f7a44322579622(props) {
1134
+ let { heading, "aria-label": ariaLabel } = props;
1135
+ let headingId = $bdb11010cef70236$export$f680877a34711e37();
1136
+ return {
1137
+ itemProps: {
1138
+ role: "presentation"
1139
+ },
1140
+ headingProps: heading ? {
1141
+ // Techincally, menus cannot contain headings according to ARIA.
1142
+ // We hide the heading from assistive technology, using role="presentation",
1143
+ // and only use it as a label for the nested group.
1144
+ id: headingId,
1145
+ role: "presentation"
1146
+ } : {},
1147
+ groupProps: {
1148
+ role: "group",
1149
+ "aria-label": ariaLabel,
1150
+ "aria-labelledby": heading ? headingId : void 0
1151
+ }
1152
+ };
1153
+ }
1154
+ const $d275435c250248f8$var$ALLOWED_INVALID_MOVEMENTS = 2;
1155
+ const $d275435c250248f8$var$THROTTLE_TIME = 50;
1156
+ const $d275435c250248f8$var$TIMEOUT_TIME = 1e3;
1157
+ const $d275435c250248f8$var$ANGLE_PADDING = Math.PI / 12;
1158
+ function $d275435c250248f8$export$85ec83e04c95f50a(options) {
1159
+ let { menuRef, submenuRef, isOpen, isDisabled } = options;
1160
+ let prevPointerPos = useRef(void 0);
1161
+ let submenuRect = useRef(void 0);
1162
+ let lastProcessedTime = useRef(0);
1163
+ let timeout = useRef(void 0);
1164
+ let autoCloseTimeout = useRef(void 0);
1165
+ let submenuSide = useRef(void 0);
1166
+ let movementsTowardsSubmenuCount = useRef(2);
1167
+ let [preventPointerEvents, setPreventPointerEvents] = useState(false);
1168
+ let updateSubmenuRect = () => {
1169
+ if (submenuRef.current) {
1170
+ submenuRect.current = submenuRef.current.getBoundingClientRect();
1171
+ submenuSide.current = void 0;
1172
+ }
1173
+ };
1174
+ $9daab02d461809db$export$683480f191c0e3ea({
1175
+ ref: submenuRef,
1176
+ onResize: updateSubmenuRect
1177
+ });
1178
+ let reset = () => {
1179
+ setPreventPointerEvents(false);
1180
+ movementsTowardsSubmenuCount.current = $d275435c250248f8$var$ALLOWED_INVALID_MOVEMENTS;
1181
+ prevPointerPos.current = void 0;
1182
+ };
1183
+ let modality = $507fabe10e71c6fb$export$98e20ec92f614cfe();
1184
+ useEffect(() => {
1185
+ if (preventPointerEvents && menuRef.current) menuRef.current.style.pointerEvents = "none";
1186
+ else menuRef.current.style.pointerEvents = "";
1187
+ }, [
1188
+ menuRef,
1189
+ preventPointerEvents
1190
+ ]);
1191
+ useEffect(() => {
1192
+ let submenu = submenuRef.current;
1193
+ let menu = menuRef.current;
1194
+ if (isDisabled || !submenu || !isOpen || modality !== "pointer" || !menu) {
1195
+ reset();
1196
+ return;
1197
+ }
1198
+ submenuRect.current = submenu.getBoundingClientRect();
1199
+ let onPointerMove = (e) => {
1200
+ if (e.pointerType === "touch" || e.pointerType === "pen") return;
1201
+ let currentTime = Date.now();
1202
+ if (currentTime - lastProcessedTime.current < $d275435c250248f8$var$THROTTLE_TIME) return;
1203
+ clearTimeout(timeout.current);
1204
+ clearTimeout(autoCloseTimeout.current);
1205
+ let { clientX: mouseX, clientY: mouseY } = e;
1206
+ if (!prevPointerPos.current) {
1207
+ prevPointerPos.current = {
1208
+ x: mouseX,
1209
+ y: mouseY
1210
+ };
1211
+ return;
1212
+ }
1213
+ if (!submenuRect.current) return;
1214
+ if (!submenuSide.current) submenuSide.current = mouseX > submenuRect.current.right ? "left" : "right";
1215
+ if (mouseX < menu.getBoundingClientRect().left || mouseX > menu.getBoundingClientRect().right || mouseY < menu.getBoundingClientRect().top || mouseY > menu.getBoundingClientRect().bottom) {
1216
+ reset();
1217
+ return;
1218
+ }
1219
+ let prevMouseX = prevPointerPos.current.x;
1220
+ let prevMouseY = prevPointerPos.current.y;
1221
+ let toSubmenuX = submenuSide.current === "right" ? submenuRect.current.left - prevMouseX : prevMouseX - submenuRect.current.right;
1222
+ let angleTop = Math.atan2(prevMouseY - submenuRect.current.top, toSubmenuX) + $d275435c250248f8$var$ANGLE_PADDING;
1223
+ let angleBottom = Math.atan2(prevMouseY - submenuRect.current.bottom, toSubmenuX) - $d275435c250248f8$var$ANGLE_PADDING;
1224
+ let anglePointer = Math.atan2(prevMouseY - mouseY, submenuSide.current === "left" ? -(mouseX - prevMouseX) : mouseX - prevMouseX);
1225
+ let isMovingTowardsSubmenu = anglePointer < angleTop && anglePointer > angleBottom;
1226
+ movementsTowardsSubmenuCount.current = isMovingTowardsSubmenu ? Math.min(movementsTowardsSubmenuCount.current + 1, $d275435c250248f8$var$ALLOWED_INVALID_MOVEMENTS) : Math.max(movementsTowardsSubmenuCount.current - 1, 0);
1227
+ if (movementsTowardsSubmenuCount.current >= $d275435c250248f8$var$ALLOWED_INVALID_MOVEMENTS) setPreventPointerEvents(true);
1228
+ else setPreventPointerEvents(false);
1229
+ lastProcessedTime.current = currentTime;
1230
+ prevPointerPos.current = {
1231
+ x: mouseX,
1232
+ y: mouseY
1233
+ };
1234
+ if (isMovingTowardsSubmenu) timeout.current = setTimeout(() => {
1235
+ reset();
1236
+ autoCloseTimeout.current = setTimeout(() => {
1237
+ let target = document.elementFromPoint(mouseX, mouseY);
1238
+ if (target && menu.contains(target)) target.dispatchEvent(new PointerEvent("pointerover", {
1239
+ bubbles: true,
1240
+ cancelable: true
1241
+ }));
1242
+ }, 100);
1243
+ }, $d275435c250248f8$var$TIMEOUT_TIME);
1244
+ };
1245
+ window.addEventListener("pointermove", onPointerMove);
1246
+ return () => {
1247
+ window.removeEventListener("pointermove", onPointerMove);
1248
+ clearTimeout(timeout.current);
1249
+ clearTimeout(autoCloseTimeout.current);
1250
+ movementsTowardsSubmenuCount.current = $d275435c250248f8$var$ALLOWED_INVALID_MOVEMENTS;
1251
+ };
1252
+ }, [
1253
+ isDisabled,
1254
+ isOpen,
1255
+ menuRef,
1256
+ modality,
1257
+ setPreventPointerEvents,
1258
+ submenuRef
1259
+ ]);
1260
+ }
1261
+ function $0065b146e7192841$export$7138b0d059a6e743(props, state, ref) {
1262
+ let { parentMenuRef, submenuRef, type = "menu", isDisabled, delay = 200 } = props;
1263
+ let submenuTriggerId = $bdb11010cef70236$export$f680877a34711e37();
1264
+ let overlayId = $bdb11010cef70236$export$f680877a34711e37();
1265
+ let { direction } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
1266
+ let openTimeout = useRef(void 0);
1267
+ let cancelOpenTimeout = useCallback(() => {
1268
+ if (openTimeout.current) {
1269
+ clearTimeout(openTimeout.current);
1270
+ openTimeout.current = void 0;
1271
+ }
1272
+ }, [
1273
+ openTimeout
1274
+ ]);
1275
+ let onSubmenuOpen = $8ae05eaa5c114e9c$export$7f54fc3180508a52((focusStrategy) => {
1276
+ cancelOpenTimeout();
1277
+ state.open(focusStrategy);
1278
+ });
1279
+ let onSubmenuClose = $8ae05eaa5c114e9c$export$7f54fc3180508a52(() => {
1280
+ cancelOpenTimeout();
1281
+ state.close();
1282
+ });
1283
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
1284
+ return () => {
1285
+ cancelOpenTimeout();
1286
+ };
1287
+ }, [
1288
+ cancelOpenTimeout
1289
+ ]);
1290
+ let submenuKeyDown = (e) => {
1291
+ switch (e.key) {
1292
+ case "ArrowLeft":
1293
+ if (direction === "ltr" && e.currentTarget.contains(e.target)) {
1294
+ var _ref_current;
1295
+ e.stopPropagation();
1296
+ onSubmenuClose();
1297
+ (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
1298
+ }
1299
+ break;
1300
+ case "ArrowRight":
1301
+ if (direction === "rtl" && e.currentTarget.contains(e.target)) {
1302
+ var _ref_current1;
1303
+ e.stopPropagation();
1304
+ onSubmenuClose();
1305
+ (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
1306
+ }
1307
+ break;
1308
+ case "Escape":
1309
+ e.stopPropagation();
1310
+ state.closeAll();
1311
+ break;
1312
+ }
1313
+ };
1314
+ var _state_focusStrategy;
1315
+ let submenuProps = {
1316
+ id: overlayId,
1317
+ "aria-labelledby": submenuTriggerId,
1318
+ submenuLevel: state.submenuLevel,
1319
+ ...type === "menu" && {
1320
+ onClose: state.closeAll,
1321
+ autoFocus: (_state_focusStrategy = state.focusStrategy) !== null && _state_focusStrategy !== void 0 ? _state_focusStrategy : void 0,
1322
+ onKeyDown: submenuKeyDown
1323
+ }
1324
+ };
1325
+ let submenuTriggerKeyDown = (e) => {
1326
+ switch (e.key) {
1327
+ case "ArrowRight":
1328
+ if (!isDisabled) {
1329
+ if (direction === "ltr") {
1330
+ if (!state.isOpen) onSubmenuOpen("first");
1331
+ if (type === "menu" && !!(submenuRef === null || submenuRef === void 0 ? void 0 : submenuRef.current) && document.activeElement === (ref === null || ref === void 0 ? void 0 : ref.current)) submenuRef.current.focus();
1332
+ } else if (state.isOpen) onSubmenuClose();
1333
+ else e.continuePropagation();
1334
+ }
1335
+ break;
1336
+ case "ArrowLeft":
1337
+ if (!isDisabled) {
1338
+ if (direction === "rtl") {
1339
+ if (!state.isOpen) onSubmenuOpen("first");
1340
+ if (type === "menu" && !!(submenuRef === null || submenuRef === void 0 ? void 0 : submenuRef.current) && document.activeElement === (ref === null || ref === void 0 ? void 0 : ref.current)) submenuRef.current.focus();
1341
+ } else if (state.isOpen) onSubmenuClose();
1342
+ else e.continuePropagation();
1343
+ }
1344
+ break;
1345
+ case "Escape":
1346
+ state.closeAll();
1347
+ break;
1348
+ default:
1349
+ e.continuePropagation();
1350
+ break;
1351
+ }
1352
+ };
1353
+ let onPressStart = (e) => {
1354
+ if (!isDisabled && (e.pointerType === "virtual" || e.pointerType === "keyboard"))
1355
+ onSubmenuOpen("first");
1356
+ };
1357
+ let onPress = (e) => {
1358
+ if (!isDisabled && (e.pointerType === "touch" || e.pointerType === "mouse"))
1359
+ onSubmenuOpen();
1360
+ };
1361
+ let onHoverChange = (isHovered) => {
1362
+ if (!isDisabled) {
1363
+ if (isHovered && !state.isOpen) {
1364
+ if (!openTimeout.current) openTimeout.current = setTimeout(() => {
1365
+ onSubmenuOpen();
1366
+ }, delay);
1367
+ } else if (!isHovered) cancelOpenTimeout();
1368
+ }
1369
+ };
1370
+ let onBlur = (e) => {
1371
+ var _parentMenuRef_current;
1372
+ if (state.isOpen && ((_parentMenuRef_current = parentMenuRef.current) === null || _parentMenuRef_current === void 0 ? void 0 : _parentMenuRef_current.contains(e.relatedTarget))) onSubmenuClose();
1373
+ };
1374
+ let shouldCloseOnInteractOutside = (target) => {
1375
+ if (target !== ref.current) return true;
1376
+ return false;
1377
+ };
1378
+ $d275435c250248f8$export$85ec83e04c95f50a({
1379
+ menuRef: parentMenuRef,
1380
+ submenuRef,
1381
+ isOpen: state.isOpen,
1382
+ isDisabled
1383
+ });
1384
+ return {
1385
+ submenuTriggerProps: {
1386
+ id: submenuTriggerId,
1387
+ "aria-controls": state.isOpen ? overlayId : void 0,
1388
+ "aria-haspopup": !isDisabled ? type : void 0,
1389
+ "aria-expanded": state.isOpen ? "true" : "false",
1390
+ onPressStart,
1391
+ onPress,
1392
+ onHoverChange,
1393
+ onKeyDown: submenuTriggerKeyDown,
1394
+ onBlur,
1395
+ isOpen: state.isOpen
1396
+ },
1397
+ submenuProps,
1398
+ popoverProps: {
1399
+ isNonModal: true,
1400
+ disableFocusManagement: true,
1401
+ shouldCloseOnInteractOutside
1402
+ }
1403
+ };
1404
+ }
1405
+ function $40df3f8667284809$export$d55e7ee900f34e93(props, ref) {
1406
+ let { role = "dialog" } = props;
1407
+ let titleId = $bdb11010cef70236$export$b4cc09c592e8fdb8();
1408
+ titleId = props["aria-label"] ? void 0 : titleId;
1409
+ let isRefocusing = useRef(false);
1410
+ useEffect(() => {
1411
+ if (ref.current && !ref.current.contains(document.activeElement)) {
1412
+ $6a99195332edec8b$export$80f3e147d781571c(ref.current);
1413
+ let timeout = setTimeout(() => {
1414
+ if (document.activeElement === ref.current) {
1415
+ isRefocusing.current = true;
1416
+ if (ref.current) {
1417
+ ref.current.blur();
1418
+ $6a99195332edec8b$export$80f3e147d781571c(ref.current);
1419
+ }
1420
+ isRefocusing.current = false;
1421
+ }
1422
+ }, 500);
1423
+ return () => {
1424
+ clearTimeout(timeout);
1425
+ };
1426
+ }
1427
+ }, [
1428
+ ref
1429
+ ]);
1430
+ $337b884510726a0d$export$14c98a7594375490();
1431
+ return {
1432
+ dialogProps: {
1433
+ ...$65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
1434
+ labelable: true
1435
+ }),
1436
+ role,
1437
+ tabIndex: -1,
1438
+ "aria-labelledby": props["aria-labelledby"] || titleId,
1439
+ // Prevent blur events from reaching useOverlay, which may cause
1440
+ // popovers to close. Since focus is contained within the dialog,
1441
+ // we don't want this to occur due to the above useEffect.
1442
+ onBlur: (e) => {
1443
+ if (isRefocusing.current) e.stopPropagation();
1444
+ }
1445
+ },
1446
+ titleProps: {
1447
+ id: titleId
1448
+ }
1449
+ };
1450
+ }
1451
+ function $a28c903ee9ad8dc5$export$79fefeb1c2091ac3(props) {
1452
+ let overlayTriggerState = $fc909762b330b746$export$61c6a8c84e605fb6(props);
1453
+ let [focusStrategy, setFocusStrategy] = useState(null);
1454
+ let [expandedKeysStack, setExpandedKeysStack] = useState([]);
1455
+ let closeAll = () => {
1456
+ setExpandedKeysStack([]);
1457
+ overlayTriggerState.close();
1458
+ };
1459
+ let openSubmenu = (triggerKey, level) => {
1460
+ setExpandedKeysStack((oldStack) => {
1461
+ if (level > oldStack.length) return oldStack;
1462
+ return [
1463
+ ...oldStack.slice(0, level),
1464
+ triggerKey
1465
+ ];
1466
+ });
1467
+ };
1468
+ let closeSubmenu = (triggerKey, level) => {
1469
+ setExpandedKeysStack((oldStack) => {
1470
+ let key = oldStack[level];
1471
+ if (key === triggerKey) return oldStack.slice(0, level);
1472
+ else return oldStack;
1473
+ });
1474
+ };
1475
+ return {
1476
+ focusStrategy,
1477
+ ...overlayTriggerState,
1478
+ open(focusStrategy2 = null) {
1479
+ setFocusStrategy(focusStrategy2);
1480
+ overlayTriggerState.open();
1481
+ },
1482
+ toggle(focusStrategy2 = null) {
1483
+ setFocusStrategy(focusStrategy2);
1484
+ overlayTriggerState.toggle();
1485
+ },
1486
+ close() {
1487
+ closeAll();
1488
+ },
1489
+ expandedKeysStack,
1490
+ openSubmenu,
1491
+ closeSubmenu
1492
+ };
1493
+ }
1494
+ function $e5614764aa47eb35$export$cfc51cf86138bf98(props, state) {
1495
+ let { triggerKey } = props;
1496
+ let { expandedKeysStack, openSubmenu, closeSubmenu, close: closeAll } = state;
1497
+ let [submenuLevel] = useState(expandedKeysStack === null || expandedKeysStack === void 0 ? void 0 : expandedKeysStack.length);
1498
+ let isOpen = useMemo(() => expandedKeysStack[submenuLevel] === triggerKey, [
1499
+ expandedKeysStack,
1500
+ triggerKey,
1501
+ submenuLevel
1502
+ ]);
1503
+ let [focusStrategy, setFocusStrategy] = useState(null);
1504
+ let open = useCallback((focusStrategy2) => {
1505
+ setFocusStrategy(focusStrategy2 !== null && focusStrategy2 !== void 0 ? focusStrategy2 : null);
1506
+ openSubmenu(triggerKey, submenuLevel);
1507
+ }, [
1508
+ openSubmenu,
1509
+ submenuLevel,
1510
+ triggerKey
1511
+ ]);
1512
+ let close = useCallback(() => {
1513
+ setFocusStrategy(null);
1514
+ closeSubmenu(triggerKey, submenuLevel);
1515
+ }, [
1516
+ closeSubmenu,
1517
+ submenuLevel,
1518
+ triggerKey
1519
+ ]);
1520
+ let toggle = useCallback((focusStrategy2) => {
1521
+ setFocusStrategy(focusStrategy2 !== null && focusStrategy2 !== void 0 ? focusStrategy2 : null);
1522
+ if (isOpen) close();
1523
+ else open(focusStrategy2);
1524
+ }, [
1525
+ close,
1526
+ open,
1527
+ isOpen
1528
+ ]);
1529
+ return useMemo(() => ({
1530
+ focusStrategy,
1531
+ isOpen,
1532
+ open,
1533
+ close,
1534
+ closeAll,
1535
+ submenuLevel,
1536
+ // TODO: Placeholders that aren't used but give us parity with OverlayTriggerState so we can use this in Popover. Refactor if we update Popover via
1537
+ // https://github.com/adobe/react-spectrum/pull/4976#discussion_r1336472863
1538
+ setOpen: () => {
1539
+ },
1540
+ toggle
1541
+ }), [
1542
+ isOpen,
1543
+ open,
1544
+ close,
1545
+ closeAll,
1546
+ focusStrategy,
1547
+ toggle,
1548
+ submenuLevel
1549
+ ]);
1550
+ }
1551
+ class $05ca4cd7c4a5a999$export$863faf230ee2118a {
1552
+ *[Symbol.iterator]() {
1553
+ yield* this.iterable;
1554
+ }
1555
+ get size() {
1556
+ return this.keyMap.size;
1557
+ }
1558
+ getKeys() {
1559
+ return this.keyMap.keys();
1560
+ }
1561
+ getKeyBefore(key) {
1562
+ let node = this.keyMap.get(key);
1563
+ var _node_prevKey;
1564
+ return node ? (_node_prevKey = node.prevKey) !== null && _node_prevKey !== void 0 ? _node_prevKey : null : null;
1565
+ }
1566
+ getKeyAfter(key) {
1567
+ let node = this.keyMap.get(key);
1568
+ var _node_nextKey;
1569
+ return node ? (_node_nextKey = node.nextKey) !== null && _node_nextKey !== void 0 ? _node_nextKey : null : null;
1570
+ }
1571
+ getFirstKey() {
1572
+ return this.firstKey;
1573
+ }
1574
+ getLastKey() {
1575
+ return this.lastKey;
1576
+ }
1577
+ getItem(key) {
1578
+ var _this_keyMap_get;
1579
+ return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;
1580
+ }
1581
+ at(idx) {
1582
+ const keys = [
1583
+ ...this.getKeys()
1584
+ ];
1585
+ return this.getItem(keys[idx]);
1586
+ }
1587
+ constructor(nodes, { expandedKeys } = {}) {
1588
+ this.keyMap = /* @__PURE__ */ new Map();
1589
+ this.firstKey = null;
1590
+ this.lastKey = null;
1591
+ this.iterable = nodes;
1592
+ expandedKeys = expandedKeys || /* @__PURE__ */ new Set();
1593
+ let visit = (node) => {
1594
+ this.keyMap.set(node.key, node);
1595
+ if (node.childNodes && (node.type === "section" || expandedKeys.has(node.key))) for (let child of node.childNodes) visit(child);
1596
+ };
1597
+ for (let node of nodes) visit(node);
1598
+ let last = null;
1599
+ let index = 0;
1600
+ for (let [key, node] of this.keyMap) {
1601
+ if (last) {
1602
+ last.nextKey = key;
1603
+ node.prevKey = last.key;
1604
+ } else {
1605
+ this.firstKey = key;
1606
+ node.prevKey = void 0;
1607
+ }
1608
+ if (node.type === "item") node.index = index++;
1609
+ last = node;
1610
+ last.nextKey = void 0;
1611
+ }
1612
+ var _last_key;
1613
+ this.lastKey = (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
1614
+ }
1615
+ }
1616
+ function $875d6693e12af071$export$728d6ba534403756(props) {
1617
+ let { onExpandedChange } = props;
1618
+ let [expandedKeys, setExpandedKeys] = $458b0a5536c1a7cf$export$40bfa8c7b0832715(props.expandedKeys ? new Set(props.expandedKeys) : void 0, props.defaultExpandedKeys ? new Set(props.defaultExpandedKeys) : /* @__PURE__ */ new Set(), onExpandedChange);
1619
+ let selectionState = $7af3f5b51489e0b5$export$253fe78d46329472(props);
1620
+ let disabledKeys = useMemo(() => props.disabledKeys ? new Set(props.disabledKeys) : /* @__PURE__ */ new Set(), [
1621
+ props.disabledKeys
1622
+ ]);
1623
+ let tree = $7613b1592d41b092$export$6cd28814d92fa9c9(props, useCallback((nodes) => new $05ca4cd7c4a5a999$export$863faf230ee2118a(nodes, {
1624
+ expandedKeys
1625
+ }), [
1626
+ expandedKeys
1627
+ ]), null);
1628
+ useEffect(() => {
1629
+ if (selectionState.focusedKey != null && !tree.getItem(selectionState.focusedKey)) selectionState.setFocusedKey(null);
1630
+ }, [
1631
+ tree,
1632
+ selectionState.focusedKey
1633
+ ]);
1634
+ let onToggle = (key) => {
1635
+ setExpandedKeys($875d6693e12af071$var$toggleKey(expandedKeys, key));
1636
+ };
1637
+ return {
1638
+ collection: tree,
1639
+ expandedKeys,
1640
+ disabledKeys,
1641
+ toggleKey: onToggle,
1642
+ setExpandedKeys,
1643
+ selectionManager: new $d496c0a20b6e58ec$export$6c8a5aaad13c9852(tree, selectionState)
1644
+ };
1645
+ }
1646
+ function $875d6693e12af071$var$toggleKey(set, key) {
1647
+ let res = new Set(set);
1648
+ if (res.has(key)) res.delete(key);
1649
+ else res.add(key);
1650
+ return res;
1651
+ }
1652
+ const $07b14b47974efb58$export$9b9a0cd73afb7ca4 = /* @__PURE__ */ createContext(null);
1653
+ function $07b14b47974efb58$var$Popover(props, ref) {
1654
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $07b14b47974efb58$export$9b9a0cd73afb7ca4);
1655
+ let contextState = useContext($de32f1b87079253c$export$d2f961adcb0afbe);
1656
+ let localState = $fc909762b330b746$export$61c6a8c84e605fb6(props);
1657
+ let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;
1658
+ let isExiting = $64fa3d84918910a7$export$45fda7c47f93fd48(ref, state.isOpen) || props.isExiting || false;
1659
+ let isHidden = $f39a9eba43920ace$export$b5d7cc18bb8d2b59();
1660
+ if (isHidden) {
1661
+ let children = props.children;
1662
+ if (typeof children === "function") children = children({
1663
+ trigger: props.trigger || null,
1664
+ placement: "bottom",
1665
+ isEntering: false,
1666
+ isExiting: false,
1667
+ defaultChildren: null
1668
+ });
1669
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children);
1670
+ }
1671
+ if (state && !state.isOpen && !isExiting) return null;
1672
+ return /* @__PURE__ */ React__default.createElement($07b14b47974efb58$var$PopoverInner, {
1673
+ ...props,
1674
+ triggerRef: props.triggerRef,
1675
+ state,
1676
+ popoverRef: ref,
1677
+ isExiting
1678
+ });
1679
+ }
1680
+ const $07b14b47974efb58$export$5b6b19405a83ff9d = /* @__PURE__ */ forwardRef($07b14b47974efb58$var$Popover);
1681
+ function $07b14b47974efb58$var$PopoverInner({ state, isExiting, UNSTABLE_portalContainer, ...props }) {
1682
+ let arrowRef = useRef(null);
1683
+ let [arrowWidth, setArrowWidth] = useState(0);
1684
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
1685
+ if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);
1686
+ }, [
1687
+ state.isOpen,
1688
+ arrowRef
1689
+ ]);
1690
+ var _props_offset;
1691
+ let { popoverProps, underlayProps, arrowProps, placement } = $f2f8a6077418541e$export$542a6fd13ac93354({
1692
+ ...props,
1693
+ offset: (_props_offset = props.offset) !== null && _props_offset !== void 0 ? _props_offset : 8,
1694
+ arrowSize: arrowWidth
1695
+ }, state);
1696
+ let ref = props.popoverRef;
1697
+ let isEntering = $64fa3d84918910a7$export$6d3443f2c48bfc20(ref, !!placement) || props.isEntering || false;
1698
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1699
+ ...props,
1700
+ defaultClassName: "react-aria-Popover",
1701
+ values: {
1702
+ trigger: props.trigger || null,
1703
+ placement,
1704
+ isEntering,
1705
+ isExiting
1706
+ }
1707
+ });
1708
+ let style = {
1709
+ ...popoverProps.style,
1710
+ ...renderProps.style
1711
+ };
1712
+ return /* @__PURE__ */ React__default.createElement($337b884510726a0d$export$c6fdb837b070b4ff, {
1713
+ ...props,
1714
+ isExiting,
1715
+ portalContainer: UNSTABLE_portalContainer
1716
+ }, !props.isNonModal && state.isOpen && /* @__PURE__ */ React__default.createElement("div", {
1717
+ "data-testid": "underlay",
1718
+ ...underlayProps,
1719
+ style: {
1720
+ position: "fixed",
1721
+ inset: 0
1722
+ }
1723
+ }), /* @__PURE__ */ React__default.createElement("div", {
1724
+ ...$3ef42575df84b30b$export$9d1611c77c2fe928($65484d02dcb7eb3e$export$457c3d6518dd4c6f(props), popoverProps),
1725
+ ...renderProps,
1726
+ ref,
1727
+ slot: props.slot || void 0,
1728
+ style,
1729
+ "data-trigger": props.trigger,
1730
+ "data-placement": placement,
1731
+ "data-entering": isEntering || void 0,
1732
+ "data-exiting": isExiting || void 0
1733
+ }, !props.isNonModal && /* @__PURE__ */ React__default.createElement($86ea4cb521eb2e37$export$2317d149ed6f78c4, {
1734
+ onDismiss: state.close
1735
+ }), /* @__PURE__ */ React__default.createElement($44f671af83e7d9e0$export$2de4954e8ae13b9f.Provider, {
1736
+ value: {
1737
+ ...arrowProps,
1738
+ placement,
1739
+ ref: arrowRef
1740
+ }
1741
+ }, renderProps.children), /* @__PURE__ */ React__default.createElement($86ea4cb521eb2e37$export$2317d149ed6f78c4, {
1742
+ onDismiss: state.close
1743
+ })));
1744
+ }
1745
+ const $63df2425e2108aa8$export$744d98a3b8a94e1c = /* @__PURE__ */ createContext({});
1746
+ const $3674c52c6b3c5bce$export$c7e742effb1c51e2 = /* @__PURE__ */ createContext(null);
1747
+ const $3674c52c6b3c5bce$export$24aad8519b95b41b = /* @__PURE__ */ createContext(null);
1748
+ const $3674c52c6b3c5bce$export$795aec4671cbae19 = /* @__PURE__ */ createContext(null);
1749
+ const $3674c52c6b3c5bce$var$SelectionManagerContext = /* @__PURE__ */ createContext(null);
1750
+ function $3674c52c6b3c5bce$export$27d2ad3c5815583e(props) {
1751
+ let state = $a28c903ee9ad8dc5$export$79fefeb1c2091ac3(props);
1752
+ let ref = useRef(null);
1753
+ let { menuTriggerProps, menuProps } = $168583247155ddda$export$dc9c12ed27dd1b49({
1754
+ ...props,
1755
+ type: "menu"
1756
+ }, state, ref);
1757
+ let [buttonWidth, setButtonWidth] = useState(null);
1758
+ let onResize = useCallback(() => {
1759
+ if (ref.current) setButtonWidth(ref.current.offsetWidth + "px");
1760
+ }, [
1761
+ ref
1762
+ ]);
1763
+ $9daab02d461809db$export$683480f191c0e3ea({
1764
+ ref,
1765
+ onResize
1766
+ });
1767
+ let scrollRef = useRef(null);
1768
+ return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
1769
+ values: [
1770
+ [
1771
+ $3674c52c6b3c5bce$export$c7e742effb1c51e2,
1772
+ {
1773
+ ...menuProps,
1774
+ ref: scrollRef
1775
+ }
1776
+ ],
1777
+ [
1778
+ $de32f1b87079253c$export$d2f961adcb0afbe,
1779
+ state
1780
+ ],
1781
+ [
1782
+ $3674c52c6b3c5bce$export$795aec4671cbae19,
1783
+ state
1784
+ ],
1785
+ [
1786
+ $07b14b47974efb58$export$9b9a0cd73afb7ca4,
1787
+ {
1788
+ trigger: "MenuTrigger",
1789
+ triggerRef: ref,
1790
+ scrollRef,
1791
+ placement: "bottom start",
1792
+ style: {
1793
+ "--trigger-width": buttonWidth
1794
+ }
1795
+ }
1796
+ ]
1797
+ ]
1798
+ }, /* @__PURE__ */ React__default.createElement($f1ab8c75478c6f73$export$3351871ee4b288b8, {
1799
+ ...menuTriggerProps,
1800
+ ref,
1801
+ isPressed: state.isOpen
1802
+ }, props.children));
1803
+ }
1804
+ const $3674c52c6b3c5bce$var$SubmenuTriggerContext = /* @__PURE__ */ createContext(null);
1805
+ const $3674c52c6b3c5bce$export$ecabc99eeffab7ca = /* @__PURE__ */ $e1995378a142960e$export$e953bb1cd0f19726("submenutrigger", (props, ref, item) => {
1806
+ let { CollectionBranch } = useContext($7135fc7d473fd974$export$4feb769f8ddf26c5);
1807
+ let state = useContext($3674c52c6b3c5bce$export$24aad8519b95b41b);
1808
+ let rootMenuTriggerState = useContext($3674c52c6b3c5bce$export$795aec4671cbae19);
1809
+ let submenuTriggerState = $e5614764aa47eb35$export$cfc51cf86138bf98({
1810
+ triggerKey: item.key
1811
+ }, rootMenuTriggerState);
1812
+ let submenuRef = useRef(null);
1813
+ let itemRef = $df56164dff5785e2$export$4338b53315abf666(ref);
1814
+ let { parentMenuRef } = useContext($3674c52c6b3c5bce$var$SubmenuTriggerContext);
1815
+ let { submenuTriggerProps, submenuProps, popoverProps } = $0065b146e7192841$export$7138b0d059a6e743({
1816
+ parentMenuRef,
1817
+ submenuRef,
1818
+ delay: props.delay
1819
+ }, submenuTriggerState, itemRef);
1820
+ return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
1821
+ values: [
1822
+ [
1823
+ $3674c52c6b3c5bce$var$MenuItemContext,
1824
+ {
1825
+ ...submenuTriggerProps,
1826
+ onAction: void 0,
1827
+ ref: itemRef
1828
+ }
1829
+ ],
1830
+ [
1831
+ $3674c52c6b3c5bce$export$c7e742effb1c51e2,
1832
+ submenuProps
1833
+ ],
1834
+ [
1835
+ $de32f1b87079253c$export$d2f961adcb0afbe,
1836
+ submenuTriggerState
1837
+ ],
1838
+ [
1839
+ $07b14b47974efb58$export$9b9a0cd73afb7ca4,
1840
+ {
1841
+ ref: submenuRef,
1842
+ trigger: "SubmenuTrigger",
1843
+ triggerRef: itemRef,
1844
+ placement: "end top",
1845
+ // Prevent parent popover from hiding submenu.
1846
+ // @ts-ignore
1847
+ "data-react-aria-top-layer": true,
1848
+ ...popoverProps
1849
+ }
1850
+ ]
1851
+ ]
1852
+ }, /* @__PURE__ */ React__default.createElement(CollectionBranch, {
1853
+ collection: state.collection,
1854
+ parent: item
1855
+ }), props.children[1]);
1856
+ }, (props) => props.children[0]);
1857
+ function $3674c52c6b3c5bce$var$Menu(props, ref) {
1858
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $3674c52c6b3c5bce$export$c7e742effb1c51e2);
1859
+ return /* @__PURE__ */ React__default.createElement($e1995378a142960e$export$bf788dd355e3a401, {
1860
+ content: /* @__PURE__ */ React__default.createElement($e1995378a142960e$export$fb8073518f34e6ec, props)
1861
+ }, (collection) => collection.size > 0 && /* @__PURE__ */ React__default.createElement($3674c52c6b3c5bce$var$MenuInner, {
1862
+ props,
1863
+ collection,
1864
+ menuRef: ref
1865
+ }));
1866
+ }
1867
+ function $3674c52c6b3c5bce$var$MenuInner({ props, collection, menuRef: ref }) {
1868
+ let state = $875d6693e12af071$export$728d6ba534403756({
1869
+ ...props,
1870
+ collection,
1871
+ children: void 0
1872
+ });
1873
+ let triggerState = useContext($3674c52c6b3c5bce$export$795aec4671cbae19);
1874
+ let { isVirtualized, CollectionRoot } = useContext($7135fc7d473fd974$export$4feb769f8ddf26c5);
1875
+ let { menuProps } = $d5336fe17ce95402$export$38eaa17faae8f579({
1876
+ ...props,
1877
+ isVirtualized,
1878
+ onClose: props.onClose || (triggerState === null || triggerState === void 0 ? void 0 : triggerState.close)
1879
+ }, state, ref);
1880
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1881
+ defaultClassName: "react-aria-Menu",
1882
+ className: props.className,
1883
+ style: props.style,
1884
+ values: {}
1885
+ });
1886
+ return /* @__PURE__ */ React__default.createElement($9bf71ea28793e738$export$20e40289641fbbb6, null, /* @__PURE__ */ React__default.createElement("div", {
1887
+ ...$65484d02dcb7eb3e$export$457c3d6518dd4c6f(props),
1888
+ ...menuProps,
1889
+ ...renderProps,
1890
+ ref,
1891
+ slot: props.slot || void 0,
1892
+ onScroll: props.onScroll
1893
+ }, /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
1894
+ values: [
1895
+ [
1896
+ $3674c52c6b3c5bce$export$24aad8519b95b41b,
1897
+ state
1898
+ ],
1899
+ [
1900
+ $431f98aba6844401$export$6615d83f6de245ce,
1901
+ {
1902
+ elementType: "div"
1903
+ }
1904
+ ],
1905
+ [
1906
+ $7135fc7d473fd974$export$d40e14dec8b060a8,
1907
+ {
1908
+ name: "MenuSection",
1909
+ render: $3674c52c6b3c5bce$var$MenuSection
1910
+ }
1911
+ ],
1912
+ [
1913
+ $3674c52c6b3c5bce$var$SubmenuTriggerContext,
1914
+ {
1915
+ parentMenuRef: ref
1916
+ }
1917
+ ],
1918
+ [
1919
+ $3674c52c6b3c5bce$var$MenuItemContext,
1920
+ null
1921
+ ],
1922
+ [
1923
+ $3674c52c6b3c5bce$var$SelectionManagerContext,
1924
+ state.selectionManager
1925
+ ]
1926
+ ]
1927
+ }, /* @__PURE__ */ React__default.createElement(CollectionRoot, {
1928
+ collection,
1929
+ persistedKeys: $7135fc7d473fd974$export$90e00781bc59d8f9(state.selectionManager.focusedKey),
1930
+ scrollRef: ref
1931
+ }))));
1932
+ }
1933
+ const $3674c52c6b3c5bce$export$d9b273488cd8ce6f = /* @__PURE__ */ forwardRef($3674c52c6b3c5bce$var$Menu);
1934
+ class $3674c52c6b3c5bce$var$GroupSelectionManager extends $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
1935
+ get focusedKey() {
1936
+ return this.parent.focusedKey;
1937
+ }
1938
+ get isFocused() {
1939
+ return this.parent.isFocused;
1940
+ }
1941
+ setFocusedKey(key, childFocusStrategy) {
1942
+ return this.parent.setFocusedKey(key, childFocusStrategy);
1943
+ }
1944
+ setFocused(isFocused) {
1945
+ this.parent.setFocused(isFocused);
1946
+ }
1947
+ get childFocusStrategy() {
1948
+ return this.parent.childFocusStrategy;
1949
+ }
1950
+ constructor(parent, state) {
1951
+ super(parent.collection, state);
1952
+ this.parent = parent;
1953
+ }
1954
+ }
1955
+ function $3674c52c6b3c5bce$var$MenuSection(props, ref, section, className = "react-aria-MenuSection") {
1956
+ var _section_props, _section_props1;
1957
+ let state = useContext($3674c52c6b3c5bce$export$24aad8519b95b41b);
1958
+ let { CollectionBranch } = useContext($7135fc7d473fd974$export$4feb769f8ddf26c5);
1959
+ let [headingRef, heading] = $64fa3d84918910a7$export$9d4c57ee4c6ffdd8();
1960
+ var _section_props_arialabel;
1961
+ let { headingProps, groupProps } = $3e5eb2498db5b506$export$73f7a44322579622({
1962
+ heading,
1963
+ "aria-label": (_section_props_arialabel = section.props["aria-label"]) !== null && _section_props_arialabel !== void 0 ? _section_props_arialabel : void 0
1964
+ });
1965
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1966
+ defaultClassName: className,
1967
+ className: (_section_props = section.props) === null || _section_props === void 0 ? void 0 : _section_props.className,
1968
+ style: (_section_props1 = section.props) === null || _section_props1 === void 0 ? void 0 : _section_props1.style,
1969
+ values: {}
1970
+ });
1971
+ let parent = useContext($3674c52c6b3c5bce$var$SelectionManagerContext);
1972
+ let selectionState = $7af3f5b51489e0b5$export$253fe78d46329472(props);
1973
+ let manager = props.selectionMode != null ? new $3674c52c6b3c5bce$var$GroupSelectionManager(parent, selectionState) : parent;
1974
+ return /* @__PURE__ */ React__default.createElement("section", {
1975
+ ...$65484d02dcb7eb3e$export$457c3d6518dd4c6f(props),
1976
+ ...groupProps,
1977
+ ...renderProps,
1978
+ ref
1979
+ }, /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
1980
+ values: [
1981
+ [
1982
+ $72a5793c14baf454$export$e0e4026c12a8bdbb,
1983
+ {
1984
+ ...headingProps,
1985
+ ref: headingRef
1986
+ }
1987
+ ],
1988
+ [
1989
+ $3674c52c6b3c5bce$var$SelectionManagerContext,
1990
+ manager
1991
+ ]
1992
+ ]
1993
+ }, /* @__PURE__ */ React__default.createElement(CollectionBranch, {
1994
+ collection: state.collection,
1995
+ parent: section
1996
+ })));
1997
+ }
1998
+ const $3674c52c6b3c5bce$var$MenuItemContext = /* @__PURE__ */ createContext(null);
1999
+ const $3674c52c6b3c5bce$export$2ce376c2cc3355c8 = /* @__PURE__ */ $e1995378a142960e$export$18af5c7a9e9b3664("item", function MenuItem(props, forwardedRef, item) {
2000
+ var _useSlottedContext;
2001
+ [props, forwardedRef] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, forwardedRef, $3674c52c6b3c5bce$var$MenuItemContext);
2002
+ let id = (_useSlottedContext = $64fa3d84918910a7$export$fabf2dc03a41866e($3674c52c6b3c5bce$var$MenuItemContext)) === null || _useSlottedContext === void 0 ? void 0 : _useSlottedContext.id;
2003
+ let state = useContext($3674c52c6b3c5bce$export$24aad8519b95b41b);
2004
+ let ref = $df56164dff5785e2$export$4338b53315abf666(forwardedRef);
2005
+ let selectionManager = useContext($3674c52c6b3c5bce$var$SelectionManagerContext);
2006
+ let { menuItemProps, labelProps, descriptionProps, keyboardShortcutProps, ...states } = $a2e5df62f93c7633$export$9d32628fc2aea7da({
2007
+ ...props,
2008
+ id,
2009
+ key: item.key,
2010
+ selectionManager
2011
+ }, state, ref);
2012
+ let { isFocusVisible, focusProps } = $f7dceffc5ad7768b$export$4e328f61c538687f();
2013
+ let { hoverProps, isHovered } = $6179b936705e76d3$export$ae780daf29e6d456({
2014
+ isDisabled: states.isDisabled
2015
+ });
2016
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
2017
+ ...props,
2018
+ id: void 0,
2019
+ children: item.rendered,
2020
+ defaultClassName: "react-aria-MenuItem",
2021
+ values: {
2022
+ ...states,
2023
+ isHovered,
2024
+ isFocusVisible,
2025
+ selectionMode: selectionManager.selectionMode,
2026
+ selectionBehavior: selectionManager.selectionBehavior,
2027
+ hasSubmenu: !!props["aria-haspopup"],
2028
+ isOpen: props["aria-expanded"] === "true"
2029
+ }
2030
+ });
2031
+ let ElementType = props.href ? "a" : "div";
2032
+ return /* @__PURE__ */ React__default.createElement(ElementType, {
2033
+ ...$3ef42575df84b30b$export$9d1611c77c2fe928(menuItemProps, focusProps, hoverProps),
2034
+ ...renderProps,
2035
+ ref,
2036
+ "data-disabled": states.isDisabled || void 0,
2037
+ "data-hovered": isHovered || void 0,
2038
+ "data-focused": states.isFocused || void 0,
2039
+ "data-focus-visible": isFocusVisible || void 0,
2040
+ "data-pressed": states.isPressed || void 0,
2041
+ "data-selected": states.isSelected || void 0,
2042
+ "data-selection-mode": selectionManager.selectionMode === "none" ? void 0 : selectionManager.selectionMode,
2043
+ "data-has-submenu": !!props["aria-haspopup"] || void 0,
2044
+ "data-open": props["aria-expanded"] === "true" || void 0
2045
+ }, /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
2046
+ values: [
2047
+ [
2048
+ $514c0188e459b4c0$export$9afb8bc826b033ea,
2049
+ {
2050
+ slots: {
2051
+ label: labelProps,
2052
+ description: descriptionProps
2053
+ }
2054
+ }
2055
+ ],
2056
+ [
2057
+ $63df2425e2108aa8$export$744d98a3b8a94e1c,
2058
+ keyboardShortcutProps
2059
+ ]
2060
+ ]
2061
+ }, renderProps.children));
2062
+ });
2063
+ const $de32f1b87079253c$export$8b93a07348a7730c = /* @__PURE__ */ createContext(null);
2064
+ const $de32f1b87079253c$export$d2f961adcb0afbe = /* @__PURE__ */ createContext(null);
2065
+ function $de32f1b87079253c$export$2e1e1122cf0cba88(props) {
2066
+ let state = $a28c903ee9ad8dc5$export$79fefeb1c2091ac3(props);
2067
+ let buttonRef = useRef(null);
2068
+ let { triggerProps, overlayProps } = $628037886ba31236$export$f9d5c8beee7d008d({
2069
+ type: "dialog"
2070
+ }, state, buttonRef);
2071
+ triggerProps.id = $bdb11010cef70236$export$f680877a34711e37();
2072
+ overlayProps["aria-labelledby"] = triggerProps.id;
2073
+ return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
2074
+ values: [
2075
+ [
2076
+ $de32f1b87079253c$export$d2f961adcb0afbe,
2077
+ state
2078
+ ],
2079
+ [
2080
+ $3674c52c6b3c5bce$export$795aec4671cbae19,
2081
+ state
2082
+ ],
2083
+ [
2084
+ $de32f1b87079253c$export$8b93a07348a7730c,
2085
+ overlayProps
2086
+ ],
2087
+ [
2088
+ $07b14b47974efb58$export$9b9a0cd73afb7ca4,
2089
+ {
2090
+ trigger: "DialogTrigger",
2091
+ triggerRef: buttonRef
2092
+ }
2093
+ ]
2094
+ ]
2095
+ }, /* @__PURE__ */ React__default.createElement($f1ab8c75478c6f73$export$3351871ee4b288b8, {
2096
+ ...triggerProps,
2097
+ ref: buttonRef,
2098
+ isPressed: state.isOpen
2099
+ }, props.children));
2100
+ }
2101
+ function $de32f1b87079253c$var$Dialog(props, ref) {
2102
+ let originalAriaLabelledby = props["aria-labelledby"];
2103
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $de32f1b87079253c$export$8b93a07348a7730c);
2104
+ let { dialogProps, titleProps } = $40df3f8667284809$export$d55e7ee900f34e93({
2105
+ ...props,
2106
+ // Only pass aria-labelledby from props, not context.
2107
+ // Context is used as a fallback below.
2108
+ "aria-labelledby": originalAriaLabelledby
2109
+ }, ref);
2110
+ let state = useContext($de32f1b87079253c$export$d2f961adcb0afbe);
2111
+ if (!dialogProps["aria-label"] && !dialogProps["aria-labelledby"]) {
2112
+ if (props["aria-labelledby"]) dialogProps["aria-labelledby"] = props["aria-labelledby"];
2113
+ else console.warn('If a Dialog does not contain a <Heading slot="title">, it must have an aria-label or aria-labelledby attribute for accessibility.');
2114
+ }
2115
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
2116
+ defaultClassName: "react-aria-Dialog",
2117
+ className: props.className,
2118
+ style: props.style,
2119
+ children: props.children,
2120
+ values: {
2121
+ close: (state === null || state === void 0 ? void 0 : state.close) || (() => {
2122
+ })
2123
+ }
2124
+ });
2125
+ return /* @__PURE__ */ React__default.createElement("section", {
2126
+ ...$65484d02dcb7eb3e$export$457c3d6518dd4c6f(props),
2127
+ ...dialogProps,
2128
+ ...renderProps,
2129
+ ref,
2130
+ slot: props.slot || void 0
2131
+ }, /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
2132
+ values: [
2133
+ [
2134
+ $4e85f108e88277b8$export$d688439359537581,
2135
+ {
2136
+ slots: {
2137
+ [$64fa3d84918910a7$export$c62b8e45d58ddad9]: {},
2138
+ title: {
2139
+ ...titleProps,
2140
+ level: 2
2141
+ }
2142
+ }
2143
+ }
2144
+ ],
2145
+ [
2146
+ $d2b4bc8c273e7be6$export$24d547caef80ccd1,
2147
+ {
2148
+ slots: {
2149
+ [$64fa3d84918910a7$export$c62b8e45d58ddad9]: {},
2150
+ close: {
2151
+ onPress: () => state === null || state === void 0 ? void 0 : state.close()
2152
+ }
2153
+ }
2154
+ }
2155
+ ]
2156
+ ]
2157
+ }, renderProps.children));
2158
+ }
2159
+ const $de32f1b87079253c$export$3ddf2d174ce01153 = /* @__PURE__ */ forwardRef($de32f1b87079253c$var$Dialog);
2160
+ export {
2161
+ $07b14b47974efb58$export$5b6b19405a83ff9d as $,
2162
+ $3674c52c6b3c5bce$export$27d2ad3c5815583e as a,
2163
+ $3674c52c6b3c5bce$export$d9b273488cd8ce6f as b,
2164
+ $3674c52c6b3c5bce$export$2ce376c2cc3355c8 as c,
2165
+ $3674c52c6b3c5bce$export$ecabc99eeffab7ca as d,
2166
+ $de32f1b87079253c$export$3ddf2d174ce01153 as e,
2167
+ $de32f1b87079253c$export$2e1e1122cf0cba88 as f,
2168
+ $a11501f3d1d39e6c$export$ea8f71083e90600f as g,
2169
+ $49c51c25361d4cd2$export$ee0f7cc6afcd1c18 as h,
2170
+ $337b884510726a0d$export$14c98a7594375490 as i,
2171
+ $5e3802645cc19319$export$1c3ebcada18427bf as j,
2172
+ $de32f1b87079253c$export$d2f961adcb0afbe as k,
2173
+ $337b884510726a0d$export$c6fdb837b070b4ff as l,
2174
+ $86ea4cb521eb2e37$export$2317d149ed6f78c4 as m,
2175
+ $168583247155ddda$export$dc9c12ed27dd1b49 as n,
2176
+ $07b14b47974efb58$export$9b9a0cd73afb7ca4 as o
2177
+ };