@douyinfe/semi-ui 2.24.4-alpha.0 → 2.25.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.
Files changed (87) hide show
  1. package/dist/css/semi.css +14 -6
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +280 -235
  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/input/index.d.ts +2 -0
  25. package/lib/cjs/input/index.js +7 -2
  26. package/lib/cjs/inputNumber/index.d.ts +2 -0
  27. package/lib/cjs/inputNumber/index.js +1 -0
  28. package/lib/cjs/popover/index.d.ts +5 -3
  29. package/lib/cjs/popover/index.js +1 -0
  30. package/lib/cjs/radio/radio.d.ts +1 -1
  31. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  32. package/lib/cjs/select/index.d.ts +5 -1
  33. package/lib/cjs/select/index.js +9 -3
  34. package/lib/cjs/table/Body/index.js +2 -2
  35. package/lib/cjs/table/Table.d.ts +1 -1
  36. package/lib/cjs/tag/index.js +1 -1
  37. package/lib/cjs/tagInput/index.d.ts +2 -0
  38. package/lib/cjs/tagInput/index.js +4 -2
  39. package/lib/cjs/timePicker/TimePicker.d.ts +11 -6
  40. package/lib/cjs/timePicker/TimePicker.js +7 -3
  41. package/lib/cjs/timePicker/index.d.ts +2 -0
  42. package/lib/cjs/tooltip/index.d.ts +1 -1
  43. package/lib/cjs/treeSelect/index.d.ts +5 -0
  44. package/lib/cjs/treeSelect/index.js +11 -3
  45. package/lib/cjs/typography/numeral.d.ts +1 -1
  46. package/lib/cjs/typography/title.d.ts +1 -1
  47. package/lib/es/anchor/index.d.ts +1 -1
  48. package/lib/es/autoComplete/index.d.ts +3 -1
  49. package/lib/es/autoComplete/index.js +5 -2
  50. package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
  51. package/lib/es/carousel/index.d.ts +2 -2
  52. package/lib/es/cascader/index.d.ts +4 -0
  53. package/lib/es/cascader/index.js +9 -2
  54. package/lib/es/datePicker/dateInput.js +3 -2
  55. package/lib/es/datePicker/datePicker.d.ts +7 -2
  56. package/lib/es/datePicker/datePicker.js +7 -1
  57. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  58. package/lib/es/datePicker/quickControl.d.ts +1 -1
  59. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  60. package/lib/es/dropdown/index.d.ts +12 -11
  61. package/lib/es/dropdown/index.js +15 -12
  62. package/lib/es/form/baseForm.d.ts +11 -4
  63. package/lib/es/form/field.d.ts +11 -4
  64. package/lib/es/input/index.d.ts +2 -0
  65. package/lib/es/input/index.js +7 -2
  66. package/lib/es/inputNumber/index.d.ts +2 -0
  67. package/lib/es/inputNumber/index.js +1 -0
  68. package/lib/es/popover/index.d.ts +5 -3
  69. package/lib/es/popover/index.js +1 -0
  70. package/lib/es/radio/radio.d.ts +1 -1
  71. package/lib/es/radio/radioGroup.d.ts +1 -1
  72. package/lib/es/select/index.d.ts +5 -1
  73. package/lib/es/select/index.js +9 -3
  74. package/lib/es/table/Body/index.js +3 -3
  75. package/lib/es/table/Table.d.ts +1 -1
  76. package/lib/es/tag/index.js +1 -1
  77. package/lib/es/tagInput/index.d.ts +2 -0
  78. package/lib/es/tagInput/index.js +4 -2
  79. package/lib/es/timePicker/TimePicker.d.ts +11 -6
  80. package/lib/es/timePicker/TimePicker.js +7 -3
  81. package/lib/es/timePicker/index.d.ts +2 -0
  82. package/lib/es/tooltip/index.d.ts +1 -1
  83. package/lib/es/treeSelect/index.d.ts +5 -0
  84. package/lib/es/treeSelect/index.js +11 -3
  85. package/lib/es/typography/numeral.d.ts +1 -1
  86. package/lib/es/typography/title.d.ts +1 -1
  87. package/package.json +8 -8
@@ -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;
@@ -565,6 +566,7 @@ class TagInput extends _baseComponent.default {
565
566
 
566
567
  TagInput.propTypes = {
567
568
  children: _propTypes.default.node,
569
+ clearIcon: _propTypes.default.node,
568
570
  style: _propTypes.default.object,
569
571
  className: _propTypes.default.string,
570
572
  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>;
@@ -26,6 +26,7 @@ export interface AutoCompleteProps<T extends AutoCompleteItems> {
26
26
  autoAdjustOverflow?: boolean;
27
27
  autoFocus?: boolean;
28
28
  className?: string;
29
+ clearIcon?: ReactNode;
29
30
  children?: ReactNode | undefined;
30
31
  data?: T[];
31
32
  disabled?: boolean;
@@ -94,6 +95,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
94
95
  autoFocus: PropTypes.Requireable<boolean>;
95
96
  autoAdjustOverflow: PropTypes.Requireable<boolean>;
96
97
  className: PropTypes.Requireable<string>;
98
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
97
99
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
98
100
  data: PropTypes.Requireable<any[]>;
99
101
  defaultOpen: PropTypes.Requireable<boolean>;
@@ -114,7 +116,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
114
116
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
115
117
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
116
118
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
117
- position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
119
+ position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
118
120
  placeholder: PropTypes.Requireable<string>;
119
121
  prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
120
122
  onChangeWithObject: PropTypes.Requireable<boolean>;
@@ -183,7 +183,8 @@ class AutoComplete extends BaseComponent {
183
183
  validateStatus,
184
184
  autoFocus,
185
185
  value,
186
- id
186
+ id,
187
+ clearIcon
187
188
  } = this.props;
188
189
  const {
189
190
  inputValue,
@@ -224,7 +225,8 @@ class AutoComplete extends BaseComponent {
224
225
  validateStatus,
225
226
  size,
226
227
  onBlur: this.onBlur,
227
- onFocus: this.onFocus
228
+ onFocus: this.onFocus,
229
+ clearIcon
228
230
  };
229
231
  return /*#__PURE__*/React.createElement("div", Object.assign({}, outerProps), typeof triggerRender === 'function' ? /*#__PURE__*/React.createElement(Trigger, Object.assign({}, innerProps, {
230
232
  inputValue: typeof value !== 'undefined' ? value : inputValue,
@@ -340,6 +342,7 @@ AutoComplete.propTypes = {
340
342
  autoFocus: PropTypes.bool,
341
343
  autoAdjustOverflow: PropTypes.bool,
342
344
  className: PropTypes.string,
345
+ clearIcon: PropTypes.node,
343
346
  children: PropTypes.node,
344
347
  data: PropTypes.array,
345
348
  defaultOpen: PropTypes.bool,
@@ -8,7 +8,7 @@ declare class CarouselIndicator extends React.PureComponent<CarouselIndicatorPro
8
8
  position: PropTypes.Requireable<"left" | "right" | "center">;
9
9
  size: PropTypes.Requireable<"small" | "medium">;
10
10
  style: PropTypes.Requireable<object>;
11
- theme: PropTypes.Requireable<"primary" | "dark" | "light">;
11
+ theme: PropTypes.Requireable<"dark" | "light" | "primary">;
12
12
  total: PropTypes.Requireable<number>;
13
13
  onIndicatorChange: PropTypes.Requireable<(...args: any[]) => any>;
14
14
  type: PropTypes.Requireable<"line" | "dot" | "columnar">;
@@ -22,9 +22,9 @@ declare class Carousel extends BaseComponent<CarouselProps, CarouselState> {
22
22
  indicatorPosition: PropTypes.Requireable<"left" | "right" | "center">;
23
23
  indicatorSize: PropTypes.Requireable<"small" | "medium">;
24
24
  indicatorType: PropTypes.Requireable<"line" | "dot" | "columnar">;
25
- theme: PropTypes.Requireable<"primary" | "dark" | "light">;
25
+ theme: PropTypes.Requireable<"dark" | "light" | "primary">;
26
26
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
27
- arrowType: PropTypes.Requireable<"hover" | "always">;
27
+ arrowType: PropTypes.Requireable<"always" | "hover">;
28
28
  showArrow: PropTypes.Requireable<boolean>;
29
29
  showIndicator: PropTypes.Requireable<boolean>;
30
30
  slideDirection: PropTypes.Requireable<"left" | "right">;
@@ -27,8 +27,10 @@ export interface CascaderProps extends BasicCascaderProps {
27
27
  'aria-required'?: React.AriaAttributes['aria-required'];
28
28
  'aria-label'?: React.AriaAttributes['aria-label'];
29
29
  arrowIcon?: ReactNode;
30
+ clearIcon?: ReactNode;
30
31
  defaultValue?: Value;
31
32
  dropdownStyle?: CSSProperties;
33
+ dropdownMargin?: PopoverProps['margin'];
32
34
  emptyContent?: ReactNode;
33
35
  motion?: boolean;
34
36
  treeData?: Array<CascaderData>;
@@ -70,11 +72,13 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
70
72
  'aria-required': PropTypes.Requireable<boolean>;
71
73
  'aria-label': PropTypes.Requireable<string>;
72
74
  arrowIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
75
+ clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
73
76
  changeOnSelect: PropTypes.Requireable<boolean>;
74
77
  defaultValue: PropTypes.Requireable<NonNullable<string | any[]>>;
75
78
  disabled: PropTypes.Requireable<boolean>;
76
79
  dropdownClassName: PropTypes.Requireable<string>;
77
80
  dropdownStyle: PropTypes.Requireable<object>;
81
+ dropdownMargin: PropTypes.Requireable<NonNullable<number | object>>;
78
82
  emptyContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
79
83
  motion: PropTypes.Requireable<boolean>;
80
84
  filterTreeNode: PropTypes.Requireable<NonNullable<boolean | ((...args: any[]) => any)>>;