Toggle
A two-state button that can be on or off.
View as MarkdownAnatomy
Import the component and use it as a single part:
import { Toggle } from '@base-ui-components/react/toggle';
<Toggle />
API reference
value
string
string
- Name
- Description
A unique string that identifies the toggle when used inside a toggle group.
- Type
string
defaultPressed
boolean
(default: false
)
boolean
false
- Name
- Description
Whether the toggle button is currently pressed. This is the uncontrolled counterpart of
pressed
.- Type
boolean
- Default
false
pressed
boolean
boolean
- Name
- Description
Whether the toggle button is currently pressed. This is the controlled counterpart of
defaultPressed
.- Type
boolean
onPressedChange
function
function
- Name
- Description
Callback fired when the pressed state is changed.
- Type
((pressed: boolean, event: Event) => void)
nativeButton
boolean
(default: true
)
boolean
true
- Name
- Description
Whether the component renders a native
<button>
element when replacing it via therender
prop. Set tofalse
if the rendered element is not a button (e.g.<div>
).- Type
boolean
- Default
true
disabled
boolean
(default: false
)
boolean
false
- Name
- Description
Whether the component should ignore user interaction.
- Type
boolean
- Default
false
className
string | 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: Toggle.State) => string)
render
ReactElement | 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
ReactElement
or a function that returns the element to render.- Type
| ReactElement
| ((props: HTMLProps, state: Toggle.State) => ReactElement)
data-pressed
Present when the toggle button is pressed.