UNPKG

2.49 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _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; };
8
9var _react = require('react');
10
11var _react2 = _interopRequireDefault(_react);
12
13var _classnames = require('classnames');
14
15var _classnames2 = _interopRequireDefault(_classnames);
16
17var _utils = require('./utils');
18
19var _Button = require('./Button');
20
21var _Button2 = _interopRequireDefault(_Button);
22
23function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
26
27var propTypes = {
28 tag: _react.PropTypes.oneOfType([_react.PropTypes.func, _react.PropTypes.string]),
29 children: _react.PropTypes.node,
30 groupClassName: _react.PropTypes.string,
31 groupAttributes: _react.PropTypes.object,
32 className: _react.PropTypes.string,
33 cssModule: _react.PropTypes.object
34};
35
36var defaultProps = {
37 tag: 'div'
38};
39
40var InputGroupButton = function InputGroupButton(props) {
41 var className = props.className,
42 cssModule = props.cssModule,
43 Tag = props.tag,
44 children = props.children,
45 groupClassName = props.groupClassName,
46 groupAttributes = props.groupAttributes,
47 attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'tag', 'children', 'groupClassName', 'groupAttributes']);
48
49 if (typeof children === 'string') {
50 var groupClasses = (0, _utils.mapToCssModules)((0, _classnames2.default)(groupClassName, 'input-group-btn'), cssModule);
51
52 return _react2.default.createElement(
53 Tag,
54 _extends({}, groupAttributes, { className: groupClasses }),
55 _react2.default.createElement(_Button2.default, _extends({}, attributes, { className: className, children: children }))
56 );
57 }
58
59 var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'input-group-btn'), cssModule);
60
61 return _react2.default.createElement(Tag, _extends({}, attributes, { className: classes, children: children }));
62};
63
64InputGroupButton.propTypes = propTypes;
65InputGroupButton.defaultProps = defaultProps;
66
67exports.default = InputGroupButton;
\No newline at end of file