PatternFly

Toggle group

A toggle group is a group of controls that can be used to quickly switch between actions or states.

Examples

Single select toggle group

A single select toggle group allows users to toggle between multiple items.

To indicate whether a <ToggleGroupItem> is selected or not, use the isSelected property.

Multi select toggle group

A multi select toggle group allows users to select multiple items at once.

When a toggle item is disabled it cannot be selected. Click the "Disable all" button in the following example to see this in action.

With icons

You can use a recognizable icon as a toggle item label.

To do this, pass an imported icon to the icon property of a <ToggleGroupItem>.

With text and icons

Adding text to a toggle item with an icon helps clarify the button's function.

To do this, pass a descriptive label to the text property of a <ToggleGroupItem>.

Compact toggle group

When space in a UI is limited, you can use a compact toggle group.

To apply compact styling to a <ToggleGroup>, use isCompact.

Props

ToggleGroup

*required
NameTypeDefaultDescription
areAllGroupsDisabledbooleanfalseDisable all toggle group items under this component.
aria-labelstringAccessible label for the toggle group
childrenReact.ReactNodeContent rendered inside the toggle group
classNamestringAdditional classes added to the toggle group
isCompactbooleanfalseModifies the toggle group to include compact styling.

ToggleGroupItem

*required
NameTypeDefaultDescription
aria-labelstring''required when icon is used with no supporting text
buttonIdstring''Optional id for the button within the toggle group item
classNamestringAdditional classes added to the toggle group item
iconReact.ReactNodeIcon rendered inside the toggle group item
isDisabledbooleanfalseFlag indicating if the toggle group item is disabled
isSelectedbooleanfalseFlag indicating if the toggle group item is selected
onChange(event: React.MouseEvent<any> | React.KeyboardEvent | MouseEvent, selected: boolean) => void() => {}A callback for when the toggle group item selection changes.
textReact.ReactNodeText rendered inside the toggle group item

CSS variables

Expand or collapse columnSelectorVariableValue
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--PaddingTop
0.375rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--PaddingRight
1rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--PaddingBottom
0.375rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--PaddingLeft
1rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--FontSize
0.875rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--LineHeight
calc(1rem * 1.5)
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--Color
#151515
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--BackgroundColor
#fff
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--ZIndex
auto
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--hover--BackgroundColor
#f0f0f0
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--hover--ZIndex
100
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--hover--before--BorderColor
#8a8d90
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--focus--BackgroundColor
#f0f0f0
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--focus--ZIndex
100
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--focus--before--BorderColor
#8a8d90
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--disabled--BackgroundColor
#d2d2d2
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--disabled--Color
#6a6e73
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--before--BorderWidth
1px
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--before--BorderColor
#d2d2d2
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__item--item--MarginLeft
calc(-1 * 1px)
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__item--first-child__button--BorderTopLeftRadius
3px
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__item--first-child__button--BorderBottomLeftRadius
3px
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__item--last-child__button--BorderTopRightRadius
3px
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__item--last-child__button--BorderBottomRightRadius
3px
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__icon--text--MarginLeft
0.5rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--m-selected--BackgroundColor
#e7f1fa
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--m-selected--Color
initial
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--m-selected--before--BorderColor
#06c
.pf-v5-c-toggle-group--pf-v5-c-toggle-group__button--m-selected--ZIndex
100
.pf-v5-c-toggle-group--pf-v5-c-toggle-group--m-compact__button--PaddingTop
0
.pf-v5-c-toggle-group--pf-v5-c-toggle-group--m-compact__button--PaddingRight
0.5rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group--m-compact__button--PaddingBottom
0
.pf-v5-c-toggle-group--pf-v5-c-toggle-group--m-compact__button--PaddingLeft
0.5rem
.pf-v5-c-toggle-group--pf-v5-c-toggle-group--m-compact__button--FontSize
0.75rem
.pf-v5-c-toggle-group.pf-m-compact--pf-v5-c-toggle-group__button--PaddingTop
0
.pf-v5-c-toggle-group.pf-m-compact--pf-v5-c-toggle-group__button--PaddingRight
0.5rem
.pf-v5-c-toggle-group.pf-m-compact--pf-v5-c-toggle-group__button--PaddingBottom
0
.pf-v5-c-toggle-group.pf-m-compact--pf-v5-c-toggle-group__button--PaddingLeft
0.5rem
.pf-v5-c-toggle-group.pf-m-compact--pf-v5-c-toggle-group__button--FontSize
0.75rem
.pf-v5-c-toggle-group__button:hover--pf-v5-c-toggle-group__button--BackgroundColor
#f0f0f0
.pf-v5-c-toggle-group__button:hover--pf-v5-c-toggle-group__button--ZIndex
100
.pf-v5-c-toggle-group__button:hover--pf-v5-c-toggle-group__button--before--BorderColor
#8a8d90
.pf-v5-c-toggle-group__button:focus--pf-v5-c-toggle-group__button--BackgroundColor
#f0f0f0
.pf-v5-c-toggle-group__button:focus--pf-v5-c-toggle-group__button--ZIndex
100
.pf-v5-c-toggle-group__button:focus--pf-v5-c-toggle-group__button--before--BorderColor
#8a8d90
.pf-v5-c-toggle-group__button.pf-m-selected--pf-v5-c-toggle-group__button--BackgroundColor
#e7f1fa
.pf-v5-c-toggle-group__button.pf-m-selected--pf-v5-c-toggle-group__button--Color
initial, inherit
.pf-v5-c-toggle-group__button.pf-m-selected--pf-v5-c-toggle-group__button--ZIndex
100
.pf-v5-c-toggle-group__button.pf-m-selected--pf-v5-c-toggle-group__button--before--BorderColor
#06c
.pf-v5-c-toggle-group__button:disabled--pf-v5-c-toggle-group__button--BackgroundColor
#d2d2d2
.pf-v5-c-toggle-group__button:disabled--pf-v5-c-toggle-group__button--Color
#6a6e73

View source on GitHub