rsuite 5.12.0 → 5.13.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/CHANGELOG.md +10 -0
- package/Nav/styles/index.less +7 -1
- package/Navbar/styles/index.less +6 -1
- package/Sidenav/styles/index.less +7 -5
- package/cjs/Cascader/DropdownMenu.js +8 -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/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/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 +26 -0
- package/cjs/Nav/NavDropdownMenu.js +156 -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/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 +37 -0
- package/cjs/Navbar/NavbarDropdownMenu.js +155 -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/Picker/utils.js +22 -15
- 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 +72 -0
- package/cjs/Sidenav/SidenavItem.d.ts +3 -0
- package/cjs/Sidenav/SidenavItem.js +22 -14
- 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/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 +18 -9
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +18 -9
- package/dist/rsuite.js +275 -22
- 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/Cascader/DropdownMenu.js +8 -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/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/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 +26 -0
- package/esm/Nav/NavDropdownMenu.js +138 -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/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 +37 -0
- package/esm/Navbar/NavbarDropdownMenu.js +135 -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/Picker/utils.js +22 -14
- 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 +55 -0
- package/esm/Sidenav/SidenavItem.d.ts +3 -0
- package/esm/Sidenav/SidenavItem.js +23 -15
- 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/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/variables.less +1 -0
|
@@ -100,11 +100,13 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
100
100
|
return /*#__PURE__*/React.createElement(DropdownMenuItem, {
|
|
101
101
|
classPrefix: "picker-cascader-menu-item",
|
|
102
102
|
as: 'li',
|
|
103
|
+
role: "treeitem",
|
|
103
104
|
key: layer + "-" + onlyKey,
|
|
104
105
|
disabled: disabled,
|
|
105
106
|
active: !isUndefined(activeItemValue) && shallowEqual(activeItemValue, value),
|
|
106
107
|
focus: focus,
|
|
107
108
|
value: value,
|
|
109
|
+
"aria-owns": node.children ? 'treeitem-' + value + '-children' : undefined,
|
|
108
110
|
className: children ? prefix('has-children') : undefined,
|
|
109
111
|
onSelect: function onSelect(_value, event) {
|
|
110
112
|
return handleSelect(layer, node, event);
|
|
@@ -120,12 +122,13 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
120
122
|
};
|
|
121
123
|
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
122
124
|
var onlyKey = layer + "_" + children.length;
|
|
125
|
+
var parentNode = cascadePaths[layer - 1];
|
|
123
126
|
var menu = /*#__PURE__*/React.createElement("ul", {
|
|
124
|
-
role:
|
|
127
|
+
role: layer === 0 ? 'none presentation' : 'group',
|
|
128
|
+
id: parentNode ? 'treeitem-' + parentNode[valueKey] + '-children' : undefined
|
|
125
129
|
}, children.map(function (item, index) {
|
|
126
130
|
return renderCascadeNode(item, index, layer, cascadePaths[layer] && shallowEqual(cascadePaths[layer][valueKey], item[valueKey]));
|
|
127
131
|
}));
|
|
128
|
-
var parentNode = cascadePaths[layer - 1];
|
|
129
132
|
return /*#__PURE__*/React.createElement("div", {
|
|
130
133
|
key: onlyKey,
|
|
131
134
|
className: prefix('column'),
|
|
@@ -137,7 +140,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
137
140
|
}
|
|
138
141
|
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
139
142
|
});
|
|
140
|
-
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
143
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
144
|
+
role: "tree"
|
|
145
|
+
}, rest, {
|
|
141
146
|
ref: mergeRefs(rootRef, ref),
|
|
142
147
|
className: classes
|
|
143
148
|
}), /*#__PURE__*/React.createElement("div", {
|
|
@@ -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/esm/Dropdown/Dropdown.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
import React, {
|
|
3
|
+
import React, { useContext, useMemo, useReducer } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import omit from 'lodash/omit';
|
|
6
6
|
import pick from 'lodash/pick';
|
|
7
7
|
import DropdownMenu from './DropdownMenu';
|
|
8
8
|
import { mergeRefs, PLACEMENT_8, placementPolyfill, useClassNames } from '../utils';
|
|
9
|
-
import { SidenavContext } from '../Sidenav/Sidenav';
|
|
10
9
|
import deprecatePropType from '../utils/deprecatePropType';
|
|
11
10
|
import DropdownItem from './DropdownItem';
|
|
12
11
|
import DropdownContext from './DropdownContext';
|
|
13
12
|
import Menu from '../Menu/Menu';
|
|
14
13
|
import DropdownToggle from './DropdownToggle';
|
|
15
|
-
import MenuContext from '../Menu/MenuContext';
|
|
16
|
-
import MenuItem from '../Menu/MenuItem';
|
|
17
14
|
import kebabCase from 'lodash/kebabCase';
|
|
18
|
-
import { NavbarContext } from '../Navbar';
|
|
19
|
-
import Disclosure from '../Disclosure/Disclosure';
|
|
20
|
-
import SidenavDropdown from '../Sidenav/SidenavDropdown';
|
|
21
15
|
import NavContext from '../Nav/NavContext';
|
|
22
16
|
import { initialState, reducer } from './DropdownState';
|
|
17
|
+
import warnOnce from '../utils/warnOnce';
|
|
18
|
+
import Nav from '../Nav';
|
|
23
19
|
|
|
24
20
|
/**
|
|
25
21
|
* The <Dropdown> API
|
|
@@ -28,7 +24,7 @@ import { initialState, reducer } from './DropdownState';
|
|
|
28
24
|
*/
|
|
29
25
|
var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
30
26
|
var activeKey = props.activeKey,
|
|
31
|
-
|
|
27
|
+
onSelect = props.onSelect,
|
|
32
28
|
rest = _objectWithoutPropertiesLoose(props, ["activeKey", "onSelect"]);
|
|
33
29
|
|
|
34
30
|
var _rest$as = rest.as,
|
|
@@ -37,7 +33,6 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
37
33
|
onClose = rest.onClose,
|
|
38
34
|
onOpen = rest.onOpen,
|
|
39
35
|
onToggle = rest.onToggle,
|
|
40
|
-
eventKey = rest.eventKey,
|
|
41
36
|
_rest$trigger = rest.trigger,
|
|
42
37
|
trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,
|
|
43
38
|
_rest$placement = rest.placement,
|
|
@@ -53,30 +48,18 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
53
48
|
children = rest.children,
|
|
54
49
|
menuStyle = rest.menuStyle,
|
|
55
50
|
style = rest.style,
|
|
56
|
-
toggleProps = _objectWithoutPropertiesLoose(rest, ["as", "title", "onClose", "onOpen", "onToggle", "
|
|
51
|
+
toggleProps = _objectWithoutPropertiesLoose(rest, ["as", "title", "onClose", "onOpen", "onToggle", "trigger", "placement", "toggleAs", "toggleClassName", "open", "defaultOpen", "classPrefix", "className", "disabled", "children", "menuStyle", "style"]);
|
|
57
52
|
|
|
58
|
-
var
|
|
59
|
-
onSelectFromNav = _useContext.onSelect;
|
|
60
|
-
|
|
61
|
-
var emitSelect = useCallback(function (eventKey, event) {
|
|
62
|
-
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>
|
|
63
|
-
|
|
64
|
-
onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);
|
|
65
|
-
}, [onSelectProp, onSelectFromNav]);
|
|
53
|
+
var nav = useContext(NavContext);
|
|
66
54
|
|
|
67
55
|
var _useClassNames = useClassNames(classPrefix),
|
|
68
56
|
merge = _useClassNames.merge,
|
|
69
|
-
withClassPrefix = _useClassNames.withClassPrefix
|
|
70
|
-
prefix = _useClassNames.prefix;
|
|
57
|
+
withClassPrefix = _useClassNames.withClassPrefix;
|
|
71
58
|
|
|
72
59
|
var _useClassNames2 = useClassNames('dropdown-menu'),
|
|
73
60
|
withMenuClassPrefix = _useClassNames2.withClassPrefix,
|
|
74
61
|
mergeMenuClassName = _useClassNames2.merge;
|
|
75
62
|
|
|
76
|
-
var _useClassNames3 = useClassNames('nav-item'),
|
|
77
|
-
withNavItemClassPrefix = _useClassNames3.withClassPrefix,
|
|
78
|
-
mergeNavItemClassNames = _useClassNames3.merge;
|
|
79
|
-
|
|
80
63
|
var menuButtonTriggers = useMemo(function () {
|
|
81
64
|
if (!trigger) {
|
|
82
65
|
return undefined;
|
|
@@ -96,9 +79,6 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
96
79
|
return triggerMap[t];
|
|
97
80
|
});
|
|
98
81
|
}, [trigger]);
|
|
99
|
-
var parentMenu = useContext(MenuContext);
|
|
100
|
-
var sidenav = useContext(SidenavContext);
|
|
101
|
-
var navbar = useContext(NavbarContext);
|
|
102
82
|
|
|
103
83
|
var _useReducer = useReducer(reducer, initialState),
|
|
104
84
|
items = _useReducer[0].items,
|
|
@@ -112,54 +92,18 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
112
92
|
var dropdownContextValue = useMemo(function () {
|
|
113
93
|
return {
|
|
114
94
|
activeKey: activeKey,
|
|
115
|
-
onSelect:
|
|
95
|
+
onSelect: onSelect,
|
|
116
96
|
hasSelectedItem: hasSelectedItem,
|
|
117
97
|
dispatch: dispatch
|
|
118
98
|
};
|
|
119
|
-
}, [activeKey,
|
|
99
|
+
}, [activeKey, onSelect, hasSelectedItem, dispatch]); // Deprecate <Dropdown> within <Nav> usage
|
|
100
|
+
// in favor of <Nav.Menu> API
|
|
120
101
|
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}, /*#__PURE__*/React.createElement(SidenavDropdown, _extends({
|
|
102
|
+
if (nav) {
|
|
103
|
+
warnOnce('Usage of <Dropdown> within <Nav> is deprecated. Replace with <Nav.Menu>');
|
|
104
|
+
return /*#__PURE__*/React.createElement(Nav.Menu, _extends({
|
|
125
105
|
ref: ref
|
|
126
|
-
},
|
|
127
|
-
} // Renders a disclosure when used inside <Navbar>
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
if (navbar) {
|
|
131
|
-
return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
|
|
132
|
-
value: dropdownContextValue
|
|
133
|
-
}, /*#__PURE__*/React.createElement(Disclosure, {
|
|
134
|
-
hideOnClickOutside: true
|
|
135
|
-
}, function (_ref, containerRef) {
|
|
136
|
-
var _withClassPrefix;
|
|
137
|
-
|
|
138
|
-
var open = _ref.open;
|
|
139
|
-
var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + kebabCase(placementPolyfill(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));
|
|
140
|
-
return /*#__PURE__*/React.createElement(Component, {
|
|
141
|
-
ref: mergeRefs(ref, containerRef),
|
|
142
|
-
className: classes,
|
|
143
|
-
style: style
|
|
144
|
-
}, /*#__PURE__*/React.createElement(Disclosure.Button, null, function (buttonProps, buttonRef) {
|
|
145
|
-
return /*#__PURE__*/React.createElement(DropdownToggle, _extends({
|
|
146
|
-
ref: buttonRef,
|
|
147
|
-
as: toggleAs,
|
|
148
|
-
className: toggleClassName,
|
|
149
|
-
placement: placement,
|
|
150
|
-
disabled: disabled
|
|
151
|
-
}, omit(buttonProps, ['open']), toggleProps), title);
|
|
152
|
-
}), /*#__PURE__*/React.createElement(Disclosure.Content, null, function (_ref2, elementRef) {
|
|
153
|
-
var open = _ref2.open;
|
|
154
|
-
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
155
|
-
return /*#__PURE__*/React.createElement("ul", {
|
|
156
|
-
ref: elementRef,
|
|
157
|
-
className: menuClassName,
|
|
158
|
-
style: menuStyle,
|
|
159
|
-
hidden: !open
|
|
160
|
-
}, children);
|
|
161
|
-
}));
|
|
162
|
-
}));
|
|
106
|
+
}, props));
|
|
163
107
|
}
|
|
164
108
|
|
|
165
109
|
var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {
|
|
@@ -172,25 +116,6 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
172
116
|
}, omit(menuButtonProps, ['open']), omit(toggleProps, ['data-testid'])), title);
|
|
173
117
|
};
|
|
174
118
|
|
|
175
|
-
if (parentMenu) {
|
|
176
|
-
renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {
|
|
177
|
-
return /*#__PURE__*/React.createElement(MenuItem, {
|
|
178
|
-
disabled: disabled
|
|
179
|
-
}, function (_ref3, menuitemRef) {
|
|
180
|
-
var active = _ref3.active,
|
|
181
|
-
menuitemProps = _objectWithoutPropertiesLoose(_ref3, ["active"]);
|
|
182
|
-
|
|
183
|
-
return /*#__PURE__*/React.createElement(DropdownToggle, _extends({
|
|
184
|
-
ref: mergeRefs(buttonRef, menuitemRef),
|
|
185
|
-
as: toggleAs,
|
|
186
|
-
className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({
|
|
187
|
-
focus: active
|
|
188
|
-
}))
|
|
189
|
-
}, menuButtonProps, omit(menuitemProps, ['onClick']), omit(toggleProps, 'data-testid')), title);
|
|
190
|
-
});
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
|
|
194
119
|
return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
|
|
195
120
|
value: dropdownContextValue
|
|
196
121
|
}, /*#__PURE__*/React.createElement(Menu, {
|
|
@@ -199,25 +124,20 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
199
124
|
menuButtonText: title,
|
|
200
125
|
renderMenuButton: renderMenuButton,
|
|
201
126
|
openMenuOn: menuButtonTriggers,
|
|
202
|
-
renderMenuPopup: function renderMenuPopup(
|
|
203
|
-
var open =
|
|
204
|
-
popupProps = _objectWithoutPropertiesLoose(
|
|
205
|
-
|
|
206
|
-
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu
|
|
127
|
+
renderMenuPopup: function renderMenuPopup(_ref, popupRef) {
|
|
128
|
+
var open = _ref.open,
|
|
129
|
+
popupProps = _objectWithoutPropertiesLoose(_ref, ["open"]);
|
|
207
130
|
|
|
208
|
-
var
|
|
131
|
+
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({}));
|
|
209
132
|
return /*#__PURE__*/React.createElement("ul", _extends({
|
|
210
133
|
ref: popupRef,
|
|
211
134
|
className: menuClassName,
|
|
212
135
|
style: menuStyle,
|
|
213
136
|
hidden: !open
|
|
214
|
-
}, popupProps),
|
|
215
|
-
className: prefix('header')
|
|
216
|
-
}, title), children);
|
|
137
|
+
}, popupProps), children);
|
|
217
138
|
},
|
|
218
|
-
onToggleMenu: function onToggleMenu(open
|
|
139
|
+
onToggleMenu: function onToggleMenu(open) {
|
|
219
140
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);
|
|
220
|
-
sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);
|
|
221
141
|
|
|
222
142
|
if (open) {
|
|
223
143
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
@@ -225,13 +145,13 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
225
145
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
226
146
|
}
|
|
227
147
|
}
|
|
228
|
-
}, function (
|
|
229
|
-
var
|
|
148
|
+
}, function (_ref2, menuContainerRef) {
|
|
149
|
+
var _withClassPrefix;
|
|
230
150
|
|
|
231
|
-
var open =
|
|
232
|
-
menuContainer = _objectWithoutPropertiesLoose(
|
|
151
|
+
var open = _ref2.open,
|
|
152
|
+
menuContainer = _objectWithoutPropertiesLoose(_ref2, ["open"]);
|
|
233
153
|
|
|
234
|
-
var classes = merge(className, withClassPrefix((
|
|
154
|
+
var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + kebabCase(placementPolyfill(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix['selected-within'] = hasSelectedItem, _withClassPrefix)));
|
|
235
155
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
236
156
|
ref: mergeRefs(ref, menuContainerRef),
|
|
237
157
|
className: classes
|
|
@@ -2,19 +2,17 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React, { useCallback, useContext, useEffect } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { SidenavContext } from '../Sidenav/Sidenav';
|
|
6
5
|
import deprecatePropType from '../utils/deprecatePropType';
|
|
7
6
|
import MenuItem from '../Menu/MenuItem';
|
|
8
7
|
import DropdownContext from './DropdownContext';
|
|
9
8
|
import isNil from 'lodash/isNil';
|
|
10
|
-
import {
|
|
11
|
-
import { NavbarContext } from '../Navbar/Navbar';
|
|
12
|
-
import SidenavDropdownItem from '../Sidenav/SidenavDropdownItem';
|
|
13
|
-
import DisclosureContext, { DisclosureActionTypes } from '../Disclosure/DisclosureContext';
|
|
9
|
+
import { mergeRefs, shallowEqual, useClassNames } from '../utils';
|
|
14
10
|
import NavContext from '../Nav/NavContext';
|
|
15
11
|
import useInternalId from '../utils/useInternalId';
|
|
16
12
|
import { DropdownActionType } from './DropdownState';
|
|
17
13
|
import { useRenderDropdownItem } from './useRenderDropdownItem';
|
|
14
|
+
import warnOnce from '../utils/warnOnce';
|
|
15
|
+
import Nav from '../Nav';
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* The <Dropdown.Item> API
|
|
@@ -52,21 +50,7 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
52
50
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
|
|
53
51
|
dropdown === null || dropdown === void 0 ? void 0 : (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);
|
|
54
52
|
}, [onSelect, eventKey, dropdown]);
|
|
55
|
-
var
|
|
56
|
-
var navbar = useContext(NavbarContext);
|
|
57
|
-
var disclosure = useContext(DisclosureContext);
|
|
58
|
-
|
|
59
|
-
var _ref = disclosure !== null && disclosure !== void 0 ? disclosure : [],
|
|
60
|
-
dispatchDisclosure = _ref[1];
|
|
61
|
-
|
|
62
|
-
var handleClickNavbarDropdownItem = useCallback(function (event) {
|
|
63
|
-
dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({
|
|
64
|
-
type: DisclosureActionTypes.Hide,
|
|
65
|
-
cascade: true
|
|
66
|
-
});
|
|
67
|
-
handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);
|
|
68
|
-
}, [dispatchDisclosure, handleSelectItem]);
|
|
69
|
-
var selected = activeProp || !isNil(eventKey) && (shallowEqual(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey) || shallowEqual(nav === null || nav === void 0 ? void 0 : nav.activeKey, eventKey));
|
|
53
|
+
var selected = activeProp || !isNil(eventKey) && shallowEqual(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey);
|
|
70
54
|
var dispatch = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dispatch;
|
|
71
55
|
useEffect(function () {
|
|
72
56
|
if (dispatch) {
|
|
@@ -89,10 +73,12 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
89
73
|
};
|
|
90
74
|
}
|
|
91
75
|
}, [internalId, selected, dispatch]);
|
|
92
|
-
var renderDropdownItem = useRenderDropdownItem(Component);
|
|
76
|
+
var renderDropdownItem = useRenderDropdownItem(Component); // If using <Dropdown.Item> within <Nav>
|
|
77
|
+
// Suggest <Nav.Item>
|
|
93
78
|
|
|
94
|
-
if (
|
|
95
|
-
|
|
79
|
+
if (nav) {
|
|
80
|
+
warnOnce('Usage of <Dropdown.Item> within <Nav> is deprecated. Replace with <Nav.Item> within <Nav.Menu>.');
|
|
81
|
+
return /*#__PURE__*/React.createElement(Nav.Item, _extends({
|
|
96
82
|
ref: ref
|
|
97
83
|
}, props));
|
|
98
84
|
}
|
|
@@ -113,42 +99,14 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
113
99
|
}, restProps));
|
|
114
100
|
}
|
|
115
101
|
|
|
116
|
-
if (navbar) {
|
|
117
|
-
var classes = merge(className, withClassPrefix({
|
|
118
|
-
'with-icon': icon,
|
|
119
|
-
disabled: disabled,
|
|
120
|
-
divider: divider,
|
|
121
|
-
panel: panel,
|
|
122
|
-
active: selected
|
|
123
|
-
}));
|
|
124
|
-
var dataAttributes = {
|
|
125
|
-
'data-event-key': eventKey
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
if (!isNil(eventKey) && typeof eventKey !== 'string') {
|
|
129
|
-
dataAttributes['data-event-key-type'] = typeof eventKey;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return renderDropdownItem(_extends({
|
|
133
|
-
ref: ref,
|
|
134
|
-
className: classes,
|
|
135
|
-
'aria-current': selected || undefined
|
|
136
|
-
}, dataAttributes, restProps, {
|
|
137
|
-
onClick: createChainedFunction(handleClickNavbarDropdownItem, restProps.onClick),
|
|
138
|
-
children: /*#__PURE__*/React.createElement(React.Fragment, null, icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
139
|
-
className: prefix('menu-icon')
|
|
140
|
-
}), children)
|
|
141
|
-
}));
|
|
142
|
-
}
|
|
143
|
-
|
|
144
102
|
return /*#__PURE__*/React.createElement(MenuItem, {
|
|
145
103
|
selected: selected,
|
|
146
104
|
disabled: disabled,
|
|
147
105
|
onActivate: handleSelectItem
|
|
148
|
-
}, function (
|
|
149
|
-
var selected =
|
|
150
|
-
active =
|
|
151
|
-
menuitem = _objectWithoutPropertiesLoose(
|
|
106
|
+
}, function (_ref, menuitemRef) {
|
|
107
|
+
var selected = _ref.selected,
|
|
108
|
+
active = _ref.active,
|
|
109
|
+
menuitem = _objectWithoutPropertiesLoose(_ref, ["selected", "active"]);
|
|
152
110
|
|
|
153
111
|
var classes = merge(className, withClassPrefix({
|
|
154
112
|
'with-icon': icon,
|
|
@@ -2,7 +2,7 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
|
|
5
|
-
var _templateObject, _templateObject2
|
|
5
|
+
var _templateObject, _templateObject2;
|
|
6
6
|
|
|
7
7
|
import React, { useCallback, useContext, useMemo } from 'react';
|
|
8
8
|
import omit from 'lodash/omit';
|
|
@@ -10,15 +10,14 @@ import Menu from '../Menu/Menu';
|
|
|
10
10
|
import MenuItem from '../Menu/MenuItem';
|
|
11
11
|
import { mergeRefs, useClassNames } from '../utils';
|
|
12
12
|
import PropTypes from 'prop-types';
|
|
13
|
-
import { SidenavContext } from '../Sidenav/Sidenav';
|
|
14
13
|
import AngleLeft from '@rsuite/icons/legacy/AngleLeft';
|
|
15
14
|
import AngleRight from '@rsuite/icons/legacy/AngleRight';
|
|
16
15
|
import useCustom from '../utils/useCustom';
|
|
17
16
|
import DropdownContext from './DropdownContext';
|
|
18
|
-
import { NavbarContext } from '../Navbar';
|
|
19
17
|
import Menubar from '../Menu/Menubar';
|
|
20
|
-
import
|
|
21
|
-
import
|
|
18
|
+
import Nav from '../Nav';
|
|
19
|
+
import NavContext from '../Nav/NavContext';
|
|
20
|
+
import warnOnce from '../utils/warnOnce';
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* The <Dropdown.Menu> API
|
|
@@ -49,9 +48,8 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
49
48
|
children = props.children,
|
|
50
49
|
rest = _objectWithoutPropertiesLoose(props, ["onToggle", "eventKey", "title", "activeKey", "onSelect", "classPrefix", "children"]);
|
|
51
50
|
|
|
51
|
+
var nav = useContext(NavContext);
|
|
52
52
|
var dropdown = useContext(DropdownContext);
|
|
53
|
-
var sidenav = useContext(SidenavContext);
|
|
54
|
-
var withinNavbar = Boolean(useContext(NavbarContext));
|
|
55
53
|
|
|
56
54
|
var _useCustom = useCustom('DropdownMenu'),
|
|
57
55
|
rtl = _useCustom.rtl;
|
|
@@ -79,9 +77,18 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
79
77
|
activeKey: activeKey,
|
|
80
78
|
onSelect: onSelect
|
|
81
79
|
};
|
|
82
|
-
}, [activeKey, onSelect]); //
|
|
80
|
+
}, [activeKey, onSelect]); // If rendered within a <Nav>
|
|
81
|
+
// Suggest <Nav.Menu>
|
|
82
|
+
|
|
83
|
+
if (nav) {
|
|
84
|
+
warnOnce('Usage of <Dropdown.Menu> within <Nav> is deprecated. Replace with <Nav.Menu>');
|
|
85
|
+
return /*#__PURE__*/React.createElement(Nav.Menu, _extends({
|
|
86
|
+
ref: ref
|
|
87
|
+
}, props));
|
|
88
|
+
} // <Dropdown.Menu> is used outside of <Dropdown>
|
|
83
89
|
// renders a vertical `menubar`
|
|
84
90
|
|
|
91
|
+
|
|
85
92
|
if (!dropdown) {
|
|
86
93
|
var classes = merge(props.className, withClassPrefix());
|
|
87
94
|
return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
|
|
@@ -94,10 +101,6 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
94
101
|
className: classes
|
|
95
102
|
}, menubar, rest), children);
|
|
96
103
|
}));
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
|
|
100
|
-
return /*#__PURE__*/React.createElement(SidenavDropdownMenu, omit(props, 'classPrefix'));
|
|
101
104
|
} // Parent menu exists. This is a submenu.
|
|
102
105
|
// Should render a `menuitem` that controls this submenu.
|
|
103
106
|
|
|
@@ -108,69 +111,21 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
108
111
|
disabled = _omit.disabled,
|
|
109
112
|
menuProps = _objectWithoutPropertiesLoose(_omit, ["icon", "className", "disabled"]);
|
|
110
113
|
|
|
111
|
-
var Icon = rtl ? AngleLeft : AngleRight;
|
|
112
|
-
|
|
113
|
-
if (withinNavbar) {
|
|
114
|
-
return /*#__PURE__*/React.createElement(Disclosure, {
|
|
115
|
-
hideOnClickOutside: true,
|
|
116
|
-
trigger: ['click', 'mouseover']
|
|
117
|
-
}, function (_ref, containerRef) {
|
|
118
|
-
var open = _ref.open,
|
|
119
|
-
props = _objectWithoutPropertiesLoose(_ref, ["open"]);
|
|
120
|
-
|
|
121
|
-
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
122
|
-
disabled: disabled,
|
|
123
|
-
open: open,
|
|
124
|
-
submenu: true
|
|
125
|
-
}));
|
|
126
|
-
return /*#__PURE__*/React.createElement("li", _extends({
|
|
127
|
-
ref: mergeRefs(ref, containerRef),
|
|
128
|
-
className: classes
|
|
129
|
-
}, props), /*#__PURE__*/React.createElement(Disclosure.Button, null, function (_ref2, buttonRef) {
|
|
130
|
-
var open = _ref2.open,
|
|
131
|
-
buttonProps = _objectWithoutPropertiesLoose(_ref2, ["open"]);
|
|
132
|
-
|
|
133
|
-
var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["toggle"]))), withItemClassPrefix({
|
|
134
|
-
'with-icon': icon,
|
|
135
|
-
open: open,
|
|
136
|
-
disabled: disabled
|
|
137
|
-
}));
|
|
138
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
139
|
-
ref: mergeRefs(buttonRef, buttonRef),
|
|
140
|
-
className: classes,
|
|
141
|
-
"data-event-key": eventKey,
|
|
142
|
-
"data-event-key-type": typeof eventKey
|
|
143
|
-
}, buttonProps), icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
144
|
-
className: prefix('menu-icon')
|
|
145
|
-
}), title, /*#__PURE__*/React.createElement(Icon, {
|
|
146
|
-
className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["toggle-icon"])))
|
|
147
|
-
}));
|
|
148
|
-
}), /*#__PURE__*/React.createElement(Disclosure.Content, null, function (_ref3, elementRef) {
|
|
149
|
-
var open = _ref3.open;
|
|
150
|
-
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
151
|
-
return /*#__PURE__*/React.createElement("ul", _extends({
|
|
152
|
-
ref: elementRef,
|
|
153
|
-
className: menuClassName,
|
|
154
|
-
hidden: !open
|
|
155
|
-
}, menuProps), children);
|
|
156
|
-
}));
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
|
|
114
|
+
var Icon = rtl ? AngleLeft : AngleRight;
|
|
160
115
|
return /*#__PURE__*/React.createElement(Menu, {
|
|
161
116
|
openMenuOn: ['mouseover', 'click'],
|
|
162
|
-
renderMenuButton: function renderMenuButton(
|
|
163
|
-
var open =
|
|
164
|
-
menuButtonProps = _objectWithoutPropertiesLoose(
|
|
117
|
+
renderMenuButton: function renderMenuButton(_ref, buttonRef) {
|
|
118
|
+
var open = _ref.open,
|
|
119
|
+
menuButtonProps = _objectWithoutPropertiesLoose(_ref, ["open"]);
|
|
165
120
|
|
|
166
121
|
return /*#__PURE__*/React.createElement(MenuItem, {
|
|
167
122
|
disabled: disabled
|
|
168
|
-
}, function (
|
|
169
|
-
var selected =
|
|
170
|
-
active =
|
|
171
|
-
menuitem = _objectWithoutPropertiesLoose(
|
|
123
|
+
}, function (_ref2, menuitemRef) {
|
|
124
|
+
var selected = _ref2.selected,
|
|
125
|
+
active = _ref2.active,
|
|
126
|
+
menuitem = _objectWithoutPropertiesLoose(_ref2, ["selected", "active"]);
|
|
172
127
|
|
|
173
|
-
var classes = mergeItemClassNames(className, prefixItemClassName(
|
|
128
|
+
var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["toggle"]))), withItemClassPrefix({
|
|
174
129
|
'with-icon': icon,
|
|
175
130
|
open: open,
|
|
176
131
|
active: selected,
|
|
@@ -185,13 +140,13 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
185
140
|
}, menuitem, omit(menuButtonProps, ['role'])), icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
186
141
|
className: prefix('menu-icon')
|
|
187
142
|
}), title, /*#__PURE__*/React.createElement(Icon, {
|
|
188
|
-
className: prefix(
|
|
143
|
+
className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["toggle-icon"])))
|
|
189
144
|
}));
|
|
190
145
|
});
|
|
191
146
|
},
|
|
192
|
-
renderMenuPopup: function renderMenuPopup(
|
|
193
|
-
var open =
|
|
194
|
-
popupProps = _objectWithoutPropertiesLoose(
|
|
147
|
+
renderMenuPopup: function renderMenuPopup(_ref3, popupRef) {
|
|
148
|
+
var open = _ref3.open,
|
|
149
|
+
popupProps = _objectWithoutPropertiesLoose(_ref3, ["open"]);
|
|
195
150
|
|
|
196
151
|
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
197
152
|
return /*#__PURE__*/React.createElement("ul", _extends({
|
|
@@ -201,9 +156,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
201
156
|
}, popupProps, menuProps), children);
|
|
202
157
|
},
|
|
203
158
|
onToggleMenu: handleToggleSubmenu
|
|
204
|
-
}, function (
|
|
205
|
-
var open =
|
|
206
|
-
menuContainer = _objectWithoutPropertiesLoose(
|
|
159
|
+
}, function (_ref4, menuContainerRef) {
|
|
160
|
+
var open = _ref4.open,
|
|
161
|
+
menuContainer = _objectWithoutPropertiesLoose(_ref4, ["open"]);
|
|
207
162
|
|
|
208
163
|
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
209
164
|
disabled: disabled,
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
import React
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import Button from '../Button';
|
|
6
6
|
import { useClassNames } from '../utils';
|
|
7
7
|
import useToggleCaret from '../utils/useToggleCaret';
|
|
8
|
-
import { SidenavContext } from '../Sidenav/Sidenav';
|
|
9
|
-
import NavContext from '../Nav/NavContext';
|
|
10
8
|
var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
11
9
|
var _props$as = props.as,
|
|
12
10
|
Component = _props$as === void 0 ? Button : _props$as,
|
|
@@ -21,11 +19,6 @@ var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
21
19
|
placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
|
|
22
20
|
rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "renderToggle", "children", "icon", "noCaret", "placement"]);
|
|
23
21
|
|
|
24
|
-
var sidenav = useContext(SidenavContext);
|
|
25
|
-
|
|
26
|
-
var _useContext = useContext(NavContext),
|
|
27
|
-
withinNav = _useContext.withinNav;
|
|
28
|
-
|
|
29
22
|
var _useClassNames = useClassNames(classPrefix),
|
|
30
23
|
prefix = _useClassNames.prefix,
|
|
31
24
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -33,13 +26,10 @@ var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
33
26
|
|
|
34
27
|
var classes = merge(className, withClassPrefix({
|
|
35
28
|
'no-caret': noCaret
|
|
36
|
-
}));
|
|
37
|
-
var inSidenav = !!sidenav; // Caret icon is down by default, when Dropdown is used in Sidenav.
|
|
29
|
+
})); // Caret icon is down by default, when Dropdown is used in Sidenav.
|
|
38
30
|
|
|
39
|
-
var Caret = useToggleCaret(
|
|
40
|
-
var toggle = /*#__PURE__*/React.createElement(Component, _extends({
|
|
41
|
-
appearance: withinNav ? 'subtle' : undefined
|
|
42
|
-
}, rest, {
|
|
31
|
+
var Caret = useToggleCaret(placement);
|
|
32
|
+
var toggle = /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
43
33
|
ref: ref,
|
|
44
34
|
className: classes
|
|
45
35
|
}), icon && /*#__PURE__*/React.cloneElement(icon, {
|
package/esm/Menu/Menu.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export interface MenuHandle {
|
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Headless ARIA `menu`
|
|
36
|
+
* @private
|
|
36
37
|
*/
|
|
37
38
|
declare function Menu({ disabled, children, openMenuOn, defaultOpen, open: openProp, menuButtonText, renderMenuButton, renderMenuPopup, onToggleMenu }: MenuProps & React.HTMLAttributes<HTMLUListElement>): React.ReactElement<React.HTMLAttributes<HTMLDivElement>, string | React.JSXElementConstructor<any>>;
|
|
38
39
|
declare namespace Menu {
|
package/esm/Menu/Menu.js
CHANGED
package/esm/Menu/MenuItem.d.ts
CHANGED