rsuite 5.10.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/ButtonToolbar/styles/index.less +1 -1
- package/CHANGELOG.md +28 -0
- package/Nav/styles/index.less +7 -1
- package/Navbar/styles/index.less +6 -1
- package/README.md +4 -0
- package/Sidenav/styles/index.less +7 -5
- package/cjs/Cascader/DropdownMenu.js +8 -3
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/cjs/DateRangePicker/DateRangePicker.js +4 -2
- 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/Form/Form.js +21 -7
- package/cjs/Form/FormContext.d.ts +18 -13
- package/cjs/Form/useSchemaModel.d.ts +9 -0
- package/cjs/Form/useSchemaModel.js +46 -0
- package/cjs/FormControl/FormControl.d.ts +3 -0
- package/cjs/FormControl/FormControl.js +9 -2
- package/cjs/FormControl/useRegisterModel.d.ts +4 -0
- package/cjs/FormControl/useRegisterModel.js +20 -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 +14 -3
- 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/dom.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 +19 -10
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +19 -10
- package/dist/rsuite.js +300 -25
- 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/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/esm/DateRangePicker/DateRangePicker.js +4 -2
- 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/Form/Form.js +19 -7
- package/esm/Form/FormContext.d.ts +18 -13
- package/esm/Form/useSchemaModel.d.ts +9 -0
- package/esm/Form/useSchemaModel.js +39 -0
- package/esm/FormControl/FormControl.d.ts +3 -0
- package/esm/FormControl/FormControl.js +9 -6
- package/esm/FormControl/useRegisterModel.d.ts +4 -0
- package/esm/FormControl/useRegisterModel.js +14 -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 +13 -3
- 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/dom.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/variables.less +1 -0
|
@@ -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;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StandardProps } from '../@types/common';
|
|
3
|
+
import { IconProps } from '@rsuite/icons/lib/Icon';
|
|
4
|
+
export interface NavbarDropdownMenuProps<T = any> extends StandardProps {
|
|
5
|
+
/** Define the title as a submenu */
|
|
6
|
+
title?: React.ReactNode;
|
|
7
|
+
/** The submenu expands from the left and defaults to the right */
|
|
8
|
+
pullLeft?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Only used for setting the default expand state when it's a submenu.
|
|
11
|
+
*/
|
|
12
|
+
eventKey?: T;
|
|
13
|
+
/** Set the icon */
|
|
14
|
+
icon?: React.ReactElement<IconProps>;
|
|
15
|
+
open?: boolean;
|
|
16
|
+
collapsible?: boolean;
|
|
17
|
+
expanded?: boolean;
|
|
18
|
+
active?: boolean;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
activeKey?: T;
|
|
21
|
+
onToggle?: (open: boolean, eventKey?: T | undefined, event?: React.SyntheticEvent) => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @private this component is not supposed to be used directly
|
|
25
|
+
* Instead it's rendered by a <Nav.Menu> within a <Navbar>
|
|
26
|
+
*
|
|
27
|
+
* <Navbar>
|
|
28
|
+
* <Nav>
|
|
29
|
+
* <Nav.Menu>
|
|
30
|
+
* <Nav.Menu title="menu"> -> This submenu will render <NavbarDropdownMenu> component
|
|
31
|
+
* </Nav.Menu>
|
|
32
|
+
* </Nav.Menu>
|
|
33
|
+
* </Nav>
|
|
34
|
+
* </Navbar>
|
|
35
|
+
*/
|
|
36
|
+
declare const NavbarDropdownMenu: React.ForwardRefExoticComponent<NavbarDropdownMenuProps<any> & Omit<React.HTMLAttributes<HTMLUListElement>, "title" | "onSelect"> & React.RefAttributes<HTMLElement>>;
|
|
37
|
+
export default NavbarDropdownMenu;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
exports.__esModule = true;
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _omit2 = _interopRequireDefault(require("lodash/omit"));
|
|
19
|
+
|
|
20
|
+
var _utils = require("../utils");
|
|
21
|
+
|
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
+
|
|
24
|
+
var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
|
|
25
|
+
|
|
26
|
+
var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
|
|
27
|
+
|
|
28
|
+
var _useCustom2 = _interopRequireDefault(require("../utils/useCustom"));
|
|
29
|
+
|
|
30
|
+
var _ = require(".");
|
|
31
|
+
|
|
32
|
+
var _Disclosure = _interopRequireDefault(require("../Disclosure"));
|
|
33
|
+
|
|
34
|
+
var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
|
|
35
|
+
|
|
36
|
+
var _templateObject, _templateObject2;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @private this component is not supposed to be used directly
|
|
40
|
+
* Instead it's rendered by a <Nav.Menu> within a <Navbar>
|
|
41
|
+
*
|
|
42
|
+
* <Navbar>
|
|
43
|
+
* <Nav>
|
|
44
|
+
* <Nav.Menu>
|
|
45
|
+
* <Nav.Menu title="menu"> -> This submenu will render <NavbarDropdownMenu> component
|
|
46
|
+
* </Nav.Menu>
|
|
47
|
+
* </Nav.Menu>
|
|
48
|
+
* </Nav>
|
|
49
|
+
* </Navbar>
|
|
50
|
+
*/
|
|
51
|
+
var NavbarDropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
52
|
+
var navbar = (0, _react.useContext)(_.NavbarContext);
|
|
53
|
+
var nav = (0, _react.useContext)(_NavContext.default);
|
|
54
|
+
|
|
55
|
+
if (!navbar || !nav) {
|
|
56
|
+
throw new Error('<Navbar.Dropdown.Menu> must be rendered within a <Nav> within a <Navbar> component.');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
var _onToggle = props.onToggle,
|
|
60
|
+
eventKey = props.eventKey,
|
|
61
|
+
title = props.title,
|
|
62
|
+
_props$classPrefix = props.classPrefix,
|
|
63
|
+
classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,
|
|
64
|
+
children = props.children,
|
|
65
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["onToggle", "eventKey", "title", "classPrefix", "children"]);
|
|
66
|
+
|
|
67
|
+
var _useCustom = (0, _useCustom2.default)('DropdownMenu'),
|
|
68
|
+
rtl = _useCustom.rtl;
|
|
69
|
+
|
|
70
|
+
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
71
|
+
prefix = _useClassNames.prefix;
|
|
72
|
+
|
|
73
|
+
var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),
|
|
74
|
+
withMenuClassPrefix = _useClassNames2.withClassPrefix,
|
|
75
|
+
mergeMenuClassName = _useClassNames2.merge;
|
|
76
|
+
|
|
77
|
+
var _useClassNames3 = (0, _utils.useClassNames)('dropdown-item'),
|
|
78
|
+
mergeItemClassNames = _useClassNames3.merge,
|
|
79
|
+
withItemClassPrefix = _useClassNames3.withClassPrefix,
|
|
80
|
+
prefixItemClassName = _useClassNames3.prefix; // Parent menu exists. This is a submenu.
|
|
81
|
+
// Should render a `menuitem` that controls this submenu.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
var _omit = (0, _omit2.default)(rest, ['trigger']),
|
|
85
|
+
icon = _omit.icon,
|
|
86
|
+
className = _omit.className,
|
|
87
|
+
disabled = _omit.disabled,
|
|
88
|
+
menuProps = (0, _objectWithoutPropertiesLoose2.default)(_omit, ["icon", "className", "disabled"]);
|
|
89
|
+
|
|
90
|
+
var Icon = rtl ? _AngleLeft.default : _AngleRight.default;
|
|
91
|
+
return /*#__PURE__*/_react.default.createElement(_Disclosure.default, {
|
|
92
|
+
hideOnClickOutside: true,
|
|
93
|
+
trigger: ['click', 'mouseover'],
|
|
94
|
+
onToggle: function onToggle(open, event) {
|
|
95
|
+
return _onToggle === null || _onToggle === void 0 ? void 0 : _onToggle(open, undefined, event);
|
|
96
|
+
}
|
|
97
|
+
}, function (_ref, containerRef) {
|
|
98
|
+
var open = _ref.open,
|
|
99
|
+
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["open"]);
|
|
100
|
+
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
101
|
+
disabled: disabled,
|
|
102
|
+
open: open,
|
|
103
|
+
submenu: true
|
|
104
|
+
}));
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
|
|
106
|
+
ref: (0, _utils.mergeRefs)(ref, containerRef),
|
|
107
|
+
className: classes
|
|
108
|
+
}, props), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (_ref2, buttonRef) {
|
|
109
|
+
var open = _ref2.open,
|
|
110
|
+
buttonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["open"]);
|
|
111
|
+
var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), withItemClassPrefix({
|
|
112
|
+
'with-icon': icon,
|
|
113
|
+
open: open,
|
|
114
|
+
disabled: disabled
|
|
115
|
+
}));
|
|
116
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
117
|
+
ref: (0, _utils.mergeRefs)(buttonRef, buttonRef),
|
|
118
|
+
className: classes,
|
|
119
|
+
"data-event-key": eventKey,
|
|
120
|
+
"data-event-key-type": typeof eventKey
|
|
121
|
+
}, buttonProps), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
122
|
+
className: prefix('menu-icon')
|
|
123
|
+
}), title, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
124
|
+
className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["toggle-icon"])))
|
|
125
|
+
}));
|
|
126
|
+
}), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, null, function (_ref3, elementRef) {
|
|
127
|
+
var open = _ref3.open;
|
|
128
|
+
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
129
|
+
return /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
|
|
130
|
+
ref: elementRef,
|
|
131
|
+
className: menuClassName,
|
|
132
|
+
hidden: !open
|
|
133
|
+
}, menuProps), children);
|
|
134
|
+
}));
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
NavbarDropdownMenu.displayName = 'Nav.Dropdown.Menu';
|
|
139
|
+
NavbarDropdownMenu.propTypes = {
|
|
140
|
+
active: _propTypes.default.bool,
|
|
141
|
+
activeKey: _propTypes.default.any,
|
|
142
|
+
className: _propTypes.default.string,
|
|
143
|
+
children: _propTypes.default.node,
|
|
144
|
+
icon: _propTypes.default.any,
|
|
145
|
+
classPrefix: _propTypes.default.string,
|
|
146
|
+
pullLeft: _propTypes.default.bool,
|
|
147
|
+
title: _propTypes.default.node,
|
|
148
|
+
open: _propTypes.default.bool,
|
|
149
|
+
eventKey: _propTypes.default.any,
|
|
150
|
+
expanded: _propTypes.default.bool,
|
|
151
|
+
collapsible: _propTypes.default.bool,
|
|
152
|
+
onToggle: _propTypes.default.func
|
|
153
|
+
};
|
|
154
|
+
var _default = NavbarDropdownMenu;
|
|
155
|
+
exports.default = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Button from '../Button';
|
|
3
|
+
import { WithAsProps, RsRefForwardingComponent, TypeAttributes } from '../@types/common';
|
|
4
|
+
export interface NavbarDropdownToggleProps extends WithAsProps {
|
|
5
|
+
noCaret?: boolean;
|
|
6
|
+
renderToggle?: (props: WithAsProps, ref: React.Ref<any>) => any;
|
|
7
|
+
placement?: TypeAttributes.Placement8;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @private this component is not supposed to be used directly
|
|
11
|
+
* Instead it's rendered by a <Nav.Menu> call
|
|
12
|
+
*
|
|
13
|
+
* <Nav>
|
|
14
|
+
* <Nav.Menu> -> This will render <NavDropdown> component that renders a <NavDropdownToggle>
|
|
15
|
+
* </Nav.Menu>
|
|
16
|
+
* </Nav>
|
|
17
|
+
*/
|
|
18
|
+
declare const NavbarDropdownToggle: RsRefForwardingComponent<typeof Button, NavbarDropdownToggleProps>;
|
|
19
|
+
export default NavbarDropdownToggle;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var _ArrowDownLine = _interopRequireDefault(require("@rsuite/icons/ArrowDownLine"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var _NavbarItem = _interopRequireDefault(require("./NavbarItem"));
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @private this component is not supposed to be used directly
|
|
24
|
+
* Instead it's rendered by a <Nav.Menu> call
|
|
25
|
+
*
|
|
26
|
+
* <Nav>
|
|
27
|
+
* <Nav.Menu> -> This will render <NavDropdown> component that renders a <NavDropdownToggle>
|
|
28
|
+
* </Nav.Menu>
|
|
29
|
+
* </Nav>
|
|
30
|
+
*/
|
|
31
|
+
var NavbarDropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
32
|
+
var _props$as = props.as,
|
|
33
|
+
Component = _props$as === void 0 ? _NavbarItem.default : _props$as,
|
|
34
|
+
className = props.className,
|
|
35
|
+
_props$classPrefix = props.classPrefix,
|
|
36
|
+
classPrefix = _props$classPrefix === void 0 ? 'navbar-item' : _props$classPrefix,
|
|
37
|
+
renderToggle = props.renderToggle,
|
|
38
|
+
children = props.children,
|
|
39
|
+
noCaret = props.noCaret,
|
|
40
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "renderToggle", "children", "noCaret"]);
|
|
41
|
+
|
|
42
|
+
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
43
|
+
prefix = _useClassNames.prefix,
|
|
44
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
45
|
+
merge = _useClassNames.merge;
|
|
46
|
+
|
|
47
|
+
var classes = merge(className, withClassPrefix({
|
|
48
|
+
'no-caret': noCaret
|
|
49
|
+
}));
|
|
50
|
+
|
|
51
|
+
var toggle = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
52
|
+
ref: ref,
|
|
53
|
+
className: classes
|
|
54
|
+
}), children, !noCaret && /*#__PURE__*/_react.default.createElement(_ArrowDownLine.default, {
|
|
55
|
+
className: prefix('caret')
|
|
56
|
+
}));
|
|
57
|
+
|
|
58
|
+
return renderToggle ? renderToggle(rest, ref) : toggle;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
NavbarDropdownToggle.displayName = 'Navbar.Dropdown.Toggle';
|
|
62
|
+
NavbarDropdownToggle.propTypes = {
|
|
63
|
+
className: _propTypes.default.string,
|
|
64
|
+
children: _propTypes.default.node,
|
|
65
|
+
classPrefix: _propTypes.default.string,
|
|
66
|
+
noCaret: _propTypes.default.bool,
|
|
67
|
+
as: _propTypes.default.elementType,
|
|
68
|
+
renderToggle: _propTypes.default.func,
|
|
69
|
+
placement: _propTypes.default.oneOf(['bottomStart', 'bottomEnd', 'topStart', 'topEnd', 'leftStart', 'rightStart', 'leftEnd', 'rightEnd'])
|
|
70
|
+
};
|
|
71
|
+
var _default = NavbarDropdownToggle;
|
|
72
|
+
exports.default = _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IconProps } from '@rsuite/icons/lib/Icon';
|
|
3
3
|
import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
|
|
4
|
-
export interface
|
|
4
|
+
export interface NavbarItemProps<T = string> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> {
|
|
5
5
|
/** Activation status */
|
|
6
6
|
active?: boolean;
|
|
7
7
|
/** Disabled status */
|
|
@@ -15,5 +15,8 @@ export interface NavItemProps<T = string> extends WithAsProps, Omit<React.HTMLAt
|
|
|
15
15
|
/** Select the callback function that the event triggers. */
|
|
16
16
|
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
declare const NavbarItem: RsRefForwardingComponent<'a', NavbarItemProps>;
|
|
19
22
|
export default NavbarItem;
|