UNPKG

2.13 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
19function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21function _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; }
22
23var propTypes = {
24 tag: _react.PropTypes.oneOfType([_react.PropTypes.func, _react.PropTypes.string]),
25 type: _react.PropTypes.string,
26 className: _react.PropTypes.string,
27 cssModule: _react.PropTypes.object,
28 children: _react.PropTypes.node,
29 right: _react.PropTypes.bool,
30 left: _react.PropTypes.bool
31};
32
33var defaultProps = {
34 tag: 'button',
35 type: 'button'
36};
37
38var navbarToggleIcon = _react2.default.createElement('span', { className: 'navbar-toggler-icon' });
39
40var NavbarToggler = function NavbarToggler(props) {
41 var className = props.className,
42 cssModule = props.cssModule,
43 children = props.children,
44 right = props.right,
45 left = props.left,
46 Tag = props.tag,
47 attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'children', 'right', 'left', 'tag']);
48
49 var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'navbar-toggler', right && 'navbar-toggler-right', left && 'navbar-toggler-left'), cssModule);
50
51 return _react2.default.createElement(
52 Tag,
53 _extends({}, attributes, { className: classes }),
54 children || navbarToggleIcon
55 );
56};
57
58NavbarToggler.propTypes = propTypes;
59NavbarToggler.defaultProps = defaultProps;
60
61exports.default = NavbarToggler;
\No newline at end of file