@douyinfe/semi-ui 2.38.3-alpha.3 → 2.38.3-alpha.3-patch-fix-2932

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 (59) hide show
  1. package/dist/umd/semi-ui.js +18 -413
  2. package/dist/umd/semi-ui.js.map +1 -1
  3. package/dist/umd/semi-ui.min.js +1 -1
  4. package/dist/umd/semi-ui.min.js.map +1 -1
  5. package/lib/cjs/anchor/index.d.ts +1 -1
  6. package/lib/cjs/autoComplete/index.d.ts +1 -1
  7. package/lib/cjs/button/Button.d.ts +1 -1
  8. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  9. package/lib/cjs/button/index.d.ts +1 -1
  10. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  11. package/lib/cjs/datePicker/datePicker.d.ts +2 -2
  12. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  13. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  14. package/lib/cjs/form/baseForm.d.ts +1 -1
  15. package/lib/cjs/form/field.d.ts +1 -1
  16. package/lib/cjs/input/index.d.ts +1 -1
  17. package/lib/cjs/input/inputGroup.d.ts +1 -1
  18. package/lib/cjs/modal/confirm.d.ts +21 -21
  19. package/lib/cjs/overflowList/index.js +3 -3
  20. package/lib/cjs/rating/index.d.ts +1 -1
  21. package/lib/cjs/rating/item.d.ts +1 -1
  22. package/lib/cjs/scrollList/scrollItem.js +1 -1
  23. package/lib/cjs/switch/index.d.ts +1 -1
  24. package/lib/cjs/table/Table.d.ts +2 -2
  25. package/lib/cjs/table/TableCell.js +7 -1
  26. package/lib/cjs/table/index.d.ts +1 -1
  27. package/lib/cjs/table/interface.d.ts +9 -0
  28. package/lib/cjs/tagInput/index.d.ts +1 -1
  29. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  30. package/lib/cjs/timePicker/index.d.ts +1 -1
  31. package/lib/cjs/typography/title.d.ts +2 -2
  32. package/lib/es/anchor/index.d.ts +1 -1
  33. package/lib/es/autoComplete/index.d.ts +1 -1
  34. package/lib/es/button/Button.d.ts +1 -1
  35. package/lib/es/button/buttonGroup.d.ts +1 -1
  36. package/lib/es/button/index.d.ts +1 -1
  37. package/lib/es/datePicker/dateInput.d.ts +1 -1
  38. package/lib/es/datePicker/datePicker.d.ts +2 -2
  39. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  40. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  41. package/lib/es/form/baseForm.d.ts +1 -1
  42. package/lib/es/form/field.d.ts +1 -1
  43. package/lib/es/input/index.d.ts +1 -1
  44. package/lib/es/input/inputGroup.d.ts +1 -1
  45. package/lib/es/modal/confirm.d.ts +21 -21
  46. package/lib/es/overflowList/index.js +3 -3
  47. package/lib/es/rating/index.d.ts +1 -1
  48. package/lib/es/rating/item.d.ts +1 -1
  49. package/lib/es/scrollList/scrollItem.js +1 -1
  50. package/lib/es/switch/index.d.ts +1 -1
  51. package/lib/es/table/Table.d.ts +2 -2
  52. package/lib/es/table/TableCell.js +7 -1
  53. package/lib/es/table/index.d.ts +1 -1
  54. package/lib/es/table/interface.d.ts +9 -0
  55. package/lib/es/tagInput/index.d.ts +1 -1
  56. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  57. package/lib/es/timePicker/index.d.ts +1 -1
  58. package/lib/es/typography/title.d.ts +2 -2
  59. package/package.json +8 -9
@@ -40,7 +40,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
40
40
  static contextType: React.Context<ContextValue>;
41
41
  static Link: typeof Link;
42
42
  static PropTypes: {
43
- size: PropTypes.Requireable<"small" | "default">;
43
+ size: PropTypes.Requireable<"default" | "small">;
44
44
  railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
45
45
  className: PropTypes.Requireable<string>;
46
46
  style: PropTypes.Requireable<object>;
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
125
125
  renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
126
126
  suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
127
127
  showClear: PropTypes.Requireable<boolean>;
128
- size: PropTypes.Requireable<"small" | "default" | "large">;
128
+ size: PropTypes.Requireable<"default" | "small" | "large">;
129
129
  style: PropTypes.Requireable<object>;
130
130
  stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
131
131
  maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
47
47
  disabled: PropTypes.Requireable<boolean>;
48
48
  prefixCls: PropTypes.Requireable<string>;
49
49
  style: PropTypes.Requireable<object>;
50
- size: PropTypes.Requireable<"small" | "default" | "large">;
50
+ size: PropTypes.Requireable<"default" | "small" | "large">;
51
51
  type: PropTypes.Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
52
52
  block: PropTypes.Requireable<boolean>;
53
53
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
18
18
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
19
  disabled: PropTypes.Requireable<boolean>;
20
20
  type: PropTypes.Requireable<string>;
21
- size: PropTypes.Requireable<"small" | "default" | "large">;
21
+ size: PropTypes.Requireable<"default" | "small" | "large">;
22
22
  theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
23
23
  'aria-label': PropTypes.Requireable<string>;
24
24
  };
@@ -22,7 +22,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
22
22
  onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
23
23
  onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
24
24
  disabled: import("prop-types").Requireable<boolean>;
25
- size: import("prop-types").Requireable<"small" | "default" | "large">;
25
+ size: import("prop-types").Requireable<"default" | "small" | "large">;
26
26
  type: import("prop-types").Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
27
27
  block: import("prop-types").Requireable<boolean>;
28
28
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
@@ -31,7 +31,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
31
31
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
32
32
  value: PropTypes.Requireable<any[]>;
33
33
  disabled: PropTypes.Requireable<boolean>;
34
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
34
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
35
35
  showClear: PropTypes.Requireable<boolean>;
36
36
  format: PropTypes.Requireable<string>;
37
37
  inputStyle: PropTypes.Requireable<object>;
@@ -58,8 +58,8 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
58
58
  'aria-labelledby': PropTypes.Requireable<string>;
59
59
  'aria-required': PropTypes.Requireable<boolean>;
60
60
  borderless: PropTypes.Requireable<boolean>;
61
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
62
- size: PropTypes.Requireable<"small" | "default" | "large">;
61
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
62
+ size: PropTypes.Requireable<"default" | "small" | "large">;
63
63
  clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
64
64
  density: PropTypes.Requireable<"default" | "compact">;
65
65
  defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
@@ -19,7 +19,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
19
19
  export type MonthsGridState = MonthsGridFoundationState;
20
20
  export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
21
21
  static propTypes: {
22
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
22
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
23
23
  defaultValue: PropTypes.Requireable<any[]>;
24
24
  defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
25
25
  multiple: PropTypes.Requireable<boolean>;
@@ -24,7 +24,7 @@ declare class YearAndMonth extends BaseComponent<YearAndMonthProps, YearAndMonth
24
24
  presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
25
25
  renderQuickControls: PropTypes.Requireable<PropTypes.ReactNodeLike>;
26
26
  renderDateInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
27
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
27
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
28
28
  startYear: PropTypes.Requireable<number>;
29
29
  endYear: PropTypes.Requireable<number>;
30
30
  };
@@ -138,7 +138,7 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
138
138
  preventScroll?: boolean;
139
139
  showRestTagsPopover?: boolean;
140
140
  restTagsPopoverProps?: import("../popover").PopoverProps;
141
- } & Pick<import("../tooltip").TooltipProps, "motion" | "getPopupContainer" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
141
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "motion" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
142
142
  static Checkbox: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox").CheckboxProps & import("./interface").RCIncludeType>;
143
143
  static CheckboxGroup: React.ComponentType<import("utility-types").Subtract<import("../checkbox").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & React.RefAttributes<any>>;
144
144
  static Radio: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../radio").RadioProps & import("./interface").RCIncludeType>;
@@ -86,7 +86,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
86
86
  preventScroll?: boolean;
87
87
  showRestTagsPopover?: boolean;
88
88
  restTagsPopoverProps?: import("../popover").PopoverProps;
89
- } & Pick<import("../tooltip").TooltipProps, "motion" | "getPopupContainer" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
89
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "motion" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
90
90
  declare const FormCheckboxGroup: import("react").ComponentType<import("utility-types").Subtract<import("../checkbox/checkboxGroup").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
91
91
  declare const FormCheckbox: import("react").ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox/checkbox").CheckboxProps & import("./interface").RCIncludeType>;
92
92
  declare const FormRadioGroup: import("react").ComponentType<import("utility-types").Subtract<import("../radio/radioGroup").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
@@ -86,7 +86,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
86
86
  showClear: PropTypes.Requireable<boolean>;
87
87
  hideSuffix: PropTypes.Requireable<boolean>;
88
88
  placeholder: PropTypes.Requireable<any>;
89
- size: PropTypes.Requireable<"small" | "default" | "large">;
89
+ size: PropTypes.Requireable<"default" | "small" | "large">;
90
90
  className: PropTypes.Requireable<string>;
91
91
  style: PropTypes.Requireable<object>;
92
92
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
@@ -21,7 +21,7 @@ export default class inputGroup extends BaseComponent<InputGroupProps, InputGrou
21
21
  static propTypes: {
22
22
  className: PropTypes.Requireable<string>;
23
23
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
24
- size: PropTypes.Requireable<"small" | "default" | "large">;
24
+ size: PropTypes.Requireable<"default" | "small" | "large">;
25
25
  style: PropTypes.Requireable<object>;
26
26
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
@@ -140,22 +140,23 @@ export declare function withWarning(props: ModalReactProps): {
140
140
  type: "warning";
141
141
  };
142
142
  export declare function withError(props: ModalReactProps): {
143
+ title?: React.ReactNode;
143
144
  children?: React.ReactNode;
144
- motion?: boolean;
145
+ size?: import("@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation").Size;
145
146
  style?: React.CSSProperties;
146
147
  className?: string;
147
148
  getPopupContainer?: () => HTMLElement;
148
149
  footer?: React.ReactNode;
149
150
  header?: React.ReactNode;
150
- title?: React.ReactNode;
151
151
  direction?: any;
152
- size?: import("@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation").Size;
152
+ motion?: boolean;
153
153
  width?: string | number;
154
154
  height?: string | number;
155
155
  mask?: boolean;
156
156
  visible?: boolean;
157
157
  content?: React.ReactNode;
158
158
  icon: string | number | boolean | React.ReactFragment | JSX.Element;
159
+ onCancel?: (e: React.MouseEvent<Element, MouseEvent>) => void | Promise<any>;
159
160
  zIndex?: number;
160
161
  closeOnEsc?: boolean;
161
162
  preventScroll?: boolean;
@@ -163,7 +164,6 @@ export declare function withError(props: ModalReactProps): {
163
164
  keepDOM?: boolean;
164
165
  cancelText?: string;
165
166
  okText?: string;
166
- onCancel?: (e: React.MouseEvent<Element, MouseEvent>) => void | Promise<any>;
167
167
  closeIcon?: React.ReactNode;
168
168
  bodyStyle?: React.CSSProperties;
169
169
  closable?: boolean;
@@ -201,26 +201,36 @@ export declare function withError(props: ModalReactProps): {
201
201
  onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;
202
202
  onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;
203
203
  'aria-label'?: string;
204
- onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
205
- onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
204
+ title?: string;
205
+ name?: string;
206
206
  value?: string | number | readonly string[];
207
207
  form?: string;
208
208
  slot?: string;
209
- title?: string;
210
- name?: string;
209
+ onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
210
+ onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
211
211
  hidden?: boolean;
212
212
  color?: string;
213
213
  content?: string;
214
+ onChange?: React.FormEventHandler<HTMLButtonElement>;
215
+ defaultChecked?: boolean;
214
216
  defaultValue?: string | number | readonly string[];
217
+ suppressContentEditableWarning?: boolean;
218
+ suppressHydrationWarning?: boolean;
215
219
  accessKey?: string;
220
+ autoFocus?: boolean;
221
+ formAction?: string;
222
+ formEncType?: string;
223
+ formMethod?: string;
224
+ formNoValidate?: boolean;
225
+ formTarget?: string;
216
226
  dir?: string;
217
227
  draggable?: boolean | "false" | "true";
218
228
  lang?: string;
219
- translate?: "yes" | "no";
229
+ translate?: "no" | "yes";
220
230
  prefix?: string;
221
231
  role?: React.AriaRole;
222
232
  contentEditable?: "inherit" | (boolean | "false" | "true");
223
- inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
233
+ inputMode?: "search" | "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
224
234
  nonce?: string;
225
235
  tabIndex?: number;
226
236
  onMouseOut?: React.MouseEventHandler<HTMLButtonElement>;
@@ -232,10 +242,6 @@ export declare function withError(props: ModalReactProps): {
232
242
  'aria-haspopup'?: boolean | "dialog" | "menu" | "listbox" | "grid" | "false" | "true" | "tree";
233
243
  'aria-controls'?: string;
234
244
  'aria-describedby'?: string;
235
- defaultChecked?: boolean;
236
- suppressContentEditableWarning?: boolean;
237
- suppressHydrationWarning?: boolean;
238
- autoFocus?: boolean;
239
245
  contextMenu?: string;
240
246
  placeholder?: string;
241
247
  spellCheck?: boolean | "false" | "true";
@@ -272,7 +278,7 @@ export declare function withError(props: ModalReactProps): {
272
278
  'aria-current'?: boolean | "time" | "page" | "false" | "true" | "location" | "step" | "date";
273
279
  'aria-details'?: string;
274
280
  'aria-disabled'?: boolean | "false" | "true";
275
- 'aria-dropeffect'?: "none" | "link" | "copy" | "move" | "execute" | "popup";
281
+ 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup";
276
282
  'aria-errormessage'?: string;
277
283
  'aria-flowto'?: string;
278
284
  'aria-grabbed'?: boolean | "false" | "true";
@@ -321,7 +327,6 @@ export declare function withError(props: ModalReactProps): {
321
327
  onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLButtonElement>;
322
328
  onFocusCapture?: React.FocusEventHandler<HTMLButtonElement>;
323
329
  onBlurCapture?: React.FocusEventHandler<HTMLButtonElement>;
324
- onChange?: React.FormEventHandler<HTMLButtonElement>;
325
330
  onChangeCapture?: React.FormEventHandler<HTMLButtonElement>;
326
331
  onBeforeInput?: React.FormEventHandler<HTMLButtonElement>;
327
332
  onBeforeInputCapture?: React.FormEventHandler<HTMLButtonElement>;
@@ -458,11 +463,6 @@ export declare function withError(props: ModalReactProps): {
458
463
  onAnimationIterationCapture?: React.AnimationEventHandler<HTMLButtonElement>;
459
464
  onTransitionEnd?: React.TransitionEventHandler<HTMLButtonElement>;
460
465
  onTransitionEndCapture?: React.TransitionEventHandler<HTMLButtonElement>;
461
- formAction?: string;
462
- formEncType?: string;
463
- formMethod?: string;
464
- formNoValidate?: boolean;
465
- formTarget?: string;
466
466
  };
467
467
  };
468
468
  export declare function withConfirm(props: ModalReactProps): {
@@ -16,7 +16,7 @@ var _resizeObserver = _interopRequireDefault(require("../resizeObserver"));
16
16
  var _intersectionObserver = _interopRequireDefault(require("./intersectionObserver"));
17
17
  var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/overflowList/foundation"));
18
18
  require("@douyinfe/semi-foundation/lib/cjs/overflowList/overflowList.css");
19
- var _fastCopy = _interopRequireDefault(require("fast-copy"));
19
+ var _utils = require("../_utils");
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
  /* eslint-disable arrow-body-style */
22
22
 
@@ -212,8 +212,8 @@ class OverflowList extends _baseComponent.default {
212
212
  maxCount = Math.min(maxCount, Math.floor(prevState.containerWidth / _constants.numbers.MINIMUM_HTML_ELEMENT_WIDTH));
213
213
  }
214
214
  const isCollapseFromStart = props.collapseFrom === Boundary.START;
215
- const visible = isCollapseFromStart ? (0, _fastCopy.default)(props.items).reverse().slice(0, maxCount) : props.items.slice(0, maxCount);
216
- const overflow = isCollapseFromStart ? (0, _fastCopy.default)(props.items).reverse().slice(maxCount) : props.items.slice(maxCount);
215
+ const visible = isCollapseFromStart ? (0, _utils.cloneDeep)(props.items).reverse().slice(0, maxCount) : props.items.slice(0, maxCount);
216
+ const overflow = isCollapseFromStart ? (0, _utils.cloneDeep)(props.items).reverse().slice(maxCount) : props.items.slice(maxCount);
217
217
  newState.visible = visible;
218
218
  newState.overflow = overflow;
219
219
  newState.maxCount = maxCount;
@@ -69,7 +69,7 @@ export default class Rating extends BaseComponent<RatingProps, RatingState> {
69
69
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
70
70
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
71
71
  autoFocus: PropTypes.Requireable<boolean>;
72
- size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
72
+ size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
73
73
  tooltips: PropTypes.Requireable<string[]>;
74
74
  id: PropTypes.Requireable<string>;
75
75
  preventScroll: PropTypes.Requireable<boolean>;
@@ -40,7 +40,7 @@ export default class Item extends BaseComponent<RatingItemProps, RatingItemState
40
40
  disabled: PropTypes.Requireable<boolean>;
41
41
  count: PropTypes.Requireable<number>;
42
42
  ariaLabelPrefix: PropTypes.Requireable<string>;
43
- size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
43
+ size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
44
44
  'aria-describedby': PropTypes.Requireable<string>;
45
45
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -250,8 +250,8 @@ class ScrollItem extends _baseComponent.default {
250
250
  key: prefixKey + index
251
251
  }, events, {
252
252
  className: cls,
253
+ // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
253
254
  role: "option",
254
- "aria-selected": selected,
255
255
  "aria-disabled": item.disabled
256
256
  }), text)
257
257
  );
@@ -45,7 +45,7 @@ declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
45
45
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
47
47
  style: PropTypes.Requireable<object>;
48
- size: PropTypes.Requireable<"small" | "default" | "large">;
48
+ size: PropTypes.Requireable<"default" | "small" | "large">;
49
49
  uncheckedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
50
50
  id: PropTypes.Requireable<string>;
51
51
  };
@@ -60,7 +60,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
60
60
  components: PropTypes.Requireable<any>;
61
61
  bordered: PropTypes.Requireable<boolean>;
62
62
  loading: PropTypes.Requireable<boolean>;
63
- size: PropTypes.Requireable<"small" | "default" | "middle">;
63
+ size: PropTypes.Requireable<"default" | "small" | "middle">;
64
64
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
65
65
  columns: PropTypes.Requireable<PropTypes.InferProps<{
66
66
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -297,7 +297,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
297
297
  showTotal?: boolean;
298
298
  pageSize?: number;
299
299
  pageSizeOpts?: number[];
300
- size?: "small" | "default";
300
+ size?: "default" | "small";
301
301
  currentPage?: number;
302
302
  defaultCurrentPage?: number;
303
303
  onPageChange?: (currentPage: number) => void;
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _merge2 = _interopRequireDefault(require("lodash/merge"));
8
7
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
8
+ var _merge2 = _interopRequireDefault(require("lodash/merge"));
9
9
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
10
10
  var _set2 = _interopRequireDefault(require("lodash/set"));
11
11
  var _noop2 = _interopRequireDefault(require("lodash/noop"));
@@ -82,6 +82,12 @@ class TableCell extends _baseComponent.default {
82
82
  expandIcon
83
83
  } = props;
84
84
  const cellInSelectionColumn = (0, _utils.isSelectionColumn)(column);
85
+ const {
86
+ shouldCellUpdate
87
+ } = column;
88
+ if (typeof shouldCellUpdate === 'function') {
89
+ return shouldCellUpdate(nextProps, props);
90
+ }
85
91
  // The expand button may be in a separate column or in the first data column
86
92
  const columnHasExpandIcon = (0, _utils.isExpandedColumn)(column) || expandIcon;
87
93
  if ((cellInSelectionColumn || columnHasExpandIcon) && !(0, _isEqual2.default)(nextProps, this.props)) {
@@ -16,7 +16,7 @@ declare class Table<RecordType extends Record<string, any> = Data> extends React
16
16
  components: PropTypes.Requireable<any>;
17
17
  bordered: PropTypes.Requireable<boolean>;
18
18
  loading: PropTypes.Requireable<boolean>;
19
- size: PropTypes.Requireable<"small" | "default" | "middle">;
19
+ size: PropTypes.Requireable<"default" | "small" | "middle">;
20
20
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
21
21
  columns: PropTypes.Requireable<PropTypes.InferProps<{
22
22
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -8,6 +8,7 @@ import { ArrayElement } from '../_base/base';
8
8
  import { strings } from '@douyinfe/semi-foundation/lib/cjs/table/constants';
9
9
  import { BaseRowKeyType, BaseSortOrder, BaseGroupBy, BaseGroupByFn, BaseFixed, BaseAlign, BaseChangeInfoSorter, BaseSorter, BaseFilter, BaseChangeInfoFilter, BaseIncludeGroupRecord, BaseEllipsis } from '@douyinfe/semi-foundation/lib/cjs/table/foundation';
10
10
  import { ScrollDirection, CSSDirection } from 'react-window';
11
+ import { TableCellProps } from './TableCell';
11
12
  export interface TableProps<RecordType extends Record<string, any> = any> extends BaseProps {
12
13
  bordered?: boolean;
13
14
  children?: ReactNode;
@@ -90,6 +91,10 @@ export interface ColumnProps<RecordType extends Record<string, any> = any> {
90
91
  onFilterDropdownVisibleChange?: OnFilterDropdownVisibleChange;
91
92
  onHeaderCell?: OnHeaderCell<RecordType>;
92
93
  ellipsis?: BaseEllipsis;
94
+ /**
95
+ * self control whether to update cell for performance reasons
96
+ */
97
+ shouldCellUpdate?: (props: TableCellProps, prevProps: TableCellProps) => boolean;
93
98
  }
94
99
  export type Align = BaseAlign;
95
100
  export type SortOrder = BaseSortOrder;
@@ -211,6 +216,10 @@ export interface RowSelectionProps<RecordType> {
211
216
  onChange?: RowSelectionOnChange<RecordType>;
212
217
  onSelect?: RowSelectionOnSelect<RecordType>;
213
218
  onSelectAll?: RowSelectionOnSelectAll<RecordType>;
219
+ /**
220
+ * self control whether to update cell for performance reasons
221
+ */
222
+ shouldCellUpdate?: (props: TableCellProps, prevProps: TableCellProps) => boolean;
214
223
  }
215
224
  export type GetCheckboxProps<RecordType> = (record: RecordType) => CheckboxProps;
216
225
  export type RowSelectionOnChange<RecordType> = (selectedRowKeys?: (string | number)[], selectedRows?: RecordType[]) => void;
@@ -96,7 +96,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
96
96
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
97
97
  onRemove: PropTypes.Requireable<(...args: any[]) => any>;
98
98
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
99
- size: PropTypes.Requireable<"small" | "default" | "large">;
99
+ size: PropTypes.Requireable<"default" | "small" | "large">;
100
100
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
101
101
  prefix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
102
102
  suffix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -132,7 +132,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
132
132
  secondStep: PropTypes.Requireable<number>;
133
133
  focusOnOpen: PropTypes.Requireable<boolean>;
134
134
  autoFocus: PropTypes.Requireable<boolean>;
135
- size: PropTypes.Requireable<"small" | "default" | "large">;
135
+ size: PropTypes.Requireable<"default" | "small" | "large">;
136
136
  panels: PropTypes.Requireable<PropTypes.InferProps<{
137
137
  panelHeader: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
138
138
  panelFooter: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -49,7 +49,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
49
49
  secondStep: import("prop-types").Requireable<number>;
50
50
  focusOnOpen: import("prop-types").Requireable<boolean>;
51
51
  autoFocus: import("prop-types").Requireable<boolean>;
52
- size: import("prop-types").Requireable<"small" | "default" | "large">;
52
+ size: import("prop-types").Requireable<"default" | "small" | "large">;
53
53
  panels: import("prop-types").Requireable<import("prop-types").InferProps<{
54
54
  panelHeader: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
55
55
  panelFooter: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
@@ -39,11 +39,11 @@ export default class Title extends PureComponent<TitleProps> {
39
39
  underline: PropTypes.Requireable<boolean>;
40
40
  strong: PropTypes.Requireable<boolean>;
41
41
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
42
- heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 5 | 6>;
42
+ heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 5 | 6>;
43
43
  style: PropTypes.Requireable<object>;
44
44
  className: PropTypes.Requireable<string>;
45
45
  component: PropTypes.Requireable<string>;
46
- weight: PropTypes.Requireable<NonNullable<number | "bold" | "default" | "medium" | "light" | "regular" | "semibold">>;
46
+ weight: PropTypes.Requireable<NonNullable<number | "default" | "bold" | "medium" | "light" | "regular" | "semibold">>;
47
47
  };
48
48
  static defaultProps: {
49
49
  copyable: boolean;
@@ -40,7 +40,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
40
40
  static contextType: React.Context<ContextValue>;
41
41
  static Link: typeof Link;
42
42
  static PropTypes: {
43
- size: PropTypes.Requireable<"small" | "default">;
43
+ size: PropTypes.Requireable<"default" | "small">;
44
44
  railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
45
45
  className: PropTypes.Requireable<string>;
46
46
  style: PropTypes.Requireable<object>;
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
125
125
  renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
126
126
  suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
127
127
  showClear: PropTypes.Requireable<boolean>;
128
- size: PropTypes.Requireable<"small" | "default" | "large">;
128
+ size: PropTypes.Requireable<"default" | "small" | "large">;
129
129
  style: PropTypes.Requireable<object>;
130
130
  stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
131
131
  maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
47
47
  disabled: PropTypes.Requireable<boolean>;
48
48
  prefixCls: PropTypes.Requireable<string>;
49
49
  style: PropTypes.Requireable<object>;
50
- size: PropTypes.Requireable<"small" | "default" | "large">;
50
+ size: PropTypes.Requireable<"default" | "small" | "large">;
51
51
  type: PropTypes.Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
52
52
  block: PropTypes.Requireable<boolean>;
53
53
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
18
18
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
19
  disabled: PropTypes.Requireable<boolean>;
20
20
  type: PropTypes.Requireable<string>;
21
- size: PropTypes.Requireable<"small" | "default" | "large">;
21
+ size: PropTypes.Requireable<"default" | "small" | "large">;
22
22
  theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
23
23
  'aria-label': PropTypes.Requireable<string>;
24
24
  };
@@ -22,7 +22,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
22
22
  onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
23
23
  onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
24
24
  disabled: import("prop-types").Requireable<boolean>;
25
- size: import("prop-types").Requireable<"small" | "default" | "large">;
25
+ size: import("prop-types").Requireable<"default" | "small" | "large">;
26
26
  type: import("prop-types").Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
27
27
  block: import("prop-types").Requireable<boolean>;
28
28
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
@@ -31,7 +31,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
31
31
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
32
32
  value: PropTypes.Requireable<any[]>;
33
33
  disabled: PropTypes.Requireable<boolean>;
34
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
34
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
35
35
  showClear: PropTypes.Requireable<boolean>;
36
36
  format: PropTypes.Requireable<string>;
37
37
  inputStyle: PropTypes.Requireable<object>;
@@ -58,8 +58,8 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
58
58
  'aria-labelledby': PropTypes.Requireable<string>;
59
59
  'aria-required': PropTypes.Requireable<boolean>;
60
60
  borderless: PropTypes.Requireable<boolean>;
61
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
62
- size: PropTypes.Requireable<"small" | "default" | "large">;
61
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
62
+ size: PropTypes.Requireable<"default" | "small" | "large">;
63
63
  clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
64
64
  density: PropTypes.Requireable<"default" | "compact">;
65
65
  defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
@@ -19,7 +19,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
19
19
  export type MonthsGridState = MonthsGridFoundationState;
20
20
  export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
21
21
  static propTypes: {
22
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
22
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
23
23
  defaultValue: PropTypes.Requireable<any[]>;
24
24
  defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
25
25
  multiple: PropTypes.Requireable<boolean>;
@@ -24,7 +24,7 @@ declare class YearAndMonth extends BaseComponent<YearAndMonthProps, YearAndMonth
24
24
  presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
25
25
  renderQuickControls: PropTypes.Requireable<PropTypes.ReactNodeLike>;
26
26
  renderDateInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
27
- type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
27
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
28
28
  startYear: PropTypes.Requireable<number>;
29
29
  endYear: PropTypes.Requireable<number>;
30
30
  };
@@ -138,7 +138,7 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
138
138
  preventScroll?: boolean;
139
139
  showRestTagsPopover?: boolean;
140
140
  restTagsPopoverProps?: import("../popover").PopoverProps;
141
- } & Pick<import("../tooltip").TooltipProps, "motion" | "getPopupContainer" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
141
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "motion" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
142
142
  static Checkbox: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox").CheckboxProps & import("./interface").RCIncludeType>;
143
143
  static CheckboxGroup: React.ComponentType<import("utility-types").Subtract<import("../checkbox").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & React.RefAttributes<any>>;
144
144
  static Radio: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../radio").RadioProps & import("./interface").RCIncludeType>;
@@ -86,7 +86,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
86
86
  preventScroll?: boolean;
87
87
  showRestTagsPopover?: boolean;
88
88
  restTagsPopoverProps?: import("../popover").PopoverProps;
89
- } & Pick<import("../tooltip").TooltipProps, "motion" | "getPopupContainer" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
89
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "motion" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
90
90
  declare const FormCheckboxGroup: import("react").ComponentType<import("utility-types").Subtract<import("../checkbox/checkboxGroup").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
91
91
  declare const FormCheckbox: import("react").ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox/checkbox").CheckboxProps & import("./interface").RCIncludeType>;
92
92
  declare const FormRadioGroup: import("react").ComponentType<import("utility-types").Subtract<import("../radio/radioGroup").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
@@ -86,7 +86,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
86
86
  showClear: PropTypes.Requireable<boolean>;
87
87
  hideSuffix: PropTypes.Requireable<boolean>;
88
88
  placeholder: PropTypes.Requireable<any>;
89
- size: PropTypes.Requireable<"small" | "default" | "large">;
89
+ size: PropTypes.Requireable<"default" | "small" | "large">;
90
90
  className: PropTypes.Requireable<string>;
91
91
  style: PropTypes.Requireable<object>;
92
92
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
@@ -21,7 +21,7 @@ export default class inputGroup extends BaseComponent<InputGroupProps, InputGrou
21
21
  static propTypes: {
22
22
  className: PropTypes.Requireable<string>;
23
23
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
24
- size: PropTypes.Requireable<"small" | "default" | "large">;
24
+ size: PropTypes.Requireable<"default" | "small" | "large">;
25
25
  style: PropTypes.Requireable<object>;
26
26
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;