@douyinfe/semi-ui 2.12.0-alpha.0 → 2.12.0-beta.2

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 (192) hide show
  1. package/avatar/index.tsx +2 -2
  2. package/backtop/index.tsx +7 -11
  3. package/badge/index.tsx +1 -1
  4. package/banner/index.tsx +5 -5
  5. package/breadcrumb/index.tsx +3 -5
  6. package/button/Button.tsx +9 -11
  7. package/card/index.tsx +41 -43
  8. package/carousel/CarouselArrow.tsx +0 -2
  9. package/carousel/index.tsx +0 -1
  10. package/cascader/index.tsx +123 -101
  11. package/cascader/item.tsx +1 -1
  12. package/checkbox/checkbox.tsx +2 -13
  13. package/collapsible/index.tsx +1 -8
  14. package/datePicker/dateInput.tsx +0 -1
  15. package/datePicker/datePicker.tsx +5 -13
  16. package/dist/umd/semi-ui.js +626 -500
  17. package/dist/umd/semi-ui.js.map +1 -1
  18. package/dist/umd/semi-ui.min.js +1 -1
  19. package/dist/umd/semi-ui.min.js.map +1 -1
  20. package/divider/index.tsx +4 -8
  21. package/dropdown/index.tsx +1 -1
  22. package/empty/index.tsx +5 -13
  23. package/form/hoc/withField.tsx +1 -1
  24. package/form/label.tsx +1 -1
  25. package/grid/col.tsx +1 -1
  26. package/grid/row.tsx +1 -1
  27. package/iconButton/index.tsx +1 -2
  28. package/input/index.tsx +11 -38
  29. package/lib/cjs/avatar/index.js +2 -4
  30. package/lib/cjs/backtop/index.js +1 -2
  31. package/lib/cjs/badge/index.js +1 -2
  32. package/lib/cjs/banner/index.js +4 -9
  33. package/lib/cjs/breadcrumb/index.js +3 -4
  34. package/lib/cjs/button/Button.d.ts +1 -1
  35. package/lib/cjs/button/Button.js +3 -13
  36. package/lib/cjs/card/index.js +5 -10
  37. package/lib/cjs/carousel/CarouselArrow.js +2 -6
  38. package/lib/cjs/carousel/index.js +1 -2
  39. package/lib/cjs/cascader/index.js +6 -9
  40. package/lib/cjs/cascader/item.js +1 -2
  41. package/lib/cjs/checkbox/checkbox.js +4 -8
  42. package/lib/cjs/collapsible/index.js +1 -2
  43. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  44. package/lib/cjs/datePicker/dateInput.js +1 -2
  45. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  46. package/lib/cjs/datePicker/datePicker.js +2 -4
  47. package/lib/cjs/datePicker/monthsGrid.d.ts +2 -2
  48. package/lib/cjs/divider/index.js +1 -2
  49. package/lib/cjs/dropdown/index.js +1 -2
  50. package/lib/cjs/empty/index.js +4 -8
  51. package/lib/cjs/form/baseForm.d.ts +1 -1
  52. package/lib/cjs/form/field.d.ts +1 -1
  53. package/lib/cjs/form/hoc/withField.js +1 -2
  54. package/lib/cjs/form/label.js +1 -2
  55. package/lib/cjs/grid/col.js +1 -2
  56. package/lib/cjs/grid/row.js +1 -2
  57. package/lib/cjs/iconButton/index.js +1 -3
  58. package/lib/cjs/input/index.js +5 -9
  59. package/lib/cjs/list/index.js +3 -6
  60. package/lib/cjs/modal/ConfirmModal.js +1 -2
  61. package/lib/cjs/modal/Modal.js +5 -8
  62. package/lib/cjs/modal/ModalContent.d.ts +2 -0
  63. package/lib/cjs/modal/ModalContent.js +23 -22
  64. package/lib/cjs/notification/notice.js +3 -6
  65. package/lib/cjs/pagination/index.js +2 -4
  66. package/lib/cjs/popconfirm/index.js +3 -6
  67. package/lib/cjs/progress/index.js +1 -1
  68. package/lib/cjs/radio/radio.d.ts +1 -1
  69. package/lib/cjs/radio/radio.js +2 -4
  70. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  71. package/lib/cjs/rating/item.js +1 -2
  72. package/lib/cjs/scrollList/index.js +3 -6
  73. package/lib/cjs/select/index.js +4 -8
  74. package/lib/cjs/select/option.js +1 -2
  75. package/lib/cjs/sideSheet/SideSheetContent.js +3 -6
  76. package/lib/cjs/skeleton/index.js +1 -3
  77. package/lib/cjs/space/index.js +1 -2
  78. package/lib/cjs/spin/index.js +3 -7
  79. package/lib/cjs/switch/index.js +4 -6
  80. package/lib/cjs/table/Table.d.ts +1 -1
  81. package/lib/cjs/table/Table.js +3 -6
  82. package/lib/cjs/tabs/TabBar.js +1 -2
  83. package/lib/cjs/tabs/TabPane.js +2 -5
  84. package/lib/cjs/tagInput/index.js +2 -4
  85. package/lib/cjs/timePicker/Combobox.js +1 -3
  86. package/lib/cjs/toast/toast.js +3 -6
  87. package/lib/cjs/tooltip/TooltipStyledTransition.js +5 -2
  88. package/lib/cjs/transfer/index.js +1 -2
  89. package/lib/cjs/tree/treeNode.js +1 -2
  90. package/lib/cjs/treeSelect/index.js +3 -6
  91. package/lib/cjs/typography/base.js +1 -2
  92. package/lib/cjs/typography/title.d.ts +1 -1
  93. package/lib/cjs/upload/index.d.ts +1 -1
  94. package/lib/cjs/upload/index.js +6 -13
  95. package/lib/es/avatar/index.js +2 -4
  96. package/lib/es/backtop/index.js +1 -2
  97. package/lib/es/badge/index.js +1 -2
  98. package/lib/es/banner/index.js +4 -9
  99. package/lib/es/breadcrumb/index.js +3 -4
  100. package/lib/es/button/Button.d.ts +1 -1
  101. package/lib/es/button/Button.js +3 -11
  102. package/lib/es/card/index.js +5 -10
  103. package/lib/es/carousel/CarouselArrow.js +2 -6
  104. package/lib/es/carousel/index.js +1 -2
  105. package/lib/es/cascader/index.js +6 -9
  106. package/lib/es/cascader/item.js +1 -2
  107. package/lib/es/checkbox/checkbox.js +4 -8
  108. package/lib/es/collapsible/index.js +1 -2
  109. package/lib/es/datePicker/dateInput.d.ts +1 -1
  110. package/lib/es/datePicker/dateInput.js +1 -2
  111. package/lib/es/datePicker/datePicker.d.ts +1 -1
  112. package/lib/es/datePicker/datePicker.js +2 -4
  113. package/lib/es/datePicker/monthsGrid.d.ts +2 -2
  114. package/lib/es/divider/index.js +1 -2
  115. package/lib/es/dropdown/index.js +1 -2
  116. package/lib/es/empty/index.js +4 -8
  117. package/lib/es/form/baseForm.d.ts +1 -1
  118. package/lib/es/form/field.d.ts +1 -1
  119. package/lib/es/form/hoc/withField.js +1 -2
  120. package/lib/es/form/label.js +1 -2
  121. package/lib/es/grid/col.js +1 -2
  122. package/lib/es/grid/row.js +1 -2
  123. package/lib/es/iconButton/index.js +1 -3
  124. package/lib/es/input/index.js +5 -9
  125. package/lib/es/list/index.js +3 -6
  126. package/lib/es/modal/ConfirmModal.js +1 -2
  127. package/lib/es/modal/Modal.js +5 -8
  128. package/lib/es/modal/ModalContent.d.ts +2 -0
  129. package/lib/es/modal/ModalContent.js +22 -22
  130. package/lib/es/notification/notice.js +3 -6
  131. package/lib/es/pagination/index.js +2 -4
  132. package/lib/es/popconfirm/index.js +3 -6
  133. package/lib/es/progress/index.js +1 -1
  134. package/lib/es/radio/radio.d.ts +1 -1
  135. package/lib/es/radio/radio.js +2 -4
  136. package/lib/es/radio/radioGroup.d.ts +1 -1
  137. package/lib/es/rating/item.js +1 -2
  138. package/lib/es/scrollList/index.js +3 -6
  139. package/lib/es/select/index.js +4 -8
  140. package/lib/es/select/option.js +1 -2
  141. package/lib/es/sideSheet/SideSheetContent.js +3 -6
  142. package/lib/es/skeleton/index.js +1 -3
  143. package/lib/es/space/index.js +1 -2
  144. package/lib/es/spin/index.js +3 -7
  145. package/lib/es/switch/index.js +4 -6
  146. package/lib/es/table/Table.d.ts +1 -1
  147. package/lib/es/table/Table.js +3 -6
  148. package/lib/es/tabs/TabBar.js +1 -2
  149. package/lib/es/tabs/TabPane.js +2 -5
  150. package/lib/es/tagInput/index.js +2 -4
  151. package/lib/es/timePicker/Combobox.js +1 -3
  152. package/lib/es/toast/toast.js +3 -6
  153. package/lib/es/tooltip/TooltipStyledTransition.js +5 -2
  154. package/lib/es/transfer/index.js +1 -2
  155. package/lib/es/tree/treeNode.js +1 -2
  156. package/lib/es/treeSelect/index.js +3 -6
  157. package/lib/es/typography/base.js +1 -2
  158. package/lib/es/typography/title.d.ts +1 -1
  159. package/lib/es/upload/index.d.ts +1 -1
  160. package/lib/es/upload/index.js +6 -13
  161. package/list/index.tsx +4 -16
  162. package/modal/ConfirmModal.tsx +1 -1
  163. package/modal/Modal.tsx +2 -3
  164. package/modal/ModalContent.tsx +34 -40
  165. package/notification/notice.tsx +4 -16
  166. package/package.json +9 -9
  167. package/pagination/index.tsx +2 -16
  168. package/popconfirm/index.tsx +3 -11
  169. package/progress/index.tsx +1 -1
  170. package/radio/radio.tsx +2 -10
  171. package/rating/item.tsx +1 -1
  172. package/scrollList/index.tsx +3 -19
  173. package/select/index.tsx +4 -12
  174. package/select/option.tsx +1 -5
  175. package/sideSheet/SideSheetContent.tsx +3 -3
  176. package/skeleton/index.tsx +1 -1
  177. package/space/index.tsx +1 -1
  178. package/spin/index.tsx +9 -15
  179. package/switch/index.tsx +14 -9
  180. package/table/Table.tsx +3 -5
  181. package/tabs/TabBar.tsx +1 -1
  182. package/tabs/TabPane.tsx +4 -9
  183. package/tagInput/index.tsx +2 -2
  184. package/timePicker/Combobox.tsx +1 -6
  185. package/toast/toast.tsx +3 -3
  186. package/tooltip/TooltipStyledTransition.tsx +2 -1
  187. package/tooltip/_story/tooltip.stories.js +90 -0
  188. package/transfer/index.tsx +0 -1
  189. package/tree/treeNode.tsx +1 -1
  190. package/treeSelect/index.tsx +3 -15
  191. package/typography/base.tsx +1 -1
  192. package/upload/index.tsx +38 -107
@@ -296,8 +296,7 @@ export default class Item extends PureComponent {
296
296
  className: _concatInstanceProperty(_context6 = "".concat(prefixcls, " ")).call(_context6, prefixcls, "-empty"),
297
297
  key: 'empty-list'
298
298
  }, /*#__PURE__*/React.createElement("span", {
299
- className: "".concat(prefixcls, "-label"),
300
- "x-semi-prop": "emptyContent"
299
+ className: "".concat(prefixcls, "-label")
301
300
  }, emptyContent || locale.emptyText));
302
301
  });
303
302
  }
@@ -157,17 +157,13 @@ class Checkbox extends BaseComponent {
157
157
  const extraCls = classnames("".concat(prefix, "-extra"), {
158
158
  ["".concat(prefix, "-cardType_extra_noChildren")]: props.isCardType && !children
159
159
  });
160
- const name = inGroup && this.context.checkboxGroup.name;
161
- const xSemiPropChildren = this.props['x-semi-children-alias'] || 'children';
162
160
 
163
161
  const renderContent = () => /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/React.createElement("span", {
164
- id: this.addonId,
165
- className: "".concat(prefix, "-addon"),
166
- "x-semi-prop": xSemiPropChildren
162
+ id: addonId,
163
+ className: "".concat(prefix, "-addon")
167
164
  }, children) : null, extra ? /*#__PURE__*/React.createElement("div", {
168
- id: this.extraId,
169
- className: extraCls,
170
- "x-semi-prop": "extra"
165
+ id: extraId,
166
+ className: extraCls
171
167
  }, extra) : null);
172
168
 
173
169
  return (
@@ -89,8 +89,7 @@ const Collapsible = props => {
89
89
  style: {
90
90
  overflow: 'hidden'
91
91
  },
92
- id: id,
93
- "x-semi-prop": "children"
92
+ id: id
94
93
  }, children));
95
94
  };
96
95
 
@@ -26,7 +26,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
26
26
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  value: PropTypes.Requireable<any[]>;
28
28
  disabled: PropTypes.Requireable<boolean>;
29
- type: PropTypes.Requireable<"date" | "dateTime" | "month" | "dateRange" | "year" | "dateTimeRange">;
29
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
30
30
  showClear: PropTypes.Requireable<boolean>;
31
31
  format: PropTypes.Requireable<string>;
32
32
  inputStyle: PropTypes.Requireable<object>;
@@ -153,8 +153,7 @@ export default class DateInput extends BaseComponent {
153
153
  const labelNode = prefix || insetLabel;
154
154
  return labelNode ? /*#__PURE__*/React.createElement("div", {
155
155
  className: "".concat(prefixCls, "-range-input-prefix"),
156
- onClick: e => !disabled && !rangeInputFocus && this.handleRangeStartFocus(e),
157
- "x-semi-prop": "prefix,insetLabel"
156
+ onClick: e => !disabled && !rangeInputFocus && this.handleRangeStartFocus(e)
158
157
  }, labelNode) : null;
159
158
  }
160
159
 
@@ -41,7 +41,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
41
41
  'aria-invalid': PropTypes.Requireable<boolean>;
42
42
  'aria-labelledby': PropTypes.Requireable<string>;
43
43
  'aria-required': PropTypes.Requireable<boolean>;
44
- type: PropTypes.Requireable<"date" | "dateTime" | "month" | "dateRange" | "year" | "dateTimeRange">;
44
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
45
45
  size: PropTypes.Requireable<"default" | "small" | "large">;
46
46
  density: PropTypes.Requireable<"default" | "compact">;
47
47
  defaultValue: PropTypes.Requireable<string | number | object>;
@@ -182,13 +182,11 @@ export default class DatePicker extends BaseComponent {
182
182
  className: wrapCls,
183
183
  style: dropdownStyle
184
184
  }, topSlot && /*#__PURE__*/React.createElement("div", {
185
- className: "".concat(cssClasses.PREFIX, "-topSlot"),
186
- "x-semi-prop": "topSlot"
185
+ className: "".concat(cssClasses.PREFIX, "-topSlot")
187
186
  }, topSlot), insetInput && /*#__PURE__*/React.createElement(DateInput, _Object$assign({}, insetInputProps, {
188
187
  insetInput: true
189
188
  })), this.adapter.typeIsYearOrMonth() ? this.renderYearMonthPanel(locale, localeCode) : this.renderMonthGrid(locale, localeCode, dateFnsLocale), this.renderQuickControls(), bottomSlot && /*#__PURE__*/React.createElement("div", {
190
- className: "".concat(cssClasses.PREFIX, "-bottomSlot"),
191
- "x-semi-prop": "bottomSlot"
189
+ className: "".concat(cssClasses.PREFIX, "-bottomSlot")
192
190
  }, bottomSlot), this.renderFooter(locale, localeCode));
193
191
  };
194
192
 
@@ -17,7 +17,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
17
17
  export declare type MonthsGridState = MonthsGridFoundationState;
18
18
  export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
19
19
  static propTypes: {
20
- type: PropTypes.Requireable<"date" | "dateTime" | "month" | "dateRange" | "year" | "dateTimeRange">;
20
+ type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
21
21
  defaultValue: PropTypes.Requireable<string | number | object>;
22
22
  defaultPickerValue: PropTypes.Requireable<string | number | object>;
23
23
  multiple: PropTypes.Requireable<boolean>;
@@ -82,7 +82,7 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
82
82
  renderMonth(month: Date, panelType: PanelType): JSX.Element;
83
83
  handleWeeksRowNumChange: (weeksRowNum: number, panelType: PanelType) => void;
84
84
  reselect: () => void;
85
- getYAMOpenType: () => "none" | "both" | "left" | "right";
85
+ getYAMOpenType: () => "left" | "right" | "none" | "both";
86
86
  renderTimePicker(panelType: PanelType, panelDetail: MonthInfo): JSX.Element;
87
87
  renderYearAndMonth(panelType: PanelType, panelDetail: MonthInfo): JSX.Element;
88
88
  renderSwitch(panelType: PanelType): JSX.Element;
@@ -61,8 +61,7 @@ const Divider = props => {
61
61
  className: dividerClassNames,
62
62
  style: _Object$assign(_Object$assign({}, overrideDefaultStyle), style)
63
63
  }), children && layout === 'horizontal' ? typeof children === 'string' ? /*#__PURE__*/React.createElement("span", {
64
- className: "".concat(prefixCls, "-divider_inner-text"),
65
- "x-semi-prop": "children"
64
+ className: "".concat(prefixCls, "-divider_inner-text")
66
65
  }, children) : children : null);
67
66
  };
68
67
 
@@ -86,8 +86,7 @@ class Dropdown extends BaseComponent {
86
86
  className: className,
87
87
  style: style
88
88
  }, /*#__PURE__*/React.createElement("div", {
89
- className: "".concat(prefixCls, "-content"),
90
- "x-semi-prop": "render"
89
+ className: "".concat(prefixCls, "-content")
91
90
  }, content)));
92
91
  }
93
92
 
@@ -101,19 +101,15 @@ export default class Empty extends BaseComponent {
101
101
  style: style
102
102
  }, /*#__PURE__*/React.createElement("div", {
103
103
  className: "".concat(prefixCls, "-image"),
104
- style: imageStyle,
105
- "x-semi-prop": "image,darkModeImage"
104
+ style: imageStyle
106
105
  }, imageNode), /*#__PURE__*/React.createElement("div", {
107
106
  className: "".concat(prefixCls, "-content")
108
107
  }, title ? /*#__PURE__*/React.createElement(Typography.Title, _Object$assign({}, titleProps, {
109
- className: "".concat(prefixCls, "-title"),
110
- "x-semi-prop": "title"
108
+ className: "".concat(prefixCls, "-title")
111
109
  }), title) : null, description ? /*#__PURE__*/React.createElement("div", {
112
- className: "".concat(prefixCls, "-description"),
113
- "x-semi-prop": "description"
110
+ className: "".concat(prefixCls, "-description")
114
111
  }, description) : null, children ? /*#__PURE__*/React.createElement("div", {
115
- className: "".concat(prefixCls, "-footer"),
116
- "x-semi-prop": "children"
112
+ className: "".concat(prefixCls, "-footer")
117
113
  }, children) : null));
118
114
  }
119
115
 
@@ -125,7 +125,7 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
125
125
  onBlur?: (e: React.FocusEvent<Element, Element>) => void;
126
126
  onListScroll?: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;
127
127
  children?: React.ReactNode;
128
- } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "getPopupContainer" | "motion"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
128
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "motion"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
129
129
  static Checkbox: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox").CheckboxProps & import("./interface").RCIncludeType>;
130
130
  static CheckboxGroup: React.ComponentType<import("utility-types").Subtract<import("../checkbox").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
131
131
  static Radio: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../radio").RadioProps & import("./interface").RCIncludeType>;
@@ -73,7 +73,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
73
73
  onBlur?: (e: import("react").FocusEvent<Element, Element>) => void;
74
74
  onListScroll?: (e: import("react").UIEvent<HTMLDivElement, UIEvent>) => void;
75
75
  children?: import("react").ReactNode;
76
- } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "getPopupContainer" | "motion"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
76
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "motion"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
77
77
  declare const FormCheckboxGroup: import("react").ComponentType<import("utility-types").Subtract<import("../checkbox/checkboxGroup").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
78
78
  declare const FormCheckbox: import("react").ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox/checkbox").CheckboxProps & import("./interface").RCIncludeType>;
79
79
  declare const FormRadioGroup: import("react").ComponentType<import("utility-types").Subtract<import("../radio/radioGroup").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
@@ -426,8 +426,7 @@ function withField(Component, opts) {
426
426
  });
427
427
  const extraContent = extraText ? /*#__PURE__*/React.createElement("div", {
428
428
  className: extraCls,
429
- id: extraTextId,
430
- "x-semi-prop": "extraText"
429
+ id: extraTextId
431
430
  }, extraText) : null;
432
431
 
433
432
  let newProps = _Object$assign(_Object$assign({
@@ -29,8 +29,7 @@ export default class Label extends PureComponent {
29
29
  const labelStyle = style ? style : {};
30
30
  width ? labelStyle.width = width : null;
31
31
  const textContent = /*#__PURE__*/React.createElement("div", {
32
- className: "".concat(prefixCls, "-field-label-text"),
33
- "x-semi-prop": "label"
32
+ className: "".concat(prefixCls, "-field-label-text")
34
33
  }, typeof text !== 'undefined' ? text : children);
35
34
  const contentWithExtra = /*#__PURE__*/React.createElement(React.Fragment, null, textContent, /*#__PURE__*/React.createElement("div", {
36
35
  className: "".concat(prefixCls, "-field-label-extra")
@@ -97,8 +97,7 @@ class Col extends React.Component {
97
97
  } : {}), style);
98
98
  return /*#__PURE__*/React.createElement("div", _Object$assign({}, others, {
99
99
  style: style,
100
- className: classes,
101
- "x-semi-prop": "children"
100
+ className: classes
102
101
  }), children);
103
102
  }
104
103
 
@@ -157,8 +157,7 @@ class Row extends React.Component {
157
157
  }
158
158
  }, /*#__PURE__*/React.createElement("div", _Object$assign({}, otherProps, {
159
159
  className: classes,
160
- style: rowStyle,
161
- "x-semi-prop": "children"
160
+ style: rowStyle
162
161
  }), children));
163
162
  }
164
163
 
@@ -71,10 +71,8 @@ class IconButton extends PureComponent {
71
71
  ["".concat(prefixCls, "-content-left")]: iconPosition === 'right',
72
72
  ["".concat(prefixCls, "-content-right")]: iconPosition === 'left'
73
73
  });
74
- const xSemiProp = this.props['x-semi-children-alias'] || 'children';
75
74
  const children = originChildren != null ? /*#__PURE__*/React.createElement("span", {
76
- className: btnTextCls,
77
- "x-semi-prop": xSemiProp
75
+ className: btnTextCls
78
76
  }, originChildren) : null;
79
77
 
80
78
  if (iconPosition === 'left') {
@@ -183,8 +183,7 @@ class Input extends BaseComponent {
183
183
  ["".concat(prefixCls, "-prepend-icon")]: isSemiIcon(addonBefore)
184
184
  });
185
185
  return /*#__PURE__*/React.createElement("div", {
186
- className: prefixWrapperCls,
187
- "x-semi-prop": "addonBefore"
186
+ className: prefixWrapperCls
188
187
  }, addonBefore);
189
188
  }
190
189
 
@@ -203,8 +202,7 @@ class Input extends BaseComponent {
203
202
  ["".concat(prefixCls, "-append-icon")]: isSemiIcon(addonAfter)
204
203
  });
205
204
  return /*#__PURE__*/React.createElement("div", {
206
- className: prefixWrapperCls,
207
- "x-semi-prop": "addonAfter"
205
+ className: prefixWrapperCls
208
206
  }, addonAfter);
209
207
  }
210
208
 
@@ -284,8 +282,7 @@ class Input extends BaseComponent {
284
282
  className: prefixWrapperCls,
285
283
  onMouseDown: this.handlePreventMouseDown,
286
284
  onClick: this.handleClickPrefixOrSuffix,
287
- id: insetLabelId,
288
- "x-semi-prop": "prefix,insetLabel"
285
+ id: insetLabelId
289
286
  }, labelNode);
290
287
  }
291
288
 
@@ -322,8 +319,7 @@ class Input extends BaseComponent {
322
319
  return /*#__PURE__*/React.createElement("div", {
323
320
  className: suffixWrapperCls,
324
321
  onMouseDown: this.handlePreventMouseDown,
325
- onClick: this.handleClickPrefixOrSuffix,
326
- "x-semi-prop": "suffix"
322
+ onClick: this.handleClickPrefixOrSuffix
327
323
  }, suffix);
328
324
  }
329
325
 
@@ -425,7 +421,7 @@ class Input extends BaseComponent {
425
421
  }
426
422
 
427
423
  if (validateStatus === 'error') {
428
- inputProps['aria-invalid'] = 'true';
424
+ inputProps['aria-invalid'] = "true";
429
425
  }
430
426
 
431
427
  return (
@@ -27,8 +27,7 @@ class List extends BaseComponent {
27
27
 
28
28
  if (emptyContent) {
29
29
  return /*#__PURE__*/React.createElement("div", {
30
- className: "".concat(cssClasses.PREFIX, "-empty"),
31
- "x-semi-prop": "emptyContent"
30
+ className: "".concat(cssClasses.PREFIX, "-empty")
32
31
  }, emptyContent);
33
32
  } else {
34
33
  return /*#__PURE__*/React.createElement(LocaleConsumer, {
@@ -116,8 +115,7 @@ class List extends BaseComponent {
116
115
  className: wrapperCls,
117
116
  style: style
118
117
  }, header ? /*#__PURE__*/React.createElement("div", {
119
- className: "".concat(cssClasses.PREFIX, "-header"),
120
- "x-semi-prop": "header"
118
+ className: "".concat(cssClasses.PREFIX, "-header")
121
119
  }, header) : null, /*#__PURE__*/React.createElement(ListContext.Provider, {
122
120
  value: {
123
121
  grid,
@@ -128,8 +126,7 @@ class List extends BaseComponent {
128
126
  spinning: loading,
129
127
  size: "large"
130
128
  }, this.wrapChildren(childrenList, children))), footer ? /*#__PURE__*/React.createElement("div", {
131
- className: "".concat(cssClasses.PREFIX, "-footer"),
132
- "x-semi-prop": "footer"
129
+ className: "".concat(cssClasses.PREFIX, "-footer")
133
130
  }, footer) : null, loadMore ? loadMore : null);
134
131
  }
135
132
 
@@ -101,8 +101,7 @@ const ConfirmModal = props => {
101
101
  icon: iconNode,
102
102
  visible: visible
103
103
  }, rest), /*#__PURE__*/React.createElement("div", {
104
- className: contentCls,
105
- "x-semi-prop": "content"
104
+ className: contentCls
106
105
  }, content));
107
106
  };
108
107
 
@@ -78,10 +78,9 @@ class Modal extends BaseComponent {
78
78
  "aria-label": "cancel",
79
79
  onClick: this.handleCancel,
80
80
  loading: cancelLoading,
81
- type: "tertiary"
82
- }, this.props.cancelButtonProps, {
83
- "x-semi-children-alias": "cancelText"
84
- }), cancelText || locale.cancel);
81
+ type: "tertiary",
82
+ autoFocus: true
83
+ }, this.props.cancelButtonProps), cancelText || locale.cancel);
85
84
  }
86
85
  };
87
86
 
@@ -93,9 +92,7 @@ class Modal extends BaseComponent {
93
92
  theme: "solid",
94
93
  loading: confirmLoading,
95
94
  onClick: this.handleOk
96
- }, this.props.okButtonProps, {
97
- "x-semi-children-alias": "okText"
98
- }), okText || locale.confirm)));
95
+ }, this.props.okButtonProps), okText || locale.confirm)));
99
96
  }; // getDialog = () => {
100
97
  // const {
101
98
  // footer,
@@ -365,7 +362,7 @@ Modal.defaultProps = {
365
362
  onOk: _noop,
366
363
  afterClose: _noop,
367
364
  maskFixed: false,
368
- closeOnEsc: false,
365
+ closeOnEsc: true,
369
366
  size: 'small',
370
367
  keepDOM: false,
371
368
  lazyRender: true,
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { ContextValue } from '../configProvider/context';
4
4
  import BaseComponent from '../_base/baseComponent';
5
5
  import ModalContentFoundation, { ModalContentAdapter, ModalContentProps, ModalContentState } from '@douyinfe/semi-foundation/lib/es/modal/modalContentFoundation';
6
+ import FocusTrapHandle from '@douyinfe/semi-foundation/lib/es/utils/FocusHandle';
6
7
  export interface ModalContentReactProps extends ModalContentProps {
7
8
  children?: React.ReactNode;
8
9
  }
@@ -26,6 +27,7 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
26
27
  modalDialogRef: React.MutableRefObject<HTMLDivElement>;
27
28
  foundation: ModalContentFoundation;
28
29
  context: ContextValue;
30
+ focusTrapHandle: FocusTrapHandle;
29
31
  constructor(props: ModalContentProps);
30
32
  get adapter(): ModalContentAdapter;
31
33
  componentDidMount(): void;
@@ -1,6 +1,6 @@
1
- import _get from "lodash/get";
2
- import _isFunction from "lodash/isFunction";
3
1
  import _noop from "lodash/noop";
2
+ import _isFunction from "lodash/isFunction";
3
+ import _get from "lodash/get";
4
4
  import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
5
5
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
6
6
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
@@ -32,7 +32,7 @@ import BaseComponent from '../_base/baseComponent'; // eslint-disable-next-line
32
32
 
33
33
  import ModalContentFoundation from '@douyinfe/semi-foundation/lib/es/modal/modalContentFoundation';
34
34
  import { IconClose } from '@douyinfe/semi-icons';
35
- import { getActiveElement } from '../_utils';
35
+ import FocusTrapHandle from '@douyinfe/semi-foundation/lib/es/utils/FocusHandle';
36
36
  let uuid = 0;
37
37
  export default class ModalContent extends BaseComponent {
38
38
  constructor(props) {
@@ -90,9 +90,7 @@ export default class ModalContent extends BaseComponent {
90
90
  let closer;
91
91
 
92
92
  if (closable) {
93
- const iconType = closeIcon || /*#__PURE__*/React.createElement(IconClose, {
94
- "x-semi-prop": "closeIcon"
95
- });
93
+ const iconType = closeIcon || /*#__PURE__*/React.createElement(IconClose, null);
96
94
  closer = /*#__PURE__*/React.createElement(Button, {
97
95
  "aria-label": "close",
98
96
  className: "".concat(cssClasses.DIALOG, "-close"),
@@ -113,8 +111,7 @@ export default class ModalContent extends BaseComponent {
113
111
  icon
114
112
  } = this.props;
115
113
  return icon ? /*#__PURE__*/React.createElement("span", {
116
- className: "".concat(cssClasses.DIALOG, "-icon-wrapper"),
117
- "x-semi-prop": "icon"
114
+ className: "".concat(cssClasses.DIALOG, "-icon-wrapper")
118
115
  }, icon) : null;
119
116
  };
120
117
 
@@ -133,8 +130,7 @@ export default class ModalContent extends BaseComponent {
133
130
  }, icon, /*#__PURE__*/React.createElement(Typography.Title, {
134
131
  heading: 5,
135
132
  className: "".concat(cssClasses.DIALOG, "-title"),
136
- id: "".concat(cssClasses.DIALOG, "-title"),
137
- "x-semi-prop": "title"
133
+ id: "".concat(cssClasses.DIALOG, "-title")
138
134
  }, title), closer);
139
135
  };
140
136
 
@@ -153,14 +149,12 @@ export default class ModalContent extends BaseComponent {
153
149
  return hasHeader ? /*#__PURE__*/React.createElement("div", {
154
150
  className: bodyCls,
155
151
  id: "".concat(cssClasses.DIALOG, "-body"),
156
- style: bodyStyle,
157
- "x-semi-prop": "children"
152
+ style: bodyStyle
158
153
  }, children) : /*#__PURE__*/React.createElement("div", {
159
154
  className: "".concat(cssClasses.DIALOG, "-body-wrapper")
160
155
  }, icon, /*#__PURE__*/React.createElement("div", {
161
156
  className: bodyCls,
162
- style: bodyStyle,
163
- "x-semi-prop": "children"
157
+ style: bodyStyle
164
158
  }, children), closer);
165
159
  };
166
160
 
@@ -192,8 +186,7 @@ export default class ModalContent extends BaseComponent {
192
186
  const body = this.renderBody();
193
187
  const header = this.renderHeader();
194
188
  const footer = props.footer ? /*#__PURE__*/React.createElement("div", {
195
- className: "".concat(cssClasses.DIALOG, "-footer"),
196
- "x-semi-prop": "footer"
189
+ className: "".concat(cssClasses.DIALOG, "-footer")
197
190
  }, props.footer) : null;
198
191
  const dialogElement =
199
192
  /*#__PURE__*/
@@ -207,6 +200,7 @@ export default class ModalContent extends BaseComponent {
207
200
  }, /*#__PURE__*/React.createElement("div", {
208
201
  role: "dialog",
209
202
  ref: this.modalDialogRef,
203
+ tabIndex: -1,
210
204
  "aria-modal": "true",
211
205
  "aria-labelledby": "".concat(cssClasses.DIALOG, "-title"),
212
206
  "aria-describedby": "".concat(cssClasses.DIALOG, "-body"),
@@ -221,7 +215,7 @@ export default class ModalContent extends BaseComponent {
221
215
 
222
216
  this.state = {
223
217
  dialogMouseDown: false,
224
- prevFocusElement: getActiveElement()
218
+ prevFocusElement: FocusTrapHandle.getActiveElement()
225
219
  };
226
220
  this.foundation = new ModalContentFoundation(this.adapter);
227
221
  this.dialogId = "dialog-".concat(uuid++);
@@ -264,19 +258,26 @@ export default class ModalContent extends BaseComponent {
264
258
  },
265
259
  getMouseState: () => this.state.dialogMouseDown,
266
260
  modalDialogFocus: () => {
261
+ var _a, _b, _c;
262
+
267
263
  let activeElementInDialog;
268
264
 
269
265
  if (this.modalDialogRef) {
270
- const activeElement = getActiveElement();
266
+ const activeElement = FocusTrapHandle.getActiveElement();
271
267
  activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
268
+ (_a = this.focusTrapHandle) === null || _a === void 0 ? void 0 : _a.destroy();
269
+ this.focusTrapHandle = new FocusTrapHandle(this.modalDialogRef.current);
272
270
  }
273
271
 
274
272
  if (!activeElementInDialog) {
275
- this.modalDialogRef && this.modalDialogRef.current.focus();
273
+ (_c = (_b = this.modalDialogRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.focus();
276
274
  }
277
275
  },
278
276
  modalDialogBlur: () => {
279
- this.modalDialogRef && this.modalDialogRef.current.blur();
277
+ var _a, _b;
278
+
279
+ (_a = this.modalDialogRef) === null || _a === void 0 ? void 0 : _a.current.blur();
280
+ (_b = this.focusTrapHandle) === null || _b === void 0 ? void 0 : _b.destroy();
280
281
  },
281
282
  prevFocusElementReFocus: () => {
282
283
  const {
@@ -325,8 +326,7 @@ export default class ModalContent extends BaseComponent {
325
326
  className: "".concat(cssClasses.DIALOG, "-wrap"),
326
327
  onClick: maskClosable ? this.onMaskClick : null,
327
328
  onMouseUp: maskClosable ? this.onMaskMouseUp : null
328
- }, this.getDialogElement())); // @ts-ignore Unreachable branch
329
- // eslint-disable-next-line max-len
329
+ }, this.getDialogElement())); // eslint-disable-next-line max-len
330
330
 
331
331
  return containerContext && containerContext.Provider ? /*#__PURE__*/React.createElement(containerContext.Provider, {
332
332
  value: containerContext.value
@@ -115,8 +115,7 @@ class Notice extends BaseComponent {
115
115
 
116
116
  if (iconType) {
117
117
  return /*#__PURE__*/React.createElement("div", {
118
- className: iconCls,
119
- "x-semi-prop": "icon"
118
+ className: iconCls
120
119
  }, isSemiIcon(iconType) ? /*#__PURE__*/React.cloneElement(iconType, {
121
120
  size: iconType.props.size || 'large'
122
121
  }) : iconType);
@@ -174,11 +173,9 @@ class Notice extends BaseComponent {
174
173
  className: "".concat(prefixCls, "-content-wrapper")
175
174
  }, title ? /*#__PURE__*/React.createElement("div", {
176
175
  id: titleID,
177
- className: "".concat(prefixCls, "-title"),
178
- "x-semi-prop": "title"
176
+ className: "".concat(prefixCls, "-title")
179
177
  }, title) : '', content ? /*#__PURE__*/React.createElement("div", {
180
- className: "".concat(prefixCls, "-content"),
181
- "x-semi-prop": "content"
178
+ className: "".concat(prefixCls, "-content")
182
179
  }, content) : ''), showClose && /*#__PURE__*/React.createElement(Button, {
183
180
  className: "".concat(prefixCls, "-icon-close"),
184
181
  type: "tertiary",
@@ -154,8 +154,7 @@ export default class Pagination extends BaseComponent {
154
154
  "aria-disabled": prevDisabled ? true : false,
155
155
  "aria-label": "Previous",
156
156
  onClick: e => !prevDisabled && this.foundation.goPrev(e),
157
- className: preClassName,
158
- "x-semi-prop": "prevText"
157
+ className: preClassName
159
158
  }, prevText || /*#__PURE__*/React.createElement(IconChevronLeft, {
160
159
  size: "large"
161
160
  }));
@@ -178,8 +177,7 @@ export default class Pagination extends BaseComponent {
178
177
  "aria-disabled": nextDisabled ? true : false,
179
178
  "aria-label": "Next",
180
179
  onClick: e => !nextDisabled && this.foundation.goNext(e),
181
- className: nextClassName,
182
- "x-semi-prop": "prevText"
180
+ className: nextClassName
183
181
  }, nextText || /*#__PURE__*/React.createElement(IconChevronRight, {
184
182
  size: "large"
185
183
  }));
@@ -122,16 +122,13 @@ export default class Popconfirm extends BaseComponent {
122
122
  }, /*#__PURE__*/React.createElement("div", {
123
123
  className: "".concat(prefixCls, "-header")
124
124
  }, /*#__PURE__*/React.createElement("i", {
125
- className: "".concat(prefixCls, "-header-icon"),
126
- "x-semi-prop": "icon"
125
+ className: "".concat(prefixCls, "-header-icon")
127
126
  }, /*#__PURE__*/React.isValidElement(icon) ? icon : null), /*#__PURE__*/React.createElement("div", {
128
127
  className: "".concat(prefixCls, "-header-body")
129
128
  }, showTitle ? /*#__PURE__*/React.createElement("div", {
130
- className: "".concat(prefixCls, "-header-title"),
131
- "x-semi-prop": "title"
129
+ className: "".concat(prefixCls, "-header-title")
132
130
  }, title) : null, showContent ? /*#__PURE__*/React.createElement("div", {
133
- className: "".concat(prefixCls, "-header-content"),
134
- "x-semi-prop": "content"
131
+ className: "".concat(prefixCls, "-header-content")
135
132
  }, content) : null), /*#__PURE__*/React.createElement(Button, {
136
133
  className: "".concat(prefixCls, "-btn-close"),
137
134
  icon: /*#__PURE__*/React.createElement(IconClose, null),
@@ -220,7 +220,7 @@ class Progress extends Component {
220
220
  const perc = this.calcPercent(percent);
221
221
  const percNumber = this.calcPercent(percentNumber);
222
222
  const innerStyle = {
223
- backgroundColor: stroke
223
+ background: stroke
224
224
  };
225
225
 
226
226
  if (direction === strings.DEFAULT_DIRECTION) {
@@ -75,7 +75,7 @@ declare class Radio extends BaseComponent<RadioProps, RadioState> {
75
75
  prefixCls?: string;
76
76
  name?: string;
77
77
  onChange?: (e: RadioChangeEvent) => void;
78
- buttonSize?: "small" | "large" | "middle";
78
+ buttonSize?: "small" | "middle" | "large";
79
79
  isCardRadio?: boolean;
80
80
  isPureCardRadio?: boolean;
81
81
  };
@@ -165,12 +165,10 @@ class Radio extends BaseComponent {
165
165
  const renderContent = () => /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/React.createElement("span", {
166
166
  className: addonCls,
167
167
  style: addonStyle,
168
- id: this.addonId,
169
- "x-semi-prop": "children"
168
+ id: addonId
170
169
  }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/React.createElement("div", {
171
170
  className: "".concat(prefix, "-extra"),
172
- id: this.extraId,
173
- "x-semi-prop": "extra"
171
+ id: extraId
174
172
  }, extra) : null);
175
173
 
176
174
  return /*#__PURE__*/React.createElement("label", {
@@ -48,7 +48,7 @@ declare class RadioGroup extends BaseComponent<RadioGroupProps, RadioGroupState>
48
48
  disabled: PropTypes.Requireable<boolean>;
49
49
  name: PropTypes.Requireable<string>;
50
50
  options: PropTypes.Requireable<any[]>;
51
- buttonSize: PropTypes.Requireable<"small" | "large" | "middle">;
51
+ buttonSize: PropTypes.Requireable<"small" | "middle" | "large">;
52
52
  type: PropTypes.Requireable<"default" | "button" | "card" | "pureCard">;
53
53
  value: PropTypes.Requireable<any>;
54
54
  onChange: PropTypes.Requireable<(...args: any[]) => any>;