rsuite 5.31.0 → 5.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/Calendar/styles/index.less +3 -2
- package/Toggle/styles/mixin.less +14 -0
- package/cjs/Calendar/Calendar.d.ts +3 -3
- package/cjs/Calendar/Calendar.js +4 -4
- package/cjs/Calendar/CalendarContainer.d.ts +2 -2
- package/cjs/Calendar/CalendarContainer.js +8 -11
- package/cjs/Calendar/MonthDropdown.js +1 -1
- package/cjs/Cascader/Cascader.d.ts +2 -2
- package/cjs/Cascader/Cascader.js +83 -71
- package/cjs/Cascader/DropdownMenu.d.ts +6 -2
- package/cjs/Cascader/DropdownMenu.js +8 -4
- package/cjs/Cascader/utils.d.ts +52 -17
- package/cjs/Cascader/utils.js +99 -138
- package/cjs/DatePicker/DatePicker.d.ts +3 -1
- package/cjs/DatePicker/DatePicker.js +4 -5
- package/cjs/DateRangePicker/Calendar.d.ts +1 -0
- package/cjs/DateRangePicker/Calendar.js +4 -5
- package/cjs/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/DateRangePicker/DateRangePicker.js +4 -1
- package/cjs/MultiCascader/DropdownMenu.d.ts +2 -2
- package/cjs/MultiCascader/MultiCascader.d.ts +1 -1
- package/cjs/MultiCascader/MultiCascader.js +12 -7
- package/cjs/MultiCascader/utils.d.ts +2 -2
- package/cjs/MultiCascader/utils.js +3 -3
- package/cjs/Picker/utils.d.ts +4 -3
- package/cjs/Picker/utils.js +8 -4
- package/cjs/locales/ru_RU.js +6 -6
- package/cjs/utils/getDataGroupBy.js +1 -1
- package/cjs/utils/treeUtils.d.ts +5 -1
- package/cjs/utils/treeUtils.js +31 -6
- package/cjs/utils/useMap.d.ts +6 -0
- package/cjs/utils/useMap.js +35 -0
- package/dist/rsuite-no-reset-rtl.css +31 -2
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +31 -2
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +31 -2
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +31 -2
- package/dist/rsuite.js +187 -15
- 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/Calendar/Calendar.d.ts +3 -3
- package/esm/Calendar/Calendar.js +6 -6
- package/esm/Calendar/CalendarContainer.d.ts +2 -2
- package/esm/Calendar/CalendarContainer.js +10 -13
- package/esm/Calendar/MonthDropdown.js +1 -1
- package/esm/Cascader/Cascader.d.ts +2 -2
- package/esm/Cascader/Cascader.js +85 -75
- package/esm/Cascader/DropdownMenu.d.ts +6 -2
- package/esm/Cascader/DropdownMenu.js +8 -4
- package/esm/Cascader/utils.d.ts +52 -17
- package/esm/Cascader/utils.js +100 -135
- package/esm/DatePicker/DatePicker.d.ts +3 -1
- package/esm/DatePicker/DatePicker.js +4 -5
- package/esm/DateRangePicker/Calendar.d.ts +1 -0
- package/esm/DateRangePicker/Calendar.js +5 -6
- package/esm/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/esm/DateRangePicker/DateRangePicker.js +4 -1
- package/esm/MultiCascader/DropdownMenu.d.ts +2 -2
- package/esm/MultiCascader/MultiCascader.d.ts +1 -1
- package/esm/MultiCascader/MultiCascader.js +12 -7
- package/esm/MultiCascader/utils.d.ts +2 -2
- package/esm/MultiCascader/utils.js +4 -4
- package/esm/Picker/utils.d.ts +4 -3
- package/esm/Picker/utils.js +8 -4
- package/esm/locales/ru_RU.js +6 -6
- package/esm/utils/getDataGroupBy.js +2 -2
- package/esm/utils/treeUtils.d.ts +5 -1
- package/esm/utils/treeUtils.js +30 -6
- package/esm/utils/useMap.d.ts +6 -0
- package/esm/utils/useMap.js +29 -0
- package/package.json +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _get from "lodash/get";
|
|
2
|
-
import {
|
|
2
|
+
import { UNSAFE_flattenTree } from '../utils/treeUtils';
|
|
3
3
|
var hasSymbol = typeof Symbol === 'function';
|
|
4
4
|
export var KEY_GROUP = hasSymbol ? Symbol('_$grouped') : '_$grouped';
|
|
5
5
|
export var KEY_GROUP_TITLE = 'groupTitle';
|
|
@@ -37,5 +37,5 @@ export default function getDataGroupBy(data, key, sort) {
|
|
|
37
37
|
nextData = nextData.sort(sort(true));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
return
|
|
40
|
+
return UNSAFE_flattenTree(nextData);
|
|
41
41
|
}
|
package/esm/utils/treeUtils.d.ts
CHANGED
|
@@ -16,8 +16,12 @@ export declare function shouldShowNodeByParentExpanded<T>(expandItemValues?: T[]
|
|
|
16
16
|
* @param {*} tree
|
|
17
17
|
* @param {*} childrenKey
|
|
18
18
|
* @param {*} executor
|
|
19
|
+
*
|
|
20
|
+
* @deprecated This {@link UNSAFE_flattenTree} function is considered unsafe because it mutates `tree` argument in-place
|
|
21
|
+
* Use {@link flattenTree} instead.
|
|
19
22
|
*/
|
|
20
|
-
export declare function
|
|
23
|
+
export declare function UNSAFE_flattenTree<TItem>(tree: TItem[], childrenKey?: string, executor?: (node: any, index: number) => any): TItem[];
|
|
24
|
+
export declare function flattenTree<T>(rootNodes: readonly T[], getChildren: (node: T) => readonly T[] | undefined): T[];
|
|
21
25
|
/**
|
|
22
26
|
* get all ancestor nodes of given node
|
|
23
27
|
* @param {*} node
|
package/esm/utils/treeUtils.js
CHANGED
|
@@ -44,9 +44,12 @@ export function shouldShowNodeByParentExpanded(expandItemValues, parentKeys) {
|
|
|
44
44
|
* @param {*} tree
|
|
45
45
|
* @param {*} childrenKey
|
|
46
46
|
* @param {*} executor
|
|
47
|
+
*
|
|
48
|
+
* @deprecated This {@link UNSAFE_flattenTree} function is considered unsafe because it mutates `tree` argument in-place
|
|
49
|
+
* Use {@link flattenTree} instead.
|
|
47
50
|
*/
|
|
48
51
|
|
|
49
|
-
export function
|
|
52
|
+
export function UNSAFE_flattenTree(tree, childrenKey, executor) {
|
|
50
53
|
if (childrenKey === void 0) {
|
|
51
54
|
childrenKey = 'children';
|
|
52
55
|
}
|
|
@@ -71,11 +74,32 @@ export function flattenTree(tree, childrenKey, executor) {
|
|
|
71
74
|
traverse(tree, null);
|
|
72
75
|
return flattenData;
|
|
73
76
|
}
|
|
77
|
+
export function flattenTree(rootNodes, getChildren) {
|
|
78
|
+
var result = [];
|
|
79
|
+
walkTree(rootNodes, getChildren, function (node) {
|
|
80
|
+
return result.push(node);
|
|
81
|
+
});
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function walkTree(rootNodes, getChildren, callback) {
|
|
86
|
+
for (var queue = [].concat(rootNodes); queue.length > 0;) {
|
|
87
|
+
var _node = queue.shift();
|
|
88
|
+
|
|
89
|
+
callback(_node);
|
|
90
|
+
var children = getChildren(_node);
|
|
91
|
+
|
|
92
|
+
if (children) {
|
|
93
|
+
queue.push.apply(queue, children);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
74
97
|
/**
|
|
75
98
|
* get all ancestor nodes of given node
|
|
76
99
|
* @param {*} node
|
|
77
100
|
*/
|
|
78
101
|
|
|
102
|
+
|
|
79
103
|
export function getNodeParents(node, parentKey, valueKey) {
|
|
80
104
|
if (parentKey === void 0) {
|
|
81
105
|
parentKey = 'parent';
|
|
@@ -148,7 +172,7 @@ export function getDefaultExpandItemValues(data, props) {
|
|
|
148
172
|
defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI;
|
|
149
173
|
|
|
150
174
|
if (defaultExpandAll) {
|
|
151
|
-
return
|
|
175
|
+
return UNSAFE_flattenTree(data, childrenKey).filter(function (item) {
|
|
152
176
|
return Array.isArray(item[childrenKey]) && item[childrenKey].length > 0;
|
|
153
177
|
}).map(function (item) {
|
|
154
178
|
return item[valueKey];
|
|
@@ -311,10 +335,10 @@ export function findNodeOfTree(data, check) {
|
|
|
311
335
|
var _item3 = nodes[i];
|
|
312
336
|
|
|
313
337
|
if (_isArray(_item3.children)) {
|
|
314
|
-
var
|
|
338
|
+
var _node2 = findNode(_item3.children);
|
|
315
339
|
|
|
316
|
-
if (
|
|
317
|
-
return
|
|
340
|
+
if (_node2) {
|
|
341
|
+
return _node2;
|
|
318
342
|
}
|
|
319
343
|
}
|
|
320
344
|
|
|
@@ -780,7 +804,7 @@ export function useFlattenTreeData(_ref8) {
|
|
|
780
804
|
var formatVirtualizedTreeData = function formatVirtualizedTreeData(nodes, data, expandItemValues, options) {
|
|
781
805
|
var cascade = options.cascade,
|
|
782
806
|
searchKeyword = options.searchKeyword;
|
|
783
|
-
return
|
|
807
|
+
return UNSAFE_flattenTree(data, childrenKey, function (node) {
|
|
784
808
|
var formatted = {};
|
|
785
809
|
var curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];
|
|
786
810
|
var parentKeys = getNodeParentKeys(nodes, curNode, valueKey);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useMemo, useState } from 'react';
|
|
2
|
+
export function useMap() {
|
|
3
|
+
var _useState = useState(function () {
|
|
4
|
+
return new Map();
|
|
5
|
+
}),
|
|
6
|
+
map = _useState[0],
|
|
7
|
+
setMap = _useState[1];
|
|
8
|
+
|
|
9
|
+
return useMemo(function () {
|
|
10
|
+
return {
|
|
11
|
+
has: function has(key) {
|
|
12
|
+
return map.has(key);
|
|
13
|
+
},
|
|
14
|
+
get: function get(key) {
|
|
15
|
+
return map.get(key);
|
|
16
|
+
},
|
|
17
|
+
set: function set(key, value) {
|
|
18
|
+
setMap(function (prev) {
|
|
19
|
+
var copy = new Map(prev);
|
|
20
|
+
copy.set(key, value);
|
|
21
|
+
return copy;
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
clear: function clear() {
|
|
25
|
+
setMap(new Map());
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}, [map]);
|
|
29
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.32.0",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"dom-lib": "^3.1.3",
|
|
37
37
|
"lodash": "^4.17.11",
|
|
38
38
|
"prop-types": "^15.8.1",
|
|
39
|
+
"react-use-set": "^1.0.0",
|
|
39
40
|
"react-window": "^1.8.8",
|
|
40
41
|
"rsuite-table": "^5.10.3",
|
|
41
42
|
"schema-typed": "^2.1.2"
|