123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- "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"];
|