rsuite 5.3.0 → 5.4.3
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 -5
- package/CHANGELOG.md +53 -0
- package/Drawer/styles/index.less +3 -0
- package/Dropdown/styles/index.less +5 -3
- package/Dropdown/styles/mixin.less +0 -2
- package/Modal/styles/index.less +23 -22
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +27 -8
- package/Radio/styles/index.less +6 -0
- package/Sidenav/styles/index.less +8 -2
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- package/TreePicker/styles/index.less +0 -14
- package/cjs/@types/common.d.ts +4 -4
- package/cjs/Affix/Affix.js +3 -1
- package/cjs/AvatarGroup/AvatarGroup.js +9 -4
- package/cjs/ButtonGroup/ButtonGroup.js +9 -4
- package/cjs/Calendar/Calendar.js +21 -20
- package/cjs/Calendar/Header.js +1 -3
- package/cjs/Calendar/Table.js +1 -1
- package/cjs/Calendar/TableRow.js +12 -7
- package/cjs/Calendar/View.js +9 -5
- package/cjs/Cascader/utils.d.ts +7 -7
- package/cjs/CheckPicker/CheckPicker.d.ts +12 -4
- package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/cjs/CheckPicker/test/CheckPicker.test.js +84 -0
- package/cjs/CheckTree/index.js +6 -5
- package/cjs/Container/Container.js +6 -3
- package/cjs/DatePicker/DatePicker.js +4 -2
- package/cjs/DateRangePicker/DateRangePicker.js +9 -5
- package/cjs/Disclosure/Disclosure.d.ts +8 -5
- package/cjs/Disclosure/Disclosure.js +51 -11
- package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
- package/cjs/Disclosure/DisclosureContext.d.ts +6 -1
- package/cjs/Dropdown/Dropdown.js +1 -1
- package/cjs/Dropdown/DropdownItem.js +9 -10
- package/cjs/Dropdown/DropdownMenu.js +81 -23
- package/cjs/Dropdown/DropdownToggle.js +8 -1
- package/cjs/FormGroup/FormGroup.js +9 -4
- package/cjs/Menu/MenuItem.js +1 -1
- package/cjs/Modal/Modal.js +34 -22
- package/cjs/MultiCascader/utils.d.ts +3 -3
- package/cjs/Nav/Nav.js +10 -12
- package/cjs/Nav/NavContext.d.ts +6 -0
- package/cjs/Nav/NavContext.js +1 -0
- package/cjs/Navbar/index.d.ts +1 -0
- package/cjs/Navbar/index.js +4 -3
- package/cjs/Overlay/Modal.js +43 -45
- package/cjs/Overlay/Overlay.d.ts +1 -1
- package/cjs/Overlay/Overlay.js +7 -1
- package/cjs/Overlay/OverlayContext.d.ts +6 -0
- package/cjs/Overlay/OverlayContext.js +14 -0
- package/cjs/Overlay/OverlayTrigger.js +7 -1
- package/cjs/Overlay/Position.d.ts +1 -1
- package/cjs/PanelGroup/PanelGroup.js +8 -5
- package/cjs/Picker/propTypes.d.ts +3 -5
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +3 -3
- package/cjs/SelectPicker/SelectPicker.d.ts +16 -6
- package/cjs/SelectPicker/SelectPicker.js +4 -4
- package/cjs/SelectPicker/index.d.ts +1 -1
- package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/cjs/SelectPicker/test/SelectPicker.test.js +70 -0
- package/cjs/Stack/Stack.d.ts +26 -0
- package/cjs/Stack/Stack.js +86 -0
- package/cjs/Stack/index.d.ts +3 -0
- package/cjs/Stack/index.js +11 -0
- package/cjs/Steps/StepItem.js +2 -2
- package/cjs/Toggle/Toggle.js +4 -3
- package/cjs/Tree/Tree.d.ts +0 -1
- package/cjs/Tree/Tree.js +6 -5
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +1 -14
- package/cjs/TreePicker/TreePicker.js +3 -29
- package/cjs/index.d.ts +4 -2
- package/cjs/index.js +9 -5
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- package/cjs/utils/treeUtils.d.ts +5 -5
- package/cjs/utils/useMount.d.ts +2 -0
- package/cjs/utils/useMount.js +19 -0
- package/cjs/utils/usePortal.d.ts +1 -1
- package/dist/rsuite-rtl.css +351 -188
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +351 -188
- package/dist/rsuite.js +94 -39
- 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 +4 -4
- package/esm/Affix/Affix.js +4 -2
- package/esm/AvatarGroup/AvatarGroup.js +7 -4
- package/esm/ButtonGroup/ButtonGroup.js +7 -4
- package/esm/Calendar/Calendar.js +22 -21
- package/esm/Calendar/Header.js +1 -3
- package/esm/Calendar/Table.js +1 -1
- package/esm/Calendar/TableRow.js +13 -8
- package/esm/Calendar/View.js +10 -6
- package/esm/Cascader/utils.d.ts +7 -7
- package/esm/CheckPicker/CheckPicker.d.ts +12 -4
- package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/esm/CheckPicker/test/CheckPicker.test.js +71 -0
- package/esm/CheckTree/index.js +7 -6
- package/esm/Container/Container.js +7 -4
- package/esm/DatePicker/DatePicker.js +4 -2
- package/esm/DateRangePicker/DateRangePicker.js +9 -5
- package/esm/Disclosure/Disclosure.d.ts +8 -5
- package/esm/Disclosure/Disclosure.js +52 -13
- package/esm/Disclosure/DisclosureButton.d.ts +2 -2
- package/esm/Disclosure/DisclosureContext.d.ts +6 -1
- package/esm/Dropdown/Dropdown.js +1 -1
- package/esm/Dropdown/DropdownItem.js +9 -9
- package/esm/Dropdown/DropdownMenu.js +82 -24
- package/esm/Dropdown/DropdownToggle.js +7 -1
- package/esm/FormGroup/FormGroup.js +7 -4
- package/esm/Menu/MenuItem.js +1 -1
- package/esm/Modal/Modal.js +36 -24
- package/esm/MultiCascader/utils.d.ts +3 -3
- package/esm/Nav/Nav.js +11 -13
- package/esm/Nav/NavContext.d.ts +6 -0
- package/esm/Nav/NavContext.js +1 -0
- package/esm/Navbar/index.d.ts +1 -0
- package/esm/Navbar/index.js +1 -0
- package/esm/Overlay/Modal.js +44 -46
- package/esm/Overlay/Overlay.d.ts +1 -1
- package/esm/Overlay/Overlay.js +7 -2
- package/esm/Overlay/OverlayContext.d.ts +6 -0
- package/esm/Overlay/OverlayContext.js +4 -0
- package/esm/Overlay/OverlayTrigger.js +7 -2
- package/esm/Overlay/Position.d.ts +1 -1
- package/esm/PanelGroup/PanelGroup.js +9 -6
- package/esm/Picker/propTypes.d.ts +3 -5
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +3 -3
- package/esm/SelectPicker/SelectPicker.d.ts +16 -6
- package/esm/SelectPicker/SelectPicker.js +4 -4
- package/esm/SelectPicker/index.d.ts +1 -1
- package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/esm/SelectPicker/test/SelectPicker.test.js +59 -0
- package/esm/Stack/Stack.d.ts +26 -0
- package/esm/Stack/Stack.js +71 -0
- package/esm/Stack/index.d.ts +3 -0
- package/esm/Stack/index.js +2 -0
- package/esm/Steps/StepItem.js +2 -2
- package/esm/Toggle/Toggle.js +4 -3
- package/esm/Tree/Tree.d.ts +0 -1
- package/esm/Tree/Tree.js +7 -6
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +2 -14
- package/esm/TreePicker/TreePicker.js +3 -29
- package/esm/index.d.ts +4 -2
- package/esm/index.js +2 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/esm/utils/treeUtils.d.ts +5 -5
- package/esm/utils/useMount.d.ts +2 -0
- package/esm/utils/useMount.js +13 -0
- package/esm/utils/usePortal.d.ts +1 -1
- package/package.json +2 -2
- package/styles/color-modes/dark.less +1 -0
- package/styles/color-modes/high-contrast.less +1 -0
- package/styles/color-modes/light.less +1 -0
- package/styles/index.less +1 -0
- package/styles/mixins/utilities.less +17 -5
package/cjs/Cascader/utils.d.ts
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
import { CascaderProps } from './Cascader';
|
|
3
3
|
import { ItemDataType } from '../@types/common';
|
|
4
4
|
export declare function getColumnsAndPaths<T extends ItemDataType>(data: T[], value: any, options: any): {
|
|
5
|
-
columns: ItemDataType[][];
|
|
5
|
+
columns: ItemDataType<string | number>[][];
|
|
6
6
|
paths: T[];
|
|
7
7
|
};
|
|
8
8
|
export declare function usePaths(props: CascaderProps): {
|
|
9
9
|
enforceUpdate: (nextValue: any, isAttachChildren?: boolean | undefined) => void;
|
|
10
|
-
columnData: ItemDataType[][];
|
|
11
|
-
valueToPaths: ItemDataType[];
|
|
12
|
-
selectedPaths: ItemDataType[];
|
|
13
|
-
setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
|
|
14
|
-
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType[][]>>;
|
|
15
|
-
setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
|
|
10
|
+
columnData: ItemDataType<string | number>[][];
|
|
11
|
+
valueToPaths: ItemDataType<string | number>[];
|
|
12
|
+
selectedPaths: ItemDataType<string | number>[];
|
|
13
|
+
setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
|
|
14
|
+
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
|
|
15
|
+
setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
|
|
16
16
|
addColumn: (column: ItemDataType[], index: number) => void;
|
|
17
17
|
};
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
+
import React, { Ref } from 'react';
|
|
1
2
|
import { PickerLocale } from '../locales';
|
|
2
|
-
import {
|
|
3
|
+
import { PickerInstance } from '../Picker';
|
|
3
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
4
|
-
import {
|
|
5
|
+
import type { MultipleSelectProps } from '../SelectPicker';
|
|
5
6
|
export declare type ValueType = (number | string)[];
|
|
6
|
-
export interface CheckPickerProps<T
|
|
7
|
+
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T> {
|
|
7
8
|
/** Top the selected option in the options */
|
|
8
9
|
sticky?: boolean;
|
|
9
10
|
/** A picker that can be counted */
|
|
10
11
|
countable?: boolean;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
+
export interface CheckPickerComponent {
|
|
14
|
+
<T>(props: CheckPickerProps<T> & {
|
|
15
|
+
ref?: Ref<PickerInstance>;
|
|
16
|
+
}): JSX.Element | null;
|
|
17
|
+
displayName?: string;
|
|
18
|
+
propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
|
|
19
|
+
}
|
|
20
|
+
declare const CheckPicker: CheckPickerComponent;
|
|
13
21
|
export default CheckPicker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _tsExpect = require("ts-expect");
|
|
8
|
+
|
|
9
|
+
var _CheckPicker = _interopRequireDefault(require("../CheckPicker"));
|
|
10
|
+
|
|
11
|
+
// Infer value and onChange types from data
|
|
12
|
+
var numberValuedData = [{
|
|
13
|
+
label: 'One',
|
|
14
|
+
value: 1
|
|
15
|
+
}];
|
|
16
|
+
|
|
17
|
+
/*#__PURE__*/
|
|
18
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
19
|
+
data: numberValuedData,
|
|
20
|
+
value: [1]
|
|
21
|
+
}); // @ts-expect-error should not accept single value
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/*#__PURE__*/
|
|
25
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
26
|
+
data: numberValuedData,
|
|
27
|
+
value: 1
|
|
28
|
+
}); // @ts-expect-error should not accept string value
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/*#__PURE__*/
|
|
32
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
33
|
+
data: numberValuedData,
|
|
34
|
+
value: ['1']
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
/*#__PURE__*/
|
|
38
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
39
|
+
data: numberValuedData,
|
|
40
|
+
onChange: function onChange(newValue) {
|
|
41
|
+
(0, _tsExpect.expectType)(newValue);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
var stringValuedData = [{
|
|
46
|
+
label: 'One',
|
|
47
|
+
value: 'One'
|
|
48
|
+
}];
|
|
49
|
+
|
|
50
|
+
/*#__PURE__*/
|
|
51
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
52
|
+
data: stringValuedData,
|
|
53
|
+
value: ['1']
|
|
54
|
+
}); // @ts-expect-error should not accept single value
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
/*#__PURE__*/
|
|
58
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
59
|
+
data: numberValuedData,
|
|
60
|
+
value: "1"
|
|
61
|
+
}); // @ts-expect-error should not accept number value
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/*#__PURE__*/
|
|
65
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
66
|
+
data: stringValuedData,
|
|
67
|
+
value: [1]
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
/*#__PURE__*/
|
|
71
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
72
|
+
data: stringValuedData,
|
|
73
|
+
onChange: function onChange(newValue) {
|
|
74
|
+
(0, _tsExpect.expectType)(newValue);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
var pickerRef = /*#__PURE__*/_react.default.createRef();
|
|
79
|
+
|
|
80
|
+
/*#__PURE__*/
|
|
81
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
82
|
+
ref: pickerRef,
|
|
83
|
+
data: []
|
|
84
|
+
});
|
package/cjs/CheckTree/index.js
CHANGED
|
@@ -16,12 +16,13 @@ var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
|
|
|
16
16
|
var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
|
|
17
17
|
|
|
18
18
|
var CheckTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
19
|
-
var
|
|
19
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
20
|
+
return {
|
|
21
|
+
inline: true
|
|
22
|
+
};
|
|
23
|
+
}, []);
|
|
20
24
|
return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
|
|
21
|
-
value:
|
|
22
|
-
inline: true,
|
|
23
|
-
dragNodeRef: dragNodeRef
|
|
24
|
-
}
|
|
25
|
+
value: contextValue
|
|
25
26
|
}, /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
|
|
26
27
|
ref: ref
|
|
27
28
|
}, props)));
|
|
@@ -41,10 +41,13 @@ var Container = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
41
41
|
var classes = merge(className, withClassPrefix({
|
|
42
42
|
'has-sidebar': hasSidebar
|
|
43
43
|
}));
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
45
|
+
return {
|
|
46
46
|
setHasSidebar: setHasSidebar
|
|
47
|
-
}
|
|
47
|
+
};
|
|
48
|
+
}, [setHasSidebar]);
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(ContainerContext.Provider, {
|
|
50
|
+
value: contextValue
|
|
48
51
|
}, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
49
52
|
ref: ref,
|
|
50
53
|
className: classes
|
|
@@ -402,6 +402,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
402
402
|
top: top
|
|
403
403
|
};
|
|
404
404
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
405
|
+
role: "dialog",
|
|
405
406
|
className: classes,
|
|
406
407
|
ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
|
|
407
408
|
style: styles,
|
|
@@ -439,7 +440,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
439
440
|
|
|
440
441
|
return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);
|
|
441
442
|
}, [formatStr, formatDate, placeholder, renderValue, value]);
|
|
442
|
-
var
|
|
443
|
+
var caretAs = (0, _react.useMemo)(function () {
|
|
443
444
|
return _utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default;
|
|
444
445
|
}, [formatStr]);
|
|
445
446
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
@@ -475,7 +476,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
475
476
|
active: active,
|
|
476
477
|
placement: placement,
|
|
477
478
|
disabled: disabled,
|
|
478
|
-
|
|
479
|
+
caretAs: caretAs,
|
|
480
|
+
"aria-haspopup": "dialog"
|
|
479
481
|
}), renderDate())));
|
|
480
482
|
});
|
|
481
483
|
|
|
@@ -211,7 +211,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
return isPlaintext ? '' : placeholder || rangeFormatStr;
|
|
214
|
-
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue
|
|
214
|
+
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);
|
|
215
215
|
/**
|
|
216
216
|
* preset hover range
|
|
217
217
|
*/
|
|
@@ -263,7 +263,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
263
263
|
if (closeOverlay !== false) {
|
|
264
264
|
handleCloseDropdown();
|
|
265
265
|
}
|
|
266
|
-
}, [formatStr, handleCloseDropdown, onChange,
|
|
266
|
+
}, [formatStr, handleCloseDropdown, onChange, setValue, value]);
|
|
267
267
|
/**
|
|
268
268
|
* Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
|
|
269
269
|
* The MouseMove event is called between the first click and the second click to update the selection state.
|
|
@@ -293,7 +293,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
293
293
|
} else if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
294
294
|
setHoverDateRange(nextHoverDateRange);
|
|
295
295
|
}
|
|
296
|
-
}, [getHoverRangeValue
|
|
296
|
+
}, [getHoverRangeValue]);
|
|
297
|
+
/**
|
|
298
|
+
* Callback for selecting a date cell in the calendar grid
|
|
299
|
+
*/
|
|
300
|
+
|
|
297
301
|
var handleSelectDate = (0, _react.useCallback)(function (date, event) {
|
|
298
302
|
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
299
303
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
@@ -329,7 +333,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
329
333
|
nextSelectDates.reverse();
|
|
330
334
|
}
|
|
331
335
|
|
|
332
|
-
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates :
|
|
336
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);
|
|
333
337
|
setSelectedDates(nextSelectDates);
|
|
334
338
|
updateCalendarDate(nextSelectDates);
|
|
335
339
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
@@ -628,7 +632,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
628
632
|
hasValue: hasValue,
|
|
629
633
|
active: isPickerToggleActive,
|
|
630
634
|
placement: placement,
|
|
631
|
-
|
|
635
|
+
caretAs: _Calendar.default,
|
|
632
636
|
disabled: disabled
|
|
633
637
|
}), getDisplayString(value))));
|
|
634
638
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import DisclosureButton from './DisclosureButton';
|
|
3
3
|
import DisclosureContent from './DisclosureContent';
|
|
4
|
-
export
|
|
4
|
+
export declare type DisclosureTrigger = 'click' | 'mouseover';
|
|
5
|
+
export interface DisclosureRenderProps extends Pick<React.HTMLAttributes<HTMLElement>, 'onMouseOver' | 'onMouseOut'> {
|
|
5
6
|
open: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface DisclosureProps {
|
|
@@ -13,10 +14,12 @@ export interface DisclosureProps {
|
|
|
13
14
|
hideOnClickOutside?: boolean;
|
|
14
15
|
/** Callback when disclosure button is being activated to update the open state */
|
|
15
16
|
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
17
|
+
/** What mouse events should disclosure reacts to */
|
|
18
|
+
trigger?: DisclosureTrigger[];
|
|
16
19
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var Content: typeof DisclosureContent;
|
|
20
|
+
export interface DisclosureComponent extends React.FC<DisclosureProps> {
|
|
21
|
+
Button: typeof DisclosureButton;
|
|
22
|
+
Content: typeof DisclosureContent;
|
|
21
23
|
}
|
|
24
|
+
declare const Disclosure: DisclosureComponent;
|
|
22
25
|
export default Disclosure;
|
|
@@ -41,14 +41,17 @@ function disclosureReducer(state, action) {
|
|
|
41
41
|
return state;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
var Disclosure = /*#__PURE__*/_react.default.memo(function (props) {
|
|
45
45
|
var children = props.children,
|
|
46
46
|
openProp = props.open,
|
|
47
47
|
_props$defaultOpen = props.defaultOpen,
|
|
48
48
|
defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
|
|
49
49
|
_props$hideOnClickOut = props.hideOnClickOutside,
|
|
50
50
|
hideOnClickOutside = _props$hideOnClickOut === void 0 ? false : _props$hideOnClickOut,
|
|
51
|
-
onToggle = props.onToggle
|
|
51
|
+
onToggle = props.onToggle,
|
|
52
|
+
_props$trigger = props.trigger,
|
|
53
|
+
trigger = _props$trigger === void 0 ? ['click'] : _props$trigger;
|
|
54
|
+
var parentDisclosure = (0, _react.useContext)(_DisclosureContext.default);
|
|
52
55
|
|
|
53
56
|
var _useReducer = (0, _react.useReducer)(disclosureReducer, (0, _extends2.default)({}, initialDisclosureState, {
|
|
54
57
|
open: defaultOpen
|
|
@@ -71,19 +74,56 @@ function Disclosure(props) {
|
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
76
|
});
|
|
74
|
-
var
|
|
77
|
+
var onMouseOver = (0, _react.useCallback)(function (event) {
|
|
78
|
+
if (!open) {
|
|
79
|
+
dispatch({
|
|
80
|
+
type: _DisclosureContext.DisclosureActionTypes.Show
|
|
81
|
+
});
|
|
82
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);
|
|
83
|
+
}
|
|
84
|
+
}, [open, dispatch, onToggle]);
|
|
85
|
+
var onMouseOut = (0, _react.useCallback)(function (event) {
|
|
86
|
+
if (open) {
|
|
87
|
+
dispatch({
|
|
88
|
+
type: _DisclosureContext.DisclosureActionTypes.Hide
|
|
89
|
+
});
|
|
90
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(false, event);
|
|
91
|
+
}
|
|
92
|
+
}, [open, dispatch, onToggle]);
|
|
93
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
94
|
+
var cascadeDispatch = function cascadeDispatch(action) {
|
|
95
|
+
var result = dispatch(action);
|
|
96
|
+
|
|
97
|
+
if ('cascade' in action) {
|
|
98
|
+
parentDisclosure === null || parentDisclosure === void 0 ? void 0 : parentDisclosure[1](action);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return result;
|
|
102
|
+
};
|
|
103
|
+
|
|
75
104
|
return [{
|
|
76
105
|
open: open
|
|
77
|
-
},
|
|
78
|
-
onToggle: onToggle
|
|
106
|
+
}, cascadeDispatch, {
|
|
107
|
+
onToggle: onToggle,
|
|
108
|
+
trigger: trigger
|
|
79
109
|
}];
|
|
80
|
-
}, [open, dispatch, onToggle]);
|
|
110
|
+
}, [parentDisclosure, open, dispatch, onToggle, trigger]);
|
|
111
|
+
var renderProps = (0, _react.useMemo)(function () {
|
|
112
|
+
var renderProps = {
|
|
113
|
+
open: open
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
if (trigger.includes('mouseover')) {
|
|
117
|
+
renderProps.onMouseOver = onMouseOver;
|
|
118
|
+
renderProps.onMouseOut = onMouseOut;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return renderProps;
|
|
122
|
+
}, [open, trigger, onMouseOver, onMouseOut]);
|
|
81
123
|
return /*#__PURE__*/_react.default.createElement(_DisclosureContext.default.Provider, {
|
|
82
|
-
value:
|
|
83
|
-
}, children(
|
|
84
|
-
|
|
85
|
-
}, containerElementRef));
|
|
86
|
-
}
|
|
124
|
+
value: contextValue
|
|
125
|
+
}, children(renderProps, containerElementRef));
|
|
126
|
+
});
|
|
87
127
|
|
|
88
128
|
Disclosure.Button = _DisclosureButton.default;
|
|
89
129
|
Disclosure.Content = _DisclosureContent.default;
|
|
@@ -3,9 +3,9 @@ export interface DisclosureButtonRenderProps {
|
|
|
3
3
|
open: boolean;
|
|
4
4
|
}
|
|
5
5
|
export interface DisclosureButtonProps {
|
|
6
|
-
children: (props: React.
|
|
6
|
+
children: (props: React.HTMLAttributes<HTMLElement> & DisclosureButtonRenderProps, ref: React.Ref<HTMLElement>) => React.ReactElement<React.HTMLAttributes<HTMLElement>>;
|
|
7
7
|
}
|
|
8
|
-
declare function DisclosureButton(props: DisclosureButtonProps): React.ReactElement<React.HTMLAttributes<
|
|
8
|
+
declare function DisclosureButton(props: DisclosureButtonProps): React.ReactElement<React.HTMLAttributes<HTMLElement>, string | React.JSXElementConstructor<any>>;
|
|
9
9
|
declare namespace DisclosureButton {
|
|
10
10
|
var displayName: string;
|
|
11
11
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { Dispatch } from 'react';
|
|
2
|
+
import type { DisclosureTrigger } from './Disclosure';
|
|
2
3
|
export interface DisclosureState {
|
|
3
4
|
open: boolean;
|
|
4
5
|
}
|
|
@@ -7,12 +8,16 @@ export declare enum DisclosureActionTypes {
|
|
|
7
8
|
Hide = 1
|
|
8
9
|
}
|
|
9
10
|
export declare type DisclosureAction = {
|
|
10
|
-
type: DisclosureActionTypes;
|
|
11
|
+
type: DisclosureActionTypes.Show;
|
|
12
|
+
} | {
|
|
13
|
+
type: DisclosureActionTypes.Hide;
|
|
14
|
+
cascade?: boolean;
|
|
11
15
|
};
|
|
12
16
|
export declare type DisclosureContextProps = [
|
|
13
17
|
DisclosureState,
|
|
14
18
|
Dispatch<DisclosureAction>,
|
|
15
19
|
{
|
|
20
|
+
trigger: DisclosureTrigger[];
|
|
16
21
|
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
17
22
|
}
|
|
18
23
|
];
|
package/cjs/Dropdown/Dropdown.js
CHANGED
|
@@ -41,7 +41,7 @@ var _MenuItem = _interopRequireDefault(require("../Menu/MenuItem"));
|
|
|
41
41
|
|
|
42
42
|
var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
|
|
43
43
|
|
|
44
|
-
var _Navbar = require("../Navbar
|
|
44
|
+
var _Navbar = require("../Navbar");
|
|
45
45
|
|
|
46
46
|
var _Disclosure = _interopRequireDefault(require("../Disclosure/Disclosure"));
|
|
47
47
|
|
|
@@ -33,8 +33,6 @@ var _SidenavDropdownItem = _interopRequireDefault(require("../Sidenav/SidenavDro
|
|
|
33
33
|
|
|
34
34
|
var _DisclosureContext = _interopRequireWildcard(require("../Disclosure/DisclosureContext"));
|
|
35
35
|
|
|
36
|
-
var _SafeAnchor = _interopRequireDefault(require("../SafeAnchor"));
|
|
37
|
-
|
|
38
36
|
var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
|
|
39
37
|
|
|
40
38
|
var _useInternalId = _interopRequireDefault(require("../utils/useInternalId"));
|
|
@@ -87,7 +85,8 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
87
85
|
|
|
88
86
|
var handleClickNavbarDropdownItem = (0, _react.useCallback)(function (event) {
|
|
89
87
|
dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({
|
|
90
|
-
type: _DisclosureContext.DisclosureActionTypes.Hide
|
|
88
|
+
type: _DisclosureContext.DisclosureActionTypes.Hide,
|
|
89
|
+
cascade: true
|
|
91
90
|
});
|
|
92
91
|
handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);
|
|
93
92
|
}, [dispatchDisclosure, handleSelectItem]);
|
|
@@ -154,16 +153,16 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
154
153
|
dataAttributes['data-event-key-type'] = typeof eventKey;
|
|
155
154
|
}
|
|
156
155
|
|
|
157
|
-
return
|
|
156
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
158
157
|
ref: ref,
|
|
159
158
|
className: classes,
|
|
160
|
-
|
|
159
|
+
'aria-current': selected || undefined
|
|
161
160
|
}, dataAttributes, restProps, {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
})
|
|
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
|
+
}));
|
|
167
166
|
}
|
|
168
167
|
|
|
169
168
|
return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
@@ -35,11 +35,15 @@ var _useCustom2 = _interopRequireDefault(require("../utils/useCustom"));
|
|
|
35
35
|
|
|
36
36
|
var _DropdownContext = _interopRequireDefault(require("./DropdownContext"));
|
|
37
37
|
|
|
38
|
+
var _Navbar = require("../Navbar");
|
|
39
|
+
|
|
38
40
|
var _Menubar = _interopRequireDefault(require("../Menu/Menubar"));
|
|
39
41
|
|
|
40
42
|
var _SidenavDropdownMenu = _interopRequireDefault(require("../Sidenav/SidenavDropdownMenu"));
|
|
41
43
|
|
|
42
|
-
var
|
|
44
|
+
var _Disclosure = _interopRequireDefault(require("../Disclosure"));
|
|
45
|
+
|
|
46
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
43
47
|
|
|
44
48
|
/**
|
|
45
49
|
* The <Dropdown.Menu> API
|
|
@@ -71,6 +75,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
71
75
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["onToggle", "eventKey", "title", "activeKey", "onSelect", "classPrefix", "children"]);
|
|
72
76
|
var dropdown = (0, _react.useContext)(_DropdownContext.default);
|
|
73
77
|
var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
|
|
78
|
+
var withinNavbar = Boolean((0, _react.useContext)(_Navbar.NavbarContext));
|
|
74
79
|
|
|
75
80
|
var _useCustom = (0, _useCustom2.default)('DropdownMenu'),
|
|
76
81
|
rtl = _useCustom.rtl;
|
|
@@ -91,17 +96,20 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
91
96
|
var _useClassNames3 = (0, _utils.useClassNames)('dropdown-item'),
|
|
92
97
|
mergeItemClassNames = _useClassNames3.merge,
|
|
93
98
|
withItemClassPrefix = _useClassNames3.withClassPrefix,
|
|
94
|
-
prefixItemClassName = _useClassNames3.prefix;
|
|
99
|
+
prefixItemClassName = _useClassNames3.prefix;
|
|
100
|
+
|
|
101
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
102
|
+
return {
|
|
103
|
+
activeKey: activeKey,
|
|
104
|
+
onSelect: onSelect
|
|
105
|
+
};
|
|
106
|
+
}, [activeKey, onSelect]); // <Dropdown.Menu> is used outside of <Dropdown>
|
|
95
107
|
// renders a vertical `menubar`
|
|
96
108
|
|
|
97
|
-
|
|
98
109
|
if (!dropdown) {
|
|
99
110
|
var classes = merge(props.className, withClassPrefix());
|
|
100
111
|
return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {
|
|
101
|
-
value:
|
|
102
|
-
activeKey: activeKey,
|
|
103
|
-
onSelect: onSelect
|
|
104
|
-
}
|
|
112
|
+
value: contextValue
|
|
105
113
|
}, /*#__PURE__*/_react.default.createElement(_Menubar.default, {
|
|
106
114
|
vertical: true,
|
|
107
115
|
onActivateItem: function onActivateItem(event) {
|
|
@@ -132,19 +140,69 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
132
140
|
disabled = _omit.disabled,
|
|
133
141
|
menuProps = (0, _objectWithoutPropertiesLoose2.default)(_omit, ["icon", "className", "disabled"]);
|
|
134
142
|
|
|
135
|
-
var Icon = rtl ? _AngleLeft.default : _AngleRight.default;
|
|
143
|
+
var Icon = rtl ? _AngleLeft.default : _AngleRight.default; // Renders a disclosure when used within <Navbar>
|
|
144
|
+
|
|
145
|
+
if (withinNavbar) {
|
|
146
|
+
return /*#__PURE__*/_react.default.createElement(_Disclosure.default, {
|
|
147
|
+
hideOnClickOutside: true,
|
|
148
|
+
trigger: ['click', 'mouseover']
|
|
149
|
+
}, function (_ref, containerRef) {
|
|
150
|
+
var open = _ref.open,
|
|
151
|
+
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["open"]);
|
|
152
|
+
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
153
|
+
disabled: disabled,
|
|
154
|
+
open: open,
|
|
155
|
+
submenu: true // focus: hasFocus
|
|
156
|
+
|
|
157
|
+
}));
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
|
|
159
|
+
ref: (0, _utils.mergeRefs)(ref, containerRef),
|
|
160
|
+
className: classes
|
|
161
|
+
}, props), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (_ref2, buttonRef) {
|
|
162
|
+
var open = _ref2.open,
|
|
163
|
+
buttonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["open"]);
|
|
164
|
+
var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), // prefixItemClassName`submenu`,
|
|
165
|
+
withItemClassPrefix({
|
|
166
|
+
'with-icon': icon,
|
|
167
|
+
open: open,
|
|
168
|
+
// active: selected,
|
|
169
|
+
disabled: disabled // focus: active
|
|
170
|
+
|
|
171
|
+
}));
|
|
172
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
173
|
+
ref: (0, _utils.mergeRefs)(buttonRef, buttonRef),
|
|
174
|
+
className: classes,
|
|
175
|
+
"data-event-key": eventKey,
|
|
176
|
+
"data-event-key-type": typeof eventKey
|
|
177
|
+
}, buttonProps), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
178
|
+
className: prefix('menu-icon')
|
|
179
|
+
}), title, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
180
|
+
className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["toggle-icon"])))
|
|
181
|
+
}));
|
|
182
|
+
}), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, null, function (_ref3, elementRef) {
|
|
183
|
+
var open = _ref3.open;
|
|
184
|
+
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
185
|
+
return /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
|
|
186
|
+
ref: elementRef,
|
|
187
|
+
className: menuClassName,
|
|
188
|
+
hidden: !open
|
|
189
|
+
}, menuProps), children);
|
|
190
|
+
}));
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
|
|
136
194
|
return /*#__PURE__*/_react.default.createElement(_Menu.default, {
|
|
137
195
|
openMenuOn: ['mouseover', 'click'],
|
|
138
|
-
renderMenuButton: function renderMenuButton(
|
|
139
|
-
var open =
|
|
140
|
-
menuButtonProps = (0, _objectWithoutPropertiesLoose2.default)(
|
|
196
|
+
renderMenuButton: function renderMenuButton(_ref4, buttonRef) {
|
|
197
|
+
var open = _ref4.open,
|
|
198
|
+
menuButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, ["open"]);
|
|
141
199
|
return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
142
200
|
disabled: disabled
|
|
143
|
-
}, function (
|
|
144
|
-
var selected =
|
|
145
|
-
active =
|
|
146
|
-
menuitem = (0, _objectWithoutPropertiesLoose2.default)(
|
|
147
|
-
var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(
|
|
201
|
+
}, function (_ref5, menuitemRef) {
|
|
202
|
+
var selected = _ref5.selected,
|
|
203
|
+
active = _ref5.active,
|
|
204
|
+
menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref5, ["selected", "active"]);
|
|
205
|
+
var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), // prefixItemClassName`submenu`,
|
|
148
206
|
withItemClassPrefix({
|
|
149
207
|
'with-icon': icon,
|
|
150
208
|
open: open,
|
|
@@ -160,13 +218,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
160
218
|
}, menuitem, (0, _omit2.default)(menuButtonProps, ['role'])), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
161
219
|
className: prefix('menu-icon')
|
|
162
220
|
}), title, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
163
|
-
className: prefix(
|
|
221
|
+
className: prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["toggle-icon"])))
|
|
164
222
|
}));
|
|
165
223
|
});
|
|
166
224
|
},
|
|
167
|
-
renderMenuPopup: function renderMenuPopup(
|
|
168
|
-
var open =
|
|
169
|
-
popupProps = (0, _objectWithoutPropertiesLoose2.default)(
|
|
225
|
+
renderMenuPopup: function renderMenuPopup(_ref6, popupRef) {
|
|
226
|
+
var open = _ref6.open,
|
|
227
|
+
popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref6, ["open"]);
|
|
170
228
|
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
171
229
|
return /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
|
|
172
230
|
ref: popupRef,
|
|
@@ -175,9 +233,9 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
175
233
|
}, popupProps, menuProps), children);
|
|
176
234
|
},
|
|
177
235
|
onToggleMenu: handleToggleSubmenu
|
|
178
|
-
}, function (
|
|
179
|
-
var open =
|
|
180
|
-
menuContainer = (0, _objectWithoutPropertiesLoose2.default)(
|
|
236
|
+
}, function (_ref7, menuContainerRef) {
|
|
237
|
+
var open = _ref7.open,
|
|
238
|
+
menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref7, ["open"]);
|
|
181
239
|
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
182
240
|
disabled: disabled,
|
|
183
241
|
open: open,
|
|
@@ -23,6 +23,8 @@ var _useToggleCaret = _interopRequireDefault(require("../utils/useToggleCaret"))
|
|
|
23
23
|
|
|
24
24
|
var _Sidenav = require("../Sidenav/Sidenav");
|
|
25
25
|
|
|
26
|
+
var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
|
|
27
|
+
|
|
26
28
|
var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
27
29
|
var _props$as = props.as,
|
|
28
30
|
Component = _props$as === void 0 ? _Button.default : _props$as,
|
|
@@ -38,6 +40,9 @@ var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
38
40
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "renderToggle", "children", "icon", "noCaret", "placement"]);
|
|
39
41
|
var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
|
|
40
42
|
|
|
43
|
+
var _useContext = (0, _react.useContext)(_NavContext.default),
|
|
44
|
+
withinNav = _useContext.withinNav;
|
|
45
|
+
|
|
41
46
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
42
47
|
prefix = _useClassNames.prefix,
|
|
43
48
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -50,7 +55,9 @@ var DropdownToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
50
55
|
|
|
51
56
|
var Caret = (0, _useToggleCaret.default)(inSidenav ? 'bottomStart' : placement);
|
|
52
57
|
|
|
53
|
-
var toggle = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
58
|
+
var toggle = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
59
|
+
appearance: withinNav ? 'subtle' : undefined
|
|
60
|
+
}, rest, {
|
|
54
61
|
ref: ref,
|
|
55
62
|
className: classes
|
|
56
63
|
}), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|