@douyinfe/semi-ui 2.46.2 → 2.47.0

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.
@@ -36271,6 +36271,7 @@ var uniq_default = /*#__PURE__*/__webpack_require__.n(uniq);
36271
36271
 
36272
36272
 
36273
36273
 
36274
+
36274
36275
  /**
36275
36276
  * Part of the utils function implementation process reference
36276
36277
  * https://github.com/react-component/tree/blob/master/src/util.tsx
@@ -36289,17 +36290,27 @@ function treeUtil_isValid(val) {
36289
36290
  * @param filteredShownKeys
36290
36291
  * need expanded keys, provides `true` means all expanded
36291
36292
  */
36292
- function flattenTreeData(treeNodeList, expandedKeys) {
36293
- let filteredShownKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
36293
+ function flattenTreeData(treeNodeList, expandedKeys, keyMaps) {
36294
+ let filteredShownKeys = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
36294
36295
  const flattenList = [];
36295
36296
  const filterSearch = Boolean(filteredShownKeys);
36297
+ const realKeyName = get_default()(keyMaps, 'key', 'key');
36298
+ const realChildrenName = get_default()(keyMaps, 'children', 'children');
36296
36299
  function flatten(list) {
36297
36300
  let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
36298
36301
  return list.map((treeNode, index) => {
36299
36302
  const pos = getPosition(parent ? parent.pos : '0', index);
36300
- const mergedKey = treeNode.key;
36303
+ const mergedKey = treeNode[realKeyName];
36304
+ const otherData = {};
36305
+ if (keyMaps) {
36306
+ Object.entries(omit_default()(keyMaps, 'children')).forEach(_ref => {
36307
+ let [key, value] = _ref;
36308
+ const result = treeNode[value];
36309
+ !isUndefined_default()(result) && (otherData[key] = result);
36310
+ });
36311
+ }
36301
36312
  // Add FlattenDataNode into list
36302
- const flattenNode = Object.assign(Object.assign({}, pick_default()(treeNode, ['key', 'label', 'value', 'icon', 'disabled', 'isLeaf'])), {
36313
+ const flattenNode = Object.assign(Object.assign(Object.assign({}, pick_default()(treeNode, ['key', 'label', 'value', 'icon', 'disabled', 'isLeaf'])), otherData), {
36303
36314
  parent,
36304
36315
  pos,
36305
36316
  children: null,
@@ -36312,7 +36323,7 @@ function flattenTreeData(treeNodeList, expandedKeys) {
36312
36323
  }
36313
36324
  // Loop treeNode children
36314
36325
  if (expandedKeys.has(mergedKey) && (!filterSearch || !isBooleanFilteredShownKeys && filteredShownKeys.has(mergedKey))) {
36315
- flattenNode.children = flatten(treeNode.children || [], flattenNode);
36326
+ flattenNode.children = flatten(treeNode[realChildrenName] || [], flattenNode);
36316
36327
  } else {
36317
36328
  flattenNode.children = [];
36318
36329
  }
@@ -36347,17 +36358,20 @@ function convertJsonToData(treeJson) {
36347
36358
  /**
36348
36359
  * Traverse all the data by `treeData`.
36349
36360
  */
36350
- function traverseDataNodes(treeNodes, callback) {
36361
+ function traverseDataNodes(treeNodes, callback, keyMaps) {
36362
+ const realKeyName = get_default()(keyMaps, 'key', 'key');
36363
+ const realChildrenName = get_default()(keyMaps, 'children', 'children');
36351
36364
  const processNode = (node, ind, parent) => {
36352
- const children = node ? node.children : treeNodes;
36365
+ const children = node ? node[realChildrenName] : treeNodes;
36353
36366
  const pos = node ? getPosition(parent.pos, ind) : '0';
36354
36367
  // Process node if is not root
36355
36368
  if (node) {
36369
+ const nodeKey = get_default()(node, realKeyName, null);
36356
36370
  const data = {
36357
36371
  data: Object.assign({}, node),
36358
36372
  ind,
36359
36373
  pos,
36360
- key: node.key !== null ? node.key : pos,
36374
+ key: nodeKey !== null ? nodeKey : pos,
36361
36375
  parentPos: parent.node ? parent.pos : null,
36362
36376
  level: Number(parent.level) + 1
36363
36377
  };
@@ -36377,7 +36391,7 @@ function traverseDataNodes(treeNodes, callback) {
36377
36391
  processNode(null);
36378
36392
  }
36379
36393
  /* Convert data to entities map */
36380
- function convertDataToEntities(dataNodes) {
36394
+ function convertDataToEntities(dataNodes, keyMaps) {
36381
36395
  const posEntities = {};
36382
36396
  const keyEntities = {};
36383
36397
  const valueEntities = {};
@@ -36386,6 +36400,7 @@ function convertDataToEntities(dataNodes) {
36386
36400
  keyEntities,
36387
36401
  valueEntities
36388
36402
  };
36403
+ const realValueName = get_default()(keyMaps, 'value', 'value');
36389
36404
  traverseDataNodes(dataNodes, data => {
36390
36405
  const {
36391
36406
  pos,
@@ -36393,7 +36408,7 @@ function convertDataToEntities(dataNodes) {
36393
36408
  parentPos
36394
36409
  } = data;
36395
36410
  const entity = Object.assign({}, data);
36396
- const value = get_default()(entity, 'data.value', null);
36411
+ const value = get_default()(entity, `data.${realValueName}`, null);
36397
36412
  if (value !== null) {
36398
36413
  valueEntities[value] = key;
36399
36414
  }
@@ -36405,7 +36420,7 @@ function convertDataToEntities(dataNodes) {
36405
36420
  entity.parent.children = entity.parent.children || [];
36406
36421
  entity.parent.children.push(entity);
36407
36422
  }
36408
- });
36423
+ }, keyMaps);
36409
36424
  return wrapper;
36410
36425
  }
36411
36426
  /* Get key by value */
@@ -36803,7 +36818,8 @@ function filterTreeData(info) {
36803
36818
  treeData,
36804
36819
  filterTreeNode,
36805
36820
  filterProps,
36806
- prevExpandedKeys
36821
+ prevExpandedKeys,
36822
+ keyMaps
36807
36823
  } = info;
36808
36824
  let filteredOptsKeys = [];
36809
36825
  filteredOptsKeys = Object.values(keyEntities).filter(item => filter(inputValue, item.data, filterTreeNode, filterProps)).map(item => item.key);
@@ -36814,7 +36830,7 @@ function filterTreeData(info) {
36814
36830
  }
36815
36831
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
36816
36832
  const filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
36817
- const flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
36833
+ const flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), keyMaps, showFilteredOnly && filteredShownKeys);
36818
36834
  return {
36819
36835
  flattenNodes,
36820
36836
  filteredKeys: new Set(filteredOptsKeys),
@@ -36823,16 +36839,18 @@ function filterTreeData(info) {
36823
36839
  };
36824
36840
  }
36825
36841
  // return data.value if data.value exist else fall back to key
36826
- function getValueOrKey(data) {
36842
+ function getValueOrKey(data, keyMaps) {
36843
+ const valueName = get_default()(keyMaps, 'value', 'value');
36844
+ const keyName = get_default()(keyMaps, 'key', 'key');
36827
36845
  if (Array.isArray(data)) {
36828
- return data.map(item => get_default()(item, 'value', item.key));
36846
+ return data.map(item => get_default()(item, valueName, item[keyName]));
36829
36847
  }
36830
- return get_default()(data, 'value', data.key);
36848
+ return get_default()(data, valueName, data[keyName]);
36831
36849
  }
36832
36850
  /* Convert value to string */
36833
- function normalizeValue(value, withObject) {
36851
+ function normalizeValue(value, withObject, keyMaps) {
36834
36852
  if (withObject && treeUtil_isValid(value)) {
36835
- return getValueOrKey(value);
36853
+ return getValueOrKey(value, keyMaps);
36836
36854
  } else {
36837
36855
  return value;
36838
36856
  }
@@ -36841,8 +36859,9 @@ function updateKeys(keySet, keyEntities) {
36841
36859
  const keyArr = [...keySet];
36842
36860
  return keyArr.filter(key => key in keyEntities);
36843
36861
  }
36844
- function calcDisabledKeys(keyEntities) {
36845
- const disabledKeys = Object.keys(keyEntities).filter(key => keyEntities[key].data.disabled);
36862
+ function calcDisabledKeys(keyEntities, keyMaps) {
36863
+ const disabledName = get_default()(keyMaps, 'disabled', 'disabled');
36864
+ const disabledKeys = Object.keys(keyEntities).filter(key => keyEntities[key].data[disabledName]);
36846
36865
  const {
36847
36866
  checkedKeys
36848
36867
  } = calcCheckedKeys(disabledKeys, keyEntities);
@@ -54553,25 +54572,34 @@ class inputFoundation_InputFoundation extends foundation {
54553
54572
  } = options;
54554
54573
  const {
54555
54574
  format,
54556
- type
54575
+ type,
54576
+ rangeSeparator
54557
54577
  } = this._adapter.getProps();
54558
54578
  const insetFormatToken = getInsetInputFormatToken({
54559
54579
  type,
54560
54580
  format
54561
54581
  });
54562
- let newInsetInputValue = set_default()(cloneDeep_default()(insetInputValue), valuePath, value);
54563
- newInsetInputValue = this._autoFillTimeToInsetInputValue({
54564
- insetInputValue: newInsetInputValue,
54582
+ const newInsetInputValue = set_default()(cloneDeep_default()(insetInputValue), valuePath, value);
54583
+ const insetInputStr = this.concatInsetInputValue({
54584
+ insetInputValue: newInsetInputValue
54585
+ });
54586
+ const parsedInsetInputValueFromInputStr = getInsetInputValueFromInsetInputStr({
54587
+ inputValue: insetInputStr,
54588
+ type,
54589
+ rangeSeparator
54590
+ });
54591
+ const filledTimeInsetInputValue = this._autoFillTimeToInsetInputValue({
54592
+ insetInputValue: parsedInsetInputValueFromInputStr,
54565
54593
  valuePath,
54566
54594
  format: insetFormatToken
54567
54595
  });
54568
- const newInputValue = this.concatInsetInputValue({
54569
- insetInputValue: newInsetInputValue
54596
+ const finalInsetInputStr = this.concatInsetInputValue({
54597
+ insetInputValue: filledTimeInsetInputValue
54570
54598
  });
54571
54599
  this._adapter.notifyInsetInputChange({
54572
- insetInputValue: newInsetInputValue,
54600
+ insetInputValue: filledTimeInsetInputValue,
54573
54601
  format: insetFormatToken,
54574
- insetInputStr: newInputValue
54602
+ insetInputStr: finalInsetInputStr
54575
54603
  });
54576
54604
  }
54577
54605
  _autoFillTimeToInsetInputValue(options) {
@@ -72510,7 +72538,8 @@ class Popconfirm extends BaseComponent {
72510
72538
  style,
72511
72539
  cancelType,
72512
72540
  icon,
72513
- prefixCls
72541
+ prefixCls,
72542
+ showCloseIcon
72514
72543
  } = this.props;
72515
72544
  const {
72516
72545
  direction
@@ -72544,14 +72573,14 @@ class Popconfirm extends BaseComponent {
72544
72573
  }, showTitle ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
72545
72574
  className: `${prefixCls}-header-title`,
72546
72575
  "x-semi-prop": "title"
72547
- }, title) : null), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(button_0, {
72576
+ }, title) : null), showCloseIcon ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(button_0, {
72548
72577
  className: `${prefixCls}-btn-close`,
72549
72578
  icon: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(IconClose, null),
72550
72579
  size: "small",
72551
72580
  theme: 'borderless',
72552
72581
  type: cancelType,
72553
72582
  onClick: this.handleCancel
72554
- })), showContent ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
72583
+ }) : null), showContent ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
72555
72584
  className: bodyCls,
72556
72585
  "x-semi-prop": "content"
72557
72586
  }, isFunction_default()(content) ? content({
@@ -72715,6 +72744,7 @@ Popconfirm.propTypes = {
72715
72744
  okButtonProps: (prop_types_default()).object,
72716
72745
  cancelButtonProps: (prop_types_default()).object,
72717
72746
  stopPropagation: prop_types_default().oneOfType([(prop_types_default()).bool, (prop_types_default()).string]),
72747
+ showCloseIcon: (prop_types_default()).bool,
72718
72748
  zIndex: (prop_types_default()).number,
72719
72749
  // private
72720
72750
  trigger: (prop_types_default()).string,
@@ -72733,6 +72763,7 @@ Popconfirm.defaultProps = {
72733
72763
  cancelType: 'tertiary',
72734
72764
  prefixCls: popconfirm_constants_cssClasses.PREFIX,
72735
72765
  zIndex: popconfirm_constants_numbers.DEFAULT_Z_INDEX,
72766
+ showCloseIcon: true,
72736
72767
  onCancel: (noop_default()),
72737
72768
  onConfirm: (noop_default()),
72738
72769
  onClickOutSide: (noop_default())
@@ -78861,9 +78892,9 @@ class TableFoundation extends foundation {
78861
78892
  }, pagination);
78862
78893
  if (!this._pagerIsControlled()) {
78863
78894
  const total = get_default()(propPagination, 'total', dataSource.length);
78864
- const pageSize = get_default()(propPagination, 'pageSize', pagination.pageSize);
78865
78895
  const {
78866
- currentPage
78896
+ currentPage,
78897
+ pageSize
78867
78898
  } = pagination;
78868
78899
  const realTotalPage = Math.ceil(total / pageSize);
78869
78900
  pagination.total = total;
@@ -87330,6 +87361,7 @@ class ToastFactory {
87330
87361
  */
87331
87362
 
87332
87363
 
87364
+
87333
87365
  class TreeFoundation extends foundation {
87334
87366
  constructor(adapter) {
87335
87367
  super(Object.assign({}, adapter));
@@ -87442,7 +87474,8 @@ class TreeFoundation extends foundation {
87442
87474
  } = this.getStates();
87443
87475
  const {
87444
87476
  leafOnly,
87445
- checkRelation
87477
+ checkRelation,
87478
+ keyMaps
87446
87479
  } = this.getProps();
87447
87480
  let value;
87448
87481
  let keyList = [];
@@ -87454,12 +87487,15 @@ class TreeFoundation extends foundation {
87454
87487
  if (this.getProp('onChangeWithObject')) {
87455
87488
  value = keyList.map(itemKey => keyEntities[itemKey].data);
87456
87489
  } else {
87457
- value = getValueOrKey(keyList.map(itemKey => keyEntities[itemKey].data));
87490
+ value = getValueOrKey(keyList.map(itemKey => keyEntities[itemKey].data), keyMaps);
87458
87491
  }
87459
87492
  this._adapter.notifyChange(value);
87460
87493
  }
87461
87494
  notifyChange(key, e) {
87462
87495
  const isMultiple = this._isMultiple();
87496
+ const {
87497
+ keyMaps
87498
+ } = this.getProps();
87463
87499
  const {
87464
87500
  keyEntities
87465
87501
  } = this.getStates();
@@ -87475,7 +87511,7 @@ class TreeFoundation extends foundation {
87475
87511
  const {
87476
87512
  data
87477
87513
  } = get_default()(keyEntities, key);
87478
- value = getValueOrKey(data);
87514
+ value = getValueOrKey(data, keyMaps);
87479
87515
  }
87480
87516
  this._adapter.notifyChange(value);
87481
87517
  }
@@ -87492,8 +87528,10 @@ class TreeFoundation extends foundation {
87492
87528
  const {
87493
87529
  showFilteredOnly,
87494
87530
  filterTreeNode,
87495
- treeNodeFilterProp
87531
+ treeNodeFilterProp,
87532
+ keyMaps
87496
87533
  } = this.getProps();
87534
+ const realFilterProp = treeNodeFilterProp !== 'label' ? treeNodeFilterProp : get_default()(keyMaps, 'label', 'label');
87497
87535
  let filteredOptsKeys = [];
87498
87536
  let expandedOptsKeys = [];
87499
87537
  let flattenNodes = [];
@@ -87501,13 +87539,13 @@ class TreeFoundation extends foundation {
87501
87539
  if (!sugInput) {
87502
87540
  expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
87503
87541
  expandedOptsKeys.forEach(item => expandedKeys.add(item));
87504
- flattenNodes = flattenTreeData(treeData, expandedKeys);
87542
+ flattenNodes = flattenTreeData(treeData, expandedKeys, keyMaps);
87505
87543
  } else {
87506
- filteredOptsKeys = Object.values(keyEntities).filter(item => filter(sugInput, item.data, filterTreeNode, treeNodeFilterProp)).map(item => item.key);
87544
+ filteredOptsKeys = Object.values(keyEntities).filter(item => filter(sugInput, item.data, filterTreeNode, realFilterProp)).map(item => item.key);
87507
87545
  expandedOptsKeys = findAncestorKeys(filteredOptsKeys, keyEntities, false);
87508
87546
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
87509
87547
  filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
87510
- flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
87548
+ flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), keyMaps, showFilteredOnly && filteredShownKeys);
87511
87549
  }
87512
87550
  const newFilteredExpandedKeys = new Set(expandedOptsKeys);
87513
87551
  this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
@@ -87675,6 +87713,9 @@ class TreeFoundation extends foundation {
87675
87713
  filteredShownKeys,
87676
87714
  keyEntities
87677
87715
  } = this.getStates();
87716
+ const {
87717
+ keyMaps
87718
+ } = this.getProps();
87678
87719
  const isSearching = Boolean(inputValue);
87679
87720
  const showFilteredOnly = this._showFilteredOnly();
87680
87721
  const expandedStateKey = isSearching ? 'filteredExpandedKeys' : 'expandedKeys';
@@ -87693,7 +87734,7 @@ class TreeFoundation extends foundation {
87693
87734
  }
87694
87735
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
87695
87736
  if (!this._isExpandControlled()) {
87696
- const flattenNodes = flattenTreeData(treeData, expandedKeys, isSearching && showFilteredOnly && filteredShownKeys);
87737
+ const flattenNodes = flattenTreeData(treeData, expandedKeys, keyMaps, isSearching && showFilteredOnly && filteredShownKeys);
87697
87738
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, expandedKeys, keyEntities) : [];
87698
87739
  const newState = {
87699
87740
  [expandedStateKey]: expandedKeys,
@@ -88600,13 +88641,7 @@ function NodeCollapsible(props) {
88600
88641
 
88601
88642
 
88602
88643
  const getTreeNodeKey = treeNode => {
88603
- const {
88604
- data
88605
- } = treeNode;
88606
- const {
88607
- key
88608
- } = data;
88609
- return key;
88644
+ return treeNode.key;
88610
88645
  };
88611
88646
  class NodeList extends external_root_React_commonjs2_react_commonjs_react_amd_react_.PureComponent {
88612
88647
  constructor(props) {
@@ -88718,6 +88753,8 @@ const IconSearch_IconComponent = convertIcon(IconSearch_SvgComponent, 'search');
88718
88753
 
88719
88754
 
88720
88755
 
88756
+
88757
+
88721
88758
  var tree_rest = undefined && undefined.__rest || function (s, e) {
88722
88759
  var t = {};
88723
88760
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -88859,17 +88896,20 @@ class Tree extends BaseComponent {
88859
88896
  };
88860
88897
  this.renderTreeNode = (treeNode, ind, style) => {
88861
88898
  const {
88862
- data
88863
- } = treeNode;
88864
- const {
88899
+ data,
88865
88900
  key
88866
- } = data;
88901
+ } = treeNode;
88867
88902
  const treeNodeProps = this.foundation.getTreeNodeProps(key);
88868
88903
  if (!treeNodeProps) {
88869
88904
  return null;
88870
88905
  }
88871
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, {
88872
- key: key,
88906
+ const {
88907
+ keyMaps
88908
+ } = this.props;
88909
+ const props = pick_default()(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']);
88910
+ const children = data[get_default()(keyMaps, 'children', 'children')];
88911
+ !isUndefined_default()(children) && (props.children = children);
88912
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, props, {
88873
88913
  data: data,
88874
88914
  style: isEmpty_default()(style) ? {} : style
88875
88915
  }));
@@ -88929,6 +88969,9 @@ class Tree extends BaseComponent {
88929
88969
  const {
88930
88970
  prevProps
88931
88971
  } = prevState;
88972
+ const {
88973
+ keyMaps
88974
+ } = props;
88932
88975
  let treeData;
88933
88976
  let keyEntities = prevState.keyEntities || {};
88934
88977
  let valueEntities = prevState.cachedKeyValuePairs || {};
@@ -88955,7 +88998,7 @@ class Tree extends BaseComponent {
88955
88998
  if (needUpdateTreeData || props.draggable && needUpdateData()) {
88956
88999
  treeData = props.treeData;
88957
89000
  newState.treeData = treeData;
88958
- const entitiesMap = convertDataToEntities(treeData);
89001
+ const entitiesMap = convertDataToEntities(treeData, keyMaps);
88959
89002
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
88960
89003
  keyEntities = newState.keyEntities;
88961
89004
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -88964,7 +89007,7 @@ class Tree extends BaseComponent {
88964
89007
  // Convert treeDataSimpleJson to treeData
88965
89008
  treeData = convertJsonToData(props.treeDataSimpleJson);
88966
89009
  newState.treeData = treeData;
88967
- const entitiesMap = convertDataToEntities(treeData);
89010
+ const entitiesMap = convertDataToEntities(treeData, keyMaps);
88968
89011
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
88969
89012
  keyEntities = newState.keyEntities;
88970
89013
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -89020,7 +89063,7 @@ class Tree extends BaseComponent {
89020
89063
  }
89021
89064
  // Update flattenNodes
89022
89065
  if (treeData || newState.expandedKeys) {
89023
- const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys);
89066
+ const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
89024
89067
  newState.flattenNodes = flattenNodes;
89025
89068
  }
89026
89069
  } else {
@@ -89035,7 +89078,8 @@ class Tree extends BaseComponent {
89035
89078
  filterProps: props.treeNodeFilterProp,
89036
89079
  showFilteredOnly: props.showFilteredOnly,
89037
89080
  keyEntities: newState.keyEntities,
89038
- prevExpandedKeys: [...prevState.filteredExpandedKeys]
89081
+ prevExpandedKeys: [...prevState.filteredExpandedKeys],
89082
+ keyMaps: keyMaps
89039
89083
  });
89040
89084
  newState.flattenNodes = filteredState.flattenNodes;
89041
89085
  newState.motionKeys = new Set([]);
@@ -89068,7 +89112,7 @@ class Tree extends BaseComponent {
89068
89112
  newState.motionType = motionType;
89069
89113
  }
89070
89114
  }
89071
- newState.flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, props.showFilteredOnly && prevState.filteredShownKeys);
89115
+ newState.flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, keyMaps, props.showFilteredOnly && prevState.filteredShownKeys);
89072
89116
  }
89073
89117
  }
89074
89118
  // Handle single selection and multiple selection in controlled mode
@@ -89079,26 +89123,26 @@ class Tree extends BaseComponent {
89079
89123
  if (needUpdate('value')) {
89080
89124
  newState.selectedKeys = findKeysForValues(
89081
89125
  // In both cases whether withObject is turned on, the value is standardized to string
89082
- normalizeValue(props.value, withObject), valueEntities, isMultiple);
89126
+ normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
89083
89127
  } else if (!prevProps && props.defaultValue) {
89084
- newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
89128
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
89085
89129
  } else if (treeData) {
89086
89130
  // If `treeData` changed, we also need check it
89087
89131
  if (props.value) {
89088
- newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject) || '', valueEntities, isMultiple);
89132
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || '', valueEntities, isMultiple);
89089
89133
  }
89090
89134
  }
89091
89135
  } else {
89092
89136
  let checkedKeyValues;
89093
89137
  // Get the selected node during multiple selection
89094
89138
  if (needUpdate('value')) {
89095
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject), valueEntities, isMultiple);
89139
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
89096
89140
  } else if (!prevProps && props.defaultValue) {
89097
- checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
89141
+ checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
89098
89142
  } else if (treeData) {
89099
89143
  // If `treeData` changed, we also need check it
89100
89144
  if (props.value) {
89101
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject) || [], valueEntities, isMultiple);
89145
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || [], valueEntities, isMultiple);
89102
89146
  } else {
89103
89147
  checkedKeyValues = updateKeys(props.checkRelation === 'related' ? prevState.checkedKeys : prevState.realCheckedKeys, keyEntities);
89104
89148
  }
@@ -89122,7 +89166,7 @@ class Tree extends BaseComponent {
89122
89166
  }
89123
89167
  // update disableStrictly
89124
89168
  if (treeData && props.disableStrictly && props.checkRelation === 'related') {
89125
- newState.disabledKeys = calcDisabledKeys(keyEntities);
89169
+ newState.disabledKeys = calcDisabledKeys(keyEntities, keyMaps);
89126
89170
  }
89127
89171
  return newState;
89128
89172
  }
@@ -89400,11 +89444,12 @@ Tree.propTypes = {
89400
89444
  showFilteredOnly: (prop_types_default()).bool,
89401
89445
  style: (prop_types_default()).object,
89402
89446
  treeData: prop_types_default().arrayOf(prop_types_default().shape({
89403
- key: (prop_types_default()).string.isRequired,
89447
+ key: (prop_types_default()).string,
89404
89448
  value: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).number]),
89405
89449
  label: (prop_types_default()).any,
89406
89450
  isLeaf: (prop_types_default()).bool
89407
89451
  })),
89452
+ keyMaps: (prop_types_default()).object,
89408
89453
  treeDataSimpleJson: (prop_types_default()).object,
89409
89454
  treeNodeFilterProp: (prop_types_default()).string,
89410
89455
  value: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).number, (prop_types_default()).array, (prop_types_default()).object]),
@@ -89563,8 +89608,11 @@ class TreeSelectFoundation extends foundation {
89563
89608
  findDataForValue(findValue) {
89564
89609
  const {
89565
89610
  value,
89566
- defaultValue
89611
+ defaultValue,
89612
+ keyMaps
89567
89613
  } = this.getProps();
89614
+ const realValueName = get_default()(keyMaps, 'value', 'value');
89615
+ const realKeyName = get_default()(keyMaps, 'key', 'key');
89568
89616
  let valueArr = [];
89569
89617
  if (value) {
89570
89618
  valueArr = Array.isArray(value) ? value : [value];
@@ -89572,16 +89620,19 @@ class TreeSelectFoundation extends foundation {
89572
89620
  valueArr = Array.isArray(defaultValue) ? defaultValue : [defaultValue];
89573
89621
  }
89574
89622
  return valueArr.find(item => {
89575
- return item.value === findValue || item.key === findValue;
89623
+ return item[realValueName] === findValue || item[realKeyName] === findValue;
89576
89624
  });
89577
89625
  }
89578
89626
  constructDataForValue(value) {
89579
89627
  const {
89580
- treeNodeLabelProp
89628
+ treeNodeLabelProp,
89629
+ keyMaps
89581
89630
  } = this.getProps();
89631
+ const keyName = get_default()(keyMaps, 'key', 'key');
89632
+ const labelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
89582
89633
  return {
89583
- key: value,
89584
- [treeNodeLabelProp]: value
89634
+ [keyName]: value,
89635
+ [labelName]: value
89585
89636
  };
89586
89637
  }
89587
89638
  getDataForKeyNotInKeyEntities(value) {
@@ -89698,7 +89749,8 @@ class TreeSelectFoundation extends foundation {
89698
89749
  } = this.getStates();
89699
89750
  const {
89700
89751
  leafOnly,
89701
- checkRelation
89752
+ checkRelation,
89753
+ keyMaps
89702
89754
  } = this.getProps();
89703
89755
  let keyList = [];
89704
89756
  if (checkRelation === 'related') {
@@ -89706,11 +89758,11 @@ class TreeSelectFoundation extends foundation {
89706
89758
  } else if (checkRelation === 'unRelated') {
89707
89759
  keyList = key;
89708
89760
  }
89709
- const nodes = keyList.map(key => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
89761
+ const nodes = keyList.map(key => keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
89710
89762
  if (this.getProp('onChangeWithObject')) {
89711
89763
  this._adapter.notifyChangeWithObject(nodes, e);
89712
89764
  } else {
89713
- const value = getValueOrKey(nodes);
89765
+ const value = getValueOrKey(nodes, keyMaps);
89714
89766
  this._adapter.notifyChange(value, nodes, e);
89715
89767
  }
89716
89768
  }
@@ -89718,11 +89770,14 @@ class TreeSelectFoundation extends foundation {
89718
89770
  const {
89719
89771
  keyEntities
89720
89772
  } = this.getStates();
89773
+ const {
89774
+ keyMaps
89775
+ } = this.getProps();
89721
89776
  if (this._isMultiple() && Array.isArray(key)) {
89722
89777
  this._notifyMultipleChange(key, e);
89723
89778
  } else {
89724
89779
  const nodes = isUndefined_default()(key) ? key : keyEntities[key].data;
89725
- const value = isUndefined_default()(key) ? key : getValueOrKey(nodes);
89780
+ const value = isUndefined_default()(key) ? key : getValueOrKey(nodes, keyMaps);
89726
89781
  if (this.getProp('onChangeWithObject')) {
89727
89782
  this._adapter.notifyChangeWithObject(nodes, e);
89728
89783
  } else {
@@ -89849,15 +89904,17 @@ class TreeSelectFoundation extends foundation {
89849
89904
  removeTag(eventKey) {
89850
89905
  const {
89851
89906
  disableStrictly,
89852
- checkRelation
89907
+ checkRelation,
89908
+ keyMaps
89853
89909
  } = this.getProps();
89854
89910
  const {
89855
89911
  keyEntities,
89856
89912
  disabledKeys,
89857
89913
  realCheckedKeys
89858
89914
  } = this.getStates();
89859
- const item = keyEntities[eventKey] && keyEntities[eventKey].data.key === eventKey ? keyEntities[eventKey].data : this.getDataForKeyNotInKeyEntities(eventKey);
89860
- if (item.disabled || disableStrictly && disabledKeys.has(eventKey)) {
89915
+ const item = keyEntities[eventKey] && keyEntities[eventKey].key === eventKey ? keyEntities[eventKey].data : this.getDataForKeyNotInKeyEntities(eventKey);
89916
+ const disabledName = get_default()(keyMaps, 'disabled', 'disabled');
89917
+ if (item[disabledName] || disableStrictly && disabledKeys.has(eventKey)) {
89861
89918
  return;
89862
89919
  }
89863
89920
  if (checkRelation === 'unRelated') {
@@ -89896,11 +89953,14 @@ class TreeSelectFoundation extends foundation {
89896
89953
  keyEntities,
89897
89954
  treeData
89898
89955
  } = this.getStates();
89956
+ const {
89957
+ keyMaps
89958
+ } = this.getProps();
89899
89959
  const newExpandedKeys = new Set(expandedKeys);
89900
89960
  const isExpandControlled = this._isExpandControlled();
89901
89961
  const expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
89902
89962
  expandedOptsKeys.forEach(item => newExpandedKeys.add(item));
89903
- const newFlattenNodes = flattenTreeData(treeData, newExpandedKeys);
89963
+ const newFlattenNodes = flattenTreeData(treeData, newExpandedKeys, keyMaps);
89904
89964
  this._adapter.updateState({
89905
89965
  expandedKeys: isExpandControlled ? expandedKeys : newExpandedKeys,
89906
89966
  flattenNodes: isExpandControlled ? flattenNodes : newFlattenNodes,
@@ -89924,8 +89984,10 @@ class TreeSelectFoundation extends foundation {
89924
89984
  const {
89925
89985
  showFilteredOnly,
89926
89986
  filterTreeNode,
89927
- treeNodeFilterProp
89987
+ treeNodeFilterProp,
89988
+ keyMaps
89928
89989
  } = this.getProps();
89990
+ const realFilterProp = treeNodeFilterProp !== 'label' ? treeNodeFilterProp : get_default()(keyMaps, 'label', 'label');
89929
89991
  const newExpandedKeys = new Set(expandedKeys);
89930
89992
  let filteredOptsKeys = [];
89931
89993
  let expandedOptsKeys = [];
@@ -89934,18 +89996,18 @@ class TreeSelectFoundation extends foundation {
89934
89996
  if (!sugInput) {
89935
89997
  expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
89936
89998
  expandedOptsKeys.forEach(item => newExpandedKeys.add(item));
89937
- newFlattenNodes = flattenTreeData(treeData, newExpandedKeys);
89999
+ newFlattenNodes = flattenTreeData(treeData, newExpandedKeys, keyMaps);
89938
90000
  } else {
89939
90001
  filteredOptsKeys = Object.values(keyEntities).filter(item => {
89940
90002
  const {
89941
90003
  data
89942
90004
  } = item;
89943
- return filter(sugInput, data, filterTreeNode, treeNodeFilterProp);
90005
+ return filter(sugInput, data, filterTreeNode, realFilterProp);
89944
90006
  }).map(item => item.key);
89945
90007
  expandedOptsKeys = findAncestorKeys(filteredOptsKeys, keyEntities, false);
89946
90008
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
89947
90009
  filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
89948
- newFlattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
90010
+ newFlattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), keyMaps, showFilteredOnly && filteredShownKeys);
89949
90011
  }
89950
90012
  const newFilteredExpandedKeys = new Set(expandedOptsKeys);
89951
90013
  this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
@@ -90079,7 +90141,7 @@ class TreeSelectFoundation extends foundation {
90079
90141
  return this.calcCheckedKeys(eventKey, targetStatus);
90080
90142
  }
90081
90143
  const nonDisabled = descendantKeys.filter(key => !disabledKeys.has(key));
90082
- const newCheckedKeys = targetStatus ? [...nonDisabled, ...checkedKeys] : difference_default()(normalizeKeyList([...checkedKeys], keyEntities, true), nonDisabled);
90144
+ const newCheckedKeys = targetStatus ? [...nonDisabled, ...checkedKeys] : difference_default()(normalizeKeyList([...checkedKeys], keyEntities, true, true), nonDisabled);
90083
90145
  return calcCheckedKeys(newCheckedKeys, keyEntities);
90084
90146
  }
90085
90147
  calcCheckedStatus(targetStatus, eventKey) {
@@ -90104,7 +90166,8 @@ class TreeSelectFoundation extends foundation {
90104
90166
  const {
90105
90167
  treeData,
90106
90168
  filteredShownKeys,
90107
- keyEntities
90169
+ keyEntities,
90170
+ keyMaps
90108
90171
  } = this.getStates();
90109
90172
  const showFilteredOnly = this._showFilteredOnly();
90110
90173
  // clone otherwise will be modified unexpectedly
@@ -90128,7 +90191,7 @@ class TreeSelectFoundation extends foundation {
90128
90191
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
90129
90192
  if (!this._isExpandControlled()) {
90130
90193
  // debugger;
90131
- const flattenNodes = flattenTreeData(treeData, filteredExpandedKeys, showFilteredOnly && filteredShownKeys);
90194
+ const flattenNodes = flattenTreeData(treeData, filteredExpandedKeys, keyMaps, showFilteredOnly && filteredShownKeys);
90132
90195
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, filteredExpandedKeys, keyEntities) : [];
90133
90196
  const newState = {
90134
90197
  filteredExpandedKeys,
@@ -90146,7 +90209,8 @@ class TreeSelectFoundation extends foundation {
90146
90209
  handleNodeExpand(e, treeNode) {
90147
90210
  // debugger;
90148
90211
  const {
90149
- loadData
90212
+ loadData,
90213
+ keyMaps
90150
90214
  } = this.getProps();
90151
90215
  const {
90152
90216
  inputValue,
@@ -90183,7 +90247,7 @@ class TreeSelectFoundation extends foundation {
90183
90247
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
90184
90248
  if (!isExpandControlled) {
90185
90249
  // debugger;
90186
- const flattenNodes = flattenTreeData(treeData, expandedKeys);
90250
+ const flattenNodes = flattenTreeData(treeData, expandedKeys, keyMaps);
90187
90251
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, expandedKeys, keyEntities) : [];
90188
90252
  const newState = {
90189
90253
  expandedKeys,
@@ -90204,19 +90268,21 @@ class TreeSelectFoundation extends foundation {
90204
90268
  getRenderTextInSingle() {
90205
90269
  const {
90206
90270
  renderSelectedItem: propRenderSelectedItem,
90207
- treeNodeLabelProp
90271
+ treeNodeLabelProp,
90272
+ keyMaps
90208
90273
  } = this.getProps();
90209
90274
  const {
90210
90275
  selectedKeys,
90211
90276
  keyEntities
90212
90277
  } = this.getStates();
90213
- const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : item => get_default()(item, treeNodeLabelProp, null);
90278
+ const realLabelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
90279
+ const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : item => get_default()(item, realLabelName, null);
90214
90280
  let item;
90215
90281
  if (selectedKeys.length) {
90216
90282
  const key = selectedKeys[0];
90217
- item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90283
+ item = keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90218
90284
  }
90219
- const renderText = item && treeNodeLabelProp in item ? renderSelectedItem(item) : null;
90285
+ const renderText = item ? renderSelectedItem(item) : null;
90220
90286
  return renderText;
90221
90287
  }
90222
90288
  /**
@@ -90251,6 +90317,7 @@ var treeSelect = __webpack_require__("ZrYm");
90251
90317
 
90252
90318
 
90253
90319
 
90320
+
90254
90321
  var treeSelect_rest = undefined && undefined.__rest || function (s, e) {
90255
90322
  var t = {};
90256
90323
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -90408,11 +90475,13 @@ class TreeSelect extends BaseComponent {
90408
90475
  disableStrictly,
90409
90476
  size,
90410
90477
  checkRelation,
90411
- renderSelectedItem: propRenderSelectedItem
90478
+ renderSelectedItem: propRenderSelectedItem,
90479
+ keyMaps
90412
90480
  } = this.props;
90481
+ const realLabelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
90413
90482
  const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : item => ({
90414
90483
  isRenderInTag: true,
90415
- content: get_default()(item, treeNodeLabelProp, null)
90484
+ content: get_default()(item, realLabelName, null)
90416
90485
  });
90417
90486
  let renderKeys = [];
90418
90487
  if (checkRelation === 'related') {
@@ -90422,7 +90491,7 @@ class TreeSelect extends BaseComponent {
90422
90491
  }
90423
90492
  const tagList = [];
90424
90493
  renderKeys.forEach((key, index) => {
90425
- const item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90494
+ const item = keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90426
90495
  const onClose = (tagContent, e) => {
90427
90496
  if (e && typeof e.preventDefault === 'function') {
90428
90497
  // make sure that tag will not hidden immediately in controlled mode
@@ -90433,7 +90502,7 @@ class TreeSelect extends BaseComponent {
90433
90502
  const {
90434
90503
  content,
90435
90504
  isRenderInTag
90436
- } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
90505
+ } = item ? renderSelectedItem(item, {
90437
90506
  index,
90438
90507
  onClose
90439
90508
  }) : {};
@@ -90696,11 +90765,13 @@ class TreeSelect extends BaseComponent {
90696
90765
  disabled,
90697
90766
  disableStrictly,
90698
90767
  renderSelectedItem: propRenderSelectedItem,
90699
- treeNodeLabelProp
90768
+ treeNodeLabelProp,
90769
+ keyMaps
90700
90770
  } = this.props;
90771
+ const realLabelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
90701
90772
  const keyList = normalizeKeyList([key], keyEntities, leafOnly, true);
90702
- const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
90703
- const value = getValueOrKey(nodes);
90773
+ const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
90774
+ const value = getValueOrKey(nodes, keyMaps);
90704
90775
  const tagCls = classnames_default()(`${treeSelect_prefixcls}-selection-tag`, {
90705
90776
  [`${treeSelect_prefixcls}-selection-tag-disabled`]: disabled
90706
90777
  });
@@ -90723,13 +90794,13 @@ class TreeSelect extends BaseComponent {
90723
90794
  const item = nodes[0];
90724
90795
  const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : selectedItem => ({
90725
90796
  isRenderInTag: true,
90726
- content: get_default()(selectedItem, treeNodeLabelProp, null)
90797
+ content: get_default()(selectedItem, realLabelName, null)
90727
90798
  });
90728
90799
  if (isFunction_default()(renderSelectedItem)) {
90729
90800
  const {
90730
90801
  content,
90731
90802
  isRenderInTag
90732
- } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
90803
+ } = item ? renderSelectedItem(item, {
90733
90804
  index: idx,
90734
90805
  onClose
90735
90806
  }) : {};
@@ -90929,17 +91000,20 @@ class TreeSelect extends BaseComponent {
90929
91000
  };
90930
91001
  this.renderTreeNode = (treeNode, ind, style) => {
90931
91002
  const {
90932
- data
90933
- } = treeNode;
90934
- const {
91003
+ data,
90935
91004
  key
90936
- } = data;
91005
+ } = treeNode;
90937
91006
  const treeNodeProps = this.foundation.getTreeNodeProps(key);
90938
91007
  if (!treeNodeProps) {
90939
91008
  return null;
90940
91009
  }
90941
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, {
90942
- key: key,
91010
+ const props = pick_default()(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']);
91011
+ const {
91012
+ keyMaps
91013
+ } = this.props;
91014
+ const children = data[get_default()(keyMaps, 'children', 'children')];
91015
+ !isUndefined_default()(children) && (props.children = children);
91016
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, props, {
90943
91017
  data: data,
90944
91018
  style: style
90945
91019
  }));
@@ -91123,6 +91197,9 @@ class TreeSelect extends BaseComponent {
91123
91197
  prevProps,
91124
91198
  rePosKey
91125
91199
  } = prevState;
91200
+ const {
91201
+ keyMaps
91202
+ } = props;
91126
91203
  const needUpdate = name => !prevProps && name in props || prevProps && !isEqual_default()(prevProps[name], props[name]);
91127
91204
  let treeData;
91128
91205
  const withObject = props.onChangeWithObject;
@@ -91137,7 +91214,7 @@ class TreeSelect extends BaseComponent {
91137
91214
  if (needUpdateTreeData) {
91138
91215
  treeData = props.treeData;
91139
91216
  newState.treeData = treeData;
91140
- const entitiesMap = convertDataToEntities(treeData);
91217
+ const entitiesMap = convertDataToEntities(treeData, keyMaps);
91141
91218
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
91142
91219
  keyEntities = newState.keyEntities;
91143
91220
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -91168,26 +91245,26 @@ class TreeSelect extends BaseComponent {
91168
91245
  } else if (!prevProps && props.defaultExpandedKeys) {
91169
91246
  newState.expandedKeys = calcExpandedKeys(props.defaultExpandedKeys, keyEntities);
91170
91247
  } else if (!prevProps && props.defaultValue) {
91171
- newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.defaultValue, withObject), keyEntities, props.multiple, valueEntities);
91248
+ newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
91172
91249
  } else if (!prevProps && props.value) {
91173
- newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.value, withObject), keyEntities, props.multiple, valueEntities);
91250
+ newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.value, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
91174
91251
  }
91175
91252
  // flattenNodes
91176
91253
  if (treeData || needUpdateExpandedKeys) {
91177
- const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys);
91254
+ const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
91178
91255
  newState.flattenNodes = flattenNodes;
91179
91256
  }
91180
91257
  // selectedKeys: single mode controlled
91181
91258
  const isMultiple = props.multiple;
91182
91259
  if (!isMultiple) {
91183
91260
  if (needUpdate('value')) {
91184
- newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject), valueEntities, isMultiple);
91261
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
91185
91262
  } else if (!prevProps && props.defaultValue) {
91186
- newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
91263
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
91187
91264
  } else if (treeData) {
91188
91265
  // If `treeData` changed, we also need check it
91189
91266
  if (props.value) {
91190
- newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject) || '', valueEntities, isMultiple);
91267
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || '', valueEntities, isMultiple);
91191
91268
  } else {
91192
91269
  newState.selectedKeys = updateKeys(prevState.selectedKeys, keyEntities);
91193
91270
  }
@@ -91196,13 +91273,13 @@ class TreeSelect extends BaseComponent {
91196
91273
  // checkedKeys: multiple mode controlled || data changed
91197
91274
  let checkedKeyValues;
91198
91275
  if (needUpdate('value')) {
91199
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject), valueEntities, isMultiple);
91276
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
91200
91277
  } else if (!prevProps && props.defaultValue) {
91201
- checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
91278
+ checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
91202
91279
  } else if (treeData) {
91203
91280
  // If `treeData` changed, we also need check it
91204
91281
  if (props.value) {
91205
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject) || [], valueEntities, isMultiple);
91282
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || [], valueEntities, isMultiple);
91206
91283
  } else {
91207
91284
  checkedKeyValues = updateKeys(props.checkRelation === 'related' ? prevState.checkedKeys : prevState.realCheckedKeys, keyEntities);
91208
91285
  }
@@ -91230,7 +91307,7 @@ class TreeSelect extends BaseComponent {
91230
91307
  }
91231
91308
  // ================ disableStrictly =================
91232
91309
  if (treeData && props.disableStrictly && props.checkRelation === 'related') {
91233
- newState.disabledKeys = calcDisabledKeys(keyEntities);
91310
+ newState.disabledKeys = calcDisabledKeys(keyEntities, keyMaps);
91234
91311
  }
91235
91312
  return newState;
91236
91313
  }
@@ -91474,9 +91551,10 @@ TreeSelect.propTypes = {
91474
91551
  showFilteredOnly: (prop_types_default()).bool,
91475
91552
  motionExpand: (prop_types_default()).bool,
91476
91553
  emptyContent: (prop_types_default()).node,
91554
+ keyMaps: (prop_types_default()).object,
91477
91555
  leafOnly: (prop_types_default()).bool,
91478
91556
  treeData: prop_types_default().arrayOf(prop_types_default().shape({
91479
- key: (prop_types_default()).string.isRequired,
91557
+ key: (prop_types_default()).string,
91480
91558
  value: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).number]),
91481
91559
  label: (prop_types_default()).any
91482
91560
  })),