rsuite 5.5.0 → 5.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/Carousel/styles/index.less +1 -0
- package/CheckTreePicker/styles/index.less +5 -5
- package/Modal/styles/mixin.less +1 -0
- package/README.md +4 -2
- package/Sidenav/styles/index.less +2 -2
- package/cjs/Affix/Affix.js +1 -0
- package/cjs/Calendar/TimeDropdown.js +7 -4
- package/cjs/Carousel/Carousel.d.ts +5 -1
- package/cjs/Carousel/Carousel.js +22 -16
- package/cjs/Cascader/Cascader.js +2 -2
- package/cjs/Cascader/DropdownMenu.js +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +17 -12
- package/cjs/CheckTreePicker/utils.d.ts +3 -3
- package/cjs/CheckTreePicker/utils.js +2 -2
- package/cjs/DOMHelper/index.d.ts +4 -4
- package/cjs/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/DatePicker/DatePicker.js +19 -12
- package/cjs/DateRangePicker/Calendar.js +2 -16
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +5 -4
- package/cjs/IconButton/IconButton.d.ts +5 -2
- package/cjs/IconButton/IconButton.js +2 -2
- package/cjs/IconButton/test/IconButton.test.d.ts +1 -0
- package/cjs/IconButton/test/IconButton.test.js +24 -0
- package/cjs/InputPicker/InputAutosize.js +3 -1
- package/cjs/InputPicker/InputPicker.js +6 -2
- package/cjs/List/ListItem.js +13 -11
- package/cjs/Menu/MenuItem.js +14 -11
- package/cjs/Picker/PickerOverlay.js +4 -1
- package/cjs/Picker/index.d.ts +2 -1
- package/cjs/Ripple/Ripple.js +17 -9
- package/cjs/TreePicker/TreePicker.js +15 -11
- package/cjs/Uploader/UploadTrigger.js +3 -1
- package/cjs/Uploader/Uploader.js +3 -1
- package/cjs/toaster/toaster.d.ts +1 -1
- package/cjs/toaster/toaster.js +9 -3
- package/cjs/utils/treeUtils.d.ts +3 -3
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +5 -2
- package/cjs/utils/useTimeout.d.ts +2 -2
- package/cjs/utils/useTimeout.js +17 -8
- package/dist/rsuite-rtl.css +23 -16
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +23 -16
- package/dist/rsuite.js +370 -51
- 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 +1 -0
- package/esm/Calendar/TimeDropdown.js +7 -4
- package/esm/Carousel/Carousel.d.ts +5 -1
- package/esm/Carousel/Carousel.js +23 -17
- package/esm/Cascader/Cascader.js +2 -2
- package/esm/Cascader/DropdownMenu.js +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +17 -12
- package/esm/CheckTreePicker/utils.d.ts +3 -3
- package/esm/CheckTreePicker/utils.js +2 -2
- package/esm/DOMHelper/index.d.ts +4 -4
- package/esm/DatePicker/DatePicker.d.ts +2 -1
- package/esm/DatePicker/DatePicker.js +19 -12
- package/esm/DateRangePicker/Calendar.js +2 -16
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +5 -4
- package/esm/IconButton/IconButton.d.ts +5 -2
- package/esm/IconButton/IconButton.js +1 -1
- package/esm/IconButton/test/IconButton.test.d.ts +1 -0
- package/esm/IconButton/test/IconButton.test.js +18 -0
- package/esm/InputPicker/InputAutosize.js +3 -1
- package/esm/InputPicker/InputPicker.js +6 -2
- package/esm/List/ListItem.js +13 -11
- package/esm/Menu/MenuItem.js +14 -11
- package/esm/Picker/PickerOverlay.js +4 -1
- package/esm/Picker/index.d.ts +2 -1
- package/esm/Ripple/Ripple.js +17 -9
- package/esm/TreePicker/TreePicker.js +15 -11
- package/esm/Uploader/UploadTrigger.js +3 -1
- package/esm/Uploader/Uploader.js +3 -1
- package/esm/toaster/toaster.d.ts +1 -1
- package/esm/toaster/toaster.js +9 -3
- package/esm/utils/treeUtils.d.ts +3 -3
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +5 -2
- package/esm/utils/useTimeout.d.ts +2 -2
- package/esm/utils/useTimeout.js +17 -8
- package/package.json +3 -3
package/esm/Ripple/Ripple.js
CHANGED
|
@@ -52,17 +52,25 @@ var Ripple = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
var handleMouseDown = useCallback(function (event) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
if (triggerRef.current) {
|
|
56
|
+
var _position = getPosition(triggerRef.current, event);
|
|
57
|
+
|
|
58
|
+
setRippling(true);
|
|
59
|
+
setPosition(_position);
|
|
60
|
+
onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(_position, event);
|
|
61
|
+
}
|
|
59
62
|
}, [onMouseDown]);
|
|
60
63
|
useEffect(function () {
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
var _triggerRef$current;
|
|
65
|
+
|
|
66
|
+
var parentNode = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.parentNode;
|
|
67
|
+
|
|
68
|
+
if (parentNode) {
|
|
69
|
+
var mousedownListener = on(parentNode, 'mousedown', handleMouseDown);
|
|
70
|
+
return function () {
|
|
71
|
+
mousedownListener === null || mousedownListener === void 0 ? void 0 : mousedownListener.off();
|
|
72
|
+
};
|
|
73
|
+
}
|
|
66
74
|
}, [handleMouseDown]);
|
|
67
75
|
return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
68
76
|
className: classes,
|
|
@@ -58,11 +58,13 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
58
58
|
_props$childrenKey = props.childrenKey,
|
|
59
59
|
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
|
60
60
|
draggable = props.draggable,
|
|
61
|
-
|
|
61
|
+
_props$defaultExpandA = props.defaultExpandAll,
|
|
62
|
+
defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
62
63
|
_props$disabledItemVa = props.disabledItemValues,
|
|
63
64
|
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
64
65
|
controlledExpandItemValues = props.expandItemValues,
|
|
65
|
-
|
|
66
|
+
_props$defaultExpandI = props.defaultExpandItemValues,
|
|
67
|
+
defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,
|
|
66
68
|
id = props.id,
|
|
67
69
|
listProps = props.listProps,
|
|
68
70
|
getChildren = props.getChildren,
|
|
@@ -198,15 +200,17 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
198
200
|
});
|
|
199
201
|
}, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
|
|
200
202
|
var focusActiveNode = useCallback(function () {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
203
|
+
if (listRef.current) {
|
|
204
|
+
focusToActiveTreeNode({
|
|
205
|
+
list: listRef.current,
|
|
206
|
+
valueKey: valueKey,
|
|
207
|
+
selector: "." + treePrefix('node-active'),
|
|
208
|
+
activeNode: activeNode,
|
|
209
|
+
virtualized: virtualized,
|
|
210
|
+
container: treeViewRef.current,
|
|
211
|
+
formattedNodes: getFormattedNodes()
|
|
212
|
+
});
|
|
213
|
+
}
|
|
210
214
|
}, [treePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);
|
|
211
215
|
useEffect(function () {
|
|
212
216
|
setFilteredData(data, searchKeywordState);
|
|
@@ -56,7 +56,9 @@ var UploadTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
56
56
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.click();
|
|
57
57
|
}, []);
|
|
58
58
|
var handleClearInput = useCallback(function () {
|
|
59
|
-
inputRef.current
|
|
59
|
+
if (inputRef.current) {
|
|
60
|
+
inputRef.current.value = '';
|
|
61
|
+
}
|
|
60
62
|
}, []);
|
|
61
63
|
var handleDragEnter = useCallback(function (event) {
|
|
62
64
|
if (draggable) {
|
package/esm/Uploader/Uploader.js
CHANGED
|
@@ -188,7 +188,9 @@ var Uploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
188
188
|
*/
|
|
189
189
|
|
|
190
190
|
var cleanInputValue = useCallback(function () {
|
|
191
|
-
|
|
191
|
+
var _trigger$current;
|
|
192
|
+
|
|
193
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.clearInput();
|
|
192
194
|
}, []);
|
|
193
195
|
/**
|
|
194
196
|
* Callback for successful file upload.
|
package/esm/toaster/toaster.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface Toaster {
|
|
|
8
8
|
* @param message
|
|
9
9
|
* @param options
|
|
10
10
|
*/
|
|
11
|
-
push(message: React.ReactNode, options?: ToastContainerProps): string;
|
|
11
|
+
push(message: React.ReactNode, options?: ToastContainerProps): string | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Remove a message by key
|
|
14
14
|
* @param key
|
package/esm/toaster/toaster.js
CHANGED
|
@@ -33,6 +33,8 @@ var toaster = function toaster(message) {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
toaster.push = function (message, options) {
|
|
36
|
+
var _container$current;
|
|
37
|
+
|
|
36
38
|
if (options === void 0) {
|
|
37
39
|
options = {};
|
|
38
40
|
}
|
|
@@ -45,18 +47,22 @@ toaster.push = function (message, options) {
|
|
|
45
47
|
container = createContainer((_options$placement = options.placement) !== null && _options$placement !== void 0 ? _options$placement : '', options);
|
|
46
48
|
}
|
|
47
49
|
|
|
48
|
-
return container.current.push(message);
|
|
50
|
+
return (_container$current = container.current) === null || _container$current === void 0 ? void 0 : _container$current.push(message);
|
|
49
51
|
};
|
|
50
52
|
|
|
51
53
|
toaster.remove = function (key) {
|
|
52
54
|
containers.forEach(function (c) {
|
|
53
|
-
|
|
55
|
+
var _c$current;
|
|
56
|
+
|
|
57
|
+
return (_c$current = c.current) === null || _c$current === void 0 ? void 0 : _c$current.remove(key);
|
|
54
58
|
});
|
|
55
59
|
};
|
|
56
60
|
|
|
57
61
|
toaster.clear = function () {
|
|
58
62
|
containers.forEach(function (c) {
|
|
59
|
-
|
|
63
|
+
var _c$current2;
|
|
64
|
+
|
|
65
|
+
return (_c$current2 = c.current) === null || _c$current2 === void 0 ? void 0 : _c$current2.clear();
|
|
60
66
|
});
|
|
61
67
|
};
|
|
62
68
|
|
package/esm/utils/treeUtils.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare function hasVisibleChildren(node: TreeNodeType, childrenKey: stri
|
|
|
38
38
|
* @param b
|
|
39
39
|
*/
|
|
40
40
|
export declare function compareArray(a: any[], b: any[]): boolean;
|
|
41
|
-
export declare function getDefaultExpandItemValues(data: ItemDataType[], props: Pick<TreePickerProps, 'defaultExpandAll' | 'valueKey' | 'childrenKey' | 'defaultExpandItemValues'
|
|
41
|
+
export declare function getDefaultExpandItemValues(data: ItemDataType[], props: Required<Pick<TreePickerProps, 'defaultExpandAll' | 'valueKey' | 'childrenKey' | 'defaultExpandItemValues'>>): any[];
|
|
42
42
|
/**
|
|
43
43
|
* 获取 expandItemValues 的 value
|
|
44
44
|
* @param props
|
|
@@ -70,7 +70,7 @@ export declare function filterNodesOfTree(data: any, check: any): TreeNodeType[]
|
|
|
70
70
|
* @param isSearching - component is in Searching
|
|
71
71
|
* @returns
|
|
72
72
|
*/
|
|
73
|
-
export declare const getFocusableItems: (filteredData: ItemDataType[], props: PartialTreeProps, isSearching?: boolean | undefined) => TreeNodeType[];
|
|
73
|
+
export declare const getFocusableItems: (filteredData: ItemDataType[], props: Required<Pick<PartialTreeProps, 'disabledItemValues' | 'valueKey' | 'childrenKey' | 'expandItemValues'>>, isSearching?: boolean | undefined) => TreeNodeType[];
|
|
74
74
|
/**
|
|
75
75
|
* return all focusable Item and active Element index
|
|
76
76
|
* @param focusItemValue
|
|
@@ -235,7 +235,7 @@ export interface FocusToTreeNodeProps {
|
|
|
235
235
|
valueKey: string;
|
|
236
236
|
activeNode: any;
|
|
237
237
|
virtualized: boolean;
|
|
238
|
-
container:
|
|
238
|
+
container: HTMLElement | null;
|
|
239
239
|
list: ListInstance;
|
|
240
240
|
formattedNodes: TreeNodeType[];
|
|
241
241
|
}
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* @param eventTarget The target to listen for events on
|
|
6
6
|
* @param listener An event handler
|
|
7
7
|
*/
|
|
8
|
-
export default function useElementResize(eventTarget: Element | (() => Element), listener: ResizeObserverCallback): void;
|
|
8
|
+
export default function useElementResize(eventTarget: Element | null | (() => Element | null), listener: ResizeObserverCallback): void;
|
|
@@ -13,8 +13,11 @@ export default function useElementResize(eventTarget, listener) {
|
|
|
13
13
|
useEffect(function () {
|
|
14
14
|
if (!resizeObserver.current) {
|
|
15
15
|
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
|
|
17
|
+
if (target) {
|
|
18
|
+
resizeObserver.current = new ResizeObserver(listener);
|
|
19
|
+
resizeObserver.current.observe(target);
|
|
20
|
+
}
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
return function () {
|
|
@@ -6,7 +6,7 @@ export interface UseTimeoutFnReturn {
|
|
|
6
6
|
* A timer hook
|
|
7
7
|
* @param fn Timer callback function
|
|
8
8
|
* @param ms Milliseconds of the timer
|
|
9
|
-
* @param
|
|
9
|
+
* @param enabled Whether to open the timer
|
|
10
10
|
*/
|
|
11
|
-
declare function useTimeout(fn: (() => void) | undefined, ms?: number,
|
|
11
|
+
declare function useTimeout(fn: (() => void) | undefined, ms?: number, enabled?: boolean): UseTimeoutFnReturn;
|
|
12
12
|
export default useTimeout;
|
package/esm/utils/useTimeout.js
CHANGED
|
@@ -4,32 +4,41 @@ import { useEffect, useRef, useCallback } from 'react';
|
|
|
4
4
|
* A timer hook
|
|
5
5
|
* @param fn Timer callback function
|
|
6
6
|
* @param ms Milliseconds of the timer
|
|
7
|
-
* @param
|
|
7
|
+
* @param enabled Whether to open the timer
|
|
8
8
|
*/
|
|
9
|
-
function useTimeout(fn, ms,
|
|
9
|
+
function useTimeout(fn, ms, enabled) {
|
|
10
10
|
if (ms === void 0) {
|
|
11
11
|
ms = 0;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
if (
|
|
15
|
-
|
|
14
|
+
if (enabled === void 0) {
|
|
15
|
+
enabled = true;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
var timeout = useRef();
|
|
19
|
+
var callback = useRef(fn);
|
|
19
20
|
var clear = useCallback(function () {
|
|
20
21
|
timeout.current && clearTimeout(timeout.current);
|
|
21
22
|
}, []);
|
|
22
23
|
var set = useCallback(function () {
|
|
23
|
-
|
|
24
|
+
timeout.current && clearTimeout(timeout.current);
|
|
25
|
+
|
|
26
|
+
if (enabled) {
|
|
24
27
|
timeout.current = setTimeout(function () {
|
|
25
|
-
|
|
28
|
+
var _callback$current;
|
|
29
|
+
|
|
30
|
+
(_callback$current = callback.current) === null || _callback$current === void 0 ? void 0 : _callback$current.call(callback);
|
|
26
31
|
}, ms);
|
|
27
32
|
}
|
|
28
|
-
}, [ms,
|
|
33
|
+
}, [ms, enabled]); // update ref when function changes
|
|
34
|
+
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
callback.current = fn;
|
|
37
|
+
}, [fn]);
|
|
29
38
|
useEffect(function () {
|
|
30
39
|
set();
|
|
31
40
|
return clear;
|
|
32
|
-
}, [
|
|
41
|
+
}, [ms, enabled, set, clear]);
|
|
33
42
|
return {
|
|
34
43
|
clear: clear,
|
|
35
44
|
reset: set
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.1",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"@types/react-virtualized": "^9.21.11",
|
|
34
34
|
"classnames": "^2.3.1",
|
|
35
35
|
"date-fns": "^2.13.0",
|
|
36
|
-
"dom-lib": "^3.
|
|
36
|
+
"dom-lib": "^3.1.2",
|
|
37
37
|
"lodash": "^4.17.11",
|
|
38
38
|
"prop-types": "^15.7.2",
|
|
39
39
|
"react-virtualized": "^9.22.3",
|
|
40
|
-
"rsuite-table": "^5.3.
|
|
40
|
+
"rsuite-table": "^5.3.3",
|
|
41
41
|
"schema-typed": "^2.0.2"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|