@kdcloudjs/kdesign 1.7.45 → 1.7.46

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.
@@ -80,7 +80,7 @@ var getBorderWidth = function getBorderWidth(el) {
80
80
  var _context, _context2;
81
81
  var parentBorder = getBorderWidth(el.offsetParent);
82
82
  border.top += parentBorder.top + parseInt(_sliceInstanceProperty(_context = getComputedStyle(el.offsetParent, null).borderTopWidth).call(_context, 0, -2));
83
- border.left += parentBorder.left + parseInt(_sliceInstanceProperty(_context2 = getComputedStyle(el.offsetParent, null).borderTopWidth).call(_context2, 0, -2));
83
+ border.left += parentBorder.left + parseInt(_sliceInstanceProperty(_context2 = getComputedStyle(el.offsetParent, null).borderLeftWidth).call(_context2, 0, -2));
84
84
  }
85
85
  return border;
86
86
  };
@@ -232,7 +232,9 @@ var InternalSelect = function InternalSelect(props, ref) {
232
232
  var handleOption = function handleOption(city) {
233
233
  var _a;
234
234
  handleVisibleChange(false);
235
- city.type = tabsValue === 'domestic' ? 'domestic' : 'foreign';
235
+ if (!city.type) {
236
+ city.type = tabsValue === 'domestic' ? 'domestic' : 'foreign';
237
+ }
236
238
  (city === null || city === void 0 ? void 0 : city.id) !== initValue && (onChange === null || onChange === void 0 ? void 0 : onChange(city === null || city === void 0 ? void 0 : city.id, city));
237
239
  (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
238
240
  setAfterChangeFocus(true);
@@ -338,6 +338,7 @@ declare const compDefaultProps: {
338
338
  switcherIcon: () => JSX.Element;
339
339
  estimatedItemSize: number;
340
340
  expandOnClickNode: boolean;
341
+ expandOnFilterNode: boolean;
341
342
  };
342
343
  TreeNode: {};
343
344
  ToolTip: {
@@ -351,7 +351,8 @@ var compDefaultProps = {
351
351
  });
352
352
  },
353
353
  estimatedItemSize: 32,
354
- expandOnClickNode: true
354
+ expandOnClickNode: true,
355
+ expandOnFilterNode: false
355
356
  },
356
357
  TreeNode: {},
357
358
  ToolTip: {
@@ -1,12 +1,20 @@
1
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
2
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
3
+ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
4
+ import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
1
5
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
6
  import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
3
7
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
4
8
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
9
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
10
+ function _unsupportedIterableToArray(o, minLen) { var _context6; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context6 = Object.prototype.toString.call(o)).call(_context6, 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); }
11
+ 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; }
5
12
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
6
13
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
7
14
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
8
15
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
9
16
  import _spliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/splice";
17
+ import _Set from "@babel/runtime-corejs3/core-js-stable/set";
10
18
  import _findIndexInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find-index";
11
19
  import React, { useContext, useRef, useEffect, useState, useCallback, useLayoutEffect, useMemo, useImperativeHandle } from 'react';
12
20
  import { useMergedState } from '../_utils/hooks';
@@ -376,14 +384,39 @@ var InternalSelect = function InternalSelect(props, ref) {
376
384
  setSearchValue('');
377
385
  onSelect && onSelect(key); // 下拉项被选中时调用,参数为选中项value或key
378
386
  };
387
+
388
+ var removeIntersection = function removeIntersection(selectedItems, filteredItems) {
389
+ var filteredValues = new _Set(_mapInstanceProperty(filteredItems).call(filteredItems, function (item) {
390
+ var _a;
391
+ return item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value);
392
+ }));
393
+ var filteredSelectedItems = [];
394
+ var filteredSelectedValues = [];
395
+ var _iterator = _createForOfIteratorHelper(selectedItems),
396
+ _step;
397
+ try {
398
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
399
+ var item = _step.value;
400
+ if (!filteredValues.has(item.value)) {
401
+ filteredSelectedItems.push(item);
402
+ filteredSelectedValues.push(item.value);
403
+ }
404
+ }
405
+ } catch (err) {
406
+ _iterator.e(err);
407
+ } finally {
408
+ _iterator.f();
409
+ }
410
+ return [filteredSelectedValues, filteredSelectedItems];
411
+ };
379
412
  // 多选模式下选中所有 与清除所有 (可以优化)
380
- var handleSelectAll = function handleSelectAll() {
413
+ var handleSelectAll = function handleSelectAll(checked) {
381
414
  var _multipleRef$current3 = multipleRef.current,
382
415
  selectedVal = _multipleRef$current3.selectedVal,
383
416
  selectMulOpts = _multipleRef$current3.selectMulOpts;
384
417
  var newSelectedVal = _toConsumableArray(selectedVal);
385
418
  var newSelectMulOpts = _toConsumableArray(selectMulOpts);
386
- if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== newSelectedVal.length) {
419
+ if (!checked) {
387
420
  _mapInstanceProperty(filledOptions).call(filledOptions, function (child) {
388
421
  var _ref = child.props || child,
389
422
  value = _ref.value;
@@ -402,12 +435,15 @@ var InternalSelect = function InternalSelect(props, ref) {
402
435
  setSearchValue('');
403
436
  }
404
437
  } else {
405
- newSelectedVal = [];
406
- newSelectMulOpts = [];
438
+ ;
439
+ var _removeIntersection = removeIntersection(newSelectMulOpts, filledOptions);
440
+ var _removeIntersection2 = _slicedToArray(_removeIntersection, 2);
441
+ newSelectedVal = _removeIntersection2[0];
442
+ newSelectMulOpts = _removeIntersection2[1];
407
443
  if (typeof value === 'undefined') {
408
- multipleRef.current.selectedVal = [];
409
- multipleRef.current.selectMulOpts = [];
410
- setMulOptions([]);
444
+ multipleRef.current.selectedVal = newSelectedVal;
445
+ multipleRef.current.selectMulOpts = newSelectMulOpts;
446
+ setMulOptions(_toConsumableArray(newSelectMulOpts));
411
447
  }
412
448
  }
413
449
  onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
@@ -528,6 +564,33 @@ var InternalSelect = function InternalSelect(props, ref) {
528
564
  }
529
565
  }, [isShowSearch, autoFocus, disabled]);
530
566
  var optionsListRef = React.useRef(null);
567
+ var getCheckedState = function getCheckedState(selectedItems, filteredItems) {
568
+ var _a;
569
+ var valuesSet = new _Set(_mapInstanceProperty(selectedItems).call(selectedItems, function (item) {
570
+ return item.value;
571
+ }));
572
+ var number = 0;
573
+ var _iterator2 = _createForOfIteratorHelper(filteredItems),
574
+ _step2;
575
+ try {
576
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
577
+ var item = _step2.value;
578
+ if (valuesSet.has(item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value))) {
579
+ number += 1;
580
+ }
581
+ }
582
+ } catch (err) {
583
+ _iterator2.e(err);
584
+ } finally {
585
+ _iterator2.f();
586
+ }
587
+ var checked = number > 0 && number === filteredItems.length;
588
+ var indeterminate = number > 0 && number < filteredItems.length;
589
+ return {
590
+ checked: checked,
591
+ indeterminate: indeterminate
592
+ };
593
+ };
531
594
  // 渲染下拉列表框
532
595
  var renderContent = function renderContent() {
533
596
  var dropdownRender = selectProps.dropdownRender,
@@ -567,8 +630,9 @@ var InternalSelect = function InternalSelect(props, ref) {
567
630
  height: '30px',
568
631
  background: 'none'
569
632
  };
570
- var indeterminate = mulOptions.length > 0 && mulOptions.length < filledOptions.length;
571
- var checked = mulOptions.length > 0 && mulOptions.length === filledOptions.length;
633
+ var _getCheckedState = getCheckedState(mulOptions, filledOptions),
634
+ checked = _getCheckedState.checked,
635
+ indeterminate = _getCheckedState.indeterminate;
572
636
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
573
637
  className: dropDownCls,
574
638
  style: dropdownStyle,
@@ -579,7 +643,9 @@ var InternalSelect = function InternalSelect(props, ref) {
579
643
  style: checkboxStyle,
580
644
  checked: checked,
581
645
  indeterminate: indeterminate,
582
- onChange: handleSelectAll
646
+ onChange: function onChange() {
647
+ return handleSelectAll(checked);
648
+ }
583
649
  }, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/React.createElement("span", {
584
650
  className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
585
651
  }, locale.getLangMsg('Select', 'seleted', {
package/es/tree/tree.d.ts CHANGED
@@ -43,6 +43,7 @@ export interface TreeProps {
43
43
  showIcon?: boolean;
44
44
  style?: React.CSSProperties;
45
45
  className?: string;
46
+ expandOnFilterNode?: boolean;
46
47
  }
47
48
  export declare type TreeNodeData = {
48
49
  checkable?: boolean;
package/es/tree/tree.js CHANGED
@@ -82,7 +82,8 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
82
82
  loadData = TreeProps.loadData,
83
83
  notFoundContent = TreeProps.notFoundContent,
84
84
  showLine = TreeProps.showLine,
85
- others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine"]);
85
+ expandOnFilterNode = TreeProps.expandOnFilterNode,
86
+ others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine", "expandOnFilterNode"]);
86
87
  var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
87
88
  var treeNodeClassName = classNames(className, (_classNames = {}, _defineProperty(_classNames, "".concat(treePrefixCls), true), _defineProperty(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
88
89
  var treeRootClassName = "".concat(treePrefixCls, "-root");
@@ -142,7 +143,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
142
143
  setSearchStatus('NONE');
143
144
  }
144
145
  }, [filterValue]);
145
- var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue),
146
+ var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode),
146
147
  _useExpand2 = _slicedToArray(_useExpand, 2),
147
148
  expandedKeys = _useExpand2[0],
148
149
  setExpandedKeys = _useExpand2[1];
@@ -158,8 +159,8 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
158
159
  setCheckedKeys = _useChecked2[2],
159
160
  setHalfCheckedKeys = _useChecked2[3];
160
161
  var filterData = React.useMemo(function () {
161
- return getFilterData(spreadAttrData, filterTreeNode, isSearching, posData, keysData);
162
- }, [spreadAttrData, isSearching, posData, keysData, filterValue]);
162
+ return getFilterData(spreadAttrData, filterTreeNode, isSearching, posData, keysData, expandOnFilterNode);
163
+ }, [spreadAttrData, isSearching, posData, keysData, filterValue, expandOnFilterNode]);
163
164
  useEffect(function () {
164
165
  var _a, _b;
165
166
  if (typeof scrollKey === 'undefined') {
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string, expandOnFilterNode: boolean) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
@@ -59,15 +59,15 @@ export var useChecked = function useChecked(checkStrictly, checkedKeysProps, def
59
59
  }, [nextHalfCheckedKeys]);
60
60
  return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
61
61
  };
62
- export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue) {
62
+ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode) {
63
63
  var expandScrollkeys = [];
64
64
  if (scrollKey) {
65
65
  var pos = getPos(flattenAllData, scrollKey);
66
66
  expandScrollkeys = getAllParentKeys(flattenAllData, pos);
67
67
  }
68
68
  var initialExpandedKeys = React.useMemo(function () {
69
- return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus);
70
- }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus, filterValue]);
69
+ return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus, expandOnFilterNode);
70
+ }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus, filterValue, expandOnFilterNode]);
71
71
  var _React$useState7 = React.useState(initialExpandedKeys),
72
72
  _React$useState8 = _slicedToArray(_React$useState7, 2),
73
73
  expandedKeys = _React$useState8[0],
@@ -17,8 +17,8 @@ export declare const getChecked: (checkedKeys: string[], key: string) => boolean
17
17
  export declare const getSelected: (selectedKeys: string[], key: string) => boolean;
18
18
  export declare const getHalfChecked: (halfCheckedKeys: string[], key: string) => boolean;
19
19
  export declare function findfilterChildrenKeys(node: any, allFilterKeys: Set<any>): Set<string>;
20
- export declare const getAllFilterKeys: (data: any[], filterTreeNode: FunctionConstructor, keysData: KeysDataType) => any;
21
- export declare const getFilterData: (data: any[], filterTreeNode: FunctionConstructor, isSearching: boolean, posData?: {}, keysData?: {}) => any[];
20
+ export declare const getAllFilterKeys: (data: any[], filterTreeNode: FunctionConstructor, keysData: KeysDataType, expandOnFilterNode: boolean) => any;
21
+ export declare const getFilterData: (data: any[], filterTreeNode: FunctionConstructor, isSearching: boolean, posData: {} | undefined, keysData: {} | undefined, expandOnFilterNode: boolean) => any[];
22
22
  export declare const getMaxLevel: (data: any[]) => number;
23
23
  /**
24
24
  *计算node的属性后返回新的 treedata
@@ -60,6 +60,6 @@ export declare const getDataCheckededStateStrictly: (checkedKeys: string[]) => {
60
60
  };
61
61
  export declare const delKey: (prevKeys: string[], delKeys: string[]) => never[] & string[];
62
62
  export declare const getAllNodeKeys: (data: any[]) => string[];
63
- export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, isInit: boolean, searchStatus: SearchStatus) => string[];
63
+ export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, isInit: boolean, searchStatus: SearchStatus, expandOnFilterNode: boolean) => string[];
64
64
  export declare const getExpandedKeys: (expandedKeys: string[], expandScrollkeys?: string[]) => string[];
65
65
  export declare const calcDropPosition: (event: React.MouseEvent, dropNode: HTMLElement) => 0 | 1 | -1;
@@ -118,7 +118,7 @@ export function findfilterChildrenKeys(node, allFilterKeys) {
118
118
  }
119
119
  return nodes;
120
120
  }
121
- export var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, keysData) {
121
+ export var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, keysData, expandOnFilterNode) {
122
122
  var allFilterKeys = new _Set();
123
123
  var filterExpandKeys = new _Set();
124
124
  var filterKeys = _filterInstanceProperty(data).call(data, function (item) {
@@ -128,10 +128,15 @@ export var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, ke
128
128
  findfilterChildrenKeys(item, allFilterKeys);
129
129
  });
130
130
  filterKeys.forEach(function (item) {
131
+ var firstIteration = true;
131
132
  var node = _extends({}, item);
132
133
  while (node) {
133
134
  allFilterKeys.add(node.key);
134
- filterExpandKeys.add(node.key);
135
+ // expandOnFilterNode为true时,不将filterKeys中的节点添加到filterExpandKeys
136
+ if (!expandOnFilterNode || !firstIteration) {
137
+ filterExpandKeys.add(node.key);
138
+ }
139
+ firstIteration = false;
135
140
  node = (keysData === null || keysData === void 0 ? void 0 : keysData[node === null || node === void 0 ? void 0 : node.parentKey]) || null;
136
141
  }
137
142
  });
@@ -143,10 +148,11 @@ export var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, ke
143
148
  export var getFilterData = function getFilterData(data, filterTreeNode, isSearching) {
144
149
  var posData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
145
150
  var keysData = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
151
+ var expandOnFilterNode = arguments.length > 5 ? arguments[5] : undefined;
146
152
  var filterData = data;
147
153
  var allFilterKeys = null;
148
154
  if (isSearching) {
149
- allFilterKeys = getAllFilterKeys(filterData, filterTreeNode, keysData).allFilterKeys;
155
+ allFilterKeys = getAllFilterKeys(filterData, filterTreeNode, keysData, expandOnFilterNode).allFilterKeys;
150
156
  filterData = _filterInstanceProperty(filterData).call(filterData, function (item) {
151
157
  return _includesInstanceProperty(allFilterKeys).call(allFilterKeys, item.key);
152
158
  });
@@ -464,6 +470,7 @@ export function getAllCheckedKeys(key, checked, checkedKeys, keysNodeProps, half
464
470
  halfCheckedKeysSet.delete(key);
465
471
  childKeys.forEach(function (v) {
466
472
  allKeys.add(v);
473
+ halfCheckedKeysSet.delete(v);
467
474
  });
468
475
  } else {
469
476
  halfCheckedKeysSet.delete(key);
@@ -585,6 +592,7 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
585
592
  var keysData = arguments.length > 9 ? arguments[9] : undefined;
586
593
  var isInit = arguments.length > 10 ? arguments[10] : undefined;
587
594
  var searchStatus = arguments.length > 11 ? arguments[11] : undefined;
595
+ var expandOnFilterNode = arguments.length > 12 ? arguments[12] : undefined;
588
596
  var keys = (expandedKeys === null || expandedKeys === void 0 ? void 0 : _concatInstanceProperty(expandedKeys).call(expandedKeys, expandScrollkeys)) || (defaultExpandedKeys === null || defaultExpandedKeys === void 0 ? void 0 : _concatInstanceProperty(defaultExpandedKeys).call(defaultExpandedKeys, expandScrollkeys)) || [];
589
597
  if (isInit) {
590
598
  if (defaultExpandAll) {
@@ -606,7 +614,7 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
606
614
  }
607
615
  }
608
616
  if (isSearching && searchStatus === 'SEARCH_START') {
609
- keys = _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys);
617
+ keys = _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData, expandOnFilterNode).filterExpandKeys);
610
618
  }
611
619
  return keys;
612
620
  };
@@ -94,7 +94,7 @@ var getBorderWidth = function getBorderWidth(el) {
94
94
  var _context, _context2;
95
95
  var parentBorder = getBorderWidth(el.offsetParent);
96
96
  border.top += parentBorder.top + parseInt((0, _slice.default)(_context = getComputedStyle(el.offsetParent, null).borderTopWidth).call(_context, 0, -2));
97
- border.left += parentBorder.left + parseInt((0, _slice.default)(_context2 = getComputedStyle(el.offsetParent, null).borderTopWidth).call(_context2, 0, -2));
97
+ border.left += parentBorder.left + parseInt((0, _slice.default)(_context2 = getComputedStyle(el.offsetParent, null).borderLeftWidth).call(_context2, 0, -2));
98
98
  }
99
99
  return border;
100
100
  };
@@ -32,9 +32,6 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
32
32
  }
33
33
  return t;
34
34
  };
35
-
36
- // import { Icon } from '../index'
37
-
38
35
  var CheckboxTypes = (0, _type.tuple)('default', 'square');
39
36
  exports.CheckboxTypes = CheckboxTypes;
40
37
  var CheckboxSizes = (0, _type.tuple)('large', 'middle', 'small');
@@ -244,7 +244,9 @@ var InternalSelect = function InternalSelect(props, ref) {
244
244
  var handleOption = function handleOption(city) {
245
245
  var _a;
246
246
  handleVisibleChange(false);
247
- city.type = tabsValue === 'domestic' ? 'domestic' : 'foreign';
247
+ if (!city.type) {
248
+ city.type = tabsValue === 'domestic' ? 'domestic' : 'foreign';
249
+ }
248
250
  (city === null || city === void 0 ? void 0 : city.id) !== initValue && (onChange === null || onChange === void 0 ? void 0 : onChange(city === null || city === void 0 ? void 0 : city.id, city));
249
251
  (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
250
252
  setAfterChangeFocus(true);
@@ -338,6 +338,7 @@ declare const compDefaultProps: {
338
338
  switcherIcon: () => JSX.Element;
339
339
  estimatedItemSize: number;
340
340
  expandOnClickNode: boolean;
341
+ expandOnFilterNode: boolean;
341
342
  };
342
343
  TreeNode: {};
343
344
  ToolTip: {
@@ -362,7 +362,8 @@ var compDefaultProps = {
362
362
  });
363
363
  },
364
364
  estimatedItemSize: 32,
365
- expandOnClickNode: true
365
+ expandOnClickNode: true,
366
+ expandOnFilterNode: false
366
367
  },
367
368
  TreeNode: {},
368
369
  ToolTip: {
@@ -348,9 +348,6 @@ function setTime(date, _ref) {
348
348
  second = _ref$second === void 0 ? 0 : _ref$second;
349
349
  return (0, _setHours.default)((0, _setMinutes.default)((0, _setSeconds.default)(date, second), minute), hour);
350
350
  }
351
-
352
- // ** Date Getters **
353
-
354
351
  function getWeek(date) {
355
352
  return (0, _getWeek.default)(date);
356
353
  }
@@ -378,8 +375,7 @@ function getEndOfWeek(date) {
378
375
  }
379
376
  // ** Date Math **
380
377
  // *** Addition ***
381
- // *** Subtraction ***
382
- // ** Date Comparison **
378
+
383
379
  function isSameYear(date1, date2) {
384
380
  var equal = isNullEqual(date1, date2);
385
381
  if (typeof equal === 'boolean') {
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
5
+ var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
+ var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
7
+ var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
4
8
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
9
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
10
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
@@ -13,6 +17,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
13
17
  var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
14
18
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
15
19
  var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
20
+ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
16
21
  var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
17
22
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
18
23
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
@@ -32,6 +37,9 @@ var _virtualList = _interopRequireDefault(require("../virtual-list"));
32
37
  var _KeyCode = _interopRequireDefault(require("../_utils/KeyCode"));
33
38
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
39
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
41
+ function _unsupportedIterableToArray(o, minLen) { var _context6; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context6 = Object.prototype.toString.call(o)).call(_context6, 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); }
42
+ 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; }
35
43
  var INPUT_MIN_WIDTH = 4; // 输入框最小宽度
36
44
  var InternalSelect = function InternalSelect(props, ref) {
37
45
  var _context, _classNames5, _classNames6, _classNames12, _context5;
@@ -388,14 +396,39 @@ var InternalSelect = function InternalSelect(props, ref) {
388
396
  setSearchValue('');
389
397
  onSelect && onSelect(key); // 下拉项被选中时调用,参数为选中项value或key
390
398
  };
399
+
400
+ var removeIntersection = function removeIntersection(selectedItems, filteredItems) {
401
+ var filteredValues = new _set.default((0, _map.default)(filteredItems).call(filteredItems, function (item) {
402
+ var _a;
403
+ return item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value);
404
+ }));
405
+ var filteredSelectedItems = [];
406
+ var filteredSelectedValues = [];
407
+ var _iterator = _createForOfIteratorHelper(selectedItems),
408
+ _step;
409
+ try {
410
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
411
+ var item = _step.value;
412
+ if (!filteredValues.has(item.value)) {
413
+ filteredSelectedItems.push(item);
414
+ filteredSelectedValues.push(item.value);
415
+ }
416
+ }
417
+ } catch (err) {
418
+ _iterator.e(err);
419
+ } finally {
420
+ _iterator.f();
421
+ }
422
+ return [filteredSelectedValues, filteredSelectedItems];
423
+ };
391
424
  // 多选模式下选中所有 与清除所有 (可以优化)
392
- var handleSelectAll = function handleSelectAll() {
425
+ var handleSelectAll = function handleSelectAll(checked) {
393
426
  var _multipleRef$current3 = multipleRef.current,
394
427
  selectedVal = _multipleRef$current3.selectedVal,
395
428
  selectMulOpts = _multipleRef$current3.selectMulOpts;
396
429
  var newSelectedVal = (0, _toConsumableArray2.default)(selectedVal);
397
430
  var newSelectMulOpts = (0, _toConsumableArray2.default)(selectMulOpts);
398
- if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== newSelectedVal.length) {
431
+ if (!checked) {
399
432
  (0, _map.default)(filledOptions).call(filledOptions, function (child) {
400
433
  var _ref = child.props || child,
401
434
  value = _ref.value;
@@ -414,12 +447,15 @@ var InternalSelect = function InternalSelect(props, ref) {
414
447
  setSearchValue('');
415
448
  }
416
449
  } else {
417
- newSelectedVal = [];
418
- newSelectMulOpts = [];
450
+ ;
451
+ var _removeIntersection = removeIntersection(newSelectMulOpts, filledOptions);
452
+ var _removeIntersection2 = (0, _slicedToArray2.default)(_removeIntersection, 2);
453
+ newSelectedVal = _removeIntersection2[0];
454
+ newSelectMulOpts = _removeIntersection2[1];
419
455
  if (typeof value === 'undefined') {
420
- multipleRef.current.selectedVal = [];
421
- multipleRef.current.selectMulOpts = [];
422
- setMulOptions([]);
456
+ multipleRef.current.selectedVal = newSelectedVal;
457
+ multipleRef.current.selectMulOpts = newSelectMulOpts;
458
+ setMulOptions((0, _toConsumableArray2.default)(newSelectMulOpts));
423
459
  }
424
460
  }
425
461
  onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
@@ -540,6 +576,33 @@ var InternalSelect = function InternalSelect(props, ref) {
540
576
  }
541
577
  }, [isShowSearch, autoFocus, disabled]);
542
578
  var optionsListRef = _react.default.useRef(null);
579
+ var getCheckedState = function getCheckedState(selectedItems, filteredItems) {
580
+ var _a;
581
+ var valuesSet = new _set.default((0, _map.default)(selectedItems).call(selectedItems, function (item) {
582
+ return item.value;
583
+ }));
584
+ var number = 0;
585
+ var _iterator2 = _createForOfIteratorHelper(filteredItems),
586
+ _step2;
587
+ try {
588
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
589
+ var item = _step2.value;
590
+ if (valuesSet.has(item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value))) {
591
+ number += 1;
592
+ }
593
+ }
594
+ } catch (err) {
595
+ _iterator2.e(err);
596
+ } finally {
597
+ _iterator2.f();
598
+ }
599
+ var checked = number > 0 && number === filteredItems.length;
600
+ var indeterminate = number > 0 && number < filteredItems.length;
601
+ return {
602
+ checked: checked,
603
+ indeterminate: indeterminate
604
+ };
605
+ };
543
606
  // 渲染下拉列表框
544
607
  var renderContent = function renderContent() {
545
608
  var dropdownRender = selectProps.dropdownRender,
@@ -579,8 +642,9 @@ var InternalSelect = function InternalSelect(props, ref) {
579
642
  height: '30px',
580
643
  background: 'none'
581
644
  };
582
- var indeterminate = mulOptions.length > 0 && mulOptions.length < filledOptions.length;
583
- var checked = mulOptions.length > 0 && mulOptions.length === filledOptions.length;
645
+ var _getCheckedState = getCheckedState(mulOptions, filledOptions),
646
+ checked = _getCheckedState.checked,
647
+ indeterminate = _getCheckedState.indeterminate;
584
648
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
585
649
  className: dropDownCls,
586
650
  style: dropdownStyle,
@@ -591,7 +655,9 @@ var InternalSelect = function InternalSelect(props, ref) {
591
655
  style: checkboxStyle,
592
656
  checked: checked,
593
657
  indeterminate: indeterminate,
594
- onChange: handleSelectAll
658
+ onChange: function onChange() {
659
+ return handleSelectAll(checked);
660
+ }
595
661
  }, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/_react.default.createElement("span", {
596
662
  className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
597
663
  }, locale.getLangMsg('Select', 'seleted', {
@@ -43,6 +43,7 @@ export interface TreeProps {
43
43
  showIcon?: boolean;
44
44
  style?: React.CSSProperties;
45
45
  className?: string;
46
+ expandOnFilterNode?: boolean;
46
47
  }
47
48
  export declare type TreeNodeData = {
48
49
  checkable?: boolean;
package/lib/tree/tree.js CHANGED
@@ -94,7 +94,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
94
94
  loadData = TreeProps.loadData,
95
95
  notFoundContent = TreeProps.notFoundContent,
96
96
  showLine = TreeProps.showLine,
97
- others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine"]);
97
+ expandOnFilterNode = TreeProps.expandOnFilterNode,
98
+ others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine", "expandOnFilterNode"]);
98
99
  var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
99
100
  var treeNodeClassName = (0, _classnames.default)(className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls), true), (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
100
101
  var treeRootClassName = "".concat(treePrefixCls, "-root");
@@ -154,7 +155,7 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
154
155
  setSearchStatus('NONE');
155
156
  }
156
157
  }, [filterValue]);
157
- var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue),
158
+ var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode),
158
159
  _useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
159
160
  expandedKeys = _useExpand2[0],
160
161
  setExpandedKeys = _useExpand2[1];
@@ -170,8 +171,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
170
171
  setCheckedKeys = _useChecked2[2],
171
172
  setHalfCheckedKeys = _useChecked2[3];
172
173
  var filterData = _react.default.useMemo(function () {
173
- return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching, posData, keysData);
174
- }, [spreadAttrData, isSearching, posData, keysData, filterValue]);
174
+ return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching, posData, keysData, expandOnFilterNode);
175
+ }, [spreadAttrData, isSearching, posData, keysData, filterValue, expandOnFilterNode]);
175
176
  (0, _react.useEffect)(function () {
176
177
  var _a, _b;
177
178
  if (typeof scrollKey === 'undefined') {
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus, filterValue: string, expandOnFilterNode: boolean) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];