rsuite 5.12.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/Button/styles/index.less +1 -0
  2. package/CHANGELOG.md +49 -0
  3. package/Dropdown/styles/index.less +8 -3
  4. package/Grid/styles/index.less +42 -10
  5. package/Nav/styles/index.less +7 -1
  6. package/Navbar/styles/index.less +6 -1
  7. package/Sidenav/styles/index.less +52 -16
  8. package/Table/styles/index.less +0 -2
  9. package/Tooltip/styles/index.less +4 -4
  10. package/cjs/@types/common.d.ts +6 -0
  11. package/cjs/Cascader/DropdownMenu.js +8 -3
  12. package/cjs/Cascader/utils.d.ts +1 -1
  13. package/cjs/Col/Col.d.ts +25 -5
  14. package/cjs/Col/Col.js +9 -1
  15. package/cjs/CustomProvider/CustomProvider.d.ts +20 -7
  16. package/cjs/CustomProvider/CustomProvider.js +24 -3
  17. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  18. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  19. package/cjs/Dropdown/Dropdown.js +26 -110
  20. package/cjs/Dropdown/DropdownItem.js +14 -58
  21. package/cjs/Dropdown/DropdownMenu.js +32 -76
  22. package/cjs/Dropdown/DropdownToggle.js +4 -17
  23. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  24. package/cjs/Form/Form.d.ts +8 -8
  25. package/cjs/Form/test/Form.test.d.ts +1 -0
  26. package/cjs/Form/test/Form.test.js +18 -0
  27. package/cjs/Menu/Menu.d.ts +1 -0
  28. package/cjs/Menu/Menu.js +1 -0
  29. package/cjs/Menu/MenuItem.d.ts +1 -0
  30. package/cjs/Menu/MenuItem.js +1 -0
  31. package/cjs/Menu/Menubar.d.ts +3 -0
  32. package/cjs/Menu/Menubar.js +4 -0
  33. package/cjs/Modal/test/Modal.test.d.ts +1 -0
  34. package/cjs/Modal/test/Modal.test.js +14 -0
  35. package/cjs/Modal/utils.d.ts +1 -1
  36. package/cjs/Nav/Nav.d.ts +7 -2
  37. package/cjs/Nav/Nav.js +105 -5
  38. package/cjs/Nav/NavContext.d.ts +2 -8
  39. package/cjs/Nav/NavContext.js +1 -7
  40. package/cjs/Nav/NavDropdown.d.ts +71 -0
  41. package/cjs/Nav/NavDropdown.js +193 -0
  42. package/cjs/Nav/NavDropdownItem.d.ts +39 -0
  43. package/cjs/Nav/NavDropdownItem.js +141 -0
  44. package/cjs/Nav/NavDropdownMenu.d.ts +37 -0
  45. package/cjs/Nav/NavDropdownMenu.js +162 -0
  46. package/cjs/Nav/NavDropdownToggle.d.ts +21 -0
  47. package/cjs/Nav/NavDropdownToggle.js +74 -0
  48. package/cjs/Nav/NavItem.d.ts +2 -0
  49. package/cjs/Nav/NavItem.js +13 -26
  50. package/cjs/Nav/NavMenu.d.ts +38 -0
  51. package/cjs/Nav/NavMenu.js +122 -0
  52. package/cjs/Nav/test/Nav.test.d.ts +1 -0
  53. package/cjs/Nav/test/Nav.test.js +17 -0
  54. package/cjs/Navbar/NavbarDropdown.d.ts +57 -0
  55. package/cjs/Navbar/NavbarDropdown.js +147 -0
  56. package/cjs/Navbar/NavbarDropdownItem.d.ts +41 -0
  57. package/cjs/Navbar/NavbarDropdownItem.js +149 -0
  58. package/cjs/Navbar/NavbarDropdownMenu.d.ts +48 -0
  59. package/cjs/Navbar/NavbarDropdownMenu.js +161 -0
  60. package/cjs/Navbar/NavbarDropdownToggle.d.ts +19 -0
  61. package/cjs/Navbar/NavbarDropdownToggle.js +72 -0
  62. package/cjs/Navbar/NavbarItem.d.ts +5 -2
  63. package/cjs/Navbar/NavbarItem.js +10 -4
  64. package/cjs/Overlay/Modal.d.ts +1 -4
  65. package/cjs/Overlay/Overlay.d.ts +3 -1
  66. package/cjs/Overlay/Overlay.js +6 -2
  67. package/cjs/Overlay/OverlayTrigger.d.ts +8 -4
  68. package/cjs/Overlay/OverlayTrigger.js +32 -4
  69. package/cjs/Overlay/Position.d.ts +3 -1
  70. package/cjs/Overlay/Position.js +12 -4
  71. package/cjs/Overlay/positionUtils.d.ts +11 -4
  72. package/cjs/Overlay/positionUtils.js +48 -2
  73. package/cjs/Panel/Panel.js +9 -6
  74. package/cjs/Picker/utils.d.ts +1 -1
  75. package/cjs/Picker/utils.js +22 -15
  76. package/cjs/Popover/Popover.d.ts +2 -0
  77. package/cjs/Popover/Popover.js +6 -3
  78. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
  79. package/cjs/Sidenav/ExpandedSidenavDropdown.js +166 -0
  80. package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
  81. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +141 -0
  82. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
  83. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +145 -0
  84. package/cjs/Sidenav/Sidenav.d.ts +8 -2
  85. package/cjs/Sidenav/Sidenav.js +1 -2
  86. package/cjs/Sidenav/SidenavDropdown.d.ts +30 -8
  87. package/cjs/Sidenav/SidenavDropdown.js +144 -73
  88. package/cjs/Sidenav/SidenavDropdownItem.d.ts +22 -5
  89. package/cjs/Sidenav/SidenavDropdownItem.js +88 -72
  90. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +26 -16
  91. package/cjs/Sidenav/SidenavDropdownMenu.js +122 -90
  92. package/cjs/Sidenav/SidenavDropdownToggle.d.ts +19 -0
  93. package/cjs/Sidenav/SidenavDropdownToggle.js +73 -0
  94. package/cjs/Sidenav/SidenavItem.d.ts +7 -0
  95. package/cjs/Sidenav/SidenavItem.js +54 -37
  96. package/cjs/Sidenav/SidenavToggle.d.ts +5 -1
  97. package/cjs/Sidenav/SidenavToggle.js +25 -9
  98. package/cjs/Toggle/Toggle.d.ts +1 -1
  99. package/cjs/Tooltip/Tooltip.d.ts +3 -1
  100. package/cjs/Tooltip/Tooltip.js +8 -3
  101. package/cjs/Whisper/Whisper.d.ts +3 -5
  102. package/cjs/Whisper/Whisper.js +6 -1
  103. package/cjs/Whisper/test/Whisper.test.d.ts +1 -0
  104. package/cjs/Whisper/test/Whisper.test.js +23 -0
  105. package/cjs/index.d.ts +3 -3
  106. package/cjs/index.js +3 -2
  107. package/cjs/toaster/ToastContainer.d.ts +1 -0
  108. package/cjs/toaster/ToastContainer.js +4 -1
  109. package/cjs/toaster/index.d.ts +1 -0
  110. package/cjs/toaster/index.js +4 -1
  111. package/cjs/toaster/toaster.d.ts +0 -1
  112. package/cjs/toaster/useToaster.d.ts +12 -0
  113. package/cjs/toaster/useToaster.js +43 -0
  114. package/cjs/utils/constants.d.ts +1 -0
  115. package/cjs/utils/constants.js +3 -1
  116. package/cjs/utils/deprecateComponent.js +4 -6
  117. package/cjs/utils/deprecatePropType.d.ts +1 -5
  118. package/cjs/utils/deprecatePropType.js +7 -14
  119. package/cjs/utils/stringToObject.d.ts +1 -1
  120. package/cjs/utils/tplTransform.d.ts +1 -1
  121. package/cjs/utils/treeUtils.d.ts +3 -3
  122. package/cjs/utils/treeUtils.js +8 -10
  123. package/cjs/utils/useCustom.d.ts +1 -1
  124. package/cjs/utils/useCustom.js +5 -3
  125. package/cjs/utils/useFocus.d.ts +1 -1
  126. package/cjs/utils/useInternalId.d.ts +1 -1
  127. package/cjs/utils/useInternalId.js +2 -2
  128. package/cjs/utils/warnOnce.d.ts +9 -0
  129. package/cjs/utils/warnOnce.js +22 -0
  130. package/dist/rsuite-rtl.css +735 -56
  131. package/dist/rsuite-rtl.min.css +1 -1
  132. package/dist/rsuite-rtl.min.css.map +1 -1
  133. package/dist/rsuite.css +735 -56
  134. package/dist/rsuite.js +363 -121
  135. package/dist/rsuite.js.map +1 -1
  136. package/dist/rsuite.min.css +1 -1
  137. package/dist/rsuite.min.css.map +1 -1
  138. package/dist/rsuite.min.js +1 -1
  139. package/dist/rsuite.min.js.map +1 -1
  140. package/esm/@types/common.d.ts +6 -0
  141. package/esm/Cascader/DropdownMenu.js +8 -3
  142. package/esm/Cascader/utils.d.ts +1 -1
  143. package/esm/Col/Col.d.ts +25 -5
  144. package/esm/Col/Col.js +10 -2
  145. package/esm/CustomProvider/CustomProvider.d.ts +20 -7
  146. package/esm/CustomProvider/CustomProvider.js +22 -3
  147. package/esm/Disclosure/Disclosure.d.ts +1 -1
  148. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  149. package/esm/Dropdown/Dropdown.js +25 -105
  150. package/esm/Dropdown/DropdownItem.js +13 -55
  151. package/esm/Dropdown/DropdownMenu.js +31 -76
  152. package/esm/Dropdown/DropdownToggle.js +4 -14
  153. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  154. package/esm/Form/Form.d.ts +8 -8
  155. package/esm/Form/test/Form.test.d.ts +1 -0
  156. package/esm/Form/test/Form.test.js +11 -0
  157. package/esm/Menu/Menu.d.ts +1 -0
  158. package/esm/Menu/Menu.js +1 -0
  159. package/esm/Menu/MenuItem.d.ts +1 -0
  160. package/esm/Menu/MenuItem.js +1 -0
  161. package/esm/Menu/Menubar.d.ts +3 -0
  162. package/esm/Menu/Menubar.js +4 -0
  163. package/esm/Modal/test/Modal.test.d.ts +1 -0
  164. package/esm/Modal/test/Modal.test.js +9 -0
  165. package/esm/Modal/utils.d.ts +1 -1
  166. package/esm/Nav/Nav.d.ts +7 -2
  167. package/esm/Nav/Nav.js +96 -5
  168. package/esm/Nav/NavContext.d.ts +2 -8
  169. package/esm/Nav/NavContext.js +1 -6
  170. package/esm/Nav/NavDropdown.d.ts +71 -0
  171. package/esm/Nav/NavDropdown.js +170 -0
  172. package/esm/Nav/NavDropdownItem.d.ts +39 -0
  173. package/esm/Nav/NavDropdownItem.js +123 -0
  174. package/esm/Nav/NavDropdownMenu.d.ts +37 -0
  175. package/esm/Nav/NavDropdownMenu.js +143 -0
  176. package/esm/Nav/NavDropdownToggle.d.ts +21 -0
  177. package/esm/Nav/NavDropdownToggle.js +57 -0
  178. package/esm/Nav/NavItem.d.ts +2 -0
  179. package/esm/Nav/NavItem.js +13 -21
  180. package/esm/Nav/NavMenu.d.ts +38 -0
  181. package/esm/Nav/NavMenu.js +98 -0
  182. package/esm/Nav/test/Nav.test.d.ts +1 -0
  183. package/esm/Nav/test/Nav.test.js +11 -0
  184. package/esm/Navbar/NavbarDropdown.d.ts +57 -0
  185. package/esm/Navbar/NavbarDropdown.js +124 -0
  186. package/esm/Navbar/NavbarDropdownItem.d.ts +41 -0
  187. package/esm/Navbar/NavbarDropdownItem.js +128 -0
  188. package/esm/Navbar/NavbarDropdownMenu.d.ts +48 -0
  189. package/esm/Navbar/NavbarDropdownMenu.js +140 -0
  190. package/esm/Navbar/NavbarDropdownToggle.d.ts +19 -0
  191. package/esm/Navbar/NavbarDropdownToggle.js +55 -0
  192. package/esm/Navbar/NavbarItem.d.ts +5 -2
  193. package/esm/Navbar/NavbarItem.js +11 -4
  194. package/esm/Overlay/Modal.d.ts +1 -4
  195. package/esm/Overlay/Overlay.d.ts +3 -1
  196. package/esm/Overlay/Overlay.js +6 -2
  197. package/esm/Overlay/OverlayTrigger.d.ts +8 -4
  198. package/esm/Overlay/OverlayTrigger.js +33 -5
  199. package/esm/Overlay/Position.d.ts +3 -1
  200. package/esm/Overlay/Position.js +12 -4
  201. package/esm/Overlay/positionUtils.d.ts +11 -4
  202. package/esm/Overlay/positionUtils.js +46 -2
  203. package/esm/Panel/Panel.js +9 -6
  204. package/esm/Picker/utils.d.ts +1 -1
  205. package/esm/Picker/utils.js +22 -14
  206. package/esm/Popover/Popover.d.ts +2 -0
  207. package/esm/Popover/Popover.js +6 -3
  208. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
  209. package/esm/Sidenav/ExpandedSidenavDropdown.js +140 -0
  210. package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
  211. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +120 -0
  212. package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
  213. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +121 -0
  214. package/esm/Sidenav/Sidenav.d.ts +8 -2
  215. package/esm/Sidenav/Sidenav.js +1 -2
  216. package/esm/Sidenav/SidenavDropdown.d.ts +30 -8
  217. package/esm/Sidenav/SidenavDropdown.js +145 -75
  218. package/esm/Sidenav/SidenavDropdownItem.d.ts +22 -5
  219. package/esm/Sidenav/SidenavDropdownItem.js +87 -71
  220. package/esm/Sidenav/SidenavDropdownMenu.d.ts +26 -16
  221. package/esm/Sidenav/SidenavDropdownMenu.js +122 -86
  222. package/esm/Sidenav/SidenavDropdownToggle.d.ts +19 -0
  223. package/esm/Sidenav/SidenavDropdownToggle.js +56 -0
  224. package/esm/Sidenav/SidenavItem.d.ts +7 -0
  225. package/esm/Sidenav/SidenavItem.js +53 -38
  226. package/esm/Sidenav/SidenavToggle.d.ts +5 -1
  227. package/esm/Sidenav/SidenavToggle.js +22 -9
  228. package/esm/Toggle/Toggle.d.ts +1 -1
  229. package/esm/Tooltip/Tooltip.d.ts +3 -1
  230. package/esm/Tooltip/Tooltip.js +8 -3
  231. package/esm/Whisper/Whisper.d.ts +3 -5
  232. package/esm/Whisper/Whisper.js +6 -1
  233. package/esm/Whisper/test/Whisper.test.d.ts +1 -0
  234. package/esm/Whisper/test/Whisper.test.js +16 -0
  235. package/esm/index.d.ts +3 -3
  236. package/esm/index.js +1 -1
  237. package/esm/toaster/ToastContainer.d.ts +1 -0
  238. package/esm/toaster/ToastContainer.js +1 -0
  239. package/esm/toaster/index.d.ts +1 -0
  240. package/esm/toaster/index.js +1 -0
  241. package/esm/toaster/toaster.d.ts +0 -1
  242. package/esm/toaster/useToaster.d.ts +12 -0
  243. package/esm/toaster/useToaster.js +34 -0
  244. package/esm/utils/constants.d.ts +1 -0
  245. package/esm/utils/constants.js +1 -0
  246. package/esm/utils/deprecateComponent.js +3 -4
  247. package/esm/utils/deprecatePropType.d.ts +1 -5
  248. package/esm/utils/deprecatePropType.js +3 -13
  249. package/esm/utils/stringToObject.d.ts +1 -1
  250. package/esm/utils/tplTransform.d.ts +1 -1
  251. package/esm/utils/treeUtils.d.ts +3 -3
  252. package/esm/utils/treeUtils.js +8 -10
  253. package/esm/utils/useCustom.d.ts +1 -1
  254. package/esm/utils/useCustom.js +5 -3
  255. package/esm/utils/useFocus.d.ts +1 -1
  256. package/esm/utils/useInternalId.d.ts +1 -1
  257. package/esm/utils/useInternalId.js +2 -2
  258. package/esm/utils/warnOnce.d.ts +9 -0
  259. package/esm/utils/warnOnce.js +18 -0
  260. package/package.json +1 -1
  261. package/styles/color-modes/dark.less +3 -0
  262. package/styles/color-modes/high-contrast.less +3 -0
  263. package/styles/color-modes/light.less +5 -2
  264. package/styles/variables.less +33 -12
@@ -23,20 +23,20 @@ var _SafeAnchor = _interopRequireDefault(require("../SafeAnchor"));
23
23
 
24
24
  var _utils = require("../utils");
25
25
 
26
- var _Sidenav = require("../Sidenav/Sidenav");
27
-
28
26
  var _NavContext = _interopRequireDefault(require("./NavContext"));
29
27
 
30
- var _Navbar = require("../Navbar/Navbar");
31
-
32
- var _SidenavItem = _interopRequireDefault(require("../Sidenav/SidenavItem"));
33
-
34
- var _NavbarItem = _interopRequireDefault(require("../Navbar/NavbarItem"));
35
-
36
28
  /**
37
29
  * The <Nav.Item> API
30
+ * When used as direct child of <Nav>, render the NavItem
31
+ * When used within a <Nav.Menu>, render the NavDropdownItem
38
32
  */
39
33
  var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
34
+ var nav = (0, _react.useContext)(_NavContext.default);
35
+
36
+ if (!nav) {
37
+ throw new Error('<Nav.Item> must be rendered within a <Nav> component.');
38
+ }
39
+
40
40
  var _props$as = props.as,
41
41
  Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,
42
42
  activeProp = props.active,
@@ -53,18 +53,13 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
53
53
  onClick = props.onClick,
54
54
  onSelectProp = props.onSelect,
55
55
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "disabled", "eventKey", "className", "classPrefix", "style", "children", "icon", "divider", "panel", "onClick", "onSelect"]);
56
-
57
- var _useContext = (0, _react.useContext)(_NavContext.default),
58
- activeKey = _useContext.activeKey,
59
- onSelectFromNav = _useContext.onSelect;
60
-
56
+ var activeKey = nav.activeKey,
57
+ onSelectFromNav = nav.onSelect;
61
58
  var active = activeProp !== null && activeProp !== void 0 ? activeProp : !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(eventKey, activeKey);
62
59
  var emitSelect = (0, _react.useCallback)(function (event) {
63
60
  onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event);
64
61
  onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);
65
62
  }, [eventKey, onSelectProp, onSelectFromNav]);
66
- var navbar = (0, _react.useContext)(_Navbar.NavbarContext);
67
- var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
68
63
 
69
64
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
70
65
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -82,10 +77,6 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
82
77
  }
83
78
  }, [disabled, emitSelect, onClick]);
84
79
 
85
- if (sidenav) {
86
- return /*#__PURE__*/_react.default.createElement(_SidenavItem.default, props);
87
- }
88
-
89
80
  if (divider) {
90
81
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
91
82
  ref: ref,
@@ -103,12 +94,6 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
103
94
  }, rest), children);
104
95
  }
105
96
 
106
- if (navbar) {
107
- return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, (0, _extends2.default)({
108
- ref: ref
109
- }, props));
110
- }
111
-
112
97
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
113
98
  ref: ref,
114
99
  tabIndex: disabled ? -1 : undefined
@@ -117,7 +102,9 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
117
102
  onClick: handleClick,
118
103
  style: style,
119
104
  "aria-selected": active || undefined
120
- }), icon, children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
105
+ }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
106
+ className: prefix('icon')
107
+ }), children, /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
121
108
  });
122
109
 
123
110
  NavItem.displayName = 'Nav.Item';
@@ -0,0 +1,38 @@
1
+ import React, { Dispatch } from 'react';
2
+ import { NavDropdownProps } from './NavDropdown';
3
+ import { NavDropdownMenuProps } from './NavDropdownMenu';
4
+ export interface NavMenuProps extends NavDropdownProps, Omit<NavDropdownMenuProps, 'onToggle'> {
5
+ }
6
+ export declare type NavMenuState = {
7
+ items: {
8
+ _id: any;
9
+ eventKey?: any;
10
+ active: boolean;
11
+ }[];
12
+ };
13
+ export declare type NavMenuContextProps = [NavMenuState, Dispatch<NavMenuAction>];
14
+ export declare const NavMenuContext: React.Context<NavMenuContextProps | null>;
15
+ export declare enum NavMenuActionType {
16
+ RegisterItem = 0,
17
+ UnregisterItem = 1
18
+ }
19
+ export declare type NavMenuAction = {
20
+ type: NavMenuActionType.RegisterItem;
21
+ payload: {
22
+ _id: any;
23
+ eventKey?: any;
24
+ active: boolean;
25
+ };
26
+ } | {
27
+ type: NavMenuActionType.UnregisterItem;
28
+ payload: {
29
+ _id: any;
30
+ };
31
+ };
32
+ /**
33
+ * The <Nav.Menu> API
34
+ * When used as direct child of <Nav>, render the NavDropdown
35
+ * When used within another <Nav.Menu>, render the NavDropdownMenu
36
+ */
37
+ declare const NavMenu: React.ForwardRefExoticComponent<NavMenuProps & React.RefAttributes<any>>;
38
+ export default NavMenu;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = exports.NavMenuActionType = exports.NavMenuContext = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _NavDropdown = _interopRequireDefault(require("./NavDropdown"));
15
+
16
+ var _NavDropdownMenu = _interopRequireDefault(require("./NavDropdownMenu"));
17
+
18
+ var _Sidenav = require("../Sidenav/Sidenav");
19
+
20
+ var _SidenavDropdown = _interopRequireDefault(require("../Sidenav/SidenavDropdown"));
21
+
22
+ var _Navbar = require("../Navbar");
23
+
24
+ var _NavbarDropdown = _interopRequireDefault(require("../Navbar/NavbarDropdown"));
25
+
26
+ var _NavbarDropdownMenu = _interopRequireDefault(require("../Navbar/NavbarDropdownMenu"));
27
+
28
+ var _SidenavDropdownMenu = _interopRequireDefault(require("../Sidenav/SidenavDropdownMenu"));
29
+
30
+ var NavMenuContext = /*#__PURE__*/_react.default.createContext(null);
31
+
32
+ exports.NavMenuContext = NavMenuContext;
33
+ NavMenuContext.displayName = 'NavMenu.Context';
34
+ var NavMenuActionType;
35
+ exports.NavMenuActionType = NavMenuActionType;
36
+
37
+ (function (NavMenuActionType) {
38
+ NavMenuActionType[NavMenuActionType["RegisterItem"] = 0] = "RegisterItem";
39
+ NavMenuActionType[NavMenuActionType["UnregisterItem"] = 1] = "UnregisterItem";
40
+ })(NavMenuActionType || (exports.NavMenuActionType = NavMenuActionType = {}));
41
+
42
+ var initilNavMenuState = {
43
+ items: []
44
+ };
45
+
46
+ var reducer = function reducer(state, action) {
47
+ switch (action.type) {
48
+ case NavMenuActionType.RegisterItem:
49
+ return (0, _extends2.default)({}, state, {
50
+ items: [].concat(state.items.filter(function (item) {
51
+ return item._id !== action.payload._id;
52
+ }), [action.payload])
53
+ });
54
+
55
+ case NavMenuActionType.UnregisterItem:
56
+ return (0, _extends2.default)({}, state, {
57
+ items: state.items.filter(function (item) {
58
+ return item._id !== action.payload._id;
59
+ })
60
+ });
61
+
62
+ default:
63
+ throw new Error('Unrecognizable action type: ' + action.type);
64
+ }
65
+ };
66
+ /**
67
+ * The <Nav.Menu> API
68
+ * When used as direct child of <Nav>, render the NavDropdown
69
+ * When used within another <Nav.Menu>, render the NavDropdownMenu
70
+ */
71
+
72
+
73
+ var NavMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
74
+ var parentNavMenu = (0, _react.useContext)(NavMenuContext);
75
+ var navMenuContext = (0, _react.useReducer)(reducer, initilNavMenuState);
76
+ var navbar = (0, _react.useContext)(_Navbar.NavbarContext);
77
+ var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
78
+
79
+ if (!parentNavMenu) {
80
+ if (navbar) {
81
+ return /*#__PURE__*/_react.default.createElement(NavMenuContext.Provider, {
82
+ value: navMenuContext
83
+ }, /*#__PURE__*/_react.default.createElement(_NavbarDropdown.default, (0, _extends2.default)({
84
+ ref: ref
85
+ }, props)));
86
+ }
87
+
88
+ if (sidenav) {
89
+ return /*#__PURE__*/_react.default.createElement(NavMenuContext.Provider, {
90
+ value: navMenuContext
91
+ }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({
92
+ ref: ref
93
+ }, props)));
94
+ }
95
+
96
+ return /*#__PURE__*/_react.default.createElement(NavMenuContext.Provider, {
97
+ value: navMenuContext
98
+ }, /*#__PURE__*/_react.default.createElement(_NavDropdown.default, (0, _extends2.default)({
99
+ ref: ref
100
+ }, props)));
101
+ }
102
+
103
+ if (navbar) {
104
+ return /*#__PURE__*/_react.default.createElement(_NavbarDropdownMenu.default, (0, _extends2.default)({
105
+ ref: ref
106
+ }, props));
107
+ }
108
+
109
+ if (sidenav) {
110
+ return /*#__PURE__*/_react.default.createElement(_SidenavDropdownMenu.default, (0, _extends2.default)({
111
+ ref: ref
112
+ }, props));
113
+ }
114
+
115
+ return /*#__PURE__*/_react.default.createElement(_NavDropdownMenu.default, (0, _extends2.default)({
116
+ ref: ref
117
+ }, props));
118
+ });
119
+
120
+ NavMenu.displayName = 'Nav.Menu';
121
+ var _default = NavMenu;
122
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _Navbar = _interopRequireDefault(require("../../Navbar"));
8
+
9
+ var _Nav = _interopRequireDefault(require("../Nav"));
10
+
11
+ /*#__PURE__*/
12
+ _react.default.createElement(_Navbar.default, null, /*#__PURE__*/_react.default.createElement(_Nav.default, null, /*#__PURE__*/_react.default.createElement(_Nav.default.Menu, {
13
+ title: "Menu"
14
+ }, /*#__PURE__*/_react.default.createElement(_Nav.default.Menu, {
15
+ title: "Submenu",
16
+ openDirection: "start"
17
+ }, /*#__PURE__*/_react.default.createElement(_Nav.default.Item, null, "Submenu item")))));
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import { TypeAttributes, WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
+ import { IconProps } from '@rsuite/icons/lib/Icon';
4
+ import Button from '../Button';
5
+ import NavDropdownItem from '../Nav/NavDropdownItem';
6
+ import NavDropdownMenu from '../Nav/NavDropdownMenu';
7
+ export declare type NavbarDropdownTrigger = 'click' | 'hover' | 'contextMenu';
8
+ export interface NavbarDropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect' | 'title'> {
9
+ /** Define the title as a submenu */
10
+ title?: React.ReactNode;
11
+ /** Set the icon */
12
+ icon?: React.ReactElement<IconProps>;
13
+ /** Triggering events */
14
+ trigger?: NavbarDropdownTrigger | readonly NavbarDropdownTrigger[];
15
+ /** The placement of Menu */
16
+ placement?: TypeAttributes.Placement8;
17
+ /** Whether or not component is disabled */
18
+ disabled?: boolean;
19
+ /** The style of the menu */
20
+ menuStyle?: React.CSSProperties;
21
+ /** A css class to apply to the Toggle DOM node */
22
+ toggleClassName?: string;
23
+ /** You can use a custom element type for this toggle component */
24
+ toggleAs?: React.ElementType;
25
+ /** No caret variation */
26
+ noCaret?: boolean;
27
+ /**
28
+ * Open the menu and control it
29
+ * @deprecated
30
+ */
31
+ open?: boolean;
32
+ /**
33
+ * @deprecated
34
+ */
35
+ renderTitle?: (children: React.ReactNode) => React.ReactNode;
36
+ /** Custom Toggle */
37
+ renderToggle?: (props: WithAsProps, ref: React.Ref<any>) => any;
38
+ /** The callback function that the menu closes */
39
+ onClose?: () => void;
40
+ /** Menu Pop-up callback function */
41
+ onOpen?: () => void;
42
+ /** Callback function for menu state switching */
43
+ onToggle?: (open: boolean, eventKey?: T | undefined, event?: React.SyntheticEvent) => void;
44
+ }
45
+ export interface NavbarDropdownComponent extends RsRefForwardingComponent<'div', NavbarDropdownProps> {
46
+ <ToggleAs extends React.ElementType = typeof Button>(props: NavbarDropdownProps & {
47
+ ref?: React.Ref<any>;
48
+ toggleAs?: ToggleAs;
49
+ } & React.ComponentProps<ToggleAs>, context: any): JSX.Element | null;
50
+ Item: typeof NavDropdownItem;
51
+ Menu: typeof NavDropdownMenu;
52
+ }
53
+ /**
54
+ * @private
55
+ */
56
+ declare const NavbarDropdown: NavbarDropdownComponent;
57
+ export default NavbarDropdown;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _omit = _interopRequireDefault(require("lodash/omit"));
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
23
+
24
+ var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
25
+
26
+ var _ = require(".");
27
+
28
+ var _Disclosure = _interopRequireDefault(require("../Disclosure/Disclosure"));
29
+
30
+ var _NavDropdownItem = _interopRequireDefault(require("../Nav/NavDropdownItem"));
31
+
32
+ var _NavDropdownMenu = _interopRequireDefault(require("../Nav/NavDropdownMenu"));
33
+
34
+ var _NavbarDropdownToggle = _interopRequireDefault(require("./NavbarDropdownToggle"));
35
+
36
+ /**
37
+ * @private
38
+ */
39
+ var NavbarDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
40
+ var navbar = (0, _react.useContext)(_.NavbarContext);
41
+
42
+ if (!navbar) {
43
+ throw new Error('<Navbar.Dropdown> should be used within a <Navbar> component.');
44
+ }
45
+
46
+ var _props$as = props.as,
47
+ Component = _props$as === void 0 ? 'div' : _props$as,
48
+ title = props.title,
49
+ onClose = props.onClose,
50
+ onOpen = props.onOpen,
51
+ _onToggle = props.onToggle,
52
+ _props$trigger = props.trigger,
53
+ trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
54
+ _props$placement = props.placement,
55
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
56
+ toggleAs = props.toggleAs,
57
+ toggleClassName = props.toggleClassName,
58
+ _props$classPrefix = props.classPrefix,
59
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown' : _props$classPrefix,
60
+ className = props.className,
61
+ disabled = props.disabled,
62
+ children = props.children,
63
+ menuStyle = props.menuStyle,
64
+ style = props.style,
65
+ toggleProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "title", "onClose", "onOpen", "onToggle", "trigger", "placement", "toggleAs", "toggleClassName", "classPrefix", "className", "disabled", "children", "menuStyle", "style"]);
66
+
67
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
68
+ merge = _useClassNames.merge,
69
+ withClassPrefix = _useClassNames.withClassPrefix;
70
+
71
+ var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),
72
+ withMenuClassPrefix = _useClassNames2.withClassPrefix,
73
+ mergeMenuClassName = _useClassNames2.merge;
74
+
75
+ return /*#__PURE__*/_react.default.createElement(_Disclosure.default, {
76
+ trigger: trigger,
77
+ hideOnClickOutside: true,
78
+ onToggle: function onToggle(open) {
79
+ _onToggle === null || _onToggle === void 0 ? void 0 : _onToggle(open);
80
+
81
+ if (open) {
82
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen();
83
+ } else {
84
+ onClose === null || onClose === void 0 ? void 0 : onClose();
85
+ }
86
+ }
87
+ }, function (_ref, containerRef) {
88
+ var _withClassPrefix;
89
+
90
+ var open = _ref.open;
91
+ var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));
92
+ return /*#__PURE__*/_react.default.createElement(Component, {
93
+ ref: (0, _utils.mergeRefs)(ref, containerRef),
94
+ className: classes,
95
+ style: style
96
+ }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (buttonProps, buttonRef) {
97
+ return /*#__PURE__*/_react.default.createElement(_NavbarDropdownToggle.default, (0, _extends2.default)({
98
+ ref: buttonRef,
99
+ as: toggleAs,
100
+ className: toggleClassName,
101
+ placement: placement,
102
+ disabled: disabled
103
+ }, (0, _omit.default)(buttonProps, ['open']), toggleProps), title);
104
+ }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, null, function (_ref2, elementRef) {
105
+ var open = _ref2.open;
106
+ var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
107
+ return /*#__PURE__*/_react.default.createElement("ul", {
108
+ ref: elementRef,
109
+ className: menuClassName,
110
+ style: menuStyle,
111
+ hidden: !open
112
+ }, children);
113
+ }));
114
+ });
115
+ });
116
+
117
+ NavbarDropdown.Item = _NavDropdownItem.default;
118
+ NavbarDropdown.Menu = _NavDropdownMenu.default;
119
+ NavbarDropdown.displayName = 'Navbar.Dropdown';
120
+ NavbarDropdown.propTypes = {
121
+ classPrefix: _propTypes.default.string,
122
+ trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),
123
+ placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),
124
+ title: _propTypes.default.node,
125
+ disabled: _propTypes.default.bool,
126
+ icon: _propTypes.default.node,
127
+ menuStyle: _propTypes.default.object,
128
+ className: _propTypes.default.string,
129
+ toggleClassName: _propTypes.default.string,
130
+ children: _propTypes.default.node,
131
+ open: (0, _deprecatePropType.default)(_propTypes.default.bool),
132
+ eventKey: _propTypes.default.any,
133
+ as: _propTypes.default.elementType,
134
+ toggleAs: _propTypes.default.elementType,
135
+ noCaret: _propTypes.default.bool,
136
+ style: _propTypes.default.object,
137
+ onClose: _propTypes.default.func,
138
+ onOpen: _propTypes.default.func,
139
+ onToggle: _propTypes.default.func,
140
+ onMouseEnter: _propTypes.default.func,
141
+ onMouseLeave: _propTypes.default.func,
142
+ onContextMenu: _propTypes.default.func,
143
+ onClick: _propTypes.default.func,
144
+ renderToggle: _propTypes.default.func
145
+ };
146
+ var _default = NavbarDropdown;
147
+ exports.default = _default;
@@ -0,0 +1,41 @@
1
+ import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
2
+ import React from 'react';
3
+ import { IconProps } from '@rsuite/icons/lib/Icon';
4
+ export interface NavbarDropdownItemProps<T = any> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> {
5
+ /** Active the current option */
6
+ active?: boolean;
7
+ /** Primary content */
8
+ children?: React.ReactNode;
9
+ /** You can use a custom element for this component */
10
+ as?: React.ElementType;
11
+ /** Whether to display the divider */
12
+ divider?: boolean;
13
+ /** Disable the current option */
14
+ disabled?: boolean;
15
+ /** The value of the current option */
16
+ eventKey?: T;
17
+ /** Displays a custom panel */
18
+ panel?: boolean;
19
+ /** Set the icon */
20
+ icon?: React.ReactElement<IconProps>;
21
+ /** The submenu that this menuitem controls (if exists) */
22
+ submenu?: React.ReactElement;
23
+ /**
24
+ * The sub-level menu appears from the right side by default, and when `pullLeft` is set, it appears from the left.
25
+ * @deprecated Submenus are now pointing the same direction.
26
+ */
27
+ pullLeft?: boolean;
28
+ /**
29
+ * Whether the submenu is opened.
30
+ * @deprecated
31
+ * @internal
32
+ */
33
+ open?: boolean;
34
+ /** Select the callback function for the current option */
35
+ onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
36
+ }
37
+ /**
38
+ * @private
39
+ */
40
+ declare const NavbarDropdownItem: RsRefForwardingComponent<'li', NavbarDropdownItemProps>;
41
+ export default NavbarDropdownItem;
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
19
+
20
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var _Navbar = require("./Navbar");
25
+
26
+ var _DisclosureContext = _interopRequireWildcard(require("../Disclosure/DisclosureContext"));
27
+
28
+ var _useRenderDropdownItem = require("../Dropdown/useRenderDropdownItem");
29
+
30
+ var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
31
+
32
+ /**
33
+ * @private
34
+ */
35
+ var NavbarDropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
36
+ var navbar = (0, _react.useContext)(_Navbar.NavbarContext);
37
+ var nav = (0, _react.useContext)(_NavContext.default);
38
+
39
+ if (!navbar || !nav) {
40
+ throw new Error('<Navbar.Dropdown.Item> must be rendered within a <Nav> component within a <Navbar> component.');
41
+ }
42
+
43
+ var _props$classPrefix = props.classPrefix,
44
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-item' : _props$classPrefix,
45
+ className = props.className,
46
+ activeProp = props.active,
47
+ eventKey = props.eventKey,
48
+ onSelect = props.onSelect,
49
+ icon = props.icon,
50
+ _props$as = props.as,
51
+ Component = _props$as === void 0 ? 'li' : _props$as,
52
+ divider = props.divider,
53
+ panel = props.panel,
54
+ children = props.children,
55
+ disabled = props.disabled,
56
+ restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["classPrefix", "className", "active", "eventKey", "onSelect", "icon", "as", "divider", "panel", "children", "disabled"]);
57
+
58
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
59
+ merge = _useClassNames.merge,
60
+ withClassPrefix = _useClassNames.withClassPrefix,
61
+ prefix = _useClassNames.prefix;
62
+
63
+ var handleSelectItem = (0, _react.useCallback)(function (event) {
64
+ var _nav$onSelect;
65
+
66
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
67
+ (_nav$onSelect = nav.onSelect) === null || _nav$onSelect === void 0 ? void 0 : _nav$onSelect.call(nav, eventKey, event);
68
+ }, [onSelect, eventKey, nav]);
69
+ var disclosure = (0, _react.useContext)(_DisclosureContext.default);
70
+
71
+ var _ref = disclosure !== null && disclosure !== void 0 ? disclosure : [],
72
+ dispatchDisclosure = _ref[1];
73
+
74
+ var handleClickNavbarDropdownItem = (0, _react.useCallback)(function (event) {
75
+ dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({
76
+ type: _DisclosureContext.DisclosureActionTypes.Hide,
77
+ cascade: true
78
+ });
79
+ handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);
80
+ }, [dispatchDisclosure, handleSelectItem]);
81
+ var selected = activeProp || !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(nav.activeKey, eventKey);
82
+ var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component);
83
+
84
+ if (divider) {
85
+ return renderDropdownItem((0, _extends2.default)({
86
+ ref: ref,
87
+ role: 'separator',
88
+ className: merge(prefix('divider'), className)
89
+ }, restProps));
90
+ }
91
+
92
+ if (panel) {
93
+ return renderDropdownItem((0, _extends2.default)({
94
+ ref: ref,
95
+ className: merge(prefix('panel'), className),
96
+ children: children
97
+ }, restProps));
98
+ }
99
+
100
+ var classes = merge(className, withClassPrefix({
101
+ 'with-icon': icon,
102
+ disabled: disabled,
103
+ divider: divider,
104
+ panel: panel,
105
+ active: selected
106
+ }));
107
+ var dataAttributes = {
108
+ 'data-event-key': eventKey
109
+ };
110
+
111
+ if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {
112
+ dataAttributes['data-event-key-type'] = typeof eventKey;
113
+ }
114
+
115
+ return renderDropdownItem((0, _extends2.default)({
116
+ ref: ref,
117
+ className: classes,
118
+ 'aria-current': selected || undefined
119
+ }, dataAttributes, restProps, {
120
+ onClick: (0, _utils.createChainedFunction)(handleClickNavbarDropdownItem, restProps.onClick),
121
+ children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {
122
+ className: prefix('menu-icon')
123
+ }), children)
124
+ }));
125
+ });
126
+
127
+ NavbarDropdownItem.displayName = 'Navbar.Dropdown.Item';
128
+ NavbarDropdownItem.propTypes = {
129
+ as: _propTypes.default.elementType,
130
+ divider: _propTypes.default.bool,
131
+ panel: _propTypes.default.bool,
132
+ trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover'])]),
133
+ open: (0, _deprecatePropType.default)(_propTypes.default.bool),
134
+ active: _propTypes.default.bool,
135
+ disabled: _propTypes.default.bool,
136
+ pullLeft: (0, _deprecatePropType.default)(_propTypes.default.bool),
137
+ submenu: _propTypes.default.element,
138
+ onSelect: _propTypes.default.func,
139
+ onClick: _propTypes.default.func,
140
+ icon: _propTypes.default.node,
141
+ eventKey: _propTypes.default.any,
142
+ className: _propTypes.default.string,
143
+ style: _propTypes.default.object,
144
+ children: _propTypes.default.node,
145
+ classPrefix: _propTypes.default.string,
146
+ tabIndex: _propTypes.default.number
147
+ };
148
+ var _default = NavbarDropdownItem;
149
+ exports.default = _default;