Toggle

A two-state button that can be on or off.

View as Markdown

Anatomy

Import the component and use it as a single part:

Anatomy

API reference

value

string

Name
Description

A unique string that identifies the toggle when used inside a toggle group.

Type

string

defaultPressed

boolean

(default:

false

)
Description

Whether the toggle button is currently pressed. This is the uncontrolled counterpart of pressed.

Type

boolean

Default

false

pressed

boolean

Description

Whether the toggle button is currently pressed. This is the controlled counterpart of defaultPressed.

Type

boolean

onPressedChange

function

Description

Callback fired when the pressed state is changed.

Type

((pressed: boolean, event: Event) => void)

nativeButton

boolean

(default:

true

)
Description

Whether the component renders a native <button> element when replacing it via the render prop. Set to false if the rendered element is not a button (e.g. <div>).

Type

boolean

Default

true

disabled

boolean

(default:

false

)
Description

Whether the component should ignore user interaction.

Type

boolean

Default

false

className

string | function

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

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.