@douyinfe/semi-ui 2.24.4-alpha.0 → 2.25.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.
Files changed (89) hide show
  1. package/dist/css/semi.css +83 -15
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +312 -245
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/anchor/index.d.ts +1 -1
  8. package/lib/cjs/autoComplete/index.d.ts +3 -1
  9. package/lib/cjs/autoComplete/index.js +5 -2
  10. package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
  11. package/lib/cjs/carousel/index.d.ts +2 -2
  12. package/lib/cjs/cascader/index.d.ts +4 -0
  13. package/lib/cjs/cascader/index.js +9 -2
  14. package/lib/cjs/datePicker/dateInput.js +3 -2
  15. package/lib/cjs/datePicker/datePicker.d.ts +7 -2
  16. package/lib/cjs/datePicker/datePicker.js +7 -1
  17. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  18. package/lib/cjs/datePicker/quickControl.d.ts +1 -1
  19. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  20. package/lib/cjs/dropdown/index.d.ts +12 -11
  21. package/lib/cjs/dropdown/index.js +15 -12
  22. package/lib/cjs/form/baseForm.d.ts +11 -4
  23. package/lib/cjs/form/field.d.ts +11 -4
  24. package/lib/cjs/image/image.js +25 -5
  25. package/lib/cjs/input/index.d.ts +2 -0
  26. package/lib/cjs/input/index.js +7 -2
  27. package/lib/cjs/inputNumber/index.d.ts +2 -0
  28. package/lib/cjs/inputNumber/index.js +1 -0
  29. package/lib/cjs/popover/index.d.ts +5 -3
  30. package/lib/cjs/popover/index.js +1 -0
  31. package/lib/cjs/radio/radio.d.ts +1 -1
  32. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  33. package/lib/cjs/select/index.d.ts +5 -1
  34. package/lib/cjs/select/index.js +9 -3
  35. package/lib/cjs/table/Body/index.js +2 -2
  36. package/lib/cjs/table/Table.d.ts +1 -1
  37. package/lib/cjs/tag/index.js +1 -1
  38. package/lib/cjs/tagInput/index.d.ts +2 -0
  39. package/lib/cjs/tagInput/index.js +11 -7
  40. package/lib/cjs/timePicker/TimePicker.d.ts +11 -6
  41. package/lib/cjs/timePicker/TimePicker.js +7 -3
  42. package/lib/cjs/timePicker/index.d.ts +2 -0
  43. package/lib/cjs/tooltip/index.d.ts +1 -1
  44. package/lib/cjs/treeSelect/index.d.ts +5 -0
  45. package/lib/cjs/treeSelect/index.js +11 -3
  46. package/lib/cjs/typography/numeral.d.ts +1 -1
  47. package/lib/cjs/typography/title.d.ts +1 -1
  48. package/lib/es/anchor/index.d.ts +1 -1
  49. package/lib/es/autoComplete/index.d.ts +3 -1
  50. package/lib/es/autoComplete/index.js +5 -2
  51. package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
  52. package/lib/es/carousel/index.d.ts +2 -2
  53. package/lib/es/cascader/index.d.ts +4 -0
  54. package/lib/es/cascader/index.js +9 -2
  55. package/lib/es/datePicker/dateInput.js +3 -2
  56. package/lib/es/datePicker/datePicker.d.ts +7 -2
  57. package/lib/es/datePicker/datePicker.js +7 -1
  58. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  59. package/lib/es/datePicker/quickControl.d.ts +1 -1
  60. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  61. package/lib/es/dropdown/index.d.ts +12 -11
  62. package/lib/es/dropdown/index.js +15 -12
  63. package/lib/es/form/baseForm.d.ts +11 -4
  64. package/lib/es/form/field.d.ts +11 -4
  65. package/lib/es/image/image.js +25 -5
  66. package/lib/es/input/index.d.ts +2 -0
  67. package/lib/es/input/index.js +7 -2
  68. package/lib/es/inputNumber/index.d.ts +2 -0
  69. package/lib/es/inputNumber/index.js +1 -0
  70. package/lib/es/popover/index.d.ts +5 -3
  71. package/lib/es/popover/index.js +1 -0
  72. package/lib/es/radio/radio.d.ts +1 -1
  73. package/lib/es/radio/radioGroup.d.ts +1 -1
  74. package/lib/es/select/index.d.ts +5 -1
  75. package/lib/es/select/index.js +9 -3
  76. package/lib/es/table/Body/index.js +3 -3
  77. package/lib/es/table/Table.d.ts +1 -1
  78. package/lib/es/tag/index.js +1 -1
  79. package/lib/es/tagInput/index.d.ts +2 -0
  80. package/lib/es/tagInput/index.js +11 -7
  81. package/lib/es/timePicker/TimePicker.d.ts +11 -6
  82. package/lib/es/timePicker/TimePicker.js +7 -3
  83. package/lib/es/timePicker/index.d.ts +2 -0
  84. package/lib/es/tooltip/index.d.ts +1 -1
  85. package/lib/es/treeSelect/index.d.ts +5 -0
  86. package/lib/es/treeSelect/index.js +11 -3
  87. package/lib/es/typography/numeral.d.ts +1 -1
  88. package/lib/es/typography/title.d.ts +1 -1
  89. package/package.json +8 -8
@@ -224,6 +224,9 @@ class Input extends _baseComponent.default {
224
224
 
225
225
  renderClearBtn() {
226
226
  const clearCls = (0, _classnames.default)("".concat(prefixCls, "-clearbtn"));
227
+ const {
228
+ clearIcon
229
+ } = this.props;
227
230
  const allowClear = this.foundation.isAllowClear(); // use onMouseDown to fix issue 1203
228
231
 
229
232
  if (allowClear) {
@@ -233,7 +236,7 @@ class Input extends _baseComponent.default {
233
236
  _react.default.createElement("div", {
234
237
  className: clearCls,
235
238
  onMouseDown: this.handleClear
236
- }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null))
239
+ }, clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null))
237
240
  );
238
241
  }
239
242
 
@@ -370,6 +373,7 @@ class Input extends _baseComponent.default {
370
373
  addonAfter,
371
374
  addonBefore,
372
375
  autofocus,
376
+ clearIcon,
373
377
  className,
374
378
  disabled,
375
379
  defaultValue,
@@ -394,7 +398,7 @@ class Input extends _baseComponent.default {
394
398
  getValueLength,
395
399
  preventScroll
396
400
  } = _a,
397
- rest = __rest(_a, ["addonAfter", "addonBefore", "autofocus", "className", "disabled", "defaultValue", "placeholder", "prefix", "mode", "insetLabel", "insetLabelId", "validateStatus", "type", "readonly", "size", "suffix", "style", "showClear", "onEnterPress", "onClear", "hideSuffix", "inputStyle", "forwardRef", "maxLength", "getValueLength", "preventScroll"]);
401
+ rest = __rest(_a, ["addonAfter", "addonBefore", "autofocus", "clearIcon", "className", "disabled", "defaultValue", "placeholder", "prefix", "mode", "insetLabel", "insetLabelId", "validateStatus", "type", "readonly", "size", "suffix", "style", "showClear", "onEnterPress", "onClear", "hideSuffix", "inputStyle", "forwardRef", "maxLength", "getValueLength", "preventScroll"]);
398
402
 
399
403
  const {
400
404
  value,
@@ -488,6 +492,7 @@ Input.propTypes = {
488
492
  'aria-required': _propTypes.default.bool,
489
493
  addonBefore: _propTypes.default.node,
490
494
  addonAfter: _propTypes.default.node,
495
+ clearIcon: _propTypes.default.node,
491
496
  prefix: _propTypes.default.node,
492
497
  suffix: _propTypes.default.node,
493
498
  mode: _propTypes.default.oneOf(modeSet),
@@ -9,6 +9,7 @@ import { ArrayElement } from '../_base/base';
9
9
  export interface InputNumberProps extends InputProps {
10
10
  autofocus?: boolean;
11
11
  className?: string;
12
+ clearIcon?: React.ReactNode;
12
13
  defaultValue?: number | string;
13
14
  disabled?: boolean;
14
15
  formatter?: (value: number | string) => string;
@@ -51,6 +52,7 @@ declare class InputNumber extends BaseComponent<InputNumberProps, InputNumberSta
51
52
  'aria-describedby': PropTypes.Requireable<string>;
52
53
  'aria-required': PropTypes.Requireable<boolean>;
53
54
  autofocus: PropTypes.Requireable<boolean>;
55
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
54
56
  className: PropTypes.Requireable<string>;
55
57
  defaultValue: PropTypes.Requireable<NonNullable<string | number>>;
56
58
  disabled: PropTypes.Requireable<boolean>;
@@ -505,6 +505,7 @@ InputNumber.propTypes = {
505
505
  'aria-describedby': _propTypes.default.string,
506
506
  'aria-required': _propTypes.default.bool,
507
507
  autofocus: _propTypes.default.bool,
508
+ clearIcon: _propTypes.default.node,
508
509
  className: _propTypes.default.string,
509
510
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
510
511
  disabled: _propTypes.default.bool,
@@ -12,12 +12,13 @@ declare interface ArrowStyle {
12
12
  borderOpacity?: string | number;
13
13
  }
14
14
  export interface PopoverProps extends BaseProps {
15
+ autoAdjustOverflow?: boolean;
15
16
  children?: React.ReactNode;
16
17
  content?: TooltipProps['content'];
17
18
  visible?: boolean;
18
- autoAdjustOverflow?: boolean;
19
- motion?: boolean;
20
19
  position?: Position;
20
+ motion?: boolean;
21
+ margin?: TooltipProps['margin'];
21
22
  mouseEnterDelay?: number;
22
23
  mouseLeaveDelay?: number;
23
24
  trigger?: Trigger;
@@ -53,7 +54,8 @@ declare class Popover extends React.PureComponent<PopoverProps, PopoverState> {
53
54
  visible: PropTypes.Requireable<boolean>;
54
55
  autoAdjustOverflow: PropTypes.Requireable<boolean>;
55
56
  motion: PropTypes.Requireable<boolean>;
56
- position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
57
+ position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
58
+ margin: PropTypes.Requireable<NonNullable<number | object>>;
57
59
  mouseEnterDelay: PropTypes.Requireable<number>;
58
60
  mouseLeaveDelay: PropTypes.Requireable<number>;
59
61
  trigger: PropTypes.Validator<NonNullable<"hover" | "focus" | "click" | "custom">>;
@@ -139,6 +139,7 @@ Popover.propTypes = {
139
139
  motion: _propTypes.default.bool,
140
140
  position: _propTypes.default.oneOf(positionSet),
141
141
  // getPopupContainer: PropTypes.func,
142
+ margin: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
142
143
  mouseEnterDelay: _propTypes.default.number,
143
144
  mouseLeaveDelay: _propTypes.default.number,
144
145
  trigger: _propTypes.default.oneOf(triggerSet).isRequired,
@@ -82,7 +82,7 @@ declare class Radio extends BaseComponent<RadioProps, RadioState> {
82
82
  prefixCls?: string;
83
83
  name?: string;
84
84
  onChange?: (e: RadioChangeEvent) => void;
85
- buttonSize?: "small" | "middle" | "large";
85
+ buttonSize?: "small" | "large" | "middle";
86
86
  isCardRadio?: boolean;
87
87
  isPureCardRadio?: boolean;
88
88
  };
@@ -48,7 +48,7 @@ declare class RadioGroup extends BaseComponent<RadioGroupProps, RadioGroupState>
48
48
  disabled: PropTypes.Requireable<boolean>;
49
49
  name: PropTypes.Requireable<string>;
50
50
  options: PropTypes.Requireable<any[]>;
51
- buttonSize: PropTypes.Requireable<"small" | "middle" | "large">;
51
+ buttonSize: PropTypes.Requireable<"small" | "large" | "middle">;
52
52
  type: PropTypes.Requireable<"default" | "button" | "card" | "pureCard">;
53
53
  value: PropTypes.Requireable<any>;
54
54
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -67,6 +67,7 @@ export declare type SelectProps = {
67
67
  autoFocus?: boolean;
68
68
  autoClearSearchValue?: boolean;
69
69
  arrowIcon?: React.ReactNode;
70
+ clearIcon?: React.ReactNode;
70
71
  defaultValue?: string | number | any[] | Record<string, any>;
71
72
  value?: string | number | any[] | Record<string, any>;
72
73
  placeholder?: React.ReactNode;
@@ -87,6 +88,7 @@ export declare type SelectProps = {
87
88
  onSearch?: (value: string) => void;
88
89
  dropdownClassName?: string;
89
90
  dropdownStyle?: React.CSSProperties;
91
+ dropdownMargin?: PopoverProps['margin'];
90
92
  outerTopSlot?: React.ReactNode;
91
93
  innerTopSlot?: React.ReactNode;
92
94
  outerBottomSlot?: React.ReactNode;
@@ -157,6 +159,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
157
159
  autoFocus: PropTypes.Requireable<boolean>;
158
160
  autoClearSearchValue: PropTypes.Requireable<boolean>;
159
161
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
162
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
160
163
  defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
161
164
  value: PropTypes.Requireable<NonNullable<string | number | object>>;
162
165
  placeholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -173,11 +176,12 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
173
176
  emptyContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
174
177
  onDropdownVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
175
178
  zIndex: PropTypes.Requireable<number>;
176
- position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
179
+ position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
177
180
  onSearch: PropTypes.Requireable<(...args: any[]) => any>;
178
181
  getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
179
182
  dropdownClassName: PropTypes.Requireable<string>;
180
183
  dropdownStyle: PropTypes.Requireable<object>;
184
+ dropdownMargin: PropTypes.Requireable<NonNullable<number | object>>;
181
185
  outerTopSlot: PropTypes.Requireable<PropTypes.ReactNodeLike>;
182
186
  innerTopSlot: PropTypes.Requireable<PropTypes.ReactNodeLike>;
183
187
  inputProps: PropTypes.Requireable<object>;
@@ -984,7 +984,8 @@ class Select extends _baseComponent.default {
984
984
  insetLabel,
985
985
  placeholder,
986
986
  triggerRender,
987
- arrowIcon
987
+ arrowIcon,
988
+ clearIcon
988
989
  } = this.props;
989
990
  const {
990
991
  selections,
@@ -1021,6 +1022,7 @@ class Select extends _baseComponent.default {
1021
1022
  }, arrowIcon) : /*#__PURE__*/_react.default.createElement("div", {
1022
1023
  className: "".concat(prefixcls, "-arrow-empty")
1023
1024
  });
1025
+ const clear = clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null);
1024
1026
  const inner = useCustomTrigger ? /*#__PURE__*/_react.default.createElement(_trigger.default, {
1025
1027
  value: Array.from(selections.values()),
1026
1028
  inputValue: inputValue,
@@ -1042,7 +1044,7 @@ class Select extends _baseComponent.default {
1042
1044
  }, showClear ? /*#__PURE__*/_react.default.createElement("div", {
1043
1045
  className: (0, _classnames.default)("".concat(prefixcls, "-clear")),
1044
1046
  onClick: this.onClear
1045
- }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null)) : arrowContent), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
1047
+ }, clear) : arrowContent), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
1046
1048
  key: "suffix"
1047
1049
  }, suffix ? this.renderSuffix() : null)];
1048
1050
  /**
@@ -1102,7 +1104,8 @@ class Select extends _baseComponent.default {
1102
1104
  mouseLeaveDelay,
1103
1105
  mouseEnterDelay,
1104
1106
  spacing,
1105
- stopPropagation
1107
+ stopPropagation,
1108
+ dropdownMargin
1106
1109
  } = this.props;
1107
1110
  const {
1108
1111
  isOpen,
@@ -1113,6 +1116,7 @@ class Select extends _baseComponent.default {
1113
1116
  return /*#__PURE__*/_react.default.createElement(_index2.default, {
1114
1117
  getPopupContainer: getPopupContainer,
1115
1118
  motion: motion,
1119
+ margin: dropdownMargin,
1116
1120
  autoAdjustOverflow: autoAdjustOverflow,
1117
1121
  mouseLeaveDelay: mouseLeaveDelay,
1118
1122
  mouseEnterDelay: mouseEnterDelay,
@@ -1146,6 +1150,7 @@ Select.propTypes = {
1146
1150
  autoFocus: _propTypes.default.bool,
1147
1151
  autoClearSearchValue: _propTypes.default.bool,
1148
1152
  children: _propTypes.default.node,
1153
+ clearIcon: _propTypes.default.node,
1149
1154
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
1150
1155
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
1151
1156
  placeholder: _propTypes.default.node,
@@ -1170,6 +1175,7 @@ Select.propTypes = {
1170
1175
  getPopupContainer: _propTypes.default.func,
1171
1176
  dropdownClassName: _propTypes.default.string,
1172
1177
  dropdownStyle: _propTypes.default.object,
1178
+ dropdownMargin: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
1173
1179
  outerTopSlot: _propTypes.default.node,
1174
1180
  innerTopSlot: _propTypes.default.node,
1175
1181
  inputProps: _propTypes.default.object,
@@ -308,7 +308,7 @@ class Body extends _baseComponent.default {
308
308
 
309
309
  const listStyle = {
310
310
  width: '100%',
311
- height: (virtualizedData === null || virtualizedData === void 0 ? void 0 : virtualizedData.length) ? y : _constants.numbers.DEFAULT_EMPTYSLOT_HEIGHT,
311
+ height: (virtualizedData === null || virtualizedData === void 0 ? void 0 : virtualizedData.length) ? y : null,
312
312
  overflowX: 'auto',
313
313
  overflowY: 'auto'
314
314
  };
@@ -320,7 +320,7 @@ class Body extends _baseComponent.default {
320
320
  ref: this.listRef,
321
321
  className: wrapCls,
322
322
  outerRef: this.forwardRef,
323
- height: listStyle.height,
323
+ height: (virtualizedData === null || virtualizedData === void 0 ? void 0 : virtualizedData.length) ? y : 0,
324
324
  width: listStyle.width,
325
325
  itemData: virtualizedData,
326
326
  itemSize: this.itemSize,
@@ -300,7 +300,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
300
300
  showSizeChanger?: boolean;
301
301
  showQuickJumper?: boolean;
302
302
  popoverZIndex?: number;
303
- popoverPosition?: "top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver";
303
+ popoverPosition?: "left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver";
304
304
  hideOnSinglePage?: boolean;
305
305
  hoverShowPageSelect?: boolean;
306
306
  };
@@ -210,7 +210,7 @@ class Tag extends _react.Component {
210
210
  "aria-label": this.props['aria-label'] || (0, _isString2.default)(children) ? "".concat(closable ? 'Closable ' : '', "Tag: ").concat(children) : ''
211
211
  }, wrapProps), /*#__PURE__*/_react.default.createElement("div", {
212
212
  className: "".concat(prefixCls, "-content")
213
- }, avatarSrc ? this.renderAvatar() : null, children, closeIcon));
213
+ }, avatarSrc ? this.renderAvatar() : null, children), closeIcon);
214
214
  }
215
215
 
216
216
  }
@@ -11,6 +11,7 @@ export declare type RestTagsPopoverProps = PopoverProps;
11
11
  declare type ValidateStatus = "default" | "error" | "warning";
12
12
  export interface TagInputProps {
13
13
  className?: string;
14
+ clearIcon?: React.ReactNode;
14
15
  defaultValue?: string[];
15
16
  disabled?: boolean;
16
17
  inputValue?: string;
@@ -59,6 +60,7 @@ export interface TagInputState {
59
60
  declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
60
61
  static propTypes: {
61
62
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
63
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
62
64
  style: PropTypes.Requireable<object>;
63
65
  className: PropTypes.Requireable<string>;
64
66
  disabled: PropTypes.Requireable<boolean>;
@@ -338,7 +338,8 @@ class TagInput extends _baseComponent.default {
338
338
  } = this.state;
339
339
  const {
340
340
  showClear,
341
- disabled
341
+ disabled,
342
+ clearIcon
342
343
  } = this.props;
343
344
  const clearCls = (0, _classnames.default)("".concat(prefixCls, "-clearBtn"), {
344
345
  ["".concat(prefixCls, "-clearBtn-invisible")]: !hovering || inputValue === '' && tagsArray.length === 0 || disabled
@@ -352,7 +353,7 @@ class TagInput extends _baseComponent.default {
352
353
  className: clearCls,
353
354
  onClick: e => this.handleClearBtn(e),
354
355
  onKeyPress: e => this.handleClearEnterPress(e)
355
- }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null));
356
+ }, clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null));
356
357
  }
357
358
 
358
359
  return null;
@@ -471,7 +472,7 @@ class TagInput extends _baseComponent.default {
471
472
  }
472
473
 
473
474
  blur() {
474
- this.inputRef.current.blur(); // unregister clickOutside event
475
+ this.inputRef.current.blur(); // unregister clickOutside event
475
476
 
476
477
  this.foundation.clickOutsideCallBack();
477
478
  }
@@ -486,7 +487,7 @@ class TagInput extends _baseComponent.default {
486
487
  });
487
488
 
488
489
  if (!disabled) {
489
- // register clickOutside event
490
+ // register clickOutside event
490
491
  this.foundation.handleClick();
491
492
  }
492
493
  }
@@ -512,13 +513,15 @@ class TagInput extends _baseComponent.default {
512
513
  ["".concat(prefixCls, "-disabled")]: disabled,
513
514
  ["".concat(prefixCls, "-hover")]: hovering && !disabled,
514
515
  ["".concat(prefixCls, "-error")]: validateStatus === 'error',
515
- ["".concat(prefixCls, "-warning")]: validateStatus === 'warning'
516
+ ["".concat(prefixCls, "-warning")]: validateStatus === 'warning',
517
+ ["".concat(prefixCls, "-small")]: size === 'small',
518
+ ["".concat(prefixCls, "-large")]: size === 'large'
516
519
  });
517
520
  const inputCls = (0, _classnames.default)("".concat(prefixCls, "-wrapper-input"), "".concat(prefixCls, "-wrapper-input-").concat(size));
518
- const wrapperCls = (0, _classnames.default)("".concat(prefixCls, "-wrapper"), "".concat(prefixCls, "-wrapper-").concat(size));
521
+ const wrapperCls = (0, _classnames.default)("".concat(prefixCls, "-wrapper"));
519
522
  return (
520
523
  /*#__PURE__*/
521
- // eslint-disable-next-line
524
+ // eslint-disable-next-line
522
525
  _react.default.createElement("div", {
523
526
  ref: this.tagInputRef,
524
527
  style: style,
@@ -565,6 +568,7 @@ class TagInput extends _baseComponent.default {
565
568
 
566
569
  TagInput.propTypes = {
567
570
  children: _propTypes.default.node,
571
+ clearIcon: _propTypes.default.node,
568
572
  style: _propTypes.default.object,
569
573
  className: _propTypes.default.string,
570
574
  disabled: _propTypes.default.bool,
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import BaseComponent, { ValidateStatus } from '../_base/baseComponent';
4
+ import { PopoverProps } from '../popover';
4
5
  import TimePickerFoundation, { TimePickerAdapter } from '@douyinfe/semi-foundation/lib/cjs/timePicker/foundation';
5
6
  import '@douyinfe/semi-foundation/lib/cjs/timePicker/timePicker.css';
6
7
  import { InputSize } from '../input';
@@ -8,8 +9,8 @@ import { Position } from '../tooltip';
8
9
  import { ScrollItemProps } from '../scrollList/scrollItem';
9
10
  import { Locale } from '../locale/interface';
10
11
  export interface Panel {
11
- panelHeader?: React.ReactNode;
12
- panelFooter?: React.ReactNode;
12
+ panelHeader?: React.ReactNode | React.ReactNode[];
13
+ panelFooter?: React.ReactNode | React.ReactNode[];
13
14
  }
14
15
  export declare type BaseValueType = string | number | Date;
15
16
  export declare type Type = 'time' | 'timeRange';
@@ -23,6 +24,7 @@ export declare type TimePickerProps = {
23
24
  autoFocus?: boolean;
24
25
  className?: string;
25
26
  clearText?: string;
27
+ clearIcon?: React.ReactNode;
26
28
  dateFnsLocale?: Locale['dateFnsLocale'];
27
29
  defaultOpen?: boolean;
28
30
  defaultValue?: BaseValueType | BaseValueType[];
@@ -30,6 +32,7 @@ export declare type TimePickerProps = {
30
32
  disabledHours?: () => number[];
31
33
  disabledMinutes?: (selectedHour: number) => number[];
32
34
  disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
35
+ dropdownMargin?: PopoverProps['margin'];
33
36
  focusOnOpen?: boolean;
34
37
  format?: string;
35
38
  getPopupContainer?: () => HTMLElement;
@@ -45,8 +48,8 @@ export declare type TimePickerProps = {
45
48
  minuteStep?: number;
46
49
  motion?: boolean;
47
50
  open?: boolean;
48
- panelFooter?: React.ReactNode;
49
- panelHeader?: React.ReactNode;
51
+ panelFooter?: React.ReactNode | React.ReactNode[];
52
+ panelHeader?: React.ReactNode | React.ReactNode[];
50
53
  panels?: Panel[];
51
54
  placeholder?: string;
52
55
  popupClassName?: string;
@@ -98,6 +101,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
98
101
  'aria-required': PropTypes.Requireable<boolean>;
99
102
  prefixCls: PropTypes.Requireable<string>;
100
103
  clearText: PropTypes.Requireable<string>;
104
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
101
105
  value: PropTypes.Requireable<NonNullable<string | number | string[] | number[] | Date | Date[]>>;
102
106
  inputReadOnly: PropTypes.Requireable<boolean>;
103
107
  disabled: PropTypes.Requireable<boolean>;
@@ -117,6 +121,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
117
121
  disabledHours: PropTypes.Requireable<(...args: any[]) => any>;
118
122
  disabledMinutes: PropTypes.Requireable<(...args: any[]) => any>;
119
123
  disabledSeconds: PropTypes.Requireable<(...args: any[]) => any>;
124
+ dropdownMargin: PropTypes.Requireable<NonNullable<number | object>>;
120
125
  hideDisabledOptions: PropTypes.Requireable<boolean>;
121
126
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
122
127
  use12Hours: PropTypes.Requireable<boolean>;
@@ -197,8 +202,8 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
197
202
  }, index: number) => void;
198
203
  handleInput: (value: string) => void;
199
204
  createPanelProps: (index?: number) => {
200
- panelHeader: React.ReactNode;
201
- panelFooter: React.ReactNode;
205
+ panelHeader: React.ReactNode | React.ReactNode[];
206
+ panelFooter: React.ReactNode | React.ReactNode[];
202
207
  };
203
208
  getPanelElement(): JSX.Element;
204
209
  getPopupClassName(): string;
@@ -91,8 +91,8 @@ class TimePicker extends _baseComponent.default {
91
91
  0: locale.begin,
92
92
  1: locale.end
93
93
  };
94
- panelProps.panelHeader = (0, _get2.default)(panels, index, (0, _isNullOrUndefined.default)(panelHeader) ? (0, _get2.default)(defaultHeaderMap, index, null) : panelHeader);
95
- panelProps.panelFooter = (0, _get2.default)(panels, index, panelFooter);
94
+ panelProps.panelHeader = (0, _get2.default)(panels, index, (0, _isNullOrUndefined.default)(panelHeader) ? (0, _get2.default)(defaultHeaderMap, index, null) : Array.isArray(panelHeader) ? panelHeader[index] : panelHeader);
95
+ panelProps.panelFooter = (0, _get2.default)(panels, index, Array.isArray(panelFooter) ? panelFooter[index] : panelFooter);
96
96
  }
97
97
 
98
98
  return panelProps;
@@ -299,6 +299,7 @@ class TimePicker extends _baseComponent.default {
299
299
  placeholder,
300
300
  disabled,
301
301
  defaultValue,
302
+ dropdownMargin,
302
303
  className,
303
304
  popupStyle,
304
305
  size,
@@ -327,7 +328,7 @@ class TimePicker extends _baseComponent.default {
327
328
  motion,
328
329
  autoAdjustOverflow
329
330
  } = _a,
330
- rest = __rest(_a, ["prefixCls", "placeholder", "disabled", "defaultValue", "className", "popupStyle", "size", "style", "locale", "localeCode", "zIndex", "getPopupContainer", "insetLabel", "insetLabelId", "inputStyle", "showClear", "panelHeader", "panelFooter", "rangeSeparator", "onOpenChange", "onChangeWithDateFirst", "popupClassName", "hideDisabledOptions", "use12Hours", "minuteStep", "hourStep", "secondStep", "scrollItemProps", "triggerRender", "motion", "autoAdjustOverflow"]);
331
+ rest = __rest(_a, ["prefixCls", "placeholder", "disabled", "defaultValue", "dropdownMargin", "className", "popupStyle", "size", "style", "locale", "localeCode", "zIndex", "getPopupContainer", "insetLabel", "insetLabelId", "inputStyle", "showClear", "panelHeader", "panelFooter", "rangeSeparator", "onOpenChange", "onChangeWithDateFirst", "popupClassName", "hideDisabledOptions", "use12Hours", "minuteStep", "hourStep", "secondStep", "scrollItemProps", "triggerRender", "motion", "autoAdjustOverflow"]);
331
332
 
332
333
  const format = this.foundation.getDefaultFormatIfNeed();
333
334
  const position = this.foundation.getPosition();
@@ -387,6 +388,7 @@ class TimePicker extends _baseComponent.default {
387
388
  position: position,
388
389
  visible: disabled ? false : Boolean(open),
389
390
  motion: motion,
391
+ margin: dropdownMargin,
390
392
  autoAdjustOverflow: autoAdjustOverflow
391
393
  }, useCustomTrigger ? /*#__PURE__*/_react.default.createElement(_trigger.default, {
392
394
  triggerRender: triggerRender,
@@ -414,6 +416,7 @@ TimePicker.propTypes = Object.assign(Object.assign({
414
416
  'aria-required': _propTypes.default.bool,
415
417
  prefixCls: _propTypes.default.string,
416
418
  clearText: _propTypes.default.string,
419
+ clearIcon: _propTypes.default.node,
417
420
  value: _TimeShape.TimeShape,
418
421
  inputReadOnly: _propTypes.default.bool,
419
422
  disabled: _propTypes.default.bool,
@@ -433,6 +436,7 @@ TimePicker.propTypes = Object.assign(Object.assign({
433
436
  disabledHours: _propTypes.default.func,
434
437
  disabledMinutes: _propTypes.default.func,
435
438
  disabledSeconds: _propTypes.default.func,
439
+ dropdownMargin: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
436
440
  hideDisabledOptions: _propTypes.default.bool,
437
441
  onChange: _propTypes.default.func,
438
442
  use12Hours: _propTypes.default.bool,
@@ -19,6 +19,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
19
19
  'aria-required': import("prop-types").Requireable<boolean>;
20
20
  prefixCls: import("prop-types").Requireable<string>;
21
21
  clearText: import("prop-types").Requireable<string>;
22
+ clearIcon: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
22
23
  value: import("prop-types").Requireable<NonNullable<string | number | string[] | number[] | Date | Date[]>>;
23
24
  inputReadOnly: import("prop-types").Requireable<boolean>;
24
25
  disabled: import("prop-types").Requireable<boolean>;
@@ -38,6 +39,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
38
39
  disabledHours: import("prop-types").Requireable<(...args: any[]) => any>;
39
40
  disabledMinutes: import("prop-types").Requireable<(...args: any[]) => any>;
40
41
  disabledSeconds: import("prop-types").Requireable<(...args: any[]) => any>;
42
+ dropdownMargin: import("prop-types").Requireable<NonNullable<number | object>>;
41
43
  hideDisabledOptions: import("prop-types").Requireable<boolean>;
42
44
  onChange: import("prop-types").Requireable<(...args: any[]) => any>;
43
45
  use12Hours: import("prop-types").Requireable<boolean>;
@@ -86,7 +86,7 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
86
86
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
87
87
  motion: PropTypes.Requireable<boolean>;
88
88
  autoAdjustOverflow: PropTypes.Requireable<boolean>;
89
- position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
89
+ position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
90
90
  getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
91
91
  mouseEnterDelay: PropTypes.Requireable<number>;
92
92
  mouseLeaveDelay: PropTypes.Requireable<number>;
@@ -46,10 +46,12 @@ export interface TreeSelectProps extends Omit<BasicTreeSelectProps, OverrideComm
46
46
  arrowIcon?: React.ReactNode;
47
47
  autoAdjustOverflow?: boolean;
48
48
  clickToHide?: boolean;
49
+ clearIcon?: React.ReactNode;
49
50
  defaultOpen?: boolean;
50
51
  dropdownClassName?: string;
51
52
  dropdownMatchSelectWidth?: boolean;
52
53
  dropdownStyle?: React.CSSProperties;
54
+ dropdownMargin?: PopoverProps['margin'];
53
55
  insetLabel?: React.ReactNode;
54
56
  insetLabelId?: string;
55
57
  maxTagCount?: number;
@@ -59,6 +61,7 @@ export interface TreeSelectProps extends Omit<BasicTreeSelectProps, OverrideComm
59
61
  outerTopSlot?: React.ReactNode;
60
62
  placeholder?: string;
61
63
  prefix?: React.ReactNode;
64
+ position?: PopoverProps['position'];
62
65
  searchAutoFocus?: boolean;
63
66
  searchPlaceholder?: string;
64
67
  showSearchClear?: boolean;
@@ -102,6 +105,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
102
105
  loadData: PropTypes.Requireable<(...args: any[]) => any>;
103
106
  onLoad: PropTypes.Requireable<(...args: any[]) => any>;
104
107
  arrowIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
108
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
105
109
  defaultOpen: PropTypes.Requireable<boolean>;
106
110
  defaultValue: PropTypes.Requireable<NonNullable<string | any[]>>;
107
111
  defaultExpandAll: PropTypes.Requireable<boolean>;
@@ -139,6 +143,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
139
143
  }>[]>;
140
144
  dropdownClassName: PropTypes.Requireable<string>;
141
145
  dropdownStyle: PropTypes.Requireable<object>;
146
+ dropdownMargin: PropTypes.Requireable<NonNullable<number | object>>;
142
147
  motion: PropTypes.Requireable<boolean>;
143
148
  placeholder: PropTypes.Requireable<string>;
144
149
  maxTagCount: PropTypes.Requireable<number>;
@@ -396,6 +396,9 @@ class TreeSelect extends _baseComponent.default {
396
396
 
397
397
  this.renderClearBtn = () => {
398
398
  const showClearBtn = this.showClearBtn();
399
+ const {
400
+ clearIcon
401
+ } = this.props;
399
402
  const clearCls = (0, _classnames.default)("".concat(prefixcls, "-clearbtn"));
400
403
 
401
404
  if (showClearBtn) {
@@ -406,7 +409,7 @@ class TreeSelect extends _baseComponent.default {
406
409
  className: clearCls,
407
410
  onClick: this.handleClear,
408
411
  onKeyPress: this.handleClearEnterPress
409
- }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null));
412
+ }, clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null));
410
413
  }
411
414
 
412
415
  return null;
@@ -1281,19 +1284,22 @@ class TreeSelect extends _baseComponent.default {
1281
1284
  mouseEnterDelay,
1282
1285
  autoAdjustOverflow,
1283
1286
  stopPropagation,
1284
- getPopupContainer
1287
+ getPopupContainer,
1288
+ dropdownMargin,
1289
+ position
1285
1290
  } = this.props;
1286
1291
  const {
1287
1292
  isOpen,
1288
1293
  rePosKey
1289
1294
  } = this.state;
1290
1295
  const selection = this.renderSelection();
1291
- const pos = 'bottomLeft';
1296
+ const pos = position ? position : 'bottomLeft';
1292
1297
  return /*#__PURE__*/_react.default.createElement(_index3.default, {
1293
1298
  stopPropagation: stopPropagation,
1294
1299
  getPopupContainer: getPopupContainer,
1295
1300
  zIndex: zIndex,
1296
1301
  motion: motion,
1302
+ margin: dropdownMargin,
1297
1303
  ref: this.optionsRef,
1298
1304
  content: content,
1299
1305
  visible: isOpen,
@@ -1320,6 +1326,7 @@ TreeSelect.propTypes = {
1320
1326
  loadData: _propTypes.default.func,
1321
1327
  onLoad: _propTypes.default.func,
1322
1328
  arrowIcon: _propTypes.default.node,
1329
+ clearIcon: _propTypes.default.node,
1323
1330
  defaultOpen: _propTypes.default.bool,
1324
1331
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
1325
1332
  defaultExpandAll: _propTypes.default.bool,
@@ -1358,6 +1365,7 @@ TreeSelect.propTypes = {
1358
1365
  })),
1359
1366
  dropdownClassName: _propTypes.default.string,
1360
1367
  dropdownStyle: _propTypes.default.object,
1368
+ dropdownMargin: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
1361
1369
  motion: _propTypes.default.bool,
1362
1370
  placeholder: _propTypes.default.string,
1363
1371
  maxTagCount: _propTypes.default.number,
@@ -28,7 +28,7 @@ export default class Numeral extends PureComponent<NumeralProps> {
28
28
  static propTypes: {
29
29
  rule: PropTypes.Requireable<"text" | "numbers" | "bytes-decimal" | "bytes-binary" | "percentages" | "exponential">;
30
30
  precision: PropTypes.Requireable<number>;
31
- truncate: PropTypes.Requireable<"ceil" | "floor" | "round">;
31
+ truncate: PropTypes.Requireable<"round" | "ceil" | "floor">;
32
32
  parser: PropTypes.Requireable<(...args: any[]) => any>;
33
33
  copyable: PropTypes.Requireable<NonNullable<boolean | object>>;
34
34
  delete: PropTypes.Requireable<boolean>;
@@ -37,7 +37,7 @@ export default class Title extends PureComponent<TitleProps> {
37
37
  underline: PropTypes.Requireable<boolean>;
38
38
  strong: PropTypes.Requireable<boolean>;
39
39
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
40
- heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 5 | 6>;
40
+ heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 6 | 5>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;
@@ -48,7 +48,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
48
48
  offsetTop: PropTypes.Requireable<number>;
49
49
  targetOffset: PropTypes.Requireable<number>;
50
50
  showTooltip: PropTypes.Requireable<boolean>;
51
- position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
51
+ position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
52
52
  maxWidth: PropTypes.Requireable<NonNullable<string | number>>;
53
53
  maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
54
54
  getContainer: PropTypes.Requireable<(...args: any[]) => any>;