@douyinfe/semi-ui 2.1.0-beta.2 → 2.1.1

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 (78) hide show
  1. package/dist/css/semi.css +14 -1
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +263 -135
  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/es/autoComplete/index.d.ts +36 -11
  8. package/lib/es/button/index.d.ts +0 -1
  9. package/lib/es/button/index.js +1 -2
  10. package/lib/es/calendar/dayCalendar.js +1 -1
  11. package/lib/es/calendar/monthCalendar.js +1 -1
  12. package/lib/es/calendar/rangeCalendar.js +1 -1
  13. package/lib/es/calendar/weekCalendar.js +1 -1
  14. package/lib/es/cascader/index.d.ts +1 -0
  15. package/lib/es/cascader/index.js +15 -3
  16. package/lib/es/collapse/index.js +1 -5
  17. package/lib/es/collapsible/index.js +4 -1
  18. package/lib/es/datePicker/yearAndMonth.d.ts +2 -2
  19. package/lib/es/datePicker/yearAndMonth.js +1 -1
  20. package/lib/es/form/baseForm.d.ts +4 -10
  21. package/lib/es/form/baseForm.js +1 -2
  22. package/lib/es/form/field.d.ts +4 -22
  23. package/lib/es/form/field.js +2 -18
  24. package/lib/es/form/hoc/withField.d.ts +1 -1
  25. package/lib/es/form/hoc/withField.js +0 -3
  26. package/lib/es/iconButton/index.d.ts +0 -1
  27. package/lib/es/iconButton/index.js +0 -1
  28. package/lib/es/locale/localeConsumer.d.ts +5 -5
  29. package/lib/es/modal/useModal/HookModal.d.ts +3 -2
  30. package/lib/es/modal/useModal/index.js +1 -1
  31. package/lib/es/notification/index.d.ts +1 -1
  32. package/lib/es/notification/index.js +1 -1
  33. package/lib/es/popconfirm/index.d.ts +5 -1
  34. package/lib/es/popconfirm/index.js +10 -4
  35. package/lib/es/popover/index.d.ts +3 -1
  36. package/lib/es/popover/index.js +4 -8
  37. package/lib/es/radio/context.d.ts +1 -1
  38. package/lib/es/radio/radio.d.ts +2 -2
  39. package/lib/es/radio/radioGroup.d.ts +4 -4
  40. package/lib/es/rating/index.d.ts +1 -1
  41. package/lib/es/resizeObserver/index.js +1 -0
  42. package/lib/es/scrollList/scrollItem.d.ts +12 -11
  43. package/lib/es/scrollList/scrollItem.js +8 -8
  44. package/lib/es/select/index.js +18 -11
  45. package/lib/es/select/option.js +4 -4
  46. package/lib/es/select/utils.d.ts +1 -1
  47. package/lib/es/select/utils.js +12 -8
  48. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -1
  49. package/lib/es/sideSheet/index.d.ts +3 -3
  50. package/lib/es/steps/basicSteps.js +2 -2
  51. package/lib/es/steps/fillSteps.js +3 -3
  52. package/lib/es/steps/navSteps.js +2 -2
  53. package/lib/es/tabs/TabBar.d.ts +5 -3
  54. package/lib/es/tabs/TabBar.js +12 -4
  55. package/lib/es/tabs/TabPane.d.ts +2 -1
  56. package/lib/es/tabs/TabPane.js +3 -2
  57. package/lib/es/tabs/index.d.ts +3 -1
  58. package/lib/es/tabs/index.js +85 -16
  59. package/lib/es/tabs/interface.d.ts +6 -1
  60. package/lib/es/tagInput/index.d.ts +3 -0
  61. package/lib/es/tagInput/index.js +6 -1
  62. package/lib/es/timePicker/Combobox.d.ts +10 -4
  63. package/lib/es/timePicker/Combobox.js +2 -1
  64. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  65. package/lib/es/tooltip/index.d.ts +3 -0
  66. package/lib/es/tooltip/index.js +3 -0
  67. package/lib/es/tree/interface.d.ts +2 -2
  68. package/lib/es/treeSelect/index.d.ts +2 -11
  69. package/lib/es/treeSelect/index.js +2 -1
  70. package/lib/es/typography/base.d.ts +1 -1
  71. package/lib/es/typography/paragraph.d.ts +1 -1
  72. package/lib/es/typography/text.d.ts +1 -1
  73. package/lib/es/typography/title.d.ts +1 -1
  74. package/lib/es/upload/fileCard.d.ts +3 -18
  75. package/lib/es/upload/index.d.ts +4 -57
  76. package/lib/es/upload/interface.d.ts +56 -0
  77. package/lib/es/upload/interface.js +1 -0
  78. package/package.json +9 -8
@@ -16,15 +16,16 @@ import { Motion } from '../_base/base';
16
16
  export interface BaseDataItem extends DataItem {
17
17
  label?: React.ReactNode;
18
18
  }
19
- export interface AutoCompleteProps<Item extends BaseDataItem = BaseDataItem> {
19
+ export declare type AutoCompleteItems = BaseDataItem | string | number;
20
+ export interface AutoCompleteProps<T extends AutoCompleteItems> {
20
21
  autoAdjustOverflow?: boolean;
21
22
  autoFocus?: boolean;
22
23
  className?: string;
23
24
  children?: React.ReactNode;
24
- data?: Array<string | Item | number>;
25
+ data?: T[];
25
26
  disabled?: boolean;
26
27
  defaultOpen?: boolean;
27
- defaultValue?: string | number | Item;
28
+ defaultValue?: T;
28
29
  defaultActiveFirstOption?: boolean;
29
30
  dropdownMatchSelectWidth?: boolean;
30
31
  dropdownClassName?: string;
@@ -41,7 +42,7 @@ export interface AutoCompleteProps<Item extends BaseDataItem = BaseDataItem> {
41
42
  onBlur?: (e: React.FocusEvent) => void;
42
43
  onChange?: (value: string | number) => void;
43
44
  onSearch?: (inputValue: string) => void;
44
- onSelect?: (value: string | Item | number) => void;
45
+ onSelect?: (value: T) => void;
45
46
  onClear?: () => void;
46
47
  onChangeWithObject?: boolean;
47
48
  onSelectWithObject?: boolean;
@@ -49,8 +50,8 @@ export interface AutoCompleteProps<Item extends BaseDataItem = BaseDataItem> {
49
50
  prefix?: React.ReactNode;
50
51
  placeholder?: string;
51
52
  position?: Position;
52
- renderItem?: (option: Item | string) => React.ReactNode;
53
- renderSelectedItem?: (option: Item) => string;
53
+ renderItem?: (option: T) => React.ReactNode;
54
+ renderSelectedItem?: (option: T) => string;
54
55
  size?: 'small' | 'default' | 'large';
55
56
  style?: React.CSSProperties;
56
57
  suffix?: React.ReactNode;
@@ -74,7 +75,7 @@ interface AutoCompleteState {
74
75
  rePosKey: number;
75
76
  keyboardEventSet?: KeyboardEventType;
76
77
  }
77
- declare class AutoComplete extends BaseComponent<AutoCompleteProps, AutoCompleteState> {
78
+ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<AutoCompleteProps<T>, AutoCompleteState> {
78
79
  static propTypes: {
79
80
  autoFocus: PropTypes.Requireable<boolean>;
80
81
  autoAdjustOverflow: PropTypes.Requireable<boolean>;
@@ -118,15 +119,39 @@ declare class AutoComplete extends BaseComponent<AutoCompleteProps, AutoComplete
118
119
  zIndex: PropTypes.Requireable<number>;
119
120
  };
120
121
  static Option: typeof Option;
121
- static defaultProps: Partial<AutoCompleteProps>;
122
+ static defaultProps: {
123
+ stopPropagation: boolean;
124
+ motion: boolean;
125
+ zIndex: number;
126
+ position: "bottomLeft";
127
+ data: [];
128
+ showClear: boolean;
129
+ disabled: boolean;
130
+ size: "default";
131
+ onFocus: (...args: any[]) => void;
132
+ onSearch: (...args: any[]) => void;
133
+ onClear: (...args: any[]) => void;
134
+ onBlur: (...args: any[]) => void;
135
+ onSelect: (...args: any[]) => void;
136
+ onChange: (...args: any[]) => void;
137
+ onSelectWithObject: boolean;
138
+ onDropdownVisibleChange: (...args: any[]) => void;
139
+ defaultActiveFirstOption: boolean;
140
+ dropdownMatchSelectWidth: boolean;
141
+ loading: boolean;
142
+ maxHeight: number;
143
+ validateStatus: "default";
144
+ autoFocus: boolean;
145
+ emptyContent: null;
146
+ };
122
147
  triggerRef: React.RefObject<HTMLDivElement> | null;
123
148
  optionsRef: React.RefObject<HTMLDivElement> | null;
124
149
  private clickOutsideHandler;
125
- constructor(props: AutoCompleteProps);
126
- get adapter(): AutoCompleteAdapter<AutoCompleteProps, AutoCompleteState>;
150
+ constructor(props: AutoCompleteProps<T>);
151
+ get adapter(): AutoCompleteAdapter<AutoCompleteProps<T>, AutoCompleteState>;
127
152
  componentDidMount(): void;
128
153
  componentWillUnmount(): void;
129
- componentDidUpdate(prevProps: AutoCompleteProps, prevState: AutoCompleteState): void;
154
+ componentDidUpdate(prevProps: AutoCompleteProps<T>, prevState: AutoCompleteState): void;
130
155
  onSelect: (option: StateOptionItem, optionIndex: number, e: React.MouseEvent | React.KeyboardEvent) => void;
131
156
  onSearch: (value: string) => void;
132
157
  onBlur: (e: React.FocusEvent) => void;
@@ -14,7 +14,6 @@ declare class Button extends React.PureComponent<ButtonProps> {
14
14
  loading: import("prop-types").Requireable<boolean>;
15
15
  prefixCls: import("prop-types").Requireable<string>;
16
16
  icon: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
17
- iconType: import("prop-types").Requireable<import("prop-types").ReactElementLike>;
18
17
  iconSize: import("prop-types").Requireable<string>;
19
18
  noHorizontalPadding: import("prop-types").Requireable<string | boolean | any[]>;
20
19
  children: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
@@ -12,8 +12,7 @@ class Button extends React.PureComponent {
12
12
  render() {
13
13
  const props = _Object$assign({}, this.props);
14
14
 
15
- const hasIcon = Boolean(props.icon || props.iconType); // TODO: iconType needs to be confirmed
16
-
15
+ const hasIcon = Boolean(props.icon);
17
16
  const isLoading = Boolean(props.loading);
18
17
  const isDisabled = Boolean(props.disabled);
19
18
 
@@ -95,7 +95,7 @@ export default class DayCalendar extends BaseComponent {
95
95
  },
96
96
  setParsedEvents: parsedEvents => {
97
97
  this.setState({
98
- parsedEvents
98
+ parsedEvents: parsedEvents
99
99
  });
100
100
  },
101
101
  cacheEventKeys: cachedKeys => {
@@ -331,7 +331,7 @@ export default class monthCalendar extends BaseComponent {
331
331
  },
332
332
  setParsedEvents: parsedEvents => {
333
333
  this.setState({
334
- parsedEvents
334
+ parsedEvents: parsedEvents
335
335
  });
336
336
  },
337
337
  setItemLimit: itemLimit => {
@@ -206,7 +206,7 @@ export default class RangeCalendar extends BaseComponent {
206
206
  },
207
207
  setParsedEvents: parsedEvents => {
208
208
  this.setState({
209
- parsedEvents
209
+ parsedEvents: parsedEvents
210
210
  });
211
211
  },
212
212
  cacheEventKeys: cachedKeys => {
@@ -208,7 +208,7 @@ export default class WeekCalendar extends BaseComponent {
208
208
  },
209
209
  setParsedEvents: parsedEvents => {
210
210
  this.setState({
211
- parsedEvents
211
+ parsedEvents: parsedEvents
212
212
  });
213
213
  },
214
214
  cacheEventKeys: cachedKeys => {
@@ -7,6 +7,7 @@ import Input from '../input/index';
7
7
  import { PopoverProps } from '../popover/index';
8
8
  import { CascaderData, Entities, Entity, Data } from './item';
9
9
  import { Motion } from '../_base/base';
10
+ export { CascaderType, ShowNextType } from '@douyinfe/semi-foundation/lib/es/cascader/foundation';
10
11
  export { CascaderData, Entity, Data, CascaderItemProps } from './item';
11
12
  export interface ScrollPanelProps extends BasicScrollPanelProps {
12
13
  activeNode: CascaderData;
@@ -272,15 +272,27 @@ class Cascader extends BaseComponent {
272
272
  this.renderCustomTrigger = () => {
273
273
  const {
274
274
  disabled,
275
- triggerRender
275
+ triggerRender,
276
+ multiple,
277
+ autoMergeValue
276
278
  } = this.props;
277
279
  const {
278
280
  selectedKeys,
279
281
  inputValue,
280
- inputPlaceHolder
282
+ inputPlaceHolder,
283
+ mergedCheckedKeys,
284
+ checkedKeys
281
285
  } = this.state;
286
+ let realValue;
287
+
288
+ if (multiple) {
289
+ realValue = autoMergeValue ? mergedCheckedKeys : checkedKeys;
290
+ } else {
291
+ realValue = [...selectedKeys][0];
292
+ }
293
+
282
294
  return /*#__PURE__*/React.createElement(Trigger, {
283
- value: [...selectedKeys][0],
295
+ value: realValue,
284
296
  inputValue: inputValue,
285
297
  onChange: this.handleInputChange,
286
298
  onClear: this.handleClear,
@@ -47,12 +47,8 @@ class Collapse extends BaseComponent {
47
47
  }
48
48
 
49
49
  get adapter() {
50
- var _this = this;
51
-
52
50
  return _Object$assign(_Object$assign({}, super.adapter), {
53
- handleChange: function () {
54
- return _this.props.onChange(...arguments);
55
- },
51
+ handleChange: (activeKey, e) => this.props.onChange(activeKey, e),
56
52
  addActiveKey: activeSet => this.setState({
57
53
  activeSet
58
54
  })
@@ -84,7 +84,10 @@ const Collapsible = props => {
84
84
  className: wrapperCls,
85
85
  ref: ref
86
86
  }, /*#__PURE__*/React.createElement("div", {
87
- ref: setHeight
87
+ ref: setHeight,
88
+ style: {
89
+ overflow: 'hidden'
90
+ }
88
91
  }, children));
89
92
  };
90
93
 
@@ -32,8 +32,8 @@ declare class YearAndMonth extends BaseComponent<YearAndMonthProps, YearAndMonth
32
32
  onSelect: (...args: any[]) => void;
33
33
  };
34
34
  foundation: YearAndMonthFoundation;
35
- yearRef: React.RefObject<ScrollItem>;
36
- monthRef: React.RefObject<ScrollItem>;
35
+ yearRef: React.RefObject<ScrollItem<YearScrollItem>>;
36
+ monthRef: React.RefObject<ScrollItem<MonthScrollItem>>;
37
37
  constructor(props: YearAndMonthProps);
38
38
  get adapter(): YearAndMonthAdapter;
39
39
  static getDerivedStateFromProps(props: YearAndMonthProps, state: YearAndMonthState): Partial<YearAndMonthFoundationState>;
@@ -220,7 +220,7 @@ class YearAndMonth extends BaseComponent {
220
220
  className: prefix
221
221
  }, /*#__PURE__*/React.createElement(IconButton, {
222
222
  noHorizontalPadding: false,
223
- iconType: /*#__PURE__*/React.createElement(IconChevronLeft, {
223
+ icon: /*#__PURE__*/React.createElement(IconChevronLeft, {
224
224
  size: iconSize
225
225
  }),
226
226
  size: buttonSize,
@@ -116,19 +116,13 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
116
116
  static Radio: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../radio").RadioProps & import("./interface").RCIncludeType>;
117
117
  static RadioGroup: React.ComponentType<import("utility-types").Subtract<import("../radio").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
118
118
  static DatePicker: React.ComponentType<import("utility-types").Subtract<import("../datePicker").DatePickerProps & React.RefAttributes<import("../datePicker/datePicker").default>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
119
- static TimePicker: React.ComponentType<import("utility-types").Subtract<import("../timePicker").TimePickerProps | (import("../timePicker").TimePickerProps & {
120
- children?: React.ReactNode;
121
- }), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
119
+ static TimePicker: React.ComponentType<import("utility-types").Subtract<import("../timePicker").TimePickerProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
122
120
  static Switch: React.ComponentType<import("utility-types").Subtract<import("../switch").SwitchProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
123
121
  static Slider: React.ComponentType<import("utility-types").Subtract<import("../slider").SliderProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
124
- static TreeSelect: React.ComponentType<import("utility-types").Subtract<import("../treeSelect").TreeSelectProps | (import("../treeSelect").TreeSelectProps & {
125
- children?: React.ReactNode;
126
- }), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
127
- static Cascader: React.ComponentType<import("utility-types").Subtract<import("../cascader").CascaderProps | (import("../cascader").CascaderProps & {
128
- children?: React.ReactNode;
129
- }), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
122
+ static TreeSelect: React.ComponentType<import("utility-types").Subtract<import("../treeSelect").TreeSelectProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
123
+ static Cascader: React.ComponentType<import("utility-types").Subtract<import("../cascader").CascaderProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
130
124
  static Rating: React.ComponentType<import("utility-types").Subtract<import("../rating").RatingProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
131
- static AutoComplete: React.ComponentType<import("utility-types").Subtract<import("../autoComplete").AutoCompleteProps<import("../autoComplete").BaseDataItem>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
125
+ static AutoComplete: React.ComponentType<import("utility-types").Subtract<import("../autoComplete").AutoCompleteProps<import("../autoComplete").AutoCompleteItems>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
132
126
  static Upload: React.ComponentType<import("utility-types").Subtract<import("../upload").UploadProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
133
127
  static TagInput: React.ComponentType<import("utility-types").Subtract<import("../tagInput").TagInputProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
134
128
  static Slot: (props: import("./slot").SlotProps) => JSX.Element;
@@ -49,8 +49,7 @@ class Form extends BaseComponent {
49
49
  this.state = {
50
50
  formId: getUuidv4()
51
51
  };
52
- warning( // @ts-ignore special usage
53
- props.component && props.render, '[Semi Form] You should not use <Form component> and <Form render> in ths same time; <Form render> will be ignored');
52
+ warning(Boolean(props.component && props.render), '[Semi Form] You should not use <Form component> and <Form render> in ths same time; <Form render> will be ignored');
54
53
  warning(props.component && props.children && !isEmptyChildren(props.children), '[Semi Form] You should not use <Form component> and <Form>{children}</Form> in ths same time; <Form>{children}</Form> will be ignored');
55
54
  warning(props.render && props.children && !isEmptyChildren(props.children), '[Semi Form] You should not use <Form render> and <Form>{children}</Form> in ths same time; <Form>{children}</Form> will be ignored');
56
55
  this.submit = _bindInstanceProperty(_context = this.submit).call(_context, this);
@@ -68,29 +68,11 @@ declare const FormRadio: import("react").ComponentType<import("utility-types").S
68
68
  declare const FormDatePicker: import("react").ComponentType<import("utility-types").Subtract<import("../datePicker/datePicker").DatePickerProps & import("react").RefAttributes<import("../datePicker/datePicker").default>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
69
69
  declare const FormSwitch: import("react").ComponentType<import("utility-types").Subtract<import("../switch/index").SwitchProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
70
70
  declare const FormSlider: import("react").ComponentType<import("utility-types").Subtract<import("../slider/index").SliderProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
71
- /**
72
- * Reasons for using ts-igonre:
73
- *
74
- * 1. TimePicker: The propTypes of the locale is defined as object (it is not necessary and too troublesome to write a complete shapeOf),
75
- * but the interface defines a complete type, the two cannot match, and ts will report an error, so skip it here.
76
- *
77
- * 2. Cascader: treeData { label, value } define in PropTypes.shapeOf alreaady declare isRequired, ts still throw error
78
- * 【Property is optional in type “InferProps<{ value: Validator<string | number>; label: Validator<any>; }>” but required in type CascaderData】
79
- * skip it here.
80
- * 3. TreeSelect: value same as cascader, skip it here
81
- *
82
- */
83
- declare const FormTimePicker: import("react").ComponentType<import("utility-types").Subtract<import("../timePicker/TimePicker").TimePickerProps | (import("../timePicker/TimePicker").TimePickerProps & {
84
- children?: import("react").ReactNode;
85
- }), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
86
- declare const FormTreeSelect: import("react").ComponentType<import("utility-types").Subtract<import("../treeSelect/index").TreeSelectProps | (import("../treeSelect/index").TreeSelectProps & {
87
- children?: import("react").ReactNode;
88
- }), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
89
- declare const FormCascader: import("react").ComponentType<import("utility-types").Subtract<import("../cascader/index").CascaderProps | (import("../cascader/index").CascaderProps & {
90
- children?: import("react").ReactNode;
91
- }), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
71
+ declare const FormTimePicker: import("react").ComponentType<import("utility-types").Subtract<import("../timePicker/TimePicker").TimePickerProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
72
+ declare const FormTreeSelect: import("react").ComponentType<import("utility-types").Subtract<import("../treeSelect/index").TreeSelectProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
73
+ declare const FormCascader: import("react").ComponentType<import("utility-types").Subtract<import("../cascader/index").CascaderProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
92
74
  declare const FormRating: import("react").ComponentType<import("utility-types").Subtract<import("../rating/index").RatingProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
93
- declare const FormAutoComplete: import("react").ComponentType<import("utility-types").Subtract<import("../autoComplete/index").AutoCompleteProps<import("../autoComplete/index").BaseDataItem>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
75
+ declare const FormAutoComplete: import("react").ComponentType<import("utility-types").Subtract<import("../autoComplete/index").AutoCompleteProps<import("../autoComplete/index").AutoCompleteItems>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
94
76
  declare const FormUpload: import("react").ComponentType<import("utility-types").Subtract<import("../upload/index").UploadProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
95
77
  declare const FormTagInput: import("react").ComponentType<import("utility-types").Subtract<import("../tagInput/index").TagInputProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
96
78
  export { FormInput, FormInputNumber, FormTextArea, FormSelect, FormCheckboxGroup, FormCheckbox, FormRadioGroup, FormRadio, FormDatePicker, FormSwitch, FormSlider, FormTimePicker, FormTreeSelect, FormCascader, FormRating, FormAutoComplete, FormUpload, FormTagInput };
@@ -51,24 +51,8 @@ const FormSwitch = withField(Switch, {
51
51
  valueKey: 'checked'
52
52
  });
53
53
  const FormSlider = withField(Slider);
54
- /**
55
- * Reasons for using ts-igonre:
56
- *
57
- * 1. TimePicker: The propTypes of the locale is defined as object (it is not necessary and too troublesome to write a complete shapeOf),
58
- * but the interface defines a complete type, the two cannot match, and ts will report an error, so skip it here.
59
- *
60
- * 2. Cascader: treeData { label, value } define in PropTypes.shapeOf alreaady declare isRequired, ts still throw error
61
- * 【Property is optional in type “InferProps<{ value: Validator<string | number>; label: Validator<any>; }>” but required in type CascaderData】
62
- * skip it here.
63
- * 3. TreeSelect: value same as cascader, skip it here
64
- *
65
- */
66
- // @ts-ignore-next-line
67
-
68
- const FormTimePicker = withField(TimePicker); // @ts-ignore-next-line
69
-
70
- const FormTreeSelect = withField(TreeSelect); // @ts-ignore-next-line
71
-
54
+ const FormTimePicker = withField(TimePicker);
55
+ const FormTreeSelect = withField(TreeSelect);
72
56
  const FormCascader = withField(Cascader);
73
57
  const FormRating = withField(Rating);
74
58
  const FormAutoComplete = withField(AutoComplete, {
@@ -8,5 +8,5 @@ import { Subtract } from 'utility-types';
8
8
  * 2. Insert <Label>
9
9
  * 3. Insert <ErrorMessage>
10
10
  */
11
- declare function withField<C extends React.ComponentType<React.ComponentProps<C>>, T extends React.ComponentType<Subtract<React.ComponentProps<C>, CommonexcludeType> & CommonFieldProps>>(Component: C, opts?: WithFieldOption): T;
11
+ declare function withField<C extends React.ElementType, T extends Subtract<React.ComponentProps<C>, CommonexcludeType> & CommonFieldProps, R extends React.ComponentType<T>>(Component: C, opts?: WithFieldOption): R;
12
12
  export default withField;
@@ -5,8 +5,6 @@ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance
5
5
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
6
6
  import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
7
7
 
8
- /* argus-disable unPkgSensitiveInfo */
9
-
10
8
  /* eslint-disable max-lines-per-function, react-hooks/rules-of-hooks, prefer-const, max-len */
11
9
  import React, { useState, useLayoutEffect, useMemo, useRef, forwardRef } from 'react';
12
10
  import classNames from 'classnames';
@@ -507,7 +505,6 @@ function withField(Component, opts) {
507
505
  return useMemo(() => FieldComponent, [...shouldUpdate]);
508
506
  } else {
509
507
  // Some Custom Component with inner state shouldn't be memo, otherwise the component will not updated when the internal state is updated
510
- // Fixed issue 328
511
508
  return FieldComponent;
512
509
  }
513
510
  };
@@ -32,7 +32,6 @@ declare class IconButton extends PureComponent<IconButtonProps> {
32
32
  loading: PropTypes.Requireable<boolean>;
33
33
  prefixCls: PropTypes.Requireable<string>;
34
34
  icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
35
- iconType: PropTypes.Requireable<PropTypes.ReactElementLike>;
36
35
  iconSize: PropTypes.Requireable<string>;
37
36
  noHorizontalPadding: PropTypes.Requireable<string | boolean | any[]>;
38
37
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -108,7 +108,6 @@ IconButton.propTypes = {
108
108
  loading: PropTypes.bool,
109
109
  prefixCls: PropTypes.string,
110
110
  icon: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.node]),
111
- iconType: PropTypes.element,
112
111
  iconSize: PropTypes.oneOf(iconSizes),
113
112
  noHorizontalPadding: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.array]),
114
113
  children: PropTypes.node,
@@ -2,12 +2,12 @@ import React, { Component } from 'react';
2
2
  import { Locale as dateFns } from 'date-fns';
3
3
  import PropTypes from 'prop-types';
4
4
  import { Locale } from './interface';
5
- declare type ChildrenRender = (componentLocal: Locale[keyof Locale], localeCode: string, dateFnsLocale: dateFns) => React.ReactNode;
6
- export interface LocaleConsumerProps {
5
+ declare type ChildrenRender<T> = (componentLocal: T, localeCode: string, dateFnsLocale: dateFns) => React.ReactNode;
6
+ export interface LocaleConsumerProps<T> {
7
7
  componentName: string;
8
- children?: ChildrenRender;
8
+ children?: ChildrenRender<T>;
9
9
  }
10
- export default class LocaleConsumer extends Component<LocaleConsumerProps> {
10
+ export default class LocaleConsumer<T> extends Component<LocaleConsumerProps<T>> {
11
11
  static propTypes: {
12
12
  componentName: PropTypes.Validator<string>;
13
13
  children: PropTypes.Requireable<any>;
@@ -15,7 +15,7 @@ export default class LocaleConsumer extends Component<LocaleConsumerProps> {
15
15
  static defaultProps: {
16
16
  componentName: string;
17
17
  };
18
- renderChildren(localeData: Locale, children: ChildrenRender): React.ReactNode;
18
+ renderChildren(localeData: Locale, children: ChildrenRender<T>): React.ReactNode;
19
19
  render(): JSX.Element;
20
20
  }
21
21
  export {};
@@ -6,8 +6,9 @@ interface HookModalProps {
6
6
  config: ConfirmProps;
7
7
  motion?: Motion;
8
8
  }
9
- declare const _default: React.ForwardRefExoticComponent<HookModalProps & React.RefAttributes<{
9
+ export interface HookModalRef {
10
10
  destroy: () => void;
11
11
  update: (newConfig: ConfirmProps) => void;
12
- }>>;
12
+ }
13
+ declare const _default: React.ForwardRefExoticComponent<HookModalProps & React.RefAttributes<HookModalRef>>;
13
14
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
2
2
  import React from 'react';
3
3
  import HookModal from './HookModal';
4
- import { withConfirm, withInfo, withSuccess, withError, withWarning } from '../confirm';
4
+ import { withConfirm, withError, withInfo, withSuccess, withWarning } from '../confirm';
5
5
  let uuid = 0;
6
6
 
7
7
  function usePatchElement() {
@@ -43,7 +43,7 @@ declare class NotificationList extends BaseComponent<NotificationListProps, Noti
43
43
  static destroyAll(): void;
44
44
  static config(opts: ConfigProps): void;
45
45
  add: (noticeOpts: NoticeProps) => any;
46
- remove: (id: string) => void;
46
+ remove: (id: string | number) => void;
47
47
  destroyAll: () => any;
48
48
  renderNoticeInPosition: (notices: NoticeInstance[], position: NoticePosition, removedItems?: NoticeInstance[]) => JSX.Element;
49
49
  setPosInStyle(noticeInstance: NoticeInstance): {};
@@ -39,7 +39,7 @@ class NotificationList extends BaseComponent {
39
39
  this.add = noticeOpts => this.foundation.addNotice(noticeOpts);
40
40
 
41
41
  this.remove = id => {
42
- this.foundation.removeNotice(id);
42
+ this.foundation.removeNotice(String(id));
43
43
  };
44
44
 
45
45
  this.destroyAll = () => this.foundation.destroyAll();
@@ -29,6 +29,7 @@ export interface PopconfirmProps extends PopoverProps {
29
29
  onCancel?: (e: React.MouseEvent) => void;
30
30
  onConfirm?: (e: React.MouseEvent) => void;
31
31
  onVisibleChange?: (visible: boolean) => void;
32
+ onClickOutSide?: (e: React.MouseEvent) => void;
32
33
  }
33
34
  export interface PopconfirmState {
34
35
  visible: boolean;
@@ -50,13 +51,14 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
50
51
  cancelType: PropTypes.Requireable<string>;
51
52
  onCancel: PropTypes.Requireable<(...args: any[]) => any>;
52
53
  onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
53
- zIndex: PropTypes.Requireable<number>;
54
+ onClickOutSide: PropTypes.Requireable<(...args: any[]) => any>;
54
55
  onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
55
56
  visible: PropTypes.Requireable<boolean>;
56
57
  defaultVisible: PropTypes.Requireable<boolean>;
57
58
  okButtonProps: PropTypes.Requireable<object>;
58
59
  cancelButtonProps: PropTypes.Requireable<object>;
59
60
  stopPropagation: PropTypes.Requireable<string | boolean>;
61
+ zIndex: PropTypes.Requireable<number>;
60
62
  trigger: PropTypes.Requireable<string>;
61
63
  position: PropTypes.Requireable<string>;
62
64
  };
@@ -72,6 +74,7 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
72
74
  zIndex: number;
73
75
  onCancel: (...args: any[]) => void;
74
76
  onConfirm: (...args: any[]) => void;
77
+ onClickOutSide: (...args: any[]) => void;
75
78
  };
76
79
  constructor(props: PopconfirmProps);
77
80
  static getDerivedStateFromProps(props: PopconfirmProps, state: PopconfirmState): Partial<PopconfirmState>;
@@ -79,6 +82,7 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
79
82
  handleCancel: (e: React.MouseEvent) => void;
80
83
  handleConfirm: (e: React.MouseEvent) => void;
81
84
  handleVisibleChange: (visible: boolean) => void;
85
+ handleClickOutSide: (e: React.MouseEvent) => any;
82
86
  stopImmediatePropagation: (e: React.SyntheticEvent) => void;
83
87
  renderControls(): JSX.Element;
84
88
  renderConfirmPopCard(): JSX.Element;
@@ -38,6 +38,8 @@ export default class Popconfirm extends BaseComponent {
38
38
 
39
39
  this.handleVisibleChange = visible => this.foundation.handleVisibleChange(visible);
40
40
 
41
+ this.handleClickOutSide = e => this.foundation.handleClickOutSide(e);
42
+
41
43
  this.stopImmediatePropagation = e => e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation();
42
44
 
43
45
  this.state = {
@@ -66,7 +68,8 @@ export default class Popconfirm extends BaseComponent {
66
68
  }),
67
69
  notifyConfirm: e => this.props.onConfirm(e),
68
70
  notifyCancel: e => this.props.onCancel(e),
69
- notifyVisibleChange: visible => this.props.onVisibleChange(visible)
71
+ notifyVisibleChange: visible => this.props.onVisibleChange(visible),
72
+ notifyClickOutSide: e => this.props.onClickOutSide(e)
70
73
  });
71
74
  }
72
75
 
@@ -165,7 +168,8 @@ export default class Popconfirm extends BaseComponent {
165
168
  const popContent = this.renderConfirmPopCard();
166
169
  const popProps = {
167
170
  onVisibleChange: this.handleVisibleChange,
168
- className: cssClasses.POPOVER
171
+ className: cssClasses.POPOVER,
172
+ onClickOutSide: this.handleClickOutSide
169
173
  };
170
174
 
171
175
  if (this.isControlled('visible')) {
@@ -196,13 +200,14 @@ Popconfirm.propTypes = {
196
200
  cancelType: PropTypes.string,
197
201
  onCancel: PropTypes.func,
198
202
  onConfirm: PropTypes.func,
199
- zIndex: PropTypes.number,
203
+ onClickOutSide: PropTypes.func,
200
204
  onVisibleChange: PropTypes.func,
201
205
  visible: PropTypes.bool,
202
206
  defaultVisible: PropTypes.bool,
203
207
  okButtonProps: PropTypes.object,
204
208
  cancelButtonProps: PropTypes.object,
205
209
  stopPropagation: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
210
+ zIndex: PropTypes.number,
206
211
  // private
207
212
  trigger: PropTypes.string,
208
213
  position: PropTypes.string
@@ -221,5 +226,6 @@ Popconfirm.defaultProps = {
221
226
  prefixCls: cssClasses.PREFIX,
222
227
  zIndex: numbers.DEFAULT_Z_INDEX,
223
228
  onCancel: noop,
224
- onConfirm: noop
229
+ onConfirm: noop,
230
+ onClickOutSide: noop
225
231
  };
@@ -22,6 +22,7 @@ export interface PopoverProps extends BaseProps {
22
22
  trigger?: Trigger;
23
23
  contentClassName?: string | any[];
24
24
  onVisibleChange?: (visible: boolean) => void;
25
+ onClickOutSide?: (e: React.MouseEvent) => void;
25
26
  showArrow?: boolean;
26
27
  spacing?: number;
27
28
  stopPropagation?: boolean | string;
@@ -50,6 +51,7 @@ declare class Popover extends React.PureComponent<PopoverProps, PopoverState> {
50
51
  trigger: PropTypes.Validator<"hover" | "focus" | "click" | "custom">;
51
52
  contentClassName: PropTypes.Requireable<string | any[]>;
52
53
  onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
54
+ onClickOutSide: PropTypes.Requireable<(...args: any[]) => any>;
53
55
  style: PropTypes.Requireable<object>;
54
56
  spacing: PropTypes.Requireable<number>;
55
57
  zIndex: PropTypes.Requireable<number>;
@@ -79,8 +81,8 @@ declare class Popover extends React.PureComponent<PopoverProps, PopoverState> {
79
81
  okText: string;
80
82
  position: string;
81
83
  prefixCls: string;
84
+ onClickOutSide: (...args: any[]) => void;
82
85
  };
83
- constructor(props: PopoverProps);
84
86
  renderPopCard(): JSX.Element;
85
87
  render(): JSX.Element;
86
88
  }
@@ -21,17 +21,11 @@ import { cssClasses, strings, numbers } from '@douyinfe/semi-foundation/lib/es/p
21
21
  import Tooltip from '../tooltip/index';
22
22
  import Arrow from './Arrow';
23
23
  import '@douyinfe/semi-foundation/lib/es/popover/popover.css';
24
+ import { noop } from 'lodash-es';
24
25
  const positionSet = strings.POSITION_SET;
25
26
  const triggerSet = strings.TRIGGER_SET;
26
27
 
27
28
  class Popover extends React.PureComponent {
28
- constructor(props) {
29
- super(props);
30
- this.state = {
31
- popConfirmVisible: false
32
- };
33
- }
34
-
35
29
  renderPopCard() {
36
30
  const {
37
31
  content,
@@ -107,6 +101,7 @@ Popover.propTypes = {
107
101
  trigger: PropTypes.oneOf(triggerSet).isRequired,
108
102
  contentClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
109
103
  onVisibleChange: PropTypes.func,
104
+ onClickOutSide: PropTypes.func,
110
105
  style: PropTypes.object,
111
106
  spacing: PropTypes.number,
112
107
  zIndex: PropTypes.number,
@@ -130,6 +125,7 @@ Popover.defaultProps = {
130
125
  cancelText: 'No',
131
126
  okText: 'Yes',
132
127
  position: 'bottom',
133
- prefixCls: cssClasses.PREFIX
128
+ prefixCls: cssClasses.PREFIX,
129
+ onClickOutSide: noop
134
130
  };
135
131
  export default Popover;
@@ -7,7 +7,7 @@ export declare type RadioMode = ArrayElement<typeof strings.MODE>;
7
7
  export interface RadioContextValue {
8
8
  mode?: RadioMode;
9
9
  radioGroup?: {
10
- value?: any;
10
+ value?: string | number;
11
11
  isButtonRadio?: any;
12
12
  disabled?: boolean;
13
13
  prefixCls?: string;