Default
Variants, icon, and shortcut states.
/render stateTight command control with loading, icon, shortcut, and variant states.
Buttons are short commands. Use primary for the one dominant action, sky for pointer moments, ultra for upgrade/pro moments, and danger only for destructive actions.
Controls update query params directly, so every primitive state can be linked, rendered, and screenshotted deterministically.
Every state maps to the same render route through the `state` query param.
Variants, icon, and shortcut states.
/render stateUltra and destructive signal actions.
/render stateKeyboard-triggered active affordance with highlighted keycaps.
/render stateDisabled pending command state.
/render state| Name | Type | Default | Description |
|---|---|---|---|
variant | 'primary' | 'secondary' | 'soft' | 'ghost' | 'sky' | 'sky-soft' | 'ultra' | 'danger' | secondary | Visual role of the command. |
size | 'tiny' | 'small' | 'medium' | 'large' | medium | Control height and type rhythm. |
leadingIcon | IconName | ReactElement | - | Optional glyph before the label. |
trailingIcon | IconName | ReactElement | - | Optional glyph after the label. |
shortcut | readonly string[] | - | Keyboard hints rendered as Concrete keycaps. |
pressed | boolean | false | Temporary active affordance for keyboard-triggered or programmatic button activation. |
loading | boolean | false | Replaces the leading slot with a spinner and disables the button. |
iconOnly | boolean | false | Locks the button to a square icon control. |