UNPKG

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