Button

Trigger actions with clear hierarchy, consistent states, and full token control across every use case.

Variants

Set variant beside color to choose how much paint a button uses, from solid and outlined down to text and link.

Colors

Set color to default, primary or danger, or to a color name like blue or emerald, and each color works with every variant.

Size

Set size to small, medium or large to match the button to the controls around it, with medium as the default.

Shape

Set shape to squircle for a smooth superellipse corner, round for a pill, or circle for a round icon button.

Danger

Set color="danger" with any variant for destructive actions, from a solid Delete to a quiet Unsubscribe link.

Ghost

Set ghost to drop the button's background so it reads over a photo or a colored surface, keeping its border and text color.

Block

Set block to make a button fill the width of its parent, like the actions at the bottom of a form or a mobile sheet.

Disabled

Set disabled on any variant or icon button, and on an href button, which then drops its link so it cannot be focused or followed.

Custom disabled background

Set defaultBgDisabled and dashedBgDisabled in a ThemeScope to change the disabled fill of default and dashed buttons.

Icons

Pass an Icon to icon to put it before the label, or set iconPlacement="end" to move it after, like an arrow on Continue, with any shape.

Icon only

Pass only an icon and an aria-label for a square icon button in any variant, or set shape for a circle or a squircle.

Avatar

Pass avatar an image URL to put a face in the icon slot, rounded to match its shape.

Avatar at the end

Set iconPlacement="end" with avatar to put the face after the name, and the spacing around it moves along.

Avatar only

Pass avatar and an aria-label with no label for a button that is only a face, in a square, squircle or circle shape.

Loading

Set loadingPlacement="center" to hide the label and center the spinner so the button keeps its size, or leave it off to swap the icon for a spinner.
Pass href to render a button as a link that keeps its look, and use variant="link" for the link style on either element.

Scoped theme

Wrap part of a page in ThemeScope to give it its own theme, like a violet primary for one button while the rest keeps yours.

Button group

Wrap buttons in Space.Compact to join them into one group, like Move and Rename, with a lone Back button and a group that ends in a menu beside them.

Button group with a menu

End a group with a Dropdown on a chevron button to fold the extra actions into a menu, like the ways to publish or reply.

Button group with a count

Join an action to a second button that shows its count, like Star and Watch, which toggle and update the number.

Vertical button group

Set orientation="vertical" on Space.Compact to stack the buttons, like zoom in and out on a map.

Button group size

Set size on Space.Compact to size every button in the group at once.

Button group toolbar

Mix a Select and buttons in one group for a text editor toolbar, with bold, italic and underline and a menu for the rest.

In context

The component inside real screens, with the components it usually sits beside.

Danger zone

A settings card of irreversible actions, each button louder than the last, with a confirmation before the delete.

Marketing CTA

A call to action with one solid button, one quiet text button and a line of reassurance underneath.

Copy to clipboard

An icon button that copies a command and swaps its copy icon for a check mark for a moment, without changing width.

Filters with a count

A Badge around filter buttons that counts the active filters, which you toggle with the buttons below.

Design tool bar

A drawing app's tool bar where the picked tool turns solid, a chevron opens its variants with a check and a shortcut, and a Segmented switches the mode.

API Reference

Button
Button's props. Rows marked antuikit in the Version column are added by the kit.