"use client" import * as React from "react" import * as SwitchPrimitives from "@radix-ui/react-switch" import { cn } from "../../utils/cn" const Switch = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { checked?: boolean; onCheckedChange?: (checked: boolean) => void; } >(({ className, checked, onCheckedChange, ...props }, ref) => { // Use local state if not controlled const [isChecked, setIsChecked] = React.useState(checked || false); // Update local state when controlled prop changes React.useEffect(() => { if (checked !== undefined) { setIsChecked(checked); } }, [checked]); const handleCheckedChange = (newChecked: boolean) => { setIsChecked(newChecked); onCheckedChange?.(newChecked); }; return ( ); }) Switch.displayName = SwitchPrimitives.Root.displayName export { Switch }