Button

Use the button component for the main actions on a page or form.

Ready to use
Reviewed for accessibility
import {Button} from '@primer/react-brand'

Examples

Default

This is the default variant for the Button component. It corresponds to the secondary variant appearance.

Loading

Primary

The primary variant of Button indicates that the action is of high priority, and should be used sparingly.

Loading

Accent

The accent variant is equally high priority, and should be used only in Hero or CTABanner components.

Loading

Subtle

The subtle variant of Button indicates that the action is a low priority one.

Loading

Sizes

Loading

Block

Loading

Removing the arrow

The animated arrow indicator can be removed using the hasArrow prop.

Loading

Using an icon

You can place an icon inside the Button in either the leading or the trailing position to enhance the visual context. It is recommended to use an Octicon here.

Loading

Polymorphism

The Button component can render as a button or a HTML element. By default, it will render as a button.

Loading

Component props

Button

NameTypeDefaultDescription
leadingVisualReactElementundefinedThe leading visual appears before the button content
trailingVisualReactElementundefinedThe trailing visual appears after the button content
variants'primary', 'secondary', 'subtle''secondary'The styling variations available in Button
size'small', 'medium', 'large''medium'The size variations available in Button
blockbooleanfalseThe full-width option available in Button
hasArrowbooleantrueA flag to show/hide the arrow icon
disabledbooleanfalseDisables the rendered element using disabled or aria-disabled attributes based on the element type.