A Button triggers an action or an event.



The Button component has an appearance property with 3 available values: default, primary, and minimal.


In addition to the appearance — a Button can also have a intent property. The intent property can be none (default), success, or danger

Disabled State

Buttons support disabled states to indicate that a user can not take an action on a particular CTA. It intentionally prevents pointer-events from happening on the element.

Loading State

Buttons also support an isLoading property, which shows a loading indicator, while disabling the button, as well.

Mixing appearance and intent

The intent property works with any appearance.

Button Sizes

By default buttons and controls have a height of 32px based on the default theme. Out of the box there are three sizes: small, medium, and large. It is possible to change this by passing an explicit height to the button, as well.

Buttons with an Icon

Buttons support an icon either before or after the label via the iconBefore or iconAfter props. Avoid using both icons in a button at the same time.

Icon Buttons

Evergreen also supports icon-only buttons for a lighter-weight toolbar-like treatment. They support the same API as regular buttons.