@douyinfe/semi-ui 2.48.0-alpha.0 → 2.48.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.
@@ -10,12 +10,14 @@ export interface AvatarState {
10
10
  isImgExist: boolean;
11
11
  hoverContent: React.ReactNode;
12
12
  focusVisible: boolean;
13
+ scale: number;
13
14
  }
14
15
  export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
15
16
  static defaultProps: {
16
17
  size: string;
17
18
  color: string;
18
19
  shape: string;
20
+ gap: number;
19
21
  onClick: typeof noop;
20
22
  onMouseEnter: typeof noop;
21
23
  onMouseLeave: typeof noop;
@@ -29,6 +31,7 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
29
31
  hoverMask: PropTypes.Requireable<PropTypes.ReactNodeLike>;
30
32
  className: PropTypes.Requireable<string>;
31
33
  style: PropTypes.Requireable<object>;
34
+ gap: PropTypes.Requireable<number>;
32
35
  imgAttr: PropTypes.Requireable<object>;
33
36
  src: PropTypes.Requireable<string>;
34
37
  srcSet: PropTypes.Requireable<string>;
@@ -39,6 +42,7 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
39
42
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
40
43
  };
41
44
  foundation: AvatarFoundation;
45
+ avatarRef: React.RefObject<HTMLElement | null>;
42
46
  constructor(props: AvatarProps);
43
47
  get adapter(): AvatarAdapter<AvatarProps, AvatarState>;
44
48
  componentDidMount(): void;
@@ -95,8 +95,12 @@ class Avatar extends _baseComponent.default {
95
95
  })
96
96
  };
97
97
  const finalProps = clickable ? Object.assign(Object.assign({}, props), a11yFocusProps) : props;
98
+ const stringStyle = {
99
+ transform: `scale(${this.state.scale})`
100
+ };
98
101
  content = /*#__PURE__*/_react.default.createElement("span", {
99
- className: `${prefixCls}-content`
102
+ className: `${prefixCls}-content`,
103
+ style: stringStyle
100
104
  }, /*#__PURE__*/_react.default.createElement("span", Object.assign({}, finalProps, {
101
105
  "x-semi-prop": "children"
102
106
  }), children));
@@ -106,13 +110,15 @@ class Avatar extends _baseComponent.default {
106
110
  this.state = {
107
111
  isImgExist: true,
108
112
  hoverContent: '',
109
- focusVisible: false
113
+ focusVisible: false,
114
+ scale: 1
110
115
  };
111
116
  this.onEnter = this.onEnter.bind(this);
112
117
  this.onLeave = this.onLeave.bind(this);
113
118
  this.handleError = this.handleError.bind(this);
114
119
  this.handleKeyDown = this.handleKeyDown.bind(this);
115
120
  this.getContent = this.getContent.bind(this);
121
+ this.avatarRef = /*#__PURE__*/_react.default.createRef();
116
122
  }
117
123
  get adapter() {
118
124
  return Object.assign(Object.assign({}, super.adapter), {
@@ -149,6 +155,15 @@ class Avatar extends _baseComponent.default {
149
155
  this.setState({
150
156
  focusVisible
151
157
  });
158
+ },
159
+ setScale: scale => {
160
+ this.setState({
161
+ scale
162
+ });
163
+ },
164
+ getAvatarNode: () => {
165
+ var _a;
166
+ return (_a = this.avatarRef) === null || _a === void 0 ? void 0 : _a.current;
152
167
  }
153
168
  });
154
169
  }
@@ -176,6 +191,9 @@ class Avatar extends _baseComponent.default {
176
191
  });
177
192
  };
178
193
  }
194
+ if (typeof this.props.children === "string" && this.props.children !== prevProps.children) {
195
+ this.foundation.changeScale();
196
+ }
179
197
  }
180
198
  componentWillUnmount() {
181
199
  this.foundation.destroy();
@@ -219,9 +237,10 @@ class Avatar extends _baseComponent.default {
219
237
  src,
220
238
  srcSet,
221
239
  style,
222
- alt
240
+ alt,
241
+ gap
223
242
  } = _a,
224
- others = __rest(_a, ["shape", "children", "size", "color", "className", "hoverMask", "onClick", "imgAttr", "src", "srcSet", "style", "alt"]);
243
+ others = __rest(_a, ["shape", "children", "size", "color", "className", "hoverMask", "onClick", "imgAttr", "src", "srcSet", "style", "alt", "gap"]);
225
244
  const {
226
245
  isImgExist,
227
246
  hoverContent,
@@ -245,7 +264,8 @@ class Avatar extends _baseComponent.default {
245
264
  onClick: onClick,
246
265
  onMouseEnter: this.onEnter,
247
266
  onMouseLeave: this.onLeave,
248
- role: 'listitem'
267
+ role: 'listitem',
268
+ ref: this.avatarRef
249
269
  }), this.getContent(), hoverRender);
250
270
  }
251
271
  }
@@ -254,6 +274,7 @@ Avatar.defaultProps = {
254
274
  size: 'medium',
255
275
  color: 'grey',
256
276
  shape: 'circle',
277
+ gap: 3,
257
278
  onClick: _function.noop,
258
279
  onMouseEnter: _function.noop,
259
280
  onMouseLeave: _function.noop
@@ -266,6 +287,7 @@ Avatar.propTypes = {
266
287
  hoverMask: _propTypes.default.node,
267
288
  className: _propTypes.default.string,
268
289
  style: _propTypes.default.object,
290
+ gap: _propTypes.default.number,
269
291
  imgAttr: _propTypes.default.object,
270
292
  src: _propTypes.default.string,
271
293
  srcSet: _propTypes.default.string,
@@ -12,6 +12,7 @@ export interface AvatarProps extends BaseProps {
12
12
  src?: string;
13
13
  srcSet?: string;
14
14
  alt?: string;
15
+ gap?: number;
15
16
  onError?: React.MouseEventHandler;
16
17
  onClick?: React.MouseEventHandler;
17
18
  onMouseEnter?: React.MouseEventHandler;
@@ -82,6 +82,7 @@ class Slider extends _baseComponent.default {
82
82
  });
83
83
  const handleContents = !range ? /*#__PURE__*/_react.default.createElement(_index.default, {
84
84
  content: tipChildren.min,
85
+ showArrow: this.props.showArrow,
85
86
  position: "top",
86
87
  trigger: "custom",
87
88
  rePosKey: minPercent,
@@ -280,7 +281,7 @@ class Slider extends _baseComponent.default {
280
281
  [`${prefixCls}-dot-active`]: this.foundation.isMarkActive(Number(mark)) === 'active'
281
282
  });
282
283
  const markPercent = (Number(mark) - min) / (max - min);
283
- return activeResult ?
284
+ const dotDOM =
284
285
  /*#__PURE__*/
285
286
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
286
287
  _react.default.createElement("span", {
@@ -290,11 +291,17 @@ class Slider extends _baseComponent.default {
290
291
  style: {
291
292
  [stylePos]: `calc(${markPercent * 100}% - 2px)`
292
293
  }
293
- }) : null;
294
+ });
295
+ return activeResult ? this.props.tooltipOnMark ? /*#__PURE__*/_react.default.createElement(_index.default, {
296
+ content: marks[mark]
297
+ }, dotDOM) : dotDOM : null;
294
298
  })) : null;
295
299
  return labelContent;
296
300
  };
297
301
  this.renderLabel = () => {
302
+ if (!this.props.showMarkLabel) {
303
+ return null;
304
+ }
298
305
  const {
299
306
  min,
300
307
  max,
@@ -624,6 +631,7 @@ Slider.propTypes = {
624
631
  // allowClear: PropTypes.bool,
625
632
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.array]),
626
633
  disabled: _propTypes.default.bool,
634
+ showMarkLabel: _propTypes.default.bool,
627
635
  included: _propTypes.default.bool,
628
636
  marks: _propTypes.default.object,
629
637
  max: _propTypes.default.number,
@@ -636,7 +644,9 @@ Slider.propTypes = {
636
644
  onAfterChange: _propTypes.default.func,
637
645
  onChange: _propTypes.default.func,
638
646
  onMouseUp: _propTypes.default.func,
647
+ tooltipOnMark: _propTypes.default.bool,
639
648
  tooltipVisible: _propTypes.default.bool,
649
+ showArrow: _propTypes.default.bool,
640
650
  style: _propTypes.default.object,
641
651
  className: _propTypes.default.string,
642
652
  showBoundary: _propTypes.default.bool,
@@ -647,10 +657,13 @@ Slider.propTypes = {
647
657
  Slider.defaultProps = {
648
658
  // allowClear: false,
649
659
  disabled: false,
660
+ showMarkLabel: true,
661
+ tooltipOnMark: false,
650
662
  included: true,
651
663
  max: 100,
652
664
  min: 0,
653
665
  range: false,
666
+ showArrow: true,
654
667
  step: 1,
655
668
  tipFormatter: value => value,
656
669
  vertical: false,
@@ -190,6 +190,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
190
190
  triggerRef: React.RefObject<HTMLDivElement>;
191
191
  optionsRef: React.RefObject<any>;
192
192
  clickOutsideHandler: any;
193
+ _flattenNodes: TreeState['flattenNodes'];
193
194
  onNodeClick: any;
194
195
  onNodeDoubleClick: any;
195
196
  onMotionEnd: any;
@@ -246,7 +247,6 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
246
247
  };
247
248
  getTreeNodeKey: (treeNode: TreeNodeData) => string;
248
249
  handlePopoverClose: (isVisible: any) => void;
249
- afterClose: () => void;
250
250
  renderTreeNode: (treeNode: FlattenNode, ind: number, style: React.CSSProperties) => JSX.Element;
251
251
  itemKey: (index: number, data: Record<string, any>) => any;
252
252
  renderNodeList: () => JSX.Element;
@@ -689,27 +689,13 @@ class TreeSelect extends _baseComponent.default {
689
689
  searchAutoFocus,
690
690
  searchPosition
691
691
  } = this.props;
692
- // inputValue 清空,如果有选中值的话,选中项能够快速回显
693
- // Clear the inputValue. If there is a selected value, the selected item can be quickly echoed.
694
- if (isVisible === false && filterTreeNode) {
695
- this.foundation.clearInputValue();
692
+ if (isVisible === false && Boolean(filterTreeNode)) {
693
+ this.foundation.clearInput();
696
694
  }
697
695
  if (filterTreeNode && searchPosition === _constants.strings.SEARCH_POSITION_DROPDOWN && isVisible && searchAutoFocus) {
698
696
  this.foundation.focusInput(true);
699
697
  }
700
698
  };
701
- this.afterClose = () => {
702
- // flattenNode 的变化将导致弹出层面板中的选项数目变化
703
- // 在弹层完全收起之后,再通过 clearInput 重新计算 state 中的 expandedKey, flattenNode
704
- // 防止在弹出层未收起时弹层面板中选项数目变化导致视觉上出现弹层闪动问题
705
- // Changes to flattenNode will cause the number of options in the popup panel to change
706
- // After the pop-up layer is completely closed, recalculate the expandedKey and flattenNode in the state through clearInput.
707
- // Prevent the pop-up layer from flickering visually due to changes in the number of options in the pop-up panel when the pop-up layer is not collapsed.
708
- const {
709
- filterTreeNode
710
- } = this.props;
711
- filterTreeNode && this.foundation.clearInput();
712
- };
713
699
  this.renderTreeNode = (treeNode, ind, style) => {
714
700
  const {
715
701
  data,
@@ -742,7 +728,6 @@ class TreeSelect extends _baseComponent.default {
742
728
  this.renderNodeList = () => {
743
729
  const {
744
730
  flattenNodes,
745
- cachedFlattenNodes,
746
731
  motionKeys,
747
732
  motionType,
748
733
  filteredKeys
@@ -758,7 +743,7 @@ class TreeSelect extends _baseComponent.default {
758
743
  if (!virtualize || (0, _isEmpty2.default)(virtualize)) {
759
744
  return /*#__PURE__*/_react.default.createElement(_nodeList.default, {
760
745
  flattenNodes: flattenNodes,
761
- flattenList: cachedFlattenNodes,
746
+ flattenList: this._flattenNodes,
762
747
  motionKeys: motionExpand ? motionKeys : new Set([]),
763
748
  motionType: motionType,
764
749
  // When motionKeys is empty, but filteredKeys is not empty (that is, the search hits), this situation should be distinguished from ordinary motionKeys
@@ -877,7 +862,6 @@ class TreeSelect extends _baseComponent.default {
877
862
  keyEntities: {},
878
863
  treeData: [],
879
864
  flattenNodes: [],
880
- cachedFlattenNodes: undefined,
881
865
  selectedKeys: [],
882
866
  checkedKeys: new Set(),
883
867
  halfCheckedKeys: new Set(),
@@ -907,7 +891,6 @@ class TreeSelect extends _baseComponent.default {
907
891
  };
908
892
  }
909
893
  static getDerivedStateFromProps(props, prevState) {
910
- var _a;
911
894
  const {
912
895
  prevProps,
913
896
  rePosKey
@@ -925,8 +908,6 @@ class TreeSelect extends _baseComponent.default {
925
908
  };
926
909
  const needUpdateTreeData = needUpdate('treeData');
927
910
  const needUpdateExpandedKeys = needUpdate('expandedKeys');
928
- const isExpandControlled = ('expandedKeys' in props);
929
- const isSearching = Boolean(props.filterTreeNode && prevState.inputValue && prevState.inputValue.length);
930
911
  // TreeNode
931
912
  if (needUpdateTreeData) {
932
913
  treeData = props.treeData;
@@ -945,97 +926,31 @@ class TreeSelect extends _baseComponent.default {
945
926
  }
946
927
  }
947
928
  const expandAllWhenDataChange = needUpdateTreeData && props.expandAll;
948
- if (!isSearching) {
949
- // expandedKeys
950
- if (needUpdateExpandedKeys || prevProps && needUpdate('autoExpandParent')) {
951
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeys)(props.expandedKeys, keyEntities, props.autoExpandParent || !prevProps);
952
- // only show animation when treeData does not change
953
- if (prevProps && props.motion && !treeData) {
954
- const {
955
- motionKeys,
956
- motionType
957
- } = (0, _treeUtil.calcMotionKeys)(prevState.expandedKeys, newState.expandedKeys, keyEntities);
958
- newState.motionKeys = new Set(motionKeys);
959
- newState.motionType = motionType;
960
- if (motionType === 'hide') {
961
- // cache flatten nodes: expandedKeys changed may not be triggered by interaction
962
- newState.cachedFlattenNodes = (0, _treeUtil2.cloneDeep)(prevState.flattenNodes);
963
- }
964
- }
965
- } else if (!prevProps && (props.defaultExpandAll || props.expandAll) || expandAllWhenDataChange) {
966
- newState.expandedKeys = new Set(Object.keys(keyEntities));
967
- } else if (!prevProps && props.defaultExpandedKeys) {
968
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeys)(props.defaultExpandedKeys, keyEntities);
969
- } else if (!prevProps && props.defaultValue) {
970
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
971
- } else if (!prevProps && props.value) {
972
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
973
- } else if (!isExpandControlled && needUpdateTreeData && props.value) {
974
- // 当 treeData 已经设置具体的值,并且设置了 props.loadData ,则认为 treeData 的更新是因为 loadData 导致的
975
- // 如果是因为 loadData 导致 treeData改变, 此时在这里重新计算 key 会导致为未选中的展开项目被收起
976
- // 所以此时不需要重新计算 expandedKeys,因为在点击展开按钮时候已经把被展开的项添加到 expandedKeys 中
977
- // When treeData has a specific value and props.loadData is set, it is considered that the update of treeData is caused by loadData
978
- // If the treeData is changed because of loadData, recalculating the key here will cause the unselected expanded items to be collapsed
979
- // So there is no need to recalculate expandedKeys at this time, because the expanded item has been added to expandedKeys when the expand button is clicked
980
- if (!(prevState.treeData && ((_a = prevState.treeData) === null || _a === void 0 ? void 0 : _a.length) > 0 && props.loadData)) {
981
- newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)(props.value, keyEntities, props.multiple, valueEntities);
982
- }
983
- }
984
- if (!newState.expandedKeys) {
985
- delete newState.expandedKeys;
986
- }
987
- if (treeData || newState.expandedKeys) {
988
- const flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
989
- newState.flattenNodes = flattenNodes;
990
- }
991
- } else {
992
- let filteredState;
993
- // treeData changed while searching
994
- if (treeData) {
995
- // Get filter data
996
- filteredState = (0, _treeUtil.filterTreeData)({
997
- treeData,
998
- inputValue: prevState.inputValue,
999
- filterTreeNode: props.filterTreeNode,
1000
- filterProps: props.treeNodeFilterProp,
1001
- showFilteredOnly: props.showFilteredOnly,
1002
- keyEntities: newState.keyEntities,
1003
- prevExpandedKeys: [...prevState.filteredExpandedKeys],
1004
- keyMaps: keyMaps
1005
- });
1006
- newState.flattenNodes = filteredState.flattenNodes;
1007
- newState.motionKeys = new Set([]);
1008
- newState.filteredKeys = filteredState.filteredKeys;
1009
- newState.filteredShownKeys = filteredState.filteredShownKeys;
1010
- newState.filteredExpandedKeys = filteredState.filteredExpandedKeys;
1011
- }
1012
- // expandedKeys changed while searching
1013
- if (props.expandedKeys) {
1014
- newState.filteredExpandedKeys = (0, _treeUtil.calcExpandedKeys)(props.expandedKeys, keyEntities, props.autoExpandParent || !prevProps);
1015
- if (prevProps && props.motion) {
1016
- const prevKeys = prevState ? prevState.filteredExpandedKeys : new Set([]);
1017
- // only show animation when treeData does not change
1018
- if (!treeData) {
1019
- const motionResult = (0, _treeUtil.calcMotionKeys)(prevKeys, newState.filteredExpandedKeys, keyEntities);
1020
- let {
1021
- motionKeys
1022
- } = motionResult;
1023
- const {
1024
- motionType
1025
- } = motionResult;
1026
- if (props.showFilteredOnly) {
1027
- motionKeys = motionKeys.filter(key => prevState.filteredShownKeys.has(key));
1028
- }
1029
- if (motionType === 'hide') {
1030
- // cache flatten nodes: expandedKeys changed may not be triggered by interaction
1031
- newState.cachedFlattenNodes = (0, _treeUtil2.cloneDeep)(prevState.flattenNodes);
1032
- }
1033
- newState.motionKeys = new Set(motionKeys);
1034
- newState.motionType = motionType;
1035
- }
1036
- }
1037
- newState.flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.filteredExpandedKeys || prevState.filteredExpandedKeys, keyMaps, props.showFilteredOnly && prevState.filteredShownKeys);
929
+ // expandedKeys
930
+ if (needUpdateExpandedKeys || prevProps && needUpdate('autoExpandParent')) {
931
+ newState.expandedKeys = (0, _treeUtil.calcExpandedKeys)(props.expandedKeys, keyEntities, props.autoExpandParent || !prevProps);
932
+ // only show animation when treeData does not change
933
+ if (prevProps && props.motion && !treeData) {
934
+ const {
935
+ motionKeys,
936
+ motionType
937
+ } = (0, _treeUtil.calcMotionKeys)(prevState.expandedKeys, newState.expandedKeys, keyEntities);
938
+ newState.motionKeys = new Set(motionKeys);
939
+ newState.motionType = motionType;
1038
940
  }
941
+ } else if (!prevProps && (props.defaultExpandAll || props.expandAll) || expandAllWhenDataChange) {
942
+ newState.expandedKeys = new Set(Object.keys(keyEntities));
943
+ } else if (!prevProps && props.defaultExpandedKeys) {
944
+ newState.expandedKeys = (0, _treeUtil.calcExpandedKeys)(props.defaultExpandedKeys, keyEntities);
945
+ } else if (!prevProps && props.defaultValue) {
946
+ newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.defaultValue, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
947
+ } else if (!prevProps && props.value) {
948
+ newState.expandedKeys = (0, _treeUtil.calcExpandedKeysForValues)((0, _treeUtil.normalizeValue)(props.value, withObject, keyMaps), keyEntities, props.multiple, valueEntities);
949
+ }
950
+ // flattenNodes
951
+ if (treeData || needUpdateExpandedKeys) {
952
+ const flattenNodes = (0, _treeUtil.flattenTreeData)(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, keyMaps);
953
+ newState.flattenNodes = flattenNodes;
1039
954
  }
1040
955
  // selectedKeys: single mode controlled
1041
956
  const isMultiple = props.multiple;
@@ -1142,9 +1057,7 @@ class TreeSelect extends _baseComponent.default {
1142
1057
  this.props.onSearch && this.props.onSearch(input, filteredExpandedKeys);
1143
1058
  },
1144
1059
  cacheFlattenNodes: bool => {
1145
- this.setState({
1146
- cachedFlattenNodes: bool ? (0, _treeUtil2.cloneDeep)(this.state.flattenNodes) : undefined
1147
- });
1060
+ this._flattenNodes = bool ? (0, _treeUtil2.cloneDeep)(this.state.flattenNodes) : null;
1148
1061
  },
1149
1062
  notifyLoad: (newLoadedKeys, data) => {
1150
1063
  const {
@@ -1289,8 +1202,7 @@ class TreeSelect extends _baseComponent.default {
1289
1202
  autoAdjustOverflow: autoAdjustOverflow,
1290
1203
  mouseLeaveDelay: mouseLeaveDelay,
1291
1204
  mouseEnterDelay: mouseEnterDelay,
1292
- onVisibleChange: this.handlePopoverClose,
1293
- afterClose: this.afterClose
1205
+ onVisibleChange: this.handlePopoverClose
1294
1206
  }, selection);
1295
1207
  }
1296
1208
  }
@@ -10,12 +10,14 @@ export interface AvatarState {
10
10
  isImgExist: boolean;
11
11
  hoverContent: React.ReactNode;
12
12
  focusVisible: boolean;
13
+ scale: number;
13
14
  }
14
15
  export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
15
16
  static defaultProps: {
16
17
  size: string;
17
18
  color: string;
18
19
  shape: string;
20
+ gap: number;
19
21
  onClick: typeof noop;
20
22
  onMouseEnter: typeof noop;
21
23
  onMouseLeave: typeof noop;
@@ -29,6 +31,7 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
29
31
  hoverMask: PropTypes.Requireable<PropTypes.ReactNodeLike>;
30
32
  className: PropTypes.Requireable<string>;
31
33
  style: PropTypes.Requireable<object>;
34
+ gap: PropTypes.Requireable<number>;
32
35
  imgAttr: PropTypes.Requireable<object>;
33
36
  src: PropTypes.Requireable<string>;
34
37
  srcSet: PropTypes.Requireable<string>;
@@ -39,6 +42,7 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
39
42
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
40
43
  };
41
44
  foundation: AvatarFoundation;
45
+ avatarRef: React.RefObject<HTMLElement | null>;
42
46
  constructor(props: AvatarProps);
43
47
  get adapter(): AvatarAdapter<AvatarProps, AvatarState>;
44
48
  componentDidMount(): void;
@@ -76,8 +76,12 @@ export default class Avatar extends BaseComponent {
76
76
  })
77
77
  };
78
78
  const finalProps = clickable ? Object.assign(Object.assign({}, props), a11yFocusProps) : props;
79
+ const stringStyle = {
80
+ transform: `scale(${this.state.scale})`
81
+ };
79
82
  content = /*#__PURE__*/React.createElement("span", {
80
- className: `${prefixCls}-content`
83
+ className: `${prefixCls}-content`,
84
+ style: stringStyle
81
85
  }, /*#__PURE__*/React.createElement("span", Object.assign({}, finalProps, {
82
86
  "x-semi-prop": "children"
83
87
  }), children));
@@ -87,13 +91,15 @@ export default class Avatar extends BaseComponent {
87
91
  this.state = {
88
92
  isImgExist: true,
89
93
  hoverContent: '',
90
- focusVisible: false
94
+ focusVisible: false,
95
+ scale: 1
91
96
  };
92
97
  this.onEnter = this.onEnter.bind(this);
93
98
  this.onLeave = this.onLeave.bind(this);
94
99
  this.handleError = this.handleError.bind(this);
95
100
  this.handleKeyDown = this.handleKeyDown.bind(this);
96
101
  this.getContent = this.getContent.bind(this);
102
+ this.avatarRef = /*#__PURE__*/React.createRef();
97
103
  }
98
104
  get adapter() {
99
105
  return Object.assign(Object.assign({}, super.adapter), {
@@ -130,6 +136,15 @@ export default class Avatar extends BaseComponent {
130
136
  this.setState({
131
137
  focusVisible
132
138
  });
139
+ },
140
+ setScale: scale => {
141
+ this.setState({
142
+ scale
143
+ });
144
+ },
145
+ getAvatarNode: () => {
146
+ var _a;
147
+ return (_a = this.avatarRef) === null || _a === void 0 ? void 0 : _a.current;
133
148
  }
134
149
  });
135
150
  }
@@ -157,6 +172,9 @@ export default class Avatar extends BaseComponent {
157
172
  });
158
173
  };
159
174
  }
175
+ if (typeof this.props.children === "string" && this.props.children !== prevProps.children) {
176
+ this.foundation.changeScale();
177
+ }
160
178
  }
161
179
  componentWillUnmount() {
162
180
  this.foundation.destroy();
@@ -200,9 +218,10 @@ export default class Avatar extends BaseComponent {
200
218
  src,
201
219
  srcSet,
202
220
  style,
203
- alt
221
+ alt,
222
+ gap
204
223
  } = _a,
205
- others = __rest(_a, ["shape", "children", "size", "color", "className", "hoverMask", "onClick", "imgAttr", "src", "srcSet", "style", "alt"]);
224
+ others = __rest(_a, ["shape", "children", "size", "color", "className", "hoverMask", "onClick", "imgAttr", "src", "srcSet", "style", "alt", "gap"]);
206
225
  const {
207
226
  isImgExist,
208
227
  hoverContent,
@@ -226,7 +245,8 @@ export default class Avatar extends BaseComponent {
226
245
  onClick: onClick,
227
246
  onMouseEnter: this.onEnter,
228
247
  onMouseLeave: this.onLeave,
229
- role: 'listitem'
248
+ role: 'listitem',
249
+ ref: this.avatarRef
230
250
  }), this.getContent(), hoverRender);
231
251
  }
232
252
  }
@@ -234,6 +254,7 @@ Avatar.defaultProps = {
234
254
  size: 'medium',
235
255
  color: 'grey',
236
256
  shape: 'circle',
257
+ gap: 3,
237
258
  onClick: noop,
238
259
  onMouseEnter: noop,
239
260
  onMouseLeave: noop
@@ -246,6 +267,7 @@ Avatar.propTypes = {
246
267
  hoverMask: PropTypes.node,
247
268
  className: PropTypes.string,
248
269
  style: PropTypes.object,
270
+ gap: PropTypes.number,
249
271
  imgAttr: PropTypes.object,
250
272
  src: PropTypes.string,
251
273
  srcSet: PropTypes.string,
@@ -12,6 +12,7 @@ export interface AvatarProps extends BaseProps {
12
12
  src?: string;
13
13
  srcSet?: string;
14
14
  alt?: string;
15
+ gap?: number;
15
16
  onError?: React.MouseEventHandler;
16
17
  onClick?: React.MouseEventHandler;
17
18
  onMouseEnter?: React.MouseEventHandler;
@@ -75,6 +75,7 @@ export default class Slider extends BaseComponent {
75
75
  });
76
76
  const handleContents = !range ? /*#__PURE__*/React.createElement(Tooltip, {
77
77
  content: tipChildren.min,
78
+ showArrow: this.props.showArrow,
78
79
  position: "top",
79
80
  trigger: "custom",
80
81
  rePosKey: minPercent,
@@ -273,7 +274,7 @@ export default class Slider extends BaseComponent {
273
274
  [`${prefixCls}-dot-active`]: this.foundation.isMarkActive(Number(mark)) === 'active'
274
275
  });
275
276
  const markPercent = (Number(mark) - min) / (max - min);
276
- return activeResult ?
277
+ const dotDOM =
277
278
  /*#__PURE__*/
278
279
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
279
280
  React.createElement("span", {
@@ -283,11 +284,17 @@ export default class Slider extends BaseComponent {
283
284
  style: {
284
285
  [stylePos]: `calc(${markPercent * 100}% - 2px)`
285
286
  }
286
- }) : null;
287
+ });
288
+ return activeResult ? this.props.tooltipOnMark ? /*#__PURE__*/React.createElement(Tooltip, {
289
+ content: marks[mark]
290
+ }, dotDOM) : dotDOM : null;
287
291
  })) : null;
288
292
  return labelContent;
289
293
  };
290
294
  this.renderLabel = () => {
295
+ if (!this.props.showMarkLabel) {
296
+ return null;
297
+ }
291
298
  const {
292
299
  min,
293
300
  max,
@@ -616,6 +623,7 @@ Slider.propTypes = {
616
623
  // allowClear: PropTypes.bool,
617
624
  defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),
618
625
  disabled: PropTypes.bool,
626
+ showMarkLabel: PropTypes.bool,
619
627
  included: PropTypes.bool,
620
628
  marks: PropTypes.object,
621
629
  max: PropTypes.number,
@@ -628,7 +636,9 @@ Slider.propTypes = {
628
636
  onAfterChange: PropTypes.func,
629
637
  onChange: PropTypes.func,
630
638
  onMouseUp: PropTypes.func,
639
+ tooltipOnMark: PropTypes.bool,
631
640
  tooltipVisible: PropTypes.bool,
641
+ showArrow: PropTypes.bool,
632
642
  style: PropTypes.object,
633
643
  className: PropTypes.string,
634
644
  showBoundary: PropTypes.bool,
@@ -639,10 +649,13 @@ Slider.propTypes = {
639
649
  Slider.defaultProps = {
640
650
  // allowClear: false,
641
651
  disabled: false,
652
+ showMarkLabel: true,
653
+ tooltipOnMark: false,
642
654
  included: true,
643
655
  max: 100,
644
656
  min: 0,
645
657
  range: false,
658
+ showArrow: true,
646
659
  step: 1,
647
660
  tipFormatter: value => value,
648
661
  vertical: false,
@@ -190,6 +190,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
190
190
  triggerRef: React.RefObject<HTMLDivElement>;
191
191
  optionsRef: React.RefObject<any>;
192
192
  clickOutsideHandler: any;
193
+ _flattenNodes: TreeState['flattenNodes'];
193
194
  onNodeClick: any;
194
195
  onNodeDoubleClick: any;
195
196
  onMotionEnd: any;
@@ -246,7 +247,6 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
246
247
  };
247
248
  getTreeNodeKey: (treeNode: TreeNodeData) => string;
248
249
  handlePopoverClose: (isVisible: any) => void;
249
- afterClose: () => void;
250
250
  renderTreeNode: (treeNode: FlattenNode, ind: number, style: React.CSSProperties) => JSX.Element;
251
251
  itemKey: (index: number, data: Record<string, any>) => any;
252
252
  renderNodeList: () => JSX.Element;