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