type? | string | If the button is inside a <form> : use 'submit'. Otherwise use 'button' (default). | 'button' |
as? | string | The HTML tag to replace the default <button> tag. | 'button' |
href? | string | A URL to route to. Must use as="a" for this prop to work. | null |
variant? | ButtonVariants | 'primary', 'secondary', 'destructive', 'destructive_link', 'link', 'reset' | 'primary' |
size? | ButtonSizes | 'default', 'small', 'icon', 'reset' | 'default' |
fullWidth | boolean | Sets the button width to 100% of the parent container. | false |
disabled? | boolean | Prevent actions from firing on this button | false |
loading? | boolean | Prevent actions and show a loading spinner | false |
onClick? | (event: React.MouseEvent) | | null |
onMouseDown? | (event: React.MouseEvent) | | null |
onMouseUp? | (event: React.MouseEvent) | | null |
onMouseEnter? | (event: React.MouseEvent) | | null |
onMouseLeave? | (event: React.MouseEvent) | | null |
onFocus? | (event: React.FocusEvent) | | null |
onBlur? | (event: React.FocusEvent) | | null |
aria-expanded? | boolean | A11y: For accordions | null |
aria-haspopup? | {'true', 'dialog', 'menu'} | A11y: For modals and menus | null |
aria-controls? | string | A11y: For modals and menus | null |
data-test? | string | To detect the element to run tests against. | null |