Toggle Group
Provides a shared state to a series of toggle buttons.
View as MarkdownAnatomy
Import the component and use it as a single part:
import { ToggleGroup } from '@base-ui/react/toggle-group';
<ToggleGroup />API reference
defaultValuestring[]—
string[]- Name
- Description
The open state of the toggle group represented by an array of the values of all pressed toggle buttons. This is the uncontrolled counterpart of
value.- Type
string[] | undefined
valuestring[]—
string[]- Name
- Description
The open state of the toggle group represented by an array of the values of all pressed toggle buttons. This is the controlled counterpart of
defaultValue.- Type
string[] | undefined
onValueChangefunction—
function- Name
- Description
Callback fired when the pressed states of the toggle group changes.
- Type
| (( groupValue: string[], eventDetails: ToggleGroup.ChangeEventDetails, ) => void) | undefined
loopFocusbooleantrue
boolean- Name
- Description
Whether to loop keyboard focus back to the first item when the end of the list is reached while using the arrow keys.
- Type
boolean | undefined- Default
true
multiplebooleanfalse
boolean- Name
- Description
When
falseonly one item in the group can be pressed. If any item in the group becomes pressed, the others will become unpressed. Whentruemultiple items can be pressed.- Type
boolean | undefined- Default
false
disabledbooleanfalse
boolean- Name
- Description
Whether the toggle group should ignore user interaction.
- Type
boolean | undefined- Default
false
orientationOrientation'horizontal'
Orientation- Name
- Type
'horizontal' | 'vertical' | undefined- Default
'horizontal'
classNamestring | function—
string | function- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string | ((state: ToggleGroup.State) => string | undefined) | undefined
styleReact.CSSProperties | function—
React.CSSProperties | function- Name
- Type
| React.CSSProperties | (( state: ToggleGroup.State, ) => React.CSSProperties | undefined) | undefined
renderReactElement | function—
ReactElement | function- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElementor a function that returns the element to render.- Type
| ReactElement | (( props: HTMLProps, state: ToggleGroup.State, ) => ReactElement) | undefined
data-orientation
data-disabled
data-multiple
Additional Types
ToggleGroup.Props
Re-Export of ToggleGroup props as ToggleGroupProps
ToggleGroup.State
type ToggleGroupState = {
disabled: boolean;
multiple: boolean;
orientation: 'horizontal' | 'vertical';
}ToggleGroup.ChangeEventReason
type ToggleGroupChangeEventReason = 'none';ToggleGroup.ChangeEventDetails
type ToggleGroupChangeEventDetails = {
reason: 'none';
event: Event;
cancel: () => void;
allowPropagation: () => void;
isCanceled: boolean;
isPropagationAllowed: boolean;
trigger: Element | undefined;
};