setOpen(true)}
onPointerLeave={() => setOpen(false)}
onFocus={() => setOpen(true)}
onBlur={(e) => {
// Don't close when focus moves between the trigger and the
// popover content (both live in this wrapper / its portal).
if (!e.currentTarget.contains(e.relatedTarget as Node | null)) {
setOpen(false);
}
}}
>
{trigger}
e.preventDefault()}
onCloseAutoFocus={(e) => e.preventDefault()}
onPointerEnter={() => setOpen(true)}
onPointerLeave={() => setOpen(false)}
className="flex w-12 flex-col items-center gap-2 p-3"
>
{Math.round(effectiveVolume * 100)}
onSlider(v)}
aria-label="Volume"
className="h-24"
/>
);
}