UNPKG

2.37 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 _classnames = _interopRequireDefault(require("classnames"));
13
14var _isRequiredForA11y = _interopRequireDefault(require("prop-types-extra/lib/isRequiredForA11y"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _DropdownToggle = require("react-overlays/DropdownToggle");
19
20var _useMergedRefs = _interopRequireDefault(require("@restart/hooks/useMergedRefs"));
21
22var _Button = _interopRequireDefault(require("./Button"));
23
24var _ThemeProvider = require("./ThemeProvider");
25
26var _useWrappedRefWithWarning = _interopRequireDefault(require("./useWrappedRefWithWarning"));
27
28var DropdownToggle = _react.default.forwardRef(function (_ref, ref) {
29 var bsPrefix = _ref.bsPrefix,
30 split = _ref.split,
31 className = _ref.className,
32 children = _ref.children,
33 childBsPrefix = _ref.childBsPrefix,
34 _ref$as = _ref.as,
35 Component = _ref$as === void 0 ? _Button.default : _ref$as,
36 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
37 var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'dropdown-toggle');
38
39 if (childBsPrefix !== undefined) {
40 props.bsPrefix = childBsPrefix;
41 }
42
43 var _useDropdownToggle = (0, _DropdownToggle.useDropdownToggle)(),
44 toggleProps = _useDropdownToggle[0],
45 toggle = _useDropdownToggle[1].toggle;
46
47 toggleProps.ref = (0, _useMergedRefs.default)(toggleProps.ref, (0, _useWrappedRefWithWarning.default)(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the
48 // underlying component, to allow it to render size and style variants.
49
50 return _react.default.createElement(Component, (0, _extends2.default)({
51 onClick: toggle,
52 className: (0, _classnames.default)(className, prefix, split && prefix + "-split")
53 }, toggleProps, props), children);
54});
55
56DropdownToggle.displayName = 'DropdownToggle';
57var _default = DropdownToggle;
58exports.default = _default;
59module.exports = exports["default"];
\No newline at end of file