@huin-core/react-navigation-menu 1.0.5 → 1.0.6

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.mjs CHANGED
@@ -16,7 +16,6 @@ import { useControllableState } from "@huin-core/react-use-controllable-state";
16
16
  import { useId } from "@huin-core/react-id";
17
17
  import { usePrevious } from "@huin-core/react-use-previous";
18
18
  import { useCallbackRef } from "@huin-core/react-use-callback-ref";
19
- import { jsx } from "react/jsx-runtime";
20
19
  var SUB_NAME = "NavigationMenuSub";
21
20
  var NavigationMenuSub = React.forwardRef((props, forwardedRef) => {
22
21
  const {
@@ -33,7 +32,7 @@ var NavigationMenuSub = React.forwardRef((props, forwardedRef) => {
33
32
  onChange: onValueChange,
34
33
  defaultProp: defaultValue
35
34
  });
36
- return /* @__PURE__ */ jsx(
35
+ return /* @__PURE__ */ React.createElement(
37
36
  NavigationMenuProvider,
38
37
  {
39
38
  scope: __scopeNavigationMenu,
@@ -44,16 +43,16 @@ var NavigationMenuSub = React.forwardRef((props, forwardedRef) => {
44
43
  rootNavigationMenu: context.rootNavigationMenu,
45
44
  onTriggerEnter: (itemValue) => setValue(itemValue),
46
45
  onItemSelect: (itemValue) => setValue(itemValue),
47
- onItemDismiss: () => setValue(""),
48
- children: /* @__PURE__ */ jsx(
49
- Primitive.div,
50
- {
51
- "data-orientation": orientation,
52
- ...subProps,
53
- ref: forwardedRef
54
- }
55
- )
56
- }
46
+ onItemDismiss: () => setValue("")
47
+ },
48
+ /* @__PURE__ */ React.createElement(
49
+ Primitive.div,
50
+ {
51
+ "data-orientation": orientation,
52
+ ...subProps,
53
+ ref: forwardedRef
54
+ }
55
+ )
57
56
  );
58
57
  });
59
58
  NavigationMenuSub.displayName = SUB_NAME;
@@ -76,7 +75,7 @@ var NavigationMenuProvider = (props) => {
76
75
  const [viewport, setViewport] = React.useState(null);
77
76
  const [viewportContent, setViewportContent] = React.useState(/* @__PURE__ */ new Map());
78
77
  const [indicatorTrack, setIndicatorTrack] = React.useState(null);
79
- return /* @__PURE__ */ jsx(
78
+ return /* @__PURE__ */ React.createElement(
80
79
  NavigationMenuProviderImpl,
81
80
  {
82
81
  scope,
@@ -112,9 +111,9 @@ var NavigationMenuProvider = (props) => {
112
111
  prevContent.delete(contentValue);
113
112
  return new Map(prevContent);
114
113
  });
115
- }, []),
116
- children: /* @__PURE__ */ jsx(Collection.Provider, { scope, children: /* @__PURE__ */ jsx(ViewportContentProvider, { scope, items: viewportContent, children }) })
117
- }
114
+ }, [])
115
+ },
116
+ /* @__PURE__ */ React.createElement(Collection.Provider, { scope }, /* @__PURE__ */ React.createElement(ViewportContentProvider, { scope, items: viewportContent }, children))
118
117
  );
119
118
  };
120
119
 
@@ -144,7 +143,6 @@ import { useCallbackRef as useCallbackRef2 } from "@huin-core/react-use-callback
144
143
  import { useLayoutEffect } from "@huin-core/react-use-layout-effect";
145
144
  import { composeRefs, useComposedRefs } from "@huin-core/react-compose-refs";
146
145
  import { composeEventHandlers } from "@huin-core/primitive";
147
- import { jsx as jsx2 } from "react/jsx-runtime";
148
146
  var VIEWPORT_NAME = "NavigationMenuViewport";
149
147
  var NavigationMenuViewport = React2.forwardRef((props, forwardedRef) => {
150
148
  const { forceMount, ...viewportProps } = props;
@@ -153,7 +151,7 @@ var NavigationMenuViewport = React2.forwardRef((props, forwardedRef) => {
153
151
  props.__scopeNavigationMenu
154
152
  );
155
153
  const open = Boolean(context.value);
156
- return /* @__PURE__ */ jsx2(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx2(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }) });
154
+ return /* @__PURE__ */ React2.createElement(Presence, { present: forceMount || open }, /* @__PURE__ */ React2.createElement(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }));
157
155
  });
158
156
  NavigationMenuViewport.displayName = VIEWPORT_NAME;
159
157
  var NavigationMenuViewportImpl = React2.forwardRef((props, forwardedRef) => {
@@ -178,7 +176,7 @@ var NavigationMenuViewportImpl = React2.forwardRef((props, forwardedRef) => {
178
176
  setSize({ width: content.offsetWidth, height: content.offsetHeight });
179
177
  };
180
178
  useResizeObserver(content, handleSizeChange);
181
- return /* @__PURE__ */ jsx2(
179
+ return /* @__PURE__ */ React2.createElement(
182
180
  Primitive2.div,
183
181
  {
184
182
  "data-state": getOpenState(open),
@@ -199,22 +197,22 @@ var NavigationMenuViewportImpl = React2.forwardRef((props, forwardedRef) => {
199
197
  onPointerLeave: composeEventHandlers(
200
198
  props.onPointerLeave,
201
199
  whenMouse(context.onContentLeave)
202
- ),
203
- children: Array.from(viewportContentContext.items).map(
204
- ([value, { ref, forceMount, ...props2 }]) => {
205
- const isActive = activeContentValue === value;
206
- return /* @__PURE__ */ jsx2(Presence, { present: forceMount || isActive, children: /* @__PURE__ */ jsx2(
207
- NavigationMenuContentImpl,
208
- {
209
- ...props2,
210
- ref: composeRefs(ref, (node) => {
211
- if (isActive && node) setContent(node);
212
- })
213
- }
214
- ) }, value);
215
- }
216
200
  )
217
- }
201
+ },
202
+ Array.from(viewportContentContext.items).map(
203
+ ([value, { ref, forceMount, ...props2 }]) => {
204
+ const isActive = activeContentValue === value;
205
+ return /* @__PURE__ */ React2.createElement(Presence, { key: value, present: forceMount || isActive }, /* @__PURE__ */ React2.createElement(
206
+ NavigationMenuContentImpl,
207
+ {
208
+ ...props2,
209
+ ref: composeRefs(ref, (node) => {
210
+ if (isActive && node) setContent(node);
211
+ })
212
+ }
213
+ ));
214
+ }
215
+ )
218
216
  );
219
217
  });
220
218
  function useResizeObserver(element, onResize) {
@@ -243,7 +241,6 @@ function whenMouse(handler) {
243
241
 
244
242
  // packages/react/navigation-menu/src/NavigationMenuContent.tsx
245
243
  import { Primitive as Primitive3 } from "@huin-core/react-primitive";
246
- import { jsx as jsx3 } from "react/jsx-runtime";
247
244
  var CONTENT_NAME = "NavigationMenuContent";
248
245
  var NavigationMenuContent = React3.forwardRef((props, forwardedRef) => {
249
246
  const { forceMount, ...contentProps } = props;
@@ -266,7 +263,7 @@ var NavigationMenuContent = React3.forwardRef((props, forwardedRef) => {
266
263
  onRootContentClose: itemContext.onRootContentClose,
267
264
  ...contentProps
268
265
  };
269
- return !context.viewport ? /* @__PURE__ */ jsx3(Presence2, { present: forceMount || open, children: /* @__PURE__ */ jsx3(
266
+ return !context.viewport ? /* @__PURE__ */ React3.createElement(Presence2, { present: forceMount || open }, /* @__PURE__ */ React3.createElement(
270
267
  NavigationMenuContentImpl,
271
268
  {
272
269
  "data-state": getOpenState(open),
@@ -286,7 +283,7 @@ var NavigationMenuContent = React3.forwardRef((props, forwardedRef) => {
286
283
  ...commonProps.style
287
284
  }
288
285
  }
289
- ) }) : /* @__PURE__ */ jsx3(
286
+ )) : /* @__PURE__ */ React3.createElement(
290
287
  ViewportContentMounter,
291
288
  {
292
289
  forceMount,
@@ -373,7 +370,7 @@ var NavigationMenuContentImpl = React3.forwardRef((props, forwardedRef) => {
373
370
  prevMotionAttributeRef.current = attribute;
374
371
  return attribute;
375
372
  }, [context.previousValue, context.value, context.dir, getItems, value]);
376
- return /* @__PURE__ */ jsx3(FocusGroup, { asChild: true, children: /* @__PURE__ */ jsx3(
373
+ return /* @__PURE__ */ React3.createElement(FocusGroup, { asChild: true }, /* @__PURE__ */ React3.createElement(
377
374
  DismissableLayer,
378
375
  {
379
376
  id: contentId,
@@ -433,7 +430,7 @@ var NavigationMenuContentImpl = React3.forwardRef((props, forwardedRef) => {
433
430
  }
434
431
  )
435
432
  }
436
- ) });
433
+ ));
437
434
  });
438
435
  var FOCUS_GROUP_NAME = "FocusGroup";
439
436
  var FocusGroup = React3.forwardRef(
@@ -443,7 +440,7 @@ var FocusGroup = React3.forwardRef(
443
440
  FOCUS_GROUP_NAME,
444
441
  __scopeNavigationMenu
445
442
  );
446
- return /* @__PURE__ */ jsx3(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx3(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx3(Primitive3.div, { dir: context.dir, ...groupProps, ref: forwardedRef }) }) });
443
+ return /* @__PURE__ */ React3.createElement(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu }, /* @__PURE__ */ React3.createElement(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu }, /* @__PURE__ */ React3.createElement(Primitive3.div, { dir: context.dir, ...groupProps, ref: forwardedRef })));
447
444
  }
448
445
  );
449
446
  function makeTriggerId(baseId, value) {
@@ -454,12 +451,11 @@ function makeContentId(baseId, value) {
454
451
  }
455
452
 
456
453
  // packages/react/navigation-menu/src/NavigationMenuLink.tsx
457
- import { jsx as jsx4 } from "react/jsx-runtime";
458
454
  var LINK_NAME = "NavigationMenuLink";
459
455
  var LINK_SELECT = "navigationMenu.linkSelect";
460
456
  var NavigationMenuLink = React4.forwardRef((props, forwardedRef) => {
461
457
  const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;
462
- return /* @__PURE__ */ jsx4(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx4(
458
+ return /* @__PURE__ */ React4.createElement(FocusGroupItem, { asChild: true }, /* @__PURE__ */ React4.createElement(
463
459
  Primitive4.a,
464
460
  {
465
461
  "data-active": active ? "" : void 0,
@@ -492,7 +488,7 @@ var NavigationMenuLink = React4.forwardRef((props, forwardedRef) => {
492
488
  { checkForDefaultPrevented: false }
493
489
  )
494
490
  }
495
- ) });
491
+ ));
496
492
  });
497
493
  NavigationMenuLink.displayName = LINK_NAME;
498
494
  var ARROW_KEYS = ["ArrowRight", "ArrowLeft", "ArrowUp", "ArrowDown"];
@@ -504,7 +500,7 @@ var FocusGroupItem = React4.forwardRef((props, forwardedRef) => {
504
500
  FOCUS_GROUP_ITEM_NAME,
505
501
  __scopeNavigationMenu
506
502
  );
507
- return /* @__PURE__ */ jsx4(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx4(
503
+ return /* @__PURE__ */ React4.createElement(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu }, /* @__PURE__ */ React4.createElement(
508
504
  Primitive4.button,
509
505
  {
510
506
  ...groupProps,
@@ -527,7 +523,7 @@ var FocusGroupItem = React4.forwardRef((props, forwardedRef) => {
527
523
  }
528
524
  })
529
525
  }
530
- ) });
526
+ ));
531
527
  });
532
528
  function focusFirst(candidates) {
533
529
  const previouslyFocusedElement = document.activeElement;
@@ -539,7 +535,6 @@ function focusFirst(candidates) {
539
535
  }
540
536
 
541
537
  // packages/react/navigation-menu/src/NavigationMenuItem.tsx
542
- import { jsx as jsx5 } from "react/jsx-runtime";
543
538
  var ITEM_NAME = "NavigationMenuItem";
544
539
  var NavigationMenuItem = React5.forwardRef((props, forwardedRef) => {
545
540
  const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;
@@ -566,7 +561,7 @@ var NavigationMenuItem = React5.forwardRef((props, forwardedRef) => {
566
561
  restoreContentTabOrderRef.current = removeFromTabOrder(candidates);
567
562
  }
568
563
  }, []);
569
- return /* @__PURE__ */ jsx5(
564
+ return /* @__PURE__ */ React5.createElement(
570
565
  NavigationMenuItemContextProvider,
571
566
  {
572
567
  scope: __scopeNavigationMenu,
@@ -578,9 +573,9 @@ var NavigationMenuItem = React5.forwardRef((props, forwardedRef) => {
578
573
  onEntryKeyDown: handleContentEntry,
579
574
  onFocusProxyEnter: handleContentEntry,
580
575
  onRootContentClose: handleContentExit,
581
- onContentFocusOutside: handleContentExit,
582
- children: /* @__PURE__ */ jsx5(Primitive5.li, { ...itemProps, ref: forwardedRef })
583
- }
576
+ onContentFocusOutside: handleContentExit
577
+ },
578
+ /* @__PURE__ */ React5.createElement(Primitive5.li, { ...itemProps, ref: forwardedRef })
584
579
  );
585
580
  });
586
581
  NavigationMenuItem.displayName = ITEM_NAME;
@@ -615,7 +610,6 @@ function removeFromTabOrder(candidates) {
615
610
  }
616
611
 
617
612
  // packages/react/navigation-menu/src/NavigationMenu.tsx
618
- import { jsx as jsx6 } from "react/jsx-runtime";
619
613
  var NAVIGATION_MENU_NAME = "NavigationMenu";
620
614
  var [Collection, useCollection, createCollectionScope] = createCollection(
621
615
  NAVIGATION_MENU_NAME
@@ -705,7 +699,7 @@ var NavigationMenu = React6.forwardRef((props, forwardedRef) => {
705
699
  window.clearTimeout(skipDelayTimerRef.current);
706
700
  };
707
701
  }, []);
708
- return /* @__PURE__ */ jsx6(
702
+ return /* @__PURE__ */ React6.createElement(
709
703
  NavigationMenuProvider,
710
704
  {
711
705
  scope: __scopeNavigationMenu,
@@ -728,18 +722,18 @@ var NavigationMenu = React6.forwardRef((props, forwardedRef) => {
728
722
  onItemSelect: (itemValue) => {
729
723
  setValue((prevValue) => prevValue === itemValue ? "" : itemValue);
730
724
  },
731
- onItemDismiss: () => setValue(""),
732
- children: /* @__PURE__ */ jsx6(
733
- Primitive6.nav,
734
- {
735
- "aria-label": "Main",
736
- "data-orientation": orientation,
737
- dir: direction,
738
- ...NavigationMenuProps,
739
- ref: composedRef
740
- }
741
- )
742
- }
725
+ onItemDismiss: () => setValue("")
726
+ },
727
+ /* @__PURE__ */ React6.createElement(
728
+ Primitive6.nav,
729
+ {
730
+ "aria-label": "Main",
731
+ "data-orientation": orientation,
732
+ dir: direction,
733
+ ...NavigationMenuProps,
734
+ ref: composedRef
735
+ }
736
+ )
743
737
  );
744
738
  });
745
739
  NavigationMenu.displayName = NAVIGATION_MENU_NAME;
@@ -748,12 +742,11 @@ var Root = NavigationMenu;
748
742
  // packages/react/navigation-menu/src/NavigationMenuList.tsx
749
743
  import React7 from "react";
750
744
  import { Primitive as Primitive7 } from "@huin-core/react-primitive";
751
- import { jsx as jsx7 } from "react/jsx-runtime";
752
745
  var LIST_NAME = "NavigationMenuList";
753
746
  var NavigationMenuList = React7.forwardRef((props, forwardedRef) => {
754
747
  const { __scopeNavigationMenu, ...listProps } = props;
755
748
  const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);
756
- const list = /* @__PURE__ */ jsx7(
749
+ const list = /* @__PURE__ */ React7.createElement(
757
750
  Primitive7.ul,
758
751
  {
759
752
  "data-orientation": context.orientation,
@@ -761,13 +754,13 @@ var NavigationMenuList = React7.forwardRef((props, forwardedRef) => {
761
754
  ref: forwardedRef
762
755
  }
763
756
  );
764
- return /* @__PURE__ */ jsx7(
757
+ return /* @__PURE__ */ React7.createElement(
765
758
  Primitive7.div,
766
759
  {
767
760
  style: { position: "relative" },
768
- ref: context.onIndicatorTrackChange,
769
- children: /* @__PURE__ */ jsx7(Collection.Slot, { scope: __scopeNavigationMenu, children: context.isRootMenu ? /* @__PURE__ */ jsx7(FocusGroup, { asChild: true, children: list }) : list })
770
- }
761
+ ref: context.onIndicatorTrackChange
762
+ },
763
+ /* @__PURE__ */ React7.createElement(Collection.Slot, { scope: __scopeNavigationMenu }, context.isRootMenu ? /* @__PURE__ */ React7.createElement(FocusGroup, { asChild: true }, list) : list)
771
764
  );
772
765
  });
773
766
  NavigationMenuList.displayName = LIST_NAME;
@@ -778,7 +771,6 @@ import { Primitive as Primitive8 } from "@huin-core/react-primitive";
778
771
  import { useComposedRefs as useComposedRefs4 } from "@huin-core/react-compose-refs";
779
772
  import { composeEventHandlers as composeEventHandlers4 } from "@huin-core/primitive";
780
773
  import * as VisuallyHiddenPrimitive from "@huin-core/react-visually-hidden";
781
- import { Fragment, jsx as jsx8, jsxs } from "react/jsx-runtime";
782
774
  var TRIGGER_NAME = "NavigationMenuTrigger";
783
775
  var NavigationMenuTrigger = React8.forwardRef((props, forwardedRef) => {
784
776
  const { __scopeNavigationMenu, disabled, ...triggerProps } = props;
@@ -801,86 +793,80 @@ var NavigationMenuTrigger = React8.forwardRef((props, forwardedRef) => {
801
793
  const hasPointerMoveOpenedRef = React8.useRef(false);
802
794
  const wasClickCloseRef = React8.useRef(false);
803
795
  const open = itemContext.value === context.value;
804
- return /* @__PURE__ */ jsxs(Fragment, { children: [
805
- /* @__PURE__ */ jsx8(
806
- Collection.ItemSlot,
796
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(
797
+ Collection.ItemSlot,
798
+ {
799
+ scope: __scopeNavigationMenu,
800
+ value: itemContext.value
801
+ },
802
+ /* @__PURE__ */ React8.createElement(FocusGroupItem, { asChild: true }, /* @__PURE__ */ React8.createElement(
803
+ Primitive8.button,
807
804
  {
808
- scope: __scopeNavigationMenu,
809
- value: itemContext.value,
810
- children: /* @__PURE__ */ jsx8(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx8(
811
- Primitive8.button,
812
- {
813
- id: triggerId,
814
- disabled,
815
- "data-disabled": disabled ? "" : void 0,
816
- "data-state": getOpenState(open),
817
- "aria-expanded": open,
818
- "aria-controls": contentId,
819
- ...triggerProps,
820
- ref: composedRefs,
821
- onPointerEnter: composeEventHandlers4(props.onPointerEnter, () => {
822
- wasClickCloseRef.current = false;
823
- itemContext.wasEscapeCloseRef.current = false;
824
- }),
825
- onPointerMove: composeEventHandlers4(
826
- props.onPointerMove,
827
- whenMouse(() => {
828
- if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)
829
- return;
830
- context.onTriggerEnter(itemContext.value);
831
- hasPointerMoveOpenedRef.current = true;
832
- })
833
- ),
834
- onPointerLeave: composeEventHandlers4(
835
- props.onPointerLeave,
836
- whenMouse(() => {
837
- if (disabled) return;
838
- context.onTriggerLeave();
839
- hasPointerMoveOpenedRef.current = false;
840
- })
841
- ),
842
- onClick: composeEventHandlers4(props.onClick, () => {
843
- context.onItemSelect(itemContext.value);
844
- wasClickCloseRef.current = open;
845
- }),
846
- onKeyDown: composeEventHandlers4(props.onKeyDown, (event) => {
847
- const verticalEntryKey = context.dir === "rtl" ? "ArrowLeft" : "ArrowRight";
848
- const entryKey = {
849
- horizontal: "ArrowDown",
850
- vertical: verticalEntryKey
851
- }[context.orientation];
852
- if (open && event.key === entryKey) {
853
- itemContext.onEntryKeyDown();
854
- event.preventDefault();
855
- }
856
- })
805
+ id: triggerId,
806
+ disabled,
807
+ "data-disabled": disabled ? "" : void 0,
808
+ "data-state": getOpenState(open),
809
+ "aria-expanded": open,
810
+ "aria-controls": contentId,
811
+ ...triggerProps,
812
+ ref: composedRefs,
813
+ onPointerEnter: composeEventHandlers4(props.onPointerEnter, () => {
814
+ wasClickCloseRef.current = false;
815
+ itemContext.wasEscapeCloseRef.current = false;
816
+ }),
817
+ onPointerMove: composeEventHandlers4(
818
+ props.onPointerMove,
819
+ whenMouse(() => {
820
+ if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)
821
+ return;
822
+ context.onTriggerEnter(itemContext.value);
823
+ hasPointerMoveOpenedRef.current = true;
824
+ })
825
+ ),
826
+ onPointerLeave: composeEventHandlers4(
827
+ props.onPointerLeave,
828
+ whenMouse(() => {
829
+ if (disabled) return;
830
+ context.onTriggerLeave();
831
+ hasPointerMoveOpenedRef.current = false;
832
+ })
833
+ ),
834
+ onClick: composeEventHandlers4(props.onClick, () => {
835
+ context.onItemSelect(itemContext.value);
836
+ wasClickCloseRef.current = open;
837
+ }),
838
+ onKeyDown: composeEventHandlers4(props.onKeyDown, (event) => {
839
+ const verticalEntryKey = context.dir === "rtl" ? "ArrowLeft" : "ArrowRight";
840
+ const entryKey = {
841
+ horizontal: "ArrowDown",
842
+ vertical: verticalEntryKey
843
+ }[context.orientation];
844
+ if (open && event.key === entryKey) {
845
+ itemContext.onEntryKeyDown();
846
+ event.preventDefault();
857
847
  }
858
- ) })
848
+ })
859
849
  }
860
- ),
861
- open && /* @__PURE__ */ jsxs(Fragment, { children: [
862
- /* @__PURE__ */ jsx8(
863
- VisuallyHiddenPrimitive.Root,
864
- {
865
- "aria-hidden": true,
866
- tabIndex: 0,
867
- ref: itemContext.focusProxyRef,
868
- onFocus: (event) => {
869
- const content = itemContext.contentRef.current;
870
- const prevFocusedElement = event.relatedTarget;
871
- const wasTriggerFocused = prevFocusedElement === ref.current;
872
- const wasFocusFromContent = content?.contains(prevFocusedElement);
873
- if (wasTriggerFocused || !wasFocusFromContent) {
874
- itemContext.onFocusProxyEnter(
875
- wasTriggerFocused ? "start" : "end"
876
- );
877
- }
878
- }
850
+ ))
851
+ ), open && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(
852
+ VisuallyHiddenPrimitive.Root,
853
+ {
854
+ "aria-hidden": true,
855
+ tabIndex: 0,
856
+ ref: itemContext.focusProxyRef,
857
+ onFocus: (event) => {
858
+ const content = itemContext.contentRef.current;
859
+ const prevFocusedElement = event.relatedTarget;
860
+ const wasTriggerFocused = prevFocusedElement === ref.current;
861
+ const wasFocusFromContent = content?.contains(prevFocusedElement);
862
+ if (wasTriggerFocused || !wasFocusFromContent) {
863
+ itemContext.onFocusProxyEnter(
864
+ wasTriggerFocused ? "start" : "end"
865
+ );
879
866
  }
880
- ),
881
- context.viewport && /* @__PURE__ */ jsx8("span", { "aria-owns": contentId })
882
- ] })
883
- ] });
867
+ }
868
+ }
869
+ ), context.viewport && /* @__PURE__ */ React8.createElement("span", { "aria-owns": contentId })));
884
870
  });
885
871
  NavigationMenuTrigger.displayName = TRIGGER_NAME;
886
872
 
@@ -889,7 +875,6 @@ import React9 from "react";
889
875
  import { Presence as Presence3 } from "@huin-core/react-presence";
890
876
  import ReactDOM from "react-dom";
891
877
  import { Primitive as Primitive9 } from "@huin-core/react-primitive";
892
- import { jsx as jsx9 } from "react/jsx-runtime";
893
878
  var INDICATOR_NAME = "NavigationMenuIndicator";
894
879
  var NavigationMenuIndicator = React9.forwardRef((props, forwardedRef) => {
895
880
  const { forceMount, ...indicatorProps } = props;
@@ -899,7 +884,7 @@ var NavigationMenuIndicator = React9.forwardRef((props, forwardedRef) => {
899
884
  );
900
885
  const isVisible = Boolean(context.value);
901
886
  return context.indicatorTrack ? ReactDOM.createPortal(
902
- /* @__PURE__ */ jsx9(Presence3, { present: forceMount || isVisible, children: /* @__PURE__ */ jsx9(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef }) }),
887
+ /* @__PURE__ */ React9.createElement(Presence3, { present: forceMount || isVisible }, /* @__PURE__ */ React9.createElement(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef })),
903
888
  context.indicatorTrack
904
889
  ) : null;
905
890
  });
@@ -930,7 +915,7 @@ var NavigationMenuIndicatorImpl = React9.forwardRef((props, forwardedRef) => {
930
915
  };
931
916
  useResizeObserver(activeTrigger, handlePositionChange);
932
917
  useResizeObserver(context.indicatorTrack, handlePositionChange);
933
- return position ? /* @__PURE__ */ jsx9(
918
+ return position ? /* @__PURE__ */ React9.createElement(
934
919
  Primitive9.div,
935
920
  {
936
921
  "aria-hidden": true,