Basic modal

Standard modal with title, body, and action buttons. Triggered by a button, dismissed via backdrop click, the × button, or Cancel.

Sizes

Small for quick prompts, default for most use cases, large for content-heavy dialogs like forms or previews.

Variants

Semantic intent variants for common modal types: info, success, warning, and destructive (danger).

Scrollable body

When modal content exceeds the viewport height, the body scrolls independently while the header and footer remain fixed.

Loading state

Modal with an async confirmation action — shows a spinner while the operation is in progress and disables the action button to prevent double-submit.

Export all orders

This will generate a CSV file containing all orders from the last 90 days. The download will start automatically.

Nested modal

A secondary confirmation dialog stacked on top of a primary modal. Useful for destructive actions triggered from within a form modal.

States

Empty state when no data is available, and an inline error state when a modal action fails.