Actions

Button

The basic control for running an action. Pair variant (how it looks) with status (the color and meaning) to suit it.

ReactVueWeb Components
View in Storybook

Playground

Examples

<Button status="danger" variant="outline" onClick={remove}>Delete</Button>
<Button as="a" href="/docs">Read the docs</Button>

Props

Name Type Default Description
variant ButtonVariant solid Visual style. @default 'solid'
status ButtonStatus primary Semantic intent / color. @default 'primary'
size ButtonSize md Size. @default 'md'
block boolean false Stretch to fill the container width. @default false
loading boolean false Show a spinner and disable interaction. @default false
loadingLabel string Loading Accessible label announced while `loading` is true. @default 'Loading'
startIcon ReactNode Icon rendered before the label.
endIcon ReactNode Icon rendered after the label.
disabled boolean Disable the button.

Accessibility

  • Body/background contrast is ≥ 7:1 (AAA) in both light and dark.
  • Every interaction works with the keyboard alone.
  • The focus ring is always visible.
  • Respects prefers-reduced-motion and stops excessive motion.

Every component is designed to meet WCAG 2.1 AAA.