Button

Opinionated button styles for primary actions

Preview

API Surface

PropTypeDefaultNotes
variant"default" | "outline" | "ghost" | "destructive""default"Extends the shadcn variants with design-token driven colors.
size"sm" | "default" | "lg" | "icon""default"Provides consistent spacing and typography across breakpoints.
asChildbooleanfalseForward rendering to another component such as Link.

All other props pass straight through to the native button element, so you can set type="submit", disabled, aria-* attributes, and event handlers as needed.

Accessibility

  • Always pair icon-only buttons with aria-label
  • Disabled buttons set aria-disabled and skip pointer events, so rely on the onClick guard server-side as well
  • Focus ring follows the theme accent color and respects reduced motion