UnreviewedOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptional UnreviewedkeyReact/Preact reconciliation key when rendered inside a list.
Optional UnreviewedidHTML id attribute.
Optional UnreviewedclassHTML class attribute (standard DOM).
Optional UnreviewedclassReact/Preact-style class name. Alias for class.
Optional UnreviewedstyleInline styles applied to the element.
OptionalchildrenOptional UnreviewedslotAssigns the element to a named <slot> (e.g. slot="title").
Optional UnreviewedtabTab order. Set to 0 to make the element keyboard-focusable.
Optional UnreviewedroleARIA role override.
Optional UnreviewedstateControlled open state ('open' / 'closed'). Present → controlled: the
attribute is the source of truth, user dismiss only dispatches the
cancelable statechange event, and the consumer answers by updating it.
Absent → uncontrolled (use default-state). See STATEFUL-COMPONENTS.md.
Optional Unrevieweddefault-Initial open state for the uncontrolled mode ('open' / 'closed'); read
once when the element connects.
Optional UnreviewedpositionPlacement. center (default, omit) is a centered modal; left / right /
top / bottom turn it into an edge drawer; fullscreen fills the whole
viewport (no edge gap, no radius).
Optional UnreviewedroundCorner radius. A side keyword (top / right / bottom / left) rounds
only that edge's two corners at --dialog-radius; a length (round="20px")
or full border-radius shorthand rounds all corners at that value; bare
round rounds all corners at --dialog-radius. Omit for the position
default (center rounded, drawers / fullscreen square).
Optional UnreviewedpersistentDisable light dismiss — Esc + backdrop click no longer close the dialog (it
closes only via the close button or programmatically). For alert / confirm
dialogs. Presence-based ('' on, omit off).
Optional UnreviewednameUncontrolled trigger name. Any element with data-dialog-open="{name}"
opens this dialog and data-dialog-close="{name}" closes it, via a document
click listener. Ignored in controlled mode.
Optional UnreviewedonstatechangeFires before the open state changes — the element dispatches a cancelable
statechange CustomEvent whose detail is { next, prev } in the
'open'|'closed' vocabulary. Uncontrolled, preventDefault() vetoes the
transition. All-lowercase so both renderers bind it (React 19 keeps the case
after on; Preact lowercases).
Attributes for the
<a-dialog>custom element — a modal dialog / edge drawer built on a native<dialog>in shadow DOM (top layer, focus trap, backdrop, Esc from the platform). Slots (light-DOM children):header,footer,close(the close button), and the default slot for the body. The element exposes::part(dialog | header | body | footer | close). Low-level attributes; for the typed JSX wrapper useDialogfrom@antadesign/anta.