Button
Live Editor
function ButtonDemo() { const [saving, setSaving] = React.useState(false); return ( <ThemeProvider> <Button variant="primary" recipe="solid" scale="2" radius={4} startIcon={<span aria-hidden="true">+</span>} loading={saving} loadingLabel="Saving" onClick={() => { setSaving(true); setTimeout(() => setSaving(false), 1200); }} > Save changes </Button> </ThemeProvider> ); }
Result
Loading...
Key Props
variant, size, recipe, radius, scale, icon, startIcon, endIcon, loading, loadingLabel, state, tone, block, headless, disabled, animation, theme, type, ariaLabel
Notes
- Use
startIconandendIconfor React content; useiconwhen the custom element consumes an icon token. - Use
radiusfor corner control with values like0,4,8,12, or'full'. - Use
sizefor the standard compact/medium/large control family andscalefor the broader recipe matrix sizing presets.