@radix-ui/react-menu 0.1.7-rc.20 → 0.1.7-rc.23

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.
@@ -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,8 +123,9 @@ 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
- const { __scopeMenu: __scopeMenu , open: open = false , children: children , dir: dir , onOpenChange: onOpenChange , modal: modal = true } = props;
128
+ const { __scopeMenu: __scopeMenu , open: open = false , children: children , dir: dir , onOpenChange: onOpenChange , modal: modal = true , allowPinchZoom: allowPinchZoom } = props;
126
129
  const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
127
130
  const [content, setContent] = $epM9y$useState(null);
128
131
  const isUsingKeyboardRef = $epM9y$useRef(false);
@@ -161,59 +164,25 @@ 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
- onRootClose: $epM9y$useCallback(()=>handleOpenChange(false)
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
  ]),
175
- modal: modal
176
- }, children));
177
+ isUsingKeyboardRef: isUsingKeyboardRef,
178
+ dir: direction,
179
+ modal: modal,
180
+ allowPinchZoom: allowPinchZoom
181
+ }, children)));
177
182
  };
178
183
  /*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$d9b273488cd8ce6f, {
179
184
  displayName: $6cc32821e9371a1c$var$MENU_NAME
180
185
  });
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
186
  /* -------------------------------------------------------------------------------------------------
218
187
  * MenuAnchor
219
188
  * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$ANCHOR_NAME = 'MenuAnchor';
@@ -234,27 +203,20 @@ const [$6cc32821e9371a1c$var$MenuContentProvider, $6cc32821e9371a1c$var$useMenuC
234
203
  const $6cc32821e9371a1c$export$479f0f2f71193efe = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
235
204
  const { forceMount: forceMount , ...contentProps } = props;
236
205
  const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
206
+ const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
237
207
  return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Provider, {
238
208
  scope: props.__scopeMenu
239
209
  }, /*#__PURE__*/ $epM9y$createElement($epM9y$Presence, {
240
210
  present: forceMount || context.open
241
211
  }, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Slot, {
242
212
  scope: props.__scopeMenu
243
- }, context.isSubmenu ? /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuSubContent, $epM9y$babelruntimehelpersesmextends({}, contentProps, {
213
+ }, rootContext.modal ? /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContentModal, $epM9y$babelruntimehelpersesmextends({}, contentProps, {
244
214
  ref: forwardedRef
245
- })) : /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContent, $epM9y$babelruntimehelpersesmextends({}, contentProps, {
215
+ })) : /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuRootContentNonModal, $epM9y$babelruntimehelpersesmextends({}, contentProps, {
246
216
  ref: forwardedRef
247
217
  })))));
248
218
  });
249
- /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuRootContent = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
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)=>{
219
+ /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuRootContentModal = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
258
220
  const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
259
221
  const ref = $epM9y$useRef(null);
260
222
  const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref); // Hide everything from ARIA except the `MenuContent`
@@ -287,52 +249,10 @@ const $6cc32821e9371a1c$var$MenuRootContentNonModal = /*#__PURE__*/ $epM9y$forwa
287
249
  onDismiss: ()=>context.onOpenChange(false)
288
250
  }));
289
251
  });
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
252
  /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuContentImpl = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
334
- 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;
253
+ 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 , portalled: portalled , ...contentProps } = props;
335
254
  const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, __scopeMenu);
255
+ const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, __scopeMenu);
336
256
  const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
337
257
  const rovingFocusGroupScope = $6cc32821e9371a1c$var$useRovingFocusGroupScope(__scopeMenu);
338
258
  const getItems = $6cc32821e9371a1c$var$useCollection(__scopeMenu);
@@ -348,7 +268,7 @@ const $6cc32821e9371a1c$var$MenuRootContentNonModal = /*#__PURE__*/ $epM9y$forwa
348
268
  const PortalWrapper = portalled ? $epM9y$Portal : $epM9y$Fragment;
349
269
  const ScrollLockWrapper = disableOutsideScroll ? $epM9y$RemoveScroll : $epM9y$Fragment;
350
270
  const scrollLockWrapperProps = disableOutsideScroll ? {
351
- allowPinchZoom: allowPinchZoom
271
+ allowPinchZoom: rootContext.allowPinchZoom
352
272
  } : undefined;
353
273
  const handleTypeaheadSearch = (key)=>{
354
274
  var _items$find, _items$find2;
@@ -433,20 +353,20 @@ const $6cc32821e9371a1c$var$MenuRootContentNonModal = /*#__PURE__*/ $epM9y$forwa
433
353
  }, /*#__PURE__*/ $epM9y$createElement($epM9y$Root1, $epM9y$babelruntimehelpersesmextends({
434
354
  asChild: true
435
355
  }, rovingFocusGroupScope, {
436
- dir: context.dir,
356
+ dir: rootContext.dir,
437
357
  orientation: "vertical",
438
358
  loop: loop,
439
359
  currentTabStopId: currentItemId,
440
360
  onCurrentTabStopIdChange: setCurrentItemId,
441
361
  onEntryFocus: (event)=>{
442
362
  // only focus first item when using keyboard
443
- if (!context.isUsingKeyboardRef.current) event.preventDefault();
363
+ if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
444
364
  }
445
365
  }), /*#__PURE__*/ $epM9y$createElement($epM9y$Content, $epM9y$babelruntimehelpersesmextends({
446
366
  role: "menu",
447
367
  "aria-orientation": "vertical",
448
368
  "data-state": $6cc32821e9371a1c$var$getOpenState(context.open),
449
- dir: context.dir
369
+ dir: rootContext.dir
450
370
  }, popperScope, contentProps, {
451
371
  ref: composedRefs,
452
372
  style: {
@@ -530,7 +450,7 @@ const $6cc32821e9371a1c$var$ITEM_SELECT = 'menu.itemSelect';
530
450
  const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
531
451
  const { disabled: disabled = false , onSelect: onSelect , ...itemProps } = props;
532
452
  const ref = $epM9y$useRef(null);
533
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
453
+ const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
534
454
  const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
535
455
  const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref);
536
456
  const isPointerDownRef = $epM9y$useRef(false);
@@ -547,7 +467,7 @@ const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ $epM9y$forwardRe
547
467
  });
548
468
  $epM9y$dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
549
469
  if (itemSelectEvent.defaultPrevented) isPointerDownRef.current = false;
550
- else context.onRootClose();
470
+ else rootContext.onClose();
551
471
  }
552
472
  };
553
473
  return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuItemImpl, $epM9y$babelruntimehelpersesmextends({}, itemProps, {
@@ -584,131 +504,6 @@ const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ $epM9y$forwardRe
584
504
  /*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$2ce376c2cc3355c8, {
585
505
  displayName: $6cc32821e9371a1c$var$ITEM_NAME
586
506
  });
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
507
  /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuItemImpl = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
713
508
  const { __scopeMenu: __scopeMenu , disabled: disabled = false , textValue: textValue , ...itemProps } = props;
714
509
  const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME, __scopeMenu);
@@ -877,6 +672,227 @@ const $6cc32821e9371a1c$export$bcdda4773debf5fa = /*#__PURE__*/ $epM9y$forwardRe
877
672
  /*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$bcdda4773debf5fa, {
878
673
  displayName: $6cc32821e9371a1c$var$ARROW_NAME
879
674
  });
675
+ /* -------------------------------------------------------------------------------------------------
676
+ * MenuSub
677
+ * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_NAME = 'MenuSub';
678
+ const [$6cc32821e9371a1c$var$MenuSubProvider, $6cc32821e9371a1c$var$useMenuSubContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME);
679
+ const $6cc32821e9371a1c$export$71bdb9d1e2909932 = (props)=>{
680
+ const { __scopeMenu: __scopeMenu , children: children , open: open = false , onOpenChange: onOpenChange } = props;
681
+ const parentMenuContext = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_NAME, __scopeMenu);
682
+ const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
683
+ const [trigger, setTrigger] = $epM9y$useState(null);
684
+ const [content, setContent] = $epM9y$useState(null);
685
+ const handleOpenChange = $epM9y$useCallbackRef(onOpenChange); // Prevent the parent menu from reopening with open submenus.
686
+ $epM9y$useEffect(()=>{
687
+ if (parentMenuContext.open === false) handleOpenChange(false);
688
+ return ()=>handleOpenChange(false)
689
+ ;
690
+ }, [
691
+ parentMenuContext.open,
692
+ handleOpenChange
693
+ ]);
694
+ return /*#__PURE__*/ $epM9y$createElement($epM9y$Root, popperScope, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuProvider, {
695
+ scope: __scopeMenu,
696
+ open: open,
697
+ onOpenChange: handleOpenChange,
698
+ content: content,
699
+ onContentChange: setContent
700
+ }, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuSubProvider, {
701
+ scope: __scopeMenu,
702
+ contentId: $epM9y$useId(),
703
+ triggerId: $epM9y$useId(),
704
+ trigger: trigger,
705
+ onTriggerChange: setTrigger
706
+ }, children)));
707
+ };
708
+ /*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$71bdb9d1e2909932, {
709
+ displayName: $6cc32821e9371a1c$var$SUB_NAME
710
+ });
711
+ /* -------------------------------------------------------------------------------------------------
712
+ * MenuSubTrigger
713
+ * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_TRIGGER_NAME = 'MenuSubTrigger';
714
+ const $6cc32821e9371a1c$export$5fbbb3ba7297405f = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
715
+ const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
716
+ const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
717
+ const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
718
+ const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
719
+ const openTimerRef = $epM9y$useRef(null);
720
+ const { pointerGraceTimerRef: pointerGraceTimerRef , onPointerGraceIntentChange: onPointerGraceIntentChange } = contentContext;
721
+ const scope = {
722
+ __scopeMenu: props.__scopeMenu
723
+ };
724
+ const clearOpenTimer = $epM9y$useCallback(()=>{
725
+ if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
726
+ openTimerRef.current = null;
727
+ }, []);
728
+ $epM9y$useEffect(()=>clearOpenTimer
729
+ , [
730
+ clearOpenTimer
731
+ ]);
732
+ $epM9y$useEffect(()=>{
733
+ const pointerGraceTimer = pointerGraceTimerRef.current;
734
+ return ()=>{
735
+ window.clearTimeout(pointerGraceTimer);
736
+ onPointerGraceIntentChange(null);
737
+ };
738
+ }, [
739
+ pointerGraceTimerRef,
740
+ onPointerGraceIntentChange
741
+ ]);
742
+ return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$export$9fa5ebd18bee4d43, $epM9y$babelruntimehelpersesmextends({
743
+ asChild: true
744
+ }, scope), /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuItemImpl, $epM9y$babelruntimehelpersesmextends({
745
+ id: subContext.triggerId,
746
+ "aria-haspopup": "menu",
747
+ "aria-expanded": context.open,
748
+ "aria-controls": subContext.contentId,
749
+ "data-state": $6cc32821e9371a1c$var$getOpenState(context.open)
750
+ }, props, {
751
+ ref: $epM9y$composeRefs(forwardedRef, subContext.onTriggerChange) // This is redundant for mouse users but we cannot determine pointer type from
752
+ ,
753
+ onClick: (event)=>{
754
+ var _props$onClick;
755
+ (_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, event);
756
+ if (props.disabled || event.defaultPrevented) return;
757
+ /**
758
+ * We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
759
+ * and we rely heavily on `onFocusOutside` for submenus to close when switching
760
+ * between separate submenus.
761
+ */ event.currentTarget.focus();
762
+ if (!context.open) context.onOpenChange(true);
763
+ },
764
+ onPointerMove: $epM9y$composeEventHandlers(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
765
+ contentContext.onItemEnter(event);
766
+ if (event.defaultPrevented) return;
767
+ if (!props.disabled && !context.open && !openTimerRef.current) {
768
+ contentContext.onPointerGraceIntentChange(null);
769
+ openTimerRef.current = window.setTimeout(()=>{
770
+ context.onOpenChange(true);
771
+ clearOpenTimer();
772
+ }, 100);
773
+ }
774
+ })),
775
+ onPointerLeave: $epM9y$composeEventHandlers(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>{
776
+ var _context$content;
777
+ clearOpenTimer();
778
+ const contentRect = (_context$content = context.content) === null || _context$content === void 0 ? void 0 : _context$content.getBoundingClientRect();
779
+ if (contentRect) {
780
+ var _context$content2;
781
+ // TODO: make sure to update this when we change positioning logic
782
+ const side = (_context$content2 = context.content) === null || _context$content2 === void 0 ? void 0 : _context$content2.dataset.side;
783
+ const rightSide = side === 'right';
784
+ const bleed = rightSide ? -5 : 5;
785
+ const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];
786
+ const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];
787
+ contentContext.onPointerGraceIntentChange({
788
+ area: [
789
+ // consistently within polygon bounds
790
+ {
791
+ x: event.clientX + bleed,
792
+ y: event.clientY
793
+ },
794
+ {
795
+ x: contentNearEdge,
796
+ y: contentRect.top
797
+ },
798
+ {
799
+ x: contentFarEdge,
800
+ y: contentRect.top
801
+ },
802
+ {
803
+ x: contentFarEdge,
804
+ y: contentRect.bottom
805
+ },
806
+ {
807
+ x: contentNearEdge,
808
+ y: contentRect.bottom
809
+ }
810
+ ],
811
+ side: side
812
+ });
813
+ window.clearTimeout(pointerGraceTimerRef.current);
814
+ pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null)
815
+ , 300);
816
+ } else {
817
+ contentContext.onTriggerLeave(event);
818
+ if (event.defaultPrevented) return; // There's 100ms where the user may leave an item before the submenu was opened.
819
+ contentContext.onPointerGraceIntentChange(null);
820
+ }
821
+ })),
822
+ onKeyDown: $epM9y$composeEventHandlers(props.onKeyDown, (event)=>{
823
+ const isTypingAhead = contentContext.searchRef.current !== '';
824
+ if (props.disabled || isTypingAhead && event.key === ' ') return;
825
+ if ($6cc32821e9371a1c$var$SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
826
+ var _context$content3;
827
+ context.onOpenChange(true); // The trigger may hold focus if opened via pointer interaction
828
+ // so we ensure content is given focus again when switching to keyboard.
829
+ (_context$content3 = context.content) === null || _context$content3 === void 0 || _context$content3.focus(); // prevent window from scrolling
830
+ event.preventDefault();
831
+ }
832
+ })
833
+ })));
834
+ });
835
+ /*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$5fbbb3ba7297405f, {
836
+ displayName: $6cc32821e9371a1c$var$SUB_TRIGGER_NAME
837
+ });
838
+ /* -------------------------------------------------------------------------------------------------
839
+ * MenuSubContent
840
+ * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_CONTENT_NAME = 'MenuSubContent';
841
+ const $6cc32821e9371a1c$export$e7142ab31822bde6 = /*#__PURE__*/ $epM9y$forwardRef((props, forwardedRef)=>{
842
+ const { forceMount: forceMount , ...subContentProps } = props;
843
+ const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
844
+ const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
845
+ const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_CONTENT_NAME, props.__scopeMenu);
846
+ const ref = $epM9y$useRef(null);
847
+ const composedRefs = $epM9y$useComposedRefs(forwardedRef, ref);
848
+ return /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Provider, {
849
+ scope: props.__scopeMenu
850
+ }, /*#__PURE__*/ $epM9y$createElement($epM9y$Presence, {
851
+ present: forceMount || context.open
852
+ }, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$Collection.Slot, {
853
+ scope: props.__scopeMenu
854
+ }, /*#__PURE__*/ $epM9y$createElement($6cc32821e9371a1c$var$MenuContentImpl, $epM9y$babelruntimehelpersesmextends({
855
+ id: subContext.contentId,
856
+ "aria-labelledby": subContext.triggerId
857
+ }, subContentProps, {
858
+ ref: composedRefs,
859
+ align: "start",
860
+ side: rootContext.dir === 'rtl' ? 'left' : 'right',
861
+ portalled: true,
862
+ disableOutsidePointerEvents: false,
863
+ disableOutsideScroll: false,
864
+ trapFocus: false,
865
+ onOpenAutoFocus: (event)=>{
866
+ var _ref$current;
867
+ // when opening a submenu, focus content for keyboard users only
868
+ if (rootContext.isUsingKeyboardRef.current) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
869
+ event.preventDefault();
870
+ } // The menu might close because of focusing another menu item in the parent menu. We
871
+ ,
872
+ onCloseAutoFocus: (event)=>event.preventDefault()
873
+ ,
874
+ onFocusOutside: $epM9y$composeEventHandlers(props.onFocusOutside, (event)=>{
875
+ // We prevent closing when the trigger is focused to avoid triggering a re-open animation
876
+ // on pointer interaction.
877
+ if (event.target !== subContext.trigger) context.onOpenChange(false);
878
+ }),
879
+ onEscapeKeyDown: $epM9y$composeEventHandlers(props.onEscapeKeyDown, rootContext.onClose),
880
+ onKeyDown: $epM9y$composeEventHandlers(props.onKeyDown, (event)=>{
881
+ // Submenu key events bubble through portals. We only care about keys in this menu.
882
+ const isKeyDownInside = event.currentTarget.contains(event.target);
883
+ const isCloseKey = $6cc32821e9371a1c$var$SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
884
+ if (isKeyDownInside && isCloseKey) {
885
+ var _subContext$trigger;
886
+ context.onOpenChange(false); // We focus manually because we prevented it in `onCloseAutoFocus`
887
+ (_subContext$trigger = subContext.trigger) === null || _subContext$trigger === void 0 || _subContext$trigger.focus(); // prevent window from scrolling
888
+ event.preventDefault();
889
+ }
890
+ })
891
+ })))));
892
+ });
893
+ /*#__PURE__*/ Object.assign($6cc32821e9371a1c$export$e7142ab31822bde6, {
894
+ displayName: $6cc32821e9371a1c$var$SUB_CONTENT_NAME
895
+ });
880
896
  /* -----------------------------------------------------------------------------------------------*/ function $6cc32821e9371a1c$var$getOpenState(open) {
881
897
  return open ? 'open' : 'closed';
882
898
  }
@@ -956,9 +972,7 @@ function $6cc32821e9371a1c$var$whenMouse(handler) {
956
972
  ;
957
973
  }
958
974
  const $6cc32821e9371a1c$export$be92b6f5f03c0fe9 = $6cc32821e9371a1c$export$d9b273488cd8ce6f;
959
- const $6cc32821e9371a1c$export$d7a01e11500dfb6f = $6cc32821e9371a1c$export$71bdb9d1e2909932;
960
975
  const $6cc32821e9371a1c$export$b688253958b8dfe7 = $6cc32821e9371a1c$export$9fa5ebd18bee4d43;
961
- const $6cc32821e9371a1c$export$2ea8a7a591ac5eac = $6cc32821e9371a1c$export$5fbbb3ba7297405f;
962
976
  const $6cc32821e9371a1c$export$7c6e2c02157bb7d2 = $6cc32821e9371a1c$export$479f0f2f71193efe;
963
977
  const $6cc32821e9371a1c$export$eb2fcfdbd7ba97d4 = $6cc32821e9371a1c$export$22a631d1f72787bb;
964
978
  const $6cc32821e9371a1c$export$b04be29aa201d4f5 = $6cc32821e9371a1c$export$dd37bec0e8a99143;
@@ -969,9 +983,12 @@ const $6cc32821e9371a1c$export$371ab307eab489c0 = $6cc32821e9371a1c$export$69bd2
969
983
  const $6cc32821e9371a1c$export$c3468e2714d175fa = $6cc32821e9371a1c$export$a2593e23056970a3;
970
984
  const $6cc32821e9371a1c$export$1ff3c3f08ae963c0 = $6cc32821e9371a1c$export$1cec7dcdd713e220;
971
985
  const $6cc32821e9371a1c$export$21b07c8f274aebd5 = $6cc32821e9371a1c$export$bcdda4773debf5fa;
986
+ const $6cc32821e9371a1c$export$d7a01e11500dfb6f = $6cc32821e9371a1c$export$71bdb9d1e2909932;
987
+ const $6cc32821e9371a1c$export$2ea8a7a591ac5eac = $6cc32821e9371a1c$export$5fbbb3ba7297405f;
988
+ const $6cc32821e9371a1c$export$6d4de93b380beddf = $6cc32821e9371a1c$export$e7142ab31822bde6;
972
989
 
973
990
 
974
991
 
975
992
 
976
- export {$6cc32821e9371a1c$export$4027731b685e72eb as createMenuScope, $6cc32821e9371a1c$export$d9b273488cd8ce6f as Menu, $6cc32821e9371a1c$export$71bdb9d1e2909932 as MenuSub, $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$5fbbb3ba7297405f as MenuSubTrigger, $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$be92b6f5f03c0fe9 as Root, $6cc32821e9371a1c$export$d7a01e11500dfb6f as Sub, $6cc32821e9371a1c$export$b688253958b8dfe7 as Anchor, $6cc32821e9371a1c$export$2ea8a7a591ac5eac as SubTrigger, $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};
993
+ 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
994
  //# sourceMappingURL=index.module.js.map