"use client"; import { InputHTMLAttributes, forwardRef, useState } from "react"; interface CheckboxProps extends InputHTMLAttributes { label?: string | React.ReactNode; error?: string; } const Checkbox = forwardRef( ({ label, error, className = "", onChange, checked: controlledChecked, ...props }, ref) => { const [isChecked, setIsChecked] = useState(controlledChecked || false); const handleChange = (e: React.ChangeEvent) => { setIsChecked(e.target.checked); if (onChange) { onChange(e); } }; const checked = controlledChecked !== undefined ? controlledChecked : isChecked; return (
{error && (

{error}

)}
); } ); Checkbox.displayName = "Checkbox"; export default Checkbox;