@qsxy/element-plus-react 1.0.0-next.5 → 1.0.0-next.8
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/Avatar/Avatar.d.ts +4 -0
- package/dist/Avatar/Avatar.js +86 -0
- package/dist/Avatar/index.d.ts +2 -0
- package/dist/{VirtualList → Avatar}/index.js +7 -7
- package/dist/Avatar/typings.d.ts +21 -0
- package/dist/{VirtualList/interface.js → Avatar/typings.js} +3 -3
- 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/Loading/Loading.js +14 -4
- 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/hooks/useChildren.js → Tree/useUnmount.js} +24 -16
- 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/hooks/useClassNames.d.ts +1 -0
- package/dist/hooks/useClassNames.js +11 -1
- package/dist/index.css +58 -6
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -5
- package/dist/theme-chalk/avatar/index.scss +50 -0
- package/dist/theme-chalk/calendar/month-table.scss +1 -1
- package/dist/theme-chalk/index.scss +1 -0
- package/dist/theme-chalk/input/input.scss +5 -3
- package/dist/theme-chalk/loading/index.scss +5 -7
- 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/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/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
|
@@ -33,48 +33,25 @@ __export(DirectoryTree_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(DirectoryTree_exports);
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
|
-
var
|
|
37
|
-
var import_react = __toESM(require("react"));
|
|
38
|
-
var import_util = require("./util");
|
|
39
|
-
var import_treeUtil = require("./utils/treeUtil");
|
|
36
|
+
var React = __toESM(require("react"));
|
|
40
37
|
var import_Icon = require("../Icon");
|
|
41
38
|
var import_Tree = __toESM(require("./Tree"));
|
|
39
|
+
var import_util = require("./util");
|
|
42
40
|
var import_dictUtil = require("./utils/dictUtil");
|
|
43
|
-
var
|
|
44
|
-
const { eventKey } = props;
|
|
45
|
-
const {
|
|
46
|
-
context: { keyEntities }
|
|
47
|
-
} = props;
|
|
48
|
-
const { children } = keyEntities[eventKey] || {};
|
|
49
|
-
return !!(children || []).length;
|
|
50
|
-
};
|
|
51
|
-
var isLeaf = (props) => {
|
|
52
|
-
const { loaded } = props;
|
|
53
|
-
const {
|
|
54
|
-
context: { loadData }
|
|
55
|
-
} = props;
|
|
56
|
-
const _hasChildren = hasChildren(props);
|
|
57
|
-
if (props.isLeaf === false) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
return props.isLeaf || !loadData && !_hasChildren || loadData && loaded && !_hasChildren;
|
|
61
|
-
};
|
|
41
|
+
var import_treeUtil = require("./utils/treeUtil");
|
|
62
42
|
function getIcon(props) {
|
|
63
|
-
const { expanded } = props;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { name: "file-lines", prefix: "far" });
|
|
43
|
+
const { isLeaf, expanded } = props;
|
|
44
|
+
if (isLeaf) {
|
|
45
|
+
return /* @__PURE__ */ React.createElement(import_Icon.Icon, { name: "file-lines", prefix: "far" });
|
|
67
46
|
}
|
|
68
|
-
return expanded ? /* @__PURE__ */
|
|
47
|
+
return expanded ? /* @__PURE__ */ React.createElement(import_Icon.Icon, { name: "folder-open", prefix: "far" }) : /* @__PURE__ */ React.createElement(import_Icon.Icon, { name: "folder-closed", prefix: "fas" });
|
|
69
48
|
}
|
|
70
49
|
function getTreeData({ treeData, children }) {
|
|
71
50
|
return treeData || (0, import_treeUtil.convertTreeToData)(children);
|
|
72
51
|
}
|
|
73
|
-
|
|
74
|
-
const lastSelectedKey =
|
|
75
|
-
const cachedSelectedKeys =
|
|
76
|
-
const treeRef = (0, import_react.createRef)();
|
|
77
|
-
(0, import_react.useImperativeHandle)(ref, () => treeRef.current);
|
|
52
|
+
var DirectoryTree = ({ defaultExpandAll, defaultExpandParent, defaultExpandedKeys, ...props }, ref) => {
|
|
53
|
+
const lastSelectedKey = React.useRef(null);
|
|
54
|
+
const cachedSelectedKeys = React.useRef(null);
|
|
78
55
|
const getInitExpandedKeys = () => {
|
|
79
56
|
const { keyEntities } = (0, import_treeUtil.convertDataToEntities)(getTreeData(props));
|
|
80
57
|
let initExpandedKeys;
|
|
@@ -83,31 +60,22 @@ function InternalDirectoryTree({ defaultExpandAll, defaultExpandParent, defaultE
|
|
|
83
60
|
} else if (defaultExpandParent) {
|
|
84
61
|
initExpandedKeys = (0, import_util.conductExpandParent)(props.expandedKeys || defaultExpandedKeys || [], keyEntities);
|
|
85
62
|
} else {
|
|
86
|
-
initExpandedKeys = props.expandedKeys || defaultExpandedKeys;
|
|
63
|
+
initExpandedKeys = props.expandedKeys || defaultExpandedKeys || [];
|
|
87
64
|
}
|
|
88
65
|
return initExpandedKeys;
|
|
89
66
|
};
|
|
90
|
-
const [selectedKeys, setSelectedKeys] =
|
|
91
|
-
const [expandedKeys, setExpandedKeys] =
|
|
92
|
-
|
|
67
|
+
const [selectedKeys, setSelectedKeys] = React.useState(props.selectedKeys || props.defaultSelectedKeys || []);
|
|
68
|
+
const [expandedKeys, setExpandedKeys] = React.useState(() => getInitExpandedKeys());
|
|
69
|
+
React.useEffect(() => {
|
|
93
70
|
if ("selectedKeys" in props) {
|
|
94
71
|
setSelectedKeys(props.selectedKeys);
|
|
95
72
|
}
|
|
96
73
|
}, [props.selectedKeys]);
|
|
97
|
-
|
|
74
|
+
React.useEffect(() => {
|
|
98
75
|
if ("expandedKeys" in props) {
|
|
99
76
|
setExpandedKeys(props.expandedKeys);
|
|
100
77
|
}
|
|
101
78
|
}, [props.expandedKeys]);
|
|
102
|
-
const expandFolderNode = (event, node) => {
|
|
103
|
-
if (node.isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
treeRef.current.onNodeExpand(event, node);
|
|
107
|
-
};
|
|
108
|
-
const onDebounceExpand = (0, import_debounce.default)(expandFolderNode, 200, {
|
|
109
|
-
leading: true
|
|
110
|
-
});
|
|
111
79
|
const onExpand = (keys, info) => {
|
|
112
80
|
var _a;
|
|
113
81
|
if (!("expandedKeys" in props)) {
|
|
@@ -115,25 +83,9 @@ function InternalDirectoryTree({ defaultExpandAll, defaultExpandParent, defaultE
|
|
|
115
83
|
}
|
|
116
84
|
return (_a = props.onExpand) == null ? void 0 : _a.call(props, keys, info);
|
|
117
85
|
};
|
|
118
|
-
const onClick = (event, node) => {
|
|
119
|
-
var _a;
|
|
120
|
-
const { expandAction } = props;
|
|
121
|
-
if (expandAction === "click") {
|
|
122
|
-
onDebounceExpand(event, node);
|
|
123
|
-
}
|
|
124
|
-
(_a = props.onClick) == null ? void 0 : _a.call(props, event, node);
|
|
125
|
-
};
|
|
126
|
-
const onDoubleClick = (event, node) => {
|
|
127
|
-
var _a;
|
|
128
|
-
const { expandAction } = props;
|
|
129
|
-
if (expandAction === "doubleClick") {
|
|
130
|
-
onDebounceExpand(event, node);
|
|
131
|
-
}
|
|
132
|
-
(_a = props.onDoubleClick) == null ? void 0 : _a.call(props, event, node);
|
|
133
|
-
};
|
|
134
86
|
const onSelect = (keys, event) => {
|
|
135
87
|
var _a;
|
|
136
|
-
const { multiple } = props;
|
|
88
|
+
const { multiple, fieldNames } = props;
|
|
137
89
|
const { node, nativeEvent } = event;
|
|
138
90
|
const { key = "" } = node;
|
|
139
91
|
const treeData = getTreeData(props);
|
|
@@ -149,7 +101,7 @@ function InternalDirectoryTree({ defaultExpandAll, defaultExpandParent, defaultE
|
|
|
149
101
|
newSelectedKeys = keys;
|
|
150
102
|
lastSelectedKey.current = key;
|
|
151
103
|
cachedSelectedKeys.current = newSelectedKeys;
|
|
152
|
-
newEvent.selectedNodes = (0, import_dictUtil.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
104
|
+
newEvent.selectedNodes = (0, import_dictUtil.convertDirectoryKeysToNodes)(treeData, newSelectedKeys, fieldNames);
|
|
153
105
|
} else if (multiple && shiftPick) {
|
|
154
106
|
newSelectedKeys = Array.from(
|
|
155
107
|
/* @__PURE__ */ new Set([
|
|
@@ -158,47 +110,46 @@ function InternalDirectoryTree({ defaultExpandAll, defaultExpandParent, defaultE
|
|
|
158
110
|
treeData,
|
|
159
111
|
expandedKeys,
|
|
160
112
|
startKey: key,
|
|
161
|
-
endKey: lastSelectedKey.current
|
|
113
|
+
endKey: lastSelectedKey.current,
|
|
114
|
+
fieldNames
|
|
162
115
|
})
|
|
163
116
|
])
|
|
164
117
|
);
|
|
165
|
-
newEvent.selectedNodes = (0, import_dictUtil.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
118
|
+
newEvent.selectedNodes = (0, import_dictUtil.convertDirectoryKeysToNodes)(treeData, newSelectedKeys, fieldNames);
|
|
166
119
|
} else {
|
|
167
120
|
newSelectedKeys = [key];
|
|
168
121
|
lastSelectedKey.current = key;
|
|
169
122
|
cachedSelectedKeys.current = newSelectedKeys;
|
|
170
|
-
newEvent.selectedNodes = (0, import_dictUtil.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
123
|
+
newEvent.selectedNodes = (0, import_dictUtil.convertDirectoryKeysToNodes)(treeData, newSelectedKeys, fieldNames);
|
|
171
124
|
}
|
|
172
125
|
(_a = props.onSelect) == null ? void 0 : _a.call(props, newSelectedKeys, newEvent);
|
|
173
126
|
if (!("selectedKeys" in props)) {
|
|
174
127
|
setSelectedKeys(newSelectedKeys);
|
|
175
128
|
}
|
|
176
129
|
};
|
|
177
|
-
const {
|
|
130
|
+
const { className, showIcon = true, expandAction = "click", ...otherProps } = props;
|
|
131
|
+
const prefixCls = "el-tree";
|
|
178
132
|
const connectClassName = (0, import_classnames.default)(`${prefixCls}-directory`, className);
|
|
179
|
-
return /* @__PURE__ */
|
|
133
|
+
return /* @__PURE__ */ React.createElement(
|
|
180
134
|
import_Tree.default,
|
|
181
135
|
{
|
|
182
136
|
icon: getIcon,
|
|
183
|
-
ref
|
|
137
|
+
ref,
|
|
184
138
|
blockNode: true,
|
|
185
139
|
...otherProps,
|
|
140
|
+
showIcon,
|
|
141
|
+
expandAction,
|
|
186
142
|
prefixCls,
|
|
187
143
|
className: connectClassName,
|
|
188
144
|
expandedKeys,
|
|
189
145
|
selectedKeys,
|
|
190
146
|
onSelect,
|
|
191
|
-
onClick,
|
|
192
|
-
onDoubleClick,
|
|
193
147
|
onExpand
|
|
194
148
|
}
|
|
195
149
|
);
|
|
196
|
-
}
|
|
197
|
-
var ForwardDirectoryTree = (0, import_react.forwardRef)(InternalDirectoryTree);
|
|
198
|
-
var DirectoryTree = ForwardDirectoryTree;
|
|
199
|
-
DirectoryTree.displayName = "DirectoryTree";
|
|
200
|
-
DirectoryTree.defaultProps = {
|
|
201
|
-
showIcon: true,
|
|
202
|
-
expandAction: "doubleClick"
|
|
203
150
|
};
|
|
204
|
-
var
|
|
151
|
+
var ForwardDirectoryTree = React.forwardRef(DirectoryTree);
|
|
152
|
+
if (process.env.NODE_ENV !== "production") {
|
|
153
|
+
ForwardDirectoryTree.displayName = "DirectoryTree";
|
|
154
|
+
}
|
|
155
|
+
var DirectoryTree_default = ForwardDirectoryTree;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export
|
|
2
|
+
export interface DropIndicatorProps {
|
|
3
3
|
dropPosition: -1 | 0 | 1;
|
|
4
4
|
dropLevelOffset: number;
|
|
5
5
|
indent: number;
|
|
6
|
-
}
|
|
6
|
+
}
|
|
7
|
+
declare const DropIndicator: React.FC<Readonly<DropIndicatorProps>>;
|
|
8
|
+
export default DropIndicator;
|
|
@@ -29,11 +29,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
// src/Tree/DropIndicator.tsx
|
|
30
30
|
var DropIndicator_exports = {};
|
|
31
31
|
__export(DropIndicator_exports, {
|
|
32
|
-
default: () =>
|
|
32
|
+
default: () => DropIndicator_default
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(DropIndicator_exports);
|
|
35
35
|
var import_react = __toESM(require("react"));
|
|
36
|
-
|
|
36
|
+
var DropIndicator = (props) => {
|
|
37
|
+
const { dropPosition, dropLevelOffset, indent } = props;
|
|
37
38
|
const style = {
|
|
38
39
|
pointerEvents: "none",
|
|
39
40
|
position: "absolute",
|
|
@@ -56,4 +57,8 @@ function DropIndicator({ dropPosition, dropLevelOffset, indent }) {
|
|
|
56
57
|
break;
|
|
57
58
|
}
|
|
58
59
|
return /* @__PURE__ */ import_react.default.createElement("div", { style });
|
|
60
|
+
};
|
|
61
|
+
if (process.env.NODE_ENV !== "production") {
|
|
62
|
+
DropIndicator.displayName = "DropIndicator";
|
|
59
63
|
}
|
|
64
|
+
var DropIndicator_default = DropIndicator;
|
package/dist/Tree/Indent.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
interface IndentProps {
|
|
3
3
|
prefixCls: string;
|
|
4
4
|
level: number;
|
|
5
5
|
isStart: boolean[];
|
|
6
6
|
isEnd: boolean[];
|
|
7
7
|
}
|
|
8
|
-
declare const _default: React.
|
|
8
|
+
declare const _default: React.NamedExoticComponent<IndentProps>;
|
|
9
9
|
export default _default;
|
package/dist/Tree/Indent.js
CHANGED
|
@@ -33,13 +33,13 @@ __export(Indent_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(Indent_exports);
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
|
-
var
|
|
36
|
+
var React = __toESM(require("react"));
|
|
37
37
|
var Indent = ({ prefixCls, level, isStart, isEnd }) => {
|
|
38
38
|
const baseClassName = `${prefixCls}-indent-unit`;
|
|
39
39
|
const list = [];
|
|
40
40
|
for (let i = 0; i < level; i += 1) {
|
|
41
41
|
list.push(
|
|
42
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ React.createElement(
|
|
43
43
|
"span",
|
|
44
44
|
{
|
|
45
45
|
key: i,
|
|
@@ -51,6 +51,6 @@ var Indent = ({ prefixCls, level, isStart, isEnd }) => {
|
|
|
51
51
|
)
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
|
-
return /* @__PURE__ */
|
|
54
|
+
return /* @__PURE__ */ React.createElement("span", { "aria-hidden": "true", className: `${prefixCls}-indent` }, list);
|
|
55
55
|
};
|
|
56
|
-
var Indent_default =
|
|
56
|
+
var Indent_default = React.memo(Indent);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { TreeNodeProps } from './
|
|
3
|
-
import {
|
|
4
|
-
import { TreeNodeRequiredProps } from './utils/treeUtil';
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { FlattenNode, TreeNodeProps } from './typings';
|
|
3
|
+
import { type TreeNodeRequiredProps } from './utils/treeUtil';
|
|
5
4
|
interface MotionTreeNodeProps extends Omit<TreeNodeProps, 'domRef'> {
|
|
6
5
|
active: boolean;
|
|
7
6
|
motion?: any;
|
|
@@ -11,5 +10,5 @@ interface MotionTreeNodeProps extends Omit<TreeNodeProps, 'domRef'> {
|
|
|
11
10
|
motionType?: 'show' | 'hide';
|
|
12
11
|
treeNodeRequiredProps: TreeNodeRequiredProps;
|
|
13
12
|
}
|
|
14
|
-
declare const MotionTreeNode:
|
|
13
|
+
declare const MotionTreeNode: React.ForwardRefExoticComponent<MotionTreeNodeProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
14
|
export default MotionTreeNode;
|
|
@@ -33,14 +33,17 @@ __export(MotionTreeNode_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(MotionTreeNode_exports);
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
|
-
var
|
|
37
|
-
var
|
|
36
|
+
var import_rc_util = require("rc-util");
|
|
37
|
+
var import_useLayoutEffect = __toESM(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
38
|
+
var React = __toESM(require("react"));
|
|
39
|
+
var import_react = require("react");
|
|
38
40
|
var import_Transition = require("../Transition");
|
|
39
41
|
var import_TreeNode = __toESM(require("./TreeNode"));
|
|
40
42
|
var import_contextTypes = require("./contextTypes");
|
|
43
|
+
var import_useUnmount = __toESM(require("./useUnmount"));
|
|
41
44
|
var import_treeUtil = require("./utils/treeUtil");
|
|
42
|
-
var MotionTreeNode = (
|
|
43
|
-
|
|
45
|
+
var MotionTreeNode = React.forwardRef((oriProps, ref) => {
|
|
46
|
+
const {
|
|
44
47
|
className,
|
|
45
48
|
style,
|
|
46
49
|
motion,
|
|
@@ -51,59 +54,73 @@ var MotionTreeNode = (0, import_react.forwardRef)(
|
|
|
51
54
|
active,
|
|
52
55
|
treeNodeRequiredProps,
|
|
53
56
|
...props
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
onOriginMotionStart();
|
|
57
|
+
} = oriProps;
|
|
58
|
+
const [visible, setVisible] = React.useState(true);
|
|
59
|
+
const { prefixCls } = React.useContext(import_contextTypes.TreeContext);
|
|
60
|
+
const targetVisible = motionNodes && motionType !== "hide";
|
|
61
|
+
const motionedRef = (0, import_react.useRef)(false);
|
|
62
|
+
const containerRef = (0, import_react.useRef)(null);
|
|
63
|
+
const mergedRef = (0, import_rc_util.useComposeRef)(ref, containerRef);
|
|
64
|
+
const onMotionEnd = () => {
|
|
65
|
+
if (!motionedRef.current) {
|
|
66
|
+
onOriginMotionEnd();
|
|
67
|
+
}
|
|
68
|
+
motionedRef.current = true;
|
|
69
|
+
};
|
|
70
|
+
(0, import_useLayoutEffect.default)(() => {
|
|
71
|
+
if (motionNodes) {
|
|
72
|
+
if (targetVisible !== visible) {
|
|
73
|
+
setVisible(targetVisible);
|
|
72
74
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
}, []);
|
|
75
|
+
}
|
|
76
|
+
}, [motionNodes]);
|
|
77
|
+
const triggerMotionStart = () => {
|
|
79
78
|
if (motionNodes) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
onOriginMotionStart();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const triggerMotionEndRef = React.useRef(false);
|
|
83
|
+
const triggerMotionEnd = () => {
|
|
84
|
+
if (motionNodes && !triggerMotionEndRef.current) {
|
|
85
|
+
triggerMotionEndRef.current = true;
|
|
86
|
+
onOriginMotionEnd();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
(0, import_useUnmount.default)(triggerMotionStart, triggerMotionEnd);
|
|
90
|
+
const onVisibleChanged = (nextVisible) => {
|
|
91
|
+
if (targetVisible === nextVisible) {
|
|
92
|
+
triggerMotionEnd();
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
if (motionNodes) {
|
|
96
|
+
return /* @__PURE__ */ React.createElement(import_Transition.Transition, { nodeRef: containerRef, visible, ...motion, transitionAppear: motionType === "show", afterEnter: onMotionEnd, afterLeave: onMotionEnd }, /* @__PURE__ */ React.createElement("div", { ref: mergedRef, className: (0, import_classnames.default)(`${prefixCls}-treenode-motion`, className), style }, motionNodes.map((treeNode) => {
|
|
97
|
+
const {
|
|
98
|
+
data: { ...restProps },
|
|
99
|
+
title,
|
|
100
|
+
key,
|
|
101
|
+
isStart,
|
|
102
|
+
isEnd
|
|
103
|
+
} = treeNode;
|
|
104
|
+
delete restProps.children;
|
|
105
|
+
const treeNodeProps = (0, import_treeUtil.getTreeNodeProps)(key, treeNodeRequiredProps);
|
|
106
|
+
return /* @__PURE__ */ React.createElement(
|
|
107
|
+
import_TreeNode.default,
|
|
108
|
+
{
|
|
109
|
+
...restProps,
|
|
110
|
+
...treeNodeProps,
|
|
83
111
|
title,
|
|
112
|
+
active,
|
|
113
|
+
data: treeNode.data,
|
|
84
114
|
key,
|
|
85
115
|
isStart,
|
|
86
116
|
isEnd
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
91
|
-
import_TreeNode.default,
|
|
92
|
-
{
|
|
93
|
-
...(0, import_omit.default)(restProps, "children"),
|
|
94
|
-
...treeNodeProps,
|
|
95
|
-
title,
|
|
96
|
-
active,
|
|
97
|
-
data: treeNode.data,
|
|
98
|
-
key,
|
|
99
|
-
isStart,
|
|
100
|
-
isEnd
|
|
101
|
-
}
|
|
102
|
-
);
|
|
103
|
-
})));
|
|
104
|
-
}
|
|
105
|
-
return /* @__PURE__ */ import_react.default.createElement(import_TreeNode.default, { domRef: ref, className, style, ...props, active });
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
})));
|
|
106
120
|
}
|
|
107
|
-
);
|
|
108
|
-
|
|
121
|
+
return /* @__PURE__ */ React.createElement(import_TreeNode.default, { domRef: ref, className, style, ...props, active });
|
|
122
|
+
});
|
|
123
|
+
if (process.env.NODE_ENV !== "production") {
|
|
124
|
+
MotionTreeNode.displayName = "MotionTreeNode";
|
|
125
|
+
}
|
|
109
126
|
var MotionTreeNode_default = MotionTreeNode;
|
package/dist/Tree/NodeList.d.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Handle virtual list of the TreeNodes.
|
|
3
|
+
*/
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import type { BasicDataNode, DataEntity, DataNode, FlattenNode, Key, KeyEntities, ScrollTo } from './typings';
|
|
3
6
|
export declare const MOTION_KEY: string;
|
|
4
7
|
export declare const MotionEntity: DataEntity;
|
|
5
8
|
export interface NodeListRef {
|
|
6
9
|
scrollTo: ScrollTo;
|
|
7
10
|
getIndentWidth: () => number;
|
|
8
11
|
}
|
|
9
|
-
interface NodeListProps {
|
|
12
|
+
interface NodeListProps<TreeDataType extends BasicDataNode> {
|
|
10
13
|
prefixCls: string;
|
|
11
14
|
style: React.CSSProperties;
|
|
12
|
-
data: FlattenNode[];
|
|
15
|
+
data: FlattenNode<TreeDataType>[];
|
|
13
16
|
motion: any;
|
|
14
17
|
focusable?: boolean;
|
|
15
|
-
activeItem: FlattenNode
|
|
18
|
+
activeItem: FlattenNode<TreeDataType>;
|
|
16
19
|
focused?: boolean;
|
|
17
20
|
tabIndex: number;
|
|
18
21
|
checkable?: boolean;
|
|
@@ -24,16 +27,17 @@ interface NodeListProps {
|
|
|
24
27
|
loadedKeys: Key[];
|
|
25
28
|
loadingKeys: Key[];
|
|
26
29
|
halfCheckedKeys: Key[];
|
|
27
|
-
keyEntities:
|
|
30
|
+
keyEntities: KeyEntities;
|
|
28
31
|
dragging: boolean;
|
|
29
32
|
dragOverNodeKey: Key;
|
|
30
33
|
dropPosition: number;
|
|
31
34
|
height: number;
|
|
32
35
|
itemHeight: number;
|
|
33
36
|
virtual?: boolean;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
scrollWidth?: number;
|
|
38
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
39
|
+
onFocus?: React.FocusEventHandler<HTMLDivElement>;
|
|
40
|
+
onBlur?: React.FocusEventHandler<HTMLDivElement>;
|
|
37
41
|
onActiveChange: (key: Key) => void;
|
|
38
42
|
onListChangeStart: () => void;
|
|
39
43
|
onListChangeEnd: () => void;
|
|
@@ -41,6 +45,6 @@ interface NodeListProps {
|
|
|
41
45
|
/**
|
|
42
46
|
* We only need get visible content items to play the animation.
|
|
43
47
|
*/
|
|
44
|
-
export declare function getMinimumRangeTransitionRange(list: FlattenNode[], virtual: boolean, height: number, itemHeight: number): FlattenNode[];
|
|
45
|
-
declare const NodeList:
|
|
48
|
+
export declare function getMinimumRangeTransitionRange(list: FlattenNode[], virtual: boolean, height: number, itemHeight: number): FlattenNode<DataNode>[];
|
|
49
|
+
declare const NodeList: React.ForwardRefExoticComponent<NodeListProps<any> & React.RefAttributes<NodeListRef>>;
|
|
46
50
|
export default NodeList;
|
package/dist/Tree/NodeList.js
CHANGED
|
@@ -35,9 +35,9 @@ __export(NodeList_exports, {
|
|
|
35
35
|
getMinimumRangeTransitionRange: () => getMinimumRangeTransitionRange
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(NodeList_exports);
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
38
|
+
var import_useLayoutEffect = __toESM(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
39
|
+
var import_rc_virtual_list = __toESM(require("rc-virtual-list"));
|
|
40
|
+
var React = __toESM(require("react"));
|
|
41
41
|
var import_MotionTreeNode = __toESM(require("./MotionTreeNode"));
|
|
42
42
|
var import_diffUtil = require("./utils/diffUtil");
|
|
43
43
|
var import_treeUtil = require("./utils/treeUtil");
|
|
@@ -95,10 +95,11 @@ function getAccessibilityPath(item) {
|
|
|
95
95
|
}
|
|
96
96
|
return path;
|
|
97
97
|
}
|
|
98
|
-
var NodeList =
|
|
98
|
+
var NodeList = React.forwardRef((props, ref) => {
|
|
99
99
|
const {
|
|
100
100
|
prefixCls,
|
|
101
101
|
data,
|
|
102
|
+
selectable,
|
|
102
103
|
checkable,
|
|
103
104
|
expandedKeys,
|
|
104
105
|
selectedKeys,
|
|
@@ -115,6 +116,7 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
115
116
|
height,
|
|
116
117
|
itemHeight,
|
|
117
118
|
virtual,
|
|
119
|
+
scrollWidth,
|
|
118
120
|
focusable,
|
|
119
121
|
activeItem,
|
|
120
122
|
focused,
|
|
@@ -127,27 +129,30 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
127
129
|
onListChangeEnd,
|
|
128
130
|
...domProps
|
|
129
131
|
} = props;
|
|
130
|
-
const listRef =
|
|
131
|
-
const indentMeasurerRef =
|
|
132
|
-
|
|
132
|
+
const listRef = React.useRef(null);
|
|
133
|
+
const indentMeasurerRef = React.useRef(null);
|
|
134
|
+
React.useImperativeHandle(ref, () => ({
|
|
133
135
|
scrollTo: (scroll) => {
|
|
134
136
|
listRef.current.scrollTo(scroll);
|
|
135
137
|
},
|
|
136
138
|
getIndentWidth: () => indentMeasurerRef.current.offsetWidth
|
|
137
139
|
}));
|
|
138
|
-
const [prevExpandedKeys, setPrevExpandedKeys] =
|
|
139
|
-
const [prevData, setPrevData] =
|
|
140
|
-
const [transitionData, setTransitionData] =
|
|
141
|
-
const [transitionRange, setTransitionRange] =
|
|
142
|
-
const [motionType, setMotionType] =
|
|
140
|
+
const [prevExpandedKeys, setPrevExpandedKeys] = React.useState(expandedKeys);
|
|
141
|
+
const [prevData, setPrevData] = React.useState(data);
|
|
142
|
+
const [transitionData, setTransitionData] = React.useState(data);
|
|
143
|
+
const [transitionRange, setTransitionRange] = React.useState([]);
|
|
144
|
+
const [motionType, setMotionType] = React.useState(null);
|
|
145
|
+
const dataRef = React.useRef(data);
|
|
146
|
+
dataRef.current = data;
|
|
143
147
|
function onMotionEnd() {
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
const latestData = dataRef.current;
|
|
149
|
+
setPrevData(latestData);
|
|
150
|
+
setTransitionData(latestData);
|
|
146
151
|
setTransitionRange([]);
|
|
147
152
|
setMotionType(null);
|
|
148
153
|
onListChangeEnd();
|
|
149
154
|
}
|
|
150
|
-
(0,
|
|
155
|
+
(0, import_useLayoutEffect.default)(() => {
|
|
151
156
|
setPrevExpandedKeys(expandedKeys);
|
|
152
157
|
const diffExpanded = (0, import_diffUtil.findExpandedKeys)(prevExpandedKeys, expandedKeys);
|
|
153
158
|
if (diffExpanded.key !== null) {
|
|
@@ -173,7 +178,7 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
173
178
|
setTransitionData(data);
|
|
174
179
|
}
|
|
175
180
|
}, [expandedKeys, data]);
|
|
176
|
-
|
|
181
|
+
React.useEffect(() => {
|
|
177
182
|
if (!dragging) {
|
|
178
183
|
onMotionEnd();
|
|
179
184
|
}
|
|
@@ -190,7 +195,7 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
190
195
|
dropPosition,
|
|
191
196
|
keyEntities
|
|
192
197
|
};
|
|
193
|
-
return /* @__PURE__ */
|
|
198
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, focused && activeItem && /* @__PURE__ */ React.createElement("span", { style: HIDDEN_STYLE, "aria-live": "assertive" }, getAccessibilityPath(activeItem)), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
|
|
194
199
|
"input",
|
|
195
200
|
{
|
|
196
201
|
style: HIDDEN_STYLE,
|
|
@@ -203,7 +208,7 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
203
208
|
onChange: noop,
|
|
204
209
|
"aria-label": "for screen reader"
|
|
205
210
|
}
|
|
206
|
-
)), /* @__PURE__ */
|
|
211
|
+
)), /* @__PURE__ */ React.createElement(
|
|
207
212
|
"div",
|
|
208
213
|
{
|
|
209
214
|
className: `${prefixCls}-treenode`,
|
|
@@ -213,12 +218,14 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
213
218
|
pointerEvents: "none",
|
|
214
219
|
visibility: "hidden",
|
|
215
220
|
height: 0,
|
|
216
|
-
overflow: "hidden"
|
|
221
|
+
overflow: "hidden",
|
|
222
|
+
border: 0,
|
|
223
|
+
padding: 0
|
|
217
224
|
}
|
|
218
225
|
},
|
|
219
|
-
/* @__PURE__ */
|
|
220
|
-
), /* @__PURE__ */
|
|
221
|
-
|
|
226
|
+
/* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-indent` }, /* @__PURE__ */ React.createElement("div", { ref: indentMeasurerRef, className: `${prefixCls}-indent-unit` }))
|
|
227
|
+
), /* @__PURE__ */ React.createElement(
|
|
228
|
+
import_rc_virtual_list.default,
|
|
222
229
|
{
|
|
223
230
|
...domProps,
|
|
224
231
|
data: mergedData,
|
|
@@ -227,12 +234,12 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
227
234
|
fullHeight: false,
|
|
228
235
|
virtual,
|
|
229
236
|
itemHeight,
|
|
237
|
+
scrollWidth,
|
|
230
238
|
prefixCls: `${prefixCls}-list`,
|
|
231
239
|
ref: listRef,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
if (restList.some((item) => itemKey(item) === MOTION_KEY)) {
|
|
240
|
+
role: "tree",
|
|
241
|
+
onVisibleChange: (originList) => {
|
|
242
|
+
if (originList.every((item) => itemKey(item) !== MOTION_KEY)) {
|
|
236
243
|
onMotionEnd();
|
|
237
244
|
}
|
|
238
245
|
}
|
|
@@ -250,10 +257,10 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
250
257
|
delete restProps.key;
|
|
251
258
|
delete restProps.children;
|
|
252
259
|
const treeNodeProps = (0, import_treeUtil.getTreeNodeProps)(mergedKey, treeNodeRequiredProps);
|
|
253
|
-
return /* @__PURE__ */
|
|
260
|
+
return /* @__PURE__ */ React.createElement(
|
|
254
261
|
import_MotionTreeNode.default,
|
|
255
262
|
{
|
|
256
|
-
...
|
|
263
|
+
...restProps,
|
|
257
264
|
...treeNodeProps,
|
|
258
265
|
title,
|
|
259
266
|
active: !!activeItem && key === activeItem.key,
|
|
@@ -275,7 +282,9 @@ var NodeList = (0, import_react.forwardRef)((props, ref) => {
|
|
|
275
282
|
}
|
|
276
283
|
));
|
|
277
284
|
});
|
|
278
|
-
|
|
285
|
+
if (process.env.NODE_ENV !== "production") {
|
|
286
|
+
NodeList.displayName = "NodeList";
|
|
287
|
+
}
|
|
279
288
|
var NodeList_default = NodeList;
|
|
280
289
|
// Annotate the CommonJS export names for ESM import in node:
|
|
281
290
|
0 && (module.exports = {
|