@douyinfe/semi-ui 2.46.0 → 2.47.0-beta.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.
@@ -28427,7 +28427,8 @@ class Button_Button extends external_root_React_commonjs2_react_commonjs_react_a
28427
28427
  [`${prefixCls}-light`]: theme === 'light',
28428
28428
  [`${prefixCls}-block`]: block,
28429
28429
  [`${prefixCls}-circle`]: circle,
28430
- [`${prefixCls}-borderless`]: theme === 'borderless'
28430
+ [`${prefixCls}-borderless`]: theme === 'borderless',
28431
+ [`${prefixCls}-${type}-disabled`]: disabled && type
28431
28432
  }, className),
28432
28433
  type: htmlType,
28433
28434
  'aria-disabled': disabled
@@ -36270,6 +36271,7 @@ var uniq_default = /*#__PURE__*/__webpack_require__.n(uniq);
36270
36271
 
36271
36272
 
36272
36273
 
36274
+
36273
36275
  /**
36274
36276
  * Part of the utils function implementation process reference
36275
36277
  * https://github.com/react-component/tree/blob/master/src/util.tsx
@@ -36288,17 +36290,27 @@ function treeUtil_isValid(val) {
36288
36290
  * @param filteredShownKeys
36289
36291
  * need expanded keys, provides `true` means all expanded
36290
36292
  */
36291
- function flattenTreeData(treeNodeList, expandedKeys) {
36292
- 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;
36293
36295
  const flattenList = [];
36294
36296
  const filterSearch = Boolean(filteredShownKeys);
36297
+ const realKeyName = get_default()(keyMaps, 'key', 'key');
36298
+ const realChildrenName = get_default()(keyMaps, 'children', 'children');
36295
36299
  function flatten(list) {
36296
36300
  let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
36297
36301
  return list.map((treeNode, index) => {
36298
36302
  const pos = getPosition(parent ? parent.pos : '0', index);
36299
- 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
+ }
36300
36312
  // Add FlattenDataNode into list
36301
- 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), {
36302
36314
  parent,
36303
36315
  pos,
36304
36316
  children: null,
@@ -36311,7 +36323,7 @@ function flattenTreeData(treeNodeList, expandedKeys) {
36311
36323
  }
36312
36324
  // Loop treeNode children
36313
36325
  if (expandedKeys.has(mergedKey) && (!filterSearch || !isBooleanFilteredShownKeys && filteredShownKeys.has(mergedKey))) {
36314
- flattenNode.children = flatten(treeNode.children || [], flattenNode);
36326
+ flattenNode.children = flatten(treeNode[realChildrenName] || [], flattenNode);
36315
36327
  } else {
36316
36328
  flattenNode.children = [];
36317
36329
  }
@@ -36346,17 +36358,20 @@ function convertJsonToData(treeJson) {
36346
36358
  /**
36347
36359
  * Traverse all the data by `treeData`.
36348
36360
  */
36349
- 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');
36350
36364
  const processNode = (node, ind, parent) => {
36351
- const children = node ? node.children : treeNodes;
36365
+ const children = node ? node[realChildrenName] : treeNodes;
36352
36366
  const pos = node ? getPosition(parent.pos, ind) : '0';
36353
36367
  // Process node if is not root
36354
36368
  if (node) {
36369
+ const nodeKey = get_default()(node, realKeyName, null);
36355
36370
  const data = {
36356
36371
  data: Object.assign({}, node),
36357
36372
  ind,
36358
36373
  pos,
36359
- key: node.key !== null ? node.key : pos,
36374
+ key: nodeKey !== null ? nodeKey : pos,
36360
36375
  parentPos: parent.node ? parent.pos : null,
36361
36376
  level: Number(parent.level) + 1
36362
36377
  };
@@ -36376,7 +36391,7 @@ function traverseDataNodes(treeNodes, callback) {
36376
36391
  processNode(null);
36377
36392
  }
36378
36393
  /* Convert data to entities map */
36379
- function convertDataToEntities(dataNodes) {
36394
+ function convertDataToEntities(dataNodes, keyMaps) {
36380
36395
  const posEntities = {};
36381
36396
  const keyEntities = {};
36382
36397
  const valueEntities = {};
@@ -36385,6 +36400,7 @@ function convertDataToEntities(dataNodes) {
36385
36400
  keyEntities,
36386
36401
  valueEntities
36387
36402
  };
36403
+ const realValueName = get_default()(keyMaps, 'value', 'value');
36388
36404
  traverseDataNodes(dataNodes, data => {
36389
36405
  const {
36390
36406
  pos,
@@ -36392,7 +36408,7 @@ function convertDataToEntities(dataNodes) {
36392
36408
  parentPos
36393
36409
  } = data;
36394
36410
  const entity = Object.assign({}, data);
36395
- const value = get_default()(entity, 'data.value', null);
36411
+ const value = get_default()(entity, `data.${realValueName}`, null);
36396
36412
  if (value !== null) {
36397
36413
  valueEntities[value] = key;
36398
36414
  }
@@ -36404,7 +36420,7 @@ function convertDataToEntities(dataNodes) {
36404
36420
  entity.parent.children = entity.parent.children || [];
36405
36421
  entity.parent.children.push(entity);
36406
36422
  }
36407
- });
36423
+ }, keyMaps);
36408
36424
  return wrapper;
36409
36425
  }
36410
36426
  /* Get key by value */
@@ -36802,7 +36818,8 @@ function filterTreeData(info) {
36802
36818
  treeData,
36803
36819
  filterTreeNode,
36804
36820
  filterProps,
36805
- prevExpandedKeys
36821
+ prevExpandedKeys,
36822
+ keyMaps
36806
36823
  } = info;
36807
36824
  let filteredOptsKeys = [];
36808
36825
  filteredOptsKeys = Object.values(keyEntities).filter(item => filter(inputValue, item.data, filterTreeNode, filterProps)).map(item => item.key);
@@ -36813,7 +36830,7 @@ function filterTreeData(info) {
36813
36830
  }
36814
36831
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
36815
36832
  const filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
36816
- const flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
36833
+ const flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), keyMaps, showFilteredOnly && filteredShownKeys);
36817
36834
  return {
36818
36835
  flattenNodes,
36819
36836
  filteredKeys: new Set(filteredOptsKeys),
@@ -36822,16 +36839,18 @@ function filterTreeData(info) {
36822
36839
  };
36823
36840
  }
36824
36841
  // return data.value if data.value exist else fall back to key
36825
- function getValueOrKey(data) {
36842
+ function getValueOrKey(data, keyMaps) {
36843
+ const valueName = get_default()(keyMaps, 'value', 'value');
36844
+ const keyName = get_default()(keyMaps, 'key', 'key');
36826
36845
  if (Array.isArray(data)) {
36827
- return data.map(item => get_default()(item, 'value', item.key));
36846
+ return data.map(item => get_default()(item, valueName, item[keyName]));
36828
36847
  }
36829
- return get_default()(data, 'value', data.key);
36848
+ return get_default()(data, valueName, data[keyName]);
36830
36849
  }
36831
36850
  /* Convert value to string */
36832
- function normalizeValue(value, withObject) {
36851
+ function normalizeValue(value, withObject, keyMaps) {
36833
36852
  if (withObject && treeUtil_isValid(value)) {
36834
- return getValueOrKey(value);
36853
+ return getValueOrKey(value, keyMaps);
36835
36854
  } else {
36836
36855
  return value;
36837
36856
  }
@@ -36840,8 +36859,9 @@ function updateKeys(keySet, keyEntities) {
36840
36859
  const keyArr = [...keySet];
36841
36860
  return keyArr.filter(key => key in keyEntities);
36842
36861
  }
36843
- function calcDisabledKeys(keyEntities) {
36844
- 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]);
36845
36865
  const {
36846
36866
  checkedKeys
36847
36867
  } = calcCheckedKeys(disabledKeys, keyEntities);
@@ -48861,6 +48881,7 @@ class CollapsePanel extends external_root_React_commonjs2_react_commonjs_react_a
48861
48881
  isOpen: active,
48862
48882
  keepDOM: keepDOM,
48863
48883
  motion: motion,
48884
+ onMotionEnd: this.props.onMotionEnd,
48864
48885
  reCalcKey: reCalcKey
48865
48886
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
48866
48887
  className: contentCls,
@@ -54551,25 +54572,34 @@ class inputFoundation_InputFoundation extends foundation {
54551
54572
  } = options;
54552
54573
  const {
54553
54574
  format,
54554
- type
54575
+ type,
54576
+ rangeSeparator
54555
54577
  } = this._adapter.getProps();
54556
54578
  const insetFormatToken = getInsetInputFormatToken({
54557
54579
  type,
54558
54580
  format
54559
54581
  });
54560
- let newInsetInputValue = set_default()(cloneDeep_default()(insetInputValue), valuePath, value);
54561
- newInsetInputValue = this._autoFillTimeToInsetInputValue({
54562
- 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,
54563
54593
  valuePath,
54564
54594
  format: insetFormatToken
54565
54595
  });
54566
- const newInputValue = this.concatInsetInputValue({
54567
- insetInputValue: newInsetInputValue
54596
+ const finalInsetInputStr = this.concatInsetInputValue({
54597
+ insetInputValue: filledTimeInsetInputValue
54568
54598
  });
54569
54599
  this._adapter.notifyInsetInputChange({
54570
- insetInputValue: newInsetInputValue,
54600
+ insetInputValue: filledTimeInsetInputValue,
54571
54601
  format: insetFormatToken,
54572
- insetInputStr: newInputValue
54602
+ insetInputStr: finalInsetInputStr
54573
54603
  });
54574
54604
  }
54575
54605
  _autoFillTimeToInsetInputValue(options) {
@@ -72113,7 +72143,8 @@ class Pagination extends BaseComponent {
72113
72143
  const {
72114
72144
  showSizeChanger,
72115
72145
  popoverPosition = defaultPopoverPosition,
72116
- disabled
72146
+ disabled,
72147
+ popoverZIndex
72117
72148
  } = this.props;
72118
72149
  const {
72119
72150
  pageSize
@@ -72139,6 +72170,7 @@ class Pagination extends BaseComponent {
72139
72170
  key: pageSize,
72140
72171
  position: popoverPosition || 'bottomRight',
72141
72172
  clickToHide: true,
72173
+ zIndex: popoverZIndex,
72142
72174
  dropdownClassName: `${pagination_prefixCls}-select-dropdown`
72143
72175
  }, options));
72144
72176
  }
@@ -72502,7 +72534,8 @@ class Popconfirm extends BaseComponent {
72502
72534
  style,
72503
72535
  cancelType,
72504
72536
  icon,
72505
- prefixCls
72537
+ prefixCls,
72538
+ showCloseIcon
72506
72539
  } = this.props;
72507
72540
  const {
72508
72541
  direction
@@ -72536,14 +72569,14 @@ class Popconfirm extends BaseComponent {
72536
72569
  }, showTitle ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
72537
72570
  className: `${prefixCls}-header-title`,
72538
72571
  "x-semi-prop": "title"
72539
- }, title) : null), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(button_0, {
72572
+ }, title) : null), showCloseIcon ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(button_0, {
72540
72573
  className: `${prefixCls}-btn-close`,
72541
72574
  icon: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(IconClose, null),
72542
72575
  size: "small",
72543
72576
  theme: 'borderless',
72544
72577
  type: cancelType,
72545
72578
  onClick: this.handleCancel
72546
- })), showContent ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
72579
+ }) : null), showContent ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
72547
72580
  className: bodyCls,
72548
72581
  "x-semi-prop": "content"
72549
72582
  }, isFunction_default()(content) ? content({
@@ -72707,6 +72740,7 @@ Popconfirm.propTypes = {
72707
72740
  okButtonProps: (prop_types_default()).object,
72708
72741
  cancelButtonProps: (prop_types_default()).object,
72709
72742
  stopPropagation: prop_types_default().oneOfType([(prop_types_default()).bool, (prop_types_default()).string]),
72743
+ showCloseIcon: (prop_types_default()).bool,
72710
72744
  zIndex: (prop_types_default()).number,
72711
72745
  // private
72712
72746
  trigger: (prop_types_default()).string,
@@ -72725,6 +72759,7 @@ Popconfirm.defaultProps = {
72725
72759
  cancelType: 'tertiary',
72726
72760
  prefixCls: popconfirm_constants_cssClasses.PREFIX,
72727
72761
  zIndex: popconfirm_constants_numbers.DEFAULT_Z_INDEX,
72762
+ showCloseIcon: true,
72728
72763
  onCancel: (noop_default()),
72729
72764
  onConfirm: (noop_default()),
72730
72765
  onClickOutSide: (noop_default())
@@ -78457,12 +78492,12 @@ function withOrderSort(fn) {
78457
78492
  switch (order) {
78458
78493
  case 'descend':
78459
78494
  return (a, b) => {
78460
- const result = Number(fn(a, b));
78495
+ const result = Number(fn(a, b, order));
78461
78496
  return result !== 0 ? -result : result;
78462
78497
  };
78463
78498
  case 'ascend':
78464
78499
  default:
78465
- return fn;
78500
+ return (a, b) => fn(a, b, order);
78466
78501
  }
78467
78502
  }
78468
78503
  ;// CONCATENATED MODULE: ../semi-foundation/table/foundation.ts
@@ -87322,6 +87357,7 @@ class ToastFactory {
87322
87357
  */
87323
87358
 
87324
87359
 
87360
+
87325
87361
  class TreeFoundation extends foundation {
87326
87362
  constructor(adapter) {
87327
87363
  super(Object.assign({}, adapter));
@@ -87434,7 +87470,8 @@ class TreeFoundation extends foundation {
87434
87470
  } = this.getStates();
87435
87471
  const {
87436
87472
  leafOnly,
87437
- checkRelation
87473
+ checkRelation,
87474
+ keyMaps
87438
87475
  } = this.getProps();
87439
87476
  let value;
87440
87477
  let keyList = [];
@@ -87446,12 +87483,15 @@ class TreeFoundation extends foundation {
87446
87483
  if (this.getProp('onChangeWithObject')) {
87447
87484
  value = keyList.map(itemKey => keyEntities[itemKey].data);
87448
87485
  } else {
87449
- value = getValueOrKey(keyList.map(itemKey => keyEntities[itemKey].data));
87486
+ value = getValueOrKey(keyList.map(itemKey => keyEntities[itemKey].data), keyMaps);
87450
87487
  }
87451
87488
  this._adapter.notifyChange(value);
87452
87489
  }
87453
87490
  notifyChange(key, e) {
87454
87491
  const isMultiple = this._isMultiple();
87492
+ const {
87493
+ keyMaps
87494
+ } = this.getProps();
87455
87495
  const {
87456
87496
  keyEntities
87457
87497
  } = this.getStates();
@@ -87467,7 +87507,7 @@ class TreeFoundation extends foundation {
87467
87507
  const {
87468
87508
  data
87469
87509
  } = get_default()(keyEntities, key);
87470
- value = getValueOrKey(data);
87510
+ value = getValueOrKey(data, keyMaps);
87471
87511
  }
87472
87512
  this._adapter.notifyChange(value);
87473
87513
  }
@@ -87484,8 +87524,10 @@ class TreeFoundation extends foundation {
87484
87524
  const {
87485
87525
  showFilteredOnly,
87486
87526
  filterTreeNode,
87487
- treeNodeFilterProp
87527
+ treeNodeFilterProp,
87528
+ keyMaps
87488
87529
  } = this.getProps();
87530
+ const realFilterProp = treeNodeFilterProp !== 'label' ? treeNodeFilterProp : get_default()(keyMaps, 'label', 'label');
87489
87531
  let filteredOptsKeys = [];
87490
87532
  let expandedOptsKeys = [];
87491
87533
  let flattenNodes = [];
@@ -87493,13 +87535,13 @@ class TreeFoundation extends foundation {
87493
87535
  if (!sugInput) {
87494
87536
  expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
87495
87537
  expandedOptsKeys.forEach(item => expandedKeys.add(item));
87496
- flattenNodes = flattenTreeData(treeData, expandedKeys);
87538
+ flattenNodes = flattenTreeData(treeData, expandedKeys, keyMaps);
87497
87539
  } else {
87498
- filteredOptsKeys = Object.values(keyEntities).filter(item => filter(sugInput, item.data, filterTreeNode, treeNodeFilterProp)).map(item => item.key);
87540
+ filteredOptsKeys = Object.values(keyEntities).filter(item => filter(sugInput, item.data, filterTreeNode, realFilterProp)).map(item => item.key);
87499
87541
  expandedOptsKeys = findAncestorKeys(filteredOptsKeys, keyEntities, false);
87500
87542
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
87501
87543
  filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
87502
- flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
87544
+ flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), keyMaps, showFilteredOnly && filteredShownKeys);
87503
87545
  }
87504
87546
  const newFilteredExpandedKeys = new Set(expandedOptsKeys);
87505
87547
  this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
@@ -87667,6 +87709,9 @@ class TreeFoundation extends foundation {
87667
87709
  filteredShownKeys,
87668
87710
  keyEntities
87669
87711
  } = this.getStates();
87712
+ const {
87713
+ keyMaps
87714
+ } = this.getProps();
87670
87715
  const isSearching = Boolean(inputValue);
87671
87716
  const showFilteredOnly = this._showFilteredOnly();
87672
87717
  const expandedStateKey = isSearching ? 'filteredExpandedKeys' : 'expandedKeys';
@@ -87685,7 +87730,7 @@ class TreeFoundation extends foundation {
87685
87730
  }
87686
87731
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
87687
87732
  if (!this._isExpandControlled()) {
87688
- const flattenNodes = flattenTreeData(treeData, expandedKeys, isSearching && showFilteredOnly && filteredShownKeys);
87733
+ const flattenNodes = flattenTreeData(treeData, expandedKeys, keyMaps, isSearching && showFilteredOnly && filteredShownKeys);
87689
87734
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, expandedKeys, keyEntities) : [];
87690
87735
  const newState = {
87691
87736
  [expandedStateKey]: expandedKeys,
@@ -88592,13 +88637,7 @@ function NodeCollapsible(props) {
88592
88637
 
88593
88638
 
88594
88639
  const getTreeNodeKey = treeNode => {
88595
- const {
88596
- data
88597
- } = treeNode;
88598
- const {
88599
- key
88600
- } = data;
88601
- return key;
88640
+ return treeNode.key;
88602
88641
  };
88603
88642
  class NodeList extends external_root_React_commonjs2_react_commonjs_react_amd_react_.PureComponent {
88604
88643
  constructor(props) {
@@ -88710,6 +88749,8 @@ const IconSearch_IconComponent = convertIcon(IconSearch_SvgComponent, 'search');
88710
88749
 
88711
88750
 
88712
88751
 
88752
+
88753
+
88713
88754
  var tree_rest = undefined && undefined.__rest || function (s, e) {
88714
88755
  var t = {};
88715
88756
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -88851,17 +88892,20 @@ class Tree extends BaseComponent {
88851
88892
  };
88852
88893
  this.renderTreeNode = (treeNode, ind, style) => {
88853
88894
  const {
88854
- data
88855
- } = treeNode;
88856
- const {
88895
+ data,
88857
88896
  key
88858
- } = data;
88897
+ } = treeNode;
88859
88898
  const treeNodeProps = this.foundation.getTreeNodeProps(key);
88860
88899
  if (!treeNodeProps) {
88861
88900
  return null;
88862
88901
  }
88863
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, {
88864
- key: key,
88902
+ const {
88903
+ keyMaps
88904
+ } = this.props;
88905
+ const props = pick_default()(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']);
88906
+ const children = data[get_default()(keyMaps, 'children', 'children')];
88907
+ !isUndefined_default()(children) && (props.children = children);
88908
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, props, {
88865
88909
  data: data,
88866
88910
  style: isEmpty_default()(style) ? {} : style
88867
88911
  }));
@@ -88921,6 +88965,9 @@ class Tree extends BaseComponent {
88921
88965
  const {
88922
88966
  prevProps
88923
88967
  } = prevState;
88968
+ const {
88969
+ keyMaps
88970
+ } = props;
88924
88971
  let treeData;
88925
88972
  let keyEntities = prevState.keyEntities || {};
88926
88973
  let valueEntities = prevState.cachedKeyValuePairs || {};
@@ -88947,7 +88994,7 @@ class Tree extends BaseComponent {
88947
88994
  if (needUpdateTreeData || props.draggable && needUpdateData()) {
88948
88995
  treeData = props.treeData;
88949
88996
  newState.treeData = treeData;
88950
- const entitiesMap = convertDataToEntities(treeData);
88997
+ const entitiesMap = convertDataToEntities(treeData, keyMaps);
88951
88998
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
88952
88999
  keyEntities = newState.keyEntities;
88953
89000
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -88956,7 +89003,7 @@ class Tree extends BaseComponent {
88956
89003
  // Convert treeDataSimpleJson to treeData
88957
89004
  treeData = convertJsonToData(props.treeDataSimpleJson);
88958
89005
  newState.treeData = treeData;
88959
- const entitiesMap = convertDataToEntities(treeData);
89006
+ const entitiesMap = convertDataToEntities(treeData, keyMaps);
88960
89007
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
88961
89008
  keyEntities = newState.keyEntities;
88962
89009
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -89012,7 +89059,7 @@ class Tree extends BaseComponent {
89012
89059
  }
89013
89060
  // Update flattenNodes
89014
89061
  if (treeData || newState.expandedKeys) {
89015
- const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys);
89062
+ const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
89016
89063
  newState.flattenNodes = flattenNodes;
89017
89064
  }
89018
89065
  } else {
@@ -89027,7 +89074,8 @@ class Tree extends BaseComponent {
89027
89074
  filterProps: props.treeNodeFilterProp,
89028
89075
  showFilteredOnly: props.showFilteredOnly,
89029
89076
  keyEntities: newState.keyEntities,
89030
- prevExpandedKeys: [...prevState.filteredExpandedKeys]
89077
+ prevExpandedKeys: [...prevState.filteredExpandedKeys],
89078
+ keyMaps: keyMaps
89031
89079
  });
89032
89080
  newState.flattenNodes = filteredState.flattenNodes;
89033
89081
  newState.motionKeys = new Set([]);
@@ -89060,7 +89108,7 @@ class Tree extends BaseComponent {
89060
89108
  newState.motionType = motionType;
89061
89109
  }
89062
89110
  }
89063
- newState.flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, props.showFilteredOnly && prevState.filteredShownKeys);
89111
+ newState.flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, keyMaps, props.showFilteredOnly && prevState.filteredShownKeys);
89064
89112
  }
89065
89113
  }
89066
89114
  // Handle single selection and multiple selection in controlled mode
@@ -89071,26 +89119,26 @@ class Tree extends BaseComponent {
89071
89119
  if (needUpdate('value')) {
89072
89120
  newState.selectedKeys = findKeysForValues(
89073
89121
  // In both cases whether withObject is turned on, the value is standardized to string
89074
- normalizeValue(props.value, withObject), valueEntities, isMultiple);
89122
+ normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
89075
89123
  } else if (!prevProps && props.defaultValue) {
89076
- newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
89124
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
89077
89125
  } else if (treeData) {
89078
89126
  // If `treeData` changed, we also need check it
89079
89127
  if (props.value) {
89080
- newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject) || '', valueEntities, isMultiple);
89128
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || '', valueEntities, isMultiple);
89081
89129
  }
89082
89130
  }
89083
89131
  } else {
89084
89132
  let checkedKeyValues;
89085
89133
  // Get the selected node during multiple selection
89086
89134
  if (needUpdate('value')) {
89087
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject), valueEntities, isMultiple);
89135
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
89088
89136
  } else if (!prevProps && props.defaultValue) {
89089
- checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
89137
+ checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
89090
89138
  } else if (treeData) {
89091
89139
  // If `treeData` changed, we also need check it
89092
89140
  if (props.value) {
89093
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject) || [], valueEntities, isMultiple);
89141
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || [], valueEntities, isMultiple);
89094
89142
  } else {
89095
89143
  checkedKeyValues = updateKeys(props.checkRelation === 'related' ? prevState.checkedKeys : prevState.realCheckedKeys, keyEntities);
89096
89144
  }
@@ -89114,7 +89162,7 @@ class Tree extends BaseComponent {
89114
89162
  }
89115
89163
  // update disableStrictly
89116
89164
  if (treeData && props.disableStrictly && props.checkRelation === 'related') {
89117
- newState.disabledKeys = calcDisabledKeys(keyEntities);
89165
+ newState.disabledKeys = calcDisabledKeys(keyEntities, keyMaps);
89118
89166
  }
89119
89167
  return newState;
89120
89168
  }
@@ -89392,11 +89440,12 @@ Tree.propTypes = {
89392
89440
  showFilteredOnly: (prop_types_default()).bool,
89393
89441
  style: (prop_types_default()).object,
89394
89442
  treeData: prop_types_default().arrayOf(prop_types_default().shape({
89395
- key: (prop_types_default()).string.isRequired,
89443
+ key: (prop_types_default()).string,
89396
89444
  value: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).number]),
89397
89445
  label: (prop_types_default()).any,
89398
89446
  isLeaf: (prop_types_default()).bool
89399
89447
  })),
89448
+ keyMaps: (prop_types_default()).object,
89400
89449
  treeDataSimpleJson: (prop_types_default()).object,
89401
89450
  treeNodeFilterProp: (prop_types_default()).string,
89402
89451
  value: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).number, (prop_types_default()).array, (prop_types_default()).object]),
@@ -89555,8 +89604,11 @@ class TreeSelectFoundation extends foundation {
89555
89604
  findDataForValue(findValue) {
89556
89605
  const {
89557
89606
  value,
89558
- defaultValue
89607
+ defaultValue,
89608
+ keyMaps
89559
89609
  } = this.getProps();
89610
+ const realValueName = get_default()(keyMaps, 'value', 'value');
89611
+ const realKeyName = get_default()(keyMaps, 'key', 'key');
89560
89612
  let valueArr = [];
89561
89613
  if (value) {
89562
89614
  valueArr = Array.isArray(value) ? value : [value];
@@ -89564,16 +89616,19 @@ class TreeSelectFoundation extends foundation {
89564
89616
  valueArr = Array.isArray(defaultValue) ? defaultValue : [defaultValue];
89565
89617
  }
89566
89618
  return valueArr.find(item => {
89567
- return item.value === findValue || item.key === findValue;
89619
+ return item[realValueName] === findValue || item[realKeyName] === findValue;
89568
89620
  });
89569
89621
  }
89570
89622
  constructDataForValue(value) {
89571
89623
  const {
89572
- treeNodeLabelProp
89624
+ treeNodeLabelProp,
89625
+ keyMaps
89573
89626
  } = this.getProps();
89627
+ const keyName = get_default()(keyMaps, 'key', 'key');
89628
+ const labelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
89574
89629
  return {
89575
- key: value,
89576
- [treeNodeLabelProp]: value
89630
+ [keyName]: value,
89631
+ [labelName]: value
89577
89632
  };
89578
89633
  }
89579
89634
  getDataForKeyNotInKeyEntities(value) {
@@ -89690,7 +89745,8 @@ class TreeSelectFoundation extends foundation {
89690
89745
  } = this.getStates();
89691
89746
  const {
89692
89747
  leafOnly,
89693
- checkRelation
89748
+ checkRelation,
89749
+ keyMaps
89694
89750
  } = this.getProps();
89695
89751
  let keyList = [];
89696
89752
  if (checkRelation === 'related') {
@@ -89698,11 +89754,11 @@ class TreeSelectFoundation extends foundation {
89698
89754
  } else if (checkRelation === 'unRelated') {
89699
89755
  keyList = key;
89700
89756
  }
89701
- const nodes = keyList.map(key => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
89757
+ const nodes = keyList.map(key => keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
89702
89758
  if (this.getProp('onChangeWithObject')) {
89703
89759
  this._adapter.notifyChangeWithObject(nodes, e);
89704
89760
  } else {
89705
- const value = getValueOrKey(nodes);
89761
+ const value = getValueOrKey(nodes, keyMaps);
89706
89762
  this._adapter.notifyChange(value, nodes, e);
89707
89763
  }
89708
89764
  }
@@ -89710,11 +89766,14 @@ class TreeSelectFoundation extends foundation {
89710
89766
  const {
89711
89767
  keyEntities
89712
89768
  } = this.getStates();
89769
+ const {
89770
+ keyMaps
89771
+ } = this.getProps();
89713
89772
  if (this._isMultiple() && Array.isArray(key)) {
89714
89773
  this._notifyMultipleChange(key, e);
89715
89774
  } else {
89716
89775
  const nodes = isUndefined_default()(key) ? key : keyEntities[key].data;
89717
- const value = isUndefined_default()(key) ? key : getValueOrKey(nodes);
89776
+ const value = isUndefined_default()(key) ? key : getValueOrKey(nodes, keyMaps);
89718
89777
  if (this.getProp('onChangeWithObject')) {
89719
89778
  this._adapter.notifyChangeWithObject(nodes, e);
89720
89779
  } else {
@@ -89841,15 +89900,17 @@ class TreeSelectFoundation extends foundation {
89841
89900
  removeTag(eventKey) {
89842
89901
  const {
89843
89902
  disableStrictly,
89844
- checkRelation
89903
+ checkRelation,
89904
+ keyMaps
89845
89905
  } = this.getProps();
89846
89906
  const {
89847
89907
  keyEntities,
89848
89908
  disabledKeys,
89849
89909
  realCheckedKeys
89850
89910
  } = this.getStates();
89851
- const item = keyEntities[eventKey] && keyEntities[eventKey].data.key === eventKey ? keyEntities[eventKey].data : this.getDataForKeyNotInKeyEntities(eventKey);
89852
- if (item.disabled || disableStrictly && disabledKeys.has(eventKey)) {
89911
+ const item = keyEntities[eventKey] && keyEntities[eventKey].key === eventKey ? keyEntities[eventKey].data : this.getDataForKeyNotInKeyEntities(eventKey);
89912
+ const disabledName = get_default()(keyMaps, 'disabled', 'disabled');
89913
+ if (item[disabledName] || disableStrictly && disabledKeys.has(eventKey)) {
89853
89914
  return;
89854
89915
  }
89855
89916
  if (checkRelation === 'unRelated') {
@@ -89888,11 +89949,14 @@ class TreeSelectFoundation extends foundation {
89888
89949
  keyEntities,
89889
89950
  treeData
89890
89951
  } = this.getStates();
89952
+ const {
89953
+ keyMaps
89954
+ } = this.getProps();
89891
89955
  const newExpandedKeys = new Set(expandedKeys);
89892
89956
  const isExpandControlled = this._isExpandControlled();
89893
89957
  const expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
89894
89958
  expandedOptsKeys.forEach(item => newExpandedKeys.add(item));
89895
- const newFlattenNodes = flattenTreeData(treeData, newExpandedKeys);
89959
+ const newFlattenNodes = flattenTreeData(treeData, newExpandedKeys, keyMaps);
89896
89960
  this._adapter.updateState({
89897
89961
  expandedKeys: isExpandControlled ? expandedKeys : newExpandedKeys,
89898
89962
  flattenNodes: isExpandControlled ? flattenNodes : newFlattenNodes,
@@ -89916,8 +89980,10 @@ class TreeSelectFoundation extends foundation {
89916
89980
  const {
89917
89981
  showFilteredOnly,
89918
89982
  filterTreeNode,
89919
- treeNodeFilterProp
89983
+ treeNodeFilterProp,
89984
+ keyMaps
89920
89985
  } = this.getProps();
89986
+ const realFilterProp = treeNodeFilterProp !== 'label' ? treeNodeFilterProp : get_default()(keyMaps, 'label', 'label');
89921
89987
  const newExpandedKeys = new Set(expandedKeys);
89922
89988
  let filteredOptsKeys = [];
89923
89989
  let expandedOptsKeys = [];
@@ -89926,18 +89992,18 @@ class TreeSelectFoundation extends foundation {
89926
89992
  if (!sugInput) {
89927
89993
  expandedOptsKeys = findAncestorKeys(selectedKeys, keyEntities);
89928
89994
  expandedOptsKeys.forEach(item => newExpandedKeys.add(item));
89929
- newFlattenNodes = flattenTreeData(treeData, newExpandedKeys);
89995
+ newFlattenNodes = flattenTreeData(treeData, newExpandedKeys, keyMaps);
89930
89996
  } else {
89931
89997
  filteredOptsKeys = Object.values(keyEntities).filter(item => {
89932
89998
  const {
89933
89999
  data
89934
90000
  } = item;
89935
- return filter(sugInput, data, filterTreeNode, treeNodeFilterProp);
90001
+ return filter(sugInput, data, filterTreeNode, realFilterProp);
89936
90002
  }).map(item => item.key);
89937
90003
  expandedOptsKeys = findAncestorKeys(filteredOptsKeys, keyEntities, false);
89938
90004
  const shownChildKeys = findDescendantKeys(filteredOptsKeys, keyEntities, true);
89939
90005
  filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
89940
- newFlattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
90006
+ newFlattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), keyMaps, showFilteredOnly && filteredShownKeys);
89941
90007
  }
89942
90008
  const newFilteredExpandedKeys = new Set(expandedOptsKeys);
89943
90009
  this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
@@ -90071,7 +90137,7 @@ class TreeSelectFoundation extends foundation {
90071
90137
  return this.calcCheckedKeys(eventKey, targetStatus);
90072
90138
  }
90073
90139
  const nonDisabled = descendantKeys.filter(key => !disabledKeys.has(key));
90074
- const newCheckedKeys = targetStatus ? [...nonDisabled, ...checkedKeys] : difference_default()(normalizeKeyList([...checkedKeys], keyEntities, true), nonDisabled);
90140
+ const newCheckedKeys = targetStatus ? [...nonDisabled, ...checkedKeys] : difference_default()(normalizeKeyList([...checkedKeys], keyEntities, true, true), nonDisabled);
90075
90141
  return calcCheckedKeys(newCheckedKeys, keyEntities);
90076
90142
  }
90077
90143
  calcCheckedStatus(targetStatus, eventKey) {
@@ -90096,7 +90162,8 @@ class TreeSelectFoundation extends foundation {
90096
90162
  const {
90097
90163
  treeData,
90098
90164
  filteredShownKeys,
90099
- keyEntities
90165
+ keyEntities,
90166
+ keyMaps
90100
90167
  } = this.getStates();
90101
90168
  const showFilteredOnly = this._showFilteredOnly();
90102
90169
  // clone otherwise will be modified unexpectedly
@@ -90120,7 +90187,7 @@ class TreeSelectFoundation extends foundation {
90120
90187
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
90121
90188
  if (!this._isExpandControlled()) {
90122
90189
  // debugger;
90123
- const flattenNodes = flattenTreeData(treeData, filteredExpandedKeys, showFilteredOnly && filteredShownKeys);
90190
+ const flattenNodes = flattenTreeData(treeData, filteredExpandedKeys, keyMaps, showFilteredOnly && filteredShownKeys);
90124
90191
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, filteredExpandedKeys, keyEntities) : [];
90125
90192
  const newState = {
90126
90193
  filteredExpandedKeys,
@@ -90138,7 +90205,8 @@ class TreeSelectFoundation extends foundation {
90138
90205
  handleNodeExpand(e, treeNode) {
90139
90206
  // debugger;
90140
90207
  const {
90141
- loadData
90208
+ loadData,
90209
+ keyMaps
90142
90210
  } = this.getProps();
90143
90211
  const {
90144
90212
  inputValue,
@@ -90175,7 +90243,7 @@ class TreeSelectFoundation extends foundation {
90175
90243
  this._adapter.cacheFlattenNodes(motionType === 'hide' && this._isAnimated());
90176
90244
  if (!isExpandControlled) {
90177
90245
  // debugger;
90178
- const flattenNodes = flattenTreeData(treeData, expandedKeys);
90246
+ const flattenNodes = flattenTreeData(treeData, expandedKeys, keyMaps);
90179
90247
  const motionKeys = this._isAnimated() ? getMotionKeys(eventKey, expandedKeys, keyEntities) : [];
90180
90248
  const newState = {
90181
90249
  expandedKeys,
@@ -90196,19 +90264,21 @@ class TreeSelectFoundation extends foundation {
90196
90264
  getRenderTextInSingle() {
90197
90265
  const {
90198
90266
  renderSelectedItem: propRenderSelectedItem,
90199
- treeNodeLabelProp
90267
+ treeNodeLabelProp,
90268
+ keyMaps
90200
90269
  } = this.getProps();
90201
90270
  const {
90202
90271
  selectedKeys,
90203
90272
  keyEntities
90204
90273
  } = this.getStates();
90205
- const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : item => get_default()(item, treeNodeLabelProp, null);
90274
+ const realLabelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
90275
+ const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : item => get_default()(item, realLabelName, null);
90206
90276
  let item;
90207
90277
  if (selectedKeys.length) {
90208
90278
  const key = selectedKeys[0];
90209
- item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90279
+ item = keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90210
90280
  }
90211
- const renderText = item && treeNodeLabelProp in item ? renderSelectedItem(item) : null;
90281
+ const renderText = item ? renderSelectedItem(item) : null;
90212
90282
  return renderText;
90213
90283
  }
90214
90284
  /**
@@ -90243,6 +90313,7 @@ var treeSelect = __webpack_require__("ZrYm");
90243
90313
 
90244
90314
 
90245
90315
 
90316
+
90246
90317
  var treeSelect_rest = undefined && undefined.__rest || function (s, e) {
90247
90318
  var t = {};
90248
90319
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -90400,11 +90471,13 @@ class TreeSelect extends BaseComponent {
90400
90471
  disableStrictly,
90401
90472
  size,
90402
90473
  checkRelation,
90403
- renderSelectedItem: propRenderSelectedItem
90474
+ renderSelectedItem: propRenderSelectedItem,
90475
+ keyMaps
90404
90476
  } = this.props;
90477
+ const realLabelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
90405
90478
  const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : item => ({
90406
90479
  isRenderInTag: true,
90407
- content: get_default()(item, treeNodeLabelProp, null)
90480
+ content: get_default()(item, realLabelName, null)
90408
90481
  });
90409
90482
  let renderKeys = [];
90410
90483
  if (checkRelation === 'related') {
@@ -90414,7 +90487,7 @@ class TreeSelect extends BaseComponent {
90414
90487
  }
90415
90488
  const tagList = [];
90416
90489
  renderKeys.forEach((key, index) => {
90417
- const item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90490
+ const item = keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
90418
90491
  const onClose = (tagContent, e) => {
90419
90492
  if (e && typeof e.preventDefault === 'function') {
90420
90493
  // make sure that tag will not hidden immediately in controlled mode
@@ -90425,7 +90498,7 @@ class TreeSelect extends BaseComponent {
90425
90498
  const {
90426
90499
  content,
90427
90500
  isRenderInTag
90428
- } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
90501
+ } = item ? renderSelectedItem(item, {
90429
90502
  index,
90430
90503
  onClose
90431
90504
  }) : {};
@@ -90688,11 +90761,13 @@ class TreeSelect extends BaseComponent {
90688
90761
  disabled,
90689
90762
  disableStrictly,
90690
90763
  renderSelectedItem: propRenderSelectedItem,
90691
- treeNodeLabelProp
90764
+ treeNodeLabelProp,
90765
+ keyMaps
90692
90766
  } = this.props;
90767
+ const realLabelName = get_default()(keyMaps, 'label', treeNodeLabelProp);
90693
90768
  const keyList = normalizeKeyList([key], keyEntities, leafOnly, true);
90694
- const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
90695
- const value = getValueOrKey(nodes);
90769
+ const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
90770
+ const value = getValueOrKey(nodes, keyMaps);
90696
90771
  const tagCls = classnames_default()(`${treeSelect_prefixcls}-selection-tag`, {
90697
90772
  [`${treeSelect_prefixcls}-selection-tag-disabled`]: disabled
90698
90773
  });
@@ -90715,13 +90790,13 @@ class TreeSelect extends BaseComponent {
90715
90790
  const item = nodes[0];
90716
90791
  const renderSelectedItem = isFunction_default()(propRenderSelectedItem) ? propRenderSelectedItem : selectedItem => ({
90717
90792
  isRenderInTag: true,
90718
- content: get_default()(selectedItem, treeNodeLabelProp, null)
90793
+ content: get_default()(selectedItem, realLabelName, null)
90719
90794
  });
90720
90795
  if (isFunction_default()(renderSelectedItem)) {
90721
90796
  const {
90722
90797
  content,
90723
90798
  isRenderInTag
90724
- } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
90799
+ } = item ? renderSelectedItem(item, {
90725
90800
  index: idx,
90726
90801
  onClose
90727
90802
  }) : {};
@@ -90921,17 +90996,20 @@ class TreeSelect extends BaseComponent {
90921
90996
  };
90922
90997
  this.renderTreeNode = (treeNode, ind, style) => {
90923
90998
  const {
90924
- data
90925
- } = treeNode;
90926
- const {
90999
+ data,
90927
91000
  key
90928
- } = data;
91001
+ } = treeNode;
90929
91002
  const treeNodeProps = this.foundation.getTreeNodeProps(key);
90930
91003
  if (!treeNodeProps) {
90931
91004
  return null;
90932
91005
  }
90933
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, {
90934
- key: key,
91006
+ const props = pick_default()(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']);
91007
+ const {
91008
+ keyMaps
91009
+ } = this.props;
91010
+ const children = data[get_default()(keyMaps, 'children', 'children')];
91011
+ !isUndefined_default()(children) && (props.children = children);
91012
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(TreeNode, Object.assign({}, treeNodeProps, data, props, {
90935
91013
  data: data,
90936
91014
  style: style
90937
91015
  }));
@@ -91115,6 +91193,9 @@ class TreeSelect extends BaseComponent {
91115
91193
  prevProps,
91116
91194
  rePosKey
91117
91195
  } = prevState;
91196
+ const {
91197
+ keyMaps
91198
+ } = props;
91118
91199
  const needUpdate = name => !prevProps && name in props || prevProps && !isEqual_default()(prevProps[name], props[name]);
91119
91200
  let treeData;
91120
91201
  const withObject = props.onChangeWithObject;
@@ -91129,7 +91210,7 @@ class TreeSelect extends BaseComponent {
91129
91210
  if (needUpdateTreeData) {
91130
91211
  treeData = props.treeData;
91131
91212
  newState.treeData = treeData;
91132
- const entitiesMap = convertDataToEntities(treeData);
91213
+ const entitiesMap = convertDataToEntities(treeData, keyMaps);
91133
91214
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
91134
91215
  keyEntities = newState.keyEntities;
91135
91216
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -91160,26 +91241,26 @@ class TreeSelect extends BaseComponent {
91160
91241
  } else if (!prevProps && props.defaultExpandedKeys) {
91161
91242
  newState.expandedKeys = calcExpandedKeys(props.defaultExpandedKeys, keyEntities);
91162
91243
  } else if (!prevProps && props.defaultValue) {
91163
- newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.defaultValue, withObject), keyEntities, props.multiple, valueEntities);
91244
+ newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
91164
91245
  } else if (!prevProps && props.value) {
91165
- newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.value, withObject), keyEntities, props.multiple, valueEntities);
91246
+ newState.expandedKeys = calcExpandedKeysForValues(normalizeValue(props.value, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
91166
91247
  }
91167
91248
  // flattenNodes
91168
91249
  if (treeData || needUpdateExpandedKeys) {
91169
- const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys);
91250
+ const flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
91170
91251
  newState.flattenNodes = flattenNodes;
91171
91252
  }
91172
91253
  // selectedKeys: single mode controlled
91173
91254
  const isMultiple = props.multiple;
91174
91255
  if (!isMultiple) {
91175
91256
  if (needUpdate('value')) {
91176
- newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject), valueEntities, isMultiple);
91257
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
91177
91258
  } else if (!prevProps && props.defaultValue) {
91178
- newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
91259
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
91179
91260
  } else if (treeData) {
91180
91261
  // If `treeData` changed, we also need check it
91181
91262
  if (props.value) {
91182
- newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject) || '', valueEntities, isMultiple);
91263
+ newState.selectedKeys = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || '', valueEntities, isMultiple);
91183
91264
  } else {
91184
91265
  newState.selectedKeys = updateKeys(prevState.selectedKeys, keyEntities);
91185
91266
  }
@@ -91188,13 +91269,13 @@ class TreeSelect extends BaseComponent {
91188
91269
  // checkedKeys: multiple mode controlled || data changed
91189
91270
  let checkedKeyValues;
91190
91271
  if (needUpdate('value')) {
91191
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject), valueEntities, isMultiple);
91272
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps), valueEntities, isMultiple);
91192
91273
  } else if (!prevProps && props.defaultValue) {
91193
- checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject), valueEntities, isMultiple);
91274
+ checkedKeyValues = findKeysForValues(normalizeValue(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
91194
91275
  } else if (treeData) {
91195
91276
  // If `treeData` changed, we also need check it
91196
91277
  if (props.value) {
91197
- checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject) || [], valueEntities, isMultiple);
91278
+ checkedKeyValues = findKeysForValues(normalizeValue(props.value, withObject, keyMaps) || [], valueEntities, isMultiple);
91198
91279
  } else {
91199
91280
  checkedKeyValues = updateKeys(props.checkRelation === 'related' ? prevState.checkedKeys : prevState.realCheckedKeys, keyEntities);
91200
91281
  }
@@ -91222,7 +91303,7 @@ class TreeSelect extends BaseComponent {
91222
91303
  }
91223
91304
  // ================ disableStrictly =================
91224
91305
  if (treeData && props.disableStrictly && props.checkRelation === 'related') {
91225
- newState.disabledKeys = calcDisabledKeys(keyEntities);
91306
+ newState.disabledKeys = calcDisabledKeys(keyEntities, keyMaps);
91226
91307
  }
91227
91308
  return newState;
91228
91309
  }
@@ -91466,9 +91547,10 @@ TreeSelect.propTypes = {
91466
91547
  showFilteredOnly: (prop_types_default()).bool,
91467
91548
  motionExpand: (prop_types_default()).bool,
91468
91549
  emptyContent: (prop_types_default()).node,
91550
+ keyMaps: (prop_types_default()).object,
91469
91551
  leafOnly: (prop_types_default()).bool,
91470
91552
  treeData: prop_types_default().arrayOf(prop_types_default().shape({
91471
- key: (prop_types_default()).string.isRequired,
91553
+ key: (prop_types_default()).string,
91472
91554
  value: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).number]),
91473
91555
  label: (prop_types_default()).any
91474
91556
  })),