@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.
@@ -458,6 +458,26 @@ body, body[theme-mode=dark] .semi-always-light {
458
458
  --semi-border-radius-full: 9999px;
459
459
  --semi-color-highlight-bg: rgba(var(--semi-yellow-4), 1);
460
460
  --semi-color-highlight: rgba(var(--semi-black), 1);
461
+ --semi-color-data-0:rgba(22, 100, 255, 1);
462
+ --semi-color-data-1:rgba(178, 207, 255, 1);
463
+ --semi-color-data-2:rgba(26, 198, 255, 1);
464
+ --semi-color-data-3:rgba(148, 239, 255, 1);
465
+ --semi-color-data-4:rgba(255, 138, 0, 1);
466
+ --semi-color-data-5:rgba(255, 206, 122, 1);
467
+ --semi-color-data-6:rgba(60, 199, 128, 1);
468
+ --semi-color-data-7:rgba(185, 237, 205, 1);
469
+ --semi-color-data-8:rgba(116, 66, 212, 1);
470
+ --semi-color-data-9:rgba(221, 197, 250, 1);
471
+ --semi-color-data-10:rgba(255, 196, 0, 1);
472
+ --semi-color-data-11:rgba(250, 232, 120, 1);
473
+ --semi-color-data-12:rgba(48, 77, 119, 1);
474
+ --semi-color-data-13:rgba(139, 149, 158, 1);
475
+ --semi-color-data-14:rgba(180, 141, 235, 1);
476
+ --semi-color-data-15:rgba(239, 227, 255, 1);
477
+ --semi-color-data-16:rgba(0, 148, 136, 1);
478
+ --semi-color-data-17:rgba(89, 186, 168, 1);
479
+ --semi-color-data-18:rgba(255, 125, 218, 1);
480
+ --semi-color-data-19:rgba(255, 207, 238, 1);
461
481
  }
462
482
 
463
483
  body[theme-mode=dark], body .semi-always-dark {
@@ -548,6 +568,26 @@ body[theme-mode=dark], body .semi-always-dark {
548
568
  --semi-border-radius-full: 9999px;
549
569
  --semi-color-highlight-bg: rgba(var(--semi-yellow-2), 1);
550
570
  --semi-color-highlight: rgba(var(--semi-white), 1);
571
+ --semi-color-data-0:rgba(22, 100, 255, 1);
572
+ --semi-color-data-1:rgba(178, 207, 255, 1);
573
+ --semi-color-data-2:rgba(26, 198, 255, 1);
574
+ --semi-color-data-3:rgba(148, 239, 255, 1);
575
+ --semi-color-data-4:rgba(255, 138, 0, 1);
576
+ --semi-color-data-5:rgba(255, 206, 122, 1);
577
+ --semi-color-data-6:rgba(60, 199, 128, 1);
578
+ --semi-color-data-7:rgba(185, 237, 205, 1);
579
+ --semi-color-data-8:rgba(116, 66, 212, 1);
580
+ --semi-color-data-9:rgba(221, 197, 250, 1);
581
+ --semi-color-data-10:rgba(255, 196, 0, 1);
582
+ --semi-color-data-11:rgba(250, 232, 120, 1);
583
+ --semi-color-data-12:rgba(48, 77, 119, 1);
584
+ --semi-color-data-13:rgba(139, 149, 158, 1);
585
+ --semi-color-data-14:rgba(180, 141, 235, 1);
586
+ --semi-color-data-15:rgba(239, 227, 255, 1);
587
+ --semi-color-data-16:rgba(0, 148, 136, 1);
588
+ --semi-color-data-17:rgba(89, 186, 168, 1);
589
+ --semi-color-data-18:rgba(255, 125, 218, 1);
590
+ --semi-color-data-19:rgba(255, 207, 238, 1);
551
591
  }
552
592
 
553
593
  .semi-light-scrollbar::-webkit-scrollbar, .semi-light-scrollbar *::-webkit-scrollbar {
@@ -59,7 +59,8 @@ class Button extends _react.PureComponent {
59
59
  [`${prefixCls}-light`]: theme === 'light',
60
60
  [`${prefixCls}-block`]: block,
61
61
  [`${prefixCls}-circle`]: circle,
62
- [`${prefixCls}-borderless`]: theme === 'borderless'
62
+ [`${prefixCls}-borderless`]: theme === 'borderless',
63
+ [`${prefixCls}-${type}-disabled`]: disabled && type
63
64
  }, className),
64
65
  type: htmlType,
65
66
  'aria-disabled': disabled
@@ -11,6 +11,7 @@ export interface CollapsePanelProps {
11
11
  style?: CSSProperties;
12
12
  showArrow?: boolean;
13
13
  disabled?: boolean;
14
+ onMotionEnd?: () => void;
14
15
  }
15
16
  export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
16
17
  static contextType: React.Context<CollapseContextType>;
@@ -120,6 +120,7 @@ class CollapsePanel extends _react.PureComponent {
120
120
  isOpen: active,
121
121
  keepDOM: keepDOM,
122
122
  motion: motion,
123
+ onMotionEnd: this.props.onMotionEnd,
123
124
  reCalcKey: reCalcKey
124
125
  }, /*#__PURE__*/_react.default.createElement("div", {
125
126
  className: contentCls,
@@ -210,7 +210,8 @@ class Pagination extends _baseComponent.default {
210
210
  const {
211
211
  showSizeChanger,
212
212
  popoverPosition = defaultPopoverPosition,
213
- disabled
213
+ disabled,
214
+ popoverZIndex
214
215
  } = this.props;
215
216
  const {
216
217
  pageSize
@@ -236,6 +237,7 @@ class Pagination extends _baseComponent.default {
236
237
  key: pageSize,
237
238
  position: popoverPosition || 'bottomRight',
238
239
  clickToHide: true,
240
+ zIndex: popoverZIndex,
239
241
  dropdownClassName: `${prefixCls}-select-dropdown`
240
242
  }, options));
241
243
  }
@@ -24,6 +24,7 @@ export interface PopconfirmProps extends PopoverProps {
24
24
  prefixCls?: string;
25
25
  zIndex?: number;
26
26
  trigger?: Trigger;
27
+ showCloseIcon?: boolean;
27
28
  position?: Position;
28
29
  onCancel?: (e: React.MouseEvent) => Promise<any> | void;
29
30
  onConfirm?: (e: React.MouseEvent) => Promise<any> | void;
@@ -59,6 +60,7 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
59
60
  okButtonProps: PropTypes.Requireable<object>;
60
61
  cancelButtonProps: PropTypes.Requireable<object>;
61
62
  stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
63
+ showCloseIcon: PropTypes.Requireable<boolean>;
62
64
  zIndex: PropTypes.Requireable<number>;
63
65
  trigger: PropTypes.Requireable<string>;
64
66
  position: PropTypes.Requireable<string>;
@@ -73,6 +75,7 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
73
75
  cancelType: string;
74
76
  prefixCls: string;
75
77
  zIndex: number;
78
+ showCloseIcon: boolean;
76
79
  onCancel: (...args: any[]) => void;
77
80
  onConfirm: (...args: any[]) => void;
78
81
  onClickOutSide: (...args: any[]) => void;
@@ -48,7 +48,8 @@ class Popconfirm extends _baseComponent.default {
48
48
  style,
49
49
  cancelType,
50
50
  icon,
51
- prefixCls
51
+ prefixCls,
52
+ showCloseIcon
52
53
  } = this.props;
53
54
  const {
54
55
  direction
@@ -82,14 +83,14 @@ class Popconfirm extends _baseComponent.default {
82
83
  }, showTitle ? /*#__PURE__*/_react.default.createElement("div", {
83
84
  className: `${prefixCls}-header-title`,
84
85
  "x-semi-prop": "title"
85
- }, title) : null), /*#__PURE__*/_react.default.createElement(_button.default, {
86
+ }, title) : null), showCloseIcon ? /*#__PURE__*/_react.default.createElement(_button.default, {
86
87
  className: `${prefixCls}-btn-close`,
87
88
  icon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, null),
88
89
  size: "small",
89
90
  theme: 'borderless',
90
91
  type: cancelType,
91
92
  onClick: this.handleCancel
92
- })), showContent ? /*#__PURE__*/_react.default.createElement("div", {
93
+ }) : null), showContent ? /*#__PURE__*/_react.default.createElement("div", {
93
94
  className: bodyCls,
94
95
  "x-semi-prop": "content"
95
96
  }, (0, _isFunction2.default)(content) ? content({
@@ -254,6 +255,7 @@ Popconfirm.propTypes = {
254
255
  okButtonProps: _propTypes.default.object,
255
256
  cancelButtonProps: _propTypes.default.object,
256
257
  stopPropagation: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),
258
+ showCloseIcon: _propTypes.default.bool,
257
259
  zIndex: _propTypes.default.number,
258
260
  // private
259
261
  trigger: _propTypes.default.string,
@@ -272,6 +274,7 @@ Popconfirm.defaultProps = {
272
274
  cancelType: 'tertiary',
273
275
  prefixCls: _constants.cssClasses.PREFIX,
274
276
  zIndex: _constants.numbers.DEFAULT_Z_INDEX,
277
+ showCloseIcon: true,
275
278
  onCancel: _noop2.default,
276
279
  onConfirm: _noop2.default,
277
280
  onClickOutSide: _noop2.default
@@ -41,11 +41,12 @@ declare class Tree extends BaseComponent<TreeProps, TreeState> {
41
41
  showFilteredOnly: PropTypes.Requireable<boolean>;
42
42
  style: PropTypes.Requireable<object>;
43
43
  treeData: PropTypes.Requireable<PropTypes.InferProps<{
44
- key: PropTypes.Validator<string>;
44
+ key: PropTypes.Requireable<string>;
45
45
  value: PropTypes.Requireable<NonNullable<string | number>>;
46
46
  label: PropTypes.Requireable<any>;
47
47
  isLeaf: PropTypes.Requireable<boolean>;
48
48
  }>[]>;
49
+ keyMaps: PropTypes.Requireable<object>;
49
50
  treeDataSimpleJson: PropTypes.Requireable<object>;
50
51
  treeNodeFilterProp: PropTypes.Requireable<string>;
51
52
  value: PropTypes.Requireable<NonNullable<string | number | object>>;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {};
7
7
  exports.default = void 0;
8
+ var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
9
+ var _pick2 = _interopRequireDefault(require("lodash/pick"));
8
10
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
9
11
  var _get2 = _interopRequireDefault(require("lodash/get"));
10
12
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
@@ -162,17 +164,20 @@ class Tree extends _baseComponent.default {
162
164
  };
163
165
  this.renderTreeNode = (treeNode, ind, style) => {
164
166
  const {
165
- data
166
- } = treeNode;
167
- const {
167
+ data,
168
168
  key
169
- } = data;
169
+ } = treeNode;
170
170
  const treeNodeProps = this.foundation.getTreeNodeProps(key);
171
171
  if (!treeNodeProps) {
172
172
  return null;
173
173
  }
174
- return /*#__PURE__*/_react.default.createElement(_treeNode.default, Object.assign({}, treeNodeProps, data, {
175
- key: key,
174
+ const {
175
+ keyMaps
176
+ } = this.props;
177
+ const props = (0, _pick2.default)(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']);
178
+ const children = data[(0, _get2.default)(keyMaps, 'children', 'children')];
179
+ !(0, _isUndefined2.default)(children) && (props.children = children);
180
+ return /*#__PURE__*/_react.default.createElement(_treeNode.default, Object.assign({}, treeNodeProps, data, props, {
176
181
  data: data,
177
182
  style: (0, _isEmpty2.default)(style) ? {} : style
178
183
  }));
@@ -232,6 +237,9 @@ class Tree extends _baseComponent.default {
232
237
  const {
233
238
  prevProps
234
239
  } = prevState;
240
+ const {
241
+ keyMaps
242
+ } = props;
235
243
  let treeData;
236
244
  let keyEntities = prevState.keyEntities || {};
237
245
  let valueEntities = prevState.cachedKeyValuePairs || {};
@@ -258,7 +266,7 @@ class Tree extends _baseComponent.default {
258
266
  if (needUpdateTreeData || props.draggable && needUpdateData()) {
259
267
  treeData = props.treeData;
260
268
  newState.treeData = treeData;
261
- const entitiesMap = (0, _treeUtil.convertDataToEntities)(treeData);
269
+ const entitiesMap = (0, _treeUtil.convertDataToEntities)(treeData, keyMaps);
262
270
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
263
271
  keyEntities = newState.keyEntities;
264
272
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -267,7 +275,7 @@ class Tree extends _baseComponent.default {
267
275
  // Convert treeDataSimpleJson to treeData
268
276
  treeData = (0, _treeUtil.convertJsonToData)(props.treeDataSimpleJson);
269
277
  newState.treeData = treeData;
270
- const entitiesMap = (0, _treeUtil.convertDataToEntities)(treeData);
278
+ const entitiesMap = (0, _treeUtil.convertDataToEntities)(treeData, keyMaps);
271
279
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
272
280
  keyEntities = newState.keyEntities;
273
281
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -323,7 +331,7 @@ class Tree extends _baseComponent.default {
323
331
  }
324
332
  // Update flattenNodes
325
333
  if (treeData || newState.expandedKeys) {
326
- const flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys);
334
+ const flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
327
335
  newState.flattenNodes = flattenNodes;
328
336
  }
329
337
  } else {
@@ -338,7 +346,8 @@ class Tree extends _baseComponent.default {
338
346
  filterProps: props.treeNodeFilterProp,
339
347
  showFilteredOnly: props.showFilteredOnly,
340
348
  keyEntities: newState.keyEntities,
341
- prevExpandedKeys: [...prevState.filteredExpandedKeys]
349
+ prevExpandedKeys: [...prevState.filteredExpandedKeys],
350
+ keyMaps: keyMaps
342
351
  });
343
352
  newState.flattenNodes = filteredState.flattenNodes;
344
353
  newState.motionKeys = new Set([]);
@@ -371,7 +380,7 @@ class Tree extends _baseComponent.default {
371
380
  newState.motionType = motionType;
372
381
  }
373
382
  }
374
- newState.flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, props.showFilteredOnly && prevState.filteredShownKeys);
383
+ newState.flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, keyMaps, props.showFilteredOnly && prevState.filteredShownKeys);
375
384
  }
376
385
  }
377
386
  // Handle single selection and multiple selection in controlled mode
@@ -382,26 +391,26 @@ class Tree extends _baseComponent.default {
382
391
  if (needUpdate('value')) {
383
392
  newState.selectedKeys = (0, _treeUtil.findKeysForValues)(
384
393
  // In both cases whether withObject is turned on, the value is standardized to string
385
- (0, _treeUtil.normalizeValue)(props.value, withObject), valueEntities, isMultiple);
394
+ (0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), valueEntities, isMultiple);
386
395
  } else if (!prevProps && props.defaultValue) {
387
- newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject), valueEntities, isMultiple);
396
+ newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
388
397
  } else if (treeData) {
389
398
  // If `treeData` changed, we also need check it
390
399
  if (props.value) {
391
- newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject) || '', valueEntities, isMultiple);
400
+ newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps) || '', valueEntities, isMultiple);
392
401
  }
393
402
  }
394
403
  } else {
395
404
  let checkedKeyValues;
396
405
  // Get the selected node during multiple selection
397
406
  if (needUpdate('value')) {
398
- checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject), valueEntities, isMultiple);
407
+ checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), valueEntities, isMultiple);
399
408
  } else if (!prevProps && props.defaultValue) {
400
- checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject), valueEntities, isMultiple);
409
+ checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
401
410
  } else if (treeData) {
402
411
  // If `treeData` changed, we also need check it
403
412
  if (props.value) {
404
- checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject) || [], valueEntities, isMultiple);
413
+ checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps) || [], valueEntities, isMultiple);
405
414
  } else {
406
415
  checkedKeyValues = (0, _treeUtil.updateKeys)(props.checkRelation === 'related' ? prevState.checkedKeys : prevState.realCheckedKeys, keyEntities);
407
416
  }
@@ -425,7 +434,7 @@ class Tree extends _baseComponent.default {
425
434
  }
426
435
  // update disableStrictly
427
436
  if (treeData && props.disableStrictly && props.checkRelation === 'related') {
428
- newState.disabledKeys = (0, _treeUtil.calcDisabledKeys)(keyEntities);
437
+ newState.disabledKeys = (0, _treeUtil.calcDisabledKeys)(keyEntities, keyMaps);
429
438
  }
430
439
  return newState;
431
440
  }
@@ -703,11 +712,12 @@ Tree.propTypes = {
703
712
  showFilteredOnly: _propTypes.default.bool,
704
713
  style: _propTypes.default.object,
705
714
  treeData: _propTypes.default.arrayOf(_propTypes.default.shape({
706
- key: _propTypes.default.string.isRequired,
715
+ key: _propTypes.default.string,
707
716
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
708
717
  label: _propTypes.default.any,
709
718
  isLeaf: _propTypes.default.bool
710
719
  })),
720
+ keyMaps: _propTypes.default.object,
711
721
  treeDataSimpleJson: _propTypes.default.object,
712
722
  treeNodeFilterProp: _propTypes.default.string,
713
723
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode, MouseEvent } from 'react';
2
- import { BasicTreeProps, BasicExpandedOtherProps, BasicRenderFullLabelProps, BasicSearchRenderProps, BasicTreeInnerData, BasicKeyEntities, BasicKeyEntity, BasicTreeNodeProps, BasicFlattenNode, BasicTreeNodeData, BasicOnDragProps } from '@douyinfe/semi-foundation/lib/cjs/tree/foundation';
2
+ import { BasicTreeProps, BasicExpandedOtherProps, BasicRenderFullLabelProps, BasicSearchRenderProps, BasicTreeInnerData, BasicKeyEntities, BasicKeyEntity, BasicTreeNodeProps, BasicFlattenNode, BasicTreeNodeData, BasicOnDragProps, KeyMapProps } from '@douyinfe/semi-foundation/lib/cjs/tree/foundation';
3
3
  export type Value = string | number | TreeNodeData | Array<TreeNodeData | number | string>;
4
4
  export interface DragTreeNode extends TreeNodeData {
5
5
  expanded: boolean;
@@ -49,6 +49,7 @@ export interface TreeProps extends BasicTreeProps {
49
49
  treeData?: TreeNodeData[];
50
50
  value?: Value;
51
51
  icon?: ReactNode;
52
+ keyMaps?: KeyMapProps;
52
53
  loadData?: (treeNode?: TreeNodeData) => Promise<void>;
53
54
  onChange?: (value?: Value) => void;
54
55
  onDoubleClick?: (e: MouseEvent, node: TreeNodeData) => void;
@@ -12,13 +12,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  const getTreeNodeKey = treeNode => {
15
- const {
16
- data
17
- } = treeNode;
18
- const {
19
- key
20
- } = data;
21
- return key;
15
+ return treeNode.key;
22
16
  };
23
17
  class NodeList extends _react.PureComponent {
24
18
  constructor(props) {
@@ -29,7 +29,7 @@ export type RenderSelectedItemInMultiple = (treeNode: TreeNodeData, otherProps:
29
29
  content: React.ReactNode;
30
30
  };
31
31
  export type RenderSelectedItem = RenderSelectedItemInSingle | RenderSelectedItemInMultiple;
32
- export type OverrideCommonProps = 'renderFullLabel' | 'renderLabel' | 'defaultValue' | 'emptyContent' | 'filterTreeNode' | 'style' | 'treeData' | 'value' | 'onExpand';
32
+ export type OverrideCommonProps = 'renderFullLabel' | 'renderLabel' | 'defaultValue' | 'emptyContent' | 'filterTreeNode' | 'style' | 'treeData' | 'value' | 'onExpand' | 'keyMaps';
33
33
  /**
34
34
  * Type definition description:
35
35
  * TreeSelectProps inherits some properties from BasicTreeSelectProps (from foundation) and TreeProps (from semi-ui-react).
@@ -136,9 +136,10 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
136
136
  showFilteredOnly: PropTypes.Requireable<boolean>;
137
137
  motionExpand: PropTypes.Requireable<boolean>;
138
138
  emptyContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
139
+ keyMaps: PropTypes.Requireable<object>;
139
140
  leafOnly: PropTypes.Requireable<boolean>;
140
141
  treeData: PropTypes.Requireable<PropTypes.InferProps<{
141
- key: PropTypes.Validator<string>;
142
+ key: PropTypes.Requireable<string>;
142
143
  value: PropTypes.Requireable<NonNullable<string | number>>;
143
144
  label: PropTypes.Requireable<any>;
144
145
  }>[]>;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _pick2 = _interopRequireDefault(require("lodash/pick"));
7
8
  var _isNull2 = _interopRequireDefault(require("lodash/isNull"));
8
9
  var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
9
10
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
@@ -172,11 +173,13 @@ class TreeSelect extends _baseComponent.default {
172
173
  disableStrictly,
173
174
  size,
174
175
  checkRelation,
175
- renderSelectedItem: propRenderSelectedItem
176
+ renderSelectedItem: propRenderSelectedItem,
177
+ keyMaps
176
178
  } = this.props;
179
+ const realLabelName = (0, _get2.default)(keyMaps, 'label', treeNodeLabelProp);
177
180
  const renderSelectedItem = (0, _isFunction2.default)(propRenderSelectedItem) ? propRenderSelectedItem : item => ({
178
181
  isRenderInTag: true,
179
- content: (0, _get2.default)(item, treeNodeLabelProp, null)
182
+ content: (0, _get2.default)(item, realLabelName, null)
180
183
  });
181
184
  let renderKeys = [];
182
185
  if (checkRelation === 'related') {
@@ -186,7 +189,7 @@ class TreeSelect extends _baseComponent.default {
186
189
  }
187
190
  const tagList = [];
188
191
  renderKeys.forEach((key, index) => {
189
- const item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
192
+ const item = keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
190
193
  const onClose = (tagContent, e) => {
191
194
  if (e && typeof e.preventDefault === 'function') {
192
195
  // make sure that tag will not hidden immediately in controlled mode
@@ -197,7 +200,7 @@ class TreeSelect extends _baseComponent.default {
197
200
  const {
198
201
  content,
199
202
  isRenderInTag
200
- } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
203
+ } = item ? renderSelectedItem(item, {
201
204
  index,
202
205
  onClose
203
206
  }) : {};
@@ -460,11 +463,13 @@ class TreeSelect extends _baseComponent.default {
460
463
  disabled,
461
464
  disableStrictly,
462
465
  renderSelectedItem: propRenderSelectedItem,
463
- treeNodeLabelProp
466
+ treeNodeLabelProp,
467
+ keyMaps
464
468
  } = this.props;
469
+ const realLabelName = (0, _get2.default)(keyMaps, 'label', treeNodeLabelProp);
465
470
  const keyList = (0, _treeUtil.normalizeKeyList)([key], keyEntities, leafOnly, true);
466
- const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
467
- const value = (0, _treeUtil.getValueOrKey)(nodes);
471
+ const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
472
+ const value = (0, _treeUtil.getValueOrKey)(nodes, keyMaps);
468
473
  const tagCls = (0, _classnames.default)(`${prefixcls}-selection-tag`, {
469
474
  [`${prefixcls}-selection-tag-disabled`]: disabled
470
475
  });
@@ -487,13 +492,13 @@ class TreeSelect extends _baseComponent.default {
487
492
  const item = nodes[0];
488
493
  const renderSelectedItem = (0, _isFunction2.default)(propRenderSelectedItem) ? propRenderSelectedItem : selectedItem => ({
489
494
  isRenderInTag: true,
490
- content: (0, _get2.default)(selectedItem, treeNodeLabelProp, null)
495
+ content: (0, _get2.default)(selectedItem, realLabelName, null)
491
496
  });
492
497
  if ((0, _isFunction2.default)(renderSelectedItem)) {
493
498
  const {
494
499
  content,
495
500
  isRenderInTag
496
- } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
501
+ } = item ? renderSelectedItem(item, {
497
502
  index: idx,
498
503
  onClose
499
504
  }) : {};
@@ -693,17 +698,20 @@ class TreeSelect extends _baseComponent.default {
693
698
  };
694
699
  this.renderTreeNode = (treeNode, ind, style) => {
695
700
  const {
696
- data
697
- } = treeNode;
698
- const {
701
+ data,
699
702
  key
700
- } = data;
703
+ } = treeNode;
701
704
  const treeNodeProps = this.foundation.getTreeNodeProps(key);
702
705
  if (!treeNodeProps) {
703
706
  return null;
704
707
  }
705
- return /*#__PURE__*/_react.default.createElement(_treeNode.default, Object.assign({}, treeNodeProps, data, {
706
- key: key,
708
+ const props = (0, _pick2.default)(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']);
709
+ const {
710
+ keyMaps
711
+ } = this.props;
712
+ const children = data[(0, _get2.default)(keyMaps, 'children', 'children')];
713
+ !(0, _isUndefined2.default)(children) && (props.children = children);
714
+ return /*#__PURE__*/_react.default.createElement(_treeNode.default, Object.assign({}, treeNodeProps, data, props, {
707
715
  data: data,
708
716
  style: style
709
717
  }));
@@ -887,6 +895,9 @@ class TreeSelect extends _baseComponent.default {
887
895
  prevProps,
888
896
  rePosKey
889
897
  } = prevState;
898
+ const {
899
+ keyMaps
900
+ } = props;
890
901
  const needUpdate = name => !prevProps && name in props || prevProps && !(0, _isEqual2.default)(prevProps[name], props[name]);
891
902
  let treeData;
892
903
  const withObject = props.onChangeWithObject;
@@ -901,7 +912,7 @@ class TreeSelect extends _baseComponent.default {
901
912
  if (needUpdateTreeData) {
902
913
  treeData = props.treeData;
903
914
  newState.treeData = treeData;
904
- const entitiesMap = (0, _treeUtil.convertDataToEntities)(treeData);
915
+ const entitiesMap = (0, _treeUtil.convertDataToEntities)(treeData, keyMaps);
905
916
  newState.keyEntities = Object.assign({}, entitiesMap.keyEntities);
906
917
  keyEntities = newState.keyEntities;
907
918
  newState.cachedKeyValuePairs = Object.assign({}, entitiesMap.valueEntities);
@@ -932,26 +943,26 @@ class TreeSelect extends _baseComponent.default {
932
943
  } else if (!prevProps && props.defaultExpandedKeys) {
933
944
  newState.expandedKeys = (0, _treeUtil.calcExpandedKeys)(props.defaultExpandedKeys, keyEntities);
934
945
  } else if (!prevProps && props.defaultValue) {
935
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject), keyEntities, props.multiple, valueEntities);
946
+ newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
936
947
  } else if (!prevProps && props.value) {
937
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject), keyEntities, props.multiple, valueEntities);
948
+ newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
938
949
  }
939
950
  // flattenNodes
940
951
  if (treeData || needUpdateExpandedKeys) {
941
- const flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys);
952
+ const flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
942
953
  newState.flattenNodes = flattenNodes;
943
954
  }
944
955
  // selectedKeys: single mode controlled
945
956
  const isMultiple = props.multiple;
946
957
  if (!isMultiple) {
947
958
  if (needUpdate('value')) {
948
- newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject), valueEntities, isMultiple);
959
+ newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), valueEntities, isMultiple);
949
960
  } else if (!prevProps && props.defaultValue) {
950
- newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject), valueEntities, isMultiple);
961
+ newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
951
962
  } else if (treeData) {
952
963
  // If `treeData` changed, we also need check it
953
964
  if (props.value) {
954
- newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject) || '', valueEntities, isMultiple);
965
+ newState.selectedKeys = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps) || '', valueEntities, isMultiple);
955
966
  } else {
956
967
  newState.selectedKeys = (0, _treeUtil.updateKeys)(prevState.selectedKeys, keyEntities);
957
968
  }
@@ -960,13 +971,13 @@ class TreeSelect extends _baseComponent.default {
960
971
  // checkedKeys: multiple mode controlled || data changed
961
972
  let checkedKeyValues;
962
973
  if (needUpdate('value')) {
963
- checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject), valueEntities, isMultiple);
974
+ checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), valueEntities, isMultiple);
964
975
  } else if (!prevProps && props.defaultValue) {
965
- checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject), valueEntities, isMultiple);
976
+ checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), valueEntities, isMultiple);
966
977
  } else if (treeData) {
967
978
  // If `treeData` changed, we also need check it
968
979
  if (props.value) {
969
- checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject) || [], valueEntities, isMultiple);
980
+ checkedKeyValues = (0, _treeUtil.findKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps) || [], valueEntities, isMultiple);
970
981
  } else {
971
982
  checkedKeyValues = (0, _treeUtil.updateKeys)(props.checkRelation === 'related' ? prevState.checkedKeys : prevState.realCheckedKeys, keyEntities);
972
983
  }
@@ -994,7 +1005,7 @@ class TreeSelect extends _baseComponent.default {
994
1005
  }
995
1006
  // ================ disableStrictly =================
996
1007
  if (treeData && props.disableStrictly && props.checkRelation === 'related') {
997
- newState.disabledKeys = (0, _treeUtil.calcDisabledKeys)(keyEntities);
1008
+ newState.disabledKeys = (0, _treeUtil.calcDisabledKeys)(keyEntities, keyMaps);
998
1009
  }
999
1010
  return newState;
1000
1011
  }
@@ -1238,9 +1249,10 @@ TreeSelect.propTypes = {
1238
1249
  showFilteredOnly: _propTypes.default.bool,
1239
1250
  motionExpand: _propTypes.default.bool,
1240
1251
  emptyContent: _propTypes.default.node,
1252
+ keyMaps: _propTypes.default.object,
1241
1253
  leafOnly: _propTypes.default.bool,
1242
1254
  treeData: _propTypes.default.arrayOf(_propTypes.default.shape({
1243
- key: _propTypes.default.string.isRequired,
1255
+ key: _propTypes.default.string,
1244
1256
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
1245
1257
  label: _propTypes.default.any
1246
1258
  })),
@@ -458,6 +458,26 @@ body, body[theme-mode=dark] .semi-always-light {
458
458
  --semi-border-radius-full: 9999px;
459
459
  --semi-color-highlight-bg: rgba(var(--semi-yellow-4), 1);
460
460
  --semi-color-highlight: rgba(var(--semi-black), 1);
461
+ --semi-color-data-0:rgba(22, 100, 255, 1);
462
+ --semi-color-data-1:rgba(178, 207, 255, 1);
463
+ --semi-color-data-2:rgba(26, 198, 255, 1);
464
+ --semi-color-data-3:rgba(148, 239, 255, 1);
465
+ --semi-color-data-4:rgba(255, 138, 0, 1);
466
+ --semi-color-data-5:rgba(255, 206, 122, 1);
467
+ --semi-color-data-6:rgba(60, 199, 128, 1);
468
+ --semi-color-data-7:rgba(185, 237, 205, 1);
469
+ --semi-color-data-8:rgba(116, 66, 212, 1);
470
+ --semi-color-data-9:rgba(221, 197, 250, 1);
471
+ --semi-color-data-10:rgba(255, 196, 0, 1);
472
+ --semi-color-data-11:rgba(250, 232, 120, 1);
473
+ --semi-color-data-12:rgba(48, 77, 119, 1);
474
+ --semi-color-data-13:rgba(139, 149, 158, 1);
475
+ --semi-color-data-14:rgba(180, 141, 235, 1);
476
+ --semi-color-data-15:rgba(239, 227, 255, 1);
477
+ --semi-color-data-16:rgba(0, 148, 136, 1);
478
+ --semi-color-data-17:rgba(89, 186, 168, 1);
479
+ --semi-color-data-18:rgba(255, 125, 218, 1);
480
+ --semi-color-data-19:rgba(255, 207, 238, 1);
461
481
  }
462
482
 
463
483
  body[theme-mode=dark], body .semi-always-dark {
@@ -548,6 +568,26 @@ body[theme-mode=dark], body .semi-always-dark {
548
568
  --semi-border-radius-full: 9999px;
549
569
  --semi-color-highlight-bg: rgba(var(--semi-yellow-2), 1);
550
570
  --semi-color-highlight: rgba(var(--semi-white), 1);
571
+ --semi-color-data-0:rgba(22, 100, 255, 1);
572
+ --semi-color-data-1:rgba(178, 207, 255, 1);
573
+ --semi-color-data-2:rgba(26, 198, 255, 1);
574
+ --semi-color-data-3:rgba(148, 239, 255, 1);
575
+ --semi-color-data-4:rgba(255, 138, 0, 1);
576
+ --semi-color-data-5:rgba(255, 206, 122, 1);
577
+ --semi-color-data-6:rgba(60, 199, 128, 1);
578
+ --semi-color-data-7:rgba(185, 237, 205, 1);
579
+ --semi-color-data-8:rgba(116, 66, 212, 1);
580
+ --semi-color-data-9:rgba(221, 197, 250, 1);
581
+ --semi-color-data-10:rgba(255, 196, 0, 1);
582
+ --semi-color-data-11:rgba(250, 232, 120, 1);
583
+ --semi-color-data-12:rgba(48, 77, 119, 1);
584
+ --semi-color-data-13:rgba(139, 149, 158, 1);
585
+ --semi-color-data-14:rgba(180, 141, 235, 1);
586
+ --semi-color-data-15:rgba(239, 227, 255, 1);
587
+ --semi-color-data-16:rgba(0, 148, 136, 1);
588
+ --semi-color-data-17:rgba(89, 186, 168, 1);
589
+ --semi-color-data-18:rgba(255, 125, 218, 1);
590
+ --semi-color-data-19:rgba(255, 207, 238, 1);
551
591
  }
552
592
 
553
593
  .semi-light-scrollbar::-webkit-scrollbar, .semi-light-scrollbar *::-webkit-scrollbar {
@@ -50,7 +50,8 @@ export default class Button extends PureComponent {
50
50
  [`${prefixCls}-light`]: theme === 'light',
51
51
  [`${prefixCls}-block`]: block,
52
52
  [`${prefixCls}-circle`]: circle,
53
- [`${prefixCls}-borderless`]: theme === 'borderless'
53
+ [`${prefixCls}-borderless`]: theme === 'borderless',
54
+ [`${prefixCls}-${type}-disabled`]: disabled && type
54
55
  }, className),
55
56
  type: htmlType,
56
57
  'aria-disabled': disabled
@@ -11,6 +11,7 @@ export interface CollapsePanelProps {
11
11
  style?: CSSProperties;
12
12
  showArrow?: boolean;
13
13
  disabled?: boolean;
14
+ onMotionEnd?: () => void;
14
15
  }
15
16
  export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
16
17
  static contextType: React.Context<CollapseContextType>;