Dialog

A modal overlay that requires user interaction, commonly used for confirmations, forms, and focused tasks.

Basic Dialog

A dialog with a trigger button, header with title and description, and a footer with cancel and save buttons.

Sizes

Dialogs support multiple size variants to fit different content needs.

Without Close Button

Dialogs can hide the default close (X) button by setting show_close to false. Users must use the provided action buttons to dismiss.

Open Markdown
FreeDialog

Modal content and focus-management markup.

Install with the Proa CLI
proa ui add dialog

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

//! Dialog recipe — typed root/content resolution and named slot classes.
//!
//! Dialog has two styling boundaries: the semantic root and the portalled
//! content. The root resolves independently, while the content owns the size
//! variant. Every remaining public part reads one static named slot.

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

pub(crate) const DIALOG_ROOT: &str = "group/dialog";

pub(crate) const DIALOG_TRIGGER: &str = tw_join!(
    "inline-flex",
    "items-center",
    "justify-center",
    "gap-2",
    "whitespace-nowrap",
    "text-sm",

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