function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } /** * * Checkbox * */ import React from 'react'; import PropTypes from 'prop-types'; import { Checkbox as StyledCheckbox, CheckboxWrapper } from '@buffetjs/styles'; import Label from '../Label'; function Checkbox(_ref) { var autoFocus = _ref.autoFocus, className = _ref.className, id = _ref.id, message = _ref.message, name = _ref.name, onChange = _ref.onChange, tabIndex = _ref.tabIndex, value = _ref.value, rest = _objectWithoutProperties(_ref, ["autoFocus", "className", "id", "message", "name", "onChange", "tabIndex", "value"]); var handleChange = function handleChange() { var target = { name: name, type: 'checkbox', value: !value }; onChange({ target: target }); }; return /*#__PURE__*/React.createElement(CheckboxWrapper, { className: className, disabled: rest.disabled }, /*#__PURE__*/React.createElement(StyledCheckbox, _extends({}, rest, { autoFocus: autoFocus, id: id || name, name: name, onChange: handleChange, tabIndex: tabIndex, checked: value })), /*#__PURE__*/React.createElement(Label, { htmlFor: id || name, message: message })); } Checkbox.defaultProps = { autoComplete: 'off', autoFocus: false, className: null, disabled: false, id: null, message: null, onChange: function onChange() {}, placeholder: null, tabIndex: '0', value: false }; Checkbox.propTypes = { autoComplete: PropTypes.string, autoFocus: PropTypes.bool, className: PropTypes.string, disabled: PropTypes.bool, id: PropTypes.string, message: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.shape({ id: PropTypes.string, params: PropTypes.object })]), name: PropTypes.string.isRequired, onChange: PropTypes.func, placeholder: PropTypes.string, tabIndex: PropTypes.string, value: PropTypes.bool }; export default Checkbox;