@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
@@ -118,8 +118,7 @@ class Dropdown extends _baseComponent.default {
118
118
  className: className,
119
119
  style: style
120
120
  }, /*#__PURE__*/_react.default.createElement("div", {
121
- className: "".concat(prefixCls, "-content"),
122
- "x-semi-prop": "render"
121
+ className: "".concat(prefixCls, "-content")
123
122
  }, content)));
124
123
  }
125
124
 
@@ -122,19 +122,15 @@ class Empty extends _baseComponent.default {
122
122
  style: style
123
123
  }, /*#__PURE__*/_react.default.createElement("div", {
124
124
  className: "".concat(prefixCls, "-image"),
125
- style: imageStyle,
126
- "x-semi-prop": "image,darkModeImage"
125
+ style: imageStyle
127
126
  }, imageNode), /*#__PURE__*/_react.default.createElement("div", {
128
127
  className: "".concat(prefixCls, "-content")
129
128
  }, title ? /*#__PURE__*/_react.default.createElement(_typography.default.Title, (0, _assign.default)({}, titleProps, {
130
- className: "".concat(prefixCls, "-title"),
131
- "x-semi-prop": "title"
129
+ className: "".concat(prefixCls, "-title")
132
130
  }), title) : null, description ? /*#__PURE__*/_react.default.createElement("div", {
133
- className: "".concat(prefixCls, "-description"),
134
- "x-semi-prop": "description"
131
+ className: "".concat(prefixCls, "-description")
135
132
  }, description) : null, children ? /*#__PURE__*/_react.default.createElement("div", {
136
- className: "".concat(prefixCls, "-footer"),
137
- "x-semi-prop": "children"
133
+ className: "".concat(prefixCls, "-footer")
138
134
  }, children) : null));
139
135
  }
140
136
 
@@ -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>;
@@ -459,8 +459,7 @@ function withField(Component, opts) {
459
459
  });
460
460
  const extraContent = extraText ? /*#__PURE__*/_react.default.createElement("div", {
461
461
  className: extraCls,
462
- id: extraTextId,
463
- "x-semi-prop": "extraText"
462
+ id: extraTextId
464
463
  }, extraText) : null;
465
464
  let newProps = (0, _assign.default)((0, _assign.default)({
466
465
  id: a11yId,
@@ -55,8 +55,7 @@ class Label extends _react.PureComponent {
55
55
  width ? labelStyle.width = width : null;
56
56
 
57
57
  const textContent = /*#__PURE__*/_react.default.createElement("div", {
58
- className: "".concat(prefixCls, "-field-label-text"),
59
- "x-semi-prop": "label"
58
+ className: "".concat(prefixCls, "-field-label-text")
60
59
  }, typeof text !== 'undefined' ? text : children);
61
60
 
62
61
  const contentWithExtra = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, textContent, /*#__PURE__*/_react.default.createElement("div", {
@@ -116,8 +116,7 @@ class Col extends _react.default.Component {
116
116
  } : {}), style);
117
117
  return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({}, others, {
118
118
  style: style,
119
- className: classes,
120
- "x-semi-prop": "children"
119
+ className: classes
121
120
  }), children);
122
121
  }
123
122
 
@@ -181,8 +181,7 @@ class Row extends _react.default.Component {
181
181
  }
182
182
  }, /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({}, otherProps, {
183
183
  className: classes,
184
- style: rowStyle,
185
- "x-semi-prop": "children"
184
+ style: rowStyle
186
185
  }), children));
187
186
  }
188
187
 
@@ -103,10 +103,8 @@ class IconButton extends _react.PureComponent {
103
103
  ["".concat(prefixCls, "-content-left")]: iconPosition === 'right',
104
104
  ["".concat(prefixCls, "-content-right")]: iconPosition === 'left'
105
105
  });
106
- const xSemiProp = this.props['x-semi-children-alias'] || 'children';
107
106
  const children = originChildren != null ? /*#__PURE__*/_react.default.createElement("span", {
108
- className: btnTextCls,
109
- "x-semi-prop": xSemiProp
107
+ className: btnTextCls
110
108
  }, originChildren) : null;
111
109
 
112
110
  if (iconPosition === 'left') {
@@ -210,8 +210,7 @@ class Input extends _baseComponent.default {
210
210
  ["".concat(prefixCls, "-prepend-icon")]: (0, _utils.isSemiIcon)(addonBefore)
211
211
  });
212
212
  return /*#__PURE__*/_react.default.createElement("div", {
213
- className: prefixWrapperCls,
214
- "x-semi-prop": "addonBefore"
213
+ className: prefixWrapperCls
215
214
  }, addonBefore);
216
215
  }
217
216
 
@@ -230,8 +229,7 @@ class Input extends _baseComponent.default {
230
229
  ["".concat(prefixCls, "-append-icon")]: (0, _utils.isSemiIcon)(addonAfter)
231
230
  });
232
231
  return /*#__PURE__*/_react.default.createElement("div", {
233
- className: prefixWrapperCls,
234
- "x-semi-prop": "addonAfter"
232
+ className: prefixWrapperCls
235
233
  }, addonAfter);
236
234
  }
237
235
 
@@ -311,8 +309,7 @@ class Input extends _baseComponent.default {
311
309
  className: prefixWrapperCls,
312
310
  onMouseDown: this.handlePreventMouseDown,
313
311
  onClick: this.handleClickPrefixOrSuffix,
314
- id: insetLabelId,
315
- "x-semi-prop": "prefix,insetLabel"
312
+ id: insetLabelId
316
313
  }, labelNode);
317
314
  }
318
315
 
@@ -349,8 +346,7 @@ class Input extends _baseComponent.default {
349
346
  return /*#__PURE__*/_react.default.createElement("div", {
350
347
  className: suffixWrapperCls,
351
348
  onMouseDown: this.handlePreventMouseDown,
352
- onClick: this.handleClickPrefixOrSuffix,
353
- "x-semi-prop": "suffix"
349
+ onClick: this.handleClickPrefixOrSuffix
354
350
  }, suffix);
355
351
  }
356
352
 
@@ -451,7 +447,7 @@ class Input extends _baseComponent.default {
451
447
  }
452
448
 
453
449
  if (validateStatus === 'error') {
454
- inputProps['aria-invalid'] = 'true';
450
+ inputProps['aria-invalid'] = "true";
455
451
  }
456
452
 
457
453
  return (
@@ -55,8 +55,7 @@ class List extends _baseComponent.default {
55
55
 
56
56
  if (emptyContent) {
57
57
  return /*#__PURE__*/_react.default.createElement("div", {
58
- className: "".concat(_constants.cssClasses.PREFIX, "-empty"),
59
- "x-semi-prop": "emptyContent"
58
+ className: "".concat(_constants.cssClasses.PREFIX, "-empty")
60
59
  }, emptyContent);
61
60
  } else {
62
61
  return /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
@@ -141,8 +140,7 @@ class List extends _baseComponent.default {
141
140
  className: wrapperCls,
142
141
  style: style
143
142
  }, header ? /*#__PURE__*/_react.default.createElement("div", {
144
- className: "".concat(_constants.cssClasses.PREFIX, "-header"),
145
- "x-semi-prop": "header"
143
+ className: "".concat(_constants.cssClasses.PREFIX, "-header")
146
144
  }, header) : null, /*#__PURE__*/_react.default.createElement(_listContext.default.Provider, {
147
145
  value: {
148
146
  grid,
@@ -153,8 +151,7 @@ class List extends _baseComponent.default {
153
151
  spinning: loading,
154
152
  size: "large"
155
153
  }, this.wrapChildren(childrenList, children))), footer ? /*#__PURE__*/_react.default.createElement("div", {
156
- className: "".concat(_constants.cssClasses.PREFIX, "-footer"),
157
- "x-semi-prop": "footer"
154
+ className: "".concat(_constants.cssClasses.PREFIX, "-footer")
158
155
  }, footer) : null, loadMore ? loadMore : null);
159
156
  }
160
157
 
@@ -129,8 +129,7 @@ const ConfirmModal = props => {
129
129
  icon: iconNode,
130
130
  visible: visible
131
131
  }, rest), /*#__PURE__*/_react.default.createElement("div", {
132
- className: contentCls,
133
- "x-semi-prop": "content"
132
+ className: contentCls
134
133
  }, content));
135
134
  };
136
135
 
@@ -117,10 +117,9 @@ class Modal extends _baseComponent.default {
117
117
  "aria-label": "cancel",
118
118
  onClick: this.handleCancel,
119
119
  loading: cancelLoading,
120
- type: "tertiary"
121
- }, this.props.cancelButtonProps, {
122
- "x-semi-children-alias": "cancelText"
123
- }), cancelText || locale.cancel);
120
+ type: "tertiary",
121
+ autoFocus: true
122
+ }, this.props.cancelButtonProps), cancelText || locale.cancel);
124
123
  }
125
124
  };
126
125
 
@@ -132,9 +131,7 @@ class Modal extends _baseComponent.default {
132
131
  theme: "solid",
133
132
  loading: confirmLoading,
134
133
  onClick: this.handleOk
135
- }, this.props.okButtonProps, {
136
- "x-semi-children-alias": "okText"
137
- }), okText || locale.confirm)));
134
+ }, this.props.okButtonProps), okText || locale.confirm)));
138
135
  }; // getDialog = () => {
139
136
  // const {
140
137
  // footer,
@@ -404,7 +401,7 @@ Modal.defaultProps = {
404
401
  onOk: _noop2.default,
405
402
  afterClose: _noop2.default,
406
403
  maskFixed: false,
407
- closeOnEsc: false,
404
+ closeOnEsc: true,
408
405
  size: 'small',
409
406
  keepDOM: false,
410
407
  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/cjs/modal/modalContentFoundation';
6
+ import FocusTrapHandle from '@douyinfe/semi-foundation/lib/cjs/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;
@@ -22,11 +22,11 @@ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-j
22
22
 
23
23
  var _bind = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/bind"));
24
24
 
25
- var _get2 = _interopRequireDefault(require("lodash/get"));
25
+ var _noop2 = _interopRequireDefault(require("lodash/noop"));
26
26
 
27
27
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
28
28
 
29
- var _noop2 = _interopRequireDefault(require("lodash/noop"));
29
+ var _get2 = _interopRequireDefault(require("lodash/get"));
30
30
 
31
31
  var _react = _interopRequireDefault(require("react"));
32
32
 
@@ -48,7 +48,7 @@ var _modalContentFoundation = _interopRequireDefault(require("@douyinfe/semi-fou
48
48
 
49
49
  var _semiIcons = require("@douyinfe/semi-icons");
50
50
 
51
- var _utils = require("../_utils");
51
+ var _FocusHandle = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/FocusHandle"));
52
52
 
53
53
  var __rest = void 0 && (void 0).__rest || function (s, e) {
54
54
  var t = {};
@@ -121,9 +121,7 @@ class ModalContent extends _baseComponent.default {
121
121
  let closer;
122
122
 
123
123
  if (closable) {
124
- const iconType = closeIcon || /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
125
- "x-semi-prop": "closeIcon"
126
- });
124
+ const iconType = closeIcon || /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, null);
127
125
 
128
126
  closer = /*#__PURE__*/_react.default.createElement(_iconButton.default, {
129
127
  "aria-label": "close",
@@ -145,8 +143,7 @@ class ModalContent extends _baseComponent.default {
145
143
  icon
146
144
  } = this.props;
147
145
  return icon ? /*#__PURE__*/_react.default.createElement("span", {
148
- className: "".concat(_constants.cssClasses.DIALOG, "-icon-wrapper"),
149
- "x-semi-prop": "icon"
146
+ className: "".concat(_constants.cssClasses.DIALOG, "-icon-wrapper")
150
147
  }, icon) : null;
151
148
  };
152
149
 
@@ -165,8 +162,7 @@ class ModalContent extends _baseComponent.default {
165
162
  }, icon, /*#__PURE__*/_react.default.createElement(_typography.default.Title, {
166
163
  heading: 5,
167
164
  className: "".concat(_constants.cssClasses.DIALOG, "-title"),
168
- id: "".concat(_constants.cssClasses.DIALOG, "-title"),
169
- "x-semi-prop": "title"
165
+ id: "".concat(_constants.cssClasses.DIALOG, "-title")
170
166
  }, title), closer);
171
167
  };
172
168
 
@@ -185,14 +181,12 @@ class ModalContent extends _baseComponent.default {
185
181
  return hasHeader ? /*#__PURE__*/_react.default.createElement("div", {
186
182
  className: bodyCls,
187
183
  id: "".concat(_constants.cssClasses.DIALOG, "-body"),
188
- style: bodyStyle,
189
- "x-semi-prop": "children"
184
+ style: bodyStyle
190
185
  }, children) : /*#__PURE__*/_react.default.createElement("div", {
191
186
  className: "".concat(_constants.cssClasses.DIALOG, "-body-wrapper")
192
187
  }, icon, /*#__PURE__*/_react.default.createElement("div", {
193
188
  className: bodyCls,
194
- style: bodyStyle,
195
- "x-semi-prop": "children"
189
+ style: bodyStyle
196
190
  }, children), closer);
197
191
  };
198
192
 
@@ -224,8 +218,7 @@ class ModalContent extends _baseComponent.default {
224
218
  const body = this.renderBody();
225
219
  const header = this.renderHeader();
226
220
  const footer = props.footer ? /*#__PURE__*/_react.default.createElement("div", {
227
- className: "".concat(_constants.cssClasses.DIALOG, "-footer"),
228
- "x-semi-prop": "footer"
221
+ className: "".concat(_constants.cssClasses.DIALOG, "-footer")
229
222
  }, props.footer) : null;
230
223
 
231
224
  const dialogElement =
@@ -240,6 +233,7 @@ class ModalContent extends _baseComponent.default {
240
233
  }, /*#__PURE__*/_react.default.createElement("div", {
241
234
  role: "dialog",
242
235
  ref: this.modalDialogRef,
236
+ tabIndex: -1,
243
237
  "aria-modal": "true",
244
238
  "aria-labelledby": "".concat(_constants.cssClasses.DIALOG, "-title"),
245
239
  "aria-describedby": "".concat(_constants.cssClasses.DIALOG, "-body"),
@@ -255,7 +249,7 @@ class ModalContent extends _baseComponent.default {
255
249
 
256
250
  this.state = {
257
251
  dialogMouseDown: false,
258
- prevFocusElement: (0, _utils.getActiveElement)()
252
+ prevFocusElement: _FocusHandle.default.getActiveElement()
259
253
  };
260
254
  this.foundation = new _modalContentFoundation.default(this.adapter);
261
255
  this.dialogId = "dialog-".concat(uuid++);
@@ -298,19 +292,27 @@ class ModalContent extends _baseComponent.default {
298
292
  },
299
293
  getMouseState: () => this.state.dialogMouseDown,
300
294
  modalDialogFocus: () => {
295
+ var _a, _b, _c;
296
+
301
297
  let activeElementInDialog;
302
298
 
303
299
  if (this.modalDialogRef) {
304
- const activeElement = (0, _utils.getActiveElement)();
300
+ const activeElement = _FocusHandle.default.getActiveElement();
301
+
305
302
  activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
303
+ (_a = this.focusTrapHandle) === null || _a === void 0 ? void 0 : _a.destroy();
304
+ this.focusTrapHandle = new _FocusHandle.default(this.modalDialogRef.current);
306
305
  }
307
306
 
308
307
  if (!activeElementInDialog) {
309
- this.modalDialogRef && this.modalDialogRef.current.focus();
308
+ (_c = (_b = this.modalDialogRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.focus();
310
309
  }
311
310
  },
312
311
  modalDialogBlur: () => {
313
- this.modalDialogRef && this.modalDialogRef.current.blur();
312
+ var _a, _b;
313
+
314
+ (_a = this.modalDialogRef) === null || _a === void 0 ? void 0 : _a.current.blur();
315
+ (_b = this.focusTrapHandle) === null || _b === void 0 ? void 0 : _b.destroy();
314
316
  },
315
317
  prevFocusElementReFocus: () => {
316
318
  const {
@@ -358,8 +360,7 @@ class ModalContent extends _baseComponent.default {
358
360
  className: "".concat(_constants.cssClasses.DIALOG, "-wrap"),
359
361
  onClick: maskClosable ? this.onMaskClick : null,
360
362
  onMouseUp: maskClosable ? this.onMaskMouseUp : null
361
- }, this.getDialogElement())); // @ts-ignore Unreachable branch
362
- // eslint-disable-next-line max-len
363
+ }, this.getDialogElement())); // eslint-disable-next-line max-len
363
364
 
364
365
 
365
366
  return containerContext && containerContext.Provider ? /*#__PURE__*/_react.default.createElement(containerContext.Provider, {
@@ -143,8 +143,7 @@ class Notice extends _baseComponent.default {
143
143
 
144
144
  if (iconType) {
145
145
  return /*#__PURE__*/_react.default.createElement("div", {
146
- className: iconCls,
147
- "x-semi-prop": "icon"
146
+ className: iconCls
148
147
  }, (0, _utils.isSemiIcon)(iconType) ? /*#__PURE__*/_react.default.cloneElement(iconType, {
149
148
  size: iconType.props.size || 'large'
150
149
  }) : iconType);
@@ -202,11 +201,9 @@ class Notice extends _baseComponent.default {
202
201
  className: "".concat(prefixCls, "-content-wrapper")
203
202
  }, title ? /*#__PURE__*/_react.default.createElement("div", {
204
203
  id: titleID,
205
- className: "".concat(prefixCls, "-title"),
206
- "x-semi-prop": "title"
204
+ className: "".concat(prefixCls, "-title")
207
205
  }, title) : '', content ? /*#__PURE__*/_react.default.createElement("div", {
208
- className: "".concat(prefixCls, "-content"),
209
- "x-semi-prop": "content"
206
+ className: "".concat(prefixCls, "-content")
210
207
  }, content) : ''), showClose && /*#__PURE__*/_react.default.createElement(_iconButton.default, {
211
208
  className: "".concat(prefixCls, "-icon-close"),
212
209
  type: "tertiary",
@@ -188,8 +188,7 @@ class Pagination extends _baseComponent.default {
188
188
  "aria-disabled": prevDisabled ? true : false,
189
189
  "aria-label": "Previous",
190
190
  onClick: e => !prevDisabled && this.foundation.goPrev(e),
191
- className: preClassName,
192
- "x-semi-prop": "prevText"
191
+ className: preClassName
193
192
  }, prevText || /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronLeft, {
194
193
  size: "large"
195
194
  }));
@@ -212,8 +211,7 @@ class Pagination extends _baseComponent.default {
212
211
  "aria-disabled": nextDisabled ? true : false,
213
212
  "aria-label": "Next",
214
213
  onClick: e => !nextDisabled && this.foundation.goNext(e),
215
- className: nextClassName,
216
- "x-semi-prop": "prevText"
214
+ className: nextClassName
217
215
  }, nextText || /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronRight, {
218
216
  size: "large"
219
217
  }));
@@ -150,16 +150,13 @@ class Popconfirm extends _baseComponent.default {
150
150
  }, /*#__PURE__*/_react.default.createElement("div", {
151
151
  className: "".concat(prefixCls, "-header")
152
152
  }, /*#__PURE__*/_react.default.createElement("i", {
153
- className: "".concat(prefixCls, "-header-icon"),
154
- "x-semi-prop": "icon"
153
+ className: "".concat(prefixCls, "-header-icon")
155
154
  }, /*#__PURE__*/_react.default.isValidElement(icon) ? icon : null), /*#__PURE__*/_react.default.createElement("div", {
156
155
  className: "".concat(prefixCls, "-header-body")
157
156
  }, showTitle ? /*#__PURE__*/_react.default.createElement("div", {
158
- className: "".concat(prefixCls, "-header-title"),
159
- "x-semi-prop": "title"
157
+ className: "".concat(prefixCls, "-header-title")
160
158
  }, title) : null, showContent ? /*#__PURE__*/_react.default.createElement("div", {
161
- className: "".concat(prefixCls, "-header-content"),
162
- "x-semi-prop": "content"
159
+ className: "".concat(prefixCls, "-header-content")
163
160
  }, content) : null), /*#__PURE__*/_react.default.createElement(_button.default, {
164
161
  className: "".concat(prefixCls, "-btn-close"),
165
162
  icon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, null),
@@ -246,7 +246,7 @@ class Progress extends _react.Component {
246
246
  const perc = this.calcPercent(percent);
247
247
  const percNumber = this.calcPercent(percentNumber);
248
248
  const innerStyle = {
249
- backgroundColor: stroke
249
+ background: stroke
250
250
  };
251
251
 
252
252
  if (direction === _constants.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
  };
@@ -188,12 +188,10 @@ class Radio extends _baseComponent.default {
188
188
  const renderContent = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children ? /*#__PURE__*/_react.default.createElement("span", {
189
189
  className: addonCls,
190
190
  style: addonStyle,
191
- id: this.addonId,
192
- "x-semi-prop": "children"
191
+ id: addonId
193
192
  }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/_react.default.createElement("div", {
194
193
  className: "".concat(prefix, "-extra"),
195
- id: this.extraId,
196
- "x-semi-prop": "extra"
194
+ id: extraId
197
195
  }, extra) : null);
198
196
 
199
197
  return /*#__PURE__*/_react.default.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>;
@@ -126,8 +126,7 @@ class Item extends _react.PureComponent {
126
126
  width: "".concat(firstWidth * 100, "%")
127
127
  }
128
128
  }, content), /*#__PURE__*/_react.default.createElement("div", {
129
- className: "".concat(prefixCls, "-second"),
130
- "x-semi-prop": "character"
129
+ className: "".concat(prefixCls, "-second")
131
130
  }, content)));
132
131
  }
133
132
 
@@ -55,19 +55,16 @@ class ScrollList extends _baseComponent.default {
55
55
  }, header ? /*#__PURE__*/_react.default.createElement("div", {
56
56
  className: clsHeader
57
57
  }, /*#__PURE__*/_react.default.createElement("div", {
58
- className: "".concat(clsHeader, "-title"),
59
- "x-semi-prop": this.props['x-semi-header-alias'] || "header"
58
+ className: "".concat(clsHeader, "-title")
60
59
  }, header), /*#__PURE__*/_react.default.createElement("div", {
61
60
  className: "".concat(clsWrapper, "-line")
62
61
  })) : null, /*#__PURE__*/_react.default.createElement("div", {
63
62
  className: "".concat(clsWrapper, "-body"),
64
63
  style: {
65
64
  height: bodyHeight ? bodyHeight : ''
66
- },
67
- "x-semi-prop": "children"
65
+ }
68
66
  }, children), footer ? /*#__PURE__*/_react.default.createElement("div", {
69
- className: "".concat(clsWrapper, "-footer"),
70
- "x-semi-prop": this.props['x-semi-footer-alias'] || "footer"
67
+ className: "".concat(clsWrapper, "-footer")
71
68
  }, footer) : null);
72
69
  }
73
70
 
@@ -718,8 +718,7 @@ class Select extends _baseComponent.default {
718
718
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
719
719
  className: contentWrapperCls
720
720
  }, /*#__PURE__*/_react.default.createElement("span", {
721
- className: spanCls,
722
- "x-semi-prop": "placeholder"
721
+ className: spanCls
723
722
  }, renderText || renderText === 0 ? renderText : placeholder), filterable && showInput ? this.renderInput() : null));
724
723
  }
725
724
 
@@ -878,8 +877,7 @@ class Select extends _baseComponent.default {
878
877
  ["".concat(prefixcls, "-suffix-icon")]: (0, _utils2.isSemiIcon)(suffix)
879
878
  });
880
879
  return /*#__PURE__*/_react.default.createElement("div", {
881
- className: suffixWrapperCls,
882
- "x-semi-prop": "suffix"
880
+ className: suffixWrapperCls
883
881
  }, suffix);
884
882
  }
885
883
 
@@ -898,8 +896,7 @@ class Select extends _baseComponent.default {
898
896
  });
899
897
  return /*#__PURE__*/_react.default.createElement("div", {
900
898
  className: prefixWrapperCls,
901
- id: insetLabelId,
902
- "x-semi-prop": "prefix,insetLabel"
899
+ id: insetLabelId
903
900
  }, labelNode);
904
901
  }
905
902
 
@@ -951,8 +948,7 @@ class Select extends _baseComponent.default {
951
948
  });
952
949
  const showClear = this.props.showClear && (selections.size || inputValue) && !disabled && (isHovering || isOpen);
953
950
  const arrowContent = showArrow ? /*#__PURE__*/_react.default.createElement("div", {
954
- className: "".concat(prefixcls, "-arrow"),
955
- "x-semi-prop": "arrowIcon"
951
+ className: "".concat(prefixcls, "-arrow")
956
952
  }, arrowIcon) : /*#__PURE__*/_react.default.createElement("div", {
957
953
  className: "".concat(prefixcls, "-arrow-empty")
958
954
  });
@@ -129,8 +129,7 @@ class Option extends _react.PureComponent {
129
129
  return /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
130
130
  componentName: "Select"
131
131
  }, locale => /*#__PURE__*/_react.default.createElement("div", {
132
- className: optionClassName,
133
- "x-semi-prop": "emptyContent"
132
+ className: optionClassName
134
133
  }, emptyContent || locale.emptyText));
135
134
  } // Since there are empty, locale and other logic, the custom renderOptionItem is directly converged to the internal option instead of being placed in Select/index
136
135
 
@@ -102,8 +102,7 @@ class SideSheetContent extends _react.default.PureComponent {
102
102
 
103
103
  if (title) {
104
104
  header = /*#__PURE__*/_react.default.createElement("div", {
105
- className: "".concat(prefixCls, "-title"),
106
- "x-semi-prop": "title"
105
+ className: "".concat(prefixCls, "-title")
107
106
  }, this.props.title);
108
107
  }
109
108
 
@@ -159,11 +158,9 @@ class SideSheetContent extends _react.default.PureComponent {
159
158
  className: "".concat(prefixCls, "-content")
160
159
  }, header, /*#__PURE__*/_react.default.createElement("div", {
161
160
  className: "".concat(prefixCls, "-body"),
162
- style: props.bodyStyle,
163
- "x-semi-prop": "children"
161
+ style: props.bodyStyle
164
162
  }, props.children), props.footer ? /*#__PURE__*/_react.default.createElement("div", {
165
- className: "".concat(prefixCls, "-footer"),
166
- "x-semi-prop": "footer"
163
+ className: "".concat(prefixCls, "-footer")
167
164
  }, props.footer) : null));
168
165
 
169
166
  return dialogElement;
@@ -71,9 +71,7 @@ class Skeleton extends _react.PureComponent {
71
71
  content = /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
72
72
  className: skCls,
73
73
  style: style
74
- }, others, {
75
- "x-semi-prop": "placeholder"
76
- }), placeholder);
74
+ }, others), placeholder);
77
75
  } else {
78
76
  content = children;
79
77
  }