{"version":3,"file":"Switch.cjs","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { InputHTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n    label?: ReactNode;\n    wrapperClassName?: string;\n}\n\n/** Toggle switch backed by a checkbox input. Accessible via keyboard. */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n    { label, disabled, wrapperClassName, className, ...props },\n    ref,\n) {\n    return (\n        <label className={cn(styles.wrapper, disabled && styles.disabled, wrapperClassName)}>\n            <input\n                ref={ref}\n                type=\"checkbox\"\n                role=\"switch\"\n                disabled={disabled}\n                className={cn(styles.input, className)}\n                {...props}\n            />\n            <span className={styles.track} aria-hidden>\n                <span className={styles.thumb} />\n            </span>\n            {label && <span className={styles.label}>{label}</span>}\n        </label>\n    );\n});\n"],"mappings":"6HAWA,IAAa,GAAA,EAAS,EAAA,WAAA,CAA0C,SAC5D,CAAE,QAAO,WAAU,mBAAkB,YAAW,GAAG,GACnD,EACF,CACE,OACI,EAAA,EAAA,KAAA,CAAC,QAAD,CAAO,UAAW,EAAA,GAAG,EAAA,QAAO,QAAS,GAAY,EAAA,QAAO,SAAU,CAAgB,EAAlF,SAAA,EACI,EAAA,EAAA,IAAA,CAAC,QAAD,CACS,MACL,KAAK,WACL,KAAK,SACK,WACV,UAAW,EAAA,GAAG,EAAA,QAAO,MAAO,CAAS,EACrC,GAAI,CACP,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,MAAO,cAAA,GAC3B,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,KAAQ,CAAA,CAC9B,CAAA,EACL,IAAS,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,MAAQ,SAAA,CAAY,CAAA,CACnD,GAEf,CAAC"}