Skip to content

Switch

A control that indicates whether a setting is on or off.

import { Switch } from '@ontoui/react';
<label>
<Switch.Root>
<Switch.Thumb />
</Switch.Root>
Notifications
</label>;

Anatomy

PartElementDescription
Switch.Root<span>The switch track. Renders a hidden input beside.
Switch.Thumb<span>The movable indicator that slides when the switch is toggled.

Examples

Default checked

Use the defaultChecked prop to render the switch in the on state initially.

<label>
<Switch.Root defaultChecked>
<Switch.Thumb />
</Switch.Root>
Enabled by default
</label>

Disabled

Use the disabled prop to prevent interaction.

<label>
<Switch.Root disabled>
<Switch.Thumb />
</Switch.Root>
Disabled
</label>

API Reference

Switch.Root

Prop Type Default
children? ReactNode —
id? string —
className? string —
checked? boolean —
defaultChecked? boolean —
disabled? boolean —
readOnly? boolean —
required? boolean —
name? string —
value? string —
form? string —
nativeButton? boolean —
uncheckedValue? string —
onCheckedChange? (checked: boolean, eventDetails: { reason: "none"; event: Event; cancel: () => void; allowPropagation: () => void; isCanceled: boolean; isPropagationAllowed: boolean; trigger: Element; }) => void —
ref? Ref<HTMLSpanElement> —

Switch.Thumb

Prop Type Default
className? string —
ref? Ref<HTMLSpanElement> —