@douyinfe/semi-ui 2.11.0 → 2.12.0-alpha.0

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 (210) hide show
  1. package/README.md +1 -1
  2. package/avatar/index.tsx +2 -2
  3. package/backtop/index.tsx +11 -7
  4. package/badge/index.tsx +1 -1
  5. package/banner/index.tsx +5 -5
  6. package/breadcrumb/index.tsx +5 -3
  7. package/button/Button.tsx +10 -8
  8. package/card/index.tsx +43 -41
  9. package/carousel/CarouselArrow.tsx +2 -0
  10. package/carousel/index.tsx +1 -0
  11. package/cascader/index.tsx +101 -123
  12. package/cascader/item.tsx +1 -1
  13. package/checkbox/checkbox.tsx +13 -2
  14. package/collapsible/index.tsx +8 -1
  15. package/datePicker/dateInput.tsx +1 -0
  16. package/datePicker/datePicker.tsx +13 -5
  17. package/dist/css/semi.css +33 -0
  18. package/dist/css/semi.min.css +1 -1
  19. package/dist/umd/semi-ui.js +694 -384
  20. package/dist/umd/semi-ui.js.map +1 -1
  21. package/dist/umd/semi-ui.min.js +1 -1
  22. package/dist/umd/semi-ui.min.js.map +1 -1
  23. package/divider/index.tsx +8 -4
  24. package/dropdown/index.tsx +1 -1
  25. package/empty/index.tsx +13 -5
  26. package/form/_story/FormSubmit/index.tsx +45 -0
  27. package/form/_story/form.stories.js +2 -1
  28. package/form/hoc/withField.tsx +1 -1
  29. package/form/label.tsx +1 -1
  30. package/grid/col.tsx +1 -1
  31. package/grid/row.tsx +1 -1
  32. package/iconButton/index.tsx +2 -1
  33. package/input/index.tsx +38 -11
  34. package/lib/cjs/avatar/index.js +4 -2
  35. package/lib/cjs/backtop/index.js +2 -1
  36. package/lib/cjs/badge/index.js +2 -1
  37. package/lib/cjs/banner/index.js +9 -4
  38. package/lib/cjs/breadcrumb/index.js +4 -3
  39. package/lib/cjs/button/Button.js +13 -3
  40. package/lib/cjs/card/index.js +10 -5
  41. package/lib/cjs/carousel/CarouselArrow.js +6 -2
  42. package/lib/cjs/carousel/index.js +2 -1
  43. package/lib/cjs/cascader/index.js +9 -6
  44. package/lib/cjs/cascader/item.js +2 -1
  45. package/lib/cjs/checkbox/checkbox.js +8 -4
  46. package/lib/cjs/collapsible/index.js +2 -1
  47. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  48. package/lib/cjs/datePicker/dateInput.js +2 -1
  49. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  50. package/lib/cjs/datePicker/datePicker.js +4 -2
  51. package/lib/cjs/datePicker/monthsGrid.d.ts +2 -2
  52. package/lib/cjs/divider/index.js +2 -1
  53. package/lib/cjs/dropdown/index.js +2 -1
  54. package/lib/cjs/empty/index.js +8 -4
  55. package/lib/cjs/form/baseForm.d.ts +1 -1
  56. package/lib/cjs/form/field.d.ts +1 -1
  57. package/lib/cjs/form/hoc/withField.js +2 -1
  58. package/lib/cjs/form/label.js +2 -1
  59. package/lib/cjs/grid/col.js +2 -1
  60. package/lib/cjs/grid/row.js +2 -1
  61. package/lib/cjs/iconButton/index.js +3 -1
  62. package/lib/cjs/input/index.js +9 -5
  63. package/lib/cjs/list/index.js +6 -3
  64. package/lib/cjs/modal/ConfirmModal.js +2 -1
  65. package/lib/cjs/modal/Modal.js +6 -2
  66. package/lib/cjs/modal/ModalContent.js +13 -6
  67. package/lib/cjs/navigation/Item.d.ts +1 -1
  68. package/lib/cjs/notification/notice.js +6 -3
  69. package/lib/cjs/pagination/index.js +4 -2
  70. package/lib/cjs/popconfirm/index.js +6 -3
  71. package/lib/cjs/radio/radio.d.ts +1 -1
  72. package/lib/cjs/radio/radio.js +4 -2
  73. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  74. package/lib/cjs/rating/item.js +2 -1
  75. package/lib/cjs/scrollList/index.js +6 -3
  76. package/lib/cjs/select/index.js +9 -5
  77. package/lib/cjs/select/option.js +2 -1
  78. package/lib/cjs/sideSheet/SideSheetContent.js +6 -3
  79. package/lib/cjs/skeleton/index.js +3 -1
  80. package/lib/cjs/slider/index.js +9 -5
  81. package/lib/cjs/space/index.js +2 -1
  82. package/lib/cjs/spin/index.js +7 -3
  83. package/lib/cjs/switch/index.js +6 -4
  84. package/lib/cjs/table/Table.d.ts +1 -1
  85. package/lib/cjs/table/Table.js +6 -3
  86. package/lib/cjs/tabs/TabBar.d.ts +1 -0
  87. package/lib/cjs/tabs/TabBar.js +10 -2
  88. package/lib/cjs/tabs/TabPane.js +7 -3
  89. package/lib/cjs/tabs/index.js +2 -1
  90. package/lib/cjs/tabs/interface.d.ts +1 -0
  91. package/lib/cjs/tag/index.d.ts +2 -0
  92. package/lib/cjs/tag/index.js +60 -11
  93. package/lib/cjs/tag/interface.d.ts +1 -0
  94. package/lib/cjs/tagInput/index.js +7 -4
  95. package/lib/cjs/timePicker/Combobox.js +3 -1
  96. package/lib/cjs/toast/toast.js +6 -3
  97. package/lib/cjs/transfer/index.js +2 -1
  98. package/lib/cjs/tree/treeNode.js +2 -1
  99. package/lib/cjs/treeSelect/index.js +9 -6
  100. package/lib/cjs/typography/base.js +2 -1
  101. package/lib/cjs/typography/title.d.ts +1 -1
  102. package/lib/cjs/upload/index.d.ts +1 -1
  103. package/lib/cjs/upload/index.js +13 -6
  104. package/lib/es/avatar/index.js +4 -2
  105. package/lib/es/backtop/index.js +2 -1
  106. package/lib/es/badge/index.js +2 -1
  107. package/lib/es/banner/index.js +9 -4
  108. package/lib/es/breadcrumb/index.js +4 -3
  109. package/lib/es/button/Button.js +11 -3
  110. package/lib/es/card/index.js +10 -5
  111. package/lib/es/carousel/CarouselArrow.js +6 -2
  112. package/lib/es/carousel/index.js +2 -1
  113. package/lib/es/cascader/index.js +9 -6
  114. package/lib/es/cascader/item.js +2 -1
  115. package/lib/es/checkbox/checkbox.js +8 -4
  116. package/lib/es/collapsible/index.js +2 -1
  117. package/lib/es/datePicker/dateInput.d.ts +1 -1
  118. package/lib/es/datePicker/dateInput.js +2 -1
  119. package/lib/es/datePicker/datePicker.d.ts +1 -1
  120. package/lib/es/datePicker/datePicker.js +4 -2
  121. package/lib/es/datePicker/monthsGrid.d.ts +2 -2
  122. package/lib/es/divider/index.js +2 -1
  123. package/lib/es/dropdown/index.js +2 -1
  124. package/lib/es/empty/index.js +8 -4
  125. package/lib/es/form/baseForm.d.ts +1 -1
  126. package/lib/es/form/field.d.ts +1 -1
  127. package/lib/es/form/hoc/withField.js +2 -1
  128. package/lib/es/form/label.js +2 -1
  129. package/lib/es/grid/col.js +2 -1
  130. package/lib/es/grid/row.js +2 -1
  131. package/lib/es/iconButton/index.js +3 -1
  132. package/lib/es/input/index.js +9 -5
  133. package/lib/es/list/index.js +6 -3
  134. package/lib/es/modal/ConfirmModal.js +2 -1
  135. package/lib/es/modal/Modal.js +6 -2
  136. package/lib/es/modal/ModalContent.js +13 -6
  137. package/lib/es/navigation/Item.d.ts +1 -1
  138. package/lib/es/notification/notice.js +6 -3
  139. package/lib/es/pagination/index.js +4 -2
  140. package/lib/es/popconfirm/index.js +6 -3
  141. package/lib/es/radio/radio.d.ts +1 -1
  142. package/lib/es/radio/radio.js +4 -2
  143. package/lib/es/radio/radioGroup.d.ts +1 -1
  144. package/lib/es/rating/item.js +2 -1
  145. package/lib/es/scrollList/index.js +6 -3
  146. package/lib/es/select/index.js +9 -5
  147. package/lib/es/select/option.js +2 -1
  148. package/lib/es/sideSheet/SideSheetContent.js +6 -3
  149. package/lib/es/skeleton/index.js +3 -1
  150. package/lib/es/slider/index.js +9 -5
  151. package/lib/es/space/index.js +2 -1
  152. package/lib/es/spin/index.js +7 -3
  153. package/lib/es/switch/index.js +6 -4
  154. package/lib/es/table/Table.d.ts +1 -1
  155. package/lib/es/table/Table.js +6 -3
  156. package/lib/es/tabs/TabBar.d.ts +1 -0
  157. package/lib/es/tabs/TabBar.js +10 -2
  158. package/lib/es/tabs/TabPane.js +7 -3
  159. package/lib/es/tabs/index.js +2 -1
  160. package/lib/es/tabs/interface.d.ts +1 -0
  161. package/lib/es/tag/index.d.ts +2 -0
  162. package/lib/es/tag/index.js +56 -9
  163. package/lib/es/tag/interface.d.ts +1 -0
  164. package/lib/es/tagInput/index.js +7 -4
  165. package/lib/es/timePicker/Combobox.js +3 -1
  166. package/lib/es/toast/toast.js +6 -3
  167. package/lib/es/transfer/index.js +2 -1
  168. package/lib/es/tree/treeNode.js +2 -1
  169. package/lib/es/treeSelect/index.js +8 -5
  170. package/lib/es/typography/base.js +2 -1
  171. package/lib/es/typography/title.d.ts +1 -1
  172. package/lib/es/upload/index.d.ts +1 -1
  173. package/lib/es/upload/index.js +13 -6
  174. package/list/index.tsx +16 -4
  175. package/modal/ConfirmModal.tsx +1 -1
  176. package/modal/Modal.tsx +2 -0
  177. package/modal/ModalContent.tsx +33 -21
  178. package/navigation/Item.tsx +1 -1
  179. package/notification/notice.tsx +16 -4
  180. package/package.json +9 -9
  181. package/pagination/index.tsx +16 -2
  182. package/popconfirm/index.tsx +11 -3
  183. package/radio/radio.tsx +10 -2
  184. package/rating/item.tsx +1 -1
  185. package/scrollList/index.tsx +19 -3
  186. package/select/index.tsx +13 -6
  187. package/select/option.tsx +5 -1
  188. package/sideSheet/SideSheetContent.tsx +3 -3
  189. package/skeleton/index.tsx +1 -1
  190. package/slider/index.tsx +5 -3
  191. package/space/index.tsx +1 -1
  192. package/spin/index.tsx +15 -9
  193. package/switch/index.tsx +9 -14
  194. package/table/Table.tsx +5 -3
  195. package/table/_story/v2/index.js +2 -1
  196. package/table/_story/v2/radioRowSelection.tsx +107 -0
  197. package/tabs/TabBar.tsx +8 -1
  198. package/tabs/TabPane.tsx +10 -4
  199. package/tabs/index.tsx +2 -1
  200. package/tabs/interface.ts +1 -0
  201. package/tag/index.tsx +32 -2
  202. package/tag/interface.ts +1 -0
  203. package/tagInput/index.tsx +3 -2
  204. package/timePicker/Combobox.tsx +6 -1
  205. package/toast/toast.tsx +3 -3
  206. package/transfer/index.tsx +1 -0
  207. package/tree/treeNode.tsx +1 -1
  208. package/treeSelect/index.tsx +16 -4
  209. package/typography/base.tsx +1 -1
  210. package/upload/index.tsx +107 -38
@@ -220,11 +220,13 @@ class DatePicker extends _baseComponent.default {
220
220
  className: wrapCls,
221
221
  style: dropdownStyle
222
222
  }, topSlot && /*#__PURE__*/_react.default.createElement("div", {
223
- className: "".concat(_constants.cssClasses.PREFIX, "-topSlot")
223
+ className: "".concat(_constants.cssClasses.PREFIX, "-topSlot"),
224
+ "x-semi-prop": "topSlot"
224
225
  }, topSlot), insetInput && /*#__PURE__*/_react.default.createElement(_dateInput.default, (0, _assign.default)({}, insetInputProps, {
225
226
  insetInput: true
226
227
  })), this.adapter.typeIsYearOrMonth() ? this.renderYearMonthPanel(locale, localeCode) : this.renderMonthGrid(locale, localeCode, dateFnsLocale), this.renderQuickControls(), bottomSlot && /*#__PURE__*/_react.default.createElement("div", {
227
- className: "".concat(_constants.cssClasses.PREFIX, "-bottomSlot")
228
+ className: "".concat(_constants.cssClasses.PREFIX, "-bottomSlot"),
229
+ "x-semi-prop": "bottomSlot"
228
230
  }, bottomSlot), this.renderFooter(locale, localeCode));
229
231
  };
230
232
 
@@ -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<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
20
+ type: PropTypes.Requireable<"date" | "dateTime" | "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: () => "left" | "right" | "none" | "both";
85
+ getYAMOpenType: () => "none" | "both" | "left" | "right";
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;
@@ -80,7 +80,8 @@ const Divider = props => {
80
80
  className: dividerClassNames,
81
81
  style: (0, _assign.default)((0, _assign.default)({}, overrideDefaultStyle), style)
82
82
  }), children && layout === 'horizontal' ? typeof children === 'string' ? /*#__PURE__*/_react.default.createElement("span", {
83
- className: "".concat(prefixCls, "-divider_inner-text")
83
+ className: "".concat(prefixCls, "-divider_inner-text"),
84
+ "x-semi-prop": "children"
84
85
  }, children) : children : null);
85
86
  };
86
87
 
@@ -118,7 +118,8 @@ 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")
121
+ className: "".concat(prefixCls, "-content"),
122
+ "x-semi-prop": "render"
122
123
  }, content)));
123
124
  }
124
125
 
@@ -122,15 +122,19 @@ 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
125
+ style: imageStyle,
126
+ "x-semi-prop": "image,darkModeImage"
126
127
  }, imageNode), /*#__PURE__*/_react.default.createElement("div", {
127
128
  className: "".concat(prefixCls, "-content")
128
129
  }, title ? /*#__PURE__*/_react.default.createElement(_typography.default.Title, (0, _assign.default)({}, titleProps, {
129
- className: "".concat(prefixCls, "-title")
130
+ className: "".concat(prefixCls, "-title"),
131
+ "x-semi-prop": "title"
130
132
  }), title) : null, description ? /*#__PURE__*/_react.default.createElement("div", {
131
- className: "".concat(prefixCls, "-description")
133
+ className: "".concat(prefixCls, "-description"),
134
+ "x-semi-prop": "description"
132
135
  }, description) : null, children ? /*#__PURE__*/_react.default.createElement("div", {
133
- className: "".concat(prefixCls, "-footer")
136
+ className: "".concat(prefixCls, "-footer"),
137
+ "x-semi-prop": "children"
134
138
  }, children) : null));
135
139
  }
136
140
 
@@ -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" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "motion"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
128
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "getPopupContainer" | "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" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay" | "motion"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
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;
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,7 +459,8 @@ function withField(Component, opts) {
459
459
  });
460
460
  const extraContent = extraText ? /*#__PURE__*/_react.default.createElement("div", {
461
461
  className: extraCls,
462
- id: extraTextId
462
+ id: extraTextId,
463
+ "x-semi-prop": "extraText"
463
464
  }, extraText) : null;
464
465
  let newProps = (0, _assign.default)((0, _assign.default)({
465
466
  id: a11yId,
@@ -55,7 +55,8 @@ 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")
58
+ className: "".concat(prefixCls, "-field-label-text"),
59
+ "x-semi-prop": "label"
59
60
  }, typeof text !== 'undefined' ? text : children);
60
61
 
61
62
  const contentWithExtra = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, textContent, /*#__PURE__*/_react.default.createElement("div", {
@@ -116,7 +116,8 @@ 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
119
+ className: classes,
120
+ "x-semi-prop": "children"
120
121
  }), children);
121
122
  }
122
123
 
@@ -181,7 +181,8 @@ 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
184
+ style: rowStyle,
185
+ "x-semi-prop": "children"
185
186
  }), children));
186
187
  }
187
188
 
@@ -103,8 +103,10 @@ 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';
106
107
  const children = originChildren != null ? /*#__PURE__*/_react.default.createElement("span", {
107
- className: btnTextCls
108
+ className: btnTextCls,
109
+ "x-semi-prop": xSemiProp
108
110
  }, originChildren) : null;
109
111
 
110
112
  if (iconPosition === 'left') {
@@ -210,7 +210,8 @@ 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
213
+ className: prefixWrapperCls,
214
+ "x-semi-prop": "addonBefore"
214
215
  }, addonBefore);
215
216
  }
216
217
 
@@ -229,7 +230,8 @@ class Input extends _baseComponent.default {
229
230
  ["".concat(prefixCls, "-append-icon")]: (0, _utils.isSemiIcon)(addonAfter)
230
231
  });
231
232
  return /*#__PURE__*/_react.default.createElement("div", {
232
- className: prefixWrapperCls
233
+ className: prefixWrapperCls,
234
+ "x-semi-prop": "addonAfter"
233
235
  }, addonAfter);
234
236
  }
235
237
 
@@ -309,7 +311,8 @@ class Input extends _baseComponent.default {
309
311
  className: prefixWrapperCls,
310
312
  onMouseDown: this.handlePreventMouseDown,
311
313
  onClick: this.handleClickPrefixOrSuffix,
312
- id: insetLabelId
314
+ id: insetLabelId,
315
+ "x-semi-prop": "prefix,insetLabel"
313
316
  }, labelNode);
314
317
  }
315
318
 
@@ -346,7 +349,8 @@ class Input extends _baseComponent.default {
346
349
  return /*#__PURE__*/_react.default.createElement("div", {
347
350
  className: suffixWrapperCls,
348
351
  onMouseDown: this.handlePreventMouseDown,
349
- onClick: this.handleClickPrefixOrSuffix
352
+ onClick: this.handleClickPrefixOrSuffix,
353
+ "x-semi-prop": "suffix"
350
354
  }, suffix);
351
355
  }
352
356
 
@@ -447,7 +451,7 @@ class Input extends _baseComponent.default {
447
451
  }
448
452
 
449
453
  if (validateStatus === 'error') {
450
- inputProps['aria-invalid'] = "true";
454
+ inputProps['aria-invalid'] = 'true';
451
455
  }
452
456
 
453
457
  return (
@@ -55,7 +55,8 @@ 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")
58
+ className: "".concat(_constants.cssClasses.PREFIX, "-empty"),
59
+ "x-semi-prop": "emptyContent"
59
60
  }, emptyContent);
60
61
  } else {
61
62
  return /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
@@ -140,7 +141,8 @@ class List extends _baseComponent.default {
140
141
  className: wrapperCls,
141
142
  style: style
142
143
  }, header ? /*#__PURE__*/_react.default.createElement("div", {
143
- className: "".concat(_constants.cssClasses.PREFIX, "-header")
144
+ className: "".concat(_constants.cssClasses.PREFIX, "-header"),
145
+ "x-semi-prop": "header"
144
146
  }, header) : null, /*#__PURE__*/_react.default.createElement(_listContext.default.Provider, {
145
147
  value: {
146
148
  grid,
@@ -151,7 +153,8 @@ class List extends _baseComponent.default {
151
153
  spinning: loading,
152
154
  size: "large"
153
155
  }, this.wrapChildren(childrenList, children))), footer ? /*#__PURE__*/_react.default.createElement("div", {
154
- className: "".concat(_constants.cssClasses.PREFIX, "-footer")
156
+ className: "".concat(_constants.cssClasses.PREFIX, "-footer"),
157
+ "x-semi-prop": "footer"
155
158
  }, footer) : null, loadMore ? loadMore : null);
156
159
  }
157
160
 
@@ -129,7 +129,8 @@ const ConfirmModal = props => {
129
129
  icon: iconNode,
130
130
  visible: visible
131
131
  }, rest), /*#__PURE__*/_react.default.createElement("div", {
132
- className: contentCls
132
+ className: contentCls,
133
+ "x-semi-prop": "content"
133
134
  }, content));
134
135
  };
135
136
 
@@ -118,7 +118,9 @@ class Modal extends _baseComponent.default {
118
118
  onClick: this.handleCancel,
119
119
  loading: cancelLoading,
120
120
  type: "tertiary"
121
- }, this.props.cancelButtonProps), cancelText || locale.cancel);
121
+ }, this.props.cancelButtonProps, {
122
+ "x-semi-children-alias": "cancelText"
123
+ }), cancelText || locale.cancel);
122
124
  }
123
125
  };
124
126
 
@@ -130,7 +132,9 @@ class Modal extends _baseComponent.default {
130
132
  theme: "solid",
131
133
  loading: confirmLoading,
132
134
  onClick: this.handleOk
133
- }, this.props.okButtonProps), okText || locale.confirm)));
135
+ }, this.props.okButtonProps, {
136
+ "x-semi-children-alias": "okText"
137
+ }), okText || locale.confirm)));
134
138
  }; // getDialog = () => {
135
139
  // const {
136
140
  // footer,
@@ -121,7 +121,9 @@ 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, null);
124
+ const iconType = closeIcon || /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
125
+ "x-semi-prop": "closeIcon"
126
+ });
125
127
 
126
128
  closer = /*#__PURE__*/_react.default.createElement(_iconButton.default, {
127
129
  "aria-label": "close",
@@ -143,7 +145,8 @@ class ModalContent extends _baseComponent.default {
143
145
  icon
144
146
  } = this.props;
145
147
  return icon ? /*#__PURE__*/_react.default.createElement("span", {
146
- className: "".concat(_constants.cssClasses.DIALOG, "-icon-wrapper")
148
+ className: "".concat(_constants.cssClasses.DIALOG, "-icon-wrapper"),
149
+ "x-semi-prop": "icon"
147
150
  }, icon) : null;
148
151
  };
149
152
 
@@ -162,7 +165,8 @@ class ModalContent extends _baseComponent.default {
162
165
  }, icon, /*#__PURE__*/_react.default.createElement(_typography.default.Title, {
163
166
  heading: 5,
164
167
  className: "".concat(_constants.cssClasses.DIALOG, "-title"),
165
- id: "".concat(_constants.cssClasses.DIALOG, "-title")
168
+ id: "".concat(_constants.cssClasses.DIALOG, "-title"),
169
+ "x-semi-prop": "title"
166
170
  }, title), closer);
167
171
  };
168
172
 
@@ -181,12 +185,14 @@ class ModalContent extends _baseComponent.default {
181
185
  return hasHeader ? /*#__PURE__*/_react.default.createElement("div", {
182
186
  className: bodyCls,
183
187
  id: "".concat(_constants.cssClasses.DIALOG, "-body"),
184
- style: bodyStyle
188
+ style: bodyStyle,
189
+ "x-semi-prop": "children"
185
190
  }, children) : /*#__PURE__*/_react.default.createElement("div", {
186
191
  className: "".concat(_constants.cssClasses.DIALOG, "-body-wrapper")
187
192
  }, icon, /*#__PURE__*/_react.default.createElement("div", {
188
193
  className: bodyCls,
189
- style: bodyStyle
194
+ style: bodyStyle,
195
+ "x-semi-prop": "children"
190
196
  }, children), closer);
191
197
  };
192
198
 
@@ -218,7 +224,8 @@ class ModalContent extends _baseComponent.default {
218
224
  const body = this.renderBody();
219
225
  const header = this.renderHeader();
220
226
  const footer = props.footer ? /*#__PURE__*/_react.default.createElement("div", {
221
- className: "".concat(_constants.cssClasses.DIALOG, "-footer")
227
+ className: "".concat(_constants.cssClasses.DIALOG, "-footer"),
228
+ "x-semi-prop": "footer"
222
229
  }, props.footer) : null;
223
230
 
224
231
  const dialogElement =
@@ -11,7 +11,7 @@ export interface NavItemProps extends ItemProps, BaseProps {
11
11
  itemKey?: React.ReactText;
12
12
  level?: number;
13
13
  link?: string;
14
- linkOptions?: React.HTMLAttributes<HTMLLinkElement>;
14
+ linkOptions?: React.AnchorHTMLAttributes<HTMLAnchorElement>;
15
15
  text?: React.ReactNode;
16
16
  tooltipHideDelay?: number;
17
17
  tooltipShowDelay?: number;
@@ -143,7 +143,8 @@ class Notice extends _baseComponent.default {
143
143
 
144
144
  if (iconType) {
145
145
  return /*#__PURE__*/_react.default.createElement("div", {
146
- className: iconCls
146
+ className: iconCls,
147
+ "x-semi-prop": "icon"
147
148
  }, (0, _utils.isSemiIcon)(iconType) ? /*#__PURE__*/_react.default.cloneElement(iconType, {
148
149
  size: iconType.props.size || 'large'
149
150
  }) : iconType);
@@ -201,9 +202,11 @@ class Notice extends _baseComponent.default {
201
202
  className: "".concat(prefixCls, "-content-wrapper")
202
203
  }, title ? /*#__PURE__*/_react.default.createElement("div", {
203
204
  id: titleID,
204
- className: "".concat(prefixCls, "-title")
205
+ className: "".concat(prefixCls, "-title"),
206
+ "x-semi-prop": "title"
205
207
  }, title) : '', content ? /*#__PURE__*/_react.default.createElement("div", {
206
- className: "".concat(prefixCls, "-content")
208
+ className: "".concat(prefixCls, "-content"),
209
+ "x-semi-prop": "content"
207
210
  }, content) : ''), showClose && /*#__PURE__*/_react.default.createElement(_iconButton.default, {
208
211
  className: "".concat(prefixCls, "-icon-close"),
209
212
  type: "tertiary",
@@ -188,7 +188,8 @@ 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
191
+ className: preClassName,
192
+ "x-semi-prop": "prevText"
192
193
  }, prevText || /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronLeft, {
193
194
  size: "large"
194
195
  }));
@@ -211,7 +212,8 @@ class Pagination extends _baseComponent.default {
211
212
  "aria-disabled": nextDisabled ? true : false,
212
213
  "aria-label": "Next",
213
214
  onClick: e => !nextDisabled && this.foundation.goNext(e),
214
- className: nextClassName
215
+ className: nextClassName,
216
+ "x-semi-prop": "prevText"
215
217
  }, nextText || /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronRight, {
216
218
  size: "large"
217
219
  }));
@@ -150,13 +150,16 @@ 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")
153
+ className: "".concat(prefixCls, "-header-icon"),
154
+ "x-semi-prop": "icon"
154
155
  }, /*#__PURE__*/_react.default.isValidElement(icon) ? icon : null), /*#__PURE__*/_react.default.createElement("div", {
155
156
  className: "".concat(prefixCls, "-header-body")
156
157
  }, showTitle ? /*#__PURE__*/_react.default.createElement("div", {
157
- className: "".concat(prefixCls, "-header-title")
158
+ className: "".concat(prefixCls, "-header-title"),
159
+ "x-semi-prop": "title"
158
160
  }, title) : null, showContent ? /*#__PURE__*/_react.default.createElement("div", {
159
- className: "".concat(prefixCls, "-header-content")
161
+ className: "".concat(prefixCls, "-header-content"),
162
+ "x-semi-prop": "content"
160
163
  }, content) : null), /*#__PURE__*/_react.default.createElement(_button.default, {
161
164
  className: "".concat(prefixCls, "-btn-close"),
162
165
  icon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, null),
@@ -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" | "middle" | "large";
78
+ buttonSize?: "small" | "large" | "middle";
79
79
  isCardRadio?: boolean;
80
80
  isPureCardRadio?: boolean;
81
81
  };
@@ -188,10 +188,12 @@ 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: addonId
191
+ id: this.addonId,
192
+ "x-semi-prop": "children"
192
193
  }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/_react.default.createElement("div", {
193
194
  className: "".concat(prefix, "-extra"),
194
- id: extraId
195
+ id: this.extraId,
196
+ "x-semi-prop": "extra"
195
197
  }, extra) : null);
196
198
 
197
199
  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" | "middle" | "large">;
51
+ buttonSize: PropTypes.Requireable<"small" | "large" | "middle">;
52
52
  type: PropTypes.Requireable<"default" | "button" | "card" | "pureCard">;
53
53
  value: PropTypes.Requireable<any>;
54
54
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -126,7 +126,8 @@ 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")
129
+ className: "".concat(prefixCls, "-second"),
130
+ "x-semi-prop": "character"
130
131
  }, content)));
131
132
  }
132
133
 
@@ -55,16 +55,19 @@ 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")
58
+ className: "".concat(clsHeader, "-title"),
59
+ "x-semi-prop": this.props['x-semi-header-alias'] || "header"
59
60
  }, header), /*#__PURE__*/_react.default.createElement("div", {
60
61
  className: "".concat(clsWrapper, "-line")
61
62
  })) : null, /*#__PURE__*/_react.default.createElement("div", {
62
63
  className: "".concat(clsWrapper, "-body"),
63
64
  style: {
64
65
  height: bodyHeight ? bodyHeight : ''
65
- }
66
+ },
67
+ "x-semi-prop": "children"
66
68
  }, children), footer ? /*#__PURE__*/_react.default.createElement("div", {
67
- className: "".concat(clsWrapper, "-footer")
69
+ className: "".concat(clsWrapper, "-footer"),
70
+ "x-semi-prop": this.props['x-semi-footer-alias'] || "footer"
68
71
  }, footer) : null);
69
72
  }
70
73
 
@@ -681,7 +681,7 @@ class Select extends _baseComponent.default {
681
681
  role: "listbox",
682
682
  "aria-multiselectable": multiple,
683
683
  onScroll: e => this.foundation.handleListScroll(e)
684
- }, innerTopSlot, !loading ? listContent : this.renderLoading(), isEmpty && !loading ? this.renderEmpty() : null, innerBottomSlot), outerBottomSlot);
684
+ }, innerTopSlot, loading ? this.renderLoading() : isEmpty ? this.renderEmpty() : listContent, innerBottomSlot), outerBottomSlot);
685
685
  }
686
686
 
687
687
  renderSingleSelection(selections, filterable) {
@@ -718,7 +718,8 @@ 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
721
+ className: spanCls,
722
+ "x-semi-prop": "placeholder"
722
723
  }, renderText || renderText === 0 ? renderText : placeholder), filterable && showInput ? this.renderInput() : null));
723
724
  }
724
725
 
@@ -877,7 +878,8 @@ class Select extends _baseComponent.default {
877
878
  ["".concat(prefixcls, "-suffix-icon")]: (0, _utils2.isSemiIcon)(suffix)
878
879
  });
879
880
  return /*#__PURE__*/_react.default.createElement("div", {
880
- className: suffixWrapperCls
881
+ className: suffixWrapperCls,
882
+ "x-semi-prop": "suffix"
881
883
  }, suffix);
882
884
  }
883
885
 
@@ -896,7 +898,8 @@ class Select extends _baseComponent.default {
896
898
  });
897
899
  return /*#__PURE__*/_react.default.createElement("div", {
898
900
  className: prefixWrapperCls,
899
- id: insetLabelId
901
+ id: insetLabelId,
902
+ "x-semi-prop": "prefix,insetLabel"
900
903
  }, labelNode);
901
904
  }
902
905
 
@@ -948,7 +951,8 @@ class Select extends _baseComponent.default {
948
951
  });
949
952
  const showClear = this.props.showClear && (selections.size || inputValue) && !disabled && (isHovering || isOpen);
950
953
  const arrowContent = showArrow ? /*#__PURE__*/_react.default.createElement("div", {
951
- className: "".concat(prefixcls, "-arrow")
954
+ className: "".concat(prefixcls, "-arrow"),
955
+ "x-semi-prop": "arrowIcon"
952
956
  }, arrowIcon) : /*#__PURE__*/_react.default.createElement("div", {
953
957
  className: "".concat(prefixcls, "-arrow-empty")
954
958
  });
@@ -129,7 +129,8 @@ 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
132
+ className: optionClassName,
133
+ "x-semi-prop": "emptyContent"
133
134
  }, emptyContent || locale.emptyText));
134
135
  } // 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
135
136
 
@@ -102,7 +102,8 @@ 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")
105
+ className: "".concat(prefixCls, "-title"),
106
+ "x-semi-prop": "title"
106
107
  }, this.props.title);
107
108
  }
108
109
 
@@ -158,9 +159,11 @@ class SideSheetContent extends _react.default.PureComponent {
158
159
  className: "".concat(prefixCls, "-content")
159
160
  }, header, /*#__PURE__*/_react.default.createElement("div", {
160
161
  className: "".concat(prefixCls, "-body"),
161
- style: props.bodyStyle
162
+ style: props.bodyStyle,
163
+ "x-semi-prop": "children"
162
164
  }, props.children), props.footer ? /*#__PURE__*/_react.default.createElement("div", {
163
- className: "".concat(prefixCls, "-footer")
165
+ className: "".concat(prefixCls, "-footer"),
166
+ "x-semi-prop": "footer"
164
167
  }, props.footer) : null));
165
168
 
166
169
  return dialogElement;
@@ -71,7 +71,9 @@ 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), placeholder);
74
+ }, others, {
75
+ "x-semi-prop": "placeholder"
76
+ }), placeholder);
75
77
  } else {
76
78
  content = children;
77
79
  }
@@ -273,7 +273,7 @@ class Slider extends _baseComponent.default {
273
273
  _react.default.createElement("div", {
274
274
  className: _constants.cssClasses.TRACK,
275
275
  style: trackStyle,
276
- onClick: e => this.foundation.handleWrapClick(e)
276
+ onClick: this.foundation.handleWrapClick
277
277
  })
278
278
  );
279
279
  };
@@ -301,7 +301,7 @@ class Slider extends _baseComponent.default {
301
301
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
302
302
  _react.default.createElement("span", {
303
303
  key: mark,
304
- onClick: e => this.foundation.handleWrapClick(e),
304
+ onClick: this.foundation.handleWrapClick,
305
305
  className: markClass,
306
306
  style: {
307
307
  [stylePos]: "calc(".concat(markPercent * 100, "% - 2px)")
@@ -329,12 +329,16 @@ class Slider extends _baseComponent.default {
329
329
 
330
330
  const activeResult = this.foundation.isMarkActive(Number(mark));
331
331
  const markPercent = (Number(mark) - min) / (max - min);
332
- return activeResult ? /*#__PURE__*/_react.default.createElement("span", {
332
+ return activeResult ?
333
+ /*#__PURE__*/
334
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
335
+ _react.default.createElement("span", {
333
336
  key: mark,
334
337
  className: (0, _classnames.default)((0, _concat.default)(_context3 = "".concat(prefixCls, "-mark")).call(_context3, vertical && verticalReverse ? '-reverse' : '')),
335
338
  style: {
336
339
  [stylePos]: "".concat(markPercent * 100, "%")
337
- }
340
+ },
341
+ onClick: this.foundation.handleWrapClick
338
342
  }, marks[mark]) : null;
339
343
  })) : null;
340
344
  return labelContent;
@@ -614,7 +618,7 @@ class Slider extends _baseComponent.default {
614
618
  onMouseLeave: () => this.foundation.handleWrapperLeave()
615
619
  }, /*#__PURE__*/_react.default.createElement("div", {
616
620
  className: "".concat(prefixCls, "-rail"),
617
- onClick: e => this.foundation.handleWrapClick(e),
621
+ onClick: this.foundation.handleWrapClick,
618
622
  style: this.props.railStyle
619
623
  }), this.renderTrack(), this.renderStepDot(), /*#__PURE__*/_react.default.createElement("div", null, this.renderHandle()), this.renderLabel(), /*#__PURE__*/_react.default.createElement("div", {
620
624
  className: boundaryClass