Learn about the Button component for use in UI extensions.
Button
component renders a single button. Use this component to enable users to perform actions, such as submitting a form, sending data to an external system, or deleting data. Button text is passed into the component like a standard HTML element, rather than through a prop.
Below, learn how to implement buttons in a UI extension. For guidance on button design, check out the Button design patterns.
Prop | Type | Description |
---|---|---|
href | Object | Include this prop to open a URL on click. Contains the following fields:
href and an onClick action, both will be executed on button click. |
onClick | () => void | A function that will be invoked when the button is clicked. It receives no arguments and it’s return value is ignored. |
disabled | Boolean | When set to true , the button will render in a greyed-out state and cannot be clicked. |
variant | 'primary' | 'secondary' (default) | 'destructive' | 'transparent' | Sets the color of the button. See variants section for more information. |
type | 'button' (default) | 'reset' | 'submit' | Sets the role HTML attribute of the button. |
size | 'xs' , 'extra-small' | 'sm' , 'small' | 'med' , 'medium' (default) | The size of the button. |
overlay | Object | Include a Modal or Panel component in this object to open it as an overlay on click. Learn more about using overlays. |
variant
prop, you can set the color of the button.
'primary'
: a dark blue button for the most frequently used or most important action on an extension. Each extension should only have one primary button.'secondary'
: a grey button to provide alternative or non-primary actions. Each extension should include no more than two secondary buttons.'destructive'
: a red button for actions that delete, disconnect, or perform any action that the user can’t undo. Button text should clearly communicate what is being deleted or disconnected. After a destructive button is clicked, the user should have to verify or confirm the action.'transparent'
: a button with the background and border color removed, styled like a hyperlink.'primary'
button at the end of a form to submit data to another system.'secondary'
button next to a primary form submit button to reset form fields.'destructive'
button to enable users to delete a contact’s data from an external system.'disabled'
when a contact doesn’t qualify for a form submission due to missing criteria or other ineligibility.external: true
).