Multi-state button
A button whose width, glyph and label morph as it moves between states.
API reference
Components
<MultiStateButton />
Pill button with content crossfade, width morph and optional settle feedback.
state
Current state key owned by the consumer.
children
Visible label for the current state.
icon?
Optional leading glyph for the current state.
surfaceClassName?
Surface classes for the current state.
pillClassName?
Constant pill styling in every state.
feedback?
Feedback fired when state settles.
widthMorph?
Whether the pill animates width via layout projection.
announce?
Accessible status text via internal aria-live.
"aria-label"?
Accessible button name.
type?
Button type. Default "button".
disabled?
Disables the button.
onClick?
Click handler.
className?
Merged onto the button root.
Featured in
See the multi-state button composed into full sections.

