UNPKG

1.82 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3import classNames from 'classnames';
4import React from 'react';
5import { useBootstrapPrefix } from './ThemeProvider';
6import Dropdown from './Dropdown';
7import NavLink from './NavLink';
8var NavDropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
9 var id = _ref.id,
10 title = _ref.title,
11 children = _ref.children,
12 bsPrefix = _ref.bsPrefix,
13 className = _ref.className,
14 rootCloseEvent = _ref.rootCloseEvent,
15 menuRole = _ref.menuRole,
16 disabled = _ref.disabled,
17 active = _ref.active,
18 renderMenuOnMount = _ref.renderMenuOnMount,
19 props = _objectWithoutPropertiesLoose(_ref, ["id", "title", "children", "bsPrefix", "className", "rootCloseEvent", "menuRole", "disabled", "active", "renderMenuOnMount"]);
20
21 /* NavItem has no additional logic, it's purely presentational. Can set nav item class here to support "as" */
22 var navItemPrefix = useBootstrapPrefix(undefined, 'nav-item');
23 return /*#__PURE__*/React.createElement(Dropdown, _extends({
24 ref: ref
25 }, props, {
26 className: classNames(className, navItemPrefix)
27 }), /*#__PURE__*/React.createElement(Dropdown.Toggle, {
28 id: id,
29 eventKey: null,
30 active: active,
31 disabled: disabled,
32 childBsPrefix: bsPrefix,
33 as: NavLink
34 }, title), /*#__PURE__*/React.createElement(Dropdown.Menu, {
35 role: menuRole,
36 renderOnMount: renderMenuOnMount,
37 rootCloseEvent: rootCloseEvent
38 }, children));
39});
40NavDropdown.displayName = 'NavDropdown';
41NavDropdown.Item = Dropdown.Item;
42NavDropdown.ItemText = Dropdown.ItemText;
43NavDropdown.Divider = Dropdown.Divider;
44NavDropdown.Header = Dropdown.Header;
45export default NavDropdown;
\No newline at end of file