Skip to content

Commit 068fca1

Browse files
committed
use machine.state in event listeners
1 parent 3b58bed commit 068fca1

File tree

1 file changed

+5
-6
lines changed
  • packages/@headlessui-react/src/components/menu

1 file changed

+5
-6
lines changed

packages/@headlessui-react/src/components/menu/menu.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ function MenuFn<TTag extends ElementType = typeof DEFAULT_MENU_TAG>(
110110

111111
if (!isFocusableElement(target, FocusableMode.Loose)) {
112112
event.preventDefault()
113-
buttonElement?.focus()
113+
machine.state.buttonElement?.focus()
114114
}
115115
})
116116

@@ -449,7 +449,7 @@ function ItemsFn<TTag extends ElementType = typeof DEFAULT_ITEMS_TAG>(
449449
dataRef.current?.domRef.current?.click()
450450
}
451451
machine.send({ type: ActionTypes.CloseMenu })
452-
restoreFocusIfNecessary(buttonElement)
452+
restoreFocusIfNecessary(machine.state.buttonElement)
453453
break
454454

455455
case Keys.ArrowDown:
@@ -478,15 +478,15 @@ function ItemsFn<TTag extends ElementType = typeof DEFAULT_ITEMS_TAG>(
478478
event.preventDefault()
479479
event.stopPropagation()
480480
flushSync(() => machine.send({ type: ActionTypes.CloseMenu }))
481-
buttonElement?.focus({ preventScroll: true })
481+
machine.state.buttonElement?.focus({ preventScroll: true })
482482
break
483483

484484
case Keys.Tab:
485485
event.preventDefault()
486486
event.stopPropagation()
487487
flushSync(() => machine.send({ type: ActionTypes.CloseMenu }))
488488
focusFrom(
489-
buttonElement!,
489+
machine.state.buttonElement!,
490490
event.shiftKey ? FocusManagementFocus.Previous : FocusManagementFocus.Next
491491
)
492492
break
@@ -626,11 +626,10 @@ function ItemFn<TTag extends ElementType = typeof DEFAULT_ITEM_TAG>(
626626
machine.send({ type: ActionTypes.CloseMenu })
627627
})
628628

629-
let buttonElement = useSlice(machine, (state) => state.buttonElement)
630629
let handleClick = useEvent((event: MouseEvent) => {
631630
if (disabled) return event.preventDefault()
632631
machine.send({ type: ActionTypes.CloseMenu })
633-
restoreFocusIfNecessary(buttonElement)
632+
restoreFocusIfNecessary(machine.state.buttonElement)
634633
})
635634

636635
let handleFocus = useEvent(() => {

0 commit comments

Comments
 (0)