Component 17 · Complete

Dialog

Creates a focused modal task with native focus containment, predictable dismissal, and focus restoration.

Default

Keep the task focused

The opener launches a native modal Dialog. Focus enters the first relevant field and returns to the opener after dismissal.

Destructive confirmation

Name the consequence clearly

Use a compact Dialog for a short decision. Keep initial focus on the safe secondary action.

Sizes

Match width to task complexity

Small supports confirmation, default supports short forms, and large supports structured review content.

Content overflow

Keep title and actions stable

The body scrolls independently when content grows beyond the available viewport height.

Lifecycle

Restore the previous context

The initializer connects open and close controls, emits lifecycle events, and removes only its own listeners during cleanup.

Initializeconst cleanup = initDialogs(root)
Observends:dialog-open / close
Removecleanup()

Usage guidance

Use a modal only for a focused interruption.

Keep longer workflows on a page. Avoid nested Dialogs and never hide essential information behind a modal.

Next component: Popover and Menu

Invite a member

Give someone access to this workspace.

An invitation remains valid for seven days.

Delete this project?

Files, activity, and member access will be permanently removed.

Small Dialog

Best for a concise decision or acknowledgment.

Keep the content and action count limited.

Large Dialog

Useful when a review needs more structured space.

Scope16 components
ThemeGraphite
ValidationAll checks passed

Release notes

Review the complete Alpha 02 changes.

Foundations

Semantic tokens coordinate color, spacing, typography, geometry, motion, and elevation across all themes.

Controls

Buttons, inputs, choices, switches, and native selects share predictable sizing and state behavior.

Content primitives

Cards, avatars, dividers, alerts, loading indicators, and skeletons establish reusable presentation patterns.

Interactions

Disclosure, Accordion, and Tabs add deterministic keyboard behavior and explicit lifecycle contracts.

AI integration

The local MCP server exposes component documentation and design tokens to compatible hosts.