import React from 'react'; import { cn } from '@/editor/lib/utils'; interface SwitchProps extends Omit< React.InputHTMLAttributes, 'type' > { checked?: boolean; onCheckedChange?: (checked: boolean) => void; } const Switch = React.forwardRef( ({ className, checked, onCheckedChange, disabled, ...props }, ref) => { const [isChecked, setIsChecked] = React.useState(checked ?? false); const handleChange = (e: React.ChangeEvent) => { const newChecked = e.target.checked; setIsChecked(newChecked); onCheckedChange?.(newChecked); props.onChange?.(e); }; React.useEffect(() => { if (checked !== undefined) { setIsChecked(checked); } }, [checked]); return (
{ if (!disabled) { setIsChecked(!isChecked); onCheckedChange?.(!isChecked); } }} >
); } ); Switch.displayName = 'Switch'; export { Switch };