@douyinfe/semi-ui 2.36.1-alpha.2 → 2.36.1-alpha.3

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 (53) hide show
  1. package/dist/umd/semi-ui.js +258 -228
  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 +2 -2
  15. package/lib/cjs/form/field.d.ts +2 -2
  16. package/lib/cjs/input/index.d.ts +1 -1
  17. package/lib/cjs/input/inputGroup.d.ts +1 -1
  18. package/lib/cjs/input/textarea.js +13 -24
  19. package/lib/cjs/modal/confirm.d.ts +21 -21
  20. package/lib/cjs/rating/index.d.ts +1 -1
  21. package/lib/cjs/rating/item.d.ts +1 -1
  22. package/lib/cjs/switch/index.d.ts +1 -1
  23. package/lib/cjs/table/Table.d.ts +2 -2
  24. package/lib/cjs/table/index.d.ts +1 -1
  25. package/lib/cjs/tagInput/index.d.ts +1 -1
  26. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  27. package/lib/cjs/timePicker/index.d.ts +1 -1
  28. package/lib/cjs/typography/title.d.ts +2 -2
  29. package/lib/es/anchor/index.d.ts +1 -1
  30. package/lib/es/autoComplete/index.d.ts +1 -1
  31. package/lib/es/button/Button.d.ts +1 -1
  32. package/lib/es/button/buttonGroup.d.ts +1 -1
  33. package/lib/es/button/index.d.ts +1 -1
  34. package/lib/es/datePicker/dateInput.d.ts +1 -1
  35. package/lib/es/datePicker/datePicker.d.ts +2 -2
  36. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  37. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  38. package/lib/es/form/baseForm.d.ts +2 -2
  39. package/lib/es/form/field.d.ts +2 -2
  40. package/lib/es/input/index.d.ts +1 -1
  41. package/lib/es/input/inputGroup.d.ts +1 -1
  42. package/lib/es/input/textarea.js +13 -24
  43. package/lib/es/modal/confirm.d.ts +21 -21
  44. package/lib/es/rating/index.d.ts +1 -1
  45. package/lib/es/rating/item.d.ts +1 -1
  46. package/lib/es/switch/index.d.ts +1 -1
  47. package/lib/es/table/Table.d.ts +2 -2
  48. package/lib/es/table/index.d.ts +1 -1
  49. package/lib/es/tagInput/index.d.ts +1 -1
  50. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  51. package/lib/es/timePicker/index.d.ts +1 -1
  52. package/lib/es/typography/title.d.ts +2 -2
  53. package/package.json +8 -8
@@ -84,7 +84,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
84
84
  showClear: PropTypes.Requireable<boolean>;
85
85
  hideSuffix: PropTypes.Requireable<boolean>;
86
86
  placeholder: PropTypes.Requireable<any>;
87
- size: PropTypes.Requireable<"default" | "small" | "large">;
87
+ size: PropTypes.Requireable<"small" | "default" | "large">;
88
88
  className: PropTypes.Requireable<string>;
89
89
  style: PropTypes.Requireable<object>;
90
90
  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<"default" | "small" | "large">;
24
+ size: PropTypes.Requireable<"small" | "default" | "large">;
25
25
  style: PropTypes.Requireable<object>;
26
26
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1,3 +1,4 @@
1
+ import _throttle from "lodash/throttle";
1
2
  import _isFunction from "lodash/isFunction";
2
3
  import _omit from "lodash/omit";
3
4
  import _noop from "lodash/noop";
@@ -18,6 +19,7 @@ import { cssClasses } from '@douyinfe/semi-foundation/lib/es/input/constants';
18
19
  import BaseComponent from '../_base/baseComponent';
19
20
  import '@douyinfe/semi-foundation/lib/es/input/textarea.css';
20
21
  import { IconClear } from '@douyinfe/semi-icons';
22
+ import ResizeObserver from '../resizeObserver';
21
23
  const prefixCls = cssClasses.PREFIX;
22
24
  class TextArea extends BaseComponent {
23
25
  constructor(props) {
@@ -46,7 +48,7 @@ class TextArea extends BaseComponent {
46
48
  this.focusing = false;
47
49
  this.foundation = new TextAreaFoundation(this.adapter);
48
50
  this.libRef = /*#__PURE__*/React.createRef();
49
- this._resizeLock = false;
51
+ this.throttledResizeTextarea = _throttle(this.foundation.resizeTextarea, 10);
50
52
  }
51
53
  get adapter() {
52
54
  return Object.assign(Object.assign({}, super.adapter), {
@@ -97,32 +99,15 @@ class TextArea extends BaseComponent {
97
99
  }
98
100
  return willUpdateStates;
99
101
  }
100
- componentDidMount() {
101
- this.foundation.init();
102
- this._resizeListener = null;
103
- if (this.props.autosize) {
104
- // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment
105
- // causing competing rerenders (due to setState in the listener) in React.
106
- // More can be found here - facebook/react#6324
107
- // // Reference to https://github.com/andreypopp/react-textarea-autosize/
108
- this._resizeListener = () => {
109
- if (this._resizeLock) {
110
- return;
111
- }
112
- this._resizeLock = true;
113
- this.foundation.resizeTextarea(() => {
114
- this._resizeLock = false;
115
- });
116
- };
117
- window.addEventListener('resize', this._resizeListener);
118
- }
119
- }
120
102
  componentWillUnmount() {
121
- this.foundation.destroy();
122
- this._resizeListener && window.removeEventListener('resize', this._resizeListener);
103
+ var _a, _b;
104
+ if (this.throttledResizeTextarea) {
105
+ (_b = (_a = this.throttledResizeTextarea) === null || _a === void 0 ? void 0 : _a.cancel) === null || _b === void 0 ? void 0 : _b.call(_a);
106
+ this.throttledResizeTextarea = null;
107
+ }
123
108
  }
124
109
  componentDidUpdate(prevProps, prevState) {
125
- if (this.props.value !== prevProps.value && this.props.autosize) {
110
+ if ((this.props.value !== prevProps.value || this.props.placeholder !== prevProps.placeholder) && this.props.autosize) {
126
111
  this.foundation.resizeTextarea();
127
112
  }
128
113
  }
@@ -237,8 +222,12 @@ class TextArea extends BaseComponent {
237
222
  style: style,
238
223
  onMouseEnter: e => this.foundation.handleMouseEnter(e),
239
224
  onMouseLeave: e => this.foundation.handleMouseLeave(e)
225
+ }, autosize ? /*#__PURE__*/React.createElement(ResizeObserver, {
226
+ onResize: this.throttledResizeTextarea
240
227
  }, /*#__PURE__*/React.createElement("textarea", Object.assign({}, itemProps, {
241
228
  ref: this.setRef
229
+ }))) : /*#__PURE__*/React.createElement("textarea", Object.assign({}, itemProps, {
230
+ ref: this.setRef
242
231
  })), this.renderClearBtn(), this.renderCounter());
243
232
  }
244
233
  }
@@ -140,23 +140,22 @@ export declare function withWarning(props: ModalReactProps): {
140
140
  type: "warning";
141
141
  };
142
142
  export declare function withError(props: ModalReactProps): {
143
- title?: React.ReactNode;
144
143
  children?: React.ReactNode;
145
- size?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").Size;
144
+ motion?: boolean;
146
145
  style?: React.CSSProperties;
147
146
  className?: string;
148
147
  getPopupContainer?: () => HTMLElement;
149
148
  footer?: React.ReactNode;
150
149
  header?: React.ReactNode;
150
+ title?: React.ReactNode;
151
151
  direction?: any;
152
- motion?: boolean;
153
152
  width?: string | number;
154
153
  height?: string | number;
155
154
  mask?: boolean;
155
+ size?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").Size;
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>;
160
159
  zIndex?: number;
161
160
  closeOnEsc?: boolean;
162
161
  preventScroll?: boolean;
@@ -164,6 +163,7 @@ export declare function withError(props: ModalReactProps): {
164
163
  keepDOM?: boolean;
165
164
  cancelText?: string;
166
165
  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,36 +201,26 @@ export declare function withError(props: ModalReactProps): {
201
201
  onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;
202
202
  onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;
203
203
  'aria-label'?: string;
204
- title?: string;
205
- name?: string;
204
+ onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
205
+ onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
206
206
  value?: string | number | readonly string[];
207
207
  form?: string;
208
208
  slot?: string;
209
- onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
210
- onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
209
+ title?: string;
210
+ name?: string;
211
211
  hidden?: boolean;
212
212
  color?: string;
213
213
  content?: string;
214
- onChange?: React.FormEventHandler<HTMLButtonElement>;
215
- defaultChecked?: boolean;
216
214
  defaultValue?: string | number | readonly string[];
217
- suppressContentEditableWarning?: boolean;
218
- suppressHydrationWarning?: boolean;
219
215
  accessKey?: string;
220
- autoFocus?: boolean;
221
- formAction?: string;
222
- formEncType?: string;
223
- formMethod?: string;
224
- formNoValidate?: boolean;
225
- formTarget?: string;
226
216
  dir?: string;
227
217
  draggable?: boolean | "false" | "true";
228
218
  lang?: string;
229
- translate?: "no" | "yes";
219
+ translate?: "yes" | "no";
230
220
  prefix?: string;
231
221
  role?: React.AriaRole;
232
222
  contentEditable?: "inherit" | (boolean | "false" | "true");
233
- inputMode?: "search" | "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
223
+ inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
234
224
  nonce?: string;
235
225
  tabIndex?: number;
236
226
  onMouseOut?: React.MouseEventHandler<HTMLButtonElement>;
@@ -242,6 +232,10 @@ export declare function withError(props: ModalReactProps): {
242
232
  'aria-haspopup'?: boolean | "dialog" | "menu" | "listbox" | "grid" | "false" | "true" | "tree";
243
233
  'aria-controls'?: string;
244
234
  'aria-describedby'?: string;
235
+ defaultChecked?: boolean;
236
+ suppressContentEditableWarning?: boolean;
237
+ suppressHydrationWarning?: boolean;
238
+ autoFocus?: boolean;
245
239
  contextMenu?: string;
246
240
  placeholder?: string;
247
241
  spellCheck?: boolean | "false" | "true";
@@ -278,7 +272,7 @@ export declare function withError(props: ModalReactProps): {
278
272
  'aria-current'?: boolean | "time" | "page" | "false" | "true" | "location" | "step" | "date";
279
273
  'aria-details'?: string;
280
274
  'aria-disabled'?: boolean | "false" | "true";
281
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup";
275
+ 'aria-dropeffect'?: "none" | "link" | "copy" | "move" | "execute" | "popup";
282
276
  'aria-errormessage'?: string;
283
277
  'aria-flowto'?: string;
284
278
  'aria-grabbed'?: boolean | "false" | "true";
@@ -327,6 +321,7 @@ export declare function withError(props: ModalReactProps): {
327
321
  onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLButtonElement>;
328
322
  onFocusCapture?: React.FocusEventHandler<HTMLButtonElement>;
329
323
  onBlurCapture?: React.FocusEventHandler<HTMLButtonElement>;
324
+ onChange?: React.FormEventHandler<HTMLButtonElement>;
330
325
  onChangeCapture?: React.FormEventHandler<HTMLButtonElement>;
331
326
  onBeforeInput?: React.FormEventHandler<HTMLButtonElement>;
332
327
  onBeforeInputCapture?: React.FormEventHandler<HTMLButtonElement>;
@@ -463,6 +458,11 @@ export declare function withError(props: ModalReactProps): {
463
458
  onAnimationIterationCapture?: React.AnimationEventHandler<HTMLButtonElement>;
464
459
  onTransitionEnd?: React.TransitionEventHandler<HTMLButtonElement>;
465
460
  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): {
@@ -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 | "default" | "small">>;
72
+ size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
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 | "default" | "small">>;
43
+ size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
44
44
  'aria-describedby': PropTypes.Requireable<string>;
45
45
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -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<"default" | "small" | "large">;
48
+ size: PropTypes.Requireable<"small" | "default" | "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<"default" | "small" | "middle">;
63
+ size: PropTypes.Requireable<"small" | "default" | "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?: "default" | "small";
300
+ size?: "small" | "default";
301
301
  currentPage?: number;
302
302
  defaultCurrentPage?: number;
303
303
  onPageChange?: (currentPage: number) => void;
@@ -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<"default" | "small" | "middle">;
19
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
20
20
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
21
21
  columns: PropTypes.Requireable<PropTypes.InferProps<{
22
22
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -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<"default" | "small" | "large">;
99
+ size: PropTypes.Requireable<"small" | "default" | "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<"default" | "small" | "large">;
135
+ size: PropTypes.Requireable<"small" | "default" | "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<"default" | "small" | "large">;
52
+ size: import("prop-types").Requireable<"small" | "default" | "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<1 | 2 | 3 | 4 | 6 | 5>;
42
+ heading: PropTypes.Requireable<4 | 2 | 1 | 6 | 3 | 5>;
43
43
  style: PropTypes.Requireable<object>;
44
44
  className: PropTypes.Requireable<string>;
45
45
  component: PropTypes.Requireable<string>;
46
- weight: PropTypes.Requireable<NonNullable<number | "default" | "bold" | "medium" | "light" | "regular" | "semibold">>;
46
+ weight: PropTypes.Requireable<NonNullable<number | "bold" | "default" | "medium" | "light" | "regular" | "semibold">>;
47
47
  };
48
48
  static defaultProps: {
49
49
  copyable: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-ui",
3
- "version": "2.36.1-alpha.2",
3
+ "version": "2.36.1-alpha.3",
4
4
  "description": "",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es/index.js",
@@ -17,12 +17,12 @@
17
17
  "lib/*"
18
18
  ],
19
19
  "dependencies": {
20
- "@douyinfe/semi-animation": "2.36.1-alpha.2",
21
- "@douyinfe/semi-animation-react": "2.36.1-alpha.2",
22
- "@douyinfe/semi-foundation": "2.36.1-alpha.2",
23
- "@douyinfe/semi-icons": "2.36.1-alpha.2",
24
- "@douyinfe/semi-illustrations": "2.36.1-alpha.2",
25
- "@douyinfe/semi-theme-default": "2.36.1-alpha.2",
20
+ "@douyinfe/semi-animation": "2.36.1-alpha.3",
21
+ "@douyinfe/semi-animation-react": "2.36.1-alpha.3",
22
+ "@douyinfe/semi-foundation": "2.36.1-alpha.3",
23
+ "@douyinfe/semi-icons": "2.36.1-alpha.3",
24
+ "@douyinfe/semi-illustrations": "2.36.1-alpha.3",
25
+ "@douyinfe/semi-theme-default": "2.36.1-alpha.3",
26
26
  "async-validator": "^3.5.0",
27
27
  "classnames": "^2.2.6",
28
28
  "copy-text-to-clipboard": "^2.1.1",
@@ -69,7 +69,7 @@
69
69
  ],
70
70
  "author": "",
71
71
  "license": "MIT",
72
- "gitHead": "1436e7b3dc465a6f178c1a978bc96362199bed62",
72
+ "gitHead": "6171181d396b5905d7da605bada6d1457c0e3cc4",
73
73
  "devDependencies": {
74
74
  "@babel/plugin-proposal-decorators": "^7.15.8",
75
75
  "@babel/plugin-transform-runtime": "^7.15.8",