rsuite 5.55.1 → 5.57.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/AutoComplete/styles/index.css +3 -3
- package/CHANGELOG.md +33 -0
- package/CascadeTree/package.json +7 -0
- package/CascadeTree/styles/index.css +273 -0
- package/CascadeTree/styles/index.less +77 -0
- package/CascadeTree/styles/search.less +45 -0
- package/Cascader/styles/index.css +190 -195
- package/Cascader/styles/index.less +1 -122
- package/CheckPicker/styles/index.css +142 -40
- package/CheckPicker/styles/index.less +1 -1
- package/CheckTree/styles/index.css +143 -41
- package/CheckTreePicker/styles/index.css +143 -41
- package/CheckTreePicker/styles/index.less +2 -2
- package/Checkbox/styles/index.css +159 -36
- package/Checkbox/styles/index.less +32 -13
- package/DatePicker/styles/index.css +3 -3
- package/DateRangePicker/styles/index.css +3 -3
- package/InputPicker/styles/index.css +3 -3
- package/MultiCascadeTree/package.json +7 -0
- package/MultiCascadeTree/styles/index.css +3701 -0
- package/MultiCascadeTree/styles/index.less +37 -0
- package/MultiCascader/styles/index.css +213 -108
- package/MultiCascader/styles/index.less +11 -31
- package/Pagination/styles/index.css +3 -3
- package/Radio/styles/index.css +133 -19
- package/Radio/styles/index.less +28 -12
- package/RadioGroup/styles/index.css +1 -1
- package/RadioGroup/styles/index.less +1 -1
- package/SelectPicker/styles/index.css +3 -3
- package/TagGroup/styles/index.css +1 -1
- package/TagGroup/styles/index.less +1 -1
- package/TagInput/styles/index.css +141 -39
- package/TagPicker/styles/index.css +141 -39
- package/cjs/@types/common.d.ts +12 -14
- package/cjs/CascadeTree/CascadeTree.d.ts +16 -0
- package/cjs/CascadeTree/CascadeTree.js +174 -0
- package/cjs/CascadeTree/SearchView.d.ts +17 -0
- package/cjs/CascadeTree/SearchView.js +106 -0
- package/cjs/CascadeTree/TreeView.d.ts +20 -0
- package/cjs/{Cascader → CascadeTree}/TreeView.js +42 -33
- package/cjs/CascadeTree/hooks/index.d.ts +3 -0
- package/cjs/CascadeTree/hooks/index.js +12 -0
- package/cjs/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
- package/cjs/CascadeTree/hooks/usePaths.js +42 -0
- package/cjs/CascadeTree/hooks/useSearch.d.ts +17 -0
- package/cjs/CascadeTree/hooks/useSearch.js +59 -0
- package/cjs/CascadeTree/hooks/useSelect.d.ts +23 -0
- package/cjs/CascadeTree/hooks/useSelect.js +64 -0
- package/cjs/CascadeTree/index.d.ts +4 -0
- package/cjs/CascadeTree/index.js +9 -0
- package/cjs/CascadeTree/types.d.ts +66 -0
- package/cjs/CascadeTree/types.js +2 -0
- package/cjs/CascadeTree/utils.d.ts +32 -0
- package/cjs/CascadeTree/utils.js +66 -0
- package/cjs/Cascader/Cascader.d.ts +57 -26
- package/cjs/Cascader/Cascader.js +180 -247
- package/cjs/Cascader/useActive.d.ts +15 -0
- package/cjs/Cascader/useActive.js +43 -0
- package/cjs/Checkbox/Checkbox.d.ts +67 -25
- package/cjs/Checkbox/Checkbox.js +36 -26
- package/cjs/InlineEdit/InlineEdit.d.ts +1 -1
- package/cjs/InputPicker/InputPicker.js +2 -2
- package/cjs/InputPicker/InputPickerContext.d.ts +1 -1
- package/cjs/Loader/Loader.js +5 -4
- package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
- package/cjs/MultiCascadeTree/MultiCascadeTree.js +131 -0
- package/cjs/MultiCascadeTree/SearchView.d.ts +17 -0
- package/cjs/MultiCascadeTree/SearchView.js +117 -0
- package/cjs/MultiCascadeTree/TreeView.d.ts +22 -0
- package/cjs/{MultiCascader → MultiCascadeTree}/TreeView.js +22 -21
- package/cjs/MultiCascadeTree/hooks/index.d.ts +5 -0
- package/cjs/MultiCascadeTree/hooks/index.js +16 -0
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +202 -0
- package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
- package/cjs/MultiCascadeTree/hooks/useColumnData.js +52 -0
- package/cjs/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
- package/cjs/MultiCascadeTree/hooks/useFlattenData.js +33 -0
- package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
- package/cjs/MultiCascadeTree/hooks/useSearch.js +52 -0
- package/cjs/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
- package/cjs/MultiCascadeTree/hooks/useSelect.js +83 -0
- package/cjs/MultiCascadeTree/index.d.ts +4 -0
- package/cjs/MultiCascadeTree/index.js +9 -0
- package/cjs/MultiCascadeTree/types.d.ts +26 -0
- package/cjs/MultiCascadeTree/types.js +2 -0
- package/cjs/MultiCascadeTree/utils.d.ts +37 -0
- package/cjs/MultiCascadeTree/utils.js +140 -0
- package/cjs/MultiCascader/MultiCascader.d.ts +57 -29
- package/cjs/MultiCascader/MultiCascader.js +175 -287
- package/cjs/Radio/Radio.d.ts +42 -16
- package/cjs/Radio/Radio.js +42 -37
- package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/TagPicker/index.js +1 -1
- package/cjs/Tree/Tree.d.ts +4 -4
- package/cjs/index.d.ts +6 -1
- package/cjs/index.js +8 -3
- package/cjs/internals/Picker/ListCheckItem.d.ts +2 -11
- package/cjs/internals/Picker/ListCheckItem.js +8 -6
- package/cjs/internals/Picker/PickerToggle.d.ts +4 -5
- package/cjs/toaster/ToastContainer.d.ts +9 -2
- package/cjs/toaster/index.d.ts +0 -1
- package/cjs/toaster/index.js +1 -3
- package/cjs/useToaster/index.d.ts +2 -0
- package/cjs/useToaster/index.js +9 -0
- package/cjs/{toaster → useToaster}/useToaster.d.ts +4 -4
- package/cjs/{toaster → useToaster}/useToaster.js +4 -4
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +5 -2
- package/dist/rsuite-no-reset-rtl.css +322 -124
- 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 +322 -124
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +322 -124
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +322 -124
- package/dist/rsuite.js +248 -50
- 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 +12 -14
- package/esm/CascadeTree/CascadeTree.d.ts +16 -0
- package/esm/CascadeTree/CascadeTree.js +167 -0
- package/esm/CascadeTree/SearchView.d.ts +17 -0
- package/esm/CascadeTree/SearchView.js +100 -0
- package/esm/CascadeTree/TreeView.d.ts +20 -0
- package/esm/{Cascader → CascadeTree}/TreeView.js +42 -33
- package/esm/CascadeTree/hooks/index.d.ts +3 -0
- package/esm/CascadeTree/hooks/index.js +4 -0
- package/esm/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
- package/esm/CascadeTree/hooks/usePaths.js +36 -0
- package/esm/CascadeTree/hooks/useSearch.d.ts +17 -0
- package/esm/CascadeTree/hooks/useSearch.js +54 -0
- package/esm/CascadeTree/hooks/useSelect.d.ts +23 -0
- package/esm/CascadeTree/hooks/useSelect.js +59 -0
- package/esm/CascadeTree/index.d.ts +4 -0
- package/esm/CascadeTree/index.js +3 -0
- package/esm/CascadeTree/types.d.ts +66 -0
- package/esm/CascadeTree/types.js +1 -0
- package/esm/CascadeTree/utils.d.ts +32 -0
- package/esm/CascadeTree/utils.js +61 -0
- package/esm/Cascader/Cascader.d.ts +57 -26
- package/esm/Cascader/Cascader.js +167 -233
- package/esm/Cascader/useActive.d.ts +15 -0
- package/esm/Cascader/useActive.js +37 -0
- package/esm/Checkbox/Checkbox.d.ts +67 -25
- package/esm/Checkbox/Checkbox.js +38 -28
- package/esm/InlineEdit/InlineEdit.d.ts +1 -1
- package/esm/InputPicker/InputPicker.js +2 -2
- package/esm/InputPicker/InputPickerContext.d.ts +1 -1
- package/esm/Loader/Loader.js +6 -5
- package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
- package/esm/MultiCascadeTree/MultiCascadeTree.js +125 -0
- package/esm/MultiCascadeTree/SearchView.d.ts +17 -0
- package/esm/MultiCascadeTree/SearchView.js +111 -0
- package/esm/MultiCascadeTree/TreeView.d.ts +22 -0
- package/esm/{MultiCascader → MultiCascadeTree}/TreeView.js +22 -21
- package/esm/MultiCascadeTree/hooks/index.d.ts +5 -0
- package/esm/MultiCascadeTree/hooks/index.js +6 -0
- package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
- package/esm/MultiCascadeTree/hooks/useCascadeValue.js +197 -0
- package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
- package/esm/MultiCascadeTree/hooks/useColumnData.js +46 -0
- package/esm/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
- package/esm/MultiCascadeTree/hooks/useFlattenData.js +28 -0
- package/esm/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
- package/esm/MultiCascadeTree/hooks/useSearch.js +47 -0
- package/esm/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
- package/esm/MultiCascadeTree/hooks/useSelect.js +77 -0
- package/esm/MultiCascadeTree/index.d.ts +4 -0
- package/esm/MultiCascadeTree/index.js +3 -0
- package/esm/MultiCascadeTree/types.d.ts +26 -0
- package/esm/MultiCascadeTree/types.js +1 -0
- package/esm/MultiCascadeTree/utils.d.ts +37 -0
- package/esm/MultiCascadeTree/utils.js +130 -0
- package/esm/MultiCascader/MultiCascader.d.ts +57 -29
- package/esm/MultiCascader/MultiCascader.js +168 -279
- package/esm/Radio/Radio.d.ts +42 -16
- package/esm/Radio/Radio.js +43 -38
- package/esm/RadioGroup/RadioGroup.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.js +5 -5
- package/esm/TagPicker/index.js +1 -1
- package/esm/Tree/Tree.d.ts +4 -4
- package/esm/index.d.ts +6 -1
- package/esm/index.js +5 -1
- package/esm/internals/Picker/ListCheckItem.d.ts +2 -11
- package/esm/internals/Picker/ListCheckItem.js +8 -6
- package/esm/internals/Picker/PickerToggle.d.ts +4 -5
- package/esm/toaster/ToastContainer.d.ts +9 -2
- package/esm/toaster/index.d.ts +0 -1
- package/esm/toaster/index.js +0 -1
- package/esm/useToaster/index.d.ts +2 -0
- package/esm/useToaster/index.js +3 -0
- package/esm/{toaster → useToaster}/useToaster.d.ts +4 -4
- package/esm/{toaster → useToaster}/useToaster.js +4 -4
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/internals/Picker/styles/index.less +1 -1
- package/package.json +1 -1
- package/styles/index.less +2 -0
- package/useToaster/package.json +7 -0
- package/useToaster/styles/index.css +239 -0
- package/useToaster/styles/index.less +1 -0
- package/cjs/Cascader/DropdownMenu.d.ts +0 -24
- package/cjs/Cascader/DropdownMenu.js +0 -175
- package/cjs/Cascader/TreeView.d.ts +0 -24
- package/cjs/Cascader/utils.js +0 -79
- package/cjs/MultiCascader/TreeView.d.ts +0 -25
- package/cjs/MultiCascader/utils.d.ts +0 -71
- package/cjs/MultiCascader/utils.js +0 -382
- package/esm/Cascader/DropdownMenu.d.ts +0 -24
- package/esm/Cascader/DropdownMenu.js +0 -168
- package/esm/Cascader/TreeView.d.ts +0 -24
- package/esm/Cascader/utils.js +0 -74
- package/esm/MultiCascader/TreeView.d.ts +0 -25
- package/esm/MultiCascader/utils.d.ts +0 -71
- package/esm/MultiCascader/utils.js +0 -369
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { CascadeTreeProps } from '../CascadeTree/types';
|
|
3
|
+
import type { ItemDataType, ToArray, WithAsProps } from '../@types/common';
|
|
4
|
+
export interface ItemKeys {
|
|
5
|
+
valueKey: string;
|
|
6
|
+
labelKey: string;
|
|
7
|
+
childrenKey: string;
|
|
8
|
+
}
|
|
9
|
+
export interface MultiCascadeTreeProps<T, V = T[]> extends WithAsProps, CascadeTreeProps<T, V> {
|
|
10
|
+
/**
|
|
11
|
+
* When set to true, selecting a child node will update the state of the parent node.
|
|
12
|
+
*/
|
|
13
|
+
cascade?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Disabled items
|
|
16
|
+
*/
|
|
17
|
+
disabledItemValues?: ToArray<NonNullable<T>>;
|
|
18
|
+
/**
|
|
19
|
+
* Set the option value for the check box not to be rendered
|
|
20
|
+
*/
|
|
21
|
+
uncheckableItemValues?: T[];
|
|
22
|
+
/**
|
|
23
|
+
* Called after the checkbox state changes.
|
|
24
|
+
*/
|
|
25
|
+
onCheck?: (value: T[], node: ItemDataType<T>, checked: boolean, event: React.SyntheticEvent) => void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ItemDataType } from '../@types/common';
|
|
2
|
+
export interface ItemType<T = any> extends ItemDataType<T> {
|
|
3
|
+
parent?: ItemType<T>;
|
|
4
|
+
}
|
|
5
|
+
interface ItemKeys {
|
|
6
|
+
valueKey: string;
|
|
7
|
+
labelKey: string;
|
|
8
|
+
childrenKey: string;
|
|
9
|
+
}
|
|
10
|
+
declare type MayHasParent<T extends Record<string, unknown>> = T & {
|
|
11
|
+
parent?: MayHasParent<T>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Get all parents of a node
|
|
15
|
+
* @param node
|
|
16
|
+
*/
|
|
17
|
+
export declare const getParents: <T extends Record<string, unknown>>(node: MayHasParent<T>) => MayHasParent<T>[];
|
|
18
|
+
/**
|
|
19
|
+
* Check if any child nodes are selected.
|
|
20
|
+
* @param node
|
|
21
|
+
* @param value
|
|
22
|
+
* @param itemKeys
|
|
23
|
+
*/
|
|
24
|
+
export declare const isSomeChildChecked: <T extends Record<string, unknown>>(node: T, value: T[], itemKeys: Omit<ItemKeys, 'labelKey'>) => any;
|
|
25
|
+
/**
|
|
26
|
+
* Check if the parent is selected.
|
|
27
|
+
* @param node
|
|
28
|
+
* @param value
|
|
29
|
+
* @param itemKeys
|
|
30
|
+
*/
|
|
31
|
+
export declare const isSomeParentChecked: <T extends Record<string, unknown>>(node: MayHasParent<T>, value: T[], itemKeys: Pick<ItemKeys, 'valueKey'>) => any;
|
|
32
|
+
export declare const getOtherItemValuesByUnselectChild: <T>(itemNode: ItemType, value: any, itemKeys: Omit<ItemKeys, 'labelKey'>) => T[];
|
|
33
|
+
/**
|
|
34
|
+
* Remove the values of all children.
|
|
35
|
+
*/
|
|
36
|
+
export declare const removeAllChildrenValue: <T>(value: T[], item: ItemType, itemKeys: Omit<ItemKeys, 'labelKey'>) => T[] | undefined;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.removeAllChildrenValue = exports.getOtherItemValuesByUnselectChild = exports.isSomeParentChecked = exports.isSomeChildChecked = exports.getParents = void 0;
|
|
7
|
+
var _remove = _interopRequireDefault(require("lodash/remove"));
|
|
8
|
+
/**
|
|
9
|
+
* Get all parents of a node
|
|
10
|
+
* @param node
|
|
11
|
+
*/
|
|
12
|
+
var getParents = function getParents(node) {
|
|
13
|
+
var parents = [];
|
|
14
|
+
if (!node.parent) {
|
|
15
|
+
return parents;
|
|
16
|
+
}
|
|
17
|
+
parents.push(node.parent);
|
|
18
|
+
parents = parents.concat(getParents(node.parent));
|
|
19
|
+
return parents;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Check if any child nodes are selected.
|
|
24
|
+
* @param node
|
|
25
|
+
* @param value
|
|
26
|
+
* @param itemKeys
|
|
27
|
+
*/
|
|
28
|
+
exports.getParents = getParents;
|
|
29
|
+
var isSomeChildChecked = function isSomeChildChecked(node, value, itemKeys) {
|
|
30
|
+
var childrenKey = itemKeys.childrenKey,
|
|
31
|
+
valueKey = itemKeys.valueKey;
|
|
32
|
+
if (!node[childrenKey] || !value) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return node[childrenKey].some(function (child) {
|
|
36
|
+
var _child$childrenKey;
|
|
37
|
+
if (value.some(function (n) {
|
|
38
|
+
return n === child[valueKey];
|
|
39
|
+
})) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
if ((_child$childrenKey = child[childrenKey]) !== null && _child$childrenKey !== void 0 && _child$childrenKey.length) {
|
|
43
|
+
return isSomeChildChecked(child, value, itemKeys);
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Check if the parent is selected.
|
|
51
|
+
* @param node
|
|
52
|
+
* @param value
|
|
53
|
+
* @param itemKeys
|
|
54
|
+
*/
|
|
55
|
+
exports.isSomeChildChecked = isSomeChildChecked;
|
|
56
|
+
var isSomeParentChecked = function isSomeParentChecked(node, value, itemKeys) {
|
|
57
|
+
var valueKey = itemKeys.valueKey;
|
|
58
|
+
if (!value) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
if (value.some(function (n) {
|
|
62
|
+
return n === node[valueKey];
|
|
63
|
+
})) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
if (node.parent) {
|
|
67
|
+
return isSomeParentChecked(node.parent, value, itemKeys);
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
};
|
|
71
|
+
exports.isSomeParentChecked = isSomeParentChecked;
|
|
72
|
+
var getOtherItemValuesByUnselectChild = function getOtherItemValuesByUnselectChild(itemNode, value, itemKeys) {
|
|
73
|
+
var valueKey = itemKeys.valueKey,
|
|
74
|
+
childrenKey = itemKeys.childrenKey;
|
|
75
|
+
var parentValues = [];
|
|
76
|
+
var itemValues = [];
|
|
77
|
+
|
|
78
|
+
// Find the parent node of the current node by value
|
|
79
|
+
function findParent(item) {
|
|
80
|
+
parentValues.push(item[valueKey]);
|
|
81
|
+
if (value.some(function (v) {
|
|
82
|
+
return v === item[valueKey];
|
|
83
|
+
})) {
|
|
84
|
+
return item;
|
|
85
|
+
}
|
|
86
|
+
if (item.parent) {
|
|
87
|
+
var p = findParent(item.parent);
|
|
88
|
+
if (p) {
|
|
89
|
+
return p;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Get child nodes through parent node
|
|
96
|
+
function pushChildValue(item) {
|
|
97
|
+
if (!item[childrenKey]) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
item[childrenKey].forEach(function (n) {
|
|
101
|
+
// Determine whether it is a direct parent
|
|
102
|
+
if (parentValues.some(function (v) {
|
|
103
|
+
return v === n[valueKey];
|
|
104
|
+
}) && n[childrenKey]) {
|
|
105
|
+
pushChildValue(n);
|
|
106
|
+
} else if (n[valueKey] !== itemNode[valueKey]) {
|
|
107
|
+
itemValues.push(n[valueKey]);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
var parent = findParent(itemNode);
|
|
112
|
+
if (!parent) {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
pushChildValue(parent);
|
|
116
|
+
return itemValues;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Remove the values of all children.
|
|
121
|
+
*/
|
|
122
|
+
exports.getOtherItemValuesByUnselectChild = getOtherItemValuesByUnselectChild;
|
|
123
|
+
var removeAllChildrenValue = function removeAllChildrenValue(value, item, itemKeys) {
|
|
124
|
+
var valueKey = itemKeys.valueKey,
|
|
125
|
+
childrenKey = itemKeys.childrenKey;
|
|
126
|
+
var removedValue = [];
|
|
127
|
+
if (!item[childrenKey]) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
item[childrenKey].forEach(function (n) {
|
|
131
|
+
removedValue = removedValue.concat((0, _remove.default)(value, function (v) {
|
|
132
|
+
return v === n[valueKey];
|
|
133
|
+
}));
|
|
134
|
+
if (n[childrenKey]) {
|
|
135
|
+
removeAllChildrenValue(value, n, itemKeys);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return removedValue;
|
|
139
|
+
};
|
|
140
|
+
exports.removeAllChildrenValue = removeAllChildrenValue;
|
|
@@ -1,42 +1,70 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
3
|
import { PickerComponent, PickerToggleProps } from '../internals/Picker';
|
|
4
|
-
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
5
|
-
|
|
6
|
-
export interface MultiCascaderProps<T
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { FormControlPickerProps, ItemDataType, DataItemValue } from '../@types/common';
|
|
5
|
+
import type { MultiCascadeTreeProps } from '../MultiCascadeTree';
|
|
6
|
+
export interface MultiCascaderProps<T extends DataItemValue> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>, T>, MultiCascadeTreeProps<T, T[]>, Pick<PickerToggleProps, 'loading'> {
|
|
7
|
+
/**
|
|
8
|
+
* A picker that can be counted
|
|
9
|
+
*/
|
|
9
10
|
countable?: boolean;
|
|
10
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Sets the width of the menu.
|
|
13
|
+
*
|
|
14
|
+
* @deprecated Use columnWidth instead
|
|
15
|
+
*/
|
|
11
16
|
menuWidth?: number;
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Sets the height of the menu
|
|
19
|
+
* @deprecated Use columnHeight instead
|
|
20
|
+
*/
|
|
21
|
+
menuHeight?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Custom menu class name
|
|
24
|
+
* @deprecated Use popupClassName instead
|
|
25
|
+
*/
|
|
26
|
+
menuClassName?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Custom menu style
|
|
29
|
+
* @deprecated Use popupStyle instead
|
|
30
|
+
*/
|
|
31
|
+
menuStyle?: React.CSSProperties;
|
|
32
|
+
/**
|
|
33
|
+
* Custom popup style
|
|
34
|
+
*/
|
|
35
|
+
popupStyle?: React.CSSProperties;
|
|
36
|
+
/**
|
|
37
|
+
* Custom popup style
|
|
38
|
+
*/
|
|
39
|
+
popupClassName?: string;
|
|
40
|
+
/**
|
|
41
|
+
* The panel is displayed directly when the component is initialized
|
|
42
|
+
* @deprecated Use MultiCascadeTree instead
|
|
43
|
+
* @see MultiCascadeTree https://rsuitejs.com/components/multi-cascade-tree
|
|
44
|
+
*/
|
|
19
45
|
inline?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Custom render menu
|
|
48
|
+
* @deprecated Use renderColumn instead
|
|
49
|
+
*/
|
|
50
|
+
renderMenu?: (items: readonly ItemDataType<T>[], menu: React.ReactNode, parentNode?: any, layer?: number) => React.ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* Custom render menu item
|
|
53
|
+
* @deprecated Use renderTreeNode instead
|
|
54
|
+
*/
|
|
55
|
+
renderMenuItem?: (node: React.ReactNode, item: ItemDataType<T>) => React.ReactNode;
|
|
56
|
+
/**
|
|
57
|
+
* Custom render selected items
|
|
58
|
+
*/
|
|
59
|
+
renderValue?: (value: T[], selectedItems: ItemDataType<T>[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
60
|
+
/**
|
|
61
|
+
* Called when clean
|
|
62
|
+
*/
|
|
31
63
|
onClean?: (event: React.SyntheticEvent) => void;
|
|
32
|
-
/** Called when searching */
|
|
33
|
-
onSearch?: (searchKeyword: string, event: React.SyntheticEvent) => void;
|
|
34
|
-
/** Asynchronously load the children of the tree node. */
|
|
35
|
-
getChildren?: (node: ItemDataType) => ItemDataType[] | Promise<ItemDataType[]>;
|
|
36
64
|
}
|
|
37
65
|
/**
|
|
38
66
|
* The `MultiCascader` component is used to select multiple values from cascading options.
|
|
39
67
|
* @see https://rsuitejs.com/components/multi-cascader/
|
|
40
68
|
*/
|
|
41
|
-
declare const MultiCascader: PickerComponent<MultiCascaderProps
|
|
69
|
+
declare const MultiCascader: PickerComponent<MultiCascaderProps<DataItemValue>>;
|
|
42
70
|
export default MultiCascader;
|