@qsxy/element-plus-react 1.0.1 → 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 (256) 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/Calendar/Calendar.js +12 -3
  8. package/dist/Calendar/Footer.js +4 -2
  9. package/dist/Calendar/QuarterPanel.d.ts +4 -0
  10. package/dist/Calendar/QuarterPanel.js +109 -0
  11. package/dist/Calendar/WeekPanel.js +1 -1
  12. package/dist/Calendar/typings.d.ts +1 -1
  13. package/dist/Card/Card.js +13 -6
  14. package/dist/Card/typings.d.ts +1 -1
  15. package/dist/Cascader/Cascader.js +1 -1
  16. package/dist/Cascader/useCascader.d.ts +0 -14
  17. package/dist/Cascader/useCascader.js +33 -32
  18. package/dist/Checkbox/Checkbox.js +3 -2
  19. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  20. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  21. package/dist/ConfigProvider/typings.d.ts +1 -1
  22. package/dist/Container/Main.d.ts +1 -1
  23. package/dist/Container/typings.d.ts +1 -1
  24. package/dist/DatePicker/DatePicker.js +38 -12
  25. package/dist/DatePicker/DateRangePicker.js +27 -9
  26. package/dist/DatePicker/main.js +1 -1
  27. package/dist/DatePicker/typings.d.ts +1 -1
  28. package/dist/DateTimePicker/DateTimePicker.js +2 -2
  29. package/dist/Dialog/Dialog.js +5 -12
  30. package/dist/Input/Input.js +190 -149
  31. package/dist/Input/InputRange.js +1 -1
  32. package/dist/Input/TextArea.js +87 -12
  33. package/dist/Input/typings.d.ts +56 -5
  34. package/dist/Input/useComposition.d.ts +23 -0
  35. package/dist/Input/useComposition.js +63 -0
  36. package/dist/Input/utils.d.ts +7 -0
  37. package/dist/Input/utils.js +95 -0
  38. package/dist/InputNumber/InputNumber.js +351 -141
  39. package/dist/InputNumber/typings.d.ts +16 -2
  40. package/dist/Loading/Loading.js +5 -2
  41. package/dist/Menu/Menu.js +25 -1
  42. package/dist/Menu/MenuItem.js +4 -2
  43. package/dist/Menu/SubMenu.js +2 -2
  44. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  45. package/dist/Menu/typings.d.ts +2 -1
  46. package/dist/Message/Message.js +51 -23
  47. package/dist/Message/index.js +8 -10
  48. package/dist/Message/typings.d.ts +8 -5
  49. package/dist/MessageBox/MessageBox.js +52 -30
  50. package/dist/MessageBox/index.d.ts +2 -1
  51. package/dist/MessageBox/index.js +4 -2
  52. package/dist/MessageBox/typings.d.ts +3 -0
  53. package/dist/Notification/Notification.js +26 -19
  54. package/dist/Select/Option.js +30 -14
  55. package/dist/Select/SelectContext.d.ts +5 -5
  56. package/dist/Select/SelectContext.js +2 -1
  57. package/dist/Select/SelectCore.d.ts +2 -2
  58. package/dist/Select/SelectCore.js +172 -449
  59. package/dist/Select/SelectDropdown.js +85 -155
  60. package/dist/Select/index.d.ts +1 -1
  61. package/dist/Select/typings.d.ts +52 -22
  62. package/dist/Select/useSelect.d.ts +128 -0
  63. package/dist/Select/useSelect.js +524 -0
  64. package/dist/Space/Space.d.ts +4 -0
  65. package/dist/Space/Space.js +128 -0
  66. package/dist/Space/SpaceItem.d.ts +7 -0
  67. package/dist/Space/SpaceItem.js +14 -0
  68. package/dist/Space/index.d.ts +3 -0
  69. package/dist/Space/index.js +2 -0
  70. package/dist/Space/typings.d.ts +26 -0
  71. package/dist/Space/typings.js +1 -0
  72. package/dist/Space/useSpace.d.ts +7 -0
  73. package/dist/Space/useSpace.js +104 -0
  74. package/dist/Statistic/Statistic.d.ts +4 -0
  75. package/dist/Statistic/Statistic.js +92 -0
  76. package/dist/Statistic/index.d.ts +2 -0
  77. package/dist/Statistic/index.js +1 -0
  78. package/dist/Statistic/typings.d.ts +28 -0
  79. package/dist/Statistic/typings.js +1 -0
  80. package/dist/Switch/Switch.js +2 -2
  81. package/dist/Table/Table.js +3 -0
  82. package/dist/Table/typings.d.ts +2 -0
  83. package/dist/Table/util.js +6 -5
  84. package/dist/Tag/Tag.js +22 -17
  85. package/dist/Tag/typings.d.ts +1 -1
  86. package/dist/Text/Text.d.ts +4 -0
  87. package/dist/Text/Text.js +84 -0
  88. package/dist/Text/index.d.ts +2 -0
  89. package/dist/Text/index.js +1 -0
  90. package/dist/Text/typings.d.ts +15 -0
  91. package/dist/Text/typings.js +1 -0
  92. package/dist/TimePicker/TimePicker.js +2 -2
  93. package/dist/Tree/CollapseTransition.d.ts +7 -0
  94. package/dist/Tree/CollapseTransition.js +60 -0
  95. package/dist/Tree/Tree.d.ts +3 -140
  96. package/dist/Tree/Tree.js +350 -77
  97. package/dist/Tree/TreeContext.d.ts +9 -0
  98. package/dist/Tree/TreeContext.js +14 -0
  99. package/dist/Tree/TreeNode.d.ts +5 -3
  100. package/dist/Tree/TreeNode.js +321 -331
  101. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  102. package/dist/Tree/TreeNodeContent.js +22 -0
  103. package/dist/Tree/index.d.ts +3 -8
  104. package/dist/Tree/index.js +1 -4
  105. package/dist/Tree/model/node.d.ts +62 -0
  106. package/dist/Tree/model/node.js +601 -0
  107. package/dist/Tree/model/tree-store.d.ts +52 -0
  108. package/dist/Tree/model/tree-store.js +510 -0
  109. package/dist/Tree/model/useDragNode.d.ts +30 -0
  110. package/dist/Tree/model/useDragNode.js +293 -0
  111. package/dist/Tree/model/useKeydown.d.ts +0 -0
  112. package/dist/Tree/model/useKeydown.js +104 -0
  113. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  114. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  115. package/dist/Tree/model/util.d.ts +7 -0
  116. package/dist/Tree/model/util.js +24 -0
  117. package/dist/Tree/typings.d.ts +225 -114
  118. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  119. package/dist/TreeSelect/TreeSelect.js +90 -566
  120. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  121. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  122. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  123. package/dist/TreeSelect/cacheOptions.js +22 -0
  124. package/dist/TreeSelect/index.d.ts +0 -1
  125. package/dist/TreeSelect/typings.d.ts +11 -63
  126. package/dist/TreeSelect/useSelect.d.ts +125 -0
  127. package/dist/TreeSelect/useSelect.js +104 -0
  128. package/dist/TreeSelect/useTree.d.ts +130 -0
  129. package/dist/TreeSelect/useTree.js +285 -0
  130. package/dist/TreeSelect/utils.d.ts +10 -0
  131. package/dist/TreeSelect/utils.js +38 -0
  132. package/dist/Upload/UploadContent.js +2 -0
  133. package/dist/Upload/ajax.js +3 -0
  134. package/dist/Upload/typings.d.ts +4 -0
  135. package/dist/Util/aria.d.ts +25 -0
  136. package/dist/Util/aria.js +118 -0
  137. package/dist/Util/base.d.ts +5 -0
  138. package/dist/Util/base.js +140 -1
  139. package/dist/config/Constants.d.ts +3 -0
  140. package/dist/config/Constants.js +8 -0
  141. package/dist/hooks/index.d.ts +1 -0
  142. package/dist/hooks/index.js +1 -0
  143. package/dist/hooks/popperPropsUtils.js +1 -1
  144. package/dist/hooks/treePropsUtils.d.ts +3 -3
  145. package/dist/hooks/treePropsUtils.js +2 -2
  146. package/dist/hooks/useCalcInputWidth.d.ts +8 -0
  147. package/dist/{Tree/useUnmount.js → hooks/useCalcInputWidth.js} +23 -27
  148. package/dist/hooks/useComposition.d.ts +16 -0
  149. package/dist/hooks/useComposition.js +39 -0
  150. package/dist/hooks/useConfigProvider.d.ts +27 -0
  151. package/dist/hooks/useConfigProvider.js +78 -0
  152. package/dist/hooks/useCursor.d.ts +2 -0
  153. package/dist/hooks/useCursor.js +52 -0
  154. package/dist/hooks/useFocusController.d.ts +27 -0
  155. package/dist/hooks/useFocusController.js +72 -0
  156. package/dist/hooks/useResizeObserver.js +6 -6
  157. package/dist/index.css +1 -1
  158. package/dist/index.d.ts +18 -11
  159. package/dist/index.js +11 -5
  160. package/dist/locale/en.d.ts +15 -0
  161. package/dist/locale/en.js +15 -0
  162. package/dist/locale/zhCn.d.ts +15 -0
  163. package/dist/locale/zhCn.js +15 -0
  164. package/package.json +1 -1
  165. package/theme-chalk/alert.scss +115 -0
  166. package/theme-chalk/aside.scss +8 -8
  167. package/theme-chalk/button-group.scss +80 -80
  168. package/theme-chalk/button.scss +304 -304
  169. package/theme-chalk/calendar/date-table.scss +164 -164
  170. package/theme-chalk/calendar/index.scss +1 -0
  171. package/theme-chalk/calendar/quarter-table.scss +78 -0
  172. package/theme-chalk/checkbox.scss +34 -0
  173. package/theme-chalk/color/index.scss +20 -20
  174. package/theme-chalk/common/transition.scss +142 -142
  175. package/theme-chalk/common/var.scss +1 -1
  176. package/theme-chalk/container.scss +14 -14
  177. package/theme-chalk/dark/css-vars.scss +39 -39
  178. package/theme-chalk/dark/var.scss +225 -225
  179. package/theme-chalk/date-picker.scss +12 -12
  180. package/theme-chalk/drawer.scss +1 -0
  181. package/theme-chalk/footer.scss +12 -12
  182. package/theme-chalk/header.scss +12 -12
  183. package/theme-chalk/index.scss +4 -0
  184. package/theme-chalk/input/input-range.scss +2 -1
  185. package/theme-chalk/input/input.scss +298 -437
  186. package/theme-chalk/input/input.scss--bak +578 -0
  187. package/theme-chalk/input-number.bak +172 -0
  188. package/theme-chalk/input-number.scss +192 -172
  189. package/theme-chalk/link.scss +87 -87
  190. package/theme-chalk/main.scss +14 -14
  191. package/theme-chalk/menu.scss +353 -353
  192. package/theme-chalk/message.scss +104 -178
  193. package/theme-chalk/mixins/_button.scss +224 -224
  194. package/theme-chalk/mixins/_col.scss +33 -33
  195. package/theme-chalk/mixins/_var.scss +67 -67
  196. package/theme-chalk/mixins/config.scss +5 -5
  197. package/theme-chalk/mixins/function.scss +99 -99
  198. package/theme-chalk/mixins/mixins.scss +240 -240
  199. package/theme-chalk/mixins/utils.scss +39 -39
  200. package/theme-chalk/notification.bak +156 -0
  201. package/theme-chalk/notification.scss +109 -156
  202. package/theme-chalk/popper.scss +104 -104
  203. package/theme-chalk/radio-button.scss +169 -169
  204. package/theme-chalk/select/index.scss +222 -191
  205. package/theme-chalk/select/index.scss--bak +247 -0
  206. package/theme-chalk/select/option-group.scss +2 -2
  207. package/theme-chalk/select/option.scss +2 -2
  208. package/theme-chalk/select/select-dropdown.scss +2 -2
  209. package/theme-chalk/space.scss +20 -0
  210. package/theme-chalk/statistic.scss +35 -0
  211. package/theme-chalk/switch.scss +300 -300
  212. package/theme-chalk/tag.scss +150 -172
  213. package/theme-chalk/tag.scss--bak +203 -0
  214. package/theme-chalk/text.scss +48 -0
  215. package/theme-chalk/transition.scss +34 -4
  216. package/theme-chalk/tree-select.scss +41 -25
  217. package/theme-chalk/tree.scss +136 -0
  218. package/theme-chalk/var.scss +83 -83
  219. package/dist/Tree/DirectoryTree.d.ts +0 -15
  220. package/dist/Tree/DirectoryTree.js +0 -183
  221. package/dist/Tree/DropIndicator.d.ts +0 -8
  222. package/dist/Tree/DropIndicator.js +0 -34
  223. package/dist/Tree/Indent.d.ts +0 -9
  224. package/dist/Tree/Indent.js +0 -25
  225. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  226. package/dist/Tree/MotionTreeNode.js +0 -125
  227. package/dist/Tree/NodeList.d.ts +0 -50
  228. package/dist/Tree/NodeList.js +0 -301
  229. package/dist/Tree/RCTree.d.ts +0 -248
  230. package/dist/Tree/RCTree.js +0 -1216
  231. package/dist/Tree/contextTypes.d.ts +0 -69
  232. package/dist/Tree/contextTypes.js +0 -9
  233. package/dist/Tree/typings.tsx--bak +0 -245
  234. package/dist/Tree/useUnmount.d.ts +0 -5
  235. package/dist/Tree/util.d.ts +0 -51
  236. package/dist/Tree/util.js +0 -303
  237. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  238. package/dist/Tree/utils/conductUtil.js +0 -209
  239. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  240. package/dist/Tree/utils/dictUtil.js +0 -75
  241. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  242. package/dist/Tree/utils/diffUtil.js +0 -48
  243. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  244. package/dist/Tree/utils/dropIndicator.js +0 -36
  245. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  246. package/dist/Tree/utils/iconUtil.js +0 -62
  247. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  248. package/dist/Tree/utils/keyUtil.js +0 -3
  249. package/dist/Tree/utils/motion.d.ts +0 -10
  250. package/dist/Tree/utils/motion.js +0 -54
  251. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  252. package/dist/Tree/utils/pickAttrs.js +0 -51
  253. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  254. package/dist/Tree/utils/treeUtil.js +0 -364
  255. package/dist/TreeSelect/Utils.d.ts +0 -3
  256. package/dist/TreeSelect/Utils.js +0 -20
@@ -1,125 +0,0 @@
1
- var _excluded = ["className", "style", "motion", "motionNodes", "motionType", "onMotionStart", "onMotionEnd", "active", "treeNodeRequiredProps"];
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
- import classNames from 'classnames';
13
- import { useComposeRef } from 'rc-util';
14
- import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';
15
- import * as React from 'react';
16
- import { useRef } from 'react';
17
- import Transition from "../Transition/Transition";
18
- import TreeNode from "./TreeNode";
19
- import { TreeContext } from "./contextTypes";
20
- import useUnmount from "./useUnmount";
21
- import { getTreeNodeProps } from "./utils/treeUtil";
22
- var MotionTreeNode = /*#__PURE__*/React.forwardRef(function (oriProps, ref) {
23
- var className = oriProps.className,
24
- style = oriProps.style,
25
- motion = oriProps.motion,
26
- motionNodes = oriProps.motionNodes,
27
- motionType = oriProps.motionType,
28
- onOriginMotionStart = oriProps.onMotionStart,
29
- onOriginMotionEnd = oriProps.onMotionEnd,
30
- active = oriProps.active,
31
- treeNodeRequiredProps = oriProps.treeNodeRequiredProps,
32
- props = _objectWithoutProperties(oriProps, _excluded);
33
- var _React$useState = React.useState(true),
34
- _React$useState2 = _slicedToArray(_React$useState, 2),
35
- visible = _React$useState2[0],
36
- setVisible = _React$useState2[1];
37
- var _React$useContext = React.useContext(TreeContext),
38
- prefixCls = _React$useContext.prefixCls;
39
-
40
- // Calculate target visible here.
41
- // And apply in effect to make `leave` motion work.
42
- var targetVisible = motionNodes && motionType !== 'hide';
43
- var motionedRef = useRef(false);
44
- var containerRef = useRef(null);
45
- var mergedRef = useComposeRef(ref, containerRef);
46
- var onMotionEnd = function onMotionEnd() {
47
- if (!motionedRef.current) {
48
- onOriginMotionEnd();
49
- }
50
- motionedRef.current = true;
51
- };
52
- useLayoutEffect(function () {
53
- if (motionNodes) {
54
- if (targetVisible !== visible) {
55
- setVisible(targetVisible);
56
- }
57
- }
58
- // eslint-disable-next-line react-hooks/exhaustive-deps
59
- }, [motionNodes]);
60
- var triggerMotionStart = function triggerMotionStart() {
61
- if (motionNodes) {
62
- onOriginMotionStart();
63
- }
64
- };
65
-
66
- // Should only trigger once
67
- var triggerMotionEndRef = React.useRef(false);
68
- var triggerMotionEnd = function triggerMotionEnd() {
69
- if (motionNodes && !triggerMotionEndRef.current) {
70
- triggerMotionEndRef.current = true;
71
- onOriginMotionEnd();
72
- }
73
- };
74
-
75
- // Effect if unmount
76
- useUnmount(triggerMotionStart, triggerMotionEnd);
77
-
78
- // Motion end event
79
- var onVisibleChanged = function onVisibleChanged(nextVisible) {
80
- if (targetVisible === nextVisible) {
81
- triggerMotionEnd();
82
- }
83
- };
84
- if (motionNodes) {
85
- return /*#__PURE__*/React.createElement(Transition, _extends({
86
- nodeRef: containerRef,
87
- visible: visible
88
- }, motion, {
89
- transitionAppear: motionType === 'show',
90
- afterEnter: onMotionEnd,
91
- afterLeave: onMotionEnd
92
- }), /*#__PURE__*/React.createElement("div", {
93
- ref: mergedRef,
94
- className: classNames("".concat(prefixCls, "-treenode-motion"), className),
95
- style: style
96
- }, motionNodes.map(function (treeNode) {
97
- var restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),
98
- title = treeNode.title,
99
- key = treeNode.key,
100
- isStart = treeNode.isStart,
101
- isEnd = treeNode.isEnd;
102
- delete restProps.children;
103
- var treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);
104
- return /*#__PURE__*/React.createElement(TreeNode, _extends({}, restProps, treeNodeProps, {
105
- title: title,
106
- active: active,
107
- data: treeNode.data,
108
- key: key,
109
- isStart: isStart,
110
- isEnd: isEnd
111
- }));
112
- })));
113
- }
114
- return /*#__PURE__*/React.createElement(TreeNode, _extends({
115
- domRef: ref,
116
- className: className,
117
- style: style
118
- }, props, {
119
- active: active
120
- }));
121
- });
122
- if (process.env.NODE_ENV !== 'production') {
123
- MotionTreeNode.displayName = 'MotionTreeNode';
124
- }
125
- export default MotionTreeNode;
@@ -1,50 +0,0 @@
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';
6
- export declare const MOTION_KEY: string;
7
- export declare const MotionEntity: DataEntity;
8
- export interface NodeListRef {
9
- scrollTo: ScrollTo;
10
- getIndentWidth: () => number;
11
- }
12
- interface NodeListProps<TreeDataType extends BasicDataNode> {
13
- prefixCls: string;
14
- style: React.CSSProperties;
15
- data: FlattenNode<TreeDataType>[];
16
- motion: any;
17
- focusable?: boolean;
18
- activeItem: FlattenNode<TreeDataType>;
19
- focused?: boolean;
20
- tabIndex: number;
21
- checkable?: boolean;
22
- selectable?: boolean;
23
- disabled?: boolean;
24
- expandedKeys: Key[];
25
- selectedKeys: Key[];
26
- checkedKeys: Key[];
27
- loadedKeys: Key[];
28
- loadingKeys: Key[];
29
- halfCheckedKeys: Key[];
30
- keyEntities: KeyEntities;
31
- dragging: boolean;
32
- dragOverNodeKey: Key;
33
- dropPosition: number;
34
- height: number;
35
- itemHeight: number;
36
- virtual?: boolean;
37
- scrollWidth?: number;
38
- onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
39
- onFocus?: React.FocusEventHandler<HTMLDivElement>;
40
- onBlur?: React.FocusEventHandler<HTMLDivElement>;
41
- onActiveChange: (key: Key) => void;
42
- onListChangeStart: () => void;
43
- onListChangeEnd: () => void;
44
- }
45
- /**
46
- * We only need get visible content items to play the animation.
47
- */
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>>;
50
- export default NodeList;
@@ -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;