UNPKG

2.91 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 _classnames = _interopRequireDefault(require("classnames"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _bootstrapUtils = require("./utils/bootstrapUtils");
21
22var _createChainedFunction = _interopRequireDefault(require("./utils/createChainedFunction"));
23
24var propTypes = {
25 onClick: _propTypes.default.func,
26
27 /**
28 * The toggle content, if left empty it will render the default toggle (seen above).
29 */
30 children: _propTypes.default.node
31};
32var contextTypes = {
33 $bs_navbar: _propTypes.default.shape({
34 bsClass: _propTypes.default.string,
35 expanded: _propTypes.default.bool,
36 onToggle: _propTypes.default.func.isRequired
37 })
38};
39
40var NavbarToggle =
41/*#__PURE__*/
42function (_React$Component) {
43 (0, _inheritsLoose2.default)(NavbarToggle, _React$Component);
44
45 function NavbarToggle() {
46 return _React$Component.apply(this, arguments) || this;
47 }
48
49 var _proto = NavbarToggle.prototype;
50
51 _proto.render = function render() {
52 var _this$props = this.props,
53 onClick = _this$props.onClick,
54 className = _this$props.className,
55 children = _this$props.children,
56 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["onClick", "className", "children"]);
57 var navbarProps = this.context.$bs_navbar || {
58 bsClass: 'navbar'
59 };
60 var buttonProps = (0, _extends2.default)({
61 type: 'button'
62 }, props, {
63 onClick: (0, _createChainedFunction.default)(onClick, navbarProps.onToggle),
64 className: (0, _classnames.default)(className, (0, _bootstrapUtils.prefix)(navbarProps, 'toggle'), !navbarProps.expanded && 'collapsed')
65 });
66
67 if (children) {
68 return _react.default.createElement("button", buttonProps, children);
69 }
70
71 return _react.default.createElement("button", buttonProps, _react.default.createElement("span", {
72 className: "sr-only"
73 }, "Toggle navigation"), _react.default.createElement("span", {
74 className: "icon-bar"
75 }), _react.default.createElement("span", {
76 className: "icon-bar"
77 }), _react.default.createElement("span", {
78 className: "icon-bar"
79 }));
80 };
81
82 return NavbarToggle;
83}(_react.default.Component);
84
85NavbarToggle.propTypes = propTypes;
86NavbarToggle.contextTypes = contextTypes;
87var _default = NavbarToggle;
88exports.default = _default;
89module.exports = exports["default"];
\No newline at end of file