@qsxy/element-plus-react 1.0.2 → 1.0.3

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.
Files changed (216) hide show
  1. package/dist/Alert/Alert.d.ts +7 -0
  2. package/dist/Alert/Alert.js +98 -0
  3. package/dist/Alert/index.d.ts +2 -0
  4. package/dist/Alert/index.js +1 -0
  5. package/dist/Alert/typings.d.ts +45 -0
  6. package/dist/Alert/typings.js +1 -0
  7. package/dist/Card/Card.js +5 -3
  8. package/dist/Cascader/useCascader.d.ts +0 -14
  9. package/dist/Cascader/useCascader.js +33 -32
  10. package/dist/Checkbox/Checkbox.js +3 -2
  11. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  12. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  13. package/dist/ConfigProvider/typings.d.ts +1 -1
  14. package/dist/Container/Main.d.ts +1 -1
  15. package/dist/Container/typings.d.ts +1 -1
  16. package/dist/Dialog/Dialog.js +5 -12
  17. package/dist/Input/Input.js +68 -43
  18. package/dist/Input/TextArea.js +1 -1
  19. package/dist/Input/typings.d.ts +42 -1
  20. package/dist/Input/utils.d.ts +1 -0
  21. package/dist/Input/utils.js +5 -1
  22. package/dist/InputNumber/InputNumber.js +351 -141
  23. package/dist/InputNumber/typings.d.ts +15 -1
  24. package/dist/Loading/Loading.js +5 -2
  25. package/dist/Menu/Menu.js +25 -1
  26. package/dist/Menu/MenuItem.js +4 -2
  27. package/dist/Menu/SubMenu.js +2 -2
  28. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  29. package/dist/Menu/typings.d.ts +2 -1
  30. package/dist/Message/Message.js +51 -23
  31. package/dist/Message/index.js +8 -10
  32. package/dist/Message/typings.d.ts +8 -5
  33. package/dist/MessageBox/MessageBox.js +52 -30
  34. package/dist/MessageBox/index.d.ts +2 -1
  35. package/dist/MessageBox/index.js +4 -2
  36. package/dist/MessageBox/typings.d.ts +3 -0
  37. package/dist/Notification/Notification.js +26 -19
  38. package/dist/Select/SelectContext.d.ts +2 -1
  39. package/dist/Select/SelectContext.js +2 -1
  40. package/dist/Select/SelectCore.js +13 -7
  41. package/dist/Select/SelectDropdown.js +23 -15
  42. package/dist/Select/index.d.ts +1 -1
  43. package/dist/Select/typings.d.ts +13 -9
  44. package/dist/Select/useSelect.d.ts +13 -10
  45. package/dist/Select/useSelect.js +34 -26
  46. package/dist/Space/Space.d.ts +4 -0
  47. package/dist/Space/Space.js +128 -0
  48. package/dist/Space/SpaceItem.d.ts +7 -0
  49. package/dist/Space/SpaceItem.js +14 -0
  50. package/dist/Space/index.d.ts +3 -0
  51. package/dist/Space/index.js +2 -0
  52. package/dist/Space/typings.d.ts +26 -0
  53. package/dist/Space/typings.js +1 -0
  54. package/dist/Space/useSpace.d.ts +7 -0
  55. package/dist/Space/useSpace.js +104 -0
  56. package/dist/Statistic/Statistic.d.ts +4 -0
  57. package/dist/Statistic/Statistic.js +92 -0
  58. package/dist/Statistic/index.d.ts +2 -0
  59. package/dist/Statistic/index.js +1 -0
  60. package/dist/Statistic/typings.d.ts +28 -0
  61. package/dist/Statistic/typings.js +1 -0
  62. package/dist/Switch/Switch.js +2 -2
  63. package/dist/Table/Table.js +3 -0
  64. package/dist/Table/typings.d.ts +2 -0
  65. package/dist/Tag/typings.d.ts +1 -1
  66. package/dist/Text/Text.d.ts +4 -0
  67. package/dist/Text/Text.js +84 -0
  68. package/dist/Text/index.d.ts +2 -0
  69. package/dist/Text/index.js +1 -0
  70. package/dist/Text/typings.d.ts +15 -0
  71. package/dist/Text/typings.js +1 -0
  72. package/dist/Tree/CollapseTransition.d.ts +7 -0
  73. package/dist/Tree/CollapseTransition.js +60 -0
  74. package/dist/Tree/Tree.d.ts +3 -140
  75. package/dist/Tree/Tree.js +350 -77
  76. package/dist/Tree/TreeContext.d.ts +9 -0
  77. package/dist/Tree/TreeContext.js +14 -0
  78. package/dist/Tree/TreeNode.d.ts +5 -3
  79. package/dist/Tree/TreeNode.js +321 -331
  80. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  81. package/dist/Tree/TreeNodeContent.js +22 -0
  82. package/dist/Tree/index.d.ts +3 -8
  83. package/dist/Tree/index.js +1 -4
  84. package/dist/Tree/model/node.d.ts +62 -0
  85. package/dist/Tree/model/node.js +601 -0
  86. package/dist/Tree/model/tree-store.d.ts +52 -0
  87. package/dist/Tree/model/tree-store.js +510 -0
  88. package/dist/Tree/model/useDragNode.d.ts +30 -0
  89. package/dist/Tree/model/useDragNode.js +293 -0
  90. package/dist/Tree/model/useKeydown.d.ts +0 -0
  91. package/dist/Tree/model/useKeydown.js +104 -0
  92. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  93. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  94. package/dist/Tree/model/util.d.ts +7 -0
  95. package/dist/Tree/model/util.js +24 -0
  96. package/dist/Tree/typings.d.ts +225 -114
  97. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  98. package/dist/TreeSelect/TreeSelect.js +90 -566
  99. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  100. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  101. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  102. package/dist/TreeSelect/cacheOptions.js +22 -0
  103. package/dist/TreeSelect/index.d.ts +0 -1
  104. package/dist/TreeSelect/typings.d.ts +11 -63
  105. package/dist/TreeSelect/useSelect.d.ts +125 -0
  106. package/dist/TreeSelect/useSelect.js +104 -0
  107. package/dist/TreeSelect/useTree.d.ts +130 -0
  108. package/dist/TreeSelect/useTree.js +285 -0
  109. package/dist/TreeSelect/utils.d.ts +10 -0
  110. package/dist/TreeSelect/utils.js +38 -0
  111. package/dist/Upload/UploadContent.js +2 -0
  112. package/dist/Upload/ajax.js +3 -0
  113. package/dist/Upload/typings.d.ts +4 -0
  114. package/dist/Util/aria.js +12 -12
  115. package/dist/Util/base.d.ts +5 -0
  116. package/dist/Util/base.js +140 -1
  117. package/dist/config/Constants.d.ts +3 -0
  118. package/dist/config/Constants.js +8 -0
  119. package/dist/hooks/index.d.ts +1 -0
  120. package/dist/hooks/index.js +1 -0
  121. package/dist/hooks/popperPropsUtils.js +1 -1
  122. package/dist/hooks/treePropsUtils.d.ts +3 -3
  123. package/dist/hooks/treePropsUtils.js +2 -2
  124. package/dist/hooks/useConfigProvider.d.ts +27 -0
  125. package/dist/hooks/useConfigProvider.js +78 -0
  126. package/dist/hooks/useResizeObserver.js +6 -6
  127. package/dist/index.css +1 -1
  128. package/dist/index.d.ts +18 -11
  129. package/dist/index.js +11 -5
  130. package/package.json +1 -1
  131. package/theme-chalk/alert.scss +115 -0
  132. package/theme-chalk/aside.scss +8 -8
  133. package/theme-chalk/button-group.scss +80 -80
  134. package/theme-chalk/button.scss +304 -304
  135. package/theme-chalk/calendar/date-table.scss +164 -164
  136. package/theme-chalk/checkbox.scss +34 -0
  137. package/theme-chalk/color/index.scss +20 -20
  138. package/theme-chalk/common/transition.scss +142 -142
  139. package/theme-chalk/container.scss +14 -14
  140. package/theme-chalk/dark/css-vars.scss +39 -39
  141. package/theme-chalk/dark/var.scss +225 -225
  142. package/theme-chalk/date-picker.scss +12 -12
  143. package/theme-chalk/drawer.scss +1 -0
  144. package/theme-chalk/footer.scss +12 -12
  145. package/theme-chalk/header.scss +12 -12
  146. package/theme-chalk/index.scss +4 -0
  147. package/theme-chalk/input/input-range.scss +2 -1
  148. package/theme-chalk/input/input.scss +439 -424
  149. package/theme-chalk/input-number.bak +172 -0
  150. package/theme-chalk/input-number.scss +192 -172
  151. package/theme-chalk/link.scss +87 -87
  152. package/theme-chalk/main.scss +14 -14
  153. package/theme-chalk/menu.scss +353 -353
  154. package/theme-chalk/message.scss +104 -178
  155. package/theme-chalk/mixins/_button.scss +224 -224
  156. package/theme-chalk/mixins/_col.scss +33 -33
  157. package/theme-chalk/mixins/_var.scss +67 -67
  158. package/theme-chalk/mixins/config.scss +5 -5
  159. package/theme-chalk/mixins/function.scss +99 -99
  160. package/theme-chalk/mixins/mixins.scss +240 -240
  161. package/theme-chalk/mixins/utils.scss +39 -39
  162. package/theme-chalk/notification.bak +156 -0
  163. package/theme-chalk/notification.scss +109 -156
  164. package/theme-chalk/popper.scss +104 -104
  165. package/theme-chalk/radio-button.scss +169 -169
  166. package/theme-chalk/select/index.scss +278 -272
  167. package/theme-chalk/space.scss +20 -0
  168. package/theme-chalk/statistic.scss +35 -0
  169. package/theme-chalk/switch.scss +300 -300
  170. package/theme-chalk/tag.scss +181 -181
  171. package/theme-chalk/text.scss +48 -0
  172. package/theme-chalk/transition.scss +34 -4
  173. package/theme-chalk/tree-select.scss +41 -25
  174. package/theme-chalk/tree.scss +136 -0
  175. package/theme-chalk/var.scss +83 -83
  176. package/dist/Input/Input.1.d.ts +0 -16
  177. package/dist/Input/Input.1.js +0 -376
  178. package/dist/Tree/DirectoryTree.d.ts +0 -15
  179. package/dist/Tree/DirectoryTree.js +0 -183
  180. package/dist/Tree/DropIndicator.d.ts +0 -8
  181. package/dist/Tree/DropIndicator.js +0 -34
  182. package/dist/Tree/Indent.d.ts +0 -9
  183. package/dist/Tree/Indent.js +0 -25
  184. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  185. package/dist/Tree/MotionTreeNode.js +0 -125
  186. package/dist/Tree/NodeList.d.ts +0 -50
  187. package/dist/Tree/NodeList.js +0 -301
  188. package/dist/Tree/RCTree.d.ts +0 -248
  189. package/dist/Tree/RCTree.js +0 -1216
  190. package/dist/Tree/contextTypes.d.ts +0 -69
  191. package/dist/Tree/contextTypes.js +0 -9
  192. package/dist/Tree/typings.tsx--bak +0 -245
  193. package/dist/Tree/useUnmount.d.ts +0 -5
  194. package/dist/Tree/useUnmount.js +0 -34
  195. package/dist/Tree/util.d.ts +0 -51
  196. package/dist/Tree/util.js +0 -303
  197. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  198. package/dist/Tree/utils/conductUtil.js +0 -209
  199. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  200. package/dist/Tree/utils/dictUtil.js +0 -75
  201. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  202. package/dist/Tree/utils/diffUtil.js +0 -48
  203. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  204. package/dist/Tree/utils/dropIndicator.js +0 -36
  205. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  206. package/dist/Tree/utils/iconUtil.js +0 -62
  207. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  208. package/dist/Tree/utils/keyUtil.js +0 -3
  209. package/dist/Tree/utils/motion.d.ts +0 -10
  210. package/dist/Tree/utils/motion.js +0 -54
  211. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  212. package/dist/Tree/utils/pickAttrs.js +0 -51
  213. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  214. package/dist/Tree/utils/treeUtil.js +0 -364
  215. package/dist/TreeSelect/Utils.d.ts +0 -3
  216. package/dist/TreeSelect/Utils.js +0 -20
@@ -1,301 +0,0 @@
1
- var _excluded = ["prefixCls", "data", "selectable", "checkable", "expandedKeys", "selectedKeys", "checkedKeys", "loadedKeys", "loadingKeys", "halfCheckedKeys", "keyEntities", "disabled", "dragging", "dragOverNodeKey", "dropPosition", "motion", "height", "itemHeight", "virtual", "scrollWidth", "focusable", "activeItem", "focused", "tabIndex", "onKeyDown", "onFocus", "onBlur", "onActiveChange", "onListChangeStart", "onListChangeEnd"];
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
4
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
9
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
11
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
- /**
13
- * Handle virtual list of the TreeNodes.
14
- */
15
-
16
- import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';
17
- import VirtualList from 'rc-virtual-list';
18
- import * as React from 'react';
19
- import MotionTreeNode from "./MotionTreeNode";
20
- import { findExpandedKeys, getExpandRange } from "./utils/diffUtil";
21
- import { getKey, getTreeNodeProps } from "./utils/treeUtil";
22
- var HIDDEN_STYLE = {
23
- width: 0,
24
- height: 0,
25
- display: 'flex',
26
- overflow: 'hidden',
27
- opacity: 0,
28
- border: 0,
29
- padding: 0,
30
- margin: 0
31
- };
32
-
33
- // eslint-disable-next-line @typescript-eslint/no-empty-function
34
- var noop = function noop() {};
35
- export var MOTION_KEY = "RC_TREE_MOTION_".concat(Math.random());
36
- var MotionNode = {
37
- key: MOTION_KEY
38
- };
39
- export var MotionEntity = {
40
- key: MOTION_KEY,
41
- level: 0,
42
- index: 0,
43
- pos: '0',
44
- node: MotionNode,
45
- nodes: [MotionNode]
46
- };
47
- var MotionFlattenData = {
48
- parent: null,
49
- children: [],
50
- pos: MotionEntity.pos,
51
- data: MotionNode,
52
- title: null,
53
- key: MOTION_KEY,
54
- /** Hold empty list here since we do not use it */
55
- isStart: [],
56
- isEnd: []
57
- };
58
- /**
59
- * We only need get visible content items to play the animation.
60
- */
61
- export function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {
62
- if (virtual === false || !height) {
63
- return list;
64
- }
65
- return list.slice(0, Math.ceil(height / itemHeight) + 1);
66
- }
67
- function itemKey(item) {
68
- var key = item.key,
69
- pos = item.pos;
70
- return getKey(key, pos);
71
- }
72
- function getAccessibilityPath(item) {
73
- var path = String(item.data.key);
74
- var current = item;
75
- while (current.parent) {
76
- current = current.parent;
77
- path = "".concat(current.data.key, " > ").concat(path);
78
- }
79
- return path;
80
- }
81
- var NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {
82
- var prefixCls = props.prefixCls,
83
- data = props.data,
84
- selectable = props.selectable,
85
- checkable = props.checkable,
86
- expandedKeys = props.expandedKeys,
87
- selectedKeys = props.selectedKeys,
88
- checkedKeys = props.checkedKeys,
89
- loadedKeys = props.loadedKeys,
90
- loadingKeys = props.loadingKeys,
91
- halfCheckedKeys = props.halfCheckedKeys,
92
- keyEntities = props.keyEntities,
93
- disabled = props.disabled,
94
- dragging = props.dragging,
95
- dragOverNodeKey = props.dragOverNodeKey,
96
- dropPosition = props.dropPosition,
97
- motion = props.motion,
98
- height = props.height,
99
- itemHeight = props.itemHeight,
100
- virtual = props.virtual,
101
- scrollWidth = props.scrollWidth,
102
- focusable = props.focusable,
103
- activeItem = props.activeItem,
104
- focused = props.focused,
105
- tabIndex = props.tabIndex,
106
- onKeyDown = props.onKeyDown,
107
- onFocus = props.onFocus,
108
- onBlur = props.onBlur,
109
- onActiveChange = props.onActiveChange,
110
- onListChangeStart = props.onListChangeStart,
111
- onListChangeEnd = props.onListChangeEnd,
112
- domProps = _objectWithoutProperties(props, _excluded);
113
-
114
- // =============================== Ref ================================
115
- var listRef = React.useRef(null);
116
- var indentMeasurerRef = React.useRef(null);
117
- React.useImperativeHandle(ref, function () {
118
- return {
119
- scrollTo: function scrollTo(scroll) {
120
- listRef.current.scrollTo(scroll);
121
- },
122
- getIndentWidth: function getIndentWidth() {
123
- return indentMeasurerRef.current.offsetWidth;
124
- }
125
- };
126
- });
127
-
128
- // ============================== Motion ==============================
129
- var _React$useState = React.useState(expandedKeys),
130
- _React$useState2 = _slicedToArray(_React$useState, 2),
131
- prevExpandedKeys = _React$useState2[0],
132
- setPrevExpandedKeys = _React$useState2[1];
133
- var _React$useState3 = React.useState(data),
134
- _React$useState4 = _slicedToArray(_React$useState3, 2),
135
- prevData = _React$useState4[0],
136
- setPrevData = _React$useState4[1];
137
- var _React$useState5 = React.useState(data),
138
- _React$useState6 = _slicedToArray(_React$useState5, 2),
139
- transitionData = _React$useState6[0],
140
- setTransitionData = _React$useState6[1];
141
- var _React$useState7 = React.useState([]),
142
- _React$useState8 = _slicedToArray(_React$useState7, 2),
143
- transitionRange = _React$useState8[0],
144
- setTransitionRange = _React$useState8[1];
145
- var _React$useState9 = React.useState(null),
146
- _React$useState10 = _slicedToArray(_React$useState9, 2),
147
- motionType = _React$useState10[0],
148
- setMotionType = _React$useState10[1];
149
-
150
- // When motion end but data change, this will makes data back to previous one
151
- var dataRef = React.useRef(data);
152
- dataRef.current = data;
153
- function onMotionEnd() {
154
- var latestData = dataRef.current;
155
- setPrevData(latestData);
156
- setTransitionData(latestData);
157
- setTransitionRange([]);
158
- setMotionType(null);
159
- onListChangeEnd();
160
- }
161
-
162
- // Do animation if expanded keys changed
163
- // layoutEffect here to avoid blink of node removing
164
- useLayoutEffect(function () {
165
- setPrevExpandedKeys(expandedKeys);
166
- var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);
167
- if (diffExpanded.key !== null) {
168
- if (diffExpanded.add) {
169
- var keyIndex = prevData.findIndex(function (_ref) {
170
- var key = _ref.key;
171
- return key === diffExpanded.key;
172
- });
173
- var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);
174
- var newTransitionData = prevData.slice();
175
- newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);
176
- setTransitionData(newTransitionData);
177
- setTransitionRange(rangeNodes);
178
- setMotionType('show');
179
- } else {
180
- var _keyIndex = data.findIndex(function (_ref2) {
181
- var key = _ref2.key;
182
- return key === diffExpanded.key;
183
- });
184
- var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);
185
- var _newTransitionData = data.slice();
186
- _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);
187
- setTransitionData(_newTransitionData);
188
- setTransitionRange(_rangeNodes);
189
- setMotionType('hide');
190
- }
191
- } else if (prevData !== data) {
192
- // If whole data changed, we just refresh the list
193
- setPrevData(data);
194
- setTransitionData(data);
195
- }
196
- }, [expandedKeys, data]);
197
-
198
- // We should clean up motion if is changed by dragging
199
- React.useEffect(function () {
200
- if (!dragging) {
201
- onMotionEnd();
202
- }
203
- }, [dragging]);
204
- var mergedData = motion ? transitionData : data;
205
- var treeNodeRequiredProps = {
206
- expandedKeys: expandedKeys,
207
- selectedKeys: selectedKeys,
208
- loadedKeys: loadedKeys,
209
- loadingKeys: loadingKeys,
210
- checkedKeys: checkedKeys,
211
- halfCheckedKeys: halfCheckedKeys,
212
- dragOverNodeKey: dragOverNodeKey,
213
- dropPosition: dropPosition,
214
- keyEntities: keyEntities
215
- };
216
- return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement("span", {
217
- style: HIDDEN_STYLE,
218
- "aria-live": "assertive"
219
- }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
220
- style: HIDDEN_STYLE,
221
- disabled: focusable === false || disabled,
222
- tabIndex: focusable !== false ? tabIndex : null,
223
- onKeyDown: onKeyDown,
224
- onFocus: onFocus,
225
- onBlur: onBlur,
226
- value: "",
227
- onChange: noop,
228
- "aria-label": "for screen reader"
229
- })), /*#__PURE__*/React.createElement("div", {
230
- className: "".concat(prefixCls, "-treenode"),
231
- "aria-hidden": true,
232
- style: {
233
- position: 'absolute',
234
- pointerEvents: 'none',
235
- visibility: 'hidden',
236
- height: 0,
237
- overflow: 'hidden',
238
- border: 0,
239
- padding: 0
240
- }
241
- }, /*#__PURE__*/React.createElement("div", {
242
- className: "".concat(prefixCls, "-indent")
243
- }, /*#__PURE__*/React.createElement("div", {
244
- ref: indentMeasurerRef,
245
- className: "".concat(prefixCls, "-indent-unit")
246
- }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {
247
- data: mergedData,
248
- itemKey: itemKey,
249
- height: height,
250
- fullHeight: false,
251
- virtual: virtual,
252
- itemHeight: itemHeight,
253
- scrollWidth: scrollWidth,
254
- prefixCls: "".concat(prefixCls, "-list"),
255
- ref: listRef,
256
- role: "tree",
257
- onVisibleChange: function onVisibleChange(originList) {
258
- // The best match is using `fullList` - `originList` = `restList`
259
- // and check the `restList` to see if has the MOTION_KEY node
260
- // but this will cause performance issue for long list compare
261
- // we just check `originList` and repeat trigger `onMotionEnd`
262
- if (originList.every(function (item) {
263
- return itemKey(item) !== MOTION_KEY;
264
- })) {
265
- onMotionEnd();
266
- }
267
- }
268
- }), function (treeNode) {
269
- var pos = treeNode.pos,
270
- restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),
271
- title = treeNode.title,
272
- key = treeNode.key,
273
- isStart = treeNode.isStart,
274
- isEnd = treeNode.isEnd;
275
- var mergedKey = getKey(key, pos);
276
- delete restProps.key;
277
- delete restProps.children;
278
- var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);
279
- return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {
280
- title: title,
281
- active: !!activeItem && key === activeItem.key,
282
- pos: pos,
283
- data: treeNode.data,
284
- isStart: isStart,
285
- isEnd: isEnd,
286
- motion: motion,
287
- motionNodes: key === MOTION_KEY ? transitionRange : null,
288
- motionType: motionType,
289
- onMotionStart: onListChangeStart,
290
- onMotionEnd: onMotionEnd,
291
- treeNodeRequiredProps: treeNodeRequiredProps,
292
- onMouseMove: function onMouseMove() {
293
- onActiveChange(null);
294
- }
295
- }));
296
- }));
297
- });
298
- if (process.env.NODE_ENV !== 'production') {
299
- NodeList.displayName = 'NodeList';
300
- }
301
- export default NodeList;
@@ -1,248 +0,0 @@
1
- import * as React from 'react';
2
- import { DropIndicatorProps } from './DropIndicator';
3
- import { type NodeListRef } from './NodeList';
4
- import { NodeDragEventHandler, NodeDragEventParams, NodeMouseEventHandler, NodeMouseEventParams } from './contextTypes';
5
- import type { BasicDataNode, DataNode, Direction, EventDataNode, FieldNames, FlattenNode, IconType, Key, KeyEntities, SafeKey, ScrollTo, TreeNodeProps } from './typings';
6
- export interface CheckInfo<TreeDataType extends BasicDataNode = DataNode> {
7
- event: 'check';
8
- node: EventDataNode<TreeDataType>;
9
- checked: boolean;
10
- nativeEvent: MouseEvent;
11
- checkedNodes: TreeDataType[];
12
- checkedNodesPositions?: {
13
- node: TreeDataType;
14
- pos: string;
15
- }[];
16
- halfCheckedKeys?: Key[];
17
- }
18
- export interface AllowDropOptions<TreeDataType extends BasicDataNode = DataNode> {
19
- dragNode: TreeDataType;
20
- dropNode: TreeDataType;
21
- dropPosition: -1 | 0 | 1;
22
- }
23
- export type AllowDrop<TreeDataType extends BasicDataNode = DataNode> = (options: AllowDropOptions<TreeDataType>) => boolean;
24
- export type DraggableFn = (node: DataNode) => boolean;
25
- export type DraggableConfig = {
26
- icon?: React.ReactNode | false;
27
- nodeDraggable?: DraggableFn;
28
- };
29
- export type ExpandAction = false | 'click' | 'doubleClick';
30
- export type SemanticName = 'itemIcon' | 'item' | 'itemTitle';
31
- export interface TreeProps<TreeDataType extends BasicDataNode = DataNode> {
32
- prefixCls: string;
33
- className?: string;
34
- style?: React.CSSProperties;
35
- styles?: Partial<Record<SemanticName, React.CSSProperties>>;
36
- classNames?: Partial<Record<SemanticName, string>>;
37
- focusable?: boolean;
38
- activeKey?: Key | null;
39
- tabIndex?: number;
40
- children?: React.ReactNode;
41
- treeData?: TreeDataType[];
42
- fieldNames?: FieldNames;
43
- showLine?: boolean;
44
- showIcon?: boolean;
45
- icon?: IconType;
46
- selectable?: boolean;
47
- expandAction?: ExpandAction;
48
- disabled?: boolean;
49
- multiple?: boolean;
50
- checkable?: boolean | React.ReactNode;
51
- checkStrictly?: boolean;
52
- draggable?: DraggableFn | boolean | DraggableConfig;
53
- defaultExpandParent?: boolean;
54
- autoExpandParent?: boolean;
55
- defaultExpandAll?: boolean;
56
- defaultExpandedKeys?: Key[];
57
- expandedKeys?: Key[];
58
- defaultCheckedKeys?: Key[];
59
- checkedKeys?: Key[] | {
60
- checked: Key[];
61
- halfChecked: Key[];
62
- };
63
- defaultSelectedKeys?: Key[];
64
- selectedKeys?: Key[];
65
- allowDrop?: AllowDrop<TreeDataType>;
66
- titleRender?: (node: TreeDataType) => React.ReactNode;
67
- dropIndicatorRender?: (props: DropIndicatorProps) => React.ReactNode;
68
- onFocus?: React.FocusEventHandler<HTMLDivElement>;
69
- onBlur?: React.FocusEventHandler<HTMLDivElement>;
70
- onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
71
- onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
72
- onClick?: NodeMouseEventHandler<TreeDataType>;
73
- onDoubleClick?: NodeMouseEventHandler<TreeDataType>;
74
- onScroll?: React.UIEventHandler<HTMLElement>;
75
- onExpand?: (expandedKeys: Key[], info: {
76
- node: EventDataNode<TreeDataType>;
77
- expanded: boolean;
78
- nativeEvent: MouseEvent;
79
- }) => void;
80
- onCheck?: (checked: {
81
- checked: Key[];
82
- halfChecked: Key[];
83
- } | Key[], info: CheckInfo<TreeDataType>) => void;
84
- onSelect?: (selectedKeys: Key[], info: {
85
- event: 'select';
86
- selected: boolean;
87
- node: EventDataNode<TreeDataType>;
88
- selectedNodes: TreeDataType[];
89
- nativeEvent: MouseEvent;
90
- }) => void;
91
- onLoad?: (loadedKeys: Key[], info: {
92
- event: 'load';
93
- node: EventDataNode<TreeDataType>;
94
- }) => void;
95
- loadData?: (treeNode: EventDataNode<TreeDataType>) => Promise<any>;
96
- loadedKeys?: Key[];
97
- onMouseEnter?: (info: NodeMouseEventParams<TreeDataType>) => void;
98
- onMouseLeave?: (info: NodeMouseEventParams<TreeDataType>) => void;
99
- onRightClick?: (info: {
100
- event: React.MouseEvent;
101
- node: EventDataNode<TreeDataType>;
102
- }) => void;
103
- onDragStart?: (info: NodeDragEventParams<TreeDataType>) => void;
104
- onDragEnter?: (info: NodeDragEventParams<TreeDataType> & {
105
- expandedKeys: Key[];
106
- }) => void;
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>;
112
- dragNodesKeys: Key[];
113
- dropPosition: number;
114
- dropToGap: boolean;
115
- }) => void;
116
- /**
117
- * Used for `rc-tree-select` only.
118
- * Do not use in your production code directly since this will be refactor.
119
- */
120
- onActiveChange?: (key: Key) => void;
121
- filterTreeNode?: (treeNode: EventDataNode<TreeDataType>) => boolean;
122
- motion?: any;
123
- switcherIcon?: IconType;
124
- height?: number;
125
- itemHeight?: number;
126
- scrollWidth?: number;
127
- itemScrollOffset?: number;
128
- virtual?: boolean;
129
- direction?: Direction;
130
- rootClassName?: string;
131
- rootStyle?: React.CSSProperties;
132
- }
133
- interface TreeState<TreeDataType extends BasicDataNode = DataNode> {
134
- keyEntities: KeyEntities<TreeDataType>;
135
- indent: number | null;
136
- selectedKeys: Key[];
137
- checkedKeys: Key[];
138
- halfCheckedKeys: Key[];
139
- loadedKeys: Key[];
140
- loadingKeys: Key[];
141
- expandedKeys: Key[];
142
- draggingNodeKey: Key;
143
- dragChildrenKeys: Key[];
144
- dropPosition: -1 | 0 | 1 | null;
145
- dropLevelOffset: number | null;
146
- dropContainerKey: Key | null;
147
- dropTargetKey: Key | null;
148
- dropTargetPos: string | null;
149
- dropAllowed: boolean;
150
- dragOverNodeKey: Key | null;
151
- treeData: TreeDataType[];
152
- flattenNodes: FlattenNode<TreeDataType>[];
153
- focused: boolean;
154
- activeKey: Key | null;
155
- listChanging: boolean;
156
- prevProps: TreeProps;
157
- fieldNames: FieldNames;
158
- }
159
- declare class Tree<TreeDataType extends DataNode | BasicDataNode = DataNode> extends React.Component<TreeProps<TreeDataType>, TreeState<TreeDataType>> {
160
- static defaultProps: {
161
- prefixCls: string;
162
- showLine: boolean;
163
- showIcon: boolean;
164
- selectable: boolean;
165
- multiple: boolean;
166
- checkable: boolean;
167
- disabled: boolean;
168
- checkStrictly: boolean;
169
- draggable: boolean;
170
- defaultExpandParent: boolean;
171
- autoExpandParent: boolean;
172
- defaultExpandAll: boolean;
173
- defaultExpandedKeys: any[];
174
- defaultCheckedKeys: any[];
175
- defaultSelectedKeys: any[];
176
- dropIndicatorRender: React.FC<Readonly<DropIndicatorProps>>;
177
- allowDrop: () => boolean;
178
- expandAction: boolean;
179
- };
180
- static TreeNode: React.FC<Readonly<TreeNodeProps<DataNode>>>;
181
- destroyed: boolean;
182
- delayedDragEnterLogic: Record<SafeKey, number>;
183
- loadingRetryTimes: Record<SafeKey, number>;
184
- state: TreeState<TreeDataType>;
185
- dragStartMousePosition: any;
186
- dragNodeProps: TreeNodeProps<TreeDataType>;
187
- currentMouseOverDroppableNodeKey: any;
188
- listRef: React.RefObject<NodeListRef>;
189
- componentDidMount(): void;
190
- componentDidUpdate(): void;
191
- onUpdated(): void;
192
- componentWillUnmount(): void;
193
- static getDerivedStateFromProps(props: TreeProps, prevState: TreeState): Partial<TreeState<DataNode>>;
194
- onNodeDragStart: NodeDragEventHandler<TreeDataType, HTMLDivElement>;
195
- /**
196
- * [Legacy] Select handler is smaller than node,
197
- * so that this will trigger when drag enter node or select handler.
198
- * This is a little tricky if customize css without padding.
199
- * Better for use mouse move event to refresh drag state.
200
- * But let's just keep it to avoid event trigger logic change.
201
- */
202
- onNodeDragEnter: (event: React.DragEvent<HTMLDivElement>, nodeProps: TreeNodeProps<TreeDataType>) => void;
203
- onNodeDragOver: (event: React.DragEvent<HTMLDivElement>, nodeProps: TreeNodeProps<TreeDataType>) => void;
204
- onNodeDragLeave: NodeDragEventHandler<TreeDataType>;
205
- onWindowDragEnd: (event: any) => void;
206
- onNodeDragEnd: NodeDragEventHandler<TreeDataType>;
207
- onNodeDrop: (event: React.DragEvent<HTMLDivElement>, _: TreeNodeProps<TreeDataType>, outsideTree?: boolean) => void;
208
- resetDragState(): void;
209
- cleanDragState: () => void;
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>;
219
- onFocus: React.FocusEventHandler<HTMLDivElement>;
220
- onBlur: React.FocusEventHandler<HTMLDivElement>;
221
- getTreeNodeRequiredProps: () => {
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;
229
- dropPosition: 0 | 1 | -1;
230
- keyEntities: KeyEntities<TreeDataType>;
231
- };
232
- /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */
233
- setExpandedKeys: (expandedKeys: Key[]) => void;
234
- onNodeExpand: (e: React.MouseEvent<HTMLDivElement>, treeNode: EventDataNode<TreeDataType>) => void;
235
- onListChangeStart: () => void;
236
- onListChangeEnd: () => void;
237
- onActiveChange: (newActiveKey: Key | null) => void;
238
- getActiveItem: () => FlattenNode<TreeDataType>;
239
- offsetActiveKey: (offset: number) => void;
240
- onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
241
- /**
242
- * Only update the value which is not in props
243
- */
244
- setUncontrolledState: (state: Partial<TreeState<TreeDataType>>, atomic?: boolean, forceState?: Partial<TreeState<TreeDataType>> | null) => void;
245
- scrollTo: ScrollTo;
246
- render(): React.JSX.Element;
247
- }
248
- export default Tree;