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.
- package/Button/styles/index.less +1 -0
- package/CHANGELOG.md +49 -0
- package/Dropdown/styles/index.less +8 -3
- package/Grid/styles/index.less +42 -10
- package/Nav/styles/index.less +7 -1
- package/Navbar/styles/index.less +6 -1
- package/Sidenav/styles/index.less +52 -16
- package/Table/styles/index.less +0 -2
- package/Tooltip/styles/index.less +4 -4
- package/cjs/@types/common.d.ts +6 -0
- package/cjs/Cascader/DropdownMenu.js +8 -3
- package/cjs/Cascader/utils.d.ts +1 -1
- package/cjs/Col/Col.d.ts +25 -5
- package/cjs/Col/Col.js +9 -1
- package/cjs/CustomProvider/CustomProvider.d.ts +20 -7
- package/cjs/CustomProvider/CustomProvider.js +24 -3
- package/cjs/Disclosure/Disclosure.d.ts +1 -1
- package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
- package/cjs/Dropdown/Dropdown.js +26 -110
- package/cjs/Dropdown/DropdownItem.js +14 -58
- package/cjs/Dropdown/DropdownMenu.js +32 -76
- package/cjs/Dropdown/DropdownToggle.js +4 -17
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/cjs/Form/Form.d.ts +8 -8
- package/cjs/Form/test/Form.test.d.ts +1 -0
- package/cjs/Form/test/Form.test.js +18 -0
- package/cjs/Menu/Menu.d.ts +1 -0
- package/cjs/Menu/Menu.js +1 -0
- package/cjs/Menu/MenuItem.d.ts +1 -0
- package/cjs/Menu/MenuItem.js +1 -0
- package/cjs/Menu/Menubar.d.ts +3 -0
- package/cjs/Menu/Menubar.js +4 -0
- package/cjs/Modal/test/Modal.test.d.ts +1 -0
- package/cjs/Modal/test/Modal.test.js +14 -0
- package/cjs/Modal/utils.d.ts +1 -1
- package/cjs/Nav/Nav.d.ts +7 -2
- package/cjs/Nav/Nav.js +105 -5
- package/cjs/Nav/NavContext.d.ts +2 -8
- package/cjs/Nav/NavContext.js +1 -7
- package/cjs/Nav/NavDropdown.d.ts +71 -0
- package/cjs/Nav/NavDropdown.js +193 -0
- package/cjs/Nav/NavDropdownItem.d.ts +39 -0
- package/cjs/Nav/NavDropdownItem.js +141 -0
- package/cjs/Nav/NavDropdownMenu.d.ts +37 -0
- package/cjs/Nav/NavDropdownMenu.js +162 -0
- package/cjs/Nav/NavDropdownToggle.d.ts +21 -0
- package/cjs/Nav/NavDropdownToggle.js +74 -0
- package/cjs/Nav/NavItem.d.ts +2 -0
- package/cjs/Nav/NavItem.js +13 -26
- package/cjs/Nav/NavMenu.d.ts +38 -0
- package/cjs/Nav/NavMenu.js +122 -0
- package/cjs/Nav/test/Nav.test.d.ts +1 -0
- package/cjs/Nav/test/Nav.test.js +17 -0
- package/cjs/Navbar/NavbarDropdown.d.ts +57 -0
- package/cjs/Navbar/NavbarDropdown.js +147 -0
- package/cjs/Navbar/NavbarDropdownItem.d.ts +41 -0
- package/cjs/Navbar/NavbarDropdownItem.js +149 -0
- package/cjs/Navbar/NavbarDropdownMenu.d.ts +48 -0
- package/cjs/Navbar/NavbarDropdownMenu.js +161 -0
- package/cjs/Navbar/NavbarDropdownToggle.d.ts +19 -0
- package/cjs/Navbar/NavbarDropdownToggle.js +72 -0
- package/cjs/Navbar/NavbarItem.d.ts +5 -2
- package/cjs/Navbar/NavbarItem.js +10 -4
- package/cjs/Overlay/Modal.d.ts +1 -4
- package/cjs/Overlay/Overlay.d.ts +3 -1
- package/cjs/Overlay/Overlay.js +6 -2
- package/cjs/Overlay/OverlayTrigger.d.ts +8 -4
- package/cjs/Overlay/OverlayTrigger.js +32 -4
- package/cjs/Overlay/Position.d.ts +3 -1
- package/cjs/Overlay/Position.js +12 -4
- package/cjs/Overlay/positionUtils.d.ts +11 -4
- package/cjs/Overlay/positionUtils.js +48 -2
- package/cjs/Panel/Panel.js +9 -6
- package/cjs/Picker/utils.d.ts +1 -1
- package/cjs/Picker/utils.js +22 -15
- package/cjs/Popover/Popover.d.ts +2 -0
- package/cjs/Popover/Popover.js +6 -3
- package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
- package/cjs/Sidenav/ExpandedSidenavDropdown.js +166 -0
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +141 -0
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +145 -0
- package/cjs/Sidenav/Sidenav.d.ts +8 -2
- package/cjs/Sidenav/Sidenav.js +1 -2
- package/cjs/Sidenav/SidenavDropdown.d.ts +30 -8
- package/cjs/Sidenav/SidenavDropdown.js +144 -73
- package/cjs/Sidenav/SidenavDropdownItem.d.ts +22 -5
- package/cjs/Sidenav/SidenavDropdownItem.js +88 -72
- package/cjs/Sidenav/SidenavDropdownMenu.d.ts +26 -16
- package/cjs/Sidenav/SidenavDropdownMenu.js +122 -90
- package/cjs/Sidenav/SidenavDropdownToggle.d.ts +19 -0
- package/cjs/Sidenav/SidenavDropdownToggle.js +73 -0
- package/cjs/Sidenav/SidenavItem.d.ts +7 -0
- package/cjs/Sidenav/SidenavItem.js +54 -37
- package/cjs/Sidenav/SidenavToggle.d.ts +5 -1
- package/cjs/Sidenav/SidenavToggle.js +25 -9
- package/cjs/Toggle/Toggle.d.ts +1 -1
- package/cjs/Tooltip/Tooltip.d.ts +3 -1
- package/cjs/Tooltip/Tooltip.js +8 -3
- package/cjs/Whisper/Whisper.d.ts +3 -5
- package/cjs/Whisper/Whisper.js +6 -1
- package/cjs/Whisper/test/Whisper.test.d.ts +1 -0
- package/cjs/Whisper/test/Whisper.test.js +23 -0
- package/cjs/index.d.ts +3 -3
- package/cjs/index.js +3 -2
- package/cjs/toaster/ToastContainer.d.ts +1 -0
- package/cjs/toaster/ToastContainer.js +4 -1
- package/cjs/toaster/index.d.ts +1 -0
- package/cjs/toaster/index.js +4 -1
- package/cjs/toaster/toaster.d.ts +0 -1
- package/cjs/toaster/useToaster.d.ts +12 -0
- package/cjs/toaster/useToaster.js +43 -0
- package/cjs/utils/constants.d.ts +1 -0
- package/cjs/utils/constants.js +3 -1
- package/cjs/utils/deprecateComponent.js +4 -6
- package/cjs/utils/deprecatePropType.d.ts +1 -5
- package/cjs/utils/deprecatePropType.js +7 -14
- package/cjs/utils/stringToObject.d.ts +1 -1
- package/cjs/utils/tplTransform.d.ts +1 -1
- package/cjs/utils/treeUtils.d.ts +3 -3
- package/cjs/utils/treeUtils.js +8 -10
- package/cjs/utils/useCustom.d.ts +1 -1
- package/cjs/utils/useCustom.js +5 -3
- package/cjs/utils/useFocus.d.ts +1 -1
- package/cjs/utils/useInternalId.d.ts +1 -1
- package/cjs/utils/useInternalId.js +2 -2
- package/cjs/utils/warnOnce.d.ts +9 -0
- package/cjs/utils/warnOnce.js +22 -0
- package/dist/rsuite-rtl.css +735 -56
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +735 -56
- package/dist/rsuite.js +363 -121
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +6 -0
- package/esm/Cascader/DropdownMenu.js +8 -3
- package/esm/Cascader/utils.d.ts +1 -1
- package/esm/Col/Col.d.ts +25 -5
- package/esm/Col/Col.js +10 -2
- package/esm/CustomProvider/CustomProvider.d.ts +20 -7
- package/esm/CustomProvider/CustomProvider.js +22 -3
- package/esm/Disclosure/Disclosure.d.ts +1 -1
- package/esm/Disclosure/DisclosureContext.d.ts +1 -1
- package/esm/Dropdown/Dropdown.js +25 -105
- package/esm/Dropdown/DropdownItem.js +13 -55
- package/esm/Dropdown/DropdownMenu.js +31 -76
- package/esm/Dropdown/DropdownToggle.js +4 -14
- package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/esm/Form/Form.d.ts +8 -8
- package/esm/Form/test/Form.test.d.ts +1 -0
- package/esm/Form/test/Form.test.js +11 -0
- package/esm/Menu/Menu.d.ts +1 -0
- package/esm/Menu/Menu.js +1 -0
- package/esm/Menu/MenuItem.d.ts +1 -0
- package/esm/Menu/MenuItem.js +1 -0
- package/esm/Menu/Menubar.d.ts +3 -0
- package/esm/Menu/Menubar.js +4 -0
- package/esm/Modal/test/Modal.test.d.ts +1 -0
- package/esm/Modal/test/Modal.test.js +9 -0
- package/esm/Modal/utils.d.ts +1 -1
- package/esm/Nav/Nav.d.ts +7 -2
- package/esm/Nav/Nav.js +96 -5
- package/esm/Nav/NavContext.d.ts +2 -8
- package/esm/Nav/NavContext.js +1 -6
- package/esm/Nav/NavDropdown.d.ts +71 -0
- package/esm/Nav/NavDropdown.js +170 -0
- package/esm/Nav/NavDropdownItem.d.ts +39 -0
- package/esm/Nav/NavDropdownItem.js +123 -0
- package/esm/Nav/NavDropdownMenu.d.ts +37 -0
- package/esm/Nav/NavDropdownMenu.js +143 -0
- package/esm/Nav/NavDropdownToggle.d.ts +21 -0
- package/esm/Nav/NavDropdownToggle.js +57 -0
- package/esm/Nav/NavItem.d.ts +2 -0
- package/esm/Nav/NavItem.js +13 -21
- package/esm/Nav/NavMenu.d.ts +38 -0
- package/esm/Nav/NavMenu.js +98 -0
- package/esm/Nav/test/Nav.test.d.ts +1 -0
- package/esm/Nav/test/Nav.test.js +11 -0
- package/esm/Navbar/NavbarDropdown.d.ts +57 -0
- package/esm/Navbar/NavbarDropdown.js +124 -0
- package/esm/Navbar/NavbarDropdownItem.d.ts +41 -0
- package/esm/Navbar/NavbarDropdownItem.js +128 -0
- package/esm/Navbar/NavbarDropdownMenu.d.ts +48 -0
- package/esm/Navbar/NavbarDropdownMenu.js +140 -0
- package/esm/Navbar/NavbarDropdownToggle.d.ts +19 -0
- package/esm/Navbar/NavbarDropdownToggle.js +55 -0
- package/esm/Navbar/NavbarItem.d.ts +5 -2
- package/esm/Navbar/NavbarItem.js +11 -4
- package/esm/Overlay/Modal.d.ts +1 -4
- package/esm/Overlay/Overlay.d.ts +3 -1
- package/esm/Overlay/Overlay.js +6 -2
- package/esm/Overlay/OverlayTrigger.d.ts +8 -4
- package/esm/Overlay/OverlayTrigger.js +33 -5
- package/esm/Overlay/Position.d.ts +3 -1
- package/esm/Overlay/Position.js +12 -4
- package/esm/Overlay/positionUtils.d.ts +11 -4
- package/esm/Overlay/positionUtils.js +46 -2
- package/esm/Panel/Panel.js +9 -6
- package/esm/Picker/utils.d.ts +1 -1
- package/esm/Picker/utils.js +22 -14
- package/esm/Popover/Popover.d.ts +2 -0
- package/esm/Popover/Popover.js +6 -3
- package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
- package/esm/Sidenav/ExpandedSidenavDropdown.js +140 -0
- package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +120 -0
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +121 -0
- package/esm/Sidenav/Sidenav.d.ts +8 -2
- package/esm/Sidenav/Sidenav.js +1 -2
- package/esm/Sidenav/SidenavDropdown.d.ts +30 -8
- package/esm/Sidenav/SidenavDropdown.js +145 -75
- package/esm/Sidenav/SidenavDropdownItem.d.ts +22 -5
- package/esm/Sidenav/SidenavDropdownItem.js +87 -71
- package/esm/Sidenav/SidenavDropdownMenu.d.ts +26 -16
- package/esm/Sidenav/SidenavDropdownMenu.js +122 -86
- package/esm/Sidenav/SidenavDropdownToggle.d.ts +19 -0
- package/esm/Sidenav/SidenavDropdownToggle.js +56 -0
- package/esm/Sidenav/SidenavItem.d.ts +7 -0
- package/esm/Sidenav/SidenavItem.js +53 -38
- package/esm/Sidenav/SidenavToggle.d.ts +5 -1
- package/esm/Sidenav/SidenavToggle.js +22 -9
- package/esm/Toggle/Toggle.d.ts +1 -1
- package/esm/Tooltip/Tooltip.d.ts +3 -1
- package/esm/Tooltip/Tooltip.js +8 -3
- package/esm/Whisper/Whisper.d.ts +3 -5
- package/esm/Whisper/Whisper.js +6 -1
- package/esm/Whisper/test/Whisper.test.d.ts +1 -0
- package/esm/Whisper/test/Whisper.test.js +16 -0
- package/esm/index.d.ts +3 -3
- package/esm/index.js +1 -1
- package/esm/toaster/ToastContainer.d.ts +1 -0
- package/esm/toaster/ToastContainer.js +1 -0
- package/esm/toaster/index.d.ts +1 -0
- package/esm/toaster/index.js +1 -0
- package/esm/toaster/toaster.d.ts +0 -1
- package/esm/toaster/useToaster.d.ts +12 -0
- package/esm/toaster/useToaster.js +34 -0
- package/esm/utils/constants.d.ts +1 -0
- package/esm/utils/constants.js +1 -0
- package/esm/utils/deprecateComponent.js +3 -4
- package/esm/utils/deprecatePropType.d.ts +1 -5
- package/esm/utils/deprecatePropType.js +3 -13
- package/esm/utils/stringToObject.d.ts +1 -1
- package/esm/utils/tplTransform.d.ts +1 -1
- package/esm/utils/treeUtils.d.ts +3 -3
- package/esm/utils/treeUtils.js +8 -10
- package/esm/utils/useCustom.d.ts +1 -1
- package/esm/utils/useCustom.js +5 -3
- package/esm/utils/useFocus.d.ts +1 -1
- package/esm/utils/useInternalId.d.ts +1 -1
- package/esm/utils/useInternalId.js +2 -2
- package/esm/utils/warnOnce.d.ts +9 -0
- package/esm/utils/warnOnce.js +18 -0
- package/package.json +1 -1
- package/styles/color-modes/dark.less +3 -0
- package/styles/color-modes/high-contrast.less +3 -0
- package/styles/color-modes/light.less +5 -2
- package/styles/variables.less +33 -12
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Locale } from '../locales';
|
|
3
|
+
import { ToastContainerInstance } from '../toaster/ToastContainer';
|
|
3
4
|
export interface CustomValue<T = Locale> {
|
|
4
5
|
/** Language configuration */
|
|
5
6
|
locale: T;
|
|
@@ -33,6 +34,10 @@ export interface CustomValue<T = Locale> {
|
|
|
33
34
|
*
|
|
34
35
|
* */
|
|
35
36
|
parseDate: (dateString: string, formatString: string) => Date;
|
|
37
|
+
/**
|
|
38
|
+
* A Map of toast containers
|
|
39
|
+
*/
|
|
40
|
+
toasters?: React.MutableRefObject<Map<string, ToastContainerInstance>>;
|
|
36
41
|
}
|
|
37
42
|
export interface CustomProviderProps<T = Locale> extends Partial<CustomValue<T>> {
|
|
38
43
|
/** Supported themes */
|
|
@@ -41,6 +46,8 @@ export interface CustomProviderProps<T = Locale> extends Partial<CustomValue<T>>
|
|
|
41
46
|
classPrefix?: string;
|
|
42
47
|
/** Primary content */
|
|
43
48
|
children?: React.ReactNode;
|
|
49
|
+
/** Sets a container for toast rendering */
|
|
50
|
+
toastContainer?: HTMLElement | (() => HTMLElement | null) | null;
|
|
44
51
|
}
|
|
45
52
|
declare const CustomContext: React.Context<CustomProviderProps<{
|
|
46
53
|
common?: {
|
|
@@ -75,7 +82,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
75
82
|
yesterday: string;
|
|
76
83
|
hours: string;
|
|
77
84
|
minutes: string;
|
|
78
|
-
seconds: string;
|
|
85
|
+
seconds: string;
|
|
79
86
|
formattedMonthPattern: string;
|
|
80
87
|
formattedDayPattern: string;
|
|
81
88
|
dateLocale: any;
|
|
@@ -93,7 +100,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
93
100
|
yesterday: string;
|
|
94
101
|
hours: string;
|
|
95
102
|
minutes: string;
|
|
96
|
-
seconds: string;
|
|
103
|
+
seconds: string;
|
|
97
104
|
formattedMonthPattern: string;
|
|
98
105
|
formattedDayPattern: string;
|
|
99
106
|
dateLocale: any;
|
|
@@ -112,7 +119,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
112
119
|
yesterday: string;
|
|
113
120
|
hours: string;
|
|
114
121
|
minutes: string;
|
|
115
|
-
seconds: string;
|
|
122
|
+
seconds: string;
|
|
116
123
|
formattedMonthPattern: string;
|
|
117
124
|
formattedDayPattern: string;
|
|
118
125
|
dateLocale: any;
|
|
@@ -125,6 +132,9 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
125
132
|
} | undefined;
|
|
126
133
|
InputPicker?: {
|
|
127
134
|
newItem: string;
|
|
135
|
+
/**
|
|
136
|
+
* A Map of toast containers
|
|
137
|
+
*/
|
|
128
138
|
createOption: string;
|
|
129
139
|
} | undefined;
|
|
130
140
|
Uploader?: {
|
|
@@ -179,7 +189,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
179
189
|
yesterday: string;
|
|
180
190
|
hours: string;
|
|
181
191
|
minutes: string;
|
|
182
|
-
seconds: string;
|
|
192
|
+
seconds: string;
|
|
183
193
|
formattedMonthPattern: string;
|
|
184
194
|
formattedDayPattern: string;
|
|
185
195
|
dateLocale: any;
|
|
@@ -197,7 +207,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
197
207
|
yesterday: string;
|
|
198
208
|
hours: string;
|
|
199
209
|
minutes: string;
|
|
200
|
-
seconds: string;
|
|
210
|
+
seconds: string;
|
|
201
211
|
formattedMonthPattern: string;
|
|
202
212
|
formattedDayPattern: string;
|
|
203
213
|
dateLocale: any;
|
|
@@ -216,7 +226,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
216
226
|
yesterday: string;
|
|
217
227
|
hours: string;
|
|
218
228
|
minutes: string;
|
|
219
|
-
seconds: string;
|
|
229
|
+
seconds: string;
|
|
220
230
|
formattedMonthPattern: string;
|
|
221
231
|
formattedDayPattern: string;
|
|
222
232
|
dateLocale: any;
|
|
@@ -229,6 +239,9 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
229
239
|
} | undefined;
|
|
230
240
|
InputPicker?: {
|
|
231
241
|
newItem: string;
|
|
242
|
+
/**
|
|
243
|
+
* A Map of toast containers
|
|
244
|
+
*/
|
|
232
245
|
createOption: string;
|
|
233
246
|
} | undefined;
|
|
234
247
|
Uploader?: {
|
|
@@ -250,6 +263,6 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
250
263
|
off: string;
|
|
251
264
|
} | undefined;
|
|
252
265
|
}>>;
|
|
253
|
-
declare const CustomProvider: (props: CustomProviderProps) => JSX.Element;
|
|
266
|
+
declare const CustomProvider: (props: Omit<CustomProviderProps, 'toasters'>) => JSX.Element;
|
|
254
267
|
export { CustomContext, Consumer as CustomConsumer };
|
|
255
268
|
export default CustomProvider;
|
|
@@ -17,6 +17,10 @@ var _prefix = require("../utils/prefix");
|
|
|
17
17
|
|
|
18
18
|
var _DOMHelper = require("../DOMHelper");
|
|
19
19
|
|
|
20
|
+
var _ToastContainer = _interopRequireWildcard(require("../toaster/ToastContainer"));
|
|
21
|
+
|
|
22
|
+
var _utils = require("../utils");
|
|
23
|
+
|
|
20
24
|
var CustomContext = /*#__PURE__*/_react.default.createContext({});
|
|
21
25
|
|
|
22
26
|
exports.CustomContext = CustomContext;
|
|
@@ -30,12 +34,21 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
30
34
|
_props$classPrefix = props.classPrefix,
|
|
31
35
|
classPrefix = _props$classPrefix === void 0 ? (0, _prefix.getClassNamePrefix)() : _props$classPrefix,
|
|
32
36
|
theme = props.theme,
|
|
33
|
-
|
|
37
|
+
container = props.toastContainer,
|
|
38
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children", "classPrefix", "theme", "toastContainer"]);
|
|
39
|
+
|
|
40
|
+
var toasters = _react.default.useRef(new Map());
|
|
41
|
+
|
|
42
|
+
var _usePortal = (0, _utils.usePortal)({
|
|
43
|
+
container: container
|
|
44
|
+
}),
|
|
45
|
+
Portal = _usePortal.Portal;
|
|
34
46
|
|
|
35
47
|
var value = _react.default.useMemo(function () {
|
|
36
48
|
return (0, _extends2.default)({
|
|
37
49
|
classPrefix: classPrefix,
|
|
38
|
-
theme: theme
|
|
50
|
+
theme: theme,
|
|
51
|
+
toasters: toasters
|
|
39
52
|
}, rest);
|
|
40
53
|
}, [classPrefix, theme, rest]);
|
|
41
54
|
|
|
@@ -52,7 +65,15 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
52
65
|
}, [classPrefix, theme]);
|
|
53
66
|
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
54
67
|
value: value
|
|
55
|
-
}, children)
|
|
68
|
+
}, children, /*#__PURE__*/_react.default.createElement(Portal, null, _ToastContainer.toastPlacements.map(function (placement) {
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(_ToastContainer.default, {
|
|
70
|
+
key: placement,
|
|
71
|
+
placement: placement,
|
|
72
|
+
ref: function ref(_ref) {
|
|
73
|
+
toasters.current.set(placement, _ref);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
})));
|
|
56
77
|
};
|
|
57
78
|
|
|
58
79
|
var _default = CustomProvider;
|
|
@@ -15,7 +15,7 @@ export interface DisclosureProps {
|
|
|
15
15
|
/** Callback when disclosure button is being activated to update the open state */
|
|
16
16
|
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
17
17
|
/** What mouse events should disclosure reacts to */
|
|
18
|
-
trigger?: DisclosureTrigger[];
|
|
18
|
+
trigger?: readonly DisclosureTrigger[];
|
|
19
19
|
}
|
|
20
20
|
export interface DisclosureComponent extends React.FC<DisclosureProps> {
|
|
21
21
|
Button: typeof DisclosureButton;
|
package/cjs/Dropdown/Dropdown.js
CHANGED
|
@@ -23,8 +23,6 @@ var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
|
|
|
23
23
|
|
|
24
24
|
var _utils = require("../utils");
|
|
25
25
|
|
|
26
|
-
var _Sidenav = require("../Sidenav/Sidenav");
|
|
27
|
-
|
|
28
26
|
var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
|
|
29
27
|
|
|
30
28
|
var _DropdownItem = _interopRequireDefault(require("./DropdownItem"));
|
|
@@ -35,22 +33,16 @@ var _Menu = _interopRequireDefault(require("../Menu/Menu"));
|
|
|
35
33
|
|
|
36
34
|
var _DropdownToggle = _interopRequireDefault(require("./DropdownToggle"));
|
|
37
35
|
|
|
38
|
-
var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
|
|
39
|
-
|
|
40
|
-
var _MenuItem = _interopRequireDefault(require("../Menu/MenuItem"));
|
|
41
|
-
|
|
42
36
|
var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
|
|
43
37
|
|
|
44
|
-
var _Navbar = require("../Navbar");
|
|
45
|
-
|
|
46
|
-
var _Disclosure = _interopRequireDefault(require("../Disclosure/Disclosure"));
|
|
47
|
-
|
|
48
|
-
var _SidenavDropdown = _interopRequireDefault(require("../Sidenav/SidenavDropdown"));
|
|
49
|
-
|
|
50
38
|
var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
|
|
51
39
|
|
|
52
40
|
var _DropdownState = require("./DropdownState");
|
|
53
41
|
|
|
42
|
+
var _warnOnce = _interopRequireDefault(require("../utils/warnOnce"));
|
|
43
|
+
|
|
44
|
+
var _Nav = _interopRequireDefault(require("../Nav"));
|
|
45
|
+
|
|
54
46
|
/**
|
|
55
47
|
* The <Dropdown> API
|
|
56
48
|
* When used inside <Sidenav>, renders a <TreeviewRootItem>;
|
|
@@ -58,7 +50,7 @@ var _DropdownState = require("./DropdownState");
|
|
|
58
50
|
*/
|
|
59
51
|
var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
60
52
|
var activeKey = props.activeKey,
|
|
61
|
-
|
|
53
|
+
onSelect = props.onSelect,
|
|
62
54
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["activeKey", "onSelect"]);
|
|
63
55
|
var _rest$as = rest.as,
|
|
64
56
|
Component = _rest$as === void 0 ? 'div' : _rest$as,
|
|
@@ -66,7 +58,6 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
66
58
|
onClose = rest.onClose,
|
|
67
59
|
onOpen = rest.onOpen,
|
|
68
60
|
onToggle = rest.onToggle,
|
|
69
|
-
eventKey = rest.eventKey,
|
|
70
61
|
_rest$trigger = rest.trigger,
|
|
71
62
|
trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,
|
|
72
63
|
_rest$placement = rest.placement,
|
|
@@ -82,30 +73,17 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
82
73
|
children = rest.children,
|
|
83
74
|
menuStyle = rest.menuStyle,
|
|
84
75
|
style = rest.style,
|
|
85
|
-
toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, ["as", "title", "onClose", "onOpen", "onToggle", "
|
|
86
|
-
|
|
87
|
-
var _useContext = (0, _react.useContext)(_NavContext.default),
|
|
88
|
-
onSelectFromNav = _useContext.onSelect;
|
|
89
|
-
|
|
90
|
-
var emitSelect = (0, _react.useCallback)(function (eventKey, event) {
|
|
91
|
-
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>
|
|
92
|
-
|
|
93
|
-
onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);
|
|
94
|
-
}, [onSelectProp, onSelectFromNav]);
|
|
76
|
+
toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, ["as", "title", "onClose", "onOpen", "onToggle", "trigger", "placement", "toggleAs", "toggleClassName", "open", "defaultOpen", "classPrefix", "className", "disabled", "children", "menuStyle", "style"]);
|
|
77
|
+
var nav = (0, _react.useContext)(_NavContext.default);
|
|
95
78
|
|
|
96
79
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
97
80
|
merge = _useClassNames.merge,
|
|
98
|
-
withClassPrefix = _useClassNames.withClassPrefix
|
|
99
|
-
prefix = _useClassNames.prefix;
|
|
81
|
+
withClassPrefix = _useClassNames.withClassPrefix;
|
|
100
82
|
|
|
101
83
|
var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),
|
|
102
84
|
withMenuClassPrefix = _useClassNames2.withClassPrefix,
|
|
103
85
|
mergeMenuClassName = _useClassNames2.merge;
|
|
104
86
|
|
|
105
|
-
var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),
|
|
106
|
-
withNavItemClassPrefix = _useClassNames3.withClassPrefix,
|
|
107
|
-
mergeNavItemClassNames = _useClassNames3.merge;
|
|
108
|
-
|
|
109
87
|
var menuButtonTriggers = (0, _react.useMemo)(function () {
|
|
110
88
|
if (!trigger) {
|
|
111
89
|
return undefined;
|
|
@@ -125,9 +103,6 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
125
103
|
return triggerMap[t];
|
|
126
104
|
});
|
|
127
105
|
}, [trigger]);
|
|
128
|
-
var parentMenu = (0, _react.useContext)(_MenuContext.default);
|
|
129
|
-
var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
|
|
130
|
-
var navbar = (0, _react.useContext)(_Navbar.NavbarContext);
|
|
131
106
|
|
|
132
107
|
var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),
|
|
133
108
|
items = _useReducer[0].items,
|
|
@@ -141,54 +116,18 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
141
116
|
var dropdownContextValue = (0, _react.useMemo)(function () {
|
|
142
117
|
return {
|
|
143
118
|
activeKey: activeKey,
|
|
144
|
-
onSelect:
|
|
119
|
+
onSelect: onSelect,
|
|
145
120
|
hasSelectedItem: hasSelectedItem,
|
|
146
121
|
dispatch: dispatch
|
|
147
122
|
};
|
|
148
|
-
}, [activeKey,
|
|
123
|
+
}, [activeKey, onSelect, hasSelectedItem, dispatch]); // Deprecate <Dropdown> within <Nav> usage
|
|
124
|
+
// in favor of <Nav.Menu> API
|
|
149
125
|
|
|
150
|
-
if (
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({
|
|
126
|
+
if (nav) {
|
|
127
|
+
(0, _warnOnce.default)('Usage of <Dropdown> within <Nav> is deprecated. Replace with <Nav.Menu>');
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement(_Nav.default.Menu, (0, _extends2.default)({
|
|
154
129
|
ref: ref
|
|
155
|
-
},
|
|
156
|
-
} // Renders a disclosure when used inside <Navbar>
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (navbar) {
|
|
160
|
-
return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {
|
|
161
|
-
value: dropdownContextValue
|
|
162
|
-
}, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {
|
|
163
|
-
hideOnClickOutside: true
|
|
164
|
-
}, function (_ref, containerRef) {
|
|
165
|
-
var _withClassPrefix;
|
|
166
|
-
|
|
167
|
-
var open = _ref.open;
|
|
168
|
-
var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));
|
|
169
|
-
return /*#__PURE__*/_react.default.createElement(Component, {
|
|
170
|
-
ref: (0, _utils.mergeRefs)(ref, containerRef),
|
|
171
|
-
className: classes,
|
|
172
|
-
style: style
|
|
173
|
-
}, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (buttonProps, buttonRef) {
|
|
174
|
-
return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({
|
|
175
|
-
ref: buttonRef,
|
|
176
|
-
as: toggleAs,
|
|
177
|
-
className: toggleClassName,
|
|
178
|
-
placement: placement,
|
|
179
|
-
disabled: disabled
|
|
180
|
-
}, (0, _omit.default)(buttonProps, ['open']), toggleProps), title);
|
|
181
|
-
}), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, null, function (_ref2, elementRef) {
|
|
182
|
-
var open = _ref2.open;
|
|
183
|
-
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
184
|
-
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
185
|
-
ref: elementRef,
|
|
186
|
-
className: menuClassName,
|
|
187
|
-
style: menuStyle,
|
|
188
|
-
hidden: !open
|
|
189
|
-
}, children);
|
|
190
|
-
}));
|
|
191
|
-
}));
|
|
130
|
+
}, props));
|
|
192
131
|
}
|
|
193
132
|
|
|
194
133
|
var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {
|
|
@@ -201,24 +140,6 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
201
140
|
}, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid'])), title);
|
|
202
141
|
};
|
|
203
142
|
|
|
204
|
-
if (parentMenu) {
|
|
205
|
-
renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {
|
|
206
|
-
return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
207
|
-
disabled: disabled
|
|
208
|
-
}, function (_ref3, menuitemRef) {
|
|
209
|
-
var active = _ref3.active,
|
|
210
|
-
menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, ["active"]);
|
|
211
|
-
return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({
|
|
212
|
-
ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),
|
|
213
|
-
as: toggleAs,
|
|
214
|
-
className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({
|
|
215
|
-
focus: active
|
|
216
|
-
}))
|
|
217
|
-
}, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid')), title);
|
|
218
|
-
});
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
|
|
222
143
|
return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {
|
|
223
144
|
value: dropdownContextValue
|
|
224
145
|
}, /*#__PURE__*/_react.default.createElement(_Menu.default, {
|
|
@@ -227,24 +148,19 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
227
148
|
menuButtonText: title,
|
|
228
149
|
renderMenuButton: renderMenuButton,
|
|
229
150
|
openMenuOn: menuButtonTriggers,
|
|
230
|
-
renderMenuPopup: function renderMenuPopup(
|
|
231
|
-
var open =
|
|
232
|
-
popupProps = (0, _objectWithoutPropertiesLoose2.default)(
|
|
233
|
-
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({}));
|
|
234
|
-
|
|
235
|
-
var showHeader = !!sidenav;
|
|
151
|
+
renderMenuPopup: function renderMenuPopup(_ref, popupRef) {
|
|
152
|
+
var open = _ref.open,
|
|
153
|
+
popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["open"]);
|
|
154
|
+
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({}));
|
|
236
155
|
return /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
|
|
237
156
|
ref: popupRef,
|
|
238
157
|
className: menuClassName,
|
|
239
158
|
style: menuStyle,
|
|
240
159
|
hidden: !open
|
|
241
|
-
}, popupProps),
|
|
242
|
-
className: prefix('header')
|
|
243
|
-
}, title), children);
|
|
160
|
+
}, popupProps), children);
|
|
244
161
|
},
|
|
245
|
-
onToggleMenu: function onToggleMenu(open
|
|
162
|
+
onToggleMenu: function onToggleMenu(open) {
|
|
246
163
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);
|
|
247
|
-
sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);
|
|
248
164
|
|
|
249
165
|
if (open) {
|
|
250
166
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
@@ -252,12 +168,12 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
252
168
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
253
169
|
}
|
|
254
170
|
}
|
|
255
|
-
}, function (
|
|
256
|
-
var
|
|
171
|
+
}, function (_ref2, menuContainerRef) {
|
|
172
|
+
var _withClassPrefix;
|
|
257
173
|
|
|
258
|
-
var open =
|
|
259
|
-
menuContainer = (0, _objectWithoutPropertiesLoose2.default)(
|
|
260
|
-
var classes = merge(className, withClassPrefix((
|
|
174
|
+
var open = _ref2.open,
|
|
175
|
+
menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["open"]);
|
|
176
|
+
var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix['selected-within'] = hasSelectedItem, _withClassPrefix)));
|
|
261
177
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
262
178
|
ref: (0, _utils.mergeRefs)(ref, menuContainerRef),
|
|
263
179
|
className: classes
|
|
@@ -15,8 +15,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
|
-
var _Sidenav = require("../Sidenav/Sidenav");
|
|
19
|
-
|
|
20
18
|
var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
|
|
21
19
|
|
|
22
20
|
var _MenuItem = _interopRequireDefault(require("../Menu/MenuItem"));
|
|
@@ -27,12 +25,6 @@ var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
|
27
25
|
|
|
28
26
|
var _utils = require("../utils");
|
|
29
27
|
|
|
30
|
-
var _Navbar = require("../Navbar/Navbar");
|
|
31
|
-
|
|
32
|
-
var _SidenavDropdownItem = _interopRequireDefault(require("../Sidenav/SidenavDropdownItem"));
|
|
33
|
-
|
|
34
|
-
var _DisclosureContext = _interopRequireWildcard(require("../Disclosure/DisclosureContext"));
|
|
35
|
-
|
|
36
28
|
var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
|
|
37
29
|
|
|
38
30
|
var _useInternalId = _interopRequireDefault(require("../utils/useInternalId"));
|
|
@@ -41,6 +33,10 @@ var _DropdownState = require("./DropdownState");
|
|
|
41
33
|
|
|
42
34
|
var _useRenderDropdownItem = require("./useRenderDropdownItem");
|
|
43
35
|
|
|
36
|
+
var _warnOnce = _interopRequireDefault(require("../utils/warnOnce"));
|
|
37
|
+
|
|
38
|
+
var _Nav = _interopRequireDefault(require("../Nav"));
|
|
39
|
+
|
|
44
40
|
/**
|
|
45
41
|
* The <Dropdown.Item> API
|
|
46
42
|
* When used inside <Sidenav>, renders a <TreeviewItem>
|
|
@@ -76,21 +72,7 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
76
72
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
|
|
77
73
|
dropdown === null || dropdown === void 0 ? void 0 : (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);
|
|
78
74
|
}, [onSelect, eventKey, dropdown]);
|
|
79
|
-
var
|
|
80
|
-
var navbar = (0, _react.useContext)(_Navbar.NavbarContext);
|
|
81
|
-
var disclosure = (0, _react.useContext)(_DisclosureContext.default);
|
|
82
|
-
|
|
83
|
-
var _ref = disclosure !== null && disclosure !== void 0 ? disclosure : [],
|
|
84
|
-
dispatchDisclosure = _ref[1];
|
|
85
|
-
|
|
86
|
-
var handleClickNavbarDropdownItem = (0, _react.useCallback)(function (event) {
|
|
87
|
-
dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({
|
|
88
|
-
type: _DisclosureContext.DisclosureActionTypes.Hide,
|
|
89
|
-
cascade: true
|
|
90
|
-
});
|
|
91
|
-
handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);
|
|
92
|
-
}, [dispatchDisclosure, handleSelectItem]);
|
|
93
|
-
var selected = activeProp || !(0, _isNil.default)(eventKey) && ((0, _utils.shallowEqual)(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey) || (0, _utils.shallowEqual)(nav === null || nav === void 0 ? void 0 : nav.activeKey, eventKey));
|
|
75
|
+
var selected = activeProp || !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey);
|
|
94
76
|
var dispatch = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dispatch;
|
|
95
77
|
(0, _react.useEffect)(function () {
|
|
96
78
|
if (dispatch) {
|
|
@@ -113,10 +95,12 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
113
95
|
};
|
|
114
96
|
}
|
|
115
97
|
}, [internalId, selected, dispatch]);
|
|
116
|
-
var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component);
|
|
98
|
+
var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component); // If using <Dropdown.Item> within <Nav>
|
|
99
|
+
// Suggest <Nav.Item>
|
|
117
100
|
|
|
118
|
-
if (
|
|
119
|
-
|
|
101
|
+
if (nav) {
|
|
102
|
+
(0, _warnOnce.default)('Usage of <Dropdown.Item> within <Nav> is deprecated. Replace with <Nav.Item> within <Nav.Menu>.');
|
|
103
|
+
return /*#__PURE__*/_react.default.createElement(_Nav.default.Item, (0, _extends2.default)({
|
|
120
104
|
ref: ref
|
|
121
105
|
}, props));
|
|
122
106
|
}
|
|
@@ -137,42 +121,14 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
137
121
|
}, restProps));
|
|
138
122
|
}
|
|
139
123
|
|
|
140
|
-
if (navbar) {
|
|
141
|
-
var classes = merge(className, withClassPrefix({
|
|
142
|
-
'with-icon': icon,
|
|
143
|
-
disabled: disabled,
|
|
144
|
-
divider: divider,
|
|
145
|
-
panel: panel,
|
|
146
|
-
active: selected
|
|
147
|
-
}));
|
|
148
|
-
var dataAttributes = {
|
|
149
|
-
'data-event-key': eventKey
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {
|
|
153
|
-
dataAttributes['data-event-key-type'] = typeof eventKey;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
return renderDropdownItem((0, _extends2.default)({
|
|
157
|
-
ref: ref,
|
|
158
|
-
className: classes,
|
|
159
|
-
'aria-current': selected || undefined
|
|
160
|
-
}, dataAttributes, restProps, {
|
|
161
|
-
onClick: (0, _utils.createChainedFunction)(handleClickNavbarDropdownItem, restProps.onClick),
|
|
162
|
-
children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
163
|
-
className: prefix('menu-icon')
|
|
164
|
-
}), children)
|
|
165
|
-
}));
|
|
166
|
-
}
|
|
167
|
-
|
|
168
124
|
return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
169
125
|
selected: selected,
|
|
170
126
|
disabled: disabled,
|
|
171
127
|
onActivate: handleSelectItem
|
|
172
|
-
}, function (
|
|
173
|
-
var selected =
|
|
174
|
-
active =
|
|
175
|
-
menuitem = (0, _objectWithoutPropertiesLoose2.default)(
|
|
128
|
+
}, function (_ref, menuitemRef) {
|
|
129
|
+
var selected = _ref.selected,
|
|
130
|
+
active = _ref.active,
|
|
131
|
+
menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["selected", "active"]);
|
|
176
132
|
var classes = merge(className, withClassPrefix({
|
|
177
133
|
'with-icon': icon,
|
|
178
134
|
active: selected,
|