setHovered(true)}
onMouseLeave={() => setHovered(false)}
+ onFocusCapture={() => setFocused(true)}
+ onBlurCapture={(event) => {
+ if (!event.currentTarget.contains(event.relatedTarget as Node | null)) {
+ setFocused(false);
+ setMenuOpen(false);
+ }
+ }}
+ onKeyDown={(event) => {
+ if (event.key === "Escape" && menuOpen) {
+ event.preventDefault();
+ setMenuOpen(false);
+ triggerRef.current?.focus();
+ }
+ }}
>
{exportable && (