acud 1.0.21 → 1.0.23

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 (171) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/dist/acud.css +543 -246
  3. package/dist/acud.css.map +1 -1
  4. package/dist/acud.js +18653 -17994
  5. package/dist/acud.js.map +1 -1
  6. package/dist/acud.min.css +1 -1
  7. package/dist/acud.min.css.map +1 -1
  8. package/dist/acud.min.js +11 -11
  9. package/dist/acud.min.js.map +1 -1
  10. package/es/avatar/SizeContext.d.ts +10 -0
  11. package/es/avatar/SizeContext.js +12 -0
  12. package/es/avatar/avatar.d.ts +25 -0
  13. package/es/avatar/avatar.js +206 -0
  14. package/es/avatar/group.d.ts +15 -0
  15. package/es/avatar/group.js +64 -0
  16. package/es/avatar/index.d.ts +11 -0
  17. package/es/avatar/index.js +6 -0
  18. package/es/avatar/style/css.js +5 -0
  19. package/es/avatar/style/group.less +17 -0
  20. package/es/avatar/style/index.css +108 -0
  21. package/es/avatar/style/index.d.ts +3 -0
  22. package/es/avatar/style/index.js +5 -0
  23. package/es/avatar/style/index.less +68 -0
  24. package/es/avatar/style/rtl.less +15 -0
  25. package/es/divider/index.d.ts +14 -0
  26. package/es/divider/index.js +63 -0
  27. package/es/divider/style/css.js +2 -0
  28. package/es/divider/style/index.css +126 -0
  29. package/es/divider/style/index.d.ts +2 -0
  30. package/es/divider/style/index.js +2 -0
  31. package/es/divider/style/index.less +137 -0
  32. package/es/divider/style/rtl.less +38 -0
  33. package/es/dropdown/style/index.css +4 -4
  34. package/es/dropdown/style/index.less +5 -5
  35. package/es/grid/hooks/useBreakpoint.d.ts +1 -1
  36. package/es/grid/hooks/useBreakpoint.js +11 -9
  37. package/es/index.d.ts +2 -0
  38. package/es/index.js +2 -0
  39. package/es/menu/style/index.css +16 -12
  40. package/es/menu/style/index.less +5 -3
  41. package/es/menu/style/sider.less +2 -0
  42. package/es/modal/DialogBox.d.ts +2 -2
  43. package/es/modal/DialogBox.js +3 -2
  44. package/es/pagination/rc-pagination/Pagination.js +0 -1
  45. package/es/style/themes/default/components/avatar.less +13 -0
  46. package/es/style/themes/default/components/divider.less +6 -0
  47. package/es/style/themes/default/components/index.less +2 -0
  48. package/es/table/style/index.css +4 -3
  49. package/es/table/style/index.less +4 -0
  50. package/es/tag/style/index.css +46 -0
  51. package/es/tag/style/index.less +37 -0
  52. package/es/tree-select/index.d.ts +4 -4
  53. package/es/tree-select/index.js +1 -1
  54. package/es/tree-select/src/LegacyContext.d.ts +24 -0
  55. package/es/tree-select/src/LegacyContext.js +3 -0
  56. package/es/tree-select/src/OptionList.d.ts +8 -0
  57. package/es/tree-select/src/OptionList.js +338 -0
  58. package/es/tree-select/src/TreeNode.d.ts +9 -0
  59. package/es/tree-select/src/TreeNode.js +6 -0
  60. package/es/tree-select/src/TreeSelect.d.ts +122 -0
  61. package/es/tree-select/src/TreeSelect.js +534 -0
  62. package/es/tree-select/src/TreeSelectContext.d.ts +16 -0
  63. package/es/tree-select/src/TreeSelectContext.js +3 -0
  64. package/es/tree-select/src/hooks/useCache.d.ts +7 -0
  65. package/es/tree-select/src/hooks/useCache.js +29 -0
  66. package/es/tree-select/src/hooks/useCheckedKeys.d.ts +5 -0
  67. package/es/tree-select/src/hooks/useCheckedKeys.js +29 -0
  68. package/es/tree-select/src/hooks/useDataEntities.d.ts +7 -0
  69. package/es/tree-select/src/hooks/useDataEntities.js +30 -0
  70. package/es/tree-select/src/hooks/useFilterTreeData.d.ts +7 -0
  71. package/es/tree-select/src/hooks/useFilterTreeData.js +49 -0
  72. package/es/tree-select/src/hooks/useRefFunc.d.ts +5 -0
  73. package/es/tree-select/src/hooks/useRefFunc.js +14 -0
  74. package/es/tree-select/src/hooks/useTreeData.d.ts +8 -0
  75. package/es/tree-select/src/hooks/useTreeData.js +55 -0
  76. package/es/tree-select/src/index.d.ts +7 -0
  77. package/es/tree-select/src/index.js +9 -0
  78. package/es/tree-select/src/interface.d.ts +77 -0
  79. package/es/tree-select/src/interface.js +1 -0
  80. package/es/tree-select/src/utils/legacyUtil.d.ts +6 -0
  81. package/es/tree-select/src/utils/legacyUtil.js +144 -0
  82. package/es/tree-select/src/utils/strategyUtil.d.ts +9 -0
  83. package/es/tree-select/src/utils/strategyUtil.js +40 -0
  84. package/es/tree-select/src/utils/valueUtil.d.ts +14 -0
  85. package/es/tree-select/src/utils/valueUtil.js +46 -0
  86. package/es/tree-select/src/utils/warningPropsUtil.d.ts +5 -0
  87. package/es/tree-select/src/utils/warningPropsUtil.js +31 -0
  88. package/es/tree-select/style/index.css +10 -0
  89. package/es/tree-select/style/index.less +11 -0
  90. package/lib/avatar/SizeContext.d.ts +10 -0
  91. package/lib/avatar/SizeContext.js +26 -0
  92. package/lib/avatar/avatar.d.ts +25 -0
  93. package/lib/avatar/avatar.js +233 -0
  94. package/lib/avatar/group.d.ts +15 -0
  95. package/lib/avatar/group.js +88 -0
  96. package/lib/avatar/index.d.ts +11 -0
  97. package/lib/avatar/index.js +23 -0
  98. package/lib/avatar/style/css.js +7 -0
  99. package/lib/avatar/style/group.less +17 -0
  100. package/lib/avatar/style/index.css +108 -0
  101. package/lib/avatar/style/index.d.ts +3 -0
  102. package/lib/avatar/style/index.js +7 -0
  103. package/lib/avatar/style/index.less +68 -0
  104. package/lib/avatar/style/rtl.less +15 -0
  105. package/lib/divider/index.d.ts +14 -0
  106. package/lib/divider/index.js +74 -0
  107. package/lib/divider/style/css.js +5 -0
  108. package/lib/divider/style/index.css +126 -0
  109. package/lib/divider/style/index.d.ts +2 -0
  110. package/lib/divider/style/index.js +5 -0
  111. package/lib/divider/style/index.less +137 -0
  112. package/lib/divider/style/rtl.less +38 -0
  113. package/lib/dropdown/style/index.css +4 -4
  114. package/lib/dropdown/style/index.less +5 -5
  115. package/lib/grid/hooks/useBreakpoint.d.ts +1 -1
  116. package/lib/grid/hooks/useBreakpoint.js +11 -9
  117. package/lib/index.d.ts +2 -0
  118. package/lib/index.js +16 -0
  119. package/lib/menu/style/index.css +16 -12
  120. package/lib/menu/style/index.less +5 -3
  121. package/lib/menu/style/sider.less +2 -0
  122. package/lib/modal/DialogBox.d.ts +2 -2
  123. package/lib/modal/DialogBox.js +3 -2
  124. package/lib/pagination/rc-pagination/Pagination.js +0 -1
  125. package/lib/style/components.less +2 -0
  126. package/lib/style/themes/default/components/avatar.less +13 -0
  127. package/lib/style/themes/default/components/divider.less +6 -0
  128. package/lib/style/themes/default/components/index.less +2 -0
  129. package/lib/table/style/index.css +4 -3
  130. package/lib/table/style/index.less +4 -0
  131. package/lib/tag/style/index.css +46 -0
  132. package/lib/tag/style/index.less +37 -0
  133. package/lib/tree-select/index.d.ts +4 -4
  134. package/lib/tree-select/index.js +7 -7
  135. package/lib/tree-select/src/LegacyContext.d.ts +24 -0
  136. package/lib/tree-select/src/LegacyContext.js +18 -0
  137. package/lib/tree-select/src/OptionList.d.ts +8 -0
  138. package/lib/tree-select/src/OptionList.js +366 -0
  139. package/lib/tree-select/src/TreeNode.d.ts +9 -0
  140. package/lib/tree-select/src/TreeNode.js +14 -0
  141. package/lib/tree-select/src/TreeSelect.d.ts +122 -0
  142. package/lib/tree-select/src/TreeSelect.js +572 -0
  143. package/lib/tree-select/src/TreeSelectContext.d.ts +16 -0
  144. package/lib/tree-select/src/TreeSelectContext.js +18 -0
  145. package/lib/tree-select/src/hooks/useCache.d.ts +7 -0
  146. package/lib/tree-select/src/hooks/useCache.js +47 -0
  147. package/lib/tree-select/src/hooks/useCheckedKeys.d.ts +5 -0
  148. package/lib/tree-select/src/hooks/useCheckedKeys.js +49 -0
  149. package/lib/tree-select/src/hooks/useDataEntities.d.ts +7 -0
  150. package/lib/tree-select/src/hooks/useDataEntities.js +52 -0
  151. package/lib/tree-select/src/hooks/useFilterTreeData.d.ts +7 -0
  152. package/lib/tree-select/src/hooks/useFilterTreeData.js +70 -0
  153. package/lib/tree-select/src/hooks/useRefFunc.d.ts +5 -0
  154. package/lib/tree-select/src/hooks/useRefFunc.js +27 -0
  155. package/lib/tree-select/src/hooks/useTreeData.d.ts +8 -0
  156. package/lib/tree-select/src/hooks/useTreeData.js +71 -0
  157. package/lib/tree-select/src/index.d.ts +7 -0
  158. package/lib/tree-select/src/index.js +45 -0
  159. package/lib/tree-select/src/interface.d.ts +77 -0
  160. package/lib/tree-select/src/interface.js +5 -0
  161. package/lib/tree-select/src/utils/legacyUtil.d.ts +6 -0
  162. package/lib/tree-select/src/utils/legacyUtil.js +166 -0
  163. package/lib/tree-select/src/utils/strategyUtil.d.ts +9 -0
  164. package/lib/tree-select/src/utils/strategyUtil.js +53 -0
  165. package/lib/tree-select/src/utils/valueUtil.d.ts +14 -0
  166. package/lib/tree-select/src/utils/valueUtil.js +61 -0
  167. package/lib/tree-select/src/utils/warningPropsUtil.d.ts +5 -0
  168. package/lib/tree-select/src/utils/warningPropsUtil.js +43 -0
  169. package/lib/tree-select/style/index.css +10 -0
  170. package/lib/tree-select/style/index.less +11 -0
  171. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import * as React from 'react';
4
+ import { fillLegacyProps } from '../utils/legacyUtil';
5
+ export default (function (treeData, searchValue, _ref) {
6
+ var treeNodeFilterProp = _ref.treeNodeFilterProp,
7
+ filterTreeNode = _ref.filterTreeNode,
8
+ fieldNames = _ref.fieldNames;
9
+ var fieldChildren = fieldNames.children;
10
+ return React.useMemo(function () {
11
+ if (!searchValue || filterTreeNode === false) {
12
+ return treeData;
13
+ }
14
+
15
+ var filterOptionFunc;
16
+
17
+ if (typeof filterTreeNode === 'function') {
18
+ filterOptionFunc = filterTreeNode;
19
+ } else {
20
+ var upperStr = searchValue.toUpperCase();
21
+
22
+ filterOptionFunc = function filterOptionFunc(_, dataNode) {
23
+ var value = dataNode[treeNodeFilterProp];
24
+ return String(value).toUpperCase().includes(upperStr);
25
+ };
26
+ }
27
+
28
+ function dig(list) {
29
+ var keepAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
30
+ return list.map(function (dataNode) {
31
+ var children = dataNode[fieldChildren];
32
+ var match = keepAll || filterOptionFunc(searchValue, fillLegacyProps(dataNode));
33
+ var childList = dig(children || [], match);
34
+
35
+ if (match || childList.length) {
36
+ return _extends(_extends({}, dataNode), _defineProperty({
37
+ isLeaf: undefined
38
+ }, fieldChildren, childList));
39
+ }
40
+
41
+ return null;
42
+ }).filter(function (node) {
43
+ return node;
44
+ });
45
+ }
46
+
47
+ return dig(treeData);
48
+ }, [treeData, searchValue, fieldChildren, treeNodeFilterProp, filterTreeNode]);
49
+ });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Same as `React.useCallback` but always return a memoized function
3
+ * but redirect to real function.
4
+ */
5
+ export default function useRefFunc<T extends (...args: any[]) => any>(callback: T): T;
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Same as `React.useCallback` but always return a memoized function
4
+ * but redirect to real function.
5
+ */
6
+
7
+ export default function useRefFunc(callback) {
8
+ var funcRef = React.useRef();
9
+ funcRef.current = callback;
10
+ var cacheFn = React.useCallback(function () {
11
+ return funcRef.current.apply(funcRef, arguments);
12
+ }, []);
13
+ return cacheFn;
14
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { DataNode, SimpleModeConfig } from '../interface';
3
+ import type { DefaultOptionType } from '../TreeSelect';
4
+ /**
5
+ * Convert `treeData` or `children` into formatted `treeData`.
6
+ * Will not re-calculate if `treeData` or `children` not change.
7
+ */
8
+ export default function useTreeData(treeData: DataNode[], children: React.ReactNode, simpleMode: boolean | SimpleModeConfig): DefaultOptionType[];
@@ -0,0 +1,55 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import { convertChildrenToData } from '../utils/legacyUtil';
4
+
5
+ function parseSimpleTreeData(treeData, _ref) {
6
+ var id = _ref.id,
7
+ pId = _ref.pId,
8
+ rootPId = _ref.rootPId;
9
+ var keyNodes = {};
10
+ var rootNodeList = []; // Fill in the map
11
+
12
+ var nodeList = treeData.map(function (node) {
13
+ var clone = _extends({}, node);
14
+
15
+ var key = clone[id];
16
+ keyNodes[key] = clone;
17
+ clone.key = clone.key || key;
18
+ return clone;
19
+ }); // Connect tree
20
+
21
+ nodeList.forEach(function (node) {
22
+ var parentKey = node[pId];
23
+ var parent = keyNodes[parentKey]; // Fill parent
24
+
25
+ if (parent) {
26
+ parent.children = parent.children || [];
27
+ parent.children.push(node);
28
+ } // Fill root tree node
29
+
30
+
31
+ if (parentKey === rootPId || !parent && rootPId === null) {
32
+ rootNodeList.push(node);
33
+ }
34
+ });
35
+ return rootNodeList;
36
+ }
37
+ /**
38
+ * Convert `treeData` or `children` into formatted `treeData`.
39
+ * Will not re-calculate if `treeData` or `children` not change.
40
+ */
41
+
42
+
43
+ export default function useTreeData(treeData, children, simpleMode) {
44
+ return React.useMemo(function () {
45
+ if (treeData) {
46
+ return simpleMode ? parseSimpleTreeData(treeData, _extends({
47
+ id: 'id',
48
+ pId: 'pId',
49
+ rootPId: null
50
+ }, simpleMode !== true ? simpleMode : {})) : treeData;
51
+ }
52
+
53
+ return convertChildrenToData(children);
54
+ }, [children, simpleMode, treeData]);
55
+ }
@@ -0,0 +1,7 @@
1
+ import TreeSelect from './TreeSelect';
2
+ import type { TreeSelectProps } from './TreeSelect';
3
+ import TreeNode from './TreeNode';
4
+ import { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './utils/strategyUtil';
5
+ export { TreeNode, SHOW_ALL, SHOW_CHILD, SHOW_PARENT };
6
+ export type { TreeSelectProps };
7
+ export default TreeSelect;
@@ -0,0 +1,9 @@
1
+ /*
2
+ * tree-select
3
+ * update by zhousheng
4
+ */
5
+ import TreeSelect from './TreeSelect';
6
+ import TreeNode from './TreeNode';
7
+ import { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './utils/strategyUtil';
8
+ export { TreeNode, SHOW_ALL, SHOW_CHILD, SHOW_PARENT };
9
+ export default TreeSelect;
@@ -0,0 +1,77 @@
1
+ import type * as React from 'react';
2
+ export declare type SelectSource = 'option' | 'selection' | 'input' | 'clear';
3
+ export declare type Key = string | number;
4
+ export declare type RawValueType = string | number;
5
+ export interface LabelValueType {
6
+ key?: Key;
7
+ value?: RawValueType;
8
+ label?: React.ReactNode;
9
+ /** Only works on `treeCheckStrictly` */
10
+ halfChecked?: boolean;
11
+ }
12
+ export declare type DefaultValueType = RawValueType | RawValueType[] | LabelValueType | LabelValueType[];
13
+ export interface DataNode {
14
+ value?: RawValueType;
15
+ title?: React.ReactNode;
16
+ label?: React.ReactNode;
17
+ key?: Key;
18
+ disabled?: boolean;
19
+ disableCheckbox?: boolean;
20
+ checkable?: boolean;
21
+ children?: DataNode[];
22
+ /** Customize data info */
23
+ [prop: string]: any;
24
+ }
25
+ export interface InternalDataEntity {
26
+ key: Key;
27
+ value: RawValueType;
28
+ title?: React.ReactNode;
29
+ disableCheckbox?: boolean;
30
+ disabled?: boolean;
31
+ children?: InternalDataEntity[];
32
+ /** Origin DataNode */
33
+ node: DataNode;
34
+ }
35
+ export interface LegacyDataNode extends DataNode {
36
+ props: any;
37
+ }
38
+ export interface TreeDataNode extends DataNode {
39
+ key: Key;
40
+ children?: TreeDataNode[];
41
+ }
42
+ export interface FlattenDataNode {
43
+ data: InternalDataEntity;
44
+ key: Key;
45
+ value: RawValueType;
46
+ level: number;
47
+ parent?: FlattenDataNode;
48
+ }
49
+ export interface SimpleModeConfig {
50
+ id?: Key;
51
+ pId?: Key;
52
+ rootPId?: Key;
53
+ }
54
+ /** @deprecated This is only used for legacy compatible. Not works on new code. */
55
+ export interface LegacyCheckedNode {
56
+ pos: string;
57
+ node: React.ReactElement;
58
+ children?: LegacyCheckedNode[];
59
+ }
60
+ export interface ChangeEventExtra {
61
+ /** @deprecated Please save prev value by control logic instead */
62
+ preValue: LabelValueType[];
63
+ triggerValue: RawValueType;
64
+ /** @deprecated Use `onSelect` or `onDeselect` instead. */
65
+ selected?: boolean;
66
+ /** @deprecated Use `onSelect` or `onDeselect` instead. */
67
+ checked?: boolean;
68
+ /** @deprecated This prop not work as react node anymore. */
69
+ triggerNode: React.ReactElement;
70
+ /** @deprecated This prop not work as react node anymore. */
71
+ allCheckedNodes: LegacyCheckedNode[];
72
+ }
73
+ export interface FieldNames {
74
+ value?: string;
75
+ label?: string;
76
+ children?: string;
77
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import type { DataNode, ChangeEventExtra, RawValueType } from '../interface';
3
+ import type { DefaultOptionType, FieldNames } from '../TreeSelect';
4
+ export declare function convertChildrenToData(nodes: React.ReactNode): DataNode[];
5
+ export declare function fillLegacyProps(dataNode: DataNode): any;
6
+ export declare function fillAdditionalInfo(extra: ChangeEventExtra, triggerValue: RawValueType, checkedValues: RawValueType[], treeData: DefaultOptionType[], showPosition: boolean, fieldNames: FieldNames): void;
@@ -0,0 +1,144 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+
3
+ var __rest = this && this.__rest || function (s, e) {
4
+ var t = {};
5
+
6
+ for (var p in s) {
7
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
8
+ }
9
+
10
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
11
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
12
+ }
13
+ return t;
14
+ };
15
+
16
+ import * as React from 'react';
17
+ import toArray from "rc-util/es/Children/toArray";
18
+ import warning from "rc-util/es/warning";
19
+ import TreeNode from '../TreeNode';
20
+ export function convertChildrenToData(nodes) {
21
+ return toArray(nodes).map(function (node) {
22
+ if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {
23
+ return null;
24
+ }
25
+
26
+ var _a = node,
27
+ key = _a.key,
28
+ _b = _a.props,
29
+ children = _b.children,
30
+ value = _b.value,
31
+ restProps = __rest(_b, ["children", "value"]);
32
+
33
+ var data = _extends({
34
+ key: key,
35
+ value: value
36
+ }, restProps);
37
+
38
+ var childData = convertChildrenToData(children);
39
+
40
+ if (childData.length) {
41
+ data.children = childData;
42
+ }
43
+
44
+ return data;
45
+ }).filter(function (data) {
46
+ return data;
47
+ });
48
+ }
49
+ export function fillLegacyProps(dataNode) {
50
+ if (!dataNode) {
51
+ return dataNode;
52
+ }
53
+
54
+ var cloneNode = _extends({}, dataNode);
55
+
56
+ if (!('props' in cloneNode)) {
57
+ Object.defineProperty(cloneNode, 'props', {
58
+ get: function get() {
59
+ warning(false, 'New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access.');
60
+ return cloneNode;
61
+ }
62
+ });
63
+ }
64
+
65
+ return cloneNode;
66
+ }
67
+ export function fillAdditionalInfo(extra, triggerValue, checkedValues, treeData, showPosition, fieldNames) {
68
+ var triggerNode = null;
69
+ var nodeList = null;
70
+
71
+ function generateMap() {
72
+ function dig(list) {
73
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0';
74
+ var parentIncluded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
75
+ return list.map(function (option, index) {
76
+ var pos = "".concat(level, "-").concat(index);
77
+ var value = option[fieldNames.value];
78
+ var included = checkedValues.includes(value);
79
+ var children = dig(option[fieldNames.children] || [], pos, included);
80
+ var node = /*#__PURE__*/React.createElement(TreeNode, option, children.map(function (child) {
81
+ return child.node;
82
+ })); // Link with trigger node
83
+
84
+ if (triggerValue === value) {
85
+ triggerNode = node;
86
+ }
87
+
88
+ if (included) {
89
+ var checkedNode = {
90
+ pos: pos,
91
+ node: node,
92
+ children: children
93
+ };
94
+
95
+ if (!parentIncluded) {
96
+ nodeList.push(checkedNode);
97
+ }
98
+
99
+ return checkedNode;
100
+ }
101
+
102
+ return null;
103
+ }).filter(function (node) {
104
+ return node;
105
+ });
106
+ }
107
+
108
+ if (!nodeList) {
109
+ nodeList = [];
110
+ dig(treeData); // Sort to keep the checked node length
111
+
112
+ nodeList.sort(function (_ref, _ref2) {
113
+ var val1 = _ref.node.props.value;
114
+ var val2 = _ref2.node.props.value;
115
+ var index1 = checkedValues.indexOf(val1);
116
+ var index2 = checkedValues.indexOf(val2);
117
+ return index1 - index2;
118
+ });
119
+ }
120
+ }
121
+
122
+ Object.defineProperty(extra, 'triggerNode', {
123
+ get: function get() {
124
+ warning(false, '`triggerNode` is deprecated. Please consider decoupling data with node.');
125
+ generateMap();
126
+ return triggerNode;
127
+ }
128
+ });
129
+ Object.defineProperty(extra, 'allCheckedNodes', {
130
+ get: function get() {
131
+ warning(false, '`allCheckedNodes` is deprecated. Please consider decoupling data with node.');
132
+ generateMap();
133
+
134
+ if (showPosition) {
135
+ return nodeList;
136
+ }
137
+
138
+ return nodeList.map(function (_ref3) {
139
+ var node = _ref3.node;
140
+ return node;
141
+ });
142
+ }
143
+ });
144
+ }
@@ -0,0 +1,9 @@
1
+ import type * as React from 'react';
2
+ import type { InternalFieldName } from '../TreeSelect';
3
+ import type { DataEntity } from 'rc-tree/lib/interface';
4
+ import type { RawValueType, Key } from '../interface';
5
+ export declare const SHOW_ALL = "SHOW_ALL";
6
+ export declare const SHOW_PARENT = "SHOW_PARENT";
7
+ export declare const SHOW_CHILD = "SHOW_CHILD";
8
+ export declare type CheckedStrategy = typeof SHOW_ALL | typeof SHOW_PARENT | typeof SHOW_CHILD;
9
+ export declare function formatStrategyValues(values: React.Key[], strategy: CheckedStrategy, keyEntities: Record<Key, DataEntity>, fieldNames: InternalFieldName): RawValueType[];
@@ -0,0 +1,40 @@
1
+ import { isCheckDisabled } from './valueUtil';
2
+ export var SHOW_ALL = 'SHOW_ALL';
3
+ export var SHOW_PARENT = 'SHOW_PARENT';
4
+ export var SHOW_CHILD = 'SHOW_CHILD';
5
+ export function formatStrategyValues(values, strategy, keyEntities, fieldNames) {
6
+ var valueSet = new Set(values);
7
+
8
+ if (strategy === SHOW_CHILD) {
9
+ return values.filter(function (key) {
10
+ var entity = keyEntities[key];
11
+
12
+ if (entity && entity.children && entity.children.some(function (_ref) {
13
+ var node = _ref.node;
14
+ return valueSet.has(node[fieldNames.value]);
15
+ }) && entity.children.every(function (_ref2) {
16
+ var node = _ref2.node;
17
+ return isCheckDisabled(node) || valueSet.has(node[fieldNames.value]);
18
+ })) {
19
+ return false;
20
+ }
21
+
22
+ return true;
23
+ });
24
+ }
25
+
26
+ if (strategy === SHOW_PARENT) {
27
+ return values.filter(function (key) {
28
+ var entity = keyEntities[key];
29
+ var parent = entity ? entity.parent : null;
30
+
31
+ if (parent && !isCheckDisabled(parent.node) && valueSet.has(parent.key)) {
32
+ return false;
33
+ }
34
+
35
+ return true;
36
+ });
37
+ }
38
+
39
+ return values;
40
+ }
@@ -0,0 +1,14 @@
1
+ import type * as React from 'react';
2
+ import type { DataNode, FieldNames } from '../interface';
3
+ import type { DefaultOptionType, InternalFieldName } from '../TreeSelect';
4
+ export declare function toArray<T>(value: T | T[]): T[];
5
+ export declare function fillFieldNames(fieldNames?: FieldNames): {
6
+ _title: string[];
7
+ value: string;
8
+ key: string;
9
+ children: string;
10
+ };
11
+ export declare function isCheckDisabled(node: DataNode): boolean;
12
+ /** Loop fetch all the keys exist in the tree */
13
+ export declare function getAllKeys(treeData: DefaultOptionType[], fieldNames: InternalFieldName): React.Key[];
14
+ export declare function isNil(val: any): boolean;
@@ -0,0 +1,46 @@
1
+ export function toArray(value) {
2
+ if (Array.isArray(value)) {
3
+ return value;
4
+ }
5
+
6
+ return value !== undefined ? [value] : [];
7
+ }
8
+ export function fillFieldNames(fieldNames) {
9
+ var _ref = fieldNames || {},
10
+ label = _ref.label,
11
+ value = _ref.value,
12
+ children = _ref.children;
13
+
14
+ var mergedValue = value || 'value';
15
+ return {
16
+ _title: label ? [label] : ['title', 'label'],
17
+ value: mergedValue,
18
+ key: mergedValue,
19
+ children: children || 'children'
20
+ };
21
+ }
22
+ export function isCheckDisabled(node) {
23
+ return !node || node.disabled || node.disableCheckbox || node.checkable === false;
24
+ }
25
+ /** Loop fetch all the keys exist in the tree */
26
+
27
+ export function getAllKeys(treeData, fieldNames) {
28
+ var keys = [];
29
+
30
+ function dig(list) {
31
+ list.forEach(function (item) {
32
+ keys.push(item[fieldNames.value]);
33
+ var children = item[fieldNames.children];
34
+
35
+ if (children) {
36
+ dig(children);
37
+ }
38
+ });
39
+ }
40
+
41
+ dig(treeData);
42
+ return keys;
43
+ }
44
+ export function isNil(val) {
45
+ return val === null || val === undefined;
46
+ }
@@ -0,0 +1,5 @@
1
+ import type { TreeSelectProps } from '../TreeSelect';
2
+ declare function warningProps(props: TreeSelectProps & {
3
+ searchPlaceholder?: string;
4
+ }): void;
5
+ export default warningProps;
@@ -0,0 +1,31 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
2
+ import warning from "rc-util/es/warning";
3
+ import { toArray } from './valueUtil';
4
+
5
+ function warningProps(props) {
6
+ var searchPlaceholder = props.searchPlaceholder,
7
+ treeCheckStrictly = props.treeCheckStrictly,
8
+ treeCheckable = props.treeCheckable,
9
+ labelInValue = props.labelInValue,
10
+ value = props.value,
11
+ multiple = props.multiple;
12
+ warning(!searchPlaceholder, '`searchPlaceholder` has been removed.');
13
+
14
+ if (treeCheckStrictly && labelInValue === false) {
15
+ warning(false, '`treeCheckStrictly` will force set `labelInValue` to `true`.');
16
+ }
17
+
18
+ if (labelInValue || treeCheckStrictly) {
19
+ warning(toArray(value).every(function (val) {
20
+ return val && _typeof(val) === 'object' && 'value' in val;
21
+ }), 'Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead.');
22
+ }
23
+
24
+ if (treeCheckStrictly || multiple || treeCheckable) {
25
+ warning(!value || Array.isArray(value), '`value` should be an array when `TreeSelect` is checkable or multiple.');
26
+ } else {
27
+ warning(!Array.isArray(value), '`value` should not be array when `TreeSelect` is single mode.');
28
+ }
29
+ }
30
+
31
+ export default warningProps;
@@ -222,6 +222,10 @@
222
222
  .acud-tree-select-dropdown .acud-select-tree-list-holder-inner .acud-select-tree-treenode .acud-select-tree-node-content-wrapper {
223
223
  flex: auto;
224
224
  }
225
+ .acud-tree-select-dropdown .acud-select-tree-select-all {
226
+ line-height: 22px;
227
+ padding: 0 0 4px 0;
228
+ }
225
229
  .acud-select-tree-checkbox-inner::after {
226
230
  top: 43%;
227
231
  left: 24%;
@@ -492,3 +496,9 @@
492
496
  .acud-tree-select-dropdown-rtl .acud-select-tree .acud-select-tree-switcher-loading-icon {
493
497
  transform: scaleY(-1);
494
498
  }
499
+ .acud-select-tree-checkbox-inner::after {
500
+ opacity: 0;
501
+ }
502
+ .acud-select-tree-checkbox-checked .acud-select-tree-checkbox-inner::after {
503
+ opacity: 1;
504
+ }
@@ -29,6 +29,11 @@
29
29
  }
30
30
  }
31
31
  }
32
+
33
+ &-select-all {
34
+ line-height: 22px;
35
+ padding: 0 0 4px 0;
36
+ }
32
37
  }
33
38
  }
34
39
  }
@@ -55,3 +60,9 @@
55
60
  }
56
61
  }
57
62
  }
63
+ .@{select-tree-prefix-cls}-checkbox-inner::after {
64
+ opacity: 0;
65
+ }
66
+ .@{select-tree-prefix-cls}-checkbox-checked .@{select-tree-prefix-cls}-checkbox-inner::after {
67
+ opacity: 1;
68
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ScreenSizeMap } from '../_util/responsiveObserve';
3
+ export declare type AvatarSize = 'large' | 'small' | 'default' | number | ScreenSizeMap;
4
+ declare const SizeContext: React.Context<AvatarSize>;
5
+ export interface SizeContextProps {
6
+ size?: AvatarSize;
7
+ children?: React.ReactNode;
8
+ }
9
+ export declare const SizeContextProvider: React.FC<SizeContextProps>;
10
+ export default SizeContext;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.SizeContextProvider = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var SizeContext = /*#__PURE__*/_react["default"].createContext('default');
13
+
14
+ var SizeContextProvider = function SizeContextProvider(_ref) {
15
+ var children = _ref.children,
16
+ size = _ref.size;
17
+ return /*#__PURE__*/_react["default"].createElement(SizeContext.Consumer, null, function (originSize) {
18
+ return /*#__PURE__*/_react["default"].createElement(SizeContext.Provider, {
19
+ value: size || originSize
20
+ }, children);
21
+ });
22
+ };
23
+
24
+ exports.SizeContextProvider = SizeContextProvider;
25
+ var _default = SizeContext;
26
+ exports["default"] = _default;
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { AvatarSize } from './SizeContext';
3
+ export interface AvatarProps {
4
+ /** Shape of avatar, options: `circle`, `square` */
5
+ shape?: 'circle' | 'square';
6
+ size?: AvatarSize;
7
+ gap?: number;
8
+ /** Src of image avatar */
9
+ src?: React.ReactNode;
10
+ /** Srcset of image avatar */
11
+ srcSet?: string;
12
+ draggable?: boolean;
13
+ /** Icon to be used in avatar */
14
+ icon?: React.ReactNode;
15
+ style?: React.CSSProperties;
16
+ prefixCls?: string;
17
+ className?: string;
18
+ children?: React.ReactNode;
19
+ alt?: string;
20
+ crossOrigin?: '' | 'anonymous' | 'use-credentials';
21
+ onClick?: (e?: React.MouseEvent<HTMLElement>) => void;
22
+ onError?: () => boolean;
23
+ }
24
+ declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<unknown>>;
25
+ export default Avatar;