Command Palette

Search for a command to run...

Switch

A switch is a toggle that flips between on and off, similar to a light switch.

Installation

Follow these simple steps to add the Switch component to your project:

Install Dependencies

pnpm add @radix-ui/react-switch 

Create a new file components/ui/switch.tsx and copy the code below:

"use client";
 
import * as React from "react";
import * as SwitchPrimitive from "@radix-ui/react-switch";
 
import { cn } from "@/lib/utils";
 
function Switch({
    className,
    ...props
}: React.ComponentProps<typeof SwitchPrimitive.Root>) {
    return (
        <SwitchPrimitive.Root
            data-slot="switch"
            className={cn(
                "shadow-xs focus-visible:outline-hidden aria-invalid:focus-visible:ring-0 peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent outline-ring/50 ring-ring/10 transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-4 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:outline-ring/40 dark:ring-ring/20",
                className,
            )}
            {...props}
        >
            <SwitchPrimitive.Thumb
                data-slot="switch-thumb"
                className={cn(
                    "pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0",
                )}
            />
        </SwitchPrimitive.Root>
    );
}
 
export { Switch };

Adjust the import paths in both files according to your project's structure.

Examples

Icon

Label

A short description goes here.

Sliding

Square

Text