Popover

Popover anchors a floating panel to a trigger — detail cards, compact pickers, or on-demand content. Put the anchor in PopoverTrigger; use trigger_type=Click when the panel has inputs or must stay open. Tune size, position, and appearance; hook lifecycle to load data on first open.

  • Detail cards, compact pickers, or rich content on demand
  • Panels that should not block the whole page — unlike Dialog
  • Brief hover hints — use Tooltip instead
  • Put the anchor in PopoverTrigger (often crate::Button).
  • Set trigger_type: Hover (default) or Click when the panel has inputs or must stay open.
  • Optional: appearance, size, position, lifecycle for lazy-load on first open.
  • Render panel body as remaining children.
Click popover

Explicit click opens a floating panel—required when the panel contains inputs, links, or must stay open while the user interacts.

Hover popover (default trigger)

PopoverTrigger defaults to hover for lightweight supplementary content shown on pointer enter. Use for read-only detail cards, not interactive forms.

Brand appearance

Brand-colored popover surface aligned with primary theme tokens for contextual panels in branded chrome.

Inverted appearance

Dark inverted panel for anchors on dark surfaces or high-contrast overlays.

Small size

Compact width for short hints or single-line pickers.

Large size

Roomier panel for mini-forms or short lists without upgrading to a modal dialog.

Position (left)

Opens beside the trigger when vertical space is constrained.

Lifecycle hooks

Use on_open and on_close to lazy-load panel data or record analytics when visibility changes.

Inner scroll area

Popover trigger inside a bounded ScrollArea. Scrolling the scrollport after the panel opens should keep the teleported surface aligned with the trigger.

Filler line 0

Filler line 1

Filler line 2

Filler line 3

Filler line 4

Filler line 5

Filler line 6

Filler line 7

Filler line 8

Filler line 9

Trailing line 0

Trailing line 1

Trailing line 2

Trailing line 3

Trailing line 4

Trailing line 5

Trailing line 6

Trailing line 7

Trailing line 8

Trailing line 9