import { forwardRef, useState } from "react"; import "./Switch.css"; interface SwitchProps { name?: string; label?: string; className?: string; checked?: boolean; defaultChecked?: boolean; onChange?: React.ChangeEventHandler; disabled?: boolean; } const Switch = forwardRef(function switchInput( { name, label, className, checked, defaultChecked = false, onChange, disabled, }, ref, ) { const isControlled = checked !== undefined; const [internalChecked, setInternalChecked] = useState(defaultChecked); const isChecked = isControlled ? checked : internalChecked; const handleChange = (e: React.ChangeEvent) => { if (!isControlled) { setInternalChecked(e.target.checked); } onChange?.(e); }; const labelClass = `switch${disabled ? " switch-disabled" : ""}${className ? ` ${className}` : ""}`; return (