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.