@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,86 +0,0 @@
1
- import * as React from 'react';
2
- import type { BasicDataNode, DataEntity, DataNode, EventDataNode, FieldNames, FlattenNode, GetKey, Key, KeyEntities, NodeElement, TreeNodeProps } from '../typings';
3
- export declare function getPosition(level: string | number, index: number): string;
4
- export declare function isTreeNode(node: NodeElement): boolean;
5
- export declare function getKey(key: Key, pos: string): React.Key;
6
- export declare function fillFieldNames(fieldNames?: FieldNames): Required<FieldNames>;
7
- /**
8
- * Warning if TreeNode do not provides key
9
- */
10
- export declare function warningWithoutKey(treeData: DataNode[], fieldNames: FieldNames): void;
11
- /**
12
- * Convert `children` of Tree into `treeData` structure.
13
- */
14
- export declare function convertTreeToData(rootNodes: React.ReactNode): DataNode[];
15
- /**
16
- * Flat nest tree data into flatten list. This is used for virtual list render.
17
- * @param treeNodeList Origin data node list
18
- * @param expandedKeys
19
- * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).
20
- */
21
- export declare function flattenTreeData<TreeDataType extends BasicDataNode = DataNode>(treeNodeList: TreeDataType[], expandedKeys: Key[] | true, fieldNames: FieldNames): FlattenNode<TreeDataType>[];
22
- type ExternalGetKey = GetKey<DataNode> | string;
23
- interface TraverseDataNodesConfig {
24
- childrenPropName?: string;
25
- externalGetKey?: ExternalGetKey;
26
- fieldNames?: FieldNames;
27
- }
28
- /**
29
- * Traverse all the data by `treeData`.
30
- * Please not use it out of the `rc-tree` since we may refactor this code.
31
- */
32
- export declare function traverseDataNodes(dataNodes: DataNode[], callback: (data: {
33
- node: DataNode;
34
- index: number;
35
- pos: string;
36
- key: Key;
37
- parentPos: string | number;
38
- level: number;
39
- nodes: DataNode[];
40
- }) => void, config?: TraverseDataNodesConfig | string): void;
41
- interface Wrapper {
42
- posEntities: Record<string, DataEntity>;
43
- keyEntities: KeyEntities;
44
- }
45
- /**
46
- * Convert `treeData` into entity records.
47
- */
48
- export declare function convertDataToEntities(dataNodes: DataNode[], { initWrapper, processEntity, onProcessFinished, externalGetKey, childrenPropName, fieldNames, }?: {
49
- initWrapper?: (wrapper: Wrapper) => Wrapper;
50
- processEntity?: (entity: DataEntity, wrapper: Wrapper) => void;
51
- onProcessFinished?: (wrapper: Wrapper) => void;
52
- externalGetKey?: ExternalGetKey;
53
- childrenPropName?: string;
54
- fieldNames?: FieldNames;
55
- },
56
- /** @deprecated Use `config.externalGetKey` instead */
57
- legacyExternalGetKey?: ExternalGetKey): Wrapper;
58
- export interface TreeNodeRequiredProps<TreeDataType extends BasicDataNode = DataNode> {
59
- expandedKeys: Key[];
60
- selectedKeys: Key[];
61
- loadedKeys: Key[];
62
- loadingKeys: Key[];
63
- checkedKeys: Key[];
64
- halfCheckedKeys: Key[];
65
- dragOverNodeKey: Key;
66
- dropPosition: number;
67
- keyEntities: KeyEntities<TreeDataType>;
68
- }
69
- /**
70
- * Get TreeNode props with Tree props.
71
- */
72
- export declare function getTreeNodeProps<TreeDataType extends BasicDataNode = DataNode>(key: Key, { expandedKeys, selectedKeys, loadedKeys, loadingKeys, checkedKeys, halfCheckedKeys, dragOverNodeKey, dropPosition, keyEntities }: TreeNodeRequiredProps<TreeDataType>): {
73
- eventKey: React.Key;
74
- expanded: boolean;
75
- selected: boolean;
76
- loaded: boolean;
77
- loading: boolean;
78
- checked: boolean;
79
- halfChecked: boolean;
80
- pos: string;
81
- dragOver: boolean;
82
- dragOverGapTop: boolean;
83
- dragOverGapBottom: boolean;
84
- };
85
- export declare function convertNodePropsToEventData<TreeDataType extends BasicDataNode = DataNode>(props: TreeNodeProps<TreeDataType>): EventDataNode<TreeDataType>;
86
- export {};
@@ -1,364 +0,0 @@
1
- var _excluded = ["children"];
2
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- 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); }
6
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
7
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
- 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; }
9
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
- 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; }
15
- 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; }
16
- import toArray from 'rc-util/lib/Children/toArray';
17
- import omit from 'rc-util/lib/omit';
18
- import warning from 'rc-util/lib/warning';
19
- import getEntity from "./keyUtil";
20
- export function getPosition(level, index) {
21
- return "".concat(level, "-").concat(index);
22
- }
23
- export function isTreeNode(node) {
24
- return node && node.type && node.type.isTreeNode;
25
- }
26
- export function getKey(key, pos) {
27
- if (key !== null && key !== undefined) {
28
- return key;
29
- }
30
- return pos;
31
- }
32
- export function fillFieldNames(fieldNames) {
33
- var _ref = fieldNames || {},
34
- title = _ref.title,
35
- _title = _ref._title,
36
- key = _ref.key,
37
- children = _ref.children;
38
- var mergedTitle = title || 'title';
39
- return {
40
- title: mergedTitle,
41
- _title: _title || [mergedTitle],
42
- key: key || 'key',
43
- children: children || 'children'
44
- };
45
- }
46
-
47
- /**
48
- * Warning if TreeNode do not provides key
49
- */
50
- export function warningWithoutKey(treeData, fieldNames) {
51
- var keys = new Map();
52
- function dig(list) {
53
- var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
54
- (list || []).forEach(function (treeNode) {
55
- var key = treeNode[fieldNames.key];
56
- var children = treeNode[fieldNames.children];
57
- warning(key !== null && key !== undefined, "Tree node must have a certain key: [".concat(path).concat(key, "]"));
58
- var recordKey = String(key);
59
- warning(!keys.has(recordKey) || key === null || key === undefined, "Same 'key' exist in the Tree: ".concat(recordKey));
60
- keys.set(recordKey, true);
61
- dig(children, "".concat(path).concat(recordKey, " > "));
62
- });
63
- }
64
- dig(treeData);
65
- }
66
-
67
- /**
68
- * Convert `children` of Tree into `treeData` structure.
69
- */
70
- export function convertTreeToData(rootNodes) {
71
- function dig(node) {
72
- var treeNodes = toArray(node);
73
- return treeNodes.map(function (treeNode) {
74
- // Filter invalidate node
75
- if (!isTreeNode(treeNode)) {
76
- warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');
77
- return null;
78
- }
79
- var key = treeNode.key;
80
- var _treeNode$props = treeNode.props,
81
- children = _treeNode$props.children,
82
- rest = _objectWithoutProperties(_treeNode$props, _excluded);
83
- var dataNode = _objectSpread({
84
- key: key
85
- }, rest);
86
- var parsedChildren = dig(children);
87
- if (parsedChildren.length) {
88
- dataNode.children = parsedChildren;
89
- }
90
- return dataNode;
91
- }).filter(function (dataNode) {
92
- return dataNode;
93
- });
94
- }
95
- return dig(rootNodes);
96
- }
97
-
98
- /**
99
- * Flat nest tree data into flatten list. This is used for virtual list render.
100
- * @param treeNodeList Origin data node list
101
- * @param expandedKeys
102
- * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).
103
- */
104
- export function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {
105
- var _fillFieldNames = fillFieldNames(fieldNames),
106
- fieldTitles = _fillFieldNames._title,
107
- fieldKey = _fillFieldNames.key,
108
- fieldChildren = _fillFieldNames.children;
109
- var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);
110
- var flattenList = [];
111
- function dig(list) {
112
- var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
113
- return list.map(function (treeNode, index) {
114
- var pos = getPosition(parent ? parent.pos : '0', index);
115
- var mergedKey = getKey(treeNode[fieldKey], pos);
116
-
117
- // Pick matched title in field title list
118
- var mergedTitle;
119
- for (var i = 0; i < fieldTitles.length; i += 1) {
120
- var fieldTitle = fieldTitles[i];
121
- if (treeNode[fieldTitle] !== undefined) {
122
- mergedTitle = treeNode[fieldTitle];
123
- break;
124
- }
125
- }
126
-
127
- // Add FlattenDataNode into list
128
- // We use `Object.assign` here to save perf since babel's `objectSpread` has perf issue
129
- var flattenNode = Object.assign(omit(treeNode, [].concat(_toConsumableArray(fieldTitles), [fieldKey, fieldChildren])), {
130
- title: mergedTitle,
131
- key: mergedKey,
132
- parent: parent,
133
- pos: pos,
134
- children: null,
135
- data: treeNode,
136
- isStart: [].concat(_toConsumableArray(parent ? parent.isStart : []), [index === 0]),
137
- isEnd: [].concat(_toConsumableArray(parent ? parent.isEnd : []), [index === list.length - 1])
138
- });
139
- flattenList.push(flattenNode);
140
-
141
- // Loop treeNode children
142
- if (expandedKeys === true || expandedKeySet.has(mergedKey)) {
143
- flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);
144
- } else {
145
- flattenNode.children = [];
146
- }
147
- return flattenNode;
148
- });
149
- }
150
- dig(treeNodeList);
151
- return flattenList;
152
- }
153
- /**
154
- * Traverse all the data by `treeData`.
155
- * Please not use it out of the `rc-tree` since we may refactor this code.
156
- */
157
- export function traverseDataNodes(dataNodes, callback,
158
- // To avoid too many params, let use config instead of origin param
159
- config) {
160
- var mergedConfig = {};
161
- if (_typeof(config) === 'object') {
162
- mergedConfig = config;
163
- } else {
164
- mergedConfig = {
165
- externalGetKey: config
166
- };
167
- }
168
- mergedConfig = mergedConfig || {};
169
-
170
- // Init config
171
- var _mergedConfig = mergedConfig,
172
- childrenPropName = _mergedConfig.childrenPropName,
173
- externalGetKey = _mergedConfig.externalGetKey,
174
- fieldNames = _mergedConfig.fieldNames;
175
- var _fillFieldNames2 = fillFieldNames(fieldNames),
176
- fieldKey = _fillFieldNames2.key,
177
- fieldChildren = _fillFieldNames2.children;
178
- var mergeChildrenPropName = childrenPropName || fieldChildren;
179
-
180
- // Get keys
181
- var syntheticGetKey;
182
- if (externalGetKey) {
183
- if (typeof externalGetKey === 'string') {
184
- syntheticGetKey = function syntheticGetKey(node) {
185
- return node[externalGetKey];
186
- };
187
- } else if (typeof externalGetKey === 'function') {
188
- syntheticGetKey = function syntheticGetKey(node) {
189
- return externalGetKey(node);
190
- };
191
- }
192
- } else {
193
- syntheticGetKey = function syntheticGetKey(node, pos) {
194
- return getKey(node[fieldKey], pos);
195
- };
196
- }
197
-
198
- // Process
199
- function processNode(node, index, parent, pathNodes) {
200
- var children = node ? node[mergeChildrenPropName] : dataNodes;
201
- var pos = node ? getPosition(parent.pos, index) : '0';
202
- var connectNodes = node ? [].concat(_toConsumableArray(pathNodes), [node]) : [];
203
-
204
- // Process node if is not root
205
- if (node) {
206
- var key = syntheticGetKey(node, pos);
207
- var _data = {
208
- node: node,
209
- index: index,
210
- pos: pos,
211
- key: key,
212
- parentPos: parent.node ? parent.pos : null,
213
- level: parent.level + 1,
214
- nodes: connectNodes
215
- };
216
- callback(_data);
217
- }
218
-
219
- // Process children node
220
- if (children) {
221
- children.forEach(function (subNode, subIndex) {
222
- processNode(subNode, subIndex, {
223
- node: node,
224
- pos: pos,
225
- level: parent ? parent.level + 1 : -1
226
- }, connectNodes);
227
- });
228
- }
229
- }
230
- processNode(null);
231
- }
232
- /**
233
- * Convert `treeData` into entity records.
234
- */
235
- export function convertDataToEntities(dataNodes) {
236
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
237
- initWrapper = _ref2.initWrapper,
238
- processEntity = _ref2.processEntity,
239
- onProcessFinished = _ref2.onProcessFinished,
240
- externalGetKey = _ref2.externalGetKey,
241
- childrenPropName = _ref2.childrenPropName,
242
- fieldNames = _ref2.fieldNames;
243
- var /** @deprecated Use `config.externalGetKey` instead */
244
- legacyExternalGetKey = arguments.length > 2 ? arguments[2] : undefined;
245
- // Init config
246
- var mergedExternalGetKey = externalGetKey || legacyExternalGetKey;
247
- var posEntities = {};
248
- var keyEntities = {};
249
- var wrapper = {
250
- posEntities: posEntities,
251
- keyEntities: keyEntities
252
- };
253
- if (initWrapper) {
254
- wrapper = initWrapper(wrapper) || wrapper;
255
- }
256
- traverseDataNodes(dataNodes, function (item) {
257
- var node = item.node,
258
- index = item.index,
259
- pos = item.pos,
260
- key = item.key,
261
- parentPos = item.parentPos,
262
- level = item.level,
263
- nodes = item.nodes;
264
- var entity = {
265
- node: node,
266
- nodes: nodes,
267
- index: index,
268
- key: key,
269
- pos: pos,
270
- level: level
271
- };
272
- var mergedKey = getKey(key, pos);
273
- posEntities[pos] = entity;
274
- keyEntities[mergedKey] = entity;
275
-
276
- // Fill children
277
- entity.parent = posEntities[parentPos];
278
- if (entity.parent) {
279
- entity.parent.children = entity.parent.children || [];
280
- entity.parent.children.push(entity);
281
- }
282
- if (processEntity) {
283
- processEntity(entity, wrapper);
284
- }
285
- }, {
286
- externalGetKey: mergedExternalGetKey,
287
- childrenPropName: childrenPropName,
288
- fieldNames: fieldNames
289
- });
290
- if (onProcessFinished) {
291
- onProcessFinished(wrapper);
292
- }
293
- return wrapper;
294
- }
295
- /**
296
- * Get TreeNode props with Tree props.
297
- */
298
- export function getTreeNodeProps(key, _ref3) {
299
- var expandedKeys = _ref3.expandedKeys,
300
- selectedKeys = _ref3.selectedKeys,
301
- loadedKeys = _ref3.loadedKeys,
302
- loadingKeys = _ref3.loadingKeys,
303
- checkedKeys = _ref3.checkedKeys,
304
- halfCheckedKeys = _ref3.halfCheckedKeys,
305
- dragOverNodeKey = _ref3.dragOverNodeKey,
306
- dropPosition = _ref3.dropPosition,
307
- keyEntities = _ref3.keyEntities;
308
- var entity = getEntity(keyEntities, key);
309
- var treeNodeProps = {
310
- eventKey: key,
311
- expanded: expandedKeys.indexOf(key) !== -1,
312
- selected: selectedKeys.indexOf(key) !== -1,
313
- loaded: loadedKeys.indexOf(key) !== -1,
314
- loading: loadingKeys.indexOf(key) !== -1,
315
- checked: checkedKeys.indexOf(key) !== -1,
316
- halfChecked: halfCheckedKeys.indexOf(key) !== -1,
317
- pos: String(entity ? entity.pos : ''),
318
- // [Legacy] Drag props
319
- // Since the interaction of drag is changed, the semantic of the props are
320
- // not accuracy, I think it should be finally removed
321
- dragOver: dragOverNodeKey === key && dropPosition === 0,
322
- dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,
323
- dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1
324
- };
325
- return treeNodeProps;
326
- }
327
- export function convertNodePropsToEventData(props) {
328
- var data = props.data,
329
- expanded = props.expanded,
330
- selected = props.selected,
331
- checked = props.checked,
332
- loaded = props.loaded,
333
- loading = props.loading,
334
- halfChecked = props.halfChecked,
335
- dragOver = props.dragOver,
336
- dragOverGapTop = props.dragOverGapTop,
337
- dragOverGapBottom = props.dragOverGapBottom,
338
- pos = props.pos,
339
- active = props.active,
340
- eventKey = props.eventKey;
341
- var eventData = _objectSpread(_objectSpread({}, data), {}, {
342
- expanded: expanded,
343
- selected: selected,
344
- checked: checked,
345
- loaded: loaded,
346
- loading: loading,
347
- halfChecked: halfChecked,
348
- dragOver: dragOver,
349
- dragOverGapTop: dragOverGapTop,
350
- dragOverGapBottom: dragOverGapBottom,
351
- pos: pos,
352
- active: active,
353
- key: eventKey
354
- });
355
- if (!('props' in eventData)) {
356
- Object.defineProperty(eventData, 'props', {
357
- get: function get() {
358
- warning(false, 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.');
359
- return props;
360
- }
361
- });
362
- }
363
- return eventData;
364
- }
@@ -1,3 +0,0 @@
1
- import { DataNode } from '../Tree';
2
- /** 单选不可选父级 */
3
- export declare const parentNotSelectable: (treeData?: DataNode[]) => DataNode[];
@@ -1,20 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- /** 单选不可选父级 */
8
- export var parentNotSelectable = function parentNotSelectable() {
9
- var treeData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
10
- return treeData.map(function (node) {
11
- var _node$children;
12
- if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) {
13
- node.children = parentNotSelectable(node.children);
14
- return _objectSpread(_objectSpread({}, node), {}, {
15
- selectable: false
16
- });
17
- }
18
- return node;
19
- });
20
- };