Popover

Displays content in a floating panel anchored to a trigger element.

Default

A basic popover with bottom placement and center alignment.

Placement Sides

Popovers can be placed on any side of the trigger: top, bottom, left, or right.

Alignment

Control how the popover aligns relative to the trigger: start, center, or end.

With Close Button

Use PopoverClose to add a button that dismisses the popover.

Default Open

A popover can be rendered in an initially open state.

With Form Content

Popovers can contain interactive form elements.

Custom Trigger

The trigger can be customized with additional CSS classes.

Open Markdown
FreePopover

Anchored floating content.

Install with the Proa CLI
proa ui add popover

Installs the reviewed component source, dependencies, shared support files, and required legal notices.

CLI and registry setup
recipe.rs
// SPDX-FileCopyrightText: 2026 Proa Labs, Inc.
// SPDX-License-Identifier: MIT OR Apache-2.0

//! Popover recipe — semantic root placement and named slot classes.

use crate::theme::rounded;
use crate::tw_join;
use proa_core::shared::attr_value::AttrValue;
use proa_core::{DataLoader, WebContext, WriteBuf, WriteError};

/// Popover placement options.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default, proa_macros::ProaVariant)]
#[variant(name = "side")]
pub enum PopoverSide {
    Top,
    #[default]
    Bottom,
    Left,
    Right,
}

impl PopoverSide {

Search

Type at least 2 characters

Customize

Make it yours

Palette

Radius

Overview
Components
Settings

Build your own

Themed Proa UI surface

Preview
Components52
RecipesTyped
customer-portal