@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
|
@@ -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 = {
|
package/dist/Tree/RCTree.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { NodeListRef } from './NodeList';
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DropIndicatorProps } from './DropIndicator';
|
|
3
|
+
import { type NodeListRef } from './NodeList';
|
|
4
4
|
import { NodeDragEventHandler, NodeDragEventParams, NodeMouseEventHandler, NodeMouseEventParams } from './contextTypes';
|
|
5
|
-
import { BasicDataNode,
|
|
5
|
+
import type { BasicDataNode, DataNode, Direction, EventDataNode, FieldNames, FlattenNode, IconType, Key, KeyEntities, SafeKey, ScrollTo, TreeNodeProps } from './typings';
|
|
6
6
|
export interface CheckInfo<TreeDataType extends BasicDataNode = DataNode> {
|
|
7
7
|
event: 'check';
|
|
8
|
-
node: EventDataNode
|
|
8
|
+
node: EventDataNode<TreeDataType>;
|
|
9
9
|
checked: boolean;
|
|
10
10
|
nativeEvent: MouseEvent;
|
|
11
11
|
checkedNodes: TreeDataType[];
|
|
@@ -23,26 +23,31 @@ export interface AllowDropOptions<TreeDataType extends BasicDataNode = DataNode>
|
|
|
23
23
|
export type AllowDrop<TreeDataType extends BasicDataNode = DataNode> = (options: AllowDropOptions<TreeDataType>) => boolean;
|
|
24
24
|
export type DraggableFn = (node: DataNode) => boolean;
|
|
25
25
|
export type DraggableConfig = {
|
|
26
|
-
icon?: React.
|
|
26
|
+
icon?: React.ReactNode | false;
|
|
27
27
|
nodeDraggable?: DraggableFn;
|
|
28
28
|
};
|
|
29
|
+
export type ExpandAction = false | 'click' | 'doubleClick';
|
|
30
|
+
export type SemanticName = 'itemIcon' | 'item' | 'itemTitle';
|
|
29
31
|
export interface TreeProps<TreeDataType extends BasicDataNode = DataNode> {
|
|
30
|
-
prefixCls
|
|
32
|
+
prefixCls: string;
|
|
31
33
|
className?: string;
|
|
32
34
|
style?: React.CSSProperties;
|
|
35
|
+
styles?: Partial<Record<SemanticName, React.CSSProperties>>;
|
|
36
|
+
classNames?: Partial<Record<SemanticName, string>>;
|
|
33
37
|
focusable?: boolean;
|
|
34
|
-
activeKey?: Key;
|
|
38
|
+
activeKey?: Key | null;
|
|
35
39
|
tabIndex?: number;
|
|
36
|
-
children?: React.
|
|
40
|
+
children?: React.ReactNode;
|
|
37
41
|
treeData?: TreeDataType[];
|
|
38
42
|
fieldNames?: FieldNames;
|
|
39
43
|
showLine?: boolean;
|
|
40
44
|
showIcon?: boolean;
|
|
41
45
|
icon?: IconType;
|
|
42
46
|
selectable?: boolean;
|
|
47
|
+
expandAction?: ExpandAction;
|
|
43
48
|
disabled?: boolean;
|
|
44
49
|
multiple?: boolean;
|
|
45
|
-
checkable?: boolean | React.
|
|
50
|
+
checkable?: boolean | React.ReactNode;
|
|
46
51
|
checkStrictly?: boolean;
|
|
47
52
|
draggable?: DraggableFn | boolean | DraggableConfig;
|
|
48
53
|
defaultExpandParent?: boolean;
|
|
@@ -58,23 +63,17 @@ export interface TreeProps<TreeDataType extends BasicDataNode = DataNode> {
|
|
|
58
63
|
defaultSelectedKeys?: Key[];
|
|
59
64
|
selectedKeys?: Key[];
|
|
60
65
|
allowDrop?: AllowDrop<TreeDataType>;
|
|
61
|
-
titleRender?: (node: TreeDataType) => React.
|
|
62
|
-
dropIndicatorRender?: (props:
|
|
63
|
-
dropPosition: -1 | 0 | 1;
|
|
64
|
-
dropLevelOffset: number;
|
|
65
|
-
indent: number;
|
|
66
|
-
prefixCls: string;
|
|
67
|
-
direction: Direction;
|
|
68
|
-
}) => React.ReactElement;
|
|
66
|
+
titleRender?: (node: TreeDataType) => React.ReactNode;
|
|
67
|
+
dropIndicatorRender?: (props: DropIndicatorProps) => React.ReactNode;
|
|
69
68
|
onFocus?: React.FocusEventHandler<HTMLDivElement>;
|
|
70
69
|
onBlur?: React.FocusEventHandler<HTMLDivElement>;
|
|
71
70
|
onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
72
|
-
onContextMenu?: React.
|
|
73
|
-
onClick?: NodeMouseEventHandler
|
|
74
|
-
onDoubleClick?: NodeMouseEventHandler
|
|
71
|
+
onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
|
|
72
|
+
onClick?: NodeMouseEventHandler<TreeDataType>;
|
|
73
|
+
onDoubleClick?: NodeMouseEventHandler<TreeDataType>;
|
|
75
74
|
onScroll?: React.UIEventHandler<HTMLElement>;
|
|
76
75
|
onExpand?: (expandedKeys: Key[], info: {
|
|
77
|
-
node: EventDataNode
|
|
76
|
+
node: EventDataNode<TreeDataType>;
|
|
78
77
|
expanded: boolean;
|
|
79
78
|
nativeEvent: MouseEvent;
|
|
80
79
|
}) => void;
|
|
@@ -85,31 +84,31 @@ export interface TreeProps<TreeDataType extends BasicDataNode = DataNode> {
|
|
|
85
84
|
onSelect?: (selectedKeys: Key[], info: {
|
|
86
85
|
event: 'select';
|
|
87
86
|
selected: boolean;
|
|
88
|
-
node: EventDataNode
|
|
87
|
+
node: EventDataNode<TreeDataType>;
|
|
89
88
|
selectedNodes: TreeDataType[];
|
|
90
89
|
nativeEvent: MouseEvent;
|
|
91
90
|
}) => void;
|
|
92
91
|
onLoad?: (loadedKeys: Key[], info: {
|
|
93
92
|
event: 'load';
|
|
94
|
-
node: EventDataNode
|
|
93
|
+
node: EventDataNode<TreeDataType>;
|
|
95
94
|
}) => void;
|
|
96
|
-
loadData?: (treeNode: EventDataNode) => Promise<
|
|
95
|
+
loadData?: (treeNode: EventDataNode<TreeDataType>) => Promise<any>;
|
|
97
96
|
loadedKeys?: Key[];
|
|
98
|
-
onMouseEnter?: (info: NodeMouseEventParams) => void;
|
|
99
|
-
onMouseLeave?: (info: NodeMouseEventParams) => void;
|
|
97
|
+
onMouseEnter?: (info: NodeMouseEventParams<TreeDataType>) => void;
|
|
98
|
+
onMouseLeave?: (info: NodeMouseEventParams<TreeDataType>) => void;
|
|
100
99
|
onRightClick?: (info: {
|
|
101
100
|
event: React.MouseEvent;
|
|
102
|
-
node: EventDataNode
|
|
101
|
+
node: EventDataNode<TreeDataType>;
|
|
103
102
|
}) => void;
|
|
104
|
-
onDragStart?: (info: NodeDragEventParams) => void;
|
|
105
|
-
onDragEnter?: (info: NodeDragEventParams & {
|
|
103
|
+
onDragStart?: (info: NodeDragEventParams<TreeDataType>) => void;
|
|
104
|
+
onDragEnter?: (info: NodeDragEventParams<TreeDataType> & {
|
|
106
105
|
expandedKeys: Key[];
|
|
107
106
|
}) => void;
|
|
108
|
-
onDragOver?: (info: NodeDragEventParams) => void;
|
|
109
|
-
onDragLeave?: (info: NodeDragEventParams) => void;
|
|
110
|
-
onDragEnd?: (info: NodeDragEventParams) => void;
|
|
111
|
-
onDrop?: (info: NodeDragEventParams & {
|
|
112
|
-
dragNode: EventDataNode
|
|
107
|
+
onDragOver?: (info: NodeDragEventParams<TreeDataType>) => void;
|
|
108
|
+
onDragLeave?: (info: NodeDragEventParams<TreeDataType>) => void;
|
|
109
|
+
onDragEnd?: (info: NodeDragEventParams<TreeDataType>) => void;
|
|
110
|
+
onDrop?: (info: NodeDragEventParams<TreeDataType> & {
|
|
111
|
+
dragNode: EventDataNode<TreeDataType>;
|
|
113
112
|
dragNodesKeys: Key[];
|
|
114
113
|
dropPosition: number;
|
|
115
114
|
dropToGap: boolean;
|
|
@@ -119,18 +118,20 @@ export interface TreeProps<TreeDataType extends BasicDataNode = DataNode> {
|
|
|
119
118
|
* Do not use in your production code directly since this will be refactor.
|
|
120
119
|
*/
|
|
121
120
|
onActiveChange?: (key: Key) => void;
|
|
122
|
-
filterTreeNode?: (treeNode: EventDataNode) => boolean;
|
|
121
|
+
filterTreeNode?: (treeNode: EventDataNode<TreeDataType>) => boolean;
|
|
123
122
|
motion?: any;
|
|
124
123
|
switcherIcon?: IconType;
|
|
125
124
|
height?: number;
|
|
126
125
|
itemHeight?: number;
|
|
126
|
+
scrollWidth?: number;
|
|
127
|
+
itemScrollOffset?: number;
|
|
127
128
|
virtual?: boolean;
|
|
128
129
|
direction?: Direction;
|
|
129
130
|
rootClassName?: string;
|
|
130
131
|
rootStyle?: React.CSSProperties;
|
|
131
132
|
}
|
|
132
133
|
interface TreeState<TreeDataType extends BasicDataNode = DataNode> {
|
|
133
|
-
keyEntities:
|
|
134
|
+
keyEntities: KeyEntities<TreeDataType>;
|
|
134
135
|
indent: number | null;
|
|
135
136
|
selectedKeys: Key[];
|
|
136
137
|
checkedKeys: Key[];
|
|
@@ -147,15 +148,15 @@ interface TreeState<TreeDataType extends BasicDataNode = DataNode> {
|
|
|
147
148
|
dropTargetPos: string | null;
|
|
148
149
|
dropAllowed: boolean;
|
|
149
150
|
dragOverNodeKey: Key | null;
|
|
150
|
-
treeData:
|
|
151
|
-
flattenNodes: FlattenNode[];
|
|
151
|
+
treeData: TreeDataType[];
|
|
152
|
+
flattenNodes: FlattenNode<TreeDataType>[];
|
|
152
153
|
focused: boolean;
|
|
153
|
-
activeKey: Key;
|
|
154
|
+
activeKey: Key | null;
|
|
154
155
|
listChanging: boolean;
|
|
155
156
|
prevProps: TreeProps;
|
|
156
157
|
fieldNames: FieldNames;
|
|
157
158
|
}
|
|
158
|
-
declare class
|
|
159
|
+
declare class Tree<TreeDataType extends DataNode | BasicDataNode = DataNode> extends React.Component<TreeProps<TreeDataType>, TreeState<TreeDataType>> {
|
|
159
160
|
static defaultProps: {
|
|
160
161
|
prefixCls: string;
|
|
161
162
|
showLine: boolean;
|
|
@@ -172,24 +173,25 @@ declare class RCTree<TreeDataType extends BasicDataNode = DataNode> extends Comp
|
|
|
172
173
|
defaultExpandedKeys: any[];
|
|
173
174
|
defaultCheckedKeys: any[];
|
|
174
175
|
defaultSelectedKeys: any[];
|
|
175
|
-
dropIndicatorRender:
|
|
176
|
+
dropIndicatorRender: React.FC<Readonly<DropIndicatorProps>>;
|
|
176
177
|
allowDrop: () => boolean;
|
|
178
|
+
expandAction: boolean;
|
|
177
179
|
};
|
|
178
|
-
static TreeNode: React.FC<
|
|
180
|
+
static TreeNode: React.FC<Readonly<TreeNodeProps<DataNode>>>;
|
|
179
181
|
destroyed: boolean;
|
|
180
|
-
delayedDragEnterLogic: Record<
|
|
181
|
-
loadingRetryTimes: Record<
|
|
182
|
+
delayedDragEnterLogic: Record<SafeKey, number>;
|
|
183
|
+
loadingRetryTimes: Record<SafeKey, number>;
|
|
182
184
|
state: TreeState<TreeDataType>;
|
|
183
185
|
dragStartMousePosition: any;
|
|
184
|
-
|
|
186
|
+
dragNodeProps: TreeNodeProps<TreeDataType>;
|
|
185
187
|
currentMouseOverDroppableNodeKey: any;
|
|
186
188
|
listRef: React.RefObject<NodeListRef>;
|
|
187
189
|
componentDidMount(): void;
|
|
188
190
|
componentDidUpdate(): void;
|
|
189
191
|
onUpdated(): void;
|
|
190
192
|
componentWillUnmount(): void;
|
|
191
|
-
static getDerivedStateFromProps(props: TreeProps, prevState: TreeState): Partial<TreeState<DataNode
|
|
192
|
-
onNodeDragStart: NodeDragEventHandler<
|
|
193
|
+
static getDerivedStateFromProps(props: TreeProps, prevState: TreeState): Partial<TreeState<DataNode>>;
|
|
194
|
+
onNodeDragStart: NodeDragEventHandler<TreeDataType, HTMLDivElement>;
|
|
193
195
|
/**
|
|
194
196
|
* [Legacy] Select handler is smaller than node,
|
|
195
197
|
* so that this will trigger when drag enter node or select handler.
|
|
@@ -197,50 +199,50 @@ declare class RCTree<TreeDataType extends BasicDataNode = DataNode> extends Comp
|
|
|
197
199
|
* Better for use mouse move event to refresh drag state.
|
|
198
200
|
* But let's just keep it to avoid event trigger logic change.
|
|
199
201
|
*/
|
|
200
|
-
onNodeDragEnter: (event:
|
|
201
|
-
onNodeDragOver: (event:
|
|
202
|
-
onNodeDragLeave: NodeDragEventHandler
|
|
202
|
+
onNodeDragEnter: (event: React.DragEvent<HTMLDivElement>, nodeProps: TreeNodeProps<TreeDataType>) => void;
|
|
203
|
+
onNodeDragOver: (event: React.DragEvent<HTMLDivElement>, nodeProps: TreeNodeProps<TreeDataType>) => void;
|
|
204
|
+
onNodeDragLeave: NodeDragEventHandler<TreeDataType>;
|
|
203
205
|
onWindowDragEnd: (event: any) => void;
|
|
204
|
-
onNodeDragEnd: NodeDragEventHandler
|
|
205
|
-
onNodeDrop: (event:
|
|
206
|
+
onNodeDragEnd: NodeDragEventHandler<TreeDataType>;
|
|
207
|
+
onNodeDrop: (event: React.DragEvent<HTMLDivElement>, _: TreeNodeProps<TreeDataType>, outsideTree?: boolean) => void;
|
|
206
208
|
resetDragState(): void;
|
|
207
209
|
cleanDragState: () => void;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
210
|
+
triggerExpandActionExpand: NodeMouseEventHandler;
|
|
211
|
+
onNodeClick: NodeMouseEventHandler<TreeDataType>;
|
|
212
|
+
onNodeDoubleClick: NodeMouseEventHandler<TreeDataType>;
|
|
213
|
+
onNodeSelect: NodeMouseEventHandler<TreeDataType>;
|
|
214
|
+
onNodeCheck: (e: React.MouseEvent<HTMLSpanElement>, treeNode: EventDataNode<TreeDataType>, checked: boolean) => void;
|
|
215
|
+
onNodeLoad: (treeNode: EventDataNode<TreeDataType>) => Promise<void>;
|
|
216
|
+
onNodeMouseEnter: NodeMouseEventHandler<TreeDataType>;
|
|
217
|
+
onNodeMouseLeave: NodeMouseEventHandler<TreeDataType>;
|
|
218
|
+
onNodeContextMenu: NodeMouseEventHandler<TreeDataType>;
|
|
216
219
|
onFocus: React.FocusEventHandler<HTMLDivElement>;
|
|
217
220
|
onBlur: React.FocusEventHandler<HTMLDivElement>;
|
|
218
221
|
getTreeNodeRequiredProps: () => {
|
|
219
|
-
expandedKeys: Key[];
|
|
220
|
-
selectedKeys: Key[];
|
|
221
|
-
loadedKeys: Key[];
|
|
222
|
-
loadingKeys: Key[];
|
|
223
|
-
checkedKeys: Key[];
|
|
224
|
-
halfCheckedKeys: Key[];
|
|
225
|
-
dragOverNodeKey: Key;
|
|
222
|
+
expandedKeys: React.Key[];
|
|
223
|
+
selectedKeys: React.Key[];
|
|
224
|
+
loadedKeys: React.Key[];
|
|
225
|
+
loadingKeys: React.Key[];
|
|
226
|
+
checkedKeys: React.Key[];
|
|
227
|
+
halfCheckedKeys: React.Key[];
|
|
228
|
+
dragOverNodeKey: React.Key;
|
|
226
229
|
dropPosition: 0 | 1 | -1;
|
|
227
|
-
keyEntities:
|
|
230
|
+
keyEntities: KeyEntities<TreeDataType>;
|
|
228
231
|
};
|
|
229
232
|
/** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */
|
|
230
233
|
setExpandedKeys: (expandedKeys: Key[]) => void;
|
|
231
|
-
|
|
232
|
-
onNodeExpand: (e: any, treeNode: EventDataNode) => void;
|
|
234
|
+
onNodeExpand: (e: React.MouseEvent<HTMLDivElement>, treeNode: EventDataNode<TreeDataType>) => void;
|
|
233
235
|
onListChangeStart: () => void;
|
|
234
236
|
onListChangeEnd: () => void;
|
|
235
|
-
onActiveChange: (newActiveKey: Key) => void;
|
|
236
|
-
getActiveItem: () => FlattenNode
|
|
237
|
+
onActiveChange: (newActiveKey: Key | null) => void;
|
|
238
|
+
getActiveItem: () => FlattenNode<TreeDataType>;
|
|
237
239
|
offsetActiveKey: (offset: number) => void;
|
|
238
240
|
onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
|
|
239
241
|
/**
|
|
240
242
|
* Only update the value which is not in props
|
|
241
243
|
*/
|
|
242
|
-
setUncontrolledState: (state: Partial<TreeState
|
|
244
|
+
setUncontrolledState: (state: Partial<TreeState<TreeDataType>>, atomic?: boolean, forceState?: Partial<TreeState<TreeDataType>> | null) => void;
|
|
243
245
|
scrollTo: ScrollTo;
|
|
244
246
|
render(): React.JSX.Element;
|
|
245
247
|
}
|
|
246
|
-
export default
|
|
248
|
+
export default Tree;
|