GitHubnpm

Accent theme

Base radius

GitHubnpm

Accent theme

Base radius

Colour scheme

Docs menu

Guides


Primitives
Forms
Layout
Feedback
Overlays
Navigation
Data Display
AI

Popover

popover="auto" on the content, and popoverTarget on the trigger, that's it: outside-click dismissal, Escape to close, and top-layer stacking are all native HTML attribute behaviour, not JavaScript click-outside listeners. Positioning is CSS anchor positioning where supported, a computed fallback otherwise.

Distance from me

Playground

Toggle every adjustable prop and watch the component — and the code — update live.

Distance from me
Unstyled

Same component — Kernel look stripped. See Platforms.

placement
align
Usage
<Popover render={<Button variant="secondary">Distance</Button>}>
  <RadioGroup label="Distance from me" value={distance} onValueChange={setDistance}>
    <RadioGroupItem value="1">Within 1 mile</RadioGroupItem>
    <RadioGroupItem value="5">Within 5 miles</RadioGroupItem>
  </RadioGroup>
</Popover>

Props

Props for Popover.
PropTypeDefault
renderthe trigger element (required)
renderContentRenderProp — replace the panel
classNamestring | (state) => string
placement"top" | "bottom" | "left" | "right""bottom"
align"start" | "center" | "end""center"
offsetnumber (px)8
open / onOpenChangeboolean / (open) => void

Composition

The panel exposes data-slot="popover-content",data-placement, data-align, anddata-open, the same styling hooks Tooltip and DropdownMenu expose, so one set of CSS can target every anchored surface.