import React, { Component } from "react"; import PropTypes from "prop-types"; import classnames from "classnames"; import { noop, pick } from "lodash"; import FormField from "components/forms/FormField"; const baseClass = "kolide-checkbox"; class Checkbox extends Component { static propTypes = { children: PropTypes.node, className: PropTypes.string, disabled: PropTypes.bool, name: PropTypes.string, onChange: PropTypes.func, value: PropTypes.bool, wrapperClassName: PropTypes.string, indeterminate: PropTypes.bool, }; static defaultProps = { disabled: false, onChange: noop, }; handleChange = () => { const { onChange, value } = this.props; return onChange(!value); }; render() { const { handleChange } = this; const { children, className, disabled, name, value, wrapperClassName, indeterminate, } = this.props; const checkBoxClass = classnames(baseClass, className); const formFieldProps = pick(this.props, ["hint", "label", "error", "name"]); const checkBoxTickClass = classnames(`${checkBoxClass}__tick`, { [`${checkBoxClass}__tick--disabled`]: disabled, [`${checkBoxClass}__tick--indeterminate`]: indeterminate, }); return ( ); } } export default Checkbox;