"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireDefault(require("react")); var _Button = _interopRequireDefault(require("./Button")); var noop = function noop() {}; var ToggleButton = /*#__PURE__*/ function (_React$Component) { (0, _inheritsLoose2.default)(ToggleButton, _React$Component); function ToggleButton() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; _this.state = { focused: false }; _this.handleFocus = function (e) { if (e.target.tagName === 'INPUT') _this.setState({ focused: true }); }; _this.handleBlur = function (e) { if (e.target.tagName === 'INPUT') _this.setState({ focused: false }); }; return _this; } var _proto = ToggleButton.prototype; _proto.render = function render() { var _this$props = this.props, children = _this$props.children, name = _this$props.name, className = _this$props.className, checked = _this$props.checked, type = _this$props.type, onChange = _this$props.onChange, value = _this$props.value, disabled = _this$props.disabled, inputRef = _this$props.inputRef, innerRef = _this$props.innerRef, props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children", "name", "className", "checked", "type", "onChange", "value", "disabled", "inputRef", "innerRef"]); var focused = this.state.focused; return _react.default.createElement(_Button.default, (0, _extends2.default)({}, props, { ref: innerRef, className: (0, _classnames.default)(className, focused && 'focus', disabled && 'disabled'), type: null, active: !!checked, as: "label" }), _react.default.createElement("input", { name: name, type: type, value: value, ref: inputRef, autoComplete: "off", checked: !!checked, disabled: !!disabled, onFocus: this.handleFocus, onBlur: this.handleBlur, onChange: onChange || noop }), children); }; return ToggleButton; }(_react.default.Component); var _default = _react.default.forwardRef(function (props, ref) { return _react.default.createElement(ToggleButton, (0, _extends2.default)({ innerRef: ref }, props)); }); exports.default = _default; module.exports = exports["default"];