rsuite 5.4.0 → 5.4.4
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 +38 -0
- package/CheckTreePicker/styles/index.less +1 -1
- package/Drawer/styles/index.less +3 -0
- package/Dropdown/styles/index.less +6 -22
- package/Dropdown/styles/mixin.less +0 -2
- package/Modal/styles/index.less +23 -22
- package/Navbar/styles/index.less +20 -8
- package/README.md +1 -1
- package/Sidenav/styles/index.less +8 -2
- 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/Calendar/useCalendarDate.d.ts +1 -1
- package/cjs/Calendar/useCalendarDate.js +1 -1
- package/cjs/Carousel/Carousel.js +7 -1
- package/cjs/Cascader/Cascader.js +13 -2
- package/cjs/CheckPicker/CheckPicker.d.ts +5 -2
- package/cjs/CheckPicker/test/CheckPicker.test.js +8 -0
- package/cjs/CheckTree/index.js +9 -4
- package/cjs/CheckTreePicker/CheckTreePicker.js +1 -1
- package/cjs/CheckTreePicker/utils.js +1 -1
- package/cjs/Container/Container.js +6 -3
- package/cjs/CustomProvider/CustomProvider.d.ts +14 -14
- package/cjs/CustomProvider/CustomProvider.js +4 -3
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +5 -5
- package/cjs/DateRangePicker/DateRangePicker.js +3 -3
- 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 +78 -26
- package/cjs/FormGroup/FormGroup.js +9 -4
- package/cjs/Menu/MenuItem.js +1 -1
- package/cjs/Modal/Modal.js +34 -22
- package/cjs/Modal/utils.js +16 -8
- package/cjs/MultiCascader/MultiCascader.js +6 -3
- package/cjs/Nav/Nav.js +10 -15
- package/cjs/Nav/NavItem.js +3 -1
- package/cjs/Navbar/index.d.ts +1 -0
- package/cjs/Navbar/index.js +4 -3
- package/cjs/Overlay/Modal.js +18 -32
- package/cjs/PanelGroup/PanelGroup.js +8 -5
- package/cjs/Picker/DropdownMenu.js +5 -0
- package/cjs/Picker/PickerToggle.js +2 -4
- package/cjs/SelectPicker/SelectPicker.d.ts +5 -2
- package/cjs/SelectPicker/test/SelectPicker.test.js +8 -0
- package/cjs/Toggle/Toggle.js +2 -1
- package/cjs/Tree/Tree.js +9 -4
- package/cjs/Uploader/UploadFileItem.d.ts +1 -1
- package/cjs/Uploader/UploadFileItem.js +1 -1
- package/cjs/Uploader/Uploader.js +3 -0
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- package/cjs/utils/propTypeChecker.d.ts +2 -6
- package/cjs/utils/propTypeChecker.js +7 -59
- package/cjs/utils/useClickOutside.js +6 -2
- package/cjs/utils/useMount.d.ts +2 -0
- package/cjs/utils/useMount.js +19 -0
- package/dist/rsuite-rtl.css +336 -180
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +336 -180
- package/dist/rsuite.js +67 -45
- 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/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/Calendar/useCalendarDate.d.ts +1 -1
- package/esm/Calendar/useCalendarDate.js +1 -1
- package/esm/Carousel/Carousel.js +9 -3
- package/esm/Cascader/Cascader.js +13 -2
- package/esm/CheckPicker/CheckPicker.d.ts +5 -2
- package/esm/CheckPicker/test/CheckPicker.test.js +7 -0
- package/esm/CheckTree/index.js +7 -4
- package/esm/CheckTreePicker/CheckTreePicker.js +1 -1
- package/esm/CheckTreePicker/utils.js +1 -1
- package/esm/Container/Container.js +7 -4
- package/esm/CustomProvider/CustomProvider.d.ts +14 -14
- package/esm/CustomProvider/CustomProvider.js +2 -2
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +5 -4
- package/esm/DateRangePicker/DateRangePicker.js +3 -3
- 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 +79 -27
- package/esm/FormGroup/FormGroup.js +7 -4
- package/esm/Menu/MenuItem.js +1 -1
- package/esm/Modal/Modal.js +36 -24
- package/esm/Modal/utils.js +16 -8
- package/esm/MultiCascader/MultiCascader.js +6 -3
- package/esm/Nav/Nav.js +11 -16
- package/esm/Nav/NavItem.js +3 -1
- package/esm/Navbar/index.d.ts +1 -0
- package/esm/Navbar/index.js +1 -0
- package/esm/Overlay/Modal.js +19 -33
- package/esm/PanelGroup/PanelGroup.js +9 -6
- package/esm/Picker/DropdownMenu.js +5 -0
- package/esm/Picker/PickerToggle.js +2 -4
- package/esm/SelectPicker/SelectPicker.d.ts +5 -2
- package/esm/SelectPicker/test/SelectPicker.test.js +7 -0
- package/esm/Toggle/Toggle.js +2 -1
- package/esm/Tree/Tree.js +7 -4
- package/esm/Uploader/UploadFileItem.d.ts +1 -1
- package/esm/Uploader/UploadFileItem.js +1 -1
- package/esm/Uploader/Uploader.js +4 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/esm/utils/propTypeChecker.d.ts +2 -6
- package/esm/utils/propTypeChecker.js +7 -59
- package/esm/utils/useClickOutside.js +6 -2
- package/esm/utils/useMount.d.ts +2 -0
- package/esm/utils/useMount.js +13 -0
- 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/mixins/utilities.less +17 -5
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -211,10 +211,18 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
211
211
|
}
|
|
212
212
|
}, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);
|
|
213
213
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
214
|
+
if (!targetRef.current) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
|
|
214
218
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
215
219
|
setActive(true);
|
|
216
220
|
}, [onOpen]);
|
|
217
221
|
var handleExited = (0, _react.useCallback)(function () {
|
|
222
|
+
if (!targetRef.current) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
|
|
218
226
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
219
227
|
setActive(false);
|
|
220
228
|
setSearchKeyword('');
|
|
@@ -225,7 +233,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
225
233
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
|
|
226
234
|
}, [triggerRef]);
|
|
227
235
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
228
|
-
if (disabled) {
|
|
236
|
+
if (disabled || !targetRef.current) {
|
|
229
237
|
return;
|
|
230
238
|
}
|
|
231
239
|
|
|
@@ -283,7 +291,10 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
283
291
|
children.then(function (data) {
|
|
284
292
|
node.loading = false;
|
|
285
293
|
node[childrenKey] = data;
|
|
286
|
-
|
|
294
|
+
|
|
295
|
+
if (targetRef.current) {
|
|
296
|
+
addColumn(data, cascadePaths.length);
|
|
297
|
+
}
|
|
287
298
|
});
|
|
288
299
|
} else {
|
|
289
300
|
node.loading = false;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { Ref } from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
+
import { PickerInstance } from '../Picker';
|
|
3
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
4
5
|
import type { MultipleSelectProps } from '../SelectPicker';
|
|
5
6
|
export declare type ValueType = (number | string)[];
|
|
@@ -10,7 +11,9 @@ export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerL
|
|
|
10
11
|
countable?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export interface CheckPickerComponent {
|
|
13
|
-
<T>(props: CheckPickerProps<T>
|
|
14
|
+
<T>(props: CheckPickerProps<T> & {
|
|
15
|
+
ref?: Ref<PickerInstance>;
|
|
16
|
+
}): JSX.Element | null;
|
|
14
17
|
displayName?: string;
|
|
15
18
|
propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
|
|
16
19
|
}
|
|
@@ -73,4 +73,12 @@ _react.default.createElement(_CheckPicker.default, {
|
|
|
73
73
|
onChange: function onChange(newValue) {
|
|
74
74
|
(0, _tsExpect.expectType)(newValue);
|
|
75
75
|
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
var pickerRef = /*#__PURE__*/_react.default.createRef();
|
|
79
|
+
|
|
80
|
+
/*#__PURE__*/
|
|
81
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
82
|
+
ref: pickerRef,
|
|
83
|
+
data: []
|
|
76
84
|
});
|
package/cjs/CheckTree/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
3
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
6
|
|
|
5
7
|
exports.__esModule = true;
|
|
@@ -7,17 +9,20 @@ exports.default = void 0;
|
|
|
7
9
|
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
11
|
|
|
10
|
-
var _react =
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
13
|
|
|
12
14
|
var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
|
|
13
15
|
|
|
14
16
|
var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
|
|
15
17
|
|
|
16
18
|
var CheckTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
20
|
+
return {
|
|
19
21
|
inline: true
|
|
20
|
-
}
|
|
22
|
+
};
|
|
23
|
+
}, []);
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
|
|
25
|
+
value: contextValue
|
|
21
26
|
}, /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
|
|
22
27
|
ref: ref
|
|
23
28
|
}, props)));
|
|
@@ -645,7 +645,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
645
645
|
var renderCheckTree = function renderCheckTree() {
|
|
646
646
|
var _withCheckTreeClassPr, _merge2;
|
|
647
647
|
|
|
648
|
-
var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !_utils2.isSomeNodeHasChildren, _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));
|
|
648
|
+
var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !(0, _utils2.isSomeNodeHasChildren)(data, childrenKey), _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));
|
|
649
649
|
var formattedNodes = getFormattedNodes(renderNode);
|
|
650
650
|
|
|
651
651
|
if (!formattedNodes.some(function (v) {
|
|
@@ -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
|
|
@@ -72,10 +72,10 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
72
72
|
saturday: string;
|
|
73
73
|
ok: string;
|
|
74
74
|
today: string;
|
|
75
|
-
yesterday: string;
|
|
75
|
+
yesterday: string;
|
|
76
76
|
hours: string;
|
|
77
77
|
minutes: string;
|
|
78
|
-
seconds: string;
|
|
78
|
+
seconds: string; /** Support right-to-left */
|
|
79
79
|
formattedMonthPattern: string;
|
|
80
80
|
formattedDayPattern: string;
|
|
81
81
|
dateLocale: any;
|
|
@@ -90,10 +90,10 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
90
90
|
saturday: string;
|
|
91
91
|
ok: string;
|
|
92
92
|
today: string;
|
|
93
|
-
yesterday: string;
|
|
93
|
+
yesterday: string;
|
|
94
94
|
hours: string;
|
|
95
95
|
minutes: string;
|
|
96
|
-
seconds: string;
|
|
96
|
+
seconds: string; /** Support right-to-left */
|
|
97
97
|
formattedMonthPattern: string;
|
|
98
98
|
formattedDayPattern: string;
|
|
99
99
|
dateLocale: any;
|
|
@@ -109,10 +109,10 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
109
109
|
saturday: string;
|
|
110
110
|
ok: string;
|
|
111
111
|
today: string;
|
|
112
|
-
yesterday: string;
|
|
112
|
+
yesterday: string;
|
|
113
113
|
hours: string;
|
|
114
114
|
minutes: string;
|
|
115
|
-
seconds: string;
|
|
115
|
+
seconds: string; /** Support right-to-left */
|
|
116
116
|
formattedMonthPattern: string;
|
|
117
117
|
formattedDayPattern: string;
|
|
118
118
|
dateLocale: any;
|
|
@@ -120,7 +120,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
120
120
|
Picker?: {
|
|
121
121
|
noResultsText: string;
|
|
122
122
|
placeholder: string;
|
|
123
|
-
searchPlaceholder: string;
|
|
123
|
+
searchPlaceholder: string;
|
|
124
124
|
checkAll: string;
|
|
125
125
|
} | undefined;
|
|
126
126
|
InputPicker?: {
|
|
@@ -176,10 +176,10 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
176
176
|
saturday: string;
|
|
177
177
|
ok: string;
|
|
178
178
|
today: string;
|
|
179
|
-
yesterday: string;
|
|
179
|
+
yesterday: string;
|
|
180
180
|
hours: string;
|
|
181
181
|
minutes: string;
|
|
182
|
-
seconds: string;
|
|
182
|
+
seconds: string; /** Support right-to-left */
|
|
183
183
|
formattedMonthPattern: string;
|
|
184
184
|
formattedDayPattern: string;
|
|
185
185
|
dateLocale: any;
|
|
@@ -194,10 +194,10 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
194
194
|
saturday: string;
|
|
195
195
|
ok: string;
|
|
196
196
|
today: string;
|
|
197
|
-
yesterday: string;
|
|
197
|
+
yesterday: string;
|
|
198
198
|
hours: string;
|
|
199
199
|
minutes: string;
|
|
200
|
-
seconds: string;
|
|
200
|
+
seconds: string; /** Support right-to-left */
|
|
201
201
|
formattedMonthPattern: string;
|
|
202
202
|
formattedDayPattern: string;
|
|
203
203
|
dateLocale: any;
|
|
@@ -213,10 +213,10 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
213
213
|
saturday: string;
|
|
214
214
|
ok: string;
|
|
215
215
|
today: string;
|
|
216
|
-
yesterday: string;
|
|
216
|
+
yesterday: string;
|
|
217
217
|
hours: string;
|
|
218
218
|
minutes: string;
|
|
219
|
-
seconds: string;
|
|
219
|
+
seconds: string; /** Support right-to-left */
|
|
220
220
|
formattedMonthPattern: string;
|
|
221
221
|
formattedDayPattern: string;
|
|
222
222
|
dateLocale: any;
|
|
@@ -224,7 +224,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
|
224
224
|
Picker?: {
|
|
225
225
|
noResultsText: string;
|
|
226
226
|
placeholder: string;
|
|
227
|
-
searchPlaceholder: string;
|
|
227
|
+
searchPlaceholder: string;
|
|
228
228
|
checkAll: string;
|
|
229
229
|
} | undefined;
|
|
230
230
|
InputPicker?: {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
3
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
6
|
|
|
5
7
|
exports.__esModule = true;
|
|
@@ -9,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
11
|
|
|
10
12
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
13
|
|
|
12
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
14
16
|
var _prefix = require("../utils/prefix");
|
|
15
17
|
|
|
@@ -37,7 +39,7 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
37
39
|
}, rest);
|
|
38
40
|
}, [classPrefix, theme, rest]);
|
|
39
41
|
|
|
40
|
-
_react.
|
|
42
|
+
(0, _react.useEffect)(function () {
|
|
41
43
|
if (_DOMHelper.canUseDOM && theme) {
|
|
42
44
|
(0, _DOMHelper.addClass)(document.body, (0, _prefix.prefix)(classPrefix, "theme-" + theme)); // Remove the className that will cause style conflicts
|
|
43
45
|
|
|
@@ -48,7 +50,6 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
}, [classPrefix, theme]);
|
|
51
|
-
|
|
52
53
|
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
53
54
|
value: value
|
|
54
55
|
}, children);
|
|
@@ -3,7 +3,7 @@ import { RangeType } from './Toolbar';
|
|
|
3
3
|
import { DatePickerLocale } from '../locales';
|
|
4
4
|
import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
|
|
5
5
|
export type { RangeType } from './Toolbar';
|
|
6
|
-
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date> {
|
|
6
|
+
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null> {
|
|
7
7
|
/** Configure shortcut options */
|
|
8
8
|
ranges?: RangeType<Date>[];
|
|
9
9
|
/** Calendar panel default presentation date and time */
|
|
@@ -15,8 +15,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
|
-
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
19
|
-
|
|
20
18
|
var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
|
|
21
19
|
|
|
22
20
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
@@ -194,11 +192,11 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
194
192
|
closeOverlay = true;
|
|
195
193
|
}
|
|
196
194
|
|
|
197
|
-
var nextValue =
|
|
195
|
+
var nextValue = typeof nextPageDate !== 'undefined' ? nextPageDate : calendarDate;
|
|
198
196
|
setCalendarDate(nextValue || new Date());
|
|
199
197
|
setValue(nextValue);
|
|
200
198
|
|
|
201
|
-
if (nextValue !== value
|
|
199
|
+
if (nextValue !== value) {
|
|
202
200
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
203
201
|
} // `closeOverlay` default value is `true`
|
|
204
202
|
|
|
@@ -402,6 +400,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
402
400
|
top: top
|
|
403
401
|
};
|
|
404
402
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
403
|
+
role: "dialog",
|
|
405
404
|
className: classes,
|
|
406
405
|
ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
|
|
407
406
|
style: styles,
|
|
@@ -475,7 +474,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
475
474
|
active: active,
|
|
476
475
|
placement: placement,
|
|
477
476
|
disabled: disabled,
|
|
478
|
-
caretAs: caretAs
|
|
477
|
+
caretAs: caretAs,
|
|
478
|
+
"aria-haspopup": "dialog"
|
|
479
479
|
}), renderDate())));
|
|
480
480
|
});
|
|
481
481
|
|
|
@@ -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,7 @@ 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
297
|
/**
|
|
298
298
|
* Callback for selecting a date cell in the calendar grid
|
|
299
299
|
*/
|
|
@@ -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, {
|