@qsxy/element-plus-react 1.0.0-next.5 → 1.0.0-next.7
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/dist/Cascader/Cascader.js +147 -182
- package/dist/Cascader/CascaderContext.d.ts +4 -10
- package/dist/Cascader/CascaderContext.js +2 -6
- package/dist/Cascader/CascaderDropdown.js +1 -1
- package/dist/Cascader/CascaderMenu.d.ts +0 -7
- package/dist/Cascader/CascaderMenu.js +4 -77
- package/dist/Cascader/Utils.d.ts +0 -2
- package/dist/Cascader/Utils.js +0 -44
- package/dist/Cascader/index.d.ts +1 -1
- package/dist/Cascader/typings.d.ts +2 -18
- package/dist/Cascader/useCascader.d.ts +1 -15
- package/dist/Cascader/useCascader.js +14 -41
- package/dist/DatePicker/DatePicker.js +5 -5
- package/dist/Empty/ImgEmpty.js +1 -1
- package/dist/Tree/DirectoryTree.d.ts +6 -13
- package/dist/Tree/DirectoryTree.js +32 -81
- package/dist/Tree/DropIndicator.d.ts +4 -2
- package/dist/Tree/DropIndicator.js +7 -2
- package/dist/Tree/Indent.d.ts +2 -2
- package/dist/Tree/Indent.js +4 -4
- package/dist/Tree/MotionTreeNode.d.ts +4 -5
- package/dist/Tree/MotionTreeNode.js +69 -52
- package/dist/Tree/NodeList.d.ts +15 -11
- package/dist/Tree/NodeList.js +38 -29
- package/dist/Tree/RCTree.d.ts +77 -75
- package/dist/Tree/RCTree.js +199 -188
- package/dist/Tree/Tree.d.ts +3 -3
- package/dist/Tree/Tree.js +27 -27
- package/dist/Tree/TreeNode.d.ts +5 -90
- package/dist/Tree/TreeNode.js +320 -422
- package/dist/Tree/contextTypes.d.ts +36 -30
- package/dist/Tree/contextTypes.js +17 -4
- package/dist/Tree/index.d.ts +2 -2
- package/dist/Tree/typings.d.ts +60 -19
- package/dist/Tree/typings.js +1 -13
- package/dist/Tree/typings.tsx--bak +245 -0
- package/dist/Tree/useUnmount.d.ts +5 -0
- package/dist/{VirtualList/index.js → Tree/useUnmount.js} +25 -10
- package/dist/Tree/util.d.ts +17 -21
- package/dist/Tree/util.js +21 -52
- package/dist/Tree/utils/conductUtil.d.ts +2 -2
- package/dist/Tree/utils/conductUtil.js +14 -3
- package/dist/Tree/utils/dictUtil.d.ts +7 -3
- package/dist/Tree/utils/dictUtil.js +49 -32
- package/dist/Tree/utils/diffUtil.d.ts +4 -3
- package/dist/Tree/utils/keyUtil.d.ts +2 -0
- package/dist/{VirtualList/utils/isFirefox.js → Tree/utils/keyUtil.js} +8 -7
- package/dist/Tree/utils/motion.js +6 -5
- package/dist/Tree/utils/treeUtil.d.ts +16 -18
- package/dist/Tree/utils/treeUtil.js +35 -14
- package/dist/TreeSelect/Utils.d.ts +1 -1
- package/dist/Util/base.d.ts +1 -1
- package/dist/Util/base.js +14 -2
- package/dist/index.css +6 -4
- package/dist/index.d.ts +3 -5
- package/dist/index.js +0 -5
- package/dist/theme-chalk/calendar/month-table.scss +1 -1
- package/dist/theme-chalk/input/input.scss +5 -3
- package/package.json +2 -1
- package/dist/Tree/utils/KeyCode.d.ts +0 -436
- package/dist/Tree/utils/KeyCode.js +0 -550
- package/dist/VirtualList/Filler.d.ts +0 -16
- package/dist/VirtualList/Filler.js +0 -78
- package/dist/VirtualList/Item.d.ts +0 -7
- package/dist/VirtualList/Item.js +0 -37
- package/dist/VirtualList/ScrollBar.d.ts +0 -43
- package/dist/VirtualList/ScrollBar.js +0 -216
- package/dist/VirtualList/VirtualList.d.ts +0 -36
- package/dist/VirtualList/VirtualList.js +0 -280
- package/dist/VirtualList/hooks/useChildren.d.ts +0 -3
- package/dist/VirtualList/hooks/useChildren.js +0 -46
- package/dist/VirtualList/hooks/useDiffItem.d.ts +0 -2
- package/dist/VirtualList/hooks/useDiffItem.js +0 -39
- package/dist/VirtualList/hooks/useFrameWheel.d.ts +0 -6
- package/dist/VirtualList/hooks/useFrameWheel.js +0 -72
- package/dist/VirtualList/hooks/useHeights.d.ts +0 -3
- package/dist/VirtualList/hooks/useHeights.js +0 -83
- package/dist/VirtualList/hooks/useLayoutEffect.d.ts +0 -6
- package/dist/VirtualList/hooks/useLayoutEffect.js +0 -30
- package/dist/VirtualList/hooks/useMobileTouchMove.d.ts +0 -2
- package/dist/VirtualList/hooks/useMobileTouchMove.js +0 -92
- package/dist/VirtualList/hooks/useOriginScroll.d.ts +0 -2
- package/dist/VirtualList/hooks/useOriginScroll.js +0 -56
- package/dist/VirtualList/hooks/useScrollTo.d.ts +0 -5
- package/dist/VirtualList/hooks/useScrollTo.js +0 -111
- package/dist/VirtualList/index.d.ts +0 -2
- package/dist/VirtualList/interface.d.ts +0 -8
- package/dist/VirtualList/interface.js +0 -17
- package/dist/VirtualList/mock.d.ts +0 -6
- package/dist/VirtualList/mock.js +0 -29
- package/dist/VirtualList/utils/CacheMap.d.ts +0 -7
- package/dist/VirtualList/utils/CacheMap.js +0 -36
- package/dist/VirtualList/utils/algorithmUtil.d.ts +0 -23
- package/dist/VirtualList/utils/algorithmUtil.js +0 -81
- package/dist/VirtualList/utils/findDOMNode.d.ts +0 -5
- package/dist/VirtualList/utils/findDOMNode.js +0 -30
- package/dist/VirtualList/utils/isFirefox.d.ts +0 -2
- package/dist/VirtualList/utils/raf.d.ts +0 -5
- package/dist/VirtualList/utils/raf.js +0 -57
- package/dist/theme-chalk/bak/common/popup.scss +0 -47
- package/dist/theme-chalk/bak/common/transition.scss +0 -118
- package/dist/theme-chalk/bak/common/var.scss +0 -1476
- package/dist/theme-chalk/bak/mixins/_button.scss +0 -224
- package/dist/theme-chalk/bak/mixins/_col.scss +0 -38
- package/dist/theme-chalk/bak/mixins/_var.scss +0 -55
- package/dist/theme-chalk/bak/mixins/config.scss +0 -5
- package/dist/theme-chalk/bak/mixins/function.scss +0 -85
- package/dist/theme-chalk/bak/mixins/mixins.scss +0 -215
- package/dist/theme-chalk/bak/mixins/utils.scss +0 -39
package/dist/Tree/util.js
CHANGED
|
@@ -36,37 +36,19 @@ __export(util_exports, {
|
|
|
36
36
|
conductExpandParent: () => conductExpandParent,
|
|
37
37
|
convertDataToTree: () => convertDataToTree,
|
|
38
38
|
getDragChildrenKeys: () => getDragChildrenKeys,
|
|
39
|
-
getPosition: () => getPosition,
|
|
39
|
+
getPosition: () => import_treeUtil.getPosition,
|
|
40
40
|
isFirstChild: () => isFirstChild,
|
|
41
41
|
isLastChild: () => isLastChild,
|
|
42
|
-
isTreeNode: () => isTreeNode,
|
|
43
|
-
omit: () => omit,
|
|
42
|
+
isTreeNode: () => import_treeUtil.isTreeNode,
|
|
44
43
|
parseCheckedKeys: () => parseCheckedKeys,
|
|
45
|
-
posToArr: () => posToArr
|
|
46
|
-
toArray: () => toArray
|
|
44
|
+
posToArr: () => posToArr
|
|
47
45
|
});
|
|
48
46
|
module.exports = __toCommonJS(util_exports);
|
|
47
|
+
var import_warning = __toESM(require("rc-util/lib/warning"));
|
|
49
48
|
var import_react = __toESM(require("react"));
|
|
50
|
-
var import_Util = require("../Util");
|
|
51
49
|
var import_TreeNode = __toESM(require("./TreeNode"));
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
import_react.Children.forEach(children, (child) => {
|
|
55
|
-
if ((child === void 0 || child === null) && !option.keepEmpty) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
let nodeType = child == null ? void 0 : child.type;
|
|
59
|
-
nodeType = (nodeType == null ? void 0 : nodeType.displayName) || nodeType;
|
|
60
|
-
if (Array.isArray(child)) {
|
|
61
|
-
ret = ret.concat(toArray(child));
|
|
62
|
-
} else if (nodeType === "Fragment" && child.props) {
|
|
63
|
-
ret = ret.concat(toArray(child.props.children, option));
|
|
64
|
-
} else {
|
|
65
|
-
ret.push(child);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
return ret;
|
|
69
|
-
}
|
|
50
|
+
var import_keyUtil = __toESM(require("./utils/keyUtil"));
|
|
51
|
+
var import_treeUtil = require("./utils/treeUtil");
|
|
70
52
|
function arrDel(list, value) {
|
|
71
53
|
if (!list) {
|
|
72
54
|
return [];
|
|
@@ -88,15 +70,9 @@ function arrAdd(list, value) {
|
|
|
88
70
|
function posToArr(pos) {
|
|
89
71
|
return pos.split("-");
|
|
90
72
|
}
|
|
91
|
-
function getPosition(level, index) {
|
|
92
|
-
return `${level}-${index}`;
|
|
93
|
-
}
|
|
94
|
-
function isTreeNode(node) {
|
|
95
|
-
return node && node.type && node.type.isTreeNode;
|
|
96
|
-
}
|
|
97
73
|
function getDragChildrenKeys(dragNodeKey, keyEntities) {
|
|
98
74
|
const dragChildrenKeys = [];
|
|
99
|
-
const entity = keyEntities
|
|
75
|
+
const entity = (0, import_keyUtil.default)(keyEntities, dragNodeKey);
|
|
100
76
|
function dig(list = []) {
|
|
101
77
|
list.forEach(({ key, children }) => {
|
|
102
78
|
dragChildrenKeys.push(key);
|
|
@@ -117,25 +93,29 @@ function isFirstChild(treeNodeEntity) {
|
|
|
117
93
|
const posArr = posToArr(treeNodeEntity.pos);
|
|
118
94
|
return Number(posArr[posArr.length - 1]) === 0;
|
|
119
95
|
}
|
|
120
|
-
function calcDropPosition(event,
|
|
96
|
+
function calcDropPosition(event, dragNodeProps, targetNodeProps, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {
|
|
121
97
|
var _a;
|
|
122
98
|
const { clientX, clientY } = event;
|
|
123
99
|
const { top, height } = event.target.getBoundingClientRect();
|
|
124
100
|
const horizontalMouseOffset = (direction === "rtl" ? -1 : 1) * (((startMousePosition == null ? void 0 : startMousePosition.x) || 0) - clientX);
|
|
125
101
|
const rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;
|
|
126
|
-
|
|
102
|
+
const filteredExpandKeys = expandKeys.filter((key) => {
|
|
103
|
+
var _a2, _b;
|
|
104
|
+
return (_b = (_a2 = keyEntities[key]) == null ? void 0 : _a2.children) == null ? void 0 : _b.length;
|
|
105
|
+
});
|
|
106
|
+
let abstractDropNodeEntity = (0, import_keyUtil.default)(keyEntities, targetNodeProps.eventKey);
|
|
127
107
|
if (clientY < top + height / 2) {
|
|
128
108
|
const nodeIndex = flattenedNodes.findIndex((flattenedNode) => flattenedNode.key === abstractDropNodeEntity.key);
|
|
129
109
|
const prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;
|
|
130
110
|
const prevNodeKey = flattenedNodes[prevNodeIndex].key;
|
|
131
|
-
abstractDropNodeEntity = keyEntities
|
|
111
|
+
abstractDropNodeEntity = (0, import_keyUtil.default)(keyEntities, prevNodeKey);
|
|
132
112
|
}
|
|
133
113
|
const initialAbstractDropNodeKey = abstractDropNodeEntity.key;
|
|
134
114
|
const abstractDragOverEntity = abstractDropNodeEntity;
|
|
135
115
|
const dragOverNodeKey = abstractDropNodeEntity.key;
|
|
136
116
|
let dropPosition = 0;
|
|
137
117
|
let dropLevelOffset = 0;
|
|
138
|
-
if (!
|
|
118
|
+
if (!filteredExpandKeys.includes(initialAbstractDropNodeKey)) {
|
|
139
119
|
for (let i = 0; i < rawDropLevelOffset; i += 1) {
|
|
140
120
|
if (isLastChild(abstractDropNodeEntity)) {
|
|
141
121
|
abstractDropNodeEntity = abstractDropNodeEntity.parent;
|
|
@@ -145,16 +125,16 @@ function calcDropPosition(event, dragNode, targetNode, indent, startMousePositio
|
|
|
145
125
|
}
|
|
146
126
|
}
|
|
147
127
|
}
|
|
148
|
-
const abstractDragDataNode =
|
|
128
|
+
const abstractDragDataNode = dragNodeProps.data;
|
|
149
129
|
const abstractDropDataNode = abstractDropNodeEntity.node;
|
|
150
130
|
let dropAllowed = true;
|
|
151
131
|
if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({
|
|
152
132
|
dragNode: abstractDragDataNode,
|
|
153
133
|
dropNode: abstractDropDataNode,
|
|
154
134
|
dropPosition: -1
|
|
155
|
-
}) && abstractDropNodeEntity.key ===
|
|
135
|
+
}) && abstractDropNodeEntity.key === targetNodeProps.eventKey) {
|
|
156
136
|
dropPosition = -1;
|
|
157
|
-
} else if ((abstractDragOverEntity.children || []).length &&
|
|
137
|
+
} else if ((abstractDragOverEntity.children || []).length && filteredExpandKeys.includes(dragOverNodeKey)) {
|
|
158
138
|
if (allowDrop({
|
|
159
139
|
dragNode: abstractDragDataNode,
|
|
160
140
|
dropNode: abstractDropDataNode,
|
|
@@ -254,7 +234,7 @@ function parseCheckedKeys(keys) {
|
|
|
254
234
|
halfCheckedKeys: keys.halfChecked || void 0
|
|
255
235
|
};
|
|
256
236
|
} else {
|
|
257
|
-
(0,
|
|
237
|
+
(0, import_warning.default)(false, "`checkedKeys` is not an array or an object");
|
|
258
238
|
return null;
|
|
259
239
|
}
|
|
260
240
|
return keyProps;
|
|
@@ -265,7 +245,7 @@ function conductExpandParent(keyList, keyEntities) {
|
|
|
265
245
|
if (expandedKeys.has(key)) {
|
|
266
246
|
return;
|
|
267
247
|
}
|
|
268
|
-
const entity = keyEntities
|
|
248
|
+
const entity = (0, import_keyUtil.default)(keyEntities, key);
|
|
269
249
|
if (!entity) {
|
|
270
250
|
return;
|
|
271
251
|
}
|
|
@@ -283,15 +263,6 @@ function conductExpandParent(keyList, keyEntities) {
|
|
|
283
263
|
});
|
|
284
264
|
return [...expandedKeys];
|
|
285
265
|
}
|
|
286
|
-
function omit(obj, fields) {
|
|
287
|
-
const clone = { ...obj };
|
|
288
|
-
if (Array.isArray(fields)) {
|
|
289
|
-
fields.forEach((key) => {
|
|
290
|
-
delete clone[key];
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
return clone;
|
|
294
|
-
}
|
|
295
266
|
// Annotate the CommonJS export names for ESM import in node:
|
|
296
267
|
0 && (module.exports = {
|
|
297
268
|
arrAdd,
|
|
@@ -305,8 +276,6 @@ function omit(obj, fields) {
|
|
|
305
276
|
isFirstChild,
|
|
306
277
|
isLastChild,
|
|
307
278
|
isTreeNode,
|
|
308
|
-
omit,
|
|
309
279
|
parseCheckedKeys,
|
|
310
|
-
posToArr
|
|
311
|
-
toArray
|
|
280
|
+
posToArr
|
|
312
281
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BasicDataNode,
|
|
1
|
+
import type { BasicDataNode, DataNode, GetCheckDisabled, Key, KeyEntities } from '../typings';
|
|
2
2
|
interface ConductReturnType {
|
|
3
3
|
checkedKeys: Key[];
|
|
4
4
|
halfCheckedKeys: Key[];
|
|
@@ -13,5 +13,5 @@ export declare function isCheckDisabled<TreeDataType>(node: TreeDataType): boole
|
|
|
13
13
|
export declare function conductCheck<TreeDataType extends BasicDataNode = DataNode>(keyList: Key[], checked: true | {
|
|
14
14
|
checked: false;
|
|
15
15
|
halfCheckedKeys: Key[];
|
|
16
|
-
}, keyEntities:
|
|
16
|
+
}, keyEntities: KeyEntities<TreeDataType>, getCheckDisabled?: GetCheckDisabled<TreeDataType>): ConductReturnType;
|
|
17
17
|
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
|
|
19
29
|
// src/Tree/utils/conductUtil.ts
|
|
@@ -23,7 +33,8 @@ __export(conductUtil_exports, {
|
|
|
23
33
|
isCheckDisabled: () => isCheckDisabled
|
|
24
34
|
});
|
|
25
35
|
module.exports = __toCommonJS(conductUtil_exports);
|
|
26
|
-
var
|
|
36
|
+
var import_warning = __toESM(require("rc-util/lib/warning"));
|
|
37
|
+
var import_keyUtil = __toESM(require("./keyUtil"));
|
|
27
38
|
function removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {
|
|
28
39
|
const filteredKeys = /* @__PURE__ */ new Set();
|
|
29
40
|
halfCheckedKeys.forEach((key) => {
|
|
@@ -150,7 +161,7 @@ function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {
|
|
|
150
161
|
}
|
|
151
162
|
const keys = new Set(
|
|
152
163
|
keyList.filter((key) => {
|
|
153
|
-
const hasEntity = !!keyEntities
|
|
164
|
+
const hasEntity = !!(0, import_keyUtil.default)(keyEntities, key);
|
|
154
165
|
if (!hasEntity) {
|
|
155
166
|
warningMissKeys.push(key);
|
|
156
167
|
}
|
|
@@ -170,7 +181,7 @@ function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {
|
|
|
170
181
|
levelSet.add(entity);
|
|
171
182
|
maxLevel = Math.max(maxLevel, level);
|
|
172
183
|
});
|
|
173
|
-
(0,
|
|
184
|
+
(0, import_warning.default)(
|
|
174
185
|
!warningMissKeys.length,
|
|
175
186
|
`Tree missing follow keys: ${warningMissKeys.slice(0, 100).map((key) => `'${key}'`).join(", ")}`
|
|
176
187
|
);
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { TreeProps } from '../RCTree';
|
|
1
2
|
import { DataNode, Key } from '../typings';
|
|
3
|
+
type FieldNames = TreeProps['fieldNames'];
|
|
2
4
|
/** 计算选中范围,只考虑expanded情况以优化性能 */
|
|
3
|
-
export declare function calcRangeKeys
|
|
4
|
-
treeData:
|
|
5
|
+
export declare function calcRangeKeys({ treeData, expandedKeys, startKey, endKey, fieldNames, }: {
|
|
6
|
+
treeData: DataNode[];
|
|
5
7
|
expandedKeys: Key[];
|
|
6
8
|
startKey?: Key;
|
|
7
9
|
endKey?: Key;
|
|
10
|
+
fieldNames?: FieldNames;
|
|
8
11
|
}): Key[];
|
|
9
|
-
export declare function convertDirectoryKeysToNodes
|
|
12
|
+
export declare function convertDirectoryKeysToNodes(treeData: DataNode[], keys: Key[], fieldNames?: FieldNames): DataNode[];
|
|
13
|
+
export {};
|
|
@@ -23,18 +23,30 @@ __export(dictUtil_exports, {
|
|
|
23
23
|
convertDirectoryKeysToNodes: () => convertDirectoryKeysToNodes
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(dictUtil_exports);
|
|
26
|
-
|
|
26
|
+
var import_treeUtil = require("./treeUtil");
|
|
27
|
+
var RECORD_NONE = 0;
|
|
28
|
+
var RECORD_START = 1;
|
|
29
|
+
var RECORD_END = 2;
|
|
30
|
+
function traverseNodesKey(treeData, callback, fieldNames) {
|
|
31
|
+
const { key: fieldKey, children: fieldChildren } = fieldNames;
|
|
27
32
|
function processNode(dataNode) {
|
|
28
|
-
const
|
|
33
|
+
const key = dataNode[fieldKey];
|
|
34
|
+
const children = dataNode[fieldChildren];
|
|
29
35
|
if (callback(key, dataNode) !== false) {
|
|
30
|
-
traverseNodesKey(children || [], callback);
|
|
36
|
+
traverseNodesKey(children || [], callback, fieldNames);
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
39
|
treeData.forEach(processNode);
|
|
34
40
|
}
|
|
35
|
-
function calcRangeKeys({
|
|
41
|
+
function calcRangeKeys({
|
|
42
|
+
treeData,
|
|
43
|
+
expandedKeys,
|
|
44
|
+
startKey,
|
|
45
|
+
endKey,
|
|
46
|
+
fieldNames
|
|
47
|
+
}) {
|
|
36
48
|
const keys = [];
|
|
37
|
-
let record =
|
|
49
|
+
let record = RECORD_NONE;
|
|
38
50
|
if (startKey && startKey === endKey) {
|
|
39
51
|
return [startKey];
|
|
40
52
|
}
|
|
@@ -44,39 +56,44 @@ function calcRangeKeys({ treeData, expandedKeys, startKey, endKey }) {
|
|
|
44
56
|
function matchKey(key) {
|
|
45
57
|
return key === startKey || key === endKey;
|
|
46
58
|
}
|
|
47
|
-
traverseNodesKey(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (matchKey(key)) {
|
|
52
|
-
keys.push(key);
|
|
53
|
-
if (record === 0 /* None */) {
|
|
54
|
-
record = 1 /* Start */;
|
|
55
|
-
} else if (record === 1 /* Start */) {
|
|
56
|
-
record = 2 /* End */;
|
|
59
|
+
traverseNodesKey(
|
|
60
|
+
treeData,
|
|
61
|
+
(key) => {
|
|
62
|
+
if (record === RECORD_END) {
|
|
57
63
|
return false;
|
|
58
64
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
if (matchKey(key)) {
|
|
66
|
+
keys.push(key);
|
|
67
|
+
if (record === RECORD_NONE) {
|
|
68
|
+
record = RECORD_START;
|
|
69
|
+
} else if (record === RECORD_START) {
|
|
70
|
+
record = RECORD_END;
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
} else if (record === RECORD_START) {
|
|
74
|
+
keys.push(key);
|
|
75
|
+
}
|
|
76
|
+
return expandedKeys.includes(key);
|
|
77
|
+
},
|
|
78
|
+
(0, import_treeUtil.fillFieldNames)(fieldNames)
|
|
79
|
+
);
|
|
67
80
|
return keys;
|
|
68
81
|
}
|
|
69
|
-
function convertDirectoryKeysToNodes(treeData, keys) {
|
|
82
|
+
function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {
|
|
70
83
|
const restKeys = [...keys];
|
|
71
84
|
const nodes = [];
|
|
72
|
-
traverseNodesKey(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
85
|
+
traverseNodesKey(
|
|
86
|
+
treeData,
|
|
87
|
+
(key, node) => {
|
|
88
|
+
const index = restKeys.indexOf(key);
|
|
89
|
+
if (index !== -1) {
|
|
90
|
+
nodes.push(node);
|
|
91
|
+
restKeys.splice(index, 1);
|
|
92
|
+
}
|
|
93
|
+
return !!restKeys.length;
|
|
94
|
+
},
|
|
95
|
+
(0, import_treeUtil.fillFieldNames)(fieldNames)
|
|
96
|
+
);
|
|
80
97
|
return nodes;
|
|
81
98
|
}
|
|
82
99
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { FlattenNode, Key } from '../typings';
|
|
2
3
|
export declare function findExpandedKeys(prev?: Key[], next?: Key[]): {
|
|
3
4
|
add: boolean;
|
|
4
|
-
key: Key;
|
|
5
|
+
key: import("react").Key;
|
|
5
6
|
};
|
|
6
|
-
export declare function getExpandRange(shorter: FlattenNode[], longer: FlattenNode[], key: Key): FlattenNode[];
|
|
7
|
+
export declare function getExpandRange(shorter: FlattenNode[], longer: FlattenNode[], key: Key): FlattenNode<import("../typings").DataNode>[];
|
|
@@ -16,11 +16,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
18
|
|
|
19
|
-
// src/
|
|
20
|
-
var
|
|
21
|
-
__export(
|
|
22
|
-
default: () =>
|
|
19
|
+
// src/Tree/utils/keyUtil.ts
|
|
20
|
+
var keyUtil_exports = {};
|
|
21
|
+
__export(keyUtil_exports, {
|
|
22
|
+
default: () => getEntity
|
|
23
23
|
});
|
|
24
|
-
module.exports = __toCommonJS(
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
module.exports = __toCommonJS(keyUtil_exports);
|
|
25
|
+
function getEntity(keyEntities, key) {
|
|
26
|
+
return keyEntities[key];
|
|
27
|
+
}
|
|
@@ -29,12 +29,13 @@ __export(motion_exports, {
|
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(motion_exports);
|
|
31
31
|
var import_dom_lib = require("dom-lib");
|
|
32
|
+
var import_prefix = require("../../hooks/prefix");
|
|
32
33
|
var beforeEnter = (el) => {
|
|
33
34
|
el.style.height = "0";
|
|
34
35
|
el.style.opacity = "0";
|
|
35
36
|
};
|
|
36
37
|
var onEnter = (el) => {
|
|
37
|
-
(0, import_dom_lib.addClass)(el,
|
|
38
|
+
(0, import_dom_lib.addClass)(el, `${import_prefix.namespace}-motion-collapse`);
|
|
38
39
|
el.dataset.oldOverflow = el.style.overflow;
|
|
39
40
|
if (el.scrollHeight !== 0) {
|
|
40
41
|
el.style.height = `${el.scrollHeight}px`;
|
|
@@ -45,12 +46,12 @@ var onEnter = (el) => {
|
|
|
45
46
|
el.style.overflow = "hidden";
|
|
46
47
|
};
|
|
47
48
|
var afterEnter = (el) => {
|
|
48
|
-
(0, import_dom_lib.removeClass)(el,
|
|
49
|
+
(0, import_dom_lib.removeClass)(el, `${import_prefix.namespace}-motion-collapse`);
|
|
49
50
|
el.style.height = "";
|
|
50
51
|
el.style.overflow = el.dataset.oldOverflow;
|
|
51
52
|
};
|
|
52
53
|
var beforeLeave = (el) => {
|
|
53
|
-
(0, import_dom_lib.addClass)(el,
|
|
54
|
+
(0, import_dom_lib.addClass)(el, `${import_prefix.namespace}-motion-collapse`);
|
|
54
55
|
if (!el.dataset) {
|
|
55
56
|
el.dataset = {};
|
|
56
57
|
}
|
|
@@ -59,13 +60,13 @@ var beforeLeave = (el) => {
|
|
|
59
60
|
el.style.overflow = "hidden";
|
|
60
61
|
};
|
|
61
62
|
var afterLeave = (el) => {
|
|
62
|
-
(0, import_dom_lib.removeClass)(el,
|
|
63
|
+
(0, import_dom_lib.removeClass)(el, `${import_prefix.namespace}-motion-collapse`);
|
|
63
64
|
el.style.height = "";
|
|
64
65
|
el.style.overflow = el.dataset.oldOverflow;
|
|
65
66
|
el.style.display = "";
|
|
66
67
|
};
|
|
67
68
|
var collapseMotion = {
|
|
68
|
-
name:
|
|
69
|
+
name: `${import_prefix.namespace}-treenode-collapse`,
|
|
69
70
|
beforeEnter,
|
|
70
71
|
onEnter,
|
|
71
72
|
afterEnter,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { TreeNodeProps } from '../
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { BasicDataNode, DataEntity, DataNode, EventDataNode, FieldNames, FlattenNode, GetKey, Key, KeyEntities, NodeElement, TreeNodeProps } from '../typings';
|
|
3
|
+
export declare function getPosition(level: string | number, index: number): string;
|
|
4
|
+
export declare function isTreeNode(node: NodeElement): boolean;
|
|
5
|
+
export declare function getKey(key: Key, pos: string): React.Key;
|
|
5
6
|
export declare function fillFieldNames(fieldNames?: FieldNames): Required<FieldNames>;
|
|
6
7
|
/**
|
|
7
8
|
* Warning if TreeNode do not provides key
|
|
@@ -10,14 +11,14 @@ export declare function warningWithoutKey(treeData: DataNode[], fieldNames: Fiel
|
|
|
10
11
|
/**
|
|
11
12
|
* Convert `children` of Tree into `treeData` structure.
|
|
12
13
|
*/
|
|
13
|
-
export declare function convertTreeToData
|
|
14
|
+
export declare function convertTreeToData(rootNodes: React.ReactNode): DataNode[];
|
|
14
15
|
/**
|
|
15
16
|
* Flat nest tree data into flatten list. This is used for virtual list render.
|
|
16
17
|
* @param treeNodeList Origin data node list
|
|
17
18
|
* @param expandedKeys
|
|
18
19
|
* need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).
|
|
19
20
|
*/
|
|
20
|
-
export declare function flattenTreeData(treeNodeList:
|
|
21
|
+
export declare function flattenTreeData<TreeDataType extends BasicDataNode = DataNode>(treeNodeList: TreeDataType[], expandedKeys: Key[] | true, fieldNames: FieldNames): FlattenNode<TreeDataType>[];
|
|
21
22
|
type ExternalGetKey = GetKey<DataNode> | string;
|
|
22
23
|
interface TraverseDataNodesConfig {
|
|
23
24
|
childrenPropName?: string;
|
|
@@ -28,23 +29,23 @@ interface TraverseDataNodesConfig {
|
|
|
28
29
|
* Traverse all the data by `treeData`.
|
|
29
30
|
* Please not use it out of the `rc-tree` since we may refactor this code.
|
|
30
31
|
*/
|
|
31
|
-
export declare function traverseDataNodes
|
|
32
|
-
node:
|
|
32
|
+
export declare function traverseDataNodes(dataNodes: DataNode[], callback: (data: {
|
|
33
|
+
node: DataNode;
|
|
33
34
|
index: number;
|
|
34
35
|
pos: string;
|
|
35
36
|
key: Key;
|
|
36
37
|
parentPos: string | number;
|
|
37
38
|
level: number;
|
|
38
|
-
nodes:
|
|
39
|
+
nodes: DataNode[];
|
|
39
40
|
}) => void, config?: TraverseDataNodesConfig | string): void;
|
|
40
41
|
interface Wrapper {
|
|
41
42
|
posEntities: Record<string, DataEntity>;
|
|
42
|
-
keyEntities:
|
|
43
|
+
keyEntities: KeyEntities;
|
|
43
44
|
}
|
|
44
45
|
/**
|
|
45
46
|
* Convert `treeData` into entity records.
|
|
46
47
|
*/
|
|
47
|
-
export declare function convertDataToEntities
|
|
48
|
+
export declare function convertDataToEntities(dataNodes: DataNode[], { initWrapper, processEntity, onProcessFinished, externalGetKey, childrenPropName, fieldNames, }?: {
|
|
48
49
|
initWrapper?: (wrapper: Wrapper) => Wrapper;
|
|
49
50
|
processEntity?: (entity: DataEntity, wrapper: Wrapper) => void;
|
|
50
51
|
onProcessFinished?: (wrapper: Wrapper) => void;
|
|
@@ -53,10 +54,7 @@ export declare function convertDataToEntities<T = DataNode>(dataNodes: T[], { in
|
|
|
53
54
|
fieldNames?: FieldNames;
|
|
54
55
|
},
|
|
55
56
|
/** @deprecated Use `config.externalGetKey` instead */
|
|
56
|
-
legacyExternalGetKey?: ExternalGetKey):
|
|
57
|
-
posEntities: {};
|
|
58
|
-
keyEntities: {};
|
|
59
|
-
};
|
|
57
|
+
legacyExternalGetKey?: ExternalGetKey): Wrapper;
|
|
60
58
|
export interface TreeNodeRequiredProps<TreeDataType extends BasicDataNode = DataNode> {
|
|
61
59
|
expandedKeys: Key[];
|
|
62
60
|
selectedKeys: Key[];
|
|
@@ -66,13 +64,13 @@ export interface TreeNodeRequiredProps<TreeDataType extends BasicDataNode = Data
|
|
|
66
64
|
halfCheckedKeys: Key[];
|
|
67
65
|
dragOverNodeKey: Key;
|
|
68
66
|
dropPosition: number;
|
|
69
|
-
keyEntities:
|
|
67
|
+
keyEntities: KeyEntities<TreeDataType>;
|
|
70
68
|
}
|
|
71
69
|
/**
|
|
72
70
|
* Get TreeNode props with Tree props.
|
|
73
71
|
*/
|
|
74
72
|
export declare function getTreeNodeProps<TreeDataType extends BasicDataNode = DataNode>(key: Key, { expandedKeys, selectedKeys, loadedKeys, loadingKeys, checkedKeys, halfCheckedKeys, dragOverNodeKey, dropPosition, keyEntities }: TreeNodeRequiredProps<TreeDataType>): {
|
|
75
|
-
eventKey: Key;
|
|
73
|
+
eventKey: React.Key;
|
|
76
74
|
expanded: boolean;
|
|
77
75
|
selected: boolean;
|
|
78
76
|
loaded: boolean;
|
|
@@ -84,5 +82,5 @@ export declare function getTreeNodeProps<TreeDataType extends BasicDataNode = Da
|
|
|
84
82
|
dragOverGapTop: boolean;
|
|
85
83
|
dragOverGapBottom: boolean;
|
|
86
84
|
};
|
|
87
|
-
export declare function convertNodePropsToEventData<TreeDataType extends BasicDataNode = DataNode>(props: TreeNodeProps<TreeDataType>): EventDataNode
|
|
85
|
+
export declare function convertNodePropsToEventData<TreeDataType extends BasicDataNode = DataNode>(props: TreeNodeProps<TreeDataType>): EventDataNode<TreeDataType>;
|
|
88
86
|
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
|
|
19
29
|
// src/Tree/utils/treeUtil.ts
|
|
@@ -25,13 +35,23 @@ __export(treeUtil_exports, {
|
|
|
25
35
|
fillFieldNames: () => fillFieldNames,
|
|
26
36
|
flattenTreeData: () => flattenTreeData,
|
|
27
37
|
getKey: () => getKey,
|
|
38
|
+
getPosition: () => getPosition,
|
|
28
39
|
getTreeNodeProps: () => getTreeNodeProps,
|
|
40
|
+
isTreeNode: () => isTreeNode,
|
|
29
41
|
traverseDataNodes: () => traverseDataNodes,
|
|
30
42
|
warningWithoutKey: () => warningWithoutKey
|
|
31
43
|
});
|
|
32
44
|
module.exports = __toCommonJS(treeUtil_exports);
|
|
33
|
-
var
|
|
34
|
-
var
|
|
45
|
+
var import_toArray = __toESM(require("rc-util/lib/Children/toArray"));
|
|
46
|
+
var import_omit = __toESM(require("rc-util/lib/omit"));
|
|
47
|
+
var import_warning = __toESM(require("rc-util/lib/warning"));
|
|
48
|
+
var import_keyUtil = __toESM(require("./keyUtil"));
|
|
49
|
+
function getPosition(level, index) {
|
|
50
|
+
return `${level}-${index}`;
|
|
51
|
+
}
|
|
52
|
+
function isTreeNode(node) {
|
|
53
|
+
return node && node.type && node.type.isTreeNode;
|
|
54
|
+
}
|
|
35
55
|
function getKey(key, pos) {
|
|
36
56
|
if (key !== null && key !== void 0) {
|
|
37
57
|
return key;
|
|
@@ -54,9 +74,9 @@ function warningWithoutKey(treeData, fieldNames) {
|
|
|
54
74
|
(list || []).forEach((treeNode) => {
|
|
55
75
|
const key = treeNode[fieldNames.key];
|
|
56
76
|
const children = treeNode[fieldNames.children];
|
|
57
|
-
(0,
|
|
77
|
+
(0, import_warning.default)(key !== null && key !== void 0, `Tree node must have a certain key: [${path}${key}]`);
|
|
58
78
|
const recordKey = String(key);
|
|
59
|
-
(0,
|
|
79
|
+
(0, import_warning.default)(!keys.has(recordKey) || key === null || key === void 0, `Same 'key' exist in the Tree: ${recordKey}`);
|
|
60
80
|
keys.set(recordKey, true);
|
|
61
81
|
dig(children, `${path}${recordKey} > `);
|
|
62
82
|
});
|
|
@@ -65,10 +85,10 @@ function warningWithoutKey(treeData, fieldNames) {
|
|
|
65
85
|
}
|
|
66
86
|
function convertTreeToData(rootNodes) {
|
|
67
87
|
function dig(node) {
|
|
68
|
-
const treeNodes = (0,
|
|
88
|
+
const treeNodes = (0, import_toArray.default)(node);
|
|
69
89
|
return treeNodes.map((treeNode) => {
|
|
70
|
-
if (!
|
|
71
|
-
(0,
|
|
90
|
+
if (!isTreeNode(treeNode)) {
|
|
91
|
+
(0, import_warning.default)(!treeNode, "Tree/TreeNode can only accept TreeNode as children.");
|
|
72
92
|
return null;
|
|
73
93
|
}
|
|
74
94
|
const { key } = treeNode;
|
|
@@ -92,7 +112,7 @@ function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {
|
|
|
92
112
|
const flattenList = [];
|
|
93
113
|
function dig(list, parent = null) {
|
|
94
114
|
return list.map((treeNode, index) => {
|
|
95
|
-
const pos =
|
|
115
|
+
const pos = getPosition(parent ? parent.pos : "0", index);
|
|
96
116
|
const mergedKey = getKey(treeNode[fieldKey], pos);
|
|
97
117
|
let mergedTitle;
|
|
98
118
|
for (let i = 0; i < fieldTitles.length; i += 1) {
|
|
@@ -102,8 +122,7 @@ function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {
|
|
|
102
122
|
break;
|
|
103
123
|
}
|
|
104
124
|
}
|
|
105
|
-
const flattenNode = {
|
|
106
|
-
...(0, import_util.omit)(treeNode, [...fieldTitles, fieldKey, fieldChildren]),
|
|
125
|
+
const flattenNode = Object.assign((0, import_omit.default)(treeNode, [...fieldTitles, fieldKey, fieldChildren]), {
|
|
107
126
|
title: mergedTitle,
|
|
108
127
|
key: mergedKey,
|
|
109
128
|
parent,
|
|
@@ -112,7 +131,7 @@ function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {
|
|
|
112
131
|
data: treeNode,
|
|
113
132
|
isStart: [...parent ? parent.isStart : [], index === 0],
|
|
114
133
|
isEnd: [...parent ? parent.isEnd : [], index === list.length - 1]
|
|
115
|
-
};
|
|
134
|
+
});
|
|
116
135
|
flattenList.push(flattenNode);
|
|
117
136
|
if (expandedKeys === true || expandedKeySet.has(mergedKey)) {
|
|
118
137
|
flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);
|
|
@@ -148,7 +167,7 @@ function traverseDataNodes(dataNodes, callback, config) {
|
|
|
148
167
|
}
|
|
149
168
|
function processNode(node, index, parent, pathNodes) {
|
|
150
169
|
const children = node ? node[mergeChildrenPropName] : dataNodes;
|
|
151
|
-
const pos = node ?
|
|
170
|
+
const pos = node ? getPosition(parent.pos, index) : "0";
|
|
152
171
|
const connectNodes = node ? [...pathNodes, node] : [];
|
|
153
172
|
if (node) {
|
|
154
173
|
const key = syntheticGetKey(node, pos);
|
|
@@ -223,7 +242,7 @@ function convertDataToEntities(dataNodes, {
|
|
|
223
242
|
return wrapper;
|
|
224
243
|
}
|
|
225
244
|
function getTreeNodeProps(key, { expandedKeys, selectedKeys, loadedKeys, loadingKeys, checkedKeys, halfCheckedKeys, dragOverNodeKey, dropPosition, keyEntities }) {
|
|
226
|
-
const entity = keyEntities
|
|
245
|
+
const entity = (0, import_keyUtil.default)(keyEntities, key);
|
|
227
246
|
const treeNodeProps = {
|
|
228
247
|
eventKey: key,
|
|
229
248
|
expanded: expandedKeys.indexOf(key) !== -1,
|
|
@@ -262,7 +281,7 @@ function convertNodePropsToEventData(props) {
|
|
|
262
281
|
if (!("props" in eventData)) {
|
|
263
282
|
Object.defineProperty(eventData, "props", {
|
|
264
283
|
get() {
|
|
265
|
-
(0,
|
|
284
|
+
(0, import_warning.default)(false, "Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.");
|
|
266
285
|
return props;
|
|
267
286
|
}
|
|
268
287
|
});
|
|
@@ -277,7 +296,9 @@ function convertNodePropsToEventData(props) {
|
|
|
277
296
|
fillFieldNames,
|
|
278
297
|
flattenTreeData,
|
|
279
298
|
getKey,
|
|
299
|
+
getPosition,
|
|
280
300
|
getTreeNodeProps,
|
|
301
|
+
isTreeNode,
|
|
281
302
|
traverseDataNodes,
|
|
282
303
|
warningWithoutKey
|
|
283
304
|
});
|