Popover

Overlays
Local guide ↗ import { Popover } from "bits-ui"

Anchored form

Interactive content anchored below its trigger with a visible positioning arrow

Side and alignment

The same floating panel uses explicit side, align, and sideOffset combinations

Popover.Portal moves floating content to document.body by default; Content still measures and follows its trigger through Floating UI. The resolved placement appears in data-side and data-align, while --bits-popover-content-transform-origin supports placement-aware animation.

Popover content traps focus by default, focuses its first focusable control on open, and restores focus to the trigger on close. Escape and outside pointer-down both close it by default; configure escapeKeydownBehavior, interactOutsideBehavior, or their cancellable event callbacks on Popover.Content to change that. Unlike dialogs, popovers do not lock body scrolling or block outside interaction unless preventScroll is enabled.