Button

Buttons initiate actions. Use the default variant for primary actions, secondary for supporting actions, and ghost for inline or navigation actions. Every variant respects the 44px minimum touch target and provides clear visual feedback on interaction.

Variants

DefaultPrimary actions
SecondarySupporting actions
OutlineBordered style
GhostMinimal style
DestructiveDangerous actions
LinkInline navigation

Sizes

States

Usage Guidelines

Do

Use Default for primary page actions like 'Save' or 'Submit'. One primary button per section.

Don't

Don't use multiple Default buttons in the same context. It creates visual competition and confuses priority.

Do

Use Ghost for toolbar icons and inline actions where the button shouldn't draw attention.

Don't

Don't use Ghost for primary actions. Users may miss it entirely.

Do

Use Destructive only for irreversible actions like deletion. Pair with a confirmation dialog.

Don't

Don't use Destructive for cancellation or dismissal. Those are safe actions.

API Reference

PropTypeDefaultDescription
variant"default" | "destructive" | "outline" | "secondary" | "ghost" | "link""default"Visual style variant
size"default" | "sm" | "lg" | "icon""default"Button size
asChildbooleanfalseRender as child element using Radix Slot

Source Code