Button

Solid (default), outline, and plain variants. Solid buttons accept a color prop with every Tailwind color name plus a few duotone combos.

Variants

Sizes

md (default) is the generous form/primary button; sm is compact for toolbars and tight spots.

As link

Pass an href to render as an anchor.

Icon buttons

Pass icon for an icon-only button — square, so it reads as a circle under the SafeWay pill. Always give it an aria-label.

Loading

Pass loading and the button becomes disabled (dimmed, non-interactive) with a spinner — for momentary async actions like a sign-in. It keeps its width, and the spinner matches the text colour (neutral on the destructive button).

Success

Pass success for the confirmed beat after an async action resolves. It mirrors the loading treatment — stays disabled/locked + dimmed (a full-strength button reads as clickable, deceiving for a momentary confirmation) — but swaps the spinner for a checkmark that strokes itself in. No label; just the drawn check. Used for the reassurance moment before a transition (e.g. checkout Pay → set-password).

Disabled

All colors

Theme