Default
Centered modal form with text, choice, and footer actions.
/render stateInline or fixed modal form surface using FormShell inside a dimmed stage.
Form dialog provides the constrained form surface. Product code owns focus trapping and portal strategy when using fixed presentation.
Controls update query params directly. Complex slots use curated fixtures so component states stay deterministic, linkable, and screenshot-ready.
Every state maps to the same component render route through the `state` query param.
Centered modal form with text, choice, and footer actions.
/render stateWider modal for picker and upload compositions.
/render stateDialog with validation feedback.
/render state| Name | Type | Default | Description |
|---|---|---|---|
open | boolean | true | Controls whether the dialog renders. |
presentation | 'inline' | 'fixed' | inline | Inline documentation stage or fixed viewport overlay. |
size | 'compact' | 'default' | 'wide' | default | Dialog max-width preset. |
onOpenChange | (open: boolean) => void | - | Close affordance callback. |
title * | ReactNode | - | Primary form title rendered in the shell header. |
description | ReactNode | - | Supporting copy below the title. |
footer | ReactNode | - | Footer action slot, usually cancel and submit buttons. |
status | 'default' | 'error' | 'success' | default | Outer status border treatment. |
children | ReactNode | - | Dialog form content. |