Ship-It Designv0.0.3
GitHub

Button

Each example below is a real component instance — flip the theme toggle to see how it adapts.

Primary#

Secondary#

Ghost#

Outline#

Destructive#

Success#

Loading…

With Icon#

Loading#

Loading…

Disabled#

Sizes#

Loading…

Variant Matrix#

Loading…

Props#

Props for Button
PropTypeDefaultDescription
iconReactNodeIcon shown to the left of the label (or replacing the spinner when `loading`).
trailingReactNodeIcon/text shown to the right of the label. Often a chevron, kbd hint, or arrow.
loadingboolean | undefinedfalseWhen true, hides the icon, swaps in a spinner, and disables the button.
asChildboolean | undefinedfalseRender the inner content as a child element instead of a `<button>`. Useful for link wrappers — `<Button asChild><Link href="/" /></Button>`.
size"sm" | "md" | "lg" | null | undefined
variant"link" | "outline" | "primary" | "secondary" | "ghost" | "destructive" | "success" | null | undefined
fullWidthboolean | null | undefined