What it does
Popover provides click-triggered floating content that can contain buttons, inputs, links, and compact workflows.
It closes on outside click and Escape by default, while supporting controlled state for application-managed overlays.
Composition and API
Use Popover, PopoverTrigger, and PopoverContent as compound parts. Content controls side, align, width, size, and variant independently from the trigger.
Common use cases
- Open quick-edit forms from dense tables.
- Show notification summaries without leaving the current page.
- Collect a small amount of metadata near the related control.
- Expose secondary actions while preserving the current workflow.
Accessibility
The trigger exposes expanded state and controls the dialog content. Keep labels visible, preserve focus rings, and test keyboard-only flows when content contains form controls.
Next.js integration notes
Keep Popover usage in client components. Static page copy and SEO can remain server-rendered, while the interactive preview islands import the popover primitives.
FAQ
When should I use Popover instead of Tooltip?
Use Tooltip for short, non-interactive hints. Use Popover when the content needs focusable controls, links, forms, or click-driven disclosure.
Does the Popover component work with Next.js App Router?
Yes. Popover is a client component because it manages open state, outside clicks, and keyboard dismissal. Import it inside client boundaries where the trigger is interactive.
Can I theme Popover with CSS variables?
Yes. Popover follows the Zentauri UI token pattern with --zui-popover-* variables for content surfaces, brand appearances, and gradients.