import * as React from "react" import { cn } from "../../lib/utils" export interface SwitchProps extends Omit, 'onChange'> { checked?: boolean; onCheckedChange?: (checked: boolean) => void; } const Switch = React.forwardRef( ({ className, checked, onCheckedChange, disabled, ...props }, ref) => { const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, id, ...inputProps } = props; const handleClick = () => { if (!disabled && onCheckedChange) { onCheckedChange(!checked); } }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); if (!disabled && onCheckedChange) { onCheckedChange(!checked); } } }; return (
onCheckedChange?.(e.target.checked)} {...inputProps} />
) } ) Switch.displayName = "Switch" export { Switch }