UNPKG

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