Overview
Floating interactive panel anchored to a trigger. 4 sides, 3 alignments, arrow indicator and portal rendering.
Basic popover
Activate the trigger to reveal contextual content anchored to it.
Use a popover for compact interactive content that belongs to one trigger. Use a dialog when the task needs stronger focus or more space.
Anatomy
- Root container and spacing boundary.
- Primary content and optional secondary metadata.
- State indicators and utility affordances (icons, badges, controls).
- Optional helper text, grouping, and behavioral wrappers.
When to use
- Choose Popover when a repeated, structured interaction is required.
- Use it for clear, consistent operations across similar surfaces.
- Use in forms, lists, and action workflows where clarity matters.
When not to use
- Do not use only for decorative layout without interaction meaning.
- Avoid duplicating the same behavior without distinct user context.
- Prefer simpler HTML or textual content for static, non-interactive labels.
Variants
Component variants should be documented by API props and examples below.
States
Common states include idle, active, disabled, focused, and loading/pending states where applicable.
Behavior
Behavior should remain deterministic and keyboard-friendly, with clear visual feedback for every state transition.
Accessibility
- Use semantic structure and visible labels whenever possible.
- Preserve keyboard navigation and focus visibility.
- Announce status and changes when context requires it.
Content guidelines
- Prefer short, clear labels.
- Keep content actions scannable and outcome-oriented.
- Use consistent wording across similar components.
Examples
Basic
Simplest usage — wrap any trigger and put content inside
With header and footer
PopoverHeader adds a titled section; PopoverFooter aligns action buttons at the bottom
Positions
side prop controls which edge the panel opens on — top, bottom, left, right
Without arrow
showArrow={false} removes the directional arrow — cleaner look for inline panels
Sizes
sm · md (default) · lg · auto — controls the panel width
Props / API
Api Props
Props