UNPKG

@trellixio/roaster-coffee

Version:
19 lines (18 loc) 1.09 kB
import * as React from 'react'; import { classNames, useUid } from '@/utils'; export const Switch = React.forwardRef((props, ref) => { const { id, label, name, disabled, defaultChecked = false, helpText, labelClassName, inputClassName, onChange, } = props; const [checked, setChecked] = React.useState(defaultChecked); const uid = useUid(id); const handleChange = (event) => { setChecked(event.currentTarget.checked); onChange === null || onChange === void 0 ? void 0 : onChange(event.currentTarget.checked); }; return (React.createElement("label", { htmlFor: uid }, label && React.createElement("p", { className: labelClassName }, label), React.createElement("span", { className: classNames('switch', inputClassName) }, React.createElement("input", { ref: ref, type: "checkbox", name: name, id: uid, checked: checked, disabled: disabled, onChange: handleChange }), React.createElement("figure", null)), helpText && React.createElement("small", null, helpText))); }); Switch.displayName = 'Switch';