@radix-ui/react-menu 0.1.7-rc.21 → 0.1.7-rc.22
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/index.d.ts +30 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +248 -232
- package/dist/index.js.map +1 -1
- package/dist/index.module.js +249 -233
- package/dist/index.module.js.map +1 -1
- package/package.json +15 -15
package/dist/index.module.js
CHANGED
|
@@ -25,23 +25,22 @@ var $6cc32821e9371a1c$exports = {};
|
|
|
25
25
|
|
|
26
26
|
$parcel$export($6cc32821e9371a1c$exports, "createMenuScope", () => $6cc32821e9371a1c$export$4027731b685e72eb);
|
|
27
27
|
$parcel$export($6cc32821e9371a1c$exports, "Menu", () => $6cc32821e9371a1c$export$d9b273488cd8ce6f);
|
|
28
|
-
$parcel$export($6cc32821e9371a1c$exports, "MenuSub", () => $6cc32821e9371a1c$export$71bdb9d1e2909932);
|
|
29
28
|
$parcel$export($6cc32821e9371a1c$exports, "MenuAnchor", () => $6cc32821e9371a1c$export$9fa5ebd18bee4d43);
|
|
30
29
|
$parcel$export($6cc32821e9371a1c$exports, "MenuContent", () => $6cc32821e9371a1c$export$479f0f2f71193efe);
|
|
31
30
|
$parcel$export($6cc32821e9371a1c$exports, "MenuGroup", () => $6cc32821e9371a1c$export$22a631d1f72787bb);
|
|
32
31
|
$parcel$export($6cc32821e9371a1c$exports, "MenuLabel", () => $6cc32821e9371a1c$export$dd37bec0e8a99143);
|
|
33
32
|
$parcel$export($6cc32821e9371a1c$exports, "MenuItem", () => $6cc32821e9371a1c$export$2ce376c2cc3355c8);
|
|
34
|
-
$parcel$export($6cc32821e9371a1c$exports, "MenuSubTrigger", () => $6cc32821e9371a1c$export$5fbbb3ba7297405f);
|
|
35
33
|
$parcel$export($6cc32821e9371a1c$exports, "MenuCheckboxItem", () => $6cc32821e9371a1c$export$f6f243521332502d);
|
|
36
34
|
$parcel$export($6cc32821e9371a1c$exports, "MenuRadioGroup", () => $6cc32821e9371a1c$export$ea2200c9eee416b3);
|
|
37
35
|
$parcel$export($6cc32821e9371a1c$exports, "MenuRadioItem", () => $6cc32821e9371a1c$export$69bd225e9817f6d0);
|
|
38
36
|
$parcel$export($6cc32821e9371a1c$exports, "MenuItemIndicator", () => $6cc32821e9371a1c$export$a2593e23056970a3);
|
|
39
37
|
$parcel$export($6cc32821e9371a1c$exports, "MenuSeparator", () => $6cc32821e9371a1c$export$1cec7dcdd713e220);
|
|
40
38
|
$parcel$export($6cc32821e9371a1c$exports, "MenuArrow", () => $6cc32821e9371a1c$export$bcdda4773debf5fa);
|
|
39
|
+
$parcel$export($6cc32821e9371a1c$exports, "MenuSub", () => $6cc32821e9371a1c$export$71bdb9d1e2909932);
|
|
40
|
+
$parcel$export($6cc32821e9371a1c$exports, "MenuSubTrigger", () => $6cc32821e9371a1c$export$5fbbb3ba7297405f);
|
|
41
|
+
$parcel$export($6cc32821e9371a1c$exports, "MenuSubContent", () => $6cc32821e9371a1c$export$e7142ab31822bde6);
|
|
41
42
|
$parcel$export($6cc32821e9371a1c$exports, "Root", () => $6cc32821e9371a1c$export$be92b6f5f03c0fe9);
|
|
42
|
-
$parcel$export($6cc32821e9371a1c$exports, "Sub", () => $6cc32821e9371a1c$export$d7a01e11500dfb6f);
|
|
43
43
|
$parcel$export($6cc32821e9371a1c$exports, "Anchor", () => $6cc32821e9371a1c$export$b688253958b8dfe7);
|
|
44
|
-
$parcel$export($6cc32821e9371a1c$exports, "SubTrigger", () => $6cc32821e9371a1c$export$2ea8a7a591ac5eac);
|
|
45
44
|
$parcel$export($6cc32821e9371a1c$exports, "Content", () => $6cc32821e9371a1c$export$7c6e2c02157bb7d2);
|
|
46
45
|
$parcel$export($6cc32821e9371a1c$exports, "Group", () => $6cc32821e9371a1c$export$eb2fcfdbd7ba97d4);
|
|
47
46
|
$parcel$export($6cc32821e9371a1c$exports, "Label", () => $6cc32821e9371a1c$export$b04be29aa201d4f5);
|
|
@@ -52,6 +51,9 @@ $parcel$export($6cc32821e9371a1c$exports, "RadioItem", () => $6cc32821e9371a1c$e
|
|
|
52
51
|
$parcel$export($6cc32821e9371a1c$exports, "ItemIndicator", () => $6cc32821e9371a1c$export$c3468e2714d175fa);
|
|
53
52
|
$parcel$export($6cc32821e9371a1c$exports, "Separator", () => $6cc32821e9371a1c$export$1ff3c3f08ae963c0);
|
|
54
53
|
$parcel$export($6cc32821e9371a1c$exports, "Arrow", () => $6cc32821e9371a1c$export$21b07c8f274aebd5);
|
|
54
|
+
$parcel$export($6cc32821e9371a1c$exports, "Sub", () => $6cc32821e9371a1c$export$d7a01e11500dfb6f);
|
|
55
|
+
$parcel$export($6cc32821e9371a1c$exports, "SubTrigger", () => $6cc32821e9371a1c$export$2ea8a7a591ac5eac);
|
|
56
|
+
$parcel$export($6cc32821e9371a1c$exports, "SubContent", () => $6cc32821e9371a1c$export$6d4de93b380beddf);
|
|
55
57
|
|
|
56
58
|
|
|
57
59
|
|
|
@@ -121,6 +123,7 @@ const [$6cc32821e9371a1c$var$createMenuContext, $6cc32821e9371a1c$export$4027731
|
|
|
121
123
|
const $6cc32821e9371a1c$var$usePopperScope = $epM9y$createPopperScope();
|
|
122
124
|
const $6cc32821e9371a1c$var$useRovingFocusGroupScope = $epM9y$createRovingFocusGroupScope();
|
|
123
125
|
const [$6cc32821e9371a1c$var$MenuProvider, $6cc32821e9371a1c$var$useMenuContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME);
|
|
126
|
+
const [$6cc32821e9371a1c$var$MenuRootProvider, $6cc32821e9371a1c$var$useMenuRootContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME);
|
|
124
127
|
const $6cc32821e9371a1c$export$d9b273488cd8ce6f = (props)=>{
|
|
125
128
|
const { __scopeMenu: __scopeMenu , open: open = false , children: children , dir: dir , onOpenChange: onOpenChange , modal: modal = true } = props;
|
|
126
129
|
const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
|
|
@@ -161,59 +164,24 @@ const $6cc32821e9371a1c$export$d9b273488cd8ce6f = (props)=>{
|
|
|
161
164
|
}, []);
|
|
162
165
|
return /*#__PURE__*/ $epM9y$createElement($epM9y$Root, popperScope, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuProvider, {
|
|
163
166
|
scope: __scopeMenu,
|
|
164
|
-
isSubmenu: false,
|
|
165
|
-
isUsingKeyboardRef: isUsingKeyboardRef,
|
|
166
|
-
dir: direction,
|
|
167
167
|
open: open,
|
|
168
168
|
onOpenChange: handleOpenChange,
|
|
169
169
|
content: content,
|
|
170
|
-
onContentChange: setContent
|
|
171
|
-
|
|
170
|
+
onContentChange: setContent
|
|
171
|
+
}, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootProvider, {
|
|
172
|
+
scope: __scopeMenu,
|
|
173
|
+
onClose: $epM9y$useCallback(()=>handleOpenChange(false)
|
|
172
174
|
, [
|
|
173
175
|
handleOpenChange
|
|
174
176
|
]),
|
|
177
|
+
isUsingKeyboardRef: isUsingKeyboardRef,
|
|
178
|
+
dir: direction,
|
|
175
179
|
modal: modal
|
|
176
|
-
}, children));
|
|
180
|
+
}, children)));
|
|
177
181
|
};
|
|
178
182
|
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$d9b273488cd8ce6f, {
|
|
179
183
|
displayName: $6cc32821e9371a1c$var$MENU_NAME
|
|
180
184
|
});
|
|
181
|
-
/* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$SUB_NAME = 'MenuSub';
|
|
182
|
-
const $6cc32821e9371a1c$export$71bdb9d1e2909932 = (props)=>{
|
|
183
|
-
const { __scopeMenu: __scopeMenu , children: children , open: open = false , onOpenChange: onOpenChange } = props;
|
|
184
|
-
const parentMenuContext = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_NAME, __scopeMenu);
|
|
185
|
-
const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
|
|
186
|
-
const [trigger, setTrigger] = $epM9y$useState(null);
|
|
187
|
-
const [content, setContent] = $epM9y$useState(null);
|
|
188
|
-
const handleOpenChange = $epM9y$useCallbackRef(onOpenChange); // Prevent the parent menu from reopening with open submenus.
|
|
189
|
-
$epM9y$useEffect(()=>{
|
|
190
|
-
if (parentMenuContext.open === false) handleOpenChange(false);
|
|
191
|
-
return ()=>handleOpenChange(false)
|
|
192
|
-
;
|
|
193
|
-
}, [
|
|
194
|
-
parentMenuContext.open,
|
|
195
|
-
handleOpenChange
|
|
196
|
-
]);
|
|
197
|
-
return /*#__PURE__*/ $epM9y$createElement($epM9y$Root, popperScope, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuProvider, {
|
|
198
|
-
scope: __scopeMenu,
|
|
199
|
-
isSubmenu: true,
|
|
200
|
-
isUsingKeyboardRef: parentMenuContext.isUsingKeyboardRef,
|
|
201
|
-
dir: parentMenuContext.dir,
|
|
202
|
-
open: open,
|
|
203
|
-
onOpenChange: handleOpenChange,
|
|
204
|
-
content: content,
|
|
205
|
-
onContentChange: setContent,
|
|
206
|
-
onRootClose: parentMenuContext.onRootClose,
|
|
207
|
-
contentId: $epM9y$useId(),
|
|
208
|
-
trigger: trigger,
|
|
209
|
-
onTriggerChange: setTrigger,
|
|
210
|
-
triggerId: $epM9y$useId(),
|
|
211
|
-
modal: false
|
|
212
|
-
}, children));
|
|
213
|
-
};
|
|
214
|
-
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$71bdb9d1e2909932, {
|
|
215
|
-
displayName: $6cc32821e9371a1c$var$SUB_NAME
|
|
216
|
-
});
|
|
217
185
|
/* -------------------------------------------------------------------------------------------------
|
|
218
186
|
* MenuAnchor
|
|
219
187
|
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$ANCHOR_NAME = 'MenuAnchor';
|
|
@@ -234,27 +202,20 @@ const [$6cc32821e9371a1c$var$MenuContentProvider, $6cc32821e9371a1c$var$useMenuC
|
|
|
234
202
|
const $6cc32821e9371a1c$export$479f0f2f71193efe = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
235
203
|
const { forceMount: forceMount , ...contentProps } = props;
|
|
236
204
|
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
205
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
237
206
|
return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Provider, {
|
|
238
207
|
scope: props.__scopeMenu
|
|
239
208
|
}, /*#__PURE__*/ $epM9y$createElement($epM9y$Presence, {
|
|
240
209
|
present: forceMount || context.open
|
|
241
210
|
}, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Slot, {
|
|
242
211
|
scope: props.__scopeMenu
|
|
243
|
-
},
|
|
212
|
+
}, rootContext.modal ? /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContentModal, $epM9y$babelruntimehelpersesmextends({}, contentProps, {
|
|
244
213
|
ref: forwardedRef
|
|
245
|
-
})) : /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$
|
|
214
|
+
})) : /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContentNonModal, $epM9y$babelruntimehelpersesmextends({}, contentProps, {
|
|
246
215
|
ref: forwardedRef
|
|
247
216
|
})))));
|
|
248
217
|
});
|
|
249
|
-
/* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$
|
|
250
|
-
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
251
|
-
return context.modal ? /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContentModal, $epM9y$babelruntimehelpersesmextends({}, props, {
|
|
252
|
-
ref: forwardedRef
|
|
253
|
-
})) : /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContentNonModal, $epM9y$babelruntimehelpersesmextends({}, props, {
|
|
254
|
-
ref: forwardedRef
|
|
255
|
-
}));
|
|
256
|
-
});
|
|
257
|
-
const $6cc32821e9371a1c$var$MenuRootContentModal = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
218
|
+
/* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuRootContentModal = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
258
219
|
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
259
220
|
const ref = $epM9y$useRef(null);
|
|
260
221
|
const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref); // Hide everything from ARIA except the `MenuContent`
|
|
@@ -287,52 +248,10 @@ const $6cc32821e9371a1c$var$MenuRootContentNonModal = /*#__PURE__*/ $epM9y$forwa
|
|
|
287
248
|
onDismiss: ()=>context.onOpenChange(false)
|
|
288
249
|
}));
|
|
289
250
|
});
|
|
290
|
-
/* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuSubContent = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
291
|
-
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
292
|
-
const ref = $epM9y$useRef(null);
|
|
293
|
-
const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref);
|
|
294
|
-
return context.isSubmenu ? /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuContentImpl, $epM9y$babelruntimehelpersesmextends({
|
|
295
|
-
id: context.contentId,
|
|
296
|
-
"aria-labelledby": context.triggerId
|
|
297
|
-
}, props, {
|
|
298
|
-
ref: composedRefs,
|
|
299
|
-
align: "start",
|
|
300
|
-
side: context.dir === 'rtl' ? 'left' : 'right',
|
|
301
|
-
portalled: true,
|
|
302
|
-
disableOutsidePointerEvents: false,
|
|
303
|
-
disableOutsideScroll: false,
|
|
304
|
-
trapFocus: false,
|
|
305
|
-
onOpenAutoFocus: (event)=>{
|
|
306
|
-
var _ref$current;
|
|
307
|
-
// when opening a submenu, focus content for keyboard users only
|
|
308
|
-
if (context.isUsingKeyboardRef.current) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
|
|
309
|
-
event.preventDefault();
|
|
310
|
-
} // The menu might close because of focusing another menu item in the parent menu. We
|
|
311
|
-
,
|
|
312
|
-
onCloseAutoFocus: (event)=>event.preventDefault()
|
|
313
|
-
,
|
|
314
|
-
onFocusOutside: $epM9y$composeEventHandlers(props.onFocusOutside, (event)=>{
|
|
315
|
-
// We prevent closing when the trigger is focused to avoid triggering a re-open animation
|
|
316
|
-
// on pointer interaction.
|
|
317
|
-
if (event.target !== context.trigger) context.onOpenChange(false);
|
|
318
|
-
}),
|
|
319
|
-
onEscapeKeyDown: $epM9y$composeEventHandlers(props.onEscapeKeyDown, context.onRootClose),
|
|
320
|
-
onKeyDown: $epM9y$composeEventHandlers(props.onKeyDown, (event)=>{
|
|
321
|
-
// Submenu key events bubble through portals. We only care about keys in this menu.
|
|
322
|
-
const isKeyDownInside = event.currentTarget.contains(event.target);
|
|
323
|
-
const isCloseKey = $6cc32821e9371a1c$var$SUB_CLOSE_KEYS[context.dir].includes(event.key);
|
|
324
|
-
if (isKeyDownInside && isCloseKey) {
|
|
325
|
-
var _context$trigger;
|
|
326
|
-
context.onOpenChange(false); // We focus manually because we prevented it in `onCloseAutoFocus`
|
|
327
|
-
(_context$trigger = context.trigger) === null || _context$trigger === void 0 || _context$trigger.focus(); // prevent window from scrolling
|
|
328
|
-
event.preventDefault();
|
|
329
|
-
}
|
|
330
|
-
})
|
|
331
|
-
})) : null;
|
|
332
|
-
});
|
|
333
251
|
/* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuContentImpl = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
334
252
|
const { __scopeMenu: __scopeMenu , loop: loop = false , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , disableOutsidePointerEvents: disableOutsidePointerEvents , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , disableOutsideScroll: disableOutsideScroll , allowPinchZoom: allowPinchZoom , portalled: portalled , ...contentProps } = props;
|
|
335
253
|
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, __scopeMenu);
|
|
254
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, __scopeMenu);
|
|
336
255
|
const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
|
|
337
256
|
const rovingFocusGroupScope = $6cc32821e9371a1c$var$useRovingFocusGroupScope(__scopeMenu);
|
|
338
257
|
const getItems = $6cc32821e9371a1c$var$useCollection(__scopeMenu);
|
|
@@ -433,20 +352,20 @@ const $6cc32821e9371a1c$var$MenuRootContentNonModal = /*#__PURE__*/ $epM9y$forwa
|
|
|
433
352
|
}, /*#__PURE__*/ $epM9y$createElement($epM9y$Root1, $epM9y$babelruntimehelpersesmextends({
|
|
434
353
|
asChild: true
|
|
435
354
|
}, rovingFocusGroupScope, {
|
|
436
|
-
dir:
|
|
355
|
+
dir: rootContext.dir,
|
|
437
356
|
orientation: "vertical",
|
|
438
357
|
loop: loop,
|
|
439
358
|
currentTabStopId: currentItemId,
|
|
440
359
|
onCurrentTabStopIdChange: setCurrentItemId,
|
|
441
360
|
onEntryFocus: (event)=>{
|
|
442
361
|
// only focus first item when using keyboard
|
|
443
|
-
if (!
|
|
362
|
+
if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
|
|
444
363
|
}
|
|
445
364
|
}), /*#__PURE__*/ $epM9y$createElement($epM9y$Content, $epM9y$babelruntimehelpersesmextends({
|
|
446
365
|
role: "menu",
|
|
447
366
|
"aria-orientation": "vertical",
|
|
448
367
|
"data-state": $6cc32821e9371a1c$var$getOpenState(context.open),
|
|
449
|
-
dir:
|
|
368
|
+
dir: rootContext.dir
|
|
450
369
|
}, popperScope, contentProps, {
|
|
451
370
|
ref: composedRefs,
|
|
452
371
|
style: {
|
|
@@ -530,7 +449,7 @@ const $6cc32821e9371a1c$var$ITEM_SELECT = 'menu.itemSelect';
|
|
|
530
449
|
const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
531
450
|
const { disabled: disabled = false , onSelect: onSelect , ...itemProps } = props;
|
|
532
451
|
const ref = $epM9y$useRef(null);
|
|
533
|
-
const
|
|
452
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
|
|
534
453
|
const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
|
|
535
454
|
const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref);
|
|
536
455
|
const isPointerDownRef = $epM9y$useRef(false);
|
|
@@ -547,7 +466,7 @@ const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ $epM9y$forwardRe
|
|
|
547
466
|
});
|
|
548
467
|
$epM9y$dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
|
|
549
468
|
if (itemSelectEvent.defaultPrevented) isPointerDownRef.current = false;
|
|
550
|
-
else
|
|
469
|
+
else rootContext.onClose();
|
|
551
470
|
}
|
|
552
471
|
};
|
|
553
472
|
return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuItemImpl, $epM9y$babelruntimehelpersesmextends({}, itemProps, {
|
|
@@ -584,131 +503,6 @@ const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ $epM9y$forwardRe
|
|
|
584
503
|
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$2ce376c2cc3355c8, {
|
|
585
504
|
displayName: $6cc32821e9371a1c$var$ITEM_NAME
|
|
586
505
|
});
|
|
587
|
-
/* -------------------------------------------------------------------------------------------------
|
|
588
|
-
* MenuSubTrigger
|
|
589
|
-
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_TRIGGER_NAME = 'MenuSubTrigger';
|
|
590
|
-
const $6cc32821e9371a1c$export$5fbbb3ba7297405f = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
591
|
-
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
592
|
-
const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
593
|
-
const openTimerRef = $epM9y$useRef(null);
|
|
594
|
-
const { pointerGraceTimerRef: pointerGraceTimerRef , onPointerGraceIntentChange: onPointerGraceIntentChange } = contentContext;
|
|
595
|
-
const scope = {
|
|
596
|
-
__scopeMenu: props.__scopeMenu
|
|
597
|
-
};
|
|
598
|
-
const clearOpenTimer = $epM9y$useCallback(()=>{
|
|
599
|
-
if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
|
|
600
|
-
openTimerRef.current = null;
|
|
601
|
-
}, []);
|
|
602
|
-
$epM9y$useEffect(()=>clearOpenTimer
|
|
603
|
-
, [
|
|
604
|
-
clearOpenTimer
|
|
605
|
-
]);
|
|
606
|
-
$epM9y$useEffect(()=>{
|
|
607
|
-
const pointerGraceTimer = pointerGraceTimerRef.current;
|
|
608
|
-
return ()=>{
|
|
609
|
-
window.clearTimeout(pointerGraceTimer);
|
|
610
|
-
onPointerGraceIntentChange(null);
|
|
611
|
-
};
|
|
612
|
-
}, [
|
|
613
|
-
pointerGraceTimerRef,
|
|
614
|
-
onPointerGraceIntentChange
|
|
615
|
-
]);
|
|
616
|
-
return context.isSubmenu ? /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$export$9fa5ebd18bee4d43, $epM9y$babelruntimehelpersesmextends({
|
|
617
|
-
asChild: true
|
|
618
|
-
}, scope), /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuItemImpl, $epM9y$babelruntimehelpersesmextends({
|
|
619
|
-
id: context.triggerId,
|
|
620
|
-
"aria-haspopup": "menu",
|
|
621
|
-
"aria-expanded": context.open,
|
|
622
|
-
"aria-controls": context.contentId,
|
|
623
|
-
"data-state": $6cc32821e9371a1c$var$getOpenState(context.open)
|
|
624
|
-
}, props, {
|
|
625
|
-
ref: $epM9y$composeRefs(forwardedRef, context.onTriggerChange) // This is redundant for mouse users but we cannot determine pointer type from
|
|
626
|
-
,
|
|
627
|
-
onClick: (event)=>{
|
|
628
|
-
var _props$onClick;
|
|
629
|
-
(_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, event);
|
|
630
|
-
if (props.disabled || event.defaultPrevented) return;
|
|
631
|
-
/**
|
|
632
|
-
* We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
|
|
633
|
-
* and we rely heavily on `onFocusOutside` for submenus to close when switching
|
|
634
|
-
* between separate submenus.
|
|
635
|
-
*/ event.currentTarget.focus();
|
|
636
|
-
if (!context.open) context.onOpenChange(true);
|
|
637
|
-
},
|
|
638
|
-
onPointerMove: $epM9y$composeEventHandlers(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
|
|
639
|
-
contentContext.onItemEnter(event);
|
|
640
|
-
if (event.defaultPrevented) return;
|
|
641
|
-
if (!props.disabled && !context.open && !openTimerRef.current) {
|
|
642
|
-
contentContext.onPointerGraceIntentChange(null);
|
|
643
|
-
openTimerRef.current = window.setTimeout(()=>{
|
|
644
|
-
context.onOpenChange(true);
|
|
645
|
-
clearOpenTimer();
|
|
646
|
-
}, 100);
|
|
647
|
-
}
|
|
648
|
-
})),
|
|
649
|
-
onPointerLeave: $epM9y$composeEventHandlers(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>{
|
|
650
|
-
var _context$content;
|
|
651
|
-
clearOpenTimer();
|
|
652
|
-
const contentRect = (_context$content = context.content) === null || _context$content === void 0 ? void 0 : _context$content.getBoundingClientRect();
|
|
653
|
-
if (contentRect) {
|
|
654
|
-
var _context$content2;
|
|
655
|
-
// TODO: make sure to update this when we change positioning logic
|
|
656
|
-
const side = (_context$content2 = context.content) === null || _context$content2 === void 0 ? void 0 : _context$content2.dataset.side;
|
|
657
|
-
const rightSide = side === 'right';
|
|
658
|
-
const bleed = rightSide ? -5 : 5;
|
|
659
|
-
const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];
|
|
660
|
-
const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];
|
|
661
|
-
contentContext.onPointerGraceIntentChange({
|
|
662
|
-
area: [
|
|
663
|
-
// consistently within polygon bounds
|
|
664
|
-
{
|
|
665
|
-
x: event.clientX + bleed,
|
|
666
|
-
y: event.clientY
|
|
667
|
-
},
|
|
668
|
-
{
|
|
669
|
-
x: contentNearEdge,
|
|
670
|
-
y: contentRect.top
|
|
671
|
-
},
|
|
672
|
-
{
|
|
673
|
-
x: contentFarEdge,
|
|
674
|
-
y: contentRect.top
|
|
675
|
-
},
|
|
676
|
-
{
|
|
677
|
-
x: contentFarEdge,
|
|
678
|
-
y: contentRect.bottom
|
|
679
|
-
},
|
|
680
|
-
{
|
|
681
|
-
x: contentNearEdge,
|
|
682
|
-
y: contentRect.bottom
|
|
683
|
-
}
|
|
684
|
-
],
|
|
685
|
-
side: side
|
|
686
|
-
});
|
|
687
|
-
window.clearTimeout(pointerGraceTimerRef.current);
|
|
688
|
-
pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null)
|
|
689
|
-
, 300);
|
|
690
|
-
} else {
|
|
691
|
-
contentContext.onTriggerLeave(event);
|
|
692
|
-
if (event.defaultPrevented) return; // There's 100ms where the user may leave an item before the submenu was opened.
|
|
693
|
-
contentContext.onPointerGraceIntentChange(null);
|
|
694
|
-
}
|
|
695
|
-
})),
|
|
696
|
-
onKeyDown: $epM9y$composeEventHandlers(props.onKeyDown, (event)=>{
|
|
697
|
-
const isTypingAhead = contentContext.searchRef.current !== '';
|
|
698
|
-
if (props.disabled || isTypingAhead && event.key === ' ') return;
|
|
699
|
-
if ($6cc32821e9371a1c$var$SUB_OPEN_KEYS[context.dir].includes(event.key)) {
|
|
700
|
-
var _context$content3;
|
|
701
|
-
context.onOpenChange(true); // The trigger may hold focus if opened via pointer interaction
|
|
702
|
-
// so we ensure content is given focus again when switching to keyboard.
|
|
703
|
-
(_context$content3 = context.content) === null || _context$content3 === void 0 || _context$content3.focus(); // prevent window from scrolling
|
|
704
|
-
event.preventDefault();
|
|
705
|
-
}
|
|
706
|
-
})
|
|
707
|
-
}))) : null;
|
|
708
|
-
});
|
|
709
|
-
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$5fbbb3ba7297405f, {
|
|
710
|
-
displayName: $6cc32821e9371a1c$var$SUB_TRIGGER_NAME
|
|
711
|
-
});
|
|
712
506
|
/* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuItemImpl = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
713
507
|
const { __scopeMenu: __scopeMenu , disabled: disabled = false , textValue: textValue , ...itemProps } = props;
|
|
714
508
|
const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME, __scopeMenu);
|
|
@@ -877,6 +671,227 @@ const $6cc32821e9371a1c$export$bcdda4773debf5fa = /*#__PURE__*/ $epM9y$forwardRe
|
|
|
877
671
|
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$bcdda4773debf5fa, {
|
|
878
672
|
displayName: $6cc32821e9371a1c$var$ARROW_NAME
|
|
879
673
|
});
|
|
674
|
+
/* -------------------------------------------------------------------------------------------------
|
|
675
|
+
* MenuSub
|
|
676
|
+
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_NAME = 'MenuSub';
|
|
677
|
+
const [$6cc32821e9371a1c$var$MenuSubProvider, $6cc32821e9371a1c$var$useMenuSubContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME);
|
|
678
|
+
const $6cc32821e9371a1c$export$71bdb9d1e2909932 = (props)=>{
|
|
679
|
+
const { __scopeMenu: __scopeMenu , children: children , open: open = false , onOpenChange: onOpenChange } = props;
|
|
680
|
+
const parentMenuContext = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_NAME, __scopeMenu);
|
|
681
|
+
const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
|
|
682
|
+
const [trigger, setTrigger] = $epM9y$useState(null);
|
|
683
|
+
const [content, setContent] = $epM9y$useState(null);
|
|
684
|
+
const handleOpenChange = $epM9y$useCallbackRef(onOpenChange); // Prevent the parent menu from reopening with open submenus.
|
|
685
|
+
$epM9y$useEffect(()=>{
|
|
686
|
+
if (parentMenuContext.open === false) handleOpenChange(false);
|
|
687
|
+
return ()=>handleOpenChange(false)
|
|
688
|
+
;
|
|
689
|
+
}, [
|
|
690
|
+
parentMenuContext.open,
|
|
691
|
+
handleOpenChange
|
|
692
|
+
]);
|
|
693
|
+
return /*#__PURE__*/ $epM9y$createElement($epM9y$Root, popperScope, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuProvider, {
|
|
694
|
+
scope: __scopeMenu,
|
|
695
|
+
open: open,
|
|
696
|
+
onOpenChange: handleOpenChange,
|
|
697
|
+
content: content,
|
|
698
|
+
onContentChange: setContent
|
|
699
|
+
}, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuSubProvider, {
|
|
700
|
+
scope: __scopeMenu,
|
|
701
|
+
contentId: $epM9y$useId(),
|
|
702
|
+
triggerId: $epM9y$useId(),
|
|
703
|
+
trigger: trigger,
|
|
704
|
+
onTriggerChange: setTrigger
|
|
705
|
+
}, children)));
|
|
706
|
+
};
|
|
707
|
+
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$71bdb9d1e2909932, {
|
|
708
|
+
displayName: $6cc32821e9371a1c$var$SUB_NAME
|
|
709
|
+
});
|
|
710
|
+
/* -------------------------------------------------------------------------------------------------
|
|
711
|
+
* MenuSubTrigger
|
|
712
|
+
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_TRIGGER_NAME = 'MenuSubTrigger';
|
|
713
|
+
const $6cc32821e9371a1c$export$5fbbb3ba7297405f = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
714
|
+
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
715
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
716
|
+
const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
717
|
+
const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
718
|
+
const openTimerRef = $epM9y$useRef(null);
|
|
719
|
+
const { pointerGraceTimerRef: pointerGraceTimerRef , onPointerGraceIntentChange: onPointerGraceIntentChange } = contentContext;
|
|
720
|
+
const scope = {
|
|
721
|
+
__scopeMenu: props.__scopeMenu
|
|
722
|
+
};
|
|
723
|
+
const clearOpenTimer = $epM9y$useCallback(()=>{
|
|
724
|
+
if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
|
|
725
|
+
openTimerRef.current = null;
|
|
726
|
+
}, []);
|
|
727
|
+
$epM9y$useEffect(()=>clearOpenTimer
|
|
728
|
+
, [
|
|
729
|
+
clearOpenTimer
|
|
730
|
+
]);
|
|
731
|
+
$epM9y$useEffect(()=>{
|
|
732
|
+
const pointerGraceTimer = pointerGraceTimerRef.current;
|
|
733
|
+
return ()=>{
|
|
734
|
+
window.clearTimeout(pointerGraceTimer);
|
|
735
|
+
onPointerGraceIntentChange(null);
|
|
736
|
+
};
|
|
737
|
+
}, [
|
|
738
|
+
pointerGraceTimerRef,
|
|
739
|
+
onPointerGraceIntentChange
|
|
740
|
+
]);
|
|
741
|
+
return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$export$9fa5ebd18bee4d43, $epM9y$babelruntimehelpersesmextends({
|
|
742
|
+
asChild: true
|
|
743
|
+
}, scope), /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuItemImpl, $epM9y$babelruntimehelpersesmextends({
|
|
744
|
+
id: subContext.triggerId,
|
|
745
|
+
"aria-haspopup": "menu",
|
|
746
|
+
"aria-expanded": context.open,
|
|
747
|
+
"aria-controls": subContext.contentId,
|
|
748
|
+
"data-state": $6cc32821e9371a1c$var$getOpenState(context.open)
|
|
749
|
+
}, props, {
|
|
750
|
+
ref: $epM9y$composeRefs(forwardedRef, subContext.onTriggerChange) // This is redundant for mouse users but we cannot determine pointer type from
|
|
751
|
+
,
|
|
752
|
+
onClick: (event)=>{
|
|
753
|
+
var _props$onClick;
|
|
754
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, event);
|
|
755
|
+
if (props.disabled || event.defaultPrevented) return;
|
|
756
|
+
/**
|
|
757
|
+
* We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
|
|
758
|
+
* and we rely heavily on `onFocusOutside` for submenus to close when switching
|
|
759
|
+
* between separate submenus.
|
|
760
|
+
*/ event.currentTarget.focus();
|
|
761
|
+
if (!context.open) context.onOpenChange(true);
|
|
762
|
+
},
|
|
763
|
+
onPointerMove: $epM9y$composeEventHandlers(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
|
|
764
|
+
contentContext.onItemEnter(event);
|
|
765
|
+
if (event.defaultPrevented) return;
|
|
766
|
+
if (!props.disabled && !context.open && !openTimerRef.current) {
|
|
767
|
+
contentContext.onPointerGraceIntentChange(null);
|
|
768
|
+
openTimerRef.current = window.setTimeout(()=>{
|
|
769
|
+
context.onOpenChange(true);
|
|
770
|
+
clearOpenTimer();
|
|
771
|
+
}, 100);
|
|
772
|
+
}
|
|
773
|
+
})),
|
|
774
|
+
onPointerLeave: $epM9y$composeEventHandlers(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>{
|
|
775
|
+
var _context$content;
|
|
776
|
+
clearOpenTimer();
|
|
777
|
+
const contentRect = (_context$content = context.content) === null || _context$content === void 0 ? void 0 : _context$content.getBoundingClientRect();
|
|
778
|
+
if (contentRect) {
|
|
779
|
+
var _context$content2;
|
|
780
|
+
// TODO: make sure to update this when we change positioning logic
|
|
781
|
+
const side = (_context$content2 = context.content) === null || _context$content2 === void 0 ? void 0 : _context$content2.dataset.side;
|
|
782
|
+
const rightSide = side === 'right';
|
|
783
|
+
const bleed = rightSide ? -5 : 5;
|
|
784
|
+
const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];
|
|
785
|
+
const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];
|
|
786
|
+
contentContext.onPointerGraceIntentChange({
|
|
787
|
+
area: [
|
|
788
|
+
// consistently within polygon bounds
|
|
789
|
+
{
|
|
790
|
+
x: event.clientX + bleed,
|
|
791
|
+
y: event.clientY
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
x: contentNearEdge,
|
|
795
|
+
y: contentRect.top
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
x: contentFarEdge,
|
|
799
|
+
y: contentRect.top
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
x: contentFarEdge,
|
|
803
|
+
y: contentRect.bottom
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
x: contentNearEdge,
|
|
807
|
+
y: contentRect.bottom
|
|
808
|
+
}
|
|
809
|
+
],
|
|
810
|
+
side: side
|
|
811
|
+
});
|
|
812
|
+
window.clearTimeout(pointerGraceTimerRef.current);
|
|
813
|
+
pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null)
|
|
814
|
+
, 300);
|
|
815
|
+
} else {
|
|
816
|
+
contentContext.onTriggerLeave(event);
|
|
817
|
+
if (event.defaultPrevented) return; // There's 100ms where the user may leave an item before the submenu was opened.
|
|
818
|
+
contentContext.onPointerGraceIntentChange(null);
|
|
819
|
+
}
|
|
820
|
+
})),
|
|
821
|
+
onKeyDown: $epM9y$composeEventHandlers(props.onKeyDown, (event)=>{
|
|
822
|
+
const isTypingAhead = contentContext.searchRef.current !== '';
|
|
823
|
+
if (props.disabled || isTypingAhead && event.key === ' ') return;
|
|
824
|
+
if ($6cc32821e9371a1c$var$SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
|
|
825
|
+
var _context$content3;
|
|
826
|
+
context.onOpenChange(true); // The trigger may hold focus if opened via pointer interaction
|
|
827
|
+
// so we ensure content is given focus again when switching to keyboard.
|
|
828
|
+
(_context$content3 = context.content) === null || _context$content3 === void 0 || _context$content3.focus(); // prevent window from scrolling
|
|
829
|
+
event.preventDefault();
|
|
830
|
+
}
|
|
831
|
+
})
|
|
832
|
+
})));
|
|
833
|
+
});
|
|
834
|
+
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$5fbbb3ba7297405f, {
|
|
835
|
+
displayName: $6cc32821e9371a1c$var$SUB_TRIGGER_NAME
|
|
836
|
+
});
|
|
837
|
+
/* -------------------------------------------------------------------------------------------------
|
|
838
|
+
* MenuSubContent
|
|
839
|
+
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_CONTENT_NAME = 'MenuSubContent';
|
|
840
|
+
const $6cc32821e9371a1c$export$e7142ab31822bde6 = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
|
|
841
|
+
const { forceMount: forceMount , ...subContentProps } = props;
|
|
842
|
+
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
843
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
844
|
+
const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_CONTENT_NAME, props.__scopeMenu);
|
|
845
|
+
const ref = $epM9y$useRef(null);
|
|
846
|
+
const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref);
|
|
847
|
+
return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Provider, {
|
|
848
|
+
scope: props.__scopeMenu
|
|
849
|
+
}, /*#__PURE__*/ $epM9y$createElement($epM9y$Presence, {
|
|
850
|
+
present: forceMount || context.open
|
|
851
|
+
}, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Slot, {
|
|
852
|
+
scope: props.__scopeMenu
|
|
853
|
+
}, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuContentImpl, $epM9y$babelruntimehelpersesmextends({
|
|
854
|
+
id: subContext.contentId,
|
|
855
|
+
"aria-labelledby": subContext.triggerId
|
|
856
|
+
}, subContentProps, {
|
|
857
|
+
ref: composedRefs,
|
|
858
|
+
align: "start",
|
|
859
|
+
side: rootContext.dir === 'rtl' ? 'left' : 'right',
|
|
860
|
+
portalled: true,
|
|
861
|
+
disableOutsidePointerEvents: false,
|
|
862
|
+
disableOutsideScroll: false,
|
|
863
|
+
trapFocus: false,
|
|
864
|
+
onOpenAutoFocus: (event)=>{
|
|
865
|
+
var _ref$current;
|
|
866
|
+
// when opening a submenu, focus content for keyboard users only
|
|
867
|
+
if (rootContext.isUsingKeyboardRef.current) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
|
|
868
|
+
event.preventDefault();
|
|
869
|
+
} // The menu might close because of focusing another menu item in the parent menu. We
|
|
870
|
+
,
|
|
871
|
+
onCloseAutoFocus: (event)=>event.preventDefault()
|
|
872
|
+
,
|
|
873
|
+
onFocusOutside: $epM9y$composeEventHandlers(props.onFocusOutside, (event)=>{
|
|
874
|
+
// We prevent closing when the trigger is focused to avoid triggering a re-open animation
|
|
875
|
+
// on pointer interaction.
|
|
876
|
+
if (event.target !== subContext.trigger) context.onOpenChange(false);
|
|
877
|
+
}),
|
|
878
|
+
onEscapeKeyDown: $epM9y$composeEventHandlers(props.onEscapeKeyDown, rootContext.onClose),
|
|
879
|
+
onKeyDown: $epM9y$composeEventHandlers(props.onKeyDown, (event)=>{
|
|
880
|
+
// Submenu key events bubble through portals. We only care about keys in this menu.
|
|
881
|
+
const isKeyDownInside = event.currentTarget.contains(event.target);
|
|
882
|
+
const isCloseKey = $6cc32821e9371a1c$var$SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
|
|
883
|
+
if (isKeyDownInside && isCloseKey) {
|
|
884
|
+
var _subContext$trigger;
|
|
885
|
+
context.onOpenChange(false); // We focus manually because we prevented it in `onCloseAutoFocus`
|
|
886
|
+
(_subContext$trigger = subContext.trigger) === null || _subContext$trigger === void 0 || _subContext$trigger.focus(); // prevent window from scrolling
|
|
887
|
+
event.preventDefault();
|
|
888
|
+
}
|
|
889
|
+
})
|
|
890
|
+
})))));
|
|
891
|
+
});
|
|
892
|
+
/*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$e7142ab31822bde6, {
|
|
893
|
+
displayName: $6cc32821e9371a1c$var$SUB_CONTENT_NAME
|
|
894
|
+
});
|
|
880
895
|
/* -----------------------------------------------------------------------------------------------*/ function $6cc32821e9371a1c$var$getOpenState(open) {
|
|
881
896
|
return open ? 'open' : 'closed';
|
|
882
897
|
}
|
|
@@ -956,9 +971,7 @@ function $6cc32821e9371a1c$var$whenMouse(handler) {
|
|
|
956
971
|
;
|
|
957
972
|
}
|
|
958
973
|
const $6cc32821e9371a1c$export$be92b6f5f03c0fe9 = $6cc32821e9371a1c$export$d9b273488cd8ce6f;
|
|
959
|
-
const $6cc32821e9371a1c$export$d7a01e11500dfb6f = $6cc32821e9371a1c$export$71bdb9d1e2909932;
|
|
960
974
|
const $6cc32821e9371a1c$export$b688253958b8dfe7 = $6cc32821e9371a1c$export$9fa5ebd18bee4d43;
|
|
961
|
-
const $6cc32821e9371a1c$export$2ea8a7a591ac5eac = $6cc32821e9371a1c$export$5fbbb3ba7297405f;
|
|
962
975
|
const $6cc32821e9371a1c$export$7c6e2c02157bb7d2 = $6cc32821e9371a1c$export$479f0f2f71193efe;
|
|
963
976
|
const $6cc32821e9371a1c$export$eb2fcfdbd7ba97d4 = $6cc32821e9371a1c$export$22a631d1f72787bb;
|
|
964
977
|
const $6cc32821e9371a1c$export$b04be29aa201d4f5 = $6cc32821e9371a1c$export$dd37bec0e8a99143;
|
|
@@ -969,9 +982,12 @@ const $6cc32821e9371a1c$export$371ab307eab489c0 = $6cc32821e9371a1c$export$69bd2
|
|
|
969
982
|
const $6cc32821e9371a1c$export$c3468e2714d175fa = $6cc32821e9371a1c$export$a2593e23056970a3;
|
|
970
983
|
const $6cc32821e9371a1c$export$1ff3c3f08ae963c0 = $6cc32821e9371a1c$export$1cec7dcdd713e220;
|
|
971
984
|
const $6cc32821e9371a1c$export$21b07c8f274aebd5 = $6cc32821e9371a1c$export$bcdda4773debf5fa;
|
|
985
|
+
const $6cc32821e9371a1c$export$d7a01e11500dfb6f = $6cc32821e9371a1c$export$71bdb9d1e2909932;
|
|
986
|
+
const $6cc32821e9371a1c$export$2ea8a7a591ac5eac = $6cc32821e9371a1c$export$5fbbb3ba7297405f;
|
|
987
|
+
const $6cc32821e9371a1c$export$6d4de93b380beddf = $6cc32821e9371a1c$export$e7142ab31822bde6;
|
|
972
988
|
|
|
973
989
|
|
|
974
990
|
|
|
975
991
|
|
|
976
|
-
export {$6cc32821e9371a1c$export$4027731b685e72eb as createMenuScope, $6cc32821e9371a1c$export$d9b273488cd8ce6f as Menu, $6cc32821e9371a1c$export$
|
|
992
|
+
export {$6cc32821e9371a1c$export$4027731b685e72eb as createMenuScope, $6cc32821e9371a1c$export$d9b273488cd8ce6f as Menu, $6cc32821e9371a1c$export$9fa5ebd18bee4d43 as MenuAnchor, $6cc32821e9371a1c$export$479f0f2f71193efe as MenuContent, $6cc32821e9371a1c$export$22a631d1f72787bb as MenuGroup, $6cc32821e9371a1c$export$dd37bec0e8a99143 as MenuLabel, $6cc32821e9371a1c$export$2ce376c2cc3355c8 as MenuItem, $6cc32821e9371a1c$export$f6f243521332502d as MenuCheckboxItem, $6cc32821e9371a1c$export$ea2200c9eee416b3 as MenuRadioGroup, $6cc32821e9371a1c$export$69bd225e9817f6d0 as MenuRadioItem, $6cc32821e9371a1c$export$a2593e23056970a3 as MenuItemIndicator, $6cc32821e9371a1c$export$1cec7dcdd713e220 as MenuSeparator, $6cc32821e9371a1c$export$bcdda4773debf5fa as MenuArrow, $6cc32821e9371a1c$export$71bdb9d1e2909932 as MenuSub, $6cc32821e9371a1c$export$5fbbb3ba7297405f as MenuSubTrigger, $6cc32821e9371a1c$export$e7142ab31822bde6 as MenuSubContent, $6cc32821e9371a1c$export$be92b6f5f03c0fe9 as Root, $6cc32821e9371a1c$export$b688253958b8dfe7 as Anchor, $6cc32821e9371a1c$export$7c6e2c02157bb7d2 as Content, $6cc32821e9371a1c$export$eb2fcfdbd7ba97d4 as Group, $6cc32821e9371a1c$export$b04be29aa201d4f5 as Label, $6cc32821e9371a1c$export$6d08773d2e66f8f2 as Item, $6cc32821e9371a1c$export$16ce288f89fa631c as CheckboxItem, $6cc32821e9371a1c$export$a98f0dcb43a68a25 as RadioGroup, $6cc32821e9371a1c$export$371ab307eab489c0 as RadioItem, $6cc32821e9371a1c$export$c3468e2714d175fa as ItemIndicator, $6cc32821e9371a1c$export$1ff3c3f08ae963c0 as Separator, $6cc32821e9371a1c$export$21b07c8f274aebd5 as Arrow, $6cc32821e9371a1c$export$d7a01e11500dfb6f as Sub, $6cc32821e9371a1c$export$2ea8a7a591ac5eac as SubTrigger, $6cc32821e9371a1c$export$6d4de93b380beddf as SubContent};
|
|
977
993
|
//# sourceMappingURL=index.module.js.map
|