UNPKG

2.87 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
13
14var _classnames = _interopRequireDefault(require("classnames"));
15
16var _reactDom = require("react-dom");
17
18var _isRequiredForA11y = _interopRequireDefault(require("prop-types-extra/lib/isRequiredForA11y"));
19
20var _DropdownToggle = _interopRequireDefault(require("react-overlays/DropdownToggle"));
21
22var _react = _interopRequireDefault(require("react"));
23
24var _Button = _interopRequireDefault(require("./Button"));
25
26var _ThemeProvider = require("./ThemeProvider");
27
28var wrapRef = function wrapRef(props) {
29 var ref = props.ref;
30
31 props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
32 return ref((0, _reactDom.findDOMNode)(r));
33 });
34
35 return props;
36};
37
38var DropdownToggle =
39/*#__PURE__*/
40function (_React$Component) {
41 (0, _inheritsLoose2.default)(DropdownToggle, _React$Component);
42
43 function DropdownToggle() {
44 return _React$Component.apply(this, arguments) || this;
45 }
46
47 var _proto = DropdownToggle.prototype;
48
49 _proto.render = function render() {
50 var _this$props = this.props,
51 bsPrefix = _this$props.bsPrefix,
52 split = _this$props.split,
53 className = _this$props.className,
54 children = _this$props.children,
55 childBsPrefix = _this$props.childBsPrefix,
56 Component = _this$props.as,
57 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
58
59 if (childBsPrefix !== undefined) {
60 props.bsPrefix = childBsPrefix;
61 } // This intentionally forwards size and variant (if set) to the
62 // underlying component, to allow it to render size and style variants.
63
64
65 return _react.default.createElement(_DropdownToggle.default, null, function (_ref) {
66 var toggle = _ref.toggle,
67 toggleProps = _ref.props;
68 return _react.default.createElement(Component, (0, _extends2.default)({
69 onClick: toggle,
70 className: (0, _classnames.default)(className, bsPrefix, split && bsPrefix + "-split")
71 }, wrapRef(toggleProps), props), children);
72 });
73 };
74
75 return DropdownToggle;
76}(_react.default.Component); // Needs to be a class FTM, because it needs to accept a ref that can be used with findDOMNode
77
78
79DropdownToggle.defaultProps = {
80 as: _Button.default
81};
82
83var _default = (0, _ThemeProvider.createBootstrapComponent)(DropdownToggle, 'dropdown-toggle');
84
85exports.default = _default;
86module.exports = exports["default"];
\No newline at end of file