Import
import { __experimentalToggleGroupControl as ToggleGroupControl } from '@wordpress/components';
Examples
Default
const Default = ( {
onChange,
...props
} ) => {
const [ value, setValue ] =
useState< ToggleGroupControlProps[ 'value' ] >();
return (
<ToggleGroupControl
__next40pxDefaultSize
{ ...props }
onChange={ ( ...changeArgs ) => {
setValue( ...changeArgs );
onChange?.( ...changeArgs );
} }
value={ value }
/>
);
};
With Tooltip
A tooltip can be shown for each option by enabling the showTooltip prop. The aria-label will be used in the tooltip if provided. Otherwise, the label will be used.
const WithTooltip = ( {
onChange,
...props
} ) => {
const [ value, setValue ] =
useState< ToggleGroupControlProps[ 'value' ] >();
return (
<ToggleGroupControl
__next40pxDefaultSize
{ ...props }
onChange={ ( ...changeArgs ) => {
setValue( ...changeArgs );
onChange?.( ...changeArgs );
} }
value={ value }
/>
);
};
With Icons
The ToggleGroupControlOptionIcon component can be used for icon options. A label is required on each option for accessibility, which will be shown in a tooltip.
const WithIcons = ( {
onChange,
...props
} ) => {
const [ value, setValue ] =
useState< ToggleGroupControlProps[ 'value' ] >();
return (
<ToggleGroupControl
__next40pxDefaultSize
{ ...props }
onChange={ ( ...changeArgs ) => {
setValue( ...changeArgs );
onChange?.( ...changeArgs );
} }
value={ value }
/>
);
};
Deselectable
When the isDeselectable prop is true, the option can be deselected by clicking on it again.
const Deselectable = ( {
onChange,
...props
} ) => {
const [ value, setValue ] =
useState< ToggleGroupControlProps[ 'value' ] >();
return (
<ToggleGroupControl
__next40pxDefaultSize
{ ...props }
onChange={ ( ...changeArgs ) => {
setValue( ...changeArgs );
onChange?.( ...changeArgs );
} }
value={ value }
/>
);
};