@react-spectrum/menu 3.16.1-nightly.4318 → 3.16.1-nightly.4324

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/import.mjs CHANGED
@@ -1,24 +1,28 @@
1
+ "use client";
2
+
1
3
  import "./main.css";
2
4
  import {Item as $5ae296f2d6923e14$re_export$Item, Section as $5ae296f2d6923e14$re_export$Section, getChildNodes as $9SHwR$getChildNodes} from "@react-stately/collections";
3
- import {useDOMRef as $9SHwR$useDOMRef, useIsMobileDevice as $9SHwR$useIsMobileDevice, classNames as $9SHwR$classNames, SlotProvider as $9SHwR$SlotProvider, useStyleProps as $9SHwR$useStyleProps, ClearSlots as $9SHwR$ClearSlots, useSlotProps as $9SHwR$useSlotProps} from "@react-spectrum/utils";
4
- import {Tray as $9SHwR$Tray, Popover as $9SHwR$Popover, Modal as $9SHwR$Modal} from "@react-spectrum/overlays";
5
- import {PressResponder as $9SHwR$PressResponder} from "@react-aria/interactions";
6
- import $9SHwR$react, {useRef as $9SHwR$useRef, Fragment as $9SHwR$Fragment, forwardRef as $9SHwR$forwardRef, useContext as $9SHwR$useContext, useMemo as $9SHwR$useMemo} from "react";
7
- import {useMenuTrigger as $9SHwR$useMenuTrigger, useMenu as $9SHwR$useMenu, useMenuItem as $9SHwR$useMenuItem, useMenuSection as $9SHwR$useMenuSection} from "@react-aria/menu";
8
- import {useMenuTriggerState as $9SHwR$useMenuTriggerState} from "@react-stately/menu";
5
+ import {useDOMRef as $9SHwR$useDOMRef, useIsMobileDevice as $9SHwR$useIsMobileDevice, classNames as $9SHwR$classNames, SlotProvider as $9SHwR$SlotProvider, useStyleProps as $9SHwR$useStyleProps, ClearSlots as $9SHwR$ClearSlots, useSlotProps as $9SHwR$useSlotProps, unwrapDOMRef as $9SHwR$unwrapDOMRef} from "@react-spectrum/utils";
6
+ import {Tray as $9SHwR$Tray, Popover as $9SHwR$Popover} from "@react-spectrum/overlays";
7
+ import {PressResponder as $9SHwR$PressResponder, getInteractionModality as $9SHwR$getInteractionModality} from "@react-aria/interactions";
8
+ import $9SHwR$react, {useRef as $9SHwR$useRef, Fragment as $9SHwR$Fragment, forwardRef as $9SHwR$forwardRef, useContext as $9SHwR$useContext, useState as $9SHwR$useState, useEffect as $9SHwR$useEffect, useMemo as $9SHwR$useMemo} from "react";
9
+ import {useMenuTrigger as $9SHwR$useMenuTrigger, UNSTABLE_useSubmenuTrigger as $9SHwR$UNSTABLE_useSubmenuTrigger, useMenu as $9SHwR$useMenu, useMenuItem as $9SHwR$useMenuItem, useMenuSection as $9SHwR$useMenuSection} from "@react-aria/menu";
10
+ import {useMenuTriggerState as $9SHwR$useMenuTriggerState, UNSTABLE_useSubmenuTriggerState as $9SHwR$UNSTABLE_useSubmenuTriggerState} from "@react-stately/menu";
11
+ import {useLayoutEffect as $9SHwR$useLayoutEffect, mergeProps as $9SHwR$mergeProps, useSyncRef as $9SHwR$useSyncRef, useSlotId as $9SHwR$useSlotId, useObjectRef as $9SHwR$useObjectRef, mergeRefs as $9SHwR$mergeRefs, filterDOMProps as $9SHwR$filterDOMProps} from "@react-aria/utils";
12
+ import $9SHwR$reactdom from "react-dom";
13
+ import {useLocale as $9SHwR$useLocale, useLocalizedStringFormatter as $9SHwR$useLocalizedStringFormatter} from "@react-aria/i18n";
14
+ import {ActionButton as $9SHwR$ActionButton} from "@react-spectrum/button";
15
+ import $9SHwR$spectrumiconsuiArrowDownSmall from "@spectrum-icons/ui/ArrowDownSmall";
9
16
  import {FocusScope as $9SHwR$FocusScope, FocusRing as $9SHwR$FocusRing} from "@react-aria/focus";
10
- import {mergeProps as $9SHwR$mergeProps, useSyncRef as $9SHwR$useSyncRef, useObjectRef as $9SHwR$useObjectRef, mergeRefs as $9SHwR$mergeRefs, useSlotId as $9SHwR$useSlotId, filterDOMProps as $9SHwR$filterDOMProps} from "@react-aria/utils";
11
17
  import {useTreeState as $9SHwR$useTreeState} from "@react-stately/tree";
12
18
  import $9SHwR$spectrumiconsuiCheckmarkMedium from "@spectrum-icons/ui/CheckmarkMedium";
19
+ import $9SHwR$spectrumiconsworkflowChevronLeft from "@spectrum-icons/workflow/ChevronLeft";
20
+ import $9SHwR$spectrumiconsworkflowChevronRight from "@spectrum-icons/workflow/ChevronRight";
13
21
  import {Grid as $9SHwR$Grid} from "@react-spectrum/layout";
14
22
  import $9SHwR$spectrumiconsworkflowInfoOutline from "@spectrum-icons/workflow/InfoOutline";
15
23
  import {Text as $9SHwR$Text} from "@react-spectrum/text";
16
- import {useLocalizedStringFormatter as $9SHwR$useLocalizedStringFormatter} from "@react-aria/i18n";
17
24
  import {useSeparator as $9SHwR$useSeparator} from "@react-aria/separator";
18
- import {ActionButton as $9SHwR$ActionButton} from "@react-spectrum/button";
19
25
  import $9SHwR$spectrumiconsworkflowMore from "@spectrum-icons/workflow/More";
20
- import {DismissButton as $9SHwR$DismissButton} from "@react-aria/overlays";
21
- import {useOverlayTriggerState as $9SHwR$useOverlayTriggerState} from "@react-stately/overlays";
22
26
 
23
27
 
24
28
  function $parcel$interopDefault(a) {
@@ -65,11 +69,11 @@ const $d94604d52c3e3feb$export$c7e742effb1c51e2 = (0, $9SHwR$react).createContex
65
69
  function $d94604d52c3e3feb$export$21c7ab35b39f78ec() {
66
70
  return (0, $9SHwR$useContext)($d94604d52c3e3feb$export$c7e742effb1c51e2);
67
71
  }
68
- const $d94604d52c3e3feb$export$e239f1ef5b7afe1a = (0, $9SHwR$react).createContext(undefined);
69
- function $d94604d52c3e3feb$export$4bbcd0ebecc48abd() {
70
- return (0, $9SHwR$useContext)($d94604d52c3e3feb$export$e239f1ef5b7afe1a);
72
+ const $d94604d52c3e3feb$export$8d97fe02339fc0e3 = (0, $9SHwR$react).createContext(undefined);
73
+ function $d94604d52c3e3feb$export$dc2161044aa0b36d() {
74
+ return (0, $9SHwR$useContext)($d94604d52c3e3feb$export$8d97fe02339fc0e3);
71
75
  }
72
- const $d94604d52c3e3feb$export$24aad8519b95b41b = (0, $9SHwR$react).createContext({});
76
+ const $d94604d52c3e3feb$export$24aad8519b95b41b = (0, $9SHwR$react).createContext(undefined);
73
77
  function $d94604d52c3e3feb$export$efa3856fc0e85e7f() {
74
78
  return (0, $9SHwR$useContext)($d94604d52c3e3feb$export$24aad8519b95b41b);
75
79
  }
@@ -81,6 +85,7 @@ function $d94604d52c3e3feb$export$efa3856fc0e85e7f() {
81
85
  var $286d1cb34bb7dc84$exports = {};
82
86
 
83
87
  $parcel$export($286d1cb34bb7dc84$exports, "checkmark", () => $286d1cb34bb7dc84$export$292abbf31ed842a, (v) => $286d1cb34bb7dc84$export$292abbf31ed842a = v);
88
+ $parcel$export($286d1cb34bb7dc84$exports, "chevron", () => $286d1cb34bb7dc84$export$980c1089c0604ea3, (v) => $286d1cb34bb7dc84$export$980c1089c0604ea3 = v);
84
89
  $parcel$export($286d1cb34bb7dc84$exports, "description", () => $286d1cb34bb7dc84$export$6d59db4903f20f7d, (v) => $286d1cb34bb7dc84$export$6d59db4903f20f7d = v);
85
90
  $parcel$export($286d1cb34bb7dc84$exports, "end", () => $286d1cb34bb7dc84$export$bd5df0f255a350f8, (v) => $286d1cb34bb7dc84$export$bd5df0f255a350f8 = v);
86
91
  $parcel$export($286d1cb34bb7dc84$exports, "focus-ring", () => $286d1cb34bb7dc84$export$f39a09f249340e2a, (v) => $286d1cb34bb7dc84$export$f39a09f249340e2a = v);
@@ -88,6 +93,7 @@ $parcel$export($286d1cb34bb7dc84$exports, "i18nFontFamily", () => $286d1cb34bb7d
88
93
  $parcel$export($286d1cb34bb7dc84$exports, "icon", () => $286d1cb34bb7dc84$export$1ca1ec8b29a4ce27, (v) => $286d1cb34bb7dc84$export$1ca1ec8b29a4ce27 = v);
89
94
  $parcel$export($286d1cb34bb7dc84$exports, "is-active", () => $286d1cb34bb7dc84$export$20fd0f7cd4e6112f, (v) => $286d1cb34bb7dc84$export$20fd0f7cd4e6112f = v);
90
95
  $parcel$export($286d1cb34bb7dc84$exports, "is-disabled", () => $286d1cb34bb7dc84$export$d35bc1e505d1ebbf, (v) => $286d1cb34bb7dc84$export$d35bc1e505d1ebbf = v);
96
+ $parcel$export($286d1cb34bb7dc84$exports, "is-expanded", () => $286d1cb34bb7dc84$export$911ebb89bba4b634, (v) => $286d1cb34bb7dc84$export$911ebb89bba4b634 = v);
91
97
  $parcel$export($286d1cb34bb7dc84$exports, "is-focused", () => $286d1cb34bb7dc84$export$e7dc768d35940237, (v) => $286d1cb34bb7dc84$export$e7dc768d35940237 = v);
92
98
  $parcel$export($286d1cb34bb7dc84$exports, "is-highlighted", () => $286d1cb34bb7dc84$export$451c613d0772eb99, (v) => $286d1cb34bb7dc84$export$451c613d0772eb99 = v);
93
99
  $parcel$export($286d1cb34bb7dc84$exports, "is-hovered", () => $286d1cb34bb7dc84$export$b8813cd5d7824ce7, (v) => $286d1cb34bb7dc84$export$b8813cd5d7824ce7 = v);
@@ -100,7 +106,9 @@ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-FocusRing", () => $286d1cb34
100
106
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-FocusRing--quiet", () => $286d1cb34bb7dc84$export$2927016961429360, (v) => $286d1cb34bb7dc84$export$2927016961429360 = v);
101
107
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Icon", () => $286d1cb34bb7dc84$export$d374b04f30360026, (v) => $286d1cb34bb7dc84$export$d374b04f30360026 = v);
102
108
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu", () => $286d1cb34bb7dc84$export$fae6af6decd50ac5, (v) => $286d1cb34bb7dc84$export$fae6af6decd50ac5 = v);
109
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-avatar", () => $286d1cb34bb7dc84$export$944daf9b7d423a02, (v) => $286d1cb34bb7dc84$export$944daf9b7d423a02 = v);
103
110
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-checkmark", () => $286d1cb34bb7dc84$export$8e15a726e4f7e62d, (v) => $286d1cb34bb7dc84$export$8e15a726e4f7e62d = v);
111
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-chevron", () => $286d1cb34bb7dc84$export$ca45e0db366b8e6c, (v) => $286d1cb34bb7dc84$export$ca45e0db366b8e6c = v);
104
112
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-description", () => $286d1cb34bb7dc84$export$36f1275051e39ead, (v) => $286d1cb34bb7dc84$export$36f1275051e39ead = v);
105
113
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-divider", () => $286d1cb34bb7dc84$export$e892026f534efed8, (v) => $286d1cb34bb7dc84$export$e892026f534efed8 = v);
106
114
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-end", () => $286d1cb34bb7dc84$export$926a1bb74ed65667, (v) => $286d1cb34bb7dc84$export$926a1bb74ed65667 = v);
@@ -118,8 +126,14 @@ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-section--noHeading", ()
118
126
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-sectionHeading", () => $286d1cb34bb7dc84$export$c20ea4b35020fbdd, (v) => $286d1cb34bb7dc84$export$c20ea4b35020fbdd = v);
119
127
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-subdialog", () => $286d1cb34bb7dc84$export$d7e47bfca92b5744, (v) => $286d1cb34bb7dc84$export$d7e47bfca92b5744 = v);
120
128
  $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-wrapper", () => $286d1cb34bb7dc84$export$76d36e55740ad742, (v) => $286d1cb34bb7dc84$export$76d36e55740ad742 = v);
129
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Menu-wrapper--isMobile", () => $286d1cb34bb7dc84$export$c873119be41fdb72, (v) => $286d1cb34bb7dc84$export$c873119be41fdb72 = v);
130
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Submenu-heading", () => $286d1cb34bb7dc84$export$c830d2588e34dae1, (v) => $286d1cb34bb7dc84$export$c830d2588e34dae1 = v);
131
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Submenu-headingWrapper", () => $286d1cb34bb7dc84$export$d3fc690f61339a08, (v) => $286d1cb34bb7dc84$export$d3fc690f61339a08 = v);
132
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Submenu-popover", () => $286d1cb34bb7dc84$export$fe967dac6207a986, (v) => $286d1cb34bb7dc84$export$fe967dac6207a986 = v);
133
+ $parcel$export($286d1cb34bb7dc84$exports, "spectrum-Submenu-wrapper", () => $286d1cb34bb7dc84$export$158cbd6607d36c4e, (v) => $286d1cb34bb7dc84$export$158cbd6607d36c4e = v);
121
134
  $parcel$export($286d1cb34bb7dc84$exports, "text", () => $286d1cb34bb7dc84$export$6f093cfa640b7166, (v) => $286d1cb34bb7dc84$export$6f093cfa640b7166 = v);
122
135
  var $286d1cb34bb7dc84$export$292abbf31ed842a;
136
+ var $286d1cb34bb7dc84$export$980c1089c0604ea3;
123
137
  var $286d1cb34bb7dc84$export$6d59db4903f20f7d;
124
138
  var $286d1cb34bb7dc84$export$bd5df0f255a350f8;
125
139
  var $286d1cb34bb7dc84$export$f39a09f249340e2a;
@@ -127,6 +141,7 @@ var $286d1cb34bb7dc84$export$8c4ee2c50c22c514;
127
141
  var $286d1cb34bb7dc84$export$1ca1ec8b29a4ce27;
128
142
  var $286d1cb34bb7dc84$export$20fd0f7cd4e6112f;
129
143
  var $286d1cb34bb7dc84$export$d35bc1e505d1ebbf;
144
+ var $286d1cb34bb7dc84$export$911ebb89bba4b634;
130
145
  var $286d1cb34bb7dc84$export$e7dc768d35940237;
131
146
  var $286d1cb34bb7dc84$export$451c613d0772eb99;
132
147
  var $286d1cb34bb7dc84$export$b8813cd5d7824ce7;
@@ -139,7 +154,9 @@ var $286d1cb34bb7dc84$export$24c7f46a6e3605dd;
139
154
  var $286d1cb34bb7dc84$export$2927016961429360;
140
155
  var $286d1cb34bb7dc84$export$d374b04f30360026;
141
156
  var $286d1cb34bb7dc84$export$fae6af6decd50ac5;
157
+ var $286d1cb34bb7dc84$export$944daf9b7d423a02;
142
158
  var $286d1cb34bb7dc84$export$8e15a726e4f7e62d;
159
+ var $286d1cb34bb7dc84$export$ca45e0db366b8e6c;
143
160
  var $286d1cb34bb7dc84$export$36f1275051e39ead;
144
161
  var $286d1cb34bb7dc84$export$e892026f534efed8;
145
162
  var $286d1cb34bb7dc84$export$926a1bb74ed65667;
@@ -157,8 +174,14 @@ var $286d1cb34bb7dc84$export$8b61ec49b96ad17e;
157
174
  var $286d1cb34bb7dc84$export$c20ea4b35020fbdd;
158
175
  var $286d1cb34bb7dc84$export$d7e47bfca92b5744;
159
176
  var $286d1cb34bb7dc84$export$76d36e55740ad742;
177
+ var $286d1cb34bb7dc84$export$c873119be41fdb72;
178
+ var $286d1cb34bb7dc84$export$c830d2588e34dae1;
179
+ var $286d1cb34bb7dc84$export$d3fc690f61339a08;
180
+ var $286d1cb34bb7dc84$export$fe967dac6207a986;
181
+ var $286d1cb34bb7dc84$export$158cbd6607d36c4e;
160
182
  var $286d1cb34bb7dc84$export$6f093cfa640b7166;
161
183
  $286d1cb34bb7dc84$export$292abbf31ed842a = `Q7FggG_checkmark`;
184
+ $286d1cb34bb7dc84$export$980c1089c0604ea3 = `Q7FggG_chevron`;
162
185
  $286d1cb34bb7dc84$export$6d59db4903f20f7d = `Q7FggG_description`;
163
186
  $286d1cb34bb7dc84$export$bd5df0f255a350f8 = `Q7FggG_end`;
164
187
  $286d1cb34bb7dc84$export$f39a09f249340e2a = `Q7FggG_focus-ring`;
@@ -166,6 +189,7 @@ $286d1cb34bb7dc84$export$8c4ee2c50c22c514 = `Q7FggG_i18nFontFamily`;
166
189
  $286d1cb34bb7dc84$export$1ca1ec8b29a4ce27 = `Q7FggG_icon`;
167
190
  $286d1cb34bb7dc84$export$20fd0f7cd4e6112f = `Q7FggG_is-active`;
168
191
  $286d1cb34bb7dc84$export$d35bc1e505d1ebbf = `Q7FggG_is-disabled`;
192
+ $286d1cb34bb7dc84$export$911ebb89bba4b634 = `Q7FggG_is-expanded`;
169
193
  $286d1cb34bb7dc84$export$e7dc768d35940237 = `Q7FggG_is-focused`;
170
194
  $286d1cb34bb7dc84$export$451c613d0772eb99 = `Q7FggG_is-highlighted`;
171
195
  $286d1cb34bb7dc84$export$b8813cd5d7824ce7 = `Q7FggG_is-hovered`;
@@ -178,7 +202,9 @@ $286d1cb34bb7dc84$export$24c7f46a6e3605dd = `Q7FggG_spectrum-FocusRing ${$286d1c
178
202
  $286d1cb34bb7dc84$export$2927016961429360 = `Q7FggG_spectrum-FocusRing--quiet`;
179
203
  $286d1cb34bb7dc84$export$d374b04f30360026 = `Q7FggG_spectrum-Icon`;
180
204
  $286d1cb34bb7dc84$export$fae6af6decd50ac5 = `Q7FggG_spectrum-Menu`;
205
+ $286d1cb34bb7dc84$export$944daf9b7d423a02 = `Q7FggG_spectrum-Menu-avatar`;
181
206
  $286d1cb34bb7dc84$export$8e15a726e4f7e62d = `Q7FggG_spectrum-Menu-checkmark`;
207
+ $286d1cb34bb7dc84$export$ca45e0db366b8e6c = `Q7FggG_spectrum-Menu-chevron`;
182
208
  $286d1cb34bb7dc84$export$36f1275051e39ead = `Q7FggG_spectrum-Menu-description`;
183
209
  $286d1cb34bb7dc84$export$e892026f534efed8 = `Q7FggG_spectrum-Menu-divider`;
184
210
  $286d1cb34bb7dc84$export$926a1bb74ed65667 = `Q7FggG_spectrum-Menu-end`;
@@ -196,6 +222,11 @@ $286d1cb34bb7dc84$export$8b61ec49b96ad17e = `Q7FggG_spectrum-Menu-section--noHea
196
222
  $286d1cb34bb7dc84$export$c20ea4b35020fbdd = `Q7FggG_spectrum-Menu-sectionHeading`;
197
223
  $286d1cb34bb7dc84$export$d7e47bfca92b5744 = `Q7FggG_spectrum-Menu-subdialog`;
198
224
  $286d1cb34bb7dc84$export$76d36e55740ad742 = `Q7FggG_spectrum-Menu-wrapper`;
225
+ $286d1cb34bb7dc84$export$c873119be41fdb72 = `Q7FggG_spectrum-Menu-wrapper--isMobile`;
226
+ $286d1cb34bb7dc84$export$c830d2588e34dae1 = `Q7FggG_spectrum-Submenu-heading`;
227
+ $286d1cb34bb7dc84$export$d3fc690f61339a08 = `Q7FggG_spectrum-Submenu-headingWrapper`;
228
+ $286d1cb34bb7dc84$export$fe967dac6207a986 = `Q7FggG_spectrum-Submenu-popover`;
229
+ $286d1cb34bb7dc84$export$158cbd6607d36c4e = `Q7FggG_spectrum-Submenu-wrapper`;
199
230
  $286d1cb34bb7dc84$export$6f093cfa640b7166 = `Q7FggG_text`;
200
231
 
201
232
 
@@ -228,7 +259,6 @@ function $aa0b855f135b86e3$var$MenuTrigger(props, ref) {
228
259
  let isMobile = (0, $9SHwR$useIsMobileDevice)();
229
260
  let menuContext = {
230
261
  ...menuProps,
231
- state: state,
232
262
  ref: menuRef,
233
263
  onClose: state.close,
234
264
  closeOnSelect: closeOnSelect,
@@ -239,12 +269,14 @@ function $aa0b855f135b86e3$var$MenuTrigger(props, ref) {
239
269
  } : undefined,
240
270
  UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), {
241
271
  "spectrum-Menu-popover": !isMobile
242
- })
272
+ }),
273
+ state: state
243
274
  };
244
275
  // On small screen devices, the menu is rendered in a tray, otherwise a popover.
245
276
  let overlay;
246
277
  if (isMobile) overlay = /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Tray), {
247
- state: state
278
+ state: state,
279
+ isFixedHeight: true
248
280
  }, menu);
249
281
  else overlay = /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Popover), {
250
282
  UNSAFE_style: {
@@ -293,6 +325,136 @@ function $aa0b855f135b86e3$var$MenuTrigger(props, ref) {
293
325
  */
294
326
 
295
327
 
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+ function $3f13e15cf95c3893$var$SubmenuTrigger(props) {
336
+ let triggerRef = (0, $9SHwR$useRef)();
337
+ let { children: children, targetKey: targetKey } = props;
338
+ let [menuTrigger, menu] = (0, $9SHwR$react).Children.toArray(children);
339
+ let { popoverContainerRef: popoverContainerRef, trayContainerRef: trayContainerRef, menu: parentMenuRef, submenu: menuRef, rootMenuTriggerState: rootMenuTriggerState, state: state } = (0, $d94604d52c3e3feb$export$efa3856fc0e85e7f)();
340
+ let triggerNode = state.collection.getItem(targetKey);
341
+ let submenuTriggerState = (0, $9SHwR$UNSTABLE_useSubmenuTriggerState)({
342
+ triggerKey: targetKey
343
+ }, rootMenuTriggerState);
344
+ let { submenuTriggerProps: submenuTriggerProps, submenuProps: submenuProps, popoverProps: popoverProps } = (0, $9SHwR$UNSTABLE_useSubmenuTrigger)({
345
+ node: triggerNode,
346
+ parentMenuRef: parentMenuRef,
347
+ submenuRef: menuRef
348
+ }, submenuTriggerState, triggerRef);
349
+ let isMobile = (0, $9SHwR$useIsMobileDevice)();
350
+ let onBackButtonPress = ()=>{
351
+ submenuTriggerState.close();
352
+ if (parentMenuRef.current && !parentMenuRef.current.contains(document.activeElement)) parentMenuRef.current.focus();
353
+ };
354
+ let { direction: direction } = (0, $9SHwR$useLocale)();
355
+ let mobileSubmenuKeyDown = (e)=>{
356
+ switch(e.key){
357
+ case "ArrowLeft":
358
+ if (direction === "ltr") triggerRef.current.focus();
359
+ break;
360
+ case "ArrowRight":
361
+ if (direction === "rtl") triggerRef.current.focus();
362
+ break;
363
+ }
364
+ };
365
+ let overlay;
366
+ let [offset, setOffset] = (0, $9SHwR$useState)(0);
367
+ (0, $9SHwR$useLayoutEffect)(()=>{
368
+ if (parentMenuRef.current) {
369
+ var _window_getComputedStyle, _window;
370
+ let offset = (_window = window) === null || _window === void 0 ? void 0 : (_window_getComputedStyle = _window.getComputedStyle(parentMenuRef === null || parentMenuRef === void 0 ? void 0 : parentMenuRef.current)) === null || _window_getComputedStyle === void 0 ? void 0 : _window_getComputedStyle.getPropertyValue("--spectrum-submenu-offset-distance");
371
+ if (offset !== "") setOffset(-1 * parseInt(offset, 10));
372
+ }
373
+ }, [
374
+ parentMenuRef
375
+ ]);
376
+ if (isMobile) {
377
+ var _submenuProps;
378
+ delete submenuTriggerProps.onBlur;
379
+ delete submenuTriggerProps.onHoverChange;
380
+ var _autoFocus;
381
+ (_autoFocus = (_submenuProps = submenuProps).autoFocus) !== null && _autoFocus !== void 0 ? _autoFocus : _submenuProps.autoFocus = true;
382
+ if (trayContainerRef.current && submenuTriggerState.isOpen) overlay = /*#__PURE__*/ (0, $9SHwR$reactdom).createPortal(menu, trayContainerRef.current);
383
+ } else {
384
+ let onDismissButtonPress = ()=>{
385
+ var _parentMenuRef_current;
386
+ submenuTriggerState.close();
387
+ (_parentMenuRef_current = parentMenuRef.current) === null || _parentMenuRef_current === void 0 ? void 0 : _parentMenuRef_current.focus();
388
+ };
389
+ overlay = /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Popover), {
390
+ ...popoverProps,
391
+ onDismissButtonPress: onDismissButtonPress,
392
+ UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Submenu-popover"),
393
+ container: popoverContainerRef.current,
394
+ containerPadding: 0,
395
+ crossOffset: offset,
396
+ offset: offset,
397
+ enableBothDismissButtons: true,
398
+ UNSAFE_style: {
399
+ clipPath: "unset",
400
+ overflow: "visible",
401
+ borderWidth: "0px"
402
+ },
403
+ state: submenuTriggerState,
404
+ triggerRef: triggerRef,
405
+ scrollRef: menuRef,
406
+ placement: "end top",
407
+ hideArrow: true
408
+ }, menu);
409
+ }
410
+ let menuContext = {
411
+ ...(0, $9SHwR$mergeProps)(submenuProps, {
412
+ ref: menuRef,
413
+ UNSAFE_style: isMobile ? {
414
+ width: "100%",
415
+ maxHeight: "inherit"
416
+ } : undefined,
417
+ UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), {
418
+ "spectrum-Menu-popover": !isMobile
419
+ }),
420
+ ...isMobile && {
421
+ onBackButtonPress: onBackButtonPress,
422
+ onKeyDown: mobileSubmenuKeyDown
423
+ }
424
+ })
425
+ };
426
+ return /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$react).Fragment, null, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $d94604d52c3e3feb$export$8d97fe02339fc0e3).Provider, {
427
+ value: {
428
+ triggerRef: triggerRef,
429
+ ...submenuTriggerProps
430
+ }
431
+ }, menuTrigger), /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $d94604d52c3e3feb$export$c7e742effb1c51e2).Provider, {
432
+ value: menuContext
433
+ }, overlay));
434
+ }
435
+ $3f13e15cf95c3893$var$SubmenuTrigger.getCollectionNode = function*(props) {
436
+ let childArray = [];
437
+ (0, $9SHwR$react).Children.forEach(props.children, (child)=>{
438
+ if (/*#__PURE__*/ (0, $9SHwR$react).isValidElement(child)) childArray.push(child);
439
+ });
440
+ let [trigger] = childArray;
441
+ let [, content] = props.children;
442
+ yield {
443
+ element: /*#__PURE__*/ (0, $9SHwR$react).cloneElement(trigger, {
444
+ ...trigger.props,
445
+ hasChildItems: true,
446
+ isTrigger: true
447
+ }),
448
+ wrapper: (element)=>/*#__PURE__*/ (0, $9SHwR$react).createElement($3f13e15cf95c3893$var$SubmenuTrigger, {
449
+ key: element.key,
450
+ targetKey: element.key,
451
+ ...props
452
+ }, element, content)
453
+ };
454
+ };
455
+ let $3f13e15cf95c3893$export$ecabc99eeffab7ca = $3f13e15cf95c3893$var$SubmenuTrigger;
456
+
457
+
296
458
  /*
297
459
  * Copyright 2020 Adobe. All rights reserved.
298
460
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -307,7 +469,6 @@ function $aa0b855f135b86e3$var$MenuTrigger(props, ref) {
307
469
 
308
470
 
309
471
 
310
-
311
472
  var $90339528ca3fdd88$exports = {};
312
473
  var $9c47fa309a7d4d43$exports = {};
313
474
  $9c47fa309a7d4d43$exports = {
@@ -620,6 +781,25 @@ $90339528ca3fdd88$exports = {
620
781
 
621
782
 
622
783
 
784
+ /*
785
+ * Copyright 2020 Adobe. All rights reserved.
786
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
787
+ * you may not use this file except in compliance with the License. You may obtain a copy
788
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
789
+ *
790
+ * Unless required by applicable law or agreed to in writing, software distributed under
791
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
792
+ * OF ANY KIND, either express or implied. See the License for the specific language
793
+ * governing permissions and limitations under the License.
794
+ */
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
623
803
 
624
804
 
625
805
 
@@ -628,17 +808,19 @@ $90339528ca3fdd88$exports = {
628
808
 
629
809
  function $48fb8f5e1202c980$export$2ce376c2cc3355c8(props) {
630
810
  let { item: item, state: state, isVirtualized: isVirtualized, onAction: onAction } = props;
631
- let stringFormatter = (0, $9SHwR$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($90339528ca3fdd88$exports))));
632
- let menuDialogContext = (0, $d94604d52c3e3feb$export$4bbcd0ebecc48abd)();
633
- let { triggerRef: triggerRef } = menuDialogContext || {};
634
- let isMenuDialogTrigger = !!menuDialogContext;
635
- let isUnavailable = false;
636
- if (isMenuDialogTrigger) isUnavailable = menuDialogContext.isUnavailable;
637
- let ElementType = item.props.href ? "a" : "div";
638
811
  let { closeOnSelect: closeOnSelect } = (0, $d94604d52c3e3feb$export$21c7ab35b39f78ec)();
639
812
  let { rendered: rendered, key: key } = item;
640
- let isSelected = state.selectionManager.isSelected(key);
813
+ let stringFormatter = (0, $9SHwR$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($90339528ca3fdd88$exports))));
814
+ let { direction: direction } = (0, $9SHwR$useLocale)();
815
+ let submenuTriggerContext = (0, $d94604d52c3e3feb$export$dc2161044aa0b36d)();
816
+ let { triggerRef: triggerRef, ...submenuTriggerProps } = submenuTriggerContext || {};
817
+ let isSubmenuTrigger = !!submenuTriggerContext;
818
+ let isUnavailable;
819
+ let ElementType = item.props.href ? "a" : "div";
820
+ if (isSubmenuTrigger) isUnavailable = submenuTriggerContext.isUnavailable;
641
821
  let isDisabled = state.disabledKeys.has(key);
822
+ let isSelectable = !isSubmenuTrigger && state.selectionManager.selectionMode !== "none";
823
+ let isSelected = isSelectable && state.selectionManager.isSelected(key);
642
824
  let itemref = (0, $9SHwR$useRef)(null);
643
825
  let ref = (0, $9SHwR$useObjectRef)((0, $9SHwR$useMemo)(()=>(0, $9SHwR$mergeRefs)(itemref, triggerRef), [
644
826
  itemref,
@@ -652,7 +834,7 @@ function $48fb8f5e1202c980$export$2ce376c2cc3355c8(props) {
652
834
  closeOnSelect: closeOnSelect,
653
835
  isVirtualized: isVirtualized,
654
836
  onAction: onAction,
655
- "aria-haspopup": isMenuDialogTrigger && isUnavailable ? "dialog" : undefined
837
+ ...submenuTriggerProps
656
838
  }, state, ref);
657
839
  let endId = (0, $9SHwR$useSlotId)();
658
840
  let endProps = {};
@@ -672,8 +854,8 @@ function $48fb8f5e1202c980$export$2ce376c2cc3355c8(props) {
672
854
  className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Menu-item", {
673
855
  "is-disabled": isDisabled,
674
856
  "is-selected": isSelected,
675
- "is-selectable": state.selectionManager.selectionMode !== "none",
676
- "is-open": state.expandedKeys.has(key)
857
+ "is-selectable": isSelectable,
858
+ "is-open": submenuTriggerProps.isOpen
677
859
  })
678
860
  }, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Grid), {
679
861
  UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Menu-itemGrid")
@@ -698,6 +880,10 @@ function $48fb8f5e1202c980$export$2ce376c2cc3355c8(props) {
698
880
  keyboard: {
699
881
  UNSAFE_className: (0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports)))["spectrum-Menu-keyboard"],
700
882
  ...keyboardShortcutProps
883
+ },
884
+ chevron: {
885
+ UNSAFE_className: (0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports)))["spectrum-Menu-chevron"],
886
+ size: "S"
701
887
  }
702
888
  }
703
889
  }, contents, isSelected && /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$spectrumiconsuiCheckmarkMedium), {
@@ -708,7 +894,11 @@ function $48fb8f5e1202c980$export$2ce376c2cc3355c8(props) {
708
894
  size: "XS",
709
895
  alignSelf: "center",
710
896
  "aria-label": stringFormatter.format("unavailable")
711
- }))))));
897
+ }), isUnavailable == null && isSubmenuTrigger && (direction === "rtl" ? /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$spectrumiconsworkflowChevronLeft), {
898
+ slot: "chevron"
899
+ }) : /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$spectrumiconsworkflowChevronRight), {
900
+ slot: "chevron"
901
+ })))))));
712
902
  }
713
903
 
714
904
 
@@ -778,31 +968,64 @@ function $b966e606890cc5ca$export$4b1545b4f2016d26(props) {
778
968
 
779
969
 
780
970
 
971
+
781
972
  function $49b26f4b606348f6$var$Menu(props, ref) {
973
+ let isSubmenu = true;
782
974
  let contextProps = (0, $9SHwR$useContext)((0, $d94604d52c3e3feb$export$c7e742effb1c51e2));
975
+ let parentMenuContext = (0, $d94604d52c3e3feb$export$efa3856fc0e85e7f)();
976
+ let { rootMenuTriggerState: rootMenuTriggerState, state: parentMenuTreeState } = parentMenuContext || {
977
+ rootMenuTriggerState: contextProps.state
978
+ };
979
+ if (!parentMenuContext) isSubmenu = false;
783
980
  let completeProps = {
784
981
  ...(0, $9SHwR$mergeProps)(contextProps, props)
785
982
  };
786
983
  let domRef = (0, $9SHwR$useDOMRef)(ref);
787
- let scopedRef = (0, $9SHwR$useRef)(null);
984
+ let popoverContainerRef = (0, $9SHwR$useRef)(null);
985
+ let trayContainerRef = (0, $9SHwR$useRef)(null);
788
986
  let state = (0, $9SHwR$useTreeState)(completeProps);
987
+ let submenuRef = (0, $9SHwR$useRef)(null);
789
988
  let { menuProps: menuProps } = (0, $9SHwR$useMenu)(completeProps, state, domRef);
790
989
  let { styleProps: styleProps } = (0, $9SHwR$useStyleProps)(completeProps);
791
990
  (0, $9SHwR$useSyncRef)(contextProps, domRef);
792
- let isMobile = (0, $9SHwR$useIsMobileDevice)();
991
+ let [leftOffset, setLeftOffset] = (0, $9SHwR$useState)({
992
+ left: 0
993
+ });
994
+ (0, $9SHwR$useEffect)(()=>{
995
+ if (popoverContainerRef.current) {
996
+ let { left: left } = popoverContainerRef.current.getBoundingClientRect();
997
+ setLeftOffset({
998
+ left: -1 * left
999
+ });
1000
+ }
1001
+ }, []);
1002
+ var _contextProps_submenuLevel;
1003
+ let menuLevel = (_contextProps_submenuLevel = contextProps.submenuLevel) !== null && _contextProps_submenuLevel !== void 0 ? _contextProps_submenuLevel : -1;
1004
+ let hasOpenSubmenu = state.collection.getItem(rootMenuTriggerState === null || rootMenuTriggerState === void 0 ? void 0 : rootMenuTriggerState.UNSTABLE_expandedKeysStack[menuLevel + 1]) != null;
1005
+ // TODO: add slide transition
793
1006
  return /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $d94604d52c3e3feb$export$24aad8519b95b41b).Provider, {
794
1007
  value: {
795
- state: state,
796
- container: scopedRef,
797
- menu: domRef
1008
+ popoverContainerRef: popoverContainerRef,
1009
+ trayContainerRef: trayContainerRef,
1010
+ menu: domRef,
1011
+ submenu: submenuRef,
1012
+ rootMenuTriggerState: rootMenuTriggerState,
1013
+ state: state
798
1014
  }
799
- }, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$FocusScope), {
800
- contain: state.expandedKeys.size > 0
801
1015
  }, /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
802
- className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), !isMobile ? "spectrum-Menu-wrapper" : "")
1016
+ style: {
1017
+ height: hasOpenSubmenu ? "100%" : undefined
1018
+ },
1019
+ ref: trayContainerRef
1020
+ }), /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$FocusScope), null, /*#__PURE__*/ (0, $9SHwR$react).createElement($49b26f4b606348f6$export$3dfe97b5c32d8d8c, {
1021
+ onBackButtonPress: contextProps.onBackButtonPress,
1022
+ hasOpenSubmenu: hasOpenSubmenu,
1023
+ isSubmenu: isSubmenu,
1024
+ parentMenuTreeState: parentMenuTreeState,
1025
+ rootMenuTriggerState: rootMenuTriggerState
803
1026
  }, /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
804
1027
  ...menuProps,
805
- ...styleProps,
1028
+ style: (0, $9SHwR$mergeProps)(styleProps.style, menuProps.style),
806
1029
  ref: domRef,
807
1030
  className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Menu", styleProps.className)
808
1031
  }, [
@@ -822,10 +1045,59 @@ function $49b26f4b606348f6$var$Menu(props, ref) {
822
1045
  });
823
1046
  if (item.wrapper) menuItem = item.wrapper(menuItem);
824
1047
  return menuItem;
825
- }))), /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
826
- ref: scopedRef
1048
+ }))), (rootMenuTriggerState === null || rootMenuTriggerState === void 0 ? void 0 : rootMenuTriggerState.isOpen) && /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
1049
+ ref: popoverContainerRef,
1050
+ style: {
1051
+ width: "100vw",
1052
+ position: "absolute",
1053
+ top: -5,
1054
+ ...leftOffset
1055
+ }
827
1056
  })));
828
1057
  }
1058
+ function $49b26f4b606348f6$export$3dfe97b5c32d8d8c(props) {
1059
+ var _parentMenuTreeState_collection_getItem;
1060
+ let { children: children, isSubmenu: isSubmenu, hasOpenSubmenu: hasOpenSubmenu, parentMenuTreeState: parentMenuTreeState, rootMenuTriggerState: rootMenuTriggerState, onBackButtonPress: onBackButtonPress, wrapperKeyDown: wrapperKeyDown } = props;
1061
+ let stringFormatter = (0, $9SHwR$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($90339528ca3fdd88$exports))));
1062
+ let backButtonText = parentMenuTreeState === null || parentMenuTreeState === void 0 ? void 0 : (_parentMenuTreeState_collection_getItem = parentMenuTreeState.collection.getItem(rootMenuTriggerState === null || rootMenuTriggerState === void 0 ? void 0 : rootMenuTriggerState.UNSTABLE_expandedKeysStack.slice(-1)[0])) === null || _parentMenuTreeState_collection_getItem === void 0 ? void 0 : _parentMenuTreeState_collection_getItem.textValue;
1063
+ let backButtonLabel = stringFormatter.format("backButton", {
1064
+ prevMenuButton: backButtonText
1065
+ });
1066
+ let headingId = (0, $9SHwR$useSlotId)();
1067
+ let isMobile = (0, $9SHwR$useIsMobileDevice)();
1068
+ let { direction: direction } = (0, $9SHwR$useLocale)();
1069
+ return /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$react).Fragment, null, /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
1070
+ role: headingId ? "dialog" : undefined,
1071
+ "aria-labelledby": headingId,
1072
+ "aria-hidden": isMobile && hasOpenSubmenu,
1073
+ "data-testid": "menu-wrapper",
1074
+ className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Menu-wrapper", {
1075
+ "spectrum-Menu-wrapper--isMobile": isMobile,
1076
+ "is-expanded": hasOpenSubmenu
1077
+ })
1078
+ }, /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
1079
+ role: "presentation",
1080
+ className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Submenu-wrapper"),
1081
+ onKeyDown: wrapperKeyDown
1082
+ }, isMobile && isSubmenu && !hasOpenSubmenu && /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
1083
+ className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Submenu-headingWrapper")
1084
+ }, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$ActionButton), {
1085
+ "aria-label": backButtonLabel,
1086
+ isQuiet: true,
1087
+ onPress: onBackButtonPress
1088
+ }, direction === "rtl" ? /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$spectrumiconsuiArrowDownSmall), {
1089
+ UNSAFE_style: {
1090
+ rotate: "270deg"
1091
+ }
1092
+ }) : /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$spectrumiconsuiArrowDownSmall), {
1093
+ UNSAFE_style: {
1094
+ rotate: "90deg"
1095
+ }
1096
+ })), /*#__PURE__*/ (0, $9SHwR$react).createElement("h1", {
1097
+ id: headingId,
1098
+ className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Submenu-heading")
1099
+ }, backButtonText)), children)));
1100
+ }
829
1101
  /**
830
1102
  * Menus display a list of actions or options that a user can choose.
831
1103
  */ // forwardRef doesn't support generic parameters, so cast the result to the correct type
@@ -894,19 +1166,23 @@ function $43fa9949e6af393d$var$ActionMenu(props, ref) {
894
1166
  * governing permissions and limitations under the License.
895
1167
  */
896
1168
 
1169
+
897
1170
  var $c487b1d738ebeac2$exports = {};
898
1171
 
899
1172
  $parcel$export($c487b1d738ebeac2$exports, "react-spectrum-ContextualHelp-button", () => $c487b1d738ebeac2$export$20d9583c9f1529c1, (v) => $c487b1d738ebeac2$export$20d9583c9f1529c1 = v);
900
1173
  $parcel$export($c487b1d738ebeac2$exports, "react-spectrum-ContextualHelp-content", () => $c487b1d738ebeac2$export$a1f805890cf58c4, (v) => $c487b1d738ebeac2$export$a1f805890cf58c4 = v);
901
1174
  $parcel$export($c487b1d738ebeac2$exports, "react-spectrum-ContextualHelp-dialog", () => $c487b1d738ebeac2$export$ab2d873674d20d28, (v) => $c487b1d738ebeac2$export$ab2d873674d20d28 = v);
1175
+ $parcel$export($c487b1d738ebeac2$exports, "react-spectrum-ContextualHelp-dialog--isMobile", () => $c487b1d738ebeac2$export$a438776606a9a3cc, (v) => $c487b1d738ebeac2$export$a438776606a9a3cc = v);
902
1176
  $parcel$export($c487b1d738ebeac2$exports, "react-spectrum-ContextualHelp-footer", () => $c487b1d738ebeac2$export$d901bc3fa82b87a6, (v) => $c487b1d738ebeac2$export$d901bc3fa82b87a6 = v);
903
1177
  var $c487b1d738ebeac2$export$20d9583c9f1529c1;
904
1178
  var $c487b1d738ebeac2$export$a1f805890cf58c4;
905
1179
  var $c487b1d738ebeac2$export$ab2d873674d20d28;
1180
+ var $c487b1d738ebeac2$export$a438776606a9a3cc;
906
1181
  var $c487b1d738ebeac2$export$d901bc3fa82b87a6;
907
1182
  $c487b1d738ebeac2$export$20d9583c9f1529c1 = `L6gUaa_react-spectrum-ContextualHelp-button`;
908
1183
  $c487b1d738ebeac2$export$a1f805890cf58c4 = `L6gUaa_react-spectrum-ContextualHelp-content`;
909
1184
  $c487b1d738ebeac2$export$ab2d873674d20d28 = `L6gUaa_react-spectrum-ContextualHelp-dialog`;
1185
+ $c487b1d738ebeac2$export$a438776606a9a3cc = `L6gUaa_react-spectrum-ContextualHelp-dialog--isMobile`;
910
1186
  $c487b1d738ebeac2$export$d901bc3fa82b87a6 = `L6gUaa_react-spectrum-ContextualHelp-footer`;
911
1187
 
912
1188
 
@@ -915,24 +1191,39 @@ $c487b1d738ebeac2$export$d901bc3fa82b87a6 = `L6gUaa_react-spectrum-ContextualHel
915
1191
 
916
1192
 
917
1193
 
1194
+
1195
+
1196
+
1197
+
918
1198
  function $726fb1b478e356bf$var$ContextualHelpTrigger(props) {
919
- let { isUnavailable: isUnavailable } = props;
1199
+ let { isUnavailable: isUnavailable = false, targetKey: targetKey } = props;
920
1200
  let triggerRef = (0, $9SHwR$useRef)(null);
921
1201
  let popoverRef = (0, $9SHwR$useRef)(null);
922
- let { state: menuState, container: container, menu: menu } = (0, $d94604d52c3e3feb$export$efa3856fc0e85e7f)();
923
- let state = (0, $9SHwR$useOverlayTriggerState)({
924
- isOpen: menuState.expandedKeys.has(props.targetKey),
925
- onOpenChange: (val)=>{
926
- if (!val) {
927
- if (menuState.expandedKeys.has(props.targetKey)) menuState.toggleKey(props.targetKey);
928
- }
929
- }
1202
+ let { popoverContainerRef: popoverContainerRef, trayContainerRef: trayContainerRef, rootMenuTriggerState: rootMenuTriggerState, menu: parentMenuRef, state: state } = (0, $d94604d52c3e3feb$export$efa3856fc0e85e7f)();
1203
+ let triggerNode = state.collection.getItem(targetKey);
1204
+ let submenuTriggerState = (0, $9SHwR$UNSTABLE_useSubmenuTriggerState)({
1205
+ triggerKey: targetKey
1206
+ }, {
1207
+ ...rootMenuTriggerState,
1208
+ ...state
930
1209
  });
1210
+ let submenuRef = (0, $9SHwR$unwrapDOMRef)(popoverRef);
1211
+ let { submenuTriggerProps: submenuTriggerProps, popoverProps: popoverProps } = (0, $9SHwR$UNSTABLE_useSubmenuTrigger)({
1212
+ node: triggerNode,
1213
+ parentMenuRef: parentMenuRef,
1214
+ submenuRef: submenuRef,
1215
+ type: "dialog",
1216
+ isDisabled: !isUnavailable
1217
+ }, submenuTriggerState, triggerRef);
931
1218
  let isMobile = (0, $9SHwR$useIsMobileDevice)();
932
1219
  let slots = {};
933
1220
  if (isUnavailable) slots = {
934
1221
  dialog: {
935
- UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($c487b1d738ebeac2$exports))), "react-spectrum-ContextualHelp-dialog", (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), !isMobile ? "spectrum-Menu-subdialog" : ""))
1222
+ UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($c487b1d738ebeac2$exports))), "react-spectrum-ContextualHelp-dialog", {
1223
+ "react-spectrum-ContextualHelp-dialog--isMobile": isMobile
1224
+ }, (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), {
1225
+ "spectrum-Menu-subdialog": !isMobile
1226
+ }))
936
1227
  },
937
1228
  content: {
938
1229
  UNSAFE_className: (0, (/*@__PURE__*/$parcel$interopDefault($c487b1d738ebeac2$exports)))["react-spectrum-ContextualHelp-content"]
@@ -943,60 +1234,102 @@ function $726fb1b478e356bf$var$ContextualHelpTrigger(props) {
943
1234
  };
944
1235
  let [trigger] = (0, $9SHwR$react).Children.toArray(props.children);
945
1236
  let [, content] = props.children;
946
- let onExit = ()=>{
947
- // if focus was already moved back to a menu item, don't need to do anything
948
- if (!menu.current.contains(document.activeElement)) // need to return focus to the trigger because hitting Esc causes focus to go to the subdialog, which is then unmounted
949
- // this leads to blur never being fired nor focus on the body
950
- triggerRef.current.focus();
951
- };
952
1237
  let onBlurWithin = (e)=>{
953
- var _popoverRef_current;
954
- if (e.relatedTarget && popoverRef.current && !((_popoverRef_current = popoverRef.current) === null || _popoverRef_current === void 0 ? void 0 : _popoverRef_current.UNSAFE_getDOMNode().contains(e.relatedTarget))) {
955
- if (menuState.expandedKeys.has(props.targetKey)) menuState.toggleKey(props.targetKey);
1238
+ var _popoverRef_current_UNSAFE_getDOMNode, _popoverRef_current;
1239
+ if (e.relatedTarget && popoverRef.current && !(popoverRef === null || popoverRef === void 0 ? void 0 : (_popoverRef_current = popoverRef.current) === null || _popoverRef_current === void 0 ? void 0 : (_popoverRef_current_UNSAFE_getDOMNode = _popoverRef_current.UNSAFE_getDOMNode()) === null || _popoverRef_current_UNSAFE_getDOMNode === void 0 ? void 0 : _popoverRef_current_UNSAFE_getDOMNode.contains(e.relatedTarget)) && !(e.relatedTarget === triggerRef.current && (0, $9SHwR$getInteractionModality)() === "pointer")) {
1240
+ if (submenuTriggerState.isOpen) submenuTriggerState.close();
956
1241
  }
957
1242
  };
958
- return /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$react).Fragment, null, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $d94604d52c3e3feb$export$e239f1ef5b7afe1a).Provider, {
1243
+ let overlay;
1244
+ let tray;
1245
+ let onBackButtonPress = ()=>{
1246
+ submenuTriggerState.close();
1247
+ if (parentMenuRef.current && !parentMenuRef.current.contains(document.activeElement)) parentMenuRef.current.focus();
1248
+ };
1249
+ let [offset, setOffset] = (0, $9SHwR$useState)(0);
1250
+ (0, $9SHwR$useLayoutEffect)(()=>{
1251
+ if (parentMenuRef.current) {
1252
+ var _window_getComputedStyle, _window;
1253
+ let offset = (_window = window) === null || _window === void 0 ? void 0 : (_window_getComputedStyle = _window.getComputedStyle(parentMenuRef === null || parentMenuRef === void 0 ? void 0 : parentMenuRef.current)) === null || _window_getComputedStyle === void 0 ? void 0 : _window_getComputedStyle.getPropertyValue("--spectrum-submenu-offset-distance");
1254
+ if (offset !== "") setOffset(-1 * parseInt(offset, 10));
1255
+ }
1256
+ }, [
1257
+ parentMenuRef
1258
+ ]);
1259
+ if (isMobile) {
1260
+ delete submenuTriggerProps.onBlur;
1261
+ delete submenuTriggerProps.onHoverChange;
1262
+ if (trayContainerRef.current && submenuTriggerState.isOpen) {
1263
+ let subDialogKeyDown = (e)=>{
1264
+ switch(e.key){
1265
+ case "Escape":
1266
+ e.stopPropagation();
1267
+ onBackButtonPress();
1268
+ break;
1269
+ }
1270
+ };
1271
+ tray = /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $49b26f4b606348f6$export$3dfe97b5c32d8d8c), {
1272
+ isSubmenu: true,
1273
+ parentMenuTreeState: state,
1274
+ rootMenuTriggerState: rootMenuTriggerState,
1275
+ wrapperKeyDown: subDialogKeyDown,
1276
+ onBackButtonPress: onBackButtonPress
1277
+ }, content);
1278
+ overlay = /*#__PURE__*/ (0, $9SHwR$reactdom).createPortal(tray, trayContainerRef.current);
1279
+ }
1280
+ } else {
1281
+ let onDismissButtonPress = ()=>{
1282
+ var _parentMenuRef_current;
1283
+ submenuTriggerState.close();
1284
+ (_parentMenuRef_current = parentMenuRef.current) === null || _parentMenuRef_current === void 0 ? void 0 : _parentMenuRef_current.focus();
1285
+ };
1286
+ overlay = /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Popover), {
1287
+ ...popoverProps,
1288
+ UNSAFE_style: {
1289
+ clipPath: "unset",
1290
+ overflow: "visible",
1291
+ filter: "unset",
1292
+ borderWidth: "0px"
1293
+ },
1294
+ UNSAFE_className: (0, $9SHwR$classNames)((0, (/*@__PURE__*/$parcel$interopDefault($286d1cb34bb7dc84$exports))), "spectrum-Submenu-popover"),
1295
+ onDismissButtonPress: onDismissButtonPress,
1296
+ onBlurWithin: onBlurWithin,
1297
+ container: popoverContainerRef.current,
1298
+ state: submenuTriggerState,
1299
+ ref: popoverRef,
1300
+ triggerRef: triggerRef,
1301
+ placement: "end top",
1302
+ containerPadding: 0,
1303
+ crossOffset: offset,
1304
+ offset: offset,
1305
+ hideArrow: true,
1306
+ enableBothDismissButtons: true
1307
+ }, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$FocusScope), {
1308
+ restoreFocus: true
1309
+ }, content));
1310
+ }
1311
+ return /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$react).Fragment, null, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $d94604d52c3e3feb$export$8d97fe02339fc0e3).Provider, {
959
1312
  value: {
960
1313
  isUnavailable: isUnavailable,
961
- triggerRef: triggerRef
1314
+ triggerRef: triggerRef,
1315
+ ...submenuTriggerProps
962
1316
  }
963
1317
  }, trigger), /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$SlotProvider), {
964
1318
  slots: slots
965
- }, isMobile ? /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Modal), {
966
- state: state,
967
- isDismissable: true
968
- }, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$DismissButton), {
969
- onDismiss: state.close
970
- }), content, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$DismissButton), {
971
- onDismiss: state.close
972
- })) : /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$Popover), {
973
- UNSAFE_style: {
974
- clipPath: "unset",
975
- overflow: "visible",
976
- filter: "unset",
977
- borderWidth: "0px"
978
- },
979
- onExit: onExit,
980
- onBlurWithin: onBlurWithin,
981
- container: container.current,
982
- state: state,
983
- ref: popoverRef,
984
- triggerRef: triggerRef,
985
- placement: "end top",
986
- offset: -10,
987
- hideArrow: true,
988
- isNonModal: true,
989
- enableBothDismissButtons: true,
990
- disableFocusManagement: true
991
- }, content)));
1319
+ }, submenuTriggerState.isOpen && overlay));
992
1320
  }
993
1321
  $726fb1b478e356bf$var$ContextualHelpTrigger.getCollectionNode = function* getCollectionNode(props) {
994
- let [trigger] = (0, $9SHwR$react).Children.toArray(props.children);
1322
+ let childArray = [];
1323
+ (0, $9SHwR$react).Children.forEach(props.children, (child)=>{
1324
+ if (/*#__PURE__*/ (0, $9SHwR$react).isValidElement(child)) childArray.push(child);
1325
+ });
1326
+ let [trigger] = childArray;
995
1327
  let [, content] = props.children;
996
1328
  yield {
997
1329
  element: /*#__PURE__*/ (0, $9SHwR$react).cloneElement(trigger, {
998
1330
  ...trigger.props,
999
- hasChildItems: true
1331
+ hasChildItems: true,
1332
+ isTrigger: true
1000
1333
  }),
1001
1334
  wrapper: (element)=>/*#__PURE__*/ (0, $9SHwR$react).createElement($726fb1b478e356bf$var$ContextualHelpTrigger, {
1002
1335
  key: element.key,
@@ -1011,5 +1344,5 @@ let $726fb1b478e356bf$export$5413b169fff83e61 = $726fb1b478e356bf$var$Contextual
1011
1344
 
1012
1345
 
1013
1346
 
1014
- export {$aa0b855f135b86e3$export$27d2ad3c5815583e as MenuTrigger, $49b26f4b606348f6$export$d9b273488cd8ce6f as Menu, $43fa9949e6af393d$export$ed57a210b9d13bb6 as ActionMenu, $726fb1b478e356bf$export$5413b169fff83e61 as ContextualHelpTrigger, $5ae296f2d6923e14$re_export$Item as Item, $5ae296f2d6923e14$re_export$Section as Section};
1347
+ export {$aa0b855f135b86e3$export$27d2ad3c5815583e as MenuTrigger, $3f13e15cf95c3893$export$ecabc99eeffab7ca as SubmenuTrigger, $49b26f4b606348f6$export$d9b273488cd8ce6f as Menu, $43fa9949e6af393d$export$ed57a210b9d13bb6 as ActionMenu, $726fb1b478e356bf$export$5413b169fff83e61 as ContextualHelpTrigger, $5ae296f2d6923e14$re_export$Item as Item, $5ae296f2d6923e14$re_export$Section as Section};
1015
1348
  //# sourceMappingURL=module.js.map