Skip to main content

Switch

A toggle component for turning a single option on or off.

Features

Installation

typo3 ui:add switch

Read more about installing Components and Primitives.

Examples

Default Checked

Set the switch to be checked by default.

Disabled

Prevent interaction with the switch.

With Form Field

Use the switch with the Field component for descriptions and validation.

Receive product updates and occasional offers.

API Reference

The following tables cover the available props of the Fluid Primitives. For a full list of available client side props and methods, see the Zag.js Machine API.

switch.root

Groups the switch control, label, and input into one interactive label. Renders a <label> element.

NameDescriptionRequiredDefault
disabledboolean
Whether the switch is disabled. Inherited from a surrounding field when available.
No
-
invalidboolean
If `true`, the switch is marked as invalid. Inherited from a surrounding field when available.
No
-
requiredboolean
If `true`, the switch input is marked as required. Inherited from a surrounding field when available.
No
-
defaultCheckedboolean
The initial checked state of the switch when rendered. Use when you don't need to control the checked state of the switch.
No
false
namestring
The name of the input field in a switch. Useful for form submission. Inherited from a surrounding field when available.
No
-
formstring
The id of the form that the switch belongs to.
No
-
readOnlyboolean
Whether the switch is read-only. Inherited from a surrounding field when available.
No
-
valuestring
The value of switch input. Useful for form submission.
No
1

switch.label

Displays the visible label text for the switch. Renders a <span> element.

switch.control

Displays the visual switch track. Renders a <span> element.

switch.thumb

Displays the movable thumb inside the switch track. Renders a <span> element.

switch.indicator

Displays UI for a specific switch state. Renders a <span> element.

NameDescriptionRequiredDefault
statestring
The indicator state to render. Must be `checked` or `unchecked`.
Yes
-

switch.hiddenInput

Provides the native checkbox input for form submission. Renders an <input> element.

Anatomy

<primitives:switch.root>
    <primitives:switch.control>
        <primitives:switch.thumb />
    </primitives:switch.control>
    <primitives:switch.label />
    <primitives:switch.hiddenInput />
</primitives:switch.root>