---
title: ToggleButton
description: >-
Options inside a
[ToggleButtonGroup](/docs/api/checkout-ui-extensions/components/forms/togglebuttongroup).
api_version: 2025-07
api_name: customer-account-ui-extensions
source_url:
html: >-
https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/togglebutton
md: >-
https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/togglebutton.md
---
Migrate to Polaris
Version 2025-07 is the last API version to support React-based UI components. Later versions use [web components](https://shopify.dev/docs/api/customer-account-ui-extensions/latest/polaris-web-components), native UI elements with built-in accessibility, better performance, and consistent styling with [Shopify's design system](https://shopify.dev/docs/apps/design). Check out the [migration guide](https://shopify.dev/docs/apps/build/customer-accounts/migrate-to-web-components) to upgrade your extension.
# ToggleButton
Options inside a [ToggleButtonGroup](https://shopify.dev/docs/api/checkout-ui-extensions/components/forms/togglebuttongroup).
### Support Targets (25)
### Supported targets
* CustomerAccount::KitchenSink
* customer-account.footer.render-after
* customer-account.order-index.announcement.render
* customer-account.order-index.block.render
* customer-account.order-status.announcement.render
* customer-account.order-status.block.render
* customer-account.order-status.cart-line-item.render-after
* customer-account.order-status.cart-line-list.render-after
* customer-account.order-status.customer-information.render-after
* customer-account.order-status.fulfillment-details.render-after
* customer-account.order-status.payment-details.render-after
* customer-account.order-status.return-details.render-after
* customer-account.order-status.unfulfilled-items.render-after
* customer-account.order.action.menu-item.render
* customer-account.order.action.render
* customer-account.order.page.render
* customer-account.page.render
* customer-account.profile.addresses.render-after
* customer-account.profile.announcement.render
* customer-account.profile.block.render
* customer-account.profile.company-details.render-after
* customer-account.profile.company-location-addresses.render-after
* customer-account.profile.company-location-payment.render-after
* customer-account.profile.company-location-staff.render-after
* customer-account.profile.payment.render-after
## ToggleButtonProps
* **id**
**string**
**required**
A unique identifier for the toggle button.
* **accessibilityLabel**
**string**
A label used for buyers using assistive technologies. When set, any `children` supplied to this component will not be announced to screen reader users.
* **disabled**
**boolean**
Disables the button, disallowing any interaction.
* **onPress**
**() => void**
Callback when button is pressed.
Examples
## Preview

### Examples
* #### Basic ToggleButton
##### React
```tsx
import {
reactExtension,
ToggleButton,
ToggleButtonGroup,
} from '@shopify/ui-extensions-react/customer-account';
export default reactExtension(
'customer-account.page.render',
() => ,
);
function Extension() {
return (
{
console.log(
`onChange event with value: ${value}`,
);
}}
>
None
);
}
```
##### JS
```js
import {
extension,
ToggleButtonGroup,
ToggleButton,
} from '@shopify/ui-extensions/customer-account';
export default extension('customer-account.page.render', (root) => {
const toggleButtonGroup = root.createComponent(
ToggleButtonGroup,
{
value: 'none',
onChange: (value) => {
console.log(`onChange event with value: ${value}`);
},
},
[root.createComponent(ToggleButton, {id: 'none'}, 'None')],
);
root.appendChild(toggleButtonGroup);
});
```
## Related
[Component - ToggleButtonGroup](togglebuttongroup)