Popover

Anchored floating panel built on CSS Anchor Positioning + Popover API

Category: overlay · WCAG 2.2-AA · overlay, floating, anchor, popover

States

Props

PropTypeDefaultDescription
childrenReact.ReactNodeA PopoverTrigger and PopoverContent pair.
openbooleanWhether the component is open (controlled).
onOpenChange(open: boolean) => voidCalled with the next open state when it changes.
placement'top' | 'bottom' | 'left' | 'right'bottomPlacement relative to the trigger.
offsetnumber4Distance (px) between the trigger and the panel.

Design tokens

When to use

When not to use

How to build an accessible Popover in React →

Examples

Basic

<Popover>
  <PopoverTrigger>Open settings</PopoverTrigger>
  <PopoverContent>
    <form>…</form>
  </PopoverContent>
</Popover>

Controlled with placement

<Popover open={isOpen} onOpenChange={setIsOpen} placement="top">
  <PopoverTrigger>Filters</PopoverTrigger>
  <PopoverContent><FilterForm /></PopoverContent>
</Popover>

Related components

← Back to docs