{
+ if (e.pointerType !== "mouse") return; // touch/pen -> tap-to-toggle only
+ clearCloseTimer();
+ if (!open) openMenu();
+ }
+ : undefined
+ }
+ onPointerLeave={
+ openOnHover
+ ? (e) => {
+ if (e.pointerType !== "mouse") return;
+ clearCloseTimer();
+ closeTimer.current = window.setTimeout(() => {
+ closeTimer.current = null;
+ closeMenu();
+ }, HOVER_CLOSE_GRACE_MS);
+ }
+ : undefined
+ }
+ >
{
if (open) {
closeMenu();