UNPKG

3.02 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends3 = _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 _classnames = _interopRequireDefault(require("classnames"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _all = _interopRequireDefault(require("prop-types-extra/lib/all"));
21
22var _Button = _interopRequireDefault(require("./Button"));
23
24var _bootstrapUtils = require("./utils/bootstrapUtils");
25
26var propTypes = {
27 vertical: _propTypes.default.bool,
28 justified: _propTypes.default.bool,
29
30 /**
31 * Display block buttons; only useful when used with the "vertical" prop.
32 * @type {bool}
33 */
34 block: (0, _all.default)(_propTypes.default.bool, function (_ref) {
35 var block = _ref.block,
36 vertical = _ref.vertical;
37 return block && !vertical ? new Error('`block` requires `vertical` to be set to have any effect') : null;
38 })
39};
40var defaultProps = {
41 block: false,
42 justified: false,
43 vertical: false
44};
45
46var ButtonGroup =
47/*#__PURE__*/
48function (_React$Component) {
49 (0, _inheritsLoose2.default)(ButtonGroup, _React$Component);
50
51 function ButtonGroup() {
52 return _React$Component.apply(this, arguments) || this;
53 }
54
55 var _proto = ButtonGroup.prototype;
56
57 _proto.render = function render() {
58 var _extends2;
59
60 var _this$props = this.props,
61 block = _this$props.block,
62 justified = _this$props.justified,
63 vertical = _this$props.vertical,
64 className = _this$props.className,
65 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["block", "justified", "vertical", "className"]);
66
67 var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),
68 bsProps = _splitBsProps[0],
69 elementProps = _splitBsProps[1];
70
71 var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps)] = !vertical, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'vertical')] = vertical, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'justified')] = justified, _extends2[(0, _bootstrapUtils.prefix)(_Button.default.defaultProps, 'block')] = block, _extends2));
72 return _react.default.createElement("div", (0, _extends3.default)({}, elementProps, {
73 className: (0, _classnames.default)(className, classes)
74 }));
75 };
76
77 return ButtonGroup;
78}(_react.default.Component);
79
80ButtonGroup.propTypes = propTypes;
81ButtonGroup.defaultProps = defaultProps;
82
83var _default = (0, _bootstrapUtils.bsClass)('btn-group', ButtonGroup);
84
85exports.default = _default;
86module.exports = exports["default"];
\No newline at end of file