@douyinfe/semi-ui 2.14.0-alpha.0 → 2.14.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 (223) hide show
  1. package/autoComplete/_story/CustomTrigger/index.jsx +1 -1
  2. package/avatar/_story/avatar.stories.js +62 -5
  3. package/avatar/avatarGroup.tsx +16 -4
  4. package/avatar/index.tsx +88 -17
  5. package/backtop/index.tsx +11 -7
  6. package/badge/index.tsx +1 -1
  7. package/banner/index.tsx +5 -5
  8. package/breadcrumb/index.tsx +5 -3
  9. package/button/Button.tsx +10 -8
  10. package/calendar/_story/calendar.stories.js +125 -1
  11. package/card/index.tsx +43 -41
  12. package/carousel/CarouselArrow.tsx +2 -0
  13. package/carousel/index.tsx +1 -0
  14. package/cascader/_story/cascader.stories.js +21 -0
  15. package/cascader/index.tsx +103 -122
  16. package/cascader/item.tsx +1 -1
  17. package/checkbox/checkbox.tsx +13 -2
  18. package/collapsible/index.tsx +8 -1
  19. package/datePicker/dateInput.tsx +1 -0
  20. package/datePicker/datePicker.tsx +13 -5
  21. package/dist/css/semi.css +73 -35
  22. package/dist/css/semi.min.css +1 -1
  23. package/dist/umd/semi-ui.js +957 -545
  24. package/dist/umd/semi-ui.js.map +1 -1
  25. package/dist/umd/semi-ui.min.js +1 -1
  26. package/dist/umd/semi-ui.min.js.map +1 -1
  27. package/divider/index.tsx +8 -4
  28. package/dropdown/index.tsx +1 -1
  29. package/empty/index.tsx +13 -5
  30. package/form/_story/form.stories.tsx +9 -2
  31. package/form/field.tsx +1 -1
  32. package/form/hoc/withField.tsx +1 -1
  33. package/form/label.tsx +1 -1
  34. package/grid/col.tsx +1 -1
  35. package/grid/row.tsx +1 -1
  36. package/gulpfile.js +5 -5
  37. package/iconButton/index.tsx +2 -1
  38. package/input/_story/input.stories.js +32 -3
  39. package/input/index.tsx +45 -23
  40. package/input/inputGroup.tsx +3 -1
  41. package/input/textarea.tsx +2 -14
  42. package/lib/cjs/_base/base.css +36 -14
  43. package/lib/cjs/avatar/avatarGroup.d.ts +1 -1
  44. package/lib/cjs/avatar/avatarGroup.js +36 -9
  45. package/lib/cjs/avatar/index.d.ts +5 -0
  46. package/lib/cjs/avatar/index.js +121 -41
  47. package/lib/cjs/backtop/index.js +2 -1
  48. package/lib/cjs/badge/index.js +2 -1
  49. package/lib/cjs/banner/index.js +9 -4
  50. package/lib/cjs/breadcrumb/index.js +4 -3
  51. package/lib/cjs/button/Button.js +13 -3
  52. package/lib/cjs/card/index.js +10 -5
  53. package/lib/cjs/carousel/CarouselArrow.js +6 -2
  54. package/lib/cjs/carousel/index.js +2 -1
  55. package/lib/cjs/cascader/index.js +15 -8
  56. package/lib/cjs/cascader/item.js +2 -1
  57. package/lib/cjs/checkbox/checkbox.js +6 -2
  58. package/lib/cjs/collapsible/index.js +2 -1
  59. package/lib/cjs/datePicker/dateInput.js +2 -1
  60. package/lib/cjs/datePicker/datePicker.js +4 -2
  61. package/lib/cjs/divider/index.js +2 -1
  62. package/lib/cjs/dropdown/index.js +2 -1
  63. package/lib/cjs/empty/index.js +8 -4
  64. package/lib/cjs/form/baseForm.d.ts +1 -1
  65. package/lib/cjs/form/field.d.ts +1 -1
  66. package/lib/cjs/form/field.js +2 -2
  67. package/lib/cjs/form/hoc/withField.js +2 -1
  68. package/lib/cjs/form/label.js +2 -1
  69. package/lib/cjs/grid/col.js +2 -1
  70. package/lib/cjs/grid/row.js +2 -1
  71. package/lib/cjs/iconButton/index.js +3 -1
  72. package/lib/cjs/input/index.d.ts +0 -1
  73. package/lib/cjs/input/index.js +41 -36
  74. package/lib/cjs/input/inputGroup.js +2 -3
  75. package/lib/cjs/input/textarea.js +8 -15
  76. package/lib/cjs/list/index.js +6 -3
  77. package/lib/cjs/modal/ConfirmModal.js +2 -1
  78. package/lib/cjs/modal/Modal.js +6 -2
  79. package/lib/cjs/modal/ModalContent.js +13 -6
  80. package/lib/cjs/notification/notice.js +6 -3
  81. package/lib/cjs/pagination/index.js +4 -2
  82. package/lib/cjs/popconfirm/index.js +6 -3
  83. package/lib/cjs/radio/radio.d.ts +4 -0
  84. package/lib/cjs/radio/radio.js +32 -9
  85. package/lib/cjs/radio/radioInner.d.ts +6 -0
  86. package/lib/cjs/radio/radioInner.js +13 -4
  87. package/lib/cjs/rating/item.js +2 -1
  88. package/lib/cjs/scrollList/index.js +6 -3
  89. package/lib/cjs/select/index.js +10 -4
  90. package/lib/cjs/select/option.js +2 -1
  91. package/lib/cjs/sideSheet/SideSheetContent.js +6 -3
  92. package/lib/cjs/skeleton/index.js +3 -1
  93. package/lib/cjs/space/index.js +2 -1
  94. package/lib/cjs/spin/index.js +7 -3
  95. package/lib/cjs/switch/index.js +6 -4
  96. package/lib/cjs/table/ColumnFilter.js +2 -2
  97. package/lib/cjs/table/ColumnSelection.js +2 -2
  98. package/lib/cjs/table/Table.js +6 -3
  99. package/lib/cjs/tabs/TabBar.js +2 -1
  100. package/lib/cjs/tabs/TabPane.js +5 -2
  101. package/lib/cjs/tagInput/index.js +33 -22
  102. package/lib/cjs/timePicker/Combobox.js +3 -1
  103. package/lib/cjs/timePicker/TimePicker.js +2 -0
  104. package/lib/cjs/toast/toast.js +6 -3
  105. package/lib/cjs/tooltip/index.js +6 -1
  106. package/lib/cjs/transfer/index.js +6 -5
  107. package/lib/cjs/tree/treeNode.js +4 -3
  108. package/lib/cjs/treeSelect/index.js +10 -3
  109. package/lib/cjs/typography/base.js +2 -1
  110. package/lib/cjs/typography/title.d.ts +1 -1
  111. package/lib/cjs/upload/index.d.ts +1 -1
  112. package/lib/cjs/upload/index.js +13 -6
  113. package/lib/es/_base/base.css +36 -14
  114. package/lib/es/avatar/avatarGroup.d.ts +1 -1
  115. package/lib/es/avatar/avatarGroup.js +37 -9
  116. package/lib/es/avatar/index.d.ts +5 -0
  117. package/lib/es/avatar/index.js +119 -38
  118. package/lib/es/backtop/index.js +2 -1
  119. package/lib/es/badge/index.js +2 -1
  120. package/lib/es/banner/index.js +9 -4
  121. package/lib/es/breadcrumb/index.js +4 -3
  122. package/lib/es/button/Button.js +11 -3
  123. package/lib/es/card/index.js +10 -5
  124. package/lib/es/carousel/CarouselArrow.js +6 -2
  125. package/lib/es/carousel/index.js +2 -1
  126. package/lib/es/cascader/index.js +15 -8
  127. package/lib/es/cascader/item.js +2 -1
  128. package/lib/es/checkbox/checkbox.js +6 -2
  129. package/lib/es/collapsible/index.js +2 -1
  130. package/lib/es/datePicker/dateInput.js +2 -1
  131. package/lib/es/datePicker/datePicker.js +4 -2
  132. package/lib/es/divider/index.js +2 -1
  133. package/lib/es/dropdown/index.js +2 -1
  134. package/lib/es/empty/index.js +8 -4
  135. package/lib/es/form/baseForm.d.ts +1 -1
  136. package/lib/es/form/field.d.ts +1 -1
  137. package/lib/es/form/field.js +1 -1
  138. package/lib/es/form/hoc/withField.js +2 -1
  139. package/lib/es/form/label.js +2 -1
  140. package/lib/es/grid/col.js +2 -1
  141. package/lib/es/grid/row.js +2 -1
  142. package/lib/es/iconButton/index.js +3 -1
  143. package/lib/es/input/index.d.ts +0 -1
  144. package/lib/es/input/index.js +41 -36
  145. package/lib/es/input/inputGroup.js +2 -3
  146. package/lib/es/input/textarea.js +8 -15
  147. package/lib/es/list/index.js +6 -3
  148. package/lib/es/modal/ConfirmModal.js +2 -1
  149. package/lib/es/modal/Modal.js +6 -2
  150. package/lib/es/modal/ModalContent.js +13 -6
  151. package/lib/es/notification/notice.js +6 -3
  152. package/lib/es/pagination/index.js +4 -2
  153. package/lib/es/popconfirm/index.js +6 -3
  154. package/lib/es/radio/radio.d.ts +4 -0
  155. package/lib/es/radio/radio.js +32 -9
  156. package/lib/es/radio/radioInner.d.ts +6 -0
  157. package/lib/es/radio/radioInner.js +13 -4
  158. package/lib/es/rating/item.js +2 -1
  159. package/lib/es/scrollList/index.js +6 -3
  160. package/lib/es/select/index.js +10 -4
  161. package/lib/es/select/option.js +2 -1
  162. package/lib/es/sideSheet/SideSheetContent.js +6 -3
  163. package/lib/es/skeleton/index.js +3 -1
  164. package/lib/es/space/index.js +2 -1
  165. package/lib/es/spin/index.js +7 -3
  166. package/lib/es/switch/index.js +6 -4
  167. package/lib/es/table/ColumnFilter.js +1 -1
  168. package/lib/es/table/ColumnSelection.js +1 -1
  169. package/lib/es/table/Table.js +6 -3
  170. package/lib/es/tabs/TabBar.js +2 -1
  171. package/lib/es/tabs/TabPane.js +5 -2
  172. package/lib/es/tagInput/index.js +31 -22
  173. package/lib/es/timePicker/Combobox.js +3 -1
  174. package/lib/es/timePicker/TimePicker.js +2 -0
  175. package/lib/es/toast/toast.js +6 -3
  176. package/lib/es/tooltip/index.js +6 -1
  177. package/lib/es/transfer/index.js +3 -2
  178. package/lib/es/tree/treeNode.js +3 -2
  179. package/lib/es/treeSelect/index.js +10 -3
  180. package/lib/es/typography/base.js +2 -1
  181. package/lib/es/typography/title.d.ts +1 -1
  182. package/lib/es/upload/index.d.ts +1 -1
  183. package/lib/es/upload/index.js +13 -6
  184. package/list/index.tsx +16 -4
  185. package/modal/ConfirmModal.tsx +1 -1
  186. package/modal/Modal.tsx +2 -0
  187. package/modal/ModalContent.tsx +27 -14
  188. package/notification/notice.tsx +16 -4
  189. package/package.json +8 -8
  190. package/pagination/index.tsx +16 -2
  191. package/popconfirm/index.tsx +11 -3
  192. package/radio/_story/radio.stories.js +9 -6
  193. package/radio/radio.tsx +37 -7
  194. package/radio/radioInner.tsx +11 -2
  195. package/rating/item.tsx +1 -1
  196. package/scrollList/index.tsx +19 -3
  197. package/select/index.tsx +13 -4
  198. package/select/option.tsx +5 -1
  199. package/sideSheet/SideSheetContent.tsx +3 -3
  200. package/skeleton/index.tsx +1 -1
  201. package/space/index.tsx +1 -1
  202. package/spin/index.tsx +15 -9
  203. package/switch/index.tsx +9 -14
  204. package/table/ColumnFilter.tsx +1 -1
  205. package/table/ColumnSelection.tsx +1 -1
  206. package/table/Table.tsx +5 -3
  207. package/table/_story/v2/FixedOnHeaderRow/index.jsx +3 -0
  208. package/tabs/TabBar.tsx +1 -1
  209. package/tabs/TabPane.tsx +9 -4
  210. package/tabs/_story/tabs.stories.js +36 -0
  211. package/tag/_story/tag.stories.js +1 -1
  212. package/tagInput/index.tsx +32 -15
  213. package/timePicker/Combobox.tsx +6 -1
  214. package/timePicker/TimePicker.tsx +1 -0
  215. package/toast/toast.tsx +3 -3
  216. package/tooltip/index.tsx +4 -1
  217. package/transfer/index.tsx +2 -1
  218. package/tree/treeNode.tsx +2 -2
  219. package/treeSelect/_story/treeSelect.stories.js +161 -2
  220. package/treeSelect/index.tsx +17 -3
  221. package/typography/base.tsx +1 -1
  222. package/upload/_story/upload.stories.js +152 -0
  223. package/upload/index.tsx +107 -38
@@ -93,7 +93,10 @@ class RadioInner extends _baseComponent.default {
93
93
  isPureCardRadioGroup,
94
94
  addonId,
95
95
  extraId,
96
- 'aria-label': ariaLabel
96
+ 'aria-label': ariaLabel,
97
+ focusInner,
98
+ onInputFocus,
99
+ onInputBlur
97
100
  } = this.props;
98
101
  const {
99
102
  checked
@@ -106,6 +109,8 @@ class RadioInner extends _baseComponent.default {
106
109
  ["".concat(prefix, "-inner-pureCardRadio")]: isPureCardRadioGroup
107
110
  });
108
111
  const inner = (0, _classnames.default)({
112
+ ["".concat(prefix, "-focus")]: focusInner,
113
+ ["".concat(prefix, "-focus-border")]: focusInner && !checked,
109
114
  ["".concat(prefix, "-inner-display")]: !isButtonRadio
110
115
  });
111
116
  return /*#__PURE__*/_react.default.createElement("span", {
@@ -114,7 +119,6 @@ class RadioInner extends _baseComponent.default {
114
119
  ref: ref => {
115
120
  this.inputEntity = ref;
116
121
  },
117
- // eslint-disable-next-line jsx-a11y/no-autofocus
118
122
  autoFocus: autoFocus,
119
123
  type: mode === 'advanced' ? 'checkbox' : 'radio',
120
124
  checked: Boolean(checked),
@@ -123,7 +127,9 @@ class RadioInner extends _baseComponent.default {
123
127
  name: name,
124
128
  "aria-label": ariaLabel,
125
129
  "aria-labelledby": addonId,
126
- "aria-describedby": extraId
130
+ "aria-describedby": extraId,
131
+ onFocus: onInputFocus,
132
+ onBlur: onInputBlur
127
133
  }), /*#__PURE__*/_react.default.createElement("span", {
128
134
  className: inner
129
135
  }, checked ? /*#__PURE__*/_react.default.createElement(_semiIcons.IconRadio, null) : null));
@@ -138,7 +144,10 @@ RadioInner.propTypes = {
138
144
  isButtonRadio: _propTypes.default.bool,
139
145
  onChange: _propTypes.default.func,
140
146
  mode: _propTypes.default.oneOf(['advanced', '']),
141
- 'aria-label': _propTypes.default.string
147
+ 'aria-label': _propTypes.default.string,
148
+ focusInner: _propTypes.default.bool,
149
+ onInputFocus: _propTypes.default.func,
150
+ onInputBlur: _propTypes.default.func
142
151
  };
143
152
  RadioInner.defaultProps = {
144
153
  onChange: _noop2.default,
@@ -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
 
@@ -483,6 +483,8 @@ class Select extends _baseComponent.default {
483
483
  e.nativeEvent.stopImmediatePropagation();
484
484
  this.foundation.handleClearClick(e);
485
485
  }
486
+ /* istanbul ignore next */
487
+
486
488
 
487
489
  onClearBtnEnterPress(e) {
488
490
  this.foundation.handleClearBtnEnterPress(e);
@@ -718,7 +720,8 @@ class Select extends _baseComponent.default {
718
720
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
719
721
  className: contentWrapperCls
720
722
  }, /*#__PURE__*/_react.default.createElement("span", {
721
- className: spanCls
723
+ className: spanCls,
724
+ "x-semi-prop": "placeholder"
722
725
  }, renderText || renderText === 0 ? renderText : placeholder), filterable && showInput ? this.renderInput() : null));
723
726
  }
724
727
 
@@ -877,7 +880,8 @@ class Select extends _baseComponent.default {
877
880
  ["".concat(prefixcls, "-suffix-icon")]: (0, _utils2.isSemiIcon)(suffix)
878
881
  });
879
882
  return /*#__PURE__*/_react.default.createElement("div", {
880
- className: suffixWrapperCls
883
+ className: suffixWrapperCls,
884
+ "x-semi-prop": "suffix"
881
885
  }, suffix);
882
886
  }
883
887
 
@@ -896,7 +900,8 @@ class Select extends _baseComponent.default {
896
900
  });
897
901
  return /*#__PURE__*/_react.default.createElement("div", {
898
902
  className: prefixWrapperCls,
899
- id: insetLabelId
903
+ id: insetLabelId,
904
+ "x-semi-prop": "prefix,insetLabel"
900
905
  }, labelNode);
901
906
  }
902
907
 
@@ -948,7 +953,8 @@ class Select extends _baseComponent.default {
948
953
  });
949
954
  const showClear = this.props.showClear && (selections.size || inputValue) && !disabled && (isHovering || isOpen);
950
955
  const arrowContent = showArrow ? /*#__PURE__*/_react.default.createElement("div", {
951
- className: "".concat(prefixcls, "-arrow")
956
+ className: "".concat(prefixcls, "-arrow"),
957
+ "x-semi-prop": "arrowIcon"
952
958
  }, arrowIcon) : /*#__PURE__*/_react.default.createElement("div", {
953
959
  className: "".concat(prefixcls, "-arrow-empty")
954
960
  });
@@ -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
  }
@@ -95,7 +95,8 @@ class Space extends _react.PureComponent {
95
95
  const childrenNodes = (0, _utils.flatten)(children);
96
96
  return /*#__PURE__*/_react.default.createElement("div", {
97
97
  className: classNames,
98
- style: realStyle
98
+ style: realStyle,
99
+ "x-semi-prop": "children"
99
100
  }, childrenNodes);
100
101
  }
101
102
 
@@ -89,8 +89,11 @@ class Spin extends _baseComponent.default {
89
89
  return loading ? /*#__PURE__*/_react.default.createElement("div", {
90
90
  className: "".concat(prefixCls, "-wrapper")
91
91
  }, indicator ? /*#__PURE__*/_react.default.createElement("div", {
92
- className: spinIconCls
93
- }, indicator) : /*#__PURE__*/_react.default.createElement(_icon.default, null), tip ? /*#__PURE__*/_react.default.createElement("div", null, tip) : null) : null;
92
+ className: spinIconCls,
93
+ "x-semi-prop": "indicator"
94
+ }, indicator) : /*#__PURE__*/_react.default.createElement(_icon.default, null), tip ? /*#__PURE__*/_react.default.createElement("div", {
95
+ "x-semi-prop": "tip"
96
+ }, tip) : null) : null;
94
97
  }
95
98
 
96
99
  render() {
@@ -117,7 +120,8 @@ class Spin extends _baseComponent.default {
117
120
  style: style
118
121
  }, this.renderSpin(), /*#__PURE__*/_react.default.createElement("div", {
119
122
  className: "".concat(prefixCls, "-children"),
120
- style: childStyle
123
+ style: childStyle,
124
+ "x-semi-prop": "children"
121
125
  }, children));
122
126
  }
123
127
 
@@ -139,19 +139,21 @@ class Switch extends _baseComponent.default {
139
139
  className: _constants.cssClasses.KNOB,
140
140
  "aria-hidden": true
141
141
  }), showCheckedText ? /*#__PURE__*/_react.default.createElement("div", {
142
- className: _constants.cssClasses.CHECKED_TEXT
142
+ className: _constants.cssClasses.CHECKED_TEXT,
143
+ "x-semi-prop": "checkedText"
143
144
  }, checkedText) : null, showUncheckedText ? /*#__PURE__*/_react.default.createElement("div", {
144
- className: _constants.cssClasses.UNCHECKED_TEXT
145
+ className: _constants.cssClasses.UNCHECKED_TEXT,
146
+ "x-semi-prop": "uncheckedText"
145
147
  }, uncheckedText) : null, /*#__PURE__*/_react.default.createElement("input", (0, _assign.default)({}, switchProps, {
146
148
  ref: this.switchRef,
147
149
  id: id,
148
- role: 'switch',
150
+ role: "switch",
149
151
  "aria-checked": nativeControlChecked,
150
152
  "aria-invalid": this.props['aria-invalid'],
151
153
  "aria-errormessage": this.props['aria-errormessage'],
152
154
  "aria-label": this.props['aria-label'],
153
155
  "aria-labelledby": this.props['aria-labelledby'],
154
- "aria-describedby": this.props["aria-describedby"],
156
+ "aria-describedby": this.props['aria-describedby'],
155
157
  "aria-disabled": this.props['disabled'],
156
158
  onChange: e => this.foundation.handleChange(e.target.checked, e),
157
159
  onFocus: e => this.handleFocusVisible(e),
@@ -42,7 +42,7 @@ var _dropdown = _interopRequireDefault(require("../dropdown"));
42
42
 
43
43
  var _radio = require("../radio");
44
44
 
45
- var _checkbox = _interopRequireDefault(require("../checkbox"));
45
+ var _checkbox = require("../checkbox");
46
46
 
47
47
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
48
48
 
@@ -126,7 +126,7 @@ function renderDropdown() {
126
126
  }) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Item, {
127
127
  key: key,
128
128
  onClick: changeFn
129
- }, filterMultiple ? /*#__PURE__*/_react.default.createElement(_checkbox.default, {
129
+ }, filterMultiple ? /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, {
130
130
  checked: checked
131
131
  }, text) : /*#__PURE__*/_react.default.createElement(_radio.Radio, {
132
132
  checked: checked
@@ -26,7 +26,7 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
26
26
 
27
27
  var _tableSelectionCellFoundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/table/tableSelectionCellFoundation"));
28
28
 
29
- var _checkbox = _interopRequireDefault(require("../checkbox"));
29
+ var _checkbox = require("../checkbox");
30
30
 
31
31
  /* eslint-disable max-len */
32
32
 
@@ -78,7 +78,7 @@ class TableSelectionCell extends _baseComponent.default {
78
78
  }, className);
79
79
  return /*#__PURE__*/_react.default.createElement("span", {
80
80
  className: wrapCls
81
- }, /*#__PURE__*/_react.default.createElement(_checkbox.default, (0, _assign.default)({
81
+ }, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _assign.default)({
82
82
  "aria-label": ariaLabel
83
83
  }, checkboxProps)));
84
84
  }
@@ -642,7 +642,8 @@ class Table extends _baseComponent.default {
642
642
  }
643
643
 
644
644
  return /*#__PURE__*/(0, _react.isValidElement)(title) || typeof title === 'string' ? /*#__PURE__*/_react.default.createElement("div", {
645
- className: "".concat(prefixCls, "-title")
645
+ className: "".concat(prefixCls, "-title"),
646
+ "x-semi-prop": "title"
646
647
  }, title) : null;
647
648
  };
648
649
 
@@ -667,7 +668,8 @@ class Table extends _baseComponent.default {
667
668
  }, (locale, localeCode) => /*#__PURE__*/_react.default.createElement("div", {
668
669
  className: wrapCls
669
670
  }, /*#__PURE__*/_react.default.createElement("div", {
670
- className: "".concat(prefixCls, "-empty")
671
+ className: "".concat(prefixCls, "-empty"),
672
+ "x-semi-prop": "empty"
671
673
  }, empty || locale.emptyText)));
672
674
  };
673
675
 
@@ -687,7 +689,8 @@ class Table extends _baseComponent.default {
687
689
 
688
690
  return /*#__PURE__*/(0, _react.isValidElement)(footer) || typeof footer === 'string' ? /*#__PURE__*/_react.default.createElement("div", {
689
691
  className: "".concat(prefixCls, "-footer"),
690
- key: "footer"
692
+ key: "footer",
693
+ "x-semi-prop": "footer"
691
694
  }, footer) : null;
692
695
  };
693
696
 
@@ -271,7 +271,8 @@ class TabBar extends _react.default.Component {
271
271
  const tabBarStyle = (0, _assign.default)((0, _assign.default)({}, tabBarExtraContentDefaultStyle), tabBarExtraContentStyle);
272
272
  return /*#__PURE__*/_react.default.createElement("div", {
273
273
  className: extraCls,
274
- style: tabBarStyle
274
+ style: tabBarStyle,
275
+ "x-semi-prop": "tabBarExtraContent"
275
276
  }, tabBarExtraContent);
276
277
  }
277
278
 
@@ -143,14 +143,17 @@ class TabPane extends _react.PureComponent {
143
143
  style: style,
144
144
  "aria-hidden": active ? 'false' : 'true',
145
145
  tabIndex: 0
146
- }, (0, _getDataAttr.default)(restProps)), motion ? /*#__PURE__*/_react.default.createElement(_TabPaneTransition.default, {
146
+ }, (0, _getDataAttr.default)(restProps), {
147
+ "x-semi-prop": "children"
148
+ }), motion ? /*#__PURE__*/_react.default.createElement(_TabPaneTransition.default, {
147
149
  direction: this.getDirection(this.context.activeKey, itemKey, this.context.panes),
148
150
  motion: motion,
149
151
  mode: tabPosition === 'top' ? 'horizontal' : 'vertical',
150
152
  state: active ? 'enter' : 'leave'
151
153
  }, transitionStyle => /*#__PURE__*/_react.default.createElement("div", {
152
154
  className: "".concat(_constants.cssClasses.TABS_PANE_MOTION_OVERLAY),
153
- style: (0, _assign.default)({}, transitionStyle)
155
+ style: (0, _assign.default)({}, transitionStyle),
156
+ "x-semi-prop": "children"
154
157
  }, shouldRender ? children : null)) : shouldRender ? children : null);
155
158
  }
156
159
 
@@ -79,6 +79,8 @@ class TagInput extends _baseComponent.default {
79
79
  this.handleClearBtn = e => {
80
80
  this.foundation.handleClearBtn(e);
81
81
  };
82
+ /* istanbul ignore next */
83
+
82
84
 
83
85
  this.handleClearEnterPress = e => {
84
86
  this.foundation.handleClearEnterPress(e);
@@ -253,14 +255,18 @@ class TagInput extends _baseComponent.default {
253
255
  ["".concat(prefixCls, "-prefix-text")]: labelNode && (0, _isString2.default)(labelNode),
254
256
  // eslint-disable-next-line max-len
255
257
  ["".concat(prefixCls, "-prefix-icon")]: (0, _utils.isSemiIcon)(labelNode)
256
- }); // eslint-disable-next-line jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events
257
-
258
- return /*#__PURE__*/_react.default.createElement("div", {
259
- className: prefixWrapperCls,
260
- onMouseDown: this.handlePreventMouseDown,
261
- onClick: this.handleClickPrefixOrSuffix,
262
- id: insetLabelId
263
- }, labelNode);
258
+ });
259
+ return (
260
+ /*#__PURE__*/
261
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events
262
+ _react.default.createElement("div", {
263
+ className: prefixWrapperCls,
264
+ onMouseDown: this.handlePreventMouseDown,
265
+ onClick: this.handleClickPrefixOrSuffix,
266
+ id: insetLabelId,
267
+ "x-semi-prop": "prefix"
268
+ }, labelNode)
269
+ );
264
270
  }
265
271
 
266
272
  renderSuffix() {
@@ -276,13 +282,17 @@ class TagInput extends _baseComponent.default {
276
282
  ["".concat(prefixCls, "-suffix-text")]: suffix && (0, _isString2.default)(suffix),
277
283
  // eslint-disable-next-line max-len
278
284
  ["".concat(prefixCls, "-suffix-icon")]: (0, _utils.isSemiIcon)(suffix)
279
- }); // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
280
-
281
- return /*#__PURE__*/_react.default.createElement("div", {
282
- className: suffixWrapperCls,
283
- onMouseDown: this.handlePreventMouseDown,
284
- onClick: this.handleClickPrefixOrSuffix
285
- }, suffix);
285
+ });
286
+ return (
287
+ /*#__PURE__*/
288
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
289
+ _react.default.createElement("div", {
290
+ className: suffixWrapperCls,
291
+ onMouseDown: this.handlePreventMouseDown,
292
+ onClick: this.handleClickPrefixOrSuffix,
293
+ "x-semi-prop": "suffix"
294
+ }, suffix)
295
+ );
286
296
  }
287
297
 
288
298
  renderTags() {
@@ -306,7 +316,7 @@ class TagInput extends _baseComponent.default {
306
316
  const typoCls = (0, _classnames.default)("".concat(prefixCls, "-wrapper-typo"), {
307
317
  ["".concat(prefixCls, "-wrapper-typo-disabled")]: disabled
308
318
  });
309
- const spanNotWithPopoverCls = (0, _classnames.default)("".concat(prefixCls, "-wrapper-n"), {
319
+ const restTagsCls = (0, _classnames.default)("".concat(prefixCls, "-wrapper-n"), {
310
320
  ["".concat(prefixCls, "-wrapper-n-disabled")]: disabled
311
321
  });
312
322
  const restTags = [];
@@ -346,17 +356,18 @@ class TagInput extends _baseComponent.default {
346
356
  tags.push(item);
347
357
  }
348
358
  });
349
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tags, restTags.length > 0 && (showRestTagsPopover && !disabled ? /*#__PURE__*/_react.default.createElement(_popover.default, (0, _assign.default)({
359
+
360
+ const restTagsContent = /*#__PURE__*/_react.default.createElement("span", {
361
+ className: restTagsCls
362
+ }, "+", tagsArray.length - maxTagCount);
363
+
364
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tags, restTags.length > 0 && (showRestTagsPopover ? /*#__PURE__*/_react.default.createElement(_popover.default, (0, _assign.default)({
350
365
  content: restTags,
351
366
  showArrow: true,
352
367
  trigger: "hover",
353
368
  position: "top",
354
369
  autoAdjustOverflow: true
355
- }, restTagsPopoverProps), /*#__PURE__*/_react.default.createElement("span", {
356
- className: (0, _classnames.default)("".concat(prefixCls, "-wrapper-n"))
357
- }, "+", tagsArray.length - maxTagCount)) : /*#__PURE__*/_react.default.createElement("span", {
358
- className: spanNotWithPopoverCls
359
- }, "+".concat(tagsArray.length - maxTagCount))));
370
+ }, restTagsPopoverProps), restTagsContent) : restTagsContent));
360
371
  }
361
372
 
362
373
  blur() {
@@ -311,7 +311,9 @@ class Combobox extends _baseComponent.default {
311
311
  componentName: "TimePicker"
312
312
  }, (locale, localeCode) => /*#__PURE__*/_react.default.createElement(_index.default, {
313
313
  header: panelHeader,
314
- footer: panelFooter
314
+ footer: panelFooter,
315
+ "x-semi-header-alias": "panelHeader",
316
+ "x-semi-footer-alias": "panelFooter"
315
317
  }, this.renderAMPMSelect(locale, localeCode), this.renderHourSelect(value.getHours(), locale), this.renderMinuteSelect(value.getMinutes(), locale), this.renderSecondSelect(value.getSeconds(), locale)));
316
318
  }
317
319
 
@@ -110,6 +110,8 @@ class TimePicker extends _baseComponent.default {
110
110
 
111
111
  return panelProps;
112
112
  };
113
+ /* istanbul ignore next */
114
+
113
115
 
114
116
  this.handlePanelVisibleChange = visible => this.foundation.handleVisibleChange(visible);
115
117
 
@@ -135,7 +135,7 @@ class Toast extends _baseComponent.default {
135
135
  const btnTheme = 'borderless';
136
136
  const btnSize = 'small';
137
137
  return /*#__PURE__*/_react.default.createElement("div", {
138
- role: 'alert',
138
+ role: "alert",
139
139
  "aria-label": "".concat(type ? type : 'default', " type"),
140
140
  className: toastCls,
141
141
  style: style,
@@ -145,13 +145,16 @@ class Toast extends _baseComponent.default {
145
145
  className: "".concat(prefixCls, "-content")
146
146
  }, this.renderIcon(), /*#__PURE__*/_react.default.createElement("span", {
147
147
  className: "".concat(prefixCls, "-content-text"),
148
- style: textStyle
148
+ style: textStyle,
149
+ "x-semi-prop": "content"
149
150
  }, content), showClose && /*#__PURE__*/_react.default.createElement("div", {
150
151
  className: "".concat(prefixCls, "-close-button")
151
152
  }, /*#__PURE__*/_react.default.createElement(_index.default, {
152
153
  onClick: e => this.close(e),
153
154
  type: "tertiary",
154
- icon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, null),
155
+ icon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
156
+ "x-semi-prop": "icon"
157
+ }),
155
158
  theme: btnTheme,
156
159
  size: btnSize
157
160
  }))));
@@ -672,7 +672,12 @@ class Tooltip extends _baseComponent.default {
672
672
  children = /*#__PURE__*/(0, _react.cloneElement)(children, {
673
673
  style: childrenStyle
674
674
  });
675
- children = this.wrapSpan(children);
675
+
676
+ if (trigger !== 'custom') {
677
+ // no need to wrap span when trigger is custom, cause it don't need bind event
678
+ children = this.wrapSpan(children);
679
+ }
680
+
676
681
  this.isWrapped = true;
677
682
  } else if (! /*#__PURE__*/(0, _react.isValidElement)(children)) {
678
683
  children = this.wrapSpan(children);
@@ -62,9 +62,9 @@ var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
62
62
 
63
63
  var _localeConsumer = _interopRequireDefault(require("../locale/localeConsumer"));
64
64
 
65
- var _checkbox = _interopRequireDefault(require("../checkbox"));
65
+ var _index = require("../checkbox/index");
66
66
 
67
- var _index = _interopRequireDefault(require("../input/index"));
67
+ var _index2 = _interopRequireDefault(require("../input/index"));
68
68
 
69
69
  var _spin = _interopRequireDefault(require("../spin"));
70
70
 
@@ -212,7 +212,7 @@ class Transfer extends _baseComponent.default {
212
212
  role: "search",
213
213
  "aria-label": "Transfer filter",
214
214
  className: "".concat(prefixcls, "-filter")
215
- }, /*#__PURE__*/_react.default.createElement(_index.default, (0, _assign.default)({
215
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, (0, _assign.default)({
216
216
  prefix: /*#__PURE__*/_react.default.createElement(_semiIcons.IconSearch, null),
217
217
  placeholder: locale.placeholder,
218
218
  showClear: true,
@@ -273,13 +273,14 @@ class Transfer extends _baseComponent.default {
273
273
  ["".concat(prefixcls, "-item")]: true,
274
274
  ["".concat(prefixcls, "-item-disabled")]: item.disabled
275
275
  });
276
- return /*#__PURE__*/_react.default.createElement(_checkbox.default, {
276
+ return /*#__PURE__*/_react.default.createElement(_index.Checkbox, {
277
277
  key: index,
278
278
  disabled: item.disabled || disabled,
279
279
  className: leftItemCls,
280
280
  checked: checked,
281
281
  role: "listitem",
282
- onChange: () => this.onSelectOrRemove(item)
282
+ onChange: () => this.onSelectOrRemove(item),
283
+ "x-semi-children-alias": "dataSource[".concat(index, "].label")
283
284
  }, item.label);
284
285
  }
285
286
 
@@ -46,7 +46,7 @@ var _isEnterPress = _interopRequireDefault(require("@douyinfe/semi-foundation/li
46
46
 
47
47
  var _semiIcons = require("@douyinfe/semi-icons");
48
48
 
49
- var _checkbox = _interopRequireDefault(require("../checkbox"));
49
+ var _checkbox = require("../checkbox");
50
50
 
51
51
  var _treeContext = _interopRequireDefault(require("./treeContext"));
52
52
 
@@ -355,7 +355,7 @@ class TreeNode extends _react.PureComponent {
355
355
  role: 'none',
356
356
  onClick: this.onCheck,
357
357
  onKeyPress: this.handleCheckEnterPress
358
- }, /*#__PURE__*/_react.default.createElement(_checkbox.default, {
358
+ }, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, {
359
359
  "aria-label": 'Toggle the checked state of checkbox',
360
360
  indeterminate: halfChecked,
361
361
  checked: checked,
@@ -410,7 +410,8 @@ class TreeNode extends _react.PureComponent {
410
410
  return /*#__PURE__*/_react.default.createElement("ul", {
411
411
  className: wrapperCls
412
412
  }, /*#__PURE__*/_react.default.createElement("li", {
413
- className: (0, _concat.default)(_context2 = "".concat(prefixcls, "-label ")).call(_context2, prefixcls, "-label-empty")
413
+ className: (0, _concat.default)(_context2 = "".concat(prefixcls, "-label ")).call(_context2, prefixcls, "-label-empty"),
414
+ "x-semi-prop": "emptyContent"
414
415
  }, emptyContent));
415
416
  } // eslint-disable-next-line max-lines-per-function
416
417
 
@@ -120,7 +120,8 @@ class TreeSelect extends _baseComponent.default {
120
120
  ["".concat(prefixcls, "-suffix-icon")]: (0, _utils.isSemiIcon)(suffix)
121
121
  });
122
122
  return /*#__PURE__*/_react.default.createElement("div", {
123
- className: suffixWrapperCls
123
+ className: suffixWrapperCls,
124
+ "x-semi-prop": "suffix"
124
125
  }, suffix);
125
126
  };
126
127
 
@@ -140,7 +141,8 @@ class TreeSelect extends _baseComponent.default {
140
141
  });
141
142
  return /*#__PURE__*/_react.default.createElement("div", {
142
143
  className: prefixWrapperCls,
143
- id: insetLabelId
144
+ id: insetLabelId,
145
+ "x-semi-prop": "prefix,insetLabel"
144
146
  }, labelNode);
145
147
  };
146
148
 
@@ -169,6 +171,8 @@ class TreeSelect extends _baseComponent.default {
169
171
  this.handleClick = e => {
170
172
  this.foundation.handleClick(e);
171
173
  };
174
+ /* istanbul ignore next */
175
+
172
176
 
173
177
  this.handleSelectionEnterPress = e => {
174
178
  this.foundation.handleSelectionEnterPress(e);
@@ -361,6 +365,8 @@ class TreeSelect extends _baseComponent.default {
361
365
  e && e.stopPropagation();
362
366
  this.foundation.handleClear(e);
363
367
  };
368
+ /* istanbul ignore next */
369
+
364
370
 
365
371
  this.handleClearEnterPress = e => {
366
372
  e && e.stopPropagation();
@@ -394,7 +400,8 @@ class TreeSelect extends _baseComponent.default {
394
400
  }
395
401
 
396
402
  return arrowIcon ? /*#__PURE__*/_react.default.createElement("div", {
397
- className: (0, _classnames.default)("".concat(prefixcls, "-arrow"))
403
+ className: (0, _classnames.default)("".concat(prefixcls, "-arrow")),
404
+ "x-semi-prop": "arrowIcon"
398
405
  }, arrowIcon) : null;
399
406
  };
400
407
 
@@ -571,7 +571,8 @@ class Base extends _react.Component {
571
571
 
572
572
  const iconSize = size === 'small' ? 'small' : 'default';
573
573
  return /*#__PURE__*/_react.default.createElement("span", {
574
- className: "".concat(prefixCls, "-icon")
574
+ className: "".concat(prefixCls, "-icon"),
575
+ "x-semi-prop": "icon"
575
576
  }, (0, _utils.isSemiIcon)(icon) ? /*#__PURE__*/_react.default.cloneElement(icon, {
576
577
  size: iconSize
577
578
  }) : icon);
@@ -37,7 +37,7 @@ export default class Title extends PureComponent<TitleProps> {
37
37
  underline: PropTypes.Requireable<boolean>;
38
38
  strong: PropTypes.Requireable<boolean>;
39
39
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
40
- heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 5 | 6>;
40
+ heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 5 | 6>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;