Skip to main content

Button

Button is used primarily for actions, such as "Continue", "Apply", or "Pay".

button
import {extend, Button} from '@shopify/post-purchase-ui-extensions';

extend('Checkout::PostPurchase::Render', (root) => {
const button = root.createComponent(
Button,
{
// eslint-disable-next-line no-console
onPress: () => console.log('Pressed!'),
},
'Press me',
);

root.appendChild(button);
});
import {render, useExtensionApi, Button} from '@shopify/post-purchase-ui-extensions-react';

render('Checkout::PostPurchase::Render', () => <App />);

function App() {
const {extensionPoint} = useExtensionApi();

return (
<Button
onPress={() => {
// eslint-disable-next-line no-console
console.log(`Extension point: ${extensionPoint}`);
}}
>
Log extension point to console
</Button>
);
}

optional = ?

NameTypeDescription
submit?booleanAllows the button to submit a form
to?stringDestination to link to, renders a Link
subdued?booleanRenders a visually subdued button
plain?booleanRenders a button that visually looks like a Link
loading?booleanReplaces content with a loading indicator
loadingLabel?stringAccessible label for the loading indicator when user prefers reduced motion
disabled?booleanDisables the button, disallowing any interaction
onPress?() => voidCallback when pressed

  • Button labels should be clear so customers can predict what the results of interacting with a button will be.
  • Use primary buttons for actions that will progress the customer through checkout, such as "Continue to shipping", and "Pay now".
  • Use secondary buttons for actions that you want to draw attention to, but are not primary, such as "Track your order".
  • Use plain buttons when you want the appearance of a text link, but the hit area of a button. Works well alongside other buttons to create hierarchies such as "Continue" and "Return to cart".

  • ButtonGroup: A button group controls the layout for two or more stacked buttons such as "Continue" and "Return to cart", and adds the necessary spacing between them.
  • Link: Link makes text interactive so customers can perform an action, such as navigating to another location.

Was this page helpful?