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, clicks only dispatch 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 UnreviewedprioritySurface emphasis. secondary (default) is a subtle fill; primary
is a stronger raised fill; tertiary is transparent.
Optional UnreviewedoutdentAlign the title and body with surrounding content on a tertiary expander. The start indicator hangs in the gutter; an end indicator stays inside its edge. Presence-based.
Optional UnrevieweddisabledDisables the header: not clickable or focusable, hover affordance off, text dimmed. The open state freezes as-is. Presence-based.
Optional UnreviewedroundUse a 1rem corner radius in both disclosure states. A length value
(round="12px") overrides it. Presence-based for the boolean form.
Optional UnreviewedtoneSemantic tone, or any literal CSS color for a one-off custom tone.
Named tones re-point the text + filled surface palette; a custom
color keeps its hue with lightness/chroma pinned. 'neutral' is the
default (same as omitting it).
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. The all-lowercase spelling is
deliberate — it's the one form both renderers bind to the statechange
event (React 19 keeps the case after on, so onStateChange would
listen for "StateChange"; Preact lowercases).
Attributes for the
<a-expander>disclosure. Authors supply directa-expander-summary(ora-expander-title),a-expander-actions,a-expander-indicator, anda-expander-detailsregions. The element owns its native shadow button and collapsed body; styles load externally.