@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.js CHANGED
@@ -61,7 +61,6 @@ var import_react_use_controllable_state = require("@huin-core/react-use-controll
61
61
  var import_react_id = require("@huin-core/react-id");
62
62
  var import_react_use_previous = require("@huin-core/react-use-previous");
63
63
  var import_react_use_callback_ref = require("@huin-core/react-use-callback-ref");
64
- var import_jsx_runtime = require("react/jsx-runtime");
65
64
  var SUB_NAME = "NavigationMenuSub";
66
65
  var NavigationMenuSub = import_react.default.forwardRef((props, forwardedRef) => {
67
66
  const {
@@ -78,7 +77,7 @@ var NavigationMenuSub = import_react.default.forwardRef((props, forwardedRef) =>
78
77
  onChange: onValueChange,
79
78
  defaultProp: defaultValue
80
79
  });
81
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
80
+ return /* @__PURE__ */ import_react.default.createElement(
82
81
  NavigationMenuProvider,
83
82
  {
84
83
  scope: __scopeNavigationMenu,
@@ -89,16 +88,16 @@ var NavigationMenuSub = import_react.default.forwardRef((props, forwardedRef) =>
89
88
  rootNavigationMenu: context.rootNavigationMenu,
90
89
  onTriggerEnter: (itemValue) => setValue(itemValue),
91
90
  onItemSelect: (itemValue) => setValue(itemValue),
92
- onItemDismiss: () => setValue(""),
93
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
- import_react_primitive.Primitive.div,
95
- {
96
- "data-orientation": orientation,
97
- ...subProps,
98
- ref: forwardedRef
99
- }
100
- )
101
- }
91
+ onItemDismiss: () => setValue("")
92
+ },
93
+ /* @__PURE__ */ import_react.default.createElement(
94
+ import_react_primitive.Primitive.div,
95
+ {
96
+ "data-orientation": orientation,
97
+ ...subProps,
98
+ ref: forwardedRef
99
+ }
100
+ )
102
101
  );
103
102
  });
104
103
  NavigationMenuSub.displayName = SUB_NAME;
@@ -121,7 +120,7 @@ var NavigationMenuProvider = (props) => {
121
120
  const [viewport, setViewport] = import_react.default.useState(null);
122
121
  const [viewportContent, setViewportContent] = import_react.default.useState(/* @__PURE__ */ new Map());
123
122
  const [indicatorTrack, setIndicatorTrack] = import_react.default.useState(null);
124
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
123
+ return /* @__PURE__ */ import_react.default.createElement(
125
124
  NavigationMenuProviderImpl,
126
125
  {
127
126
  scope,
@@ -157,9 +156,9 @@ var NavigationMenuProvider = (props) => {
157
156
  prevContent.delete(contentValue);
158
157
  return new Map(prevContent);
159
158
  });
160
- }, []),
161
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ViewportContentProvider, { scope, items: viewportContent, children }) })
162
- }
159
+ }, [])
160
+ },
161
+ /* @__PURE__ */ import_react.default.createElement(Collection.Provider, { scope }, /* @__PURE__ */ import_react.default.createElement(ViewportContentProvider, { scope, items: viewportContent }, children))
163
162
  );
164
163
  };
165
164
 
@@ -189,7 +188,6 @@ var import_react_use_callback_ref2 = require("@huin-core/react-use-callback-ref"
189
188
  var import_react_use_layout_effect = require("@huin-core/react-use-layout-effect");
190
189
  var import_react_compose_refs = require("@huin-core/react-compose-refs");
191
190
  var import_primitive = require("@huin-core/primitive");
192
- var import_jsx_runtime2 = require("react/jsx-runtime");
193
191
  var VIEWPORT_NAME = "NavigationMenuViewport";
194
192
  var NavigationMenuViewport = import_react2.default.forwardRef((props, forwardedRef) => {
195
193
  const { forceMount, ...viewportProps } = props;
@@ -198,7 +196,7 @@ var NavigationMenuViewport = import_react2.default.forwardRef((props, forwardedR
198
196
  props.__scopeNavigationMenu
199
197
  );
200
198
  const open = Boolean(context.value);
201
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_presence.Presence, { present: forceMount || open, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }) });
199
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_presence.Presence, { present: forceMount || open }, /* @__PURE__ */ import_react2.default.createElement(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }));
202
200
  });
203
201
  NavigationMenuViewport.displayName = VIEWPORT_NAME;
204
202
  var NavigationMenuViewportImpl = import_react2.default.forwardRef((props, forwardedRef) => {
@@ -223,7 +221,7 @@ var NavigationMenuViewportImpl = import_react2.default.forwardRef((props, forwar
223
221
  setSize({ width: content.offsetWidth, height: content.offsetHeight });
224
222
  };
225
223
  useResizeObserver(content, handleSizeChange);
226
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
224
+ return /* @__PURE__ */ import_react2.default.createElement(
227
225
  import_react_primitive2.Primitive.div,
228
226
  {
229
227
  "data-state": getOpenState(open),
@@ -244,22 +242,22 @@ var NavigationMenuViewportImpl = import_react2.default.forwardRef((props, forwar
244
242
  onPointerLeave: (0, import_primitive.composeEventHandlers)(
245
243
  props.onPointerLeave,
246
244
  whenMouse(context.onContentLeave)
247
- ),
248
- children: Array.from(viewportContentContext.items).map(
249
- ([value, { ref, forceMount, ...props2 }]) => {
250
- const isActive = activeContentValue === value;
251
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_presence.Presence, { present: forceMount || isActive, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
252
- NavigationMenuContentImpl,
253
- {
254
- ...props2,
255
- ref: (0, import_react_compose_refs.composeRefs)(ref, (node) => {
256
- if (isActive && node) setContent(node);
257
- })
258
- }
259
- ) }, value);
260
- }
261
245
  )
262
- }
246
+ },
247
+ Array.from(viewportContentContext.items).map(
248
+ ([value, { ref, forceMount, ...props2 }]) => {
249
+ const isActive = activeContentValue === value;
250
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_presence.Presence, { key: value, present: forceMount || isActive }, /* @__PURE__ */ import_react2.default.createElement(
251
+ NavigationMenuContentImpl,
252
+ {
253
+ ...props2,
254
+ ref: (0, import_react_compose_refs.composeRefs)(ref, (node) => {
255
+ if (isActive && node) setContent(node);
256
+ })
257
+ }
258
+ ));
259
+ }
260
+ )
263
261
  );
264
262
  });
265
263
  function useResizeObserver(element, onResize) {
@@ -288,7 +286,6 @@ function whenMouse(handler) {
288
286
 
289
287
  // packages/react/navigation-menu/src/NavigationMenuContent.tsx
290
288
  var import_react_primitive3 = require("@huin-core/react-primitive");
291
- var import_jsx_runtime3 = require("react/jsx-runtime");
292
289
  var CONTENT_NAME = "NavigationMenuContent";
293
290
  var NavigationMenuContent = import_react3.default.forwardRef((props, forwardedRef) => {
294
291
  const { forceMount, ...contentProps } = props;
@@ -311,7 +308,7 @@ var NavigationMenuContent = import_react3.default.forwardRef((props, forwardedRe
311
308
  onRootContentClose: itemContext.onRootContentClose,
312
309
  ...contentProps
313
310
  };
314
- return !context.viewport ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_presence2.Presence, { present: forceMount || open, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
311
+ return !context.viewport ? /* @__PURE__ */ import_react3.default.createElement(import_react_presence2.Presence, { present: forceMount || open }, /* @__PURE__ */ import_react3.default.createElement(
315
312
  NavigationMenuContentImpl,
316
313
  {
317
314
  "data-state": getOpenState(open),
@@ -331,7 +328,7 @@ var NavigationMenuContent = import_react3.default.forwardRef((props, forwardedRe
331
328
  ...commonProps.style
332
329
  }
333
330
  }
334
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
331
+ )) : /* @__PURE__ */ import_react3.default.createElement(
335
332
  ViewportContentMounter,
336
333
  {
337
334
  forceMount,
@@ -418,7 +415,7 @@ var NavigationMenuContentImpl = import_react3.default.forwardRef((props, forward
418
415
  prevMotionAttributeRef.current = attribute;
419
416
  return attribute;
420
417
  }, [context.previousValue, context.value, context.dir, getItems, value]);
421
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGroup, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
418
+ return /* @__PURE__ */ import_react3.default.createElement(FocusGroup, { asChild: true }, /* @__PURE__ */ import_react3.default.createElement(
422
419
  import_react_dismissable_layer.DismissableLayer,
423
420
  {
424
421
  id: contentId,
@@ -478,7 +475,7 @@ var NavigationMenuContentImpl = import_react3.default.forwardRef((props, forward
478
475
  }
479
476
  )
480
477
  }
481
- ) });
478
+ ));
482
479
  });
483
480
  var FOCUS_GROUP_NAME = "FocusGroup";
484
481
  var FocusGroup = import_react3.default.forwardRef(
@@ -488,7 +485,7 @@ var FocusGroup = import_react3.default.forwardRef(
488
485
  FOCUS_GROUP_NAME,
489
486
  __scopeNavigationMenu
490
487
  );
491
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_primitive3.Primitive.div, { dir: context.dir, ...groupProps, ref: forwardedRef }) }) });
488
+ return /* @__PURE__ */ import_react3.default.createElement(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu }, /* @__PURE__ */ import_react3.default.createElement(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu }, /* @__PURE__ */ import_react3.default.createElement(import_react_primitive3.Primitive.div, { dir: context.dir, ...groupProps, ref: forwardedRef })));
492
489
  }
493
490
  );
494
491
  function makeTriggerId(baseId, value) {
@@ -499,12 +496,11 @@ function makeContentId(baseId, value) {
499
496
  }
500
497
 
501
498
  // packages/react/navigation-menu/src/NavigationMenuLink.tsx
502
- var import_jsx_runtime4 = require("react/jsx-runtime");
503
499
  var LINK_NAME = "NavigationMenuLink";
504
500
  var LINK_SELECT = "navigationMenu.linkSelect";
505
501
  var NavigationMenuLink = import_react4.default.forwardRef((props, forwardedRef) => {
506
502
  const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;
507
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
503
+ return /* @__PURE__ */ import_react4.default.createElement(FocusGroupItem, { asChild: true }, /* @__PURE__ */ import_react4.default.createElement(
508
504
  import_react_primitive4.Primitive.a,
509
505
  {
510
506
  "data-active": active ? "" : void 0,
@@ -537,7 +533,7 @@ var NavigationMenuLink = import_react4.default.forwardRef((props, forwardedRef)
537
533
  { checkForDefaultPrevented: false }
538
534
  )
539
535
  }
540
- ) });
536
+ ));
541
537
  });
542
538
  NavigationMenuLink.displayName = LINK_NAME;
543
539
  var ARROW_KEYS = ["ArrowRight", "ArrowLeft", "ArrowUp", "ArrowDown"];
@@ -549,7 +545,7 @@ var FocusGroupItem = import_react4.default.forwardRef((props, forwardedRef) => {
549
545
  FOCUS_GROUP_ITEM_NAME,
550
546
  __scopeNavigationMenu
551
547
  );
552
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
548
+ return /* @__PURE__ */ import_react4.default.createElement(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu }, /* @__PURE__ */ import_react4.default.createElement(
553
549
  import_react_primitive4.Primitive.button,
554
550
  {
555
551
  ...groupProps,
@@ -572,7 +568,7 @@ var FocusGroupItem = import_react4.default.forwardRef((props, forwardedRef) => {
572
568
  }
573
569
  })
574
570
  }
575
- ) });
571
+ ));
576
572
  });
577
573
  function focusFirst(candidates) {
578
574
  const previouslyFocusedElement = document.activeElement;
@@ -584,7 +580,6 @@ function focusFirst(candidates) {
584
580
  }
585
581
 
586
582
  // packages/react/navigation-menu/src/NavigationMenuItem.tsx
587
- var import_jsx_runtime5 = require("react/jsx-runtime");
588
583
  var ITEM_NAME = "NavigationMenuItem";
589
584
  var NavigationMenuItem = import_react5.default.forwardRef((props, forwardedRef) => {
590
585
  const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;
@@ -611,7 +606,7 @@ var NavigationMenuItem = import_react5.default.forwardRef((props, forwardedRef)
611
606
  restoreContentTabOrderRef.current = removeFromTabOrder(candidates);
612
607
  }
613
608
  }, []);
614
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
609
+ return /* @__PURE__ */ import_react5.default.createElement(
615
610
  NavigationMenuItemContextProvider,
616
611
  {
617
612
  scope: __scopeNavigationMenu,
@@ -623,9 +618,9 @@ var NavigationMenuItem = import_react5.default.forwardRef((props, forwardedRef)
623
618
  onEntryKeyDown: handleContentEntry,
624
619
  onFocusProxyEnter: handleContentEntry,
625
620
  onRootContentClose: handleContentExit,
626
- onContentFocusOutside: handleContentExit,
627
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_primitive5.Primitive.li, { ...itemProps, ref: forwardedRef })
628
- }
621
+ onContentFocusOutside: handleContentExit
622
+ },
623
+ /* @__PURE__ */ import_react5.default.createElement(import_react_primitive5.Primitive.li, { ...itemProps, ref: forwardedRef })
629
624
  );
630
625
  });
631
626
  NavigationMenuItem.displayName = ITEM_NAME;
@@ -660,7 +655,6 @@ function removeFromTabOrder(candidates) {
660
655
  }
661
656
 
662
657
  // packages/react/navigation-menu/src/NavigationMenu.tsx
663
- var import_jsx_runtime6 = require("react/jsx-runtime");
664
658
  var NAVIGATION_MENU_NAME = "NavigationMenu";
665
659
  var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(
666
660
  NAVIGATION_MENU_NAME
@@ -750,7 +744,7 @@ var NavigationMenu = React6.forwardRef((props, forwardedRef) => {
750
744
  window.clearTimeout(skipDelayTimerRef.current);
751
745
  };
752
746
  }, []);
753
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
747
+ return /* @__PURE__ */ React6.createElement(
754
748
  NavigationMenuProvider,
755
749
  {
756
750
  scope: __scopeNavigationMenu,
@@ -773,18 +767,18 @@ var NavigationMenu = React6.forwardRef((props, forwardedRef) => {
773
767
  onItemSelect: (itemValue) => {
774
768
  setValue((prevValue) => prevValue === itemValue ? "" : itemValue);
775
769
  },
776
- onItemDismiss: () => setValue(""),
777
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
778
- import_react_primitive6.Primitive.nav,
779
- {
780
- "aria-label": "Main",
781
- "data-orientation": orientation,
782
- dir: direction,
783
- ...NavigationMenuProps,
784
- ref: composedRef
785
- }
786
- )
787
- }
770
+ onItemDismiss: () => setValue("")
771
+ },
772
+ /* @__PURE__ */ React6.createElement(
773
+ import_react_primitive6.Primitive.nav,
774
+ {
775
+ "aria-label": "Main",
776
+ "data-orientation": orientation,
777
+ dir: direction,
778
+ ...NavigationMenuProps,
779
+ ref: composedRef
780
+ }
781
+ )
788
782
  );
789
783
  });
790
784
  NavigationMenu.displayName = NAVIGATION_MENU_NAME;
@@ -793,12 +787,11 @@ var Root = NavigationMenu;
793
787
  // packages/react/navigation-menu/src/NavigationMenuList.tsx
794
788
  var import_react6 = __toESM(require("react"));
795
789
  var import_react_primitive7 = require("@huin-core/react-primitive");
796
- var import_jsx_runtime7 = require("react/jsx-runtime");
797
790
  var LIST_NAME = "NavigationMenuList";
798
791
  var NavigationMenuList = import_react6.default.forwardRef((props, forwardedRef) => {
799
792
  const { __scopeNavigationMenu, ...listProps } = props;
800
793
  const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);
801
- const list = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
794
+ const list = /* @__PURE__ */ import_react6.default.createElement(
802
795
  import_react_primitive7.Primitive.ul,
803
796
  {
804
797
  "data-orientation": context.orientation,
@@ -806,13 +799,13 @@ var NavigationMenuList = import_react6.default.forwardRef((props, forwardedRef)
806
799
  ref: forwardedRef
807
800
  }
808
801
  );
809
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
802
+ return /* @__PURE__ */ import_react6.default.createElement(
810
803
  import_react_primitive7.Primitive.div,
811
804
  {
812
805
  style: { position: "relative" },
813
- ref: context.onIndicatorTrackChange,
814
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Collection.Slot, { scope: __scopeNavigationMenu, children: context.isRootMenu ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FocusGroup, { asChild: true, children: list }) : list })
815
- }
806
+ ref: context.onIndicatorTrackChange
807
+ },
808
+ /* @__PURE__ */ import_react6.default.createElement(Collection.Slot, { scope: __scopeNavigationMenu }, context.isRootMenu ? /* @__PURE__ */ import_react6.default.createElement(FocusGroup, { asChild: true }, list) : list)
816
809
  );
817
810
  });
818
811
  NavigationMenuList.displayName = LIST_NAME;
@@ -823,7 +816,6 @@ var import_react_primitive8 = require("@huin-core/react-primitive");
823
816
  var import_react_compose_refs4 = require("@huin-core/react-compose-refs");
824
817
  var import_primitive4 = require("@huin-core/primitive");
825
818
  var VisuallyHiddenPrimitive = __toESM(require("@huin-core/react-visually-hidden"));
826
- var import_jsx_runtime8 = require("react/jsx-runtime");
827
819
  var TRIGGER_NAME = "NavigationMenuTrigger";
828
820
  var NavigationMenuTrigger = import_react7.default.forwardRef((props, forwardedRef) => {
829
821
  const { __scopeNavigationMenu, disabled, ...triggerProps } = props;
@@ -846,86 +838,80 @@ var NavigationMenuTrigger = import_react7.default.forwardRef((props, forwardedRe
846
838
  const hasPointerMoveOpenedRef = import_react7.default.useRef(false);
847
839
  const wasClickCloseRef = import_react7.default.useRef(false);
848
840
  const open = itemContext.value === context.value;
849
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
850
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
851
- Collection.ItemSlot,
841
+ return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
842
+ Collection.ItemSlot,
843
+ {
844
+ scope: __scopeNavigationMenu,
845
+ value: itemContext.value
846
+ },
847
+ /* @__PURE__ */ import_react7.default.createElement(FocusGroupItem, { asChild: true }, /* @__PURE__ */ import_react7.default.createElement(
848
+ import_react_primitive8.Primitive.button,
852
849
  {
853
- scope: __scopeNavigationMenu,
854
- value: itemContext.value,
855
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
856
- import_react_primitive8.Primitive.button,
857
- {
858
- id: triggerId,
859
- disabled,
860
- "data-disabled": disabled ? "" : void 0,
861
- "data-state": getOpenState(open),
862
- "aria-expanded": open,
863
- "aria-controls": contentId,
864
- ...triggerProps,
865
- ref: composedRefs,
866
- onPointerEnter: (0, import_primitive4.composeEventHandlers)(props.onPointerEnter, () => {
867
- wasClickCloseRef.current = false;
868
- itemContext.wasEscapeCloseRef.current = false;
869
- }),
870
- onPointerMove: (0, import_primitive4.composeEventHandlers)(
871
- props.onPointerMove,
872
- whenMouse(() => {
873
- if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)
874
- return;
875
- context.onTriggerEnter(itemContext.value);
876
- hasPointerMoveOpenedRef.current = true;
877
- })
878
- ),
879
- onPointerLeave: (0, import_primitive4.composeEventHandlers)(
880
- props.onPointerLeave,
881
- whenMouse(() => {
882
- if (disabled) return;
883
- context.onTriggerLeave();
884
- hasPointerMoveOpenedRef.current = false;
885
- })
886
- ),
887
- onClick: (0, import_primitive4.composeEventHandlers)(props.onClick, () => {
888
- context.onItemSelect(itemContext.value);
889
- wasClickCloseRef.current = open;
890
- }),
891
- onKeyDown: (0, import_primitive4.composeEventHandlers)(props.onKeyDown, (event) => {
892
- const verticalEntryKey = context.dir === "rtl" ? "ArrowLeft" : "ArrowRight";
893
- const entryKey = {
894
- horizontal: "ArrowDown",
895
- vertical: verticalEntryKey
896
- }[context.orientation];
897
- if (open && event.key === entryKey) {
898
- itemContext.onEntryKeyDown();
899
- event.preventDefault();
900
- }
901
- })
850
+ id: triggerId,
851
+ disabled,
852
+ "data-disabled": disabled ? "" : void 0,
853
+ "data-state": getOpenState(open),
854
+ "aria-expanded": open,
855
+ "aria-controls": contentId,
856
+ ...triggerProps,
857
+ ref: composedRefs,
858
+ onPointerEnter: (0, import_primitive4.composeEventHandlers)(props.onPointerEnter, () => {
859
+ wasClickCloseRef.current = false;
860
+ itemContext.wasEscapeCloseRef.current = false;
861
+ }),
862
+ onPointerMove: (0, import_primitive4.composeEventHandlers)(
863
+ props.onPointerMove,
864
+ whenMouse(() => {
865
+ if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)
866
+ return;
867
+ context.onTriggerEnter(itemContext.value);
868
+ hasPointerMoveOpenedRef.current = true;
869
+ })
870
+ ),
871
+ onPointerLeave: (0, import_primitive4.composeEventHandlers)(
872
+ props.onPointerLeave,
873
+ whenMouse(() => {
874
+ if (disabled) return;
875
+ context.onTriggerLeave();
876
+ hasPointerMoveOpenedRef.current = false;
877
+ })
878
+ ),
879
+ onClick: (0, import_primitive4.composeEventHandlers)(props.onClick, () => {
880
+ context.onItemSelect(itemContext.value);
881
+ wasClickCloseRef.current = open;
882
+ }),
883
+ onKeyDown: (0, import_primitive4.composeEventHandlers)(props.onKeyDown, (event) => {
884
+ const verticalEntryKey = context.dir === "rtl" ? "ArrowLeft" : "ArrowRight";
885
+ const entryKey = {
886
+ horizontal: "ArrowDown",
887
+ vertical: verticalEntryKey
888
+ }[context.orientation];
889
+ if (open && event.key === entryKey) {
890
+ itemContext.onEntryKeyDown();
891
+ event.preventDefault();
902
892
  }
903
- ) })
893
+ })
904
894
  }
905
- ),
906
- open && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
907
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
908
- VisuallyHiddenPrimitive.Root,
909
- {
910
- "aria-hidden": true,
911
- tabIndex: 0,
912
- ref: itemContext.focusProxyRef,
913
- onFocus: (event) => {
914
- const content = itemContext.contentRef.current;
915
- const prevFocusedElement = event.relatedTarget;
916
- const wasTriggerFocused = prevFocusedElement === ref.current;
917
- const wasFocusFromContent = content?.contains(prevFocusedElement);
918
- if (wasTriggerFocused || !wasFocusFromContent) {
919
- itemContext.onFocusProxyEnter(
920
- wasTriggerFocused ? "start" : "end"
921
- );
922
- }
923
- }
895
+ ))
896
+ ), open && /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
897
+ VisuallyHiddenPrimitive.Root,
898
+ {
899
+ "aria-hidden": true,
900
+ tabIndex: 0,
901
+ ref: itemContext.focusProxyRef,
902
+ onFocus: (event) => {
903
+ const content = itemContext.contentRef.current;
904
+ const prevFocusedElement = event.relatedTarget;
905
+ const wasTriggerFocused = prevFocusedElement === ref.current;
906
+ const wasFocusFromContent = content?.contains(prevFocusedElement);
907
+ if (wasTriggerFocused || !wasFocusFromContent) {
908
+ itemContext.onFocusProxyEnter(
909
+ wasTriggerFocused ? "start" : "end"
910
+ );
924
911
  }
925
- ),
926
- context.viewport && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { "aria-owns": contentId })
927
- ] })
928
- ] });
912
+ }
913
+ }
914
+ ), context.viewport && /* @__PURE__ */ import_react7.default.createElement("span", { "aria-owns": contentId })));
929
915
  });
930
916
  NavigationMenuTrigger.displayName = TRIGGER_NAME;
931
917
 
@@ -934,7 +920,6 @@ var import_react8 = __toESM(require("react"));
934
920
  var import_react_presence3 = require("@huin-core/react-presence");
935
921
  var import_react_dom = __toESM(require("react-dom"));
936
922
  var import_react_primitive9 = require("@huin-core/react-primitive");
937
- var import_jsx_runtime9 = require("react/jsx-runtime");
938
923
  var INDICATOR_NAME = "NavigationMenuIndicator";
939
924
  var NavigationMenuIndicator = import_react8.default.forwardRef((props, forwardedRef) => {
940
925
  const { forceMount, ...indicatorProps } = props;
@@ -944,7 +929,7 @@ var NavigationMenuIndicator = import_react8.default.forwardRef((props, forwarded
944
929
  );
945
930
  const isVisible = Boolean(context.value);
946
931
  return context.indicatorTrack ? import_react_dom.default.createPortal(
947
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_presence3.Presence, { present: forceMount || isVisible, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef }) }),
932
+ /* @__PURE__ */ import_react8.default.createElement(import_react_presence3.Presence, { present: forceMount || isVisible }, /* @__PURE__ */ import_react8.default.createElement(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef })),
948
933
  context.indicatorTrack
949
934
  ) : null;
950
935
  });
@@ -975,7 +960,7 @@ var NavigationMenuIndicatorImpl = import_react8.default.forwardRef((props, forwa
975
960
  };
976
961
  useResizeObserver(activeTrigger, handlePositionChange);
977
962
  useResizeObserver(context.indicatorTrack, handlePositionChange);
978
- return position ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
963
+ return position ? /* @__PURE__ */ import_react8.default.createElement(
979
964
  import_react_primitive9.Primitive.div,
980
965
  {
981
966
  "aria-hidden": true,