UNPKG

2.3 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 _excluded = ["bsPrefix", "split", "className", "childBsPrefix", "as"];
29
30var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
31 var bsPrefix = _ref.bsPrefix,
32 split = _ref.split,
33 className = _ref.className,
34 childBsPrefix = _ref.childBsPrefix,
35 _ref$as = _ref.as,
36 Component = _ref$as === void 0 ? _Button.default : _ref$as,
37 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
38 var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'dropdown-toggle');
39
40 if (childBsPrefix !== undefined) {
41 props.bsPrefix = childBsPrefix;
42 }
43
44 var _useDropdownToggle = (0, _DropdownToggle.useDropdownToggle)(),
45 toggleProps = _useDropdownToggle[0];
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 /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
51 className: (0, _classnames.default)(className, prefix, split && prefix + "-split")
52 }, toggleProps, props));
53});
54
55DropdownToggle.displayName = 'DropdownToggle';
56var _default = DropdownToggle;
57exports.default = _default;
58module.exports = exports["default"];
\No newline at end of file