UNPKG

2.7 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose"));
11
12var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inheritsLoose"));
13
14var _propTypes = _interopRequireDefault(require("prop-types"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _Button = _interopRequireDefault(require("./Button"));
19
20var propTypes = {
21 /**
22 * The `<input>` `type`
23 * @type {[type]}
24 */
25 type: _propTypes.default.oneOf(['checkbox', 'radio']),
26
27 /**
28 * The HTML input name, used to group like checkboxes or radio buttons together
29 * semantically
30 */
31 name: _propTypes.default.string,
32
33 /**
34 * The checked state of the input, managed by `<ToggleButtonGroup>`` automatically
35 */
36 checked: _propTypes.default.bool,
37
38 /**
39 * The disabled state of both the label and input
40 */
41 disabled: _propTypes.default.bool,
42
43 /**
44 * [onChange description]
45 */
46 onChange: _propTypes.default.func,
47
48 /**
49 * The value of the input, and unique identifier in the ToggleButtonGroup
50 */
51 value: _propTypes.default.any.isRequired
52};
53
54var ToggleButton =
55/*#__PURE__*/
56function (_React$Component) {
57 (0, _inheritsLoose2.default)(ToggleButton, _React$Component);
58
59 function ToggleButton() {
60 return _React$Component.apply(this, arguments) || this;
61 }
62
63 var _proto = ToggleButton.prototype;
64
65 _proto.render = function render() {
66 var _this$props = this.props,
67 children = _this$props.children,
68 name = _this$props.name,
69 checked = _this$props.checked,
70 type = _this$props.type,
71 onChange = _this$props.onChange,
72 value = _this$props.value,
73 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children", "name", "checked", "type", "onChange", "value"]);
74 var disabled = props.disabled;
75 return _react.default.createElement(_Button.default, (0, _extends2.default)({}, props, {
76 active: !!checked,
77 componentClass: "label"
78 }), _react.default.createElement("input", {
79 name: name,
80 type: type,
81 autoComplete: "off",
82 value: value,
83 checked: !!checked,
84 disabled: !!disabled,
85 onChange: onChange
86 }), children);
87 };
88
89 return ToggleButton;
90}(_react.default.Component);
91
92ToggleButton.propTypes = propTypes;
93var _default = ToggleButton;
94exports.default = _default;
95module.exports = exports["default"];
\No newline at end of file