Button.
Unified press, hover and focus behaviors with subtle, lift and no-motion options.
The preview uses the actual shared component, including your current theme, rounding, border and motion preferences.
Props & API reference
Parameters available in the shared component, including value types, requirements and accepted options.
| Parameter | Type | Required | Default | Possible values | Description |
|---|---|---|---|---|---|
children | ReactNode | No | — | — | Content shown inside the button. |
variant | "primary" | "secondary" | "ghost" | "outline" | "danger" | No | secondary | primary · secondary · ghost · outline · danger | Visual button treatment. |
size | "sm" | "md" | "lg" | "icon" | No | md | sm · md · lg · icon | Button dimensions and padding. |
motion | "subtle" | "lift" | "none" | No | subtle | subtle · lift · none | Local hover and press animation mode. |
loading | boolean | No | false | true · false | Shows a loading icon and disables interaction. |
disabled | boolean | No | false | true · false | Prevents pointer and keyboard activation. |
type | "button" | "submit" | "reset" | No | button | button · submit · reset | Native form button behavior. |
onClick | (event) => void | No | — | — | Callback when the button is activated. |