@douyinfe/semi-ui 2.28.0-alpha.0 → 2.28.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 (353) hide show
  1. package/dist/css/semi.css +227 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +2393 -2068
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/_portal/index.js +2 -2
  8. package/lib/cjs/_utils/index.js +3 -1
  9. package/lib/cjs/anchor/index.js +9 -9
  10. package/lib/cjs/anchor/link.js +8 -8
  11. package/lib/cjs/autoComplete/index.js +8 -4
  12. package/lib/cjs/autoComplete/option.js +7 -7
  13. package/lib/cjs/avatar/avatarGroup.js +7 -7
  14. package/lib/cjs/avatar/index.js +12 -12
  15. package/lib/cjs/badge/index.js +8 -8
  16. package/lib/cjs/banner/index.js +12 -12
  17. package/lib/cjs/breadcrumb/index.js +12 -12
  18. package/lib/cjs/breadcrumb/item.js +8 -8
  19. package/lib/cjs/button/Button.js +9 -9
  20. package/lib/cjs/button/buttonGroup.js +5 -5
  21. package/lib/cjs/button/splitButtonGroup.js +1 -1
  22. package/lib/cjs/calendar/dayCalendar.js +13 -13
  23. package/lib/cjs/calendar/dayCol.js +17 -17
  24. package/lib/cjs/calendar/monthCalendar.js +38 -38
  25. package/lib/cjs/calendar/rangeCalendar.js +27 -27
  26. package/lib/cjs/calendar/timeCol.js +6 -6
  27. package/lib/cjs/calendar/weekCalendar.js +27 -27
  28. package/lib/cjs/card/cardGroup.js +2 -2
  29. package/lib/cjs/card/index.js +16 -16
  30. package/lib/cjs/card/meta.js +5 -5
  31. package/lib/cjs/carousel/CarouselArrow.js +6 -6
  32. package/lib/cjs/carousel/CarouselIndicator.js +6 -6
  33. package/lib/cjs/carousel/index.js +12 -12
  34. package/lib/cjs/cascader/index.d.ts +5 -2
  35. package/lib/cjs/cascader/index.js +40 -38
  36. package/lib/cjs/cascader/item.d.ts +15 -1
  37. package/lib/cjs/cascader/item.js +64 -32
  38. package/lib/cjs/checkbox/checkbox.js +14 -14
  39. package/lib/cjs/checkbox/checkboxGroup.js +4 -4
  40. package/lib/cjs/checkbox/checkboxInner.js +6 -6
  41. package/lib/cjs/collapse/item.js +9 -9
  42. package/lib/cjs/collapsible/index.js +3 -3
  43. package/lib/cjs/configProvider/index.js +1 -1
  44. package/lib/cjs/datePicker/dateInput.js +16 -16
  45. package/lib/cjs/datePicker/datePicker.js +9 -9
  46. package/lib/cjs/datePicker/footer.js +1 -1
  47. package/lib/cjs/datePicker/index.js +1 -1
  48. package/lib/cjs/datePicker/month.js +2 -2
  49. package/lib/cjs/datePicker/monthsGrid.js +27 -27
  50. package/lib/cjs/datePicker/navigation.js +1 -1
  51. package/lib/cjs/datePicker/quickControl.js +14 -14
  52. package/lib/cjs/datePicker/yearAndMonth.js +4 -4
  53. package/lib/cjs/descriptions/index.js +3 -3
  54. package/lib/cjs/descriptions/item.js +5 -5
  55. package/lib/cjs/divider/index.js +7 -7
  56. package/lib/cjs/dropdown/dropdownDivider.js +1 -1
  57. package/lib/cjs/dropdown/dropdownItem.js +7 -7
  58. package/lib/cjs/dropdown/dropdownMenu.js +1 -1
  59. package/lib/cjs/dropdown/dropdownTitle.js +2 -2
  60. package/lib/cjs/dropdown/index.js +3 -3
  61. package/lib/cjs/empty/index.js +7 -7
  62. package/lib/cjs/form/arrayField.js +1 -1
  63. package/lib/cjs/form/baseForm.d.ts +2 -0
  64. package/lib/cjs/form/baseForm.js +2 -2
  65. package/lib/cjs/form/errorMessage.js +1 -1
  66. package/lib/cjs/form/field.d.ts +2 -0
  67. package/lib/cjs/form/group.js +2 -2
  68. package/lib/cjs/form/hoc/withField.js +16 -16
  69. package/lib/cjs/form/label.js +9 -9
  70. package/lib/cjs/form/slot.js +5 -5
  71. package/lib/cjs/grid/col.js +11 -11
  72. package/lib/cjs/grid/row.js +4 -4
  73. package/lib/cjs/highlight/index.js +1 -1
  74. package/lib/cjs/iconButton/index.js +5 -5
  75. package/lib/cjs/image/image.js +10 -10
  76. package/lib/cjs/image/preview.js +3 -3
  77. package/lib/cjs/image/previewFooter.js +12 -12
  78. package/lib/cjs/image/previewHeader.js +3 -3
  79. package/lib/cjs/image/previewImage.js +7 -7
  80. package/lib/cjs/image/previewInner.js +7 -7
  81. package/lib/cjs/input/index.js +38 -38
  82. package/lib/cjs/input/inputGroup.js +7 -7
  83. package/lib/cjs/input/textarea.js +14 -14
  84. package/lib/cjs/inputNumber/index.js +11 -11
  85. package/lib/cjs/layout/Sider.d.ts +1 -1
  86. package/lib/cjs/layout/Sider.js +4 -4
  87. package/lib/cjs/layout/index.js +3 -3
  88. package/lib/cjs/list/index.js +11 -11
  89. package/lib/cjs/list/item.js +6 -6
  90. package/lib/cjs/modal/ConfirmModal.js +7 -7
  91. package/lib/cjs/modal/Modal.js +4 -4
  92. package/lib/cjs/modal/ModalContent.js +24 -24
  93. package/lib/cjs/modal/useModal/index.js +1 -1
  94. package/lib/cjs/navigation/CollapseButton.js +1 -1
  95. package/lib/cjs/navigation/Footer.js +2 -2
  96. package/lib/cjs/navigation/Header.js +5 -5
  97. package/lib/cjs/navigation/Item.js +16 -16
  98. package/lib/cjs/navigation/SubNav.js +14 -14
  99. package/lib/cjs/navigation/index.js +8 -8
  100. package/lib/cjs/notification/index.js +3 -3
  101. package/lib/cjs/notification/notice.js +12 -12
  102. package/lib/cjs/overflowList/index.d.ts +1 -1
  103. package/lib/cjs/overflowList/index.js +32 -35
  104. package/lib/cjs/overflowList/intersectionObserver.js +3 -1
  105. package/lib/cjs/pagination/index.js +26 -26
  106. package/lib/cjs/popconfirm/index.js +9 -9
  107. package/lib/cjs/popover/index.js +2 -2
  108. package/lib/cjs/progress/index.js +14 -14
  109. package/lib/cjs/radio/radio.js +22 -22
  110. package/lib/cjs/radio/radioGroup.js +5 -5
  111. package/lib/cjs/radio/radioInner.js +7 -7
  112. package/lib/cjs/rating/index.js +5 -5
  113. package/lib/cjs/rating/item.js +11 -11
  114. package/lib/cjs/scrollList/index.js +5 -5
  115. package/lib/cjs/scrollList/scrollItem.js +13 -13
  116. package/lib/cjs/select/index.d.ts +11 -0
  117. package/lib/cjs/select/index.js +297 -116
  118. package/lib/cjs/select/option.js +7 -7
  119. package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
  120. package/lib/cjs/sideSheet/index.js +7 -7
  121. package/lib/cjs/skeleton/index.js +1 -1
  122. package/lib/cjs/skeleton/item.js +4 -4
  123. package/lib/cjs/slider/index.js +28 -28
  124. package/lib/cjs/space/index.js +12 -12
  125. package/lib/cjs/spin/icon.js +2 -2
  126. package/lib/cjs/spin/index.js +6 -6
  127. package/lib/cjs/steps/basicStep.js +14 -14
  128. package/lib/cjs/steps/basicSteps.js +6 -6
  129. package/lib/cjs/steps/fillStep.js +10 -10
  130. package/lib/cjs/steps/fillSteps.js +4 -4
  131. package/lib/cjs/steps/navStep.js +5 -5
  132. package/lib/cjs/steps/navSteps.js +2 -2
  133. package/lib/cjs/table/Body/BaseRow.js +5 -5
  134. package/lib/cjs/table/Body/ExpandedRow.js +3 -3
  135. package/lib/cjs/table/Body/SectionRow.js +1 -1
  136. package/lib/cjs/table/Body/index.js +8 -8
  137. package/lib/cjs/table/ColGroup.js +2 -2
  138. package/lib/cjs/table/ColumnFilter.js +3 -3
  139. package/lib/cjs/table/ColumnSelection.js +2 -2
  140. package/lib/cjs/table/ColumnSorter.js +7 -7
  141. package/lib/cjs/table/CustomExpandIcon.js +2 -2
  142. package/lib/cjs/table/HeadTable.js +3 -3
  143. package/lib/cjs/table/Table.js +20 -20
  144. package/lib/cjs/table/TableCell.js +8 -8
  145. package/lib/cjs/table/TableHeader.js +1 -1
  146. package/lib/cjs/table/TableHeaderRow.js +8 -8
  147. package/lib/cjs/table/TablePagination.js +3 -3
  148. package/lib/cjs/tabs/TabBar.js +31 -49
  149. package/lib/cjs/tabs/TabItem.d.ts +18 -0
  150. package/lib/cjs/tabs/TabItem.js +95 -0
  151. package/lib/cjs/tabs/TabPane.js +3 -3
  152. package/lib/cjs/tabs/index.d.ts +2 -1
  153. package/lib/cjs/tabs/index.js +5 -2
  154. package/lib/cjs/tag/group.js +5 -5
  155. package/lib/cjs/tag/index.js +13 -13
  156. package/lib/cjs/tagInput/index.d.ts +6 -2
  157. package/lib/cjs/tagInput/index.js +37 -34
  158. package/lib/cjs/timePicker/Combobox.js +4 -4
  159. package/lib/cjs/timePicker/TimeInput.js +4 -4
  160. package/lib/cjs/timePicker/TimePicker.js +8 -8
  161. package/lib/cjs/timeline/index.js +8 -8
  162. package/lib/cjs/timeline/item.js +7 -7
  163. package/lib/cjs/toast/index.js +5 -5
  164. package/lib/cjs/toast/toast.js +9 -9
  165. package/lib/cjs/tooltip/index.js +7 -7
  166. package/lib/cjs/transfer/index.js +31 -31
  167. package/lib/cjs/tree/autoSizer.js +1 -1
  168. package/lib/cjs/tree/index.js +6 -6
  169. package/lib/cjs/tree/interface.d.ts +1 -0
  170. package/lib/cjs/tree/nodeList.js +1 -1
  171. package/lib/cjs/tree/treeNode.js +26 -26
  172. package/lib/cjs/treeSelect/index.js +41 -41
  173. package/lib/cjs/typography/base.js +14 -14
  174. package/lib/cjs/typography/copyable.js +3 -3
  175. package/lib/cjs/typography/paragraph.js +1 -1
  176. package/lib/cjs/typography/title.js +1 -1
  177. package/lib/cjs/typography/util.js +1 -1
  178. package/lib/cjs/upload/fileCard.js +32 -32
  179. package/lib/cjs/upload/index.js +37 -37
  180. package/lib/es/_portal/index.js +2 -2
  181. package/lib/es/_utils/index.js +3 -1
  182. package/lib/es/anchor/index.js +9 -9
  183. package/lib/es/anchor/link.js +8 -8
  184. package/lib/es/autoComplete/index.js +8 -4
  185. package/lib/es/autoComplete/option.js +7 -7
  186. package/lib/es/avatar/avatarGroup.js +7 -7
  187. package/lib/es/avatar/index.js +12 -12
  188. package/lib/es/badge/index.js +8 -8
  189. package/lib/es/banner/index.js +12 -12
  190. package/lib/es/breadcrumb/index.js +12 -12
  191. package/lib/es/breadcrumb/item.js +8 -8
  192. package/lib/es/button/Button.js +9 -9
  193. package/lib/es/button/buttonGroup.js +5 -5
  194. package/lib/es/button/splitButtonGroup.js +1 -1
  195. package/lib/es/calendar/dayCalendar.js +13 -13
  196. package/lib/es/calendar/dayCol.js +17 -17
  197. package/lib/es/calendar/monthCalendar.js +38 -38
  198. package/lib/es/calendar/rangeCalendar.js +27 -27
  199. package/lib/es/calendar/timeCol.js +6 -6
  200. package/lib/es/calendar/weekCalendar.js +27 -27
  201. package/lib/es/card/cardGroup.js +2 -2
  202. package/lib/es/card/index.js +16 -16
  203. package/lib/es/card/meta.js +5 -5
  204. package/lib/es/carousel/CarouselArrow.js +6 -6
  205. package/lib/es/carousel/CarouselIndicator.js +6 -6
  206. package/lib/es/carousel/index.js +12 -12
  207. package/lib/es/cascader/index.d.ts +5 -2
  208. package/lib/es/cascader/index.js +40 -38
  209. package/lib/es/cascader/item.d.ts +15 -1
  210. package/lib/es/cascader/item.js +64 -32
  211. package/lib/es/checkbox/checkbox.js +14 -14
  212. package/lib/es/checkbox/checkboxGroup.js +4 -4
  213. package/lib/es/checkbox/checkboxInner.js +6 -6
  214. package/lib/es/collapse/item.js +9 -9
  215. package/lib/es/collapsible/index.js +3 -3
  216. package/lib/es/configProvider/index.js +1 -1
  217. package/lib/es/datePicker/dateInput.js +16 -16
  218. package/lib/es/datePicker/datePicker.js +9 -9
  219. package/lib/es/datePicker/footer.js +1 -1
  220. package/lib/es/datePicker/index.js +1 -1
  221. package/lib/es/datePicker/month.js +2 -2
  222. package/lib/es/datePicker/monthsGrid.js +27 -27
  223. package/lib/es/datePicker/navigation.js +1 -1
  224. package/lib/es/datePicker/quickControl.js +14 -14
  225. package/lib/es/datePicker/yearAndMonth.js +4 -4
  226. package/lib/es/descriptions/index.js +3 -3
  227. package/lib/es/descriptions/item.js +5 -5
  228. package/lib/es/divider/index.js +7 -7
  229. package/lib/es/dropdown/dropdownDivider.js +1 -1
  230. package/lib/es/dropdown/dropdownItem.js +7 -7
  231. package/lib/es/dropdown/dropdownMenu.js +1 -1
  232. package/lib/es/dropdown/dropdownTitle.js +2 -2
  233. package/lib/es/dropdown/index.js +3 -3
  234. package/lib/es/empty/index.js +7 -7
  235. package/lib/es/form/arrayField.js +1 -1
  236. package/lib/es/form/baseForm.d.ts +2 -0
  237. package/lib/es/form/baseForm.js +2 -2
  238. package/lib/es/form/errorMessage.js +1 -1
  239. package/lib/es/form/field.d.ts +2 -0
  240. package/lib/es/form/group.js +2 -2
  241. package/lib/es/form/hoc/withField.js +16 -16
  242. package/lib/es/form/label.js +9 -9
  243. package/lib/es/form/slot.js +5 -5
  244. package/lib/es/grid/col.js +11 -11
  245. package/lib/es/grid/row.js +4 -4
  246. package/lib/es/highlight/index.js +1 -1
  247. package/lib/es/iconButton/index.js +5 -5
  248. package/lib/es/image/image.js +10 -10
  249. package/lib/es/image/preview.js +3 -3
  250. package/lib/es/image/previewFooter.js +12 -12
  251. package/lib/es/image/previewHeader.js +3 -3
  252. package/lib/es/image/previewImage.js +7 -7
  253. package/lib/es/image/previewInner.js +7 -7
  254. package/lib/es/input/index.js +38 -38
  255. package/lib/es/input/inputGroup.js +7 -7
  256. package/lib/es/input/textarea.js +14 -14
  257. package/lib/es/inputNumber/index.js +11 -11
  258. package/lib/es/layout/Sider.d.ts +1 -1
  259. package/lib/es/layout/Sider.js +4 -4
  260. package/lib/es/layout/index.js +3 -3
  261. package/lib/es/list/index.js +11 -11
  262. package/lib/es/list/item.js +6 -6
  263. package/lib/es/modal/ConfirmModal.js +7 -7
  264. package/lib/es/modal/Modal.js +4 -4
  265. package/lib/es/modal/ModalContent.js +24 -24
  266. package/lib/es/modal/useModal/index.js +1 -1
  267. package/lib/es/navigation/CollapseButton.js +1 -1
  268. package/lib/es/navigation/Footer.js +2 -2
  269. package/lib/es/navigation/Header.js +5 -5
  270. package/lib/es/navigation/Item.js +16 -16
  271. package/lib/es/navigation/SubNav.js +14 -14
  272. package/lib/es/navigation/index.js +8 -8
  273. package/lib/es/notification/index.js +3 -3
  274. package/lib/es/notification/notice.js +12 -12
  275. package/lib/es/overflowList/index.d.ts +1 -1
  276. package/lib/es/overflowList/index.js +31 -35
  277. package/lib/es/overflowList/intersectionObserver.js +2 -1
  278. package/lib/es/pagination/index.js +26 -26
  279. package/lib/es/popconfirm/index.js +9 -9
  280. package/lib/es/popover/index.js +2 -2
  281. package/lib/es/progress/index.js +14 -14
  282. package/lib/es/radio/radio.js +22 -22
  283. package/lib/es/radio/radioGroup.js +5 -5
  284. package/lib/es/radio/radioInner.js +7 -7
  285. package/lib/es/rating/index.js +5 -5
  286. package/lib/es/rating/item.js +11 -11
  287. package/lib/es/scrollList/index.js +5 -5
  288. package/lib/es/scrollList/scrollItem.js +13 -13
  289. package/lib/es/select/index.d.ts +11 -0
  290. package/lib/es/select/index.js +288 -112
  291. package/lib/es/select/option.js +7 -7
  292. package/lib/es/sideSheet/SideSheetContent.js +10 -10
  293. package/lib/es/sideSheet/index.js +7 -7
  294. package/lib/es/skeleton/index.js +1 -1
  295. package/lib/es/skeleton/item.js +4 -4
  296. package/lib/es/slider/index.js +28 -28
  297. package/lib/es/space/index.js +12 -12
  298. package/lib/es/spin/icon.js +2 -2
  299. package/lib/es/spin/index.js +6 -6
  300. package/lib/es/steps/basicStep.js +14 -14
  301. package/lib/es/steps/basicSteps.js +6 -6
  302. package/lib/es/steps/fillStep.js +10 -10
  303. package/lib/es/steps/fillSteps.js +4 -4
  304. package/lib/es/steps/navStep.js +5 -5
  305. package/lib/es/steps/navSteps.js +2 -2
  306. package/lib/es/table/Body/BaseRow.js +5 -5
  307. package/lib/es/table/Body/ExpandedRow.js +3 -3
  308. package/lib/es/table/Body/SectionRow.js +1 -1
  309. package/lib/es/table/Body/index.js +8 -8
  310. package/lib/es/table/ColGroup.js +2 -2
  311. package/lib/es/table/ColumnFilter.js +3 -3
  312. package/lib/es/table/ColumnSelection.js +2 -2
  313. package/lib/es/table/ColumnSorter.js +7 -7
  314. package/lib/es/table/CustomExpandIcon.js +2 -2
  315. package/lib/es/table/HeadTable.js +3 -3
  316. package/lib/es/table/Table.js +20 -20
  317. package/lib/es/table/TableCell.js +8 -8
  318. package/lib/es/table/TableHeader.js +1 -1
  319. package/lib/es/table/TableHeaderRow.js +8 -8
  320. package/lib/es/table/TablePagination.js +3 -3
  321. package/lib/es/tabs/TabBar.js +30 -50
  322. package/lib/es/tabs/TabItem.d.ts +18 -0
  323. package/lib/es/tabs/TabItem.js +78 -0
  324. package/lib/es/tabs/TabPane.js +3 -3
  325. package/lib/es/tabs/index.d.ts +2 -1
  326. package/lib/es/tabs/index.js +4 -2
  327. package/lib/es/tag/group.js +5 -5
  328. package/lib/es/tag/index.js +13 -13
  329. package/lib/es/tagInput/index.d.ts +6 -2
  330. package/lib/es/tagInput/index.js +37 -34
  331. package/lib/es/timePicker/Combobox.js +4 -4
  332. package/lib/es/timePicker/TimeInput.js +4 -4
  333. package/lib/es/timePicker/TimePicker.js +8 -8
  334. package/lib/es/timeline/index.js +8 -8
  335. package/lib/es/timeline/item.js +7 -7
  336. package/lib/es/toast/index.js +5 -5
  337. package/lib/es/toast/toast.js +9 -9
  338. package/lib/es/tooltip/index.js +7 -7
  339. package/lib/es/transfer/index.js +31 -31
  340. package/lib/es/tree/autoSizer.js +1 -1
  341. package/lib/es/tree/index.js +6 -6
  342. package/lib/es/tree/interface.d.ts +1 -0
  343. package/lib/es/tree/nodeList.js +1 -1
  344. package/lib/es/tree/treeNode.js +26 -26
  345. package/lib/es/treeSelect/index.js +41 -41
  346. package/lib/es/typography/base.js +14 -14
  347. package/lib/es/typography/copyable.js +3 -3
  348. package/lib/es/typography/paragraph.js +1 -1
  349. package/lib/es/typography/title.js +1 -1
  350. package/lib/es/typography/util.js +1 -1
  351. package/lib/es/upload/fileCard.js +32 -32
  352. package/lib/es/upload/index.js +37 -37
  353. package/package.json +8 -8
@@ -0,0 +1,18 @@
1
+ import React, { ReactNode, MouseEvent } from 'react';
2
+ import { TabType, TabSize, TabPosition } from './interface';
3
+ export interface TabItemProps {
4
+ tab?: ReactNode;
5
+ icon?: ReactNode;
6
+ size?: TabSize;
7
+ type?: TabType;
8
+ tabPosition?: TabPosition;
9
+ selected?: boolean;
10
+ closable?: boolean;
11
+ disabled?: boolean;
12
+ itemKey?: string;
13
+ handleKeyDown?: (event: React.KeyboardEvent, itemKey: string, closable: boolean) => void;
14
+ deleteTabItem?: (tabKey: string, event: MouseEvent<Element>) => void;
15
+ onClick?: (itemKey: string, e: MouseEvent<Element>) => void;
16
+ }
17
+ declare const ForwardTabItem: React.ForwardRefExoticComponent<TabItemProps & React.RefAttributes<HTMLDivElement>>;
18
+ export default ForwardTabItem;
@@ -0,0 +1,78 @@
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
+ }
9
+ return t;
10
+ };
11
+
12
+ import React, { forwardRef, useCallback, useMemo } from 'react';
13
+ import cls from 'classnames';
14
+ import { cssClasses } from '@douyinfe/semi-foundation/lib/es/tabs/constants';
15
+ import { IconClose } from '@douyinfe/semi-icons';
16
+
17
+ const TabItem = (props, ref) => {
18
+ const {
19
+ tab,
20
+ size,
21
+ type,
22
+ icon,
23
+ selected,
24
+ closable,
25
+ disabled,
26
+ itemKey,
27
+ deleteTabItem,
28
+ tabPosition,
29
+ handleKeyDown,
30
+ onClick
31
+ } = props,
32
+ restProps = __rest(props, ["tab", "size", "type", "icon", "selected", "closable", "disabled", "itemKey", "deleteTabItem", "tabPosition", "handleKeyDown", "onClick"]);
33
+
34
+ const closableIcon = useMemo(() => {
35
+ return type === 'card' && closable ? /*#__PURE__*/React.createElement(IconClose, {
36
+ "aria-label": "Close",
37
+ role: "button",
38
+ className: `${cssClasses.TABS_TAB}-icon-close`,
39
+ onClick: e => deleteTabItem(itemKey, e)
40
+ }) : null;
41
+ }, [type, closable, deleteTabItem, itemKey]);
42
+ const renderIcon = useCallback(icon => /*#__PURE__*/React.createElement("span", null, icon), []);
43
+ const handleKeyDownInItem = useCallback(event => {
44
+ handleKeyDown && handleKeyDown(event, itemKey, closable);
45
+ }, [handleKeyDown, itemKey, closable]);
46
+ const handleItemClick = useCallback(e => {
47
+ !disabled && onClick && onClick(itemKey, e);
48
+ }, [itemKey, disabled, onClick]);
49
+ const panelIcon = icon ? renderIcon(icon) : null;
50
+ const className = cls(cssClasses.TABS_TAB, `${cssClasses.TABS_TAB}-${type}`, `${cssClasses.TABS_TAB}-${tabPosition}`, `${cssClasses.TABS_TAB}-single`, {
51
+ [cssClasses.TABS_TAB_ACTIVE]: selected,
52
+ [cssClasses.TABS_TAB_DISABLED]: disabled,
53
+ [`${cssClasses.TABS_TAB}-small`]: size === 'small',
54
+ [`${cssClasses.TABS_TAB}-medium`]: size === 'medium'
55
+ });
56
+ return /*#__PURE__*/React.createElement("div", Object.assign({
57
+ role: "tab",
58
+ id: `semiTab${itemKey}`,
59
+ "data-tabkey": `semiTab${itemKey}`,
60
+ "aria-controls": `semiTabPanel${itemKey}`,
61
+ "aria-disabled": disabled ? 'true' : 'false',
62
+ "aria-selected": selected ? 'true' : 'false',
63
+ tabIndex: selected ? 0 : -1,
64
+ onKeyDown: handleKeyDownInItem,
65
+ onClick: handleItemClick,
66
+ className: className
67
+ }, restProps, {
68
+ ref: ref
69
+ }), panelIcon, tab, closableIcon);
70
+ }; // Why is forwardRef needed here?
71
+ // Because TabItem needs to be used in OverflowList (when tabs' type is collapsible),
72
+ // OverflowList will pass ref to the outermost div DOM node of TabItem
73
+
74
+
75
+ const ForwardTabItem = /*#__PURE__*/forwardRef(TabItem); // @ts-ignore
76
+
77
+ ForwardTabItem.elementType = 'Tabs.TabItem';
78
+ export default ForwardTabItem;
@@ -100,8 +100,8 @@ class TabPane extends PureComponent {
100
100
  return /*#__PURE__*/React.createElement("div", Object.assign({
101
101
  ref: this.ref,
102
102
  role: "tabpanel",
103
- id: "semiTabPanel".concat(itemKey),
104
- "aria-labelledby": "semiTab".concat(itemKey),
103
+ id: `semiTabPanel${itemKey}`,
104
+ "aria-labelledby": `semiTab${itemKey}`,
105
105
  className: classNames,
106
106
  style: style,
107
107
  "aria-hidden": active ? 'false' : 'true',
@@ -118,7 +118,7 @@ class TabPane extends PureComponent {
118
118
  animationEventsNeedBind
119
119
  } = _ref;
120
120
  return /*#__PURE__*/React.createElement("div", Object.assign({
121
- className: "".concat(cssClasses.TABS_PANE_MOTION_OVERLAY, " ").concat(animationClassName),
121
+ className: `${cssClasses.TABS_PANE_MOTION_OVERLAY} ${animationClassName}`,
122
122
  "x-semi-prop": "children"
123
123
  }, animationEventsNeedBind), shouldRender ? children : null);
124
124
  }));
@@ -1,4 +1,4 @@
1
- import { MouseEvent, ReactElement, ReactNode, RefCallback, RefObject } from 'react';
1
+ import React, { MouseEvent, ReactElement, ReactNode, RefCallback, RefObject } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import TabsFoundation, { TabsAdapter } from '@douyinfe/semi-foundation/lib/es/tabs/foundation';
4
4
  import BaseComponent from '../_base/baseComponent';
@@ -14,6 +14,7 @@ export interface TabsState {
14
14
  }
15
15
  declare class Tabs extends BaseComponent<TabsProps, TabsState> {
16
16
  static TabPane: typeof TabPane;
17
+ static TabItem: React.ForwardRefExoticComponent<import("./TabItem").TabItemProps & React.RefAttributes<HTMLDivElement>>;
17
18
  static propTypes: {
18
19
  activeKey: PropTypes.Requireable<string>;
19
20
  className: PropTypes.Requireable<string>;
@@ -23,6 +23,7 @@ import BaseComponent from '../_base/baseComponent';
23
23
  import '@douyinfe/semi-foundation/lib/es/tabs/tabs.css';
24
24
  import TabBar from './TabBar';
25
25
  import TabPane from './TabPane';
26
+ import TabItem from './TabItem';
26
27
  import TabsContext from './tabs-context';
27
28
  const panePickKeys = ['className', 'style', 'disabled', 'itemKey', 'tab', 'icon'];
28
29
  export * from './interface';
@@ -290,11 +291,11 @@ class Tabs extends BaseComponent {
290
291
  } = this.state;
291
292
  const tabWrapperCls = cls(className, {
292
293
  [cssClasses.TABS]: true,
293
- ["".concat(cssClasses.TABS, "-").concat(tabPosition)]: tabPosition
294
+ [`${cssClasses.TABS}-${tabPosition}`]: tabPosition
294
295
  });
295
296
  const tabContentCls = cls({
296
297
  [cssClasses.TABS_CONTENT]: true,
297
- ["".concat(cssClasses.TABS_CONTENT, "-").concat(tabPosition)]: tabPosition
298
+ [`${cssClasses.TABS_CONTENT}-${tabPosition}`]: tabPosition
298
299
  });
299
300
  const tabBarProps = {
300
301
  activeKey,
@@ -335,6 +336,7 @@ class Tabs extends BaseComponent {
335
336
  }
336
337
 
337
338
  Tabs.TabPane = TabPane;
339
+ Tabs.TabItem = TabItem;
338
340
  Tabs.propTypes = {
339
341
  activeKey: PropTypes.string,
340
342
  className: PropTypes.string,
@@ -33,7 +33,7 @@ export default class TagGroup extends PureComponent {
33
33
  trigger: "hover",
34
34
  position: "top",
35
35
  autoAdjustOverflow: true,
36
- className: "".concat(prefixCls, "-rest-group-popover")
36
+ className: `${prefixCls}-rest-group-popover`
37
37
  }, popoverProps, {
38
38
  key: "_+n_Popover"
39
39
  }), nTag);
@@ -116,10 +116,10 @@ export default class TagGroup extends PureComponent {
116
116
  size
117
117
  } = this.props;
118
118
  const groupCls = classNames({
119
- ["".concat(prefixCls, "-group")]: true,
120
- ["".concat(prefixCls, "-group-max")]: maxTagCount,
121
- ["".concat(prefixCls, "-group-small")]: size === 'small',
122
- ["".concat(prefixCls, "-group-large")]: size === 'large'
119
+ [`${prefixCls}-group`]: true,
120
+ [`${prefixCls}-group-max`]: maxTagCount,
121
+ [`${prefixCls}-group-small`]: size === 'small',
122
+ [`${prefixCls}-group-large`]: size === 'large'
123
123
  }, className);
124
124
  const tags = this.renderAllTags();
125
125
  const tagContents = typeof maxTagCount === 'undefined' ? tags : this.renderMergeTags(tags);
@@ -146,16 +146,16 @@ export default class Tag extends Component {
146
146
  const baseProps = Object.assign(Object.assign({}, attr), {
147
147
  onClick,
148
148
  className: classNames(prefixCls, {
149
- ["".concat(prefixCls, "-default")]: size === 'default',
150
- ["".concat(prefixCls, "-small")]: size === 'small',
151
- ["".concat(prefixCls, "-large")]: size === 'large',
152
- ["".concat(prefixCls, "-square")]: shape === 'square',
153
- ["".concat(prefixCls, "-circle")]: shape === 'circle',
154
- ["".concat(prefixCls, "-").concat(type)]: type,
155
- ["".concat(prefixCls, "-").concat(color, "-").concat(type)]: color && type,
156
- ["".concat(prefixCls, "-closable")]: closable,
157
- ["".concat(prefixCls, "-invisible")]: !isVisible,
158
- ["".concat(prefixCls, "-avatar-").concat(avatarShape)]: avatarSrc
149
+ [`${prefixCls}-default`]: size === 'default',
150
+ [`${prefixCls}-small`]: size === 'small',
151
+ [`${prefixCls}-large`]: size === 'large',
152
+ [`${prefixCls}-square`]: shape === 'square',
153
+ [`${prefixCls}-circle`]: shape === 'circle',
154
+ [`${prefixCls}-${type}`]: type,
155
+ [`${prefixCls}-${color}-${type}`]: color && type,
156
+ [`${prefixCls}-closable`]: closable,
157
+ [`${prefixCls}-invisible`]: !isVisible,
158
+ [`${prefixCls}-avatar-${avatarShape}`]: avatarSrc
159
159
  }, className)
160
160
  });
161
161
  const wrapProps = clickable ? Object.assign(Object.assign({}, baseProps), a11yProps) : baseProps;
@@ -163,15 +163,15 @@ export default class Tag extends Component {
163
163
  /*#__PURE__*/
164
164
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
165
165
  React.createElement("div", {
166
- className: "".concat(prefixCls, "-close"),
166
+ className: `${prefixCls}-close`,
167
167
  onClick: e => this.close(e, children, tagKey)
168
168
  }, /*#__PURE__*/React.createElement(IconClose, {
169
169
  size: "small"
170
170
  })) : null;
171
171
  return /*#__PURE__*/React.createElement("div", Object.assign({
172
- "aria-label": this.props['aria-label'] || _isString(children) ? "".concat(closable ? 'Closable ' : '', "Tag: ").concat(children) : ''
172
+ "aria-label": this.props['aria-label'] || _isString(children) ? `${closable ? 'Closable ' : ''}Tag: ${children}` : ''
173
173
  }, wrapProps), avatarSrc ? this.renderAvatar() : null, /*#__PURE__*/React.createElement("div", {
174
- className: "".concat(prefixCls, "-content")
174
+ className: `${prefixCls}-content`
175
175
  }, children), closeIcon);
176
176
  }
177
177
 
@@ -6,6 +6,7 @@ import TagInputFoundation, { TagInputAdapter, OnSortEndProps } from '@douyinfe/s
6
6
  import { ArrayElement } from '../_base/base';
7
7
  import BaseComponent from '../_base/baseComponent';
8
8
  import { PopoverProps } from '../popover';
9
+ import { ShowTooltip } from '../typography';
9
10
  export declare type Size = ArrayElement<typeof strings.SIZE_SET>;
10
11
  export declare type RestTagsPopoverProps = PopoverProps;
11
12
  declare type ValidateStatus = "default" | "error" | "warning";
@@ -20,7 +21,7 @@ export interface TagInputProps {
20
21
  maxTagCount?: number;
21
22
  showRestTagsPopover?: boolean;
22
23
  restTagsPopoverProps?: RestTagsPopoverProps;
23
- showContentTooltip?: boolean;
24
+ showContentTooltip?: boolean | ShowTooltip;
24
25
  allowDuplicates?: boolean;
25
26
  addOnBlur?: boolean;
26
27
  draggable?: boolean;
@@ -71,7 +72,10 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
71
72
  maxLength: PropTypes.Requireable<number>;
72
73
  showRestTagsPopover: PropTypes.Requireable<boolean>;
73
74
  restTagsPopoverProps: PropTypes.Requireable<object>;
74
- showContentTooltip: PropTypes.Requireable<boolean>;
75
+ showContentTooltip: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
76
+ type: PropTypes.Requireable<string>;
77
+ opts: PropTypes.Requireable<object>;
78
+ }>>>;
75
79
  defaultValue: PropTypes.Requireable<any[]>;
76
80
  value: PropTypes.Requireable<any[]>;
77
81
  inputValue: PropTypes.Requireable<string>;
@@ -25,7 +25,7 @@ const SortableList = SortableContainer(_ref => {
25
25
  items
26
26
  } = _ref;
27
27
  return /*#__PURE__*/React.createElement("div", {
28
- className: "".concat(prefixCls, "-sortable-list")
28
+ className: `${prefixCls}-sortable-list`
29
29
  }, items.map((item, index) =>
30
30
  /*#__PURE__*/
31
31
  // @ts-ignore skip SortableItem type check
@@ -103,22 +103,22 @@ class TagInput extends BaseComponent {
103
103
  active
104
104
  } = this.state;
105
105
  const showIconHandler = active && draggable;
106
- const tagCls = cls("".concat(prefixCls, "-wrapper-tag"), {
107
- ["".concat(prefixCls, "-wrapper-tag-size-").concat(size)]: size,
108
- ["".concat(prefixCls, "-wrapper-tag-icon")]: showIconHandler
106
+ const tagCls = cls(`${prefixCls}-wrapper-tag`, {
107
+ [`${prefixCls}-wrapper-tag-size-${size}`]: size,
108
+ [`${prefixCls}-wrapper-tag-icon`]: showIconHandler
109
109
  });
110
- const typoCls = cls("".concat(prefixCls, "-wrapper-typo"), {
111
- ["".concat(prefixCls, "-wrapper-typo-disabled")]: disabled
110
+ const typoCls = cls(`${prefixCls}-wrapper-typo`, {
111
+ [`${prefixCls}-wrapper-typo-disabled`]: disabled
112
112
  });
113
113
  const itemWrapperCls = cls({
114
- ["".concat(prefixCls, "-drag-item")]: showIconHandler,
115
- ["".concat(prefixCls, "-wrapper-tag-icon")]: showIconHandler
114
+ [`${prefixCls}-drag-item`]: showIconHandler,
115
+ [`${prefixCls}-wrapper-tag-icon`]: showIconHandler
116
116
  });
117
117
  const DragHandle = SortableHandle(() => /*#__PURE__*/React.createElement(IconHandle, {
118
- className: "".concat(prefixCls, "-drag-handler")
118
+ className: `${prefixCls}-drag-handler`
119
119
  }));
120
120
  return tagsArray.map((value, index) => {
121
- const elementKey = showIconHandler ? value : "".concat(index).concat(value);
121
+ const elementKey = showIconHandler ? value : `${index}${value}`;
122
122
 
123
123
  const onClose = () => {
124
124
  !disabled && this.handleTagClose(index);
@@ -139,9 +139,9 @@ class TagInput extends BaseComponent {
139
139
  closable: !disabled,
140
140
  key: elementKey,
141
141
  visible: true,
142
- "aria-label": "".concat(!disabled ? 'Closable ' : '', "Tag: ").concat(value)
142
+ "aria-label": `${!disabled ? 'Closable ' : ''}Tag: ${value}`
143
143
  }, /*#__PURE__*/React.createElement("div", {
144
- className: "".concat(prefixCls, "-tag-content-wrapper")
144
+ className: `${prefixCls}-tag-content-wrapper`
145
145
  }, showIconHandler && /*#__PURE__*/React.createElement(DragHandle, null), /*#__PURE__*/React.createElement(Paragraph, {
146
146
  className: typoCls,
147
147
  ellipsis: {
@@ -325,8 +325,8 @@ class TagInput extends BaseComponent {
325
325
  disabled,
326
326
  clearIcon
327
327
  } = this.props;
328
- const clearCls = cls("".concat(prefixCls, "-clearBtn"), {
329
- ["".concat(prefixCls, "-clearBtn-invisible")]: !hovering || inputValue === '' && tagsArray.length === 0 || disabled
328
+ const clearCls = cls(`${prefixCls}-clearBtn`, {
329
+ [`${prefixCls}-clearBtn-invisible`]: !hovering || inputValue === '' && tagsArray.length === 0 || disabled
330
330
  });
331
331
 
332
332
  if (showClear) {
@@ -355,11 +355,11 @@ class TagInput extends BaseComponent {
355
355
  return null;
356
356
  }
357
357
 
358
- const prefixWrapperCls = cls("".concat(prefixCls, "-prefix"), {
359
- ["".concat(prefixCls, "-inset-label")]: insetLabel,
360
- ["".concat(prefixCls, "-prefix-text")]: labelNode && _isString(labelNode),
358
+ const prefixWrapperCls = cls(`${prefixCls}-prefix`, {
359
+ [`${prefixCls}-inset-label`]: insetLabel,
360
+ [`${prefixCls}-prefix-text`]: labelNode && _isString(labelNode),
361
361
  // eslint-disable-next-line max-len
362
- ["".concat(prefixCls, "-prefix-icon")]: isSemiIcon(labelNode)
362
+ [`${prefixCls}-prefix-icon`]: isSemiIcon(labelNode)
363
363
  });
364
364
  return (
365
365
  /*#__PURE__*/
@@ -383,10 +383,10 @@ class TagInput extends BaseComponent {
383
383
  return null;
384
384
  }
385
385
 
386
- const suffixWrapperCls = cls("".concat(prefixCls, "-suffix"), {
387
- ["".concat(prefixCls, "-suffix-text")]: suffix && _isString(suffix),
386
+ const suffixWrapperCls = cls(`${prefixCls}-suffix`, {
387
+ [`${prefixCls}-suffix-text`]: suffix && _isString(suffix),
388
388
  // eslint-disable-next-line max-len
389
- ["".concat(prefixCls, "-suffix-icon")]: isSemiIcon(suffix)
389
+ [`${prefixCls}-suffix-icon`]: isSemiIcon(suffix)
390
390
  });
391
391
  return (
392
392
  /*#__PURE__*/
@@ -413,8 +413,8 @@ class TagInput extends BaseComponent {
413
413
  tagsArray,
414
414
  active
415
415
  } = this.state;
416
- const restTagsCls = cls("".concat(prefixCls, "-wrapper-n"), {
417
- ["".concat(prefixCls, "-wrapper-n-disabled")]: disabled
416
+ const restTagsCls = cls(`${prefixCls}-wrapper-n`, {
417
+ [`${prefixCls}-wrapper-n-disabled`]: disabled
418
418
  });
419
419
  const allTags = this.getAllTags();
420
420
  let restTags = [];
@@ -438,7 +438,7 @@ class TagInput extends BaseComponent {
438
438
  // @ts-ignore skip SortableItem type check
439
439
  return /*#__PURE__*/React.createElement(SortableList, {
440
440
  useDragHandle: true,
441
- helperClass: "".concat(prefixCls, "-drag-item-move"),
441
+ helperClass: `${prefixCls}-drag-item-move`,
442
442
  items: sortableListItems,
443
443
  onSortEnd: this.onSortEnd,
444
444
  axis: "xy"
@@ -492,16 +492,16 @@ class TagInput extends BaseComponent {
492
492
  active
493
493
  } = this.state;
494
494
  const tagInputCls = cls(prefixCls, className, {
495
- ["".concat(prefixCls, "-focus")]: focusing || active,
496
- ["".concat(prefixCls, "-disabled")]: disabled,
497
- ["".concat(prefixCls, "-hover")]: hovering && !disabled,
498
- ["".concat(prefixCls, "-error")]: validateStatus === 'error',
499
- ["".concat(prefixCls, "-warning")]: validateStatus === 'warning',
500
- ["".concat(prefixCls, "-small")]: size === 'small',
501
- ["".concat(prefixCls, "-large")]: size === 'large'
495
+ [`${prefixCls}-focus`]: focusing || active,
496
+ [`${prefixCls}-disabled`]: disabled,
497
+ [`${prefixCls}-hover`]: hovering && !disabled,
498
+ [`${prefixCls}-error`]: validateStatus === 'error',
499
+ [`${prefixCls}-warning`]: validateStatus === 'warning',
500
+ [`${prefixCls}-small`]: size === 'small',
501
+ [`${prefixCls}-large`]: size === 'large'
502
502
  });
503
- const inputCls = cls("".concat(prefixCls, "-wrapper-input"), "".concat(prefixCls, "-wrapper-input-").concat(size));
504
- const wrapperCls = cls("".concat(prefixCls, "-wrapper"));
503
+ const inputCls = cls(`${prefixCls}-wrapper-input`, `${prefixCls}-wrapper-input-${size}`);
504
+ const wrapperCls = cls(`${prefixCls}-wrapper`);
505
505
  return (
506
506
  /*#__PURE__*/
507
507
  // eslint-disable-next-line
@@ -563,7 +563,10 @@ TagInput.propTypes = {
563
563
  maxLength: PropTypes.number,
564
564
  showRestTagsPopover: PropTypes.bool,
565
565
  restTagsPopoverProps: PropTypes.object,
566
- showContentTooltip: PropTypes.bool,
566
+ showContentTooltip: PropTypes.oneOfType([PropTypes.shape({
567
+ type: PropTypes.string,
568
+ opts: PropTypes.object
569
+ }), PropTypes.bool]),
567
570
  defaultValue: PropTypes.array,
568
571
  value: PropTypes.array,
569
572
  inputValue: PropTypes.string,
@@ -141,7 +141,7 @@ class Combobox extends BaseComponent {
141
141
 
142
142
  const transformHour = value => value + locale.hour;
143
143
 
144
- const className = "".concat(prefixCls, "-list-hour");
144
+ const className = `${prefixCls}-list-hour`;
145
145
  return /*#__PURE__*/React.createElement(ScrollItem, Object.assign({
146
146
  ref: current => this.cacheRefCurrent('hour', current),
147
147
  mode: 'normal',
@@ -172,7 +172,7 @@ class Combobox extends BaseComponent {
172
172
 
173
173
  const value = new Date(timeStampValue);
174
174
  const disabledOptions = disabledMinutes && disabledMinutes(value.getHours());
175
- const className = "".concat(prefixCls, "-list-minute");
175
+ const className = `${prefixCls}-list-minute`;
176
176
 
177
177
  const transformMinute = min => min + locale.minute;
178
178
 
@@ -206,7 +206,7 @@ class Combobox extends BaseComponent {
206
206
 
207
207
  const value = new Date(timeStampValue);
208
208
  const disabledOptions = disabledSeconds && disabledSeconds(value.getHours(), value.getMinutes());
209
- const className = "".concat(prefixCls, "-list-second");
209
+ const className = `${prefixCls}-list-second`;
210
210
 
211
211
  const transformSecond = sec => String(sec) + locale.second;
212
212
 
@@ -242,7 +242,7 @@ class Combobox extends BaseComponent {
242
242
  text: locale.PM || '下午'
243
243
  }];
244
244
  const selected = isAM ? 0 : 1;
245
- const className = "".concat(prefixCls, "-list-ampm");
245
+ const className = `${prefixCls}-list-ampm`;
246
246
  return /*#__PURE__*/React.createElement(ScrollItem, Object.assign({
247
247
  ref: current => this.cacheRefCurrent('ampm', current),
248
248
  mode: 'normal',
@@ -126,9 +126,9 @@ class TimeInput extends BaseComponent {
126
126
  rest = __rest(_a, ["prefixCls", "placeholder", "inputReadOnly", "onFocus", "disabled", "type", "locale", "localeCode", "insetLabel", "validateStatus", "value", "onChange", "invalid", "format", "clearText", "disabledHours", "disabledMinutes", "disabledSeconds", "onEsc", "defaultOpenValue", "currentSelectPanel", "focusOnOpen", "timeStampValue", "timeZone", "defaultOpen", "dateFnsLocale"]); // const { focusing } = this.state;
127
127
 
128
128
 
129
- const inputCls = classNames("".concat(prefixCls, "-input"), {
130
- ["".concat(prefixCls, "-input-invalid")]: invalid,
131
- ["".concat(prefixCls, "-input-readonly")]: inputReadOnly
129
+ const inputCls = classNames(`${prefixCls}-input`, {
130
+ [`${prefixCls}-input-invalid`]: invalid,
131
+ [`${prefixCls}-input-readonly`]: inputReadOnly
132
132
  });
133
133
  const mergeValidateStatus = invalid ? 'error' : validateStatus;
134
134
  return /*#__PURE__*/React.createElement(Input, Object.assign({}, rest, {
@@ -155,7 +155,7 @@ class TimeInput extends BaseComponent {
155
155
  prefixCls
156
156
  } = this.props;
157
157
  return /*#__PURE__*/React.createElement("div", {
158
- className: "".concat(prefixCls, "-input-wrap")
158
+ className: `${prefixCls}-input-wrap`
159
159
  }, this.getInput());
160
160
  }
161
161
 
@@ -197,7 +197,7 @@ export default class TimePicker extends BaseComponent {
197
197
  format: format,
198
198
  isAM: isAM[0],
199
199
  timeStampValue: value[0],
200
- prefixCls: "".concat(prefixCls, "-panel"),
200
+ prefixCls: `${prefixCls}-panel`,
201
201
  onChange: v => this.handlePanelChange(v, 0),
202
202
  onCurrentSelectPanelChange: this.onCurrentSelectPanelChange
203
203
  }, this.createPanelProps(0)))];
@@ -208,7 +208,7 @@ export default class TimePicker extends BaseComponent {
208
208
  format: format,
209
209
  isAM: isAM[1],
210
210
  timeStampValue: value[1],
211
- prefixCls: "".concat(prefixCls, "-panel"),
211
+ prefixCls: `${prefixCls}-panel`,
212
212
  onChange: v => this.handlePanelChange(v, 1),
213
213
  onCurrentSelectPanelChange: this.onCurrentSelectPanelChange
214
214
  }, this.createPanelProps(1))));
@@ -252,10 +252,10 @@ export default class TimePicker extends BaseComponent {
252
252
  selectColumnCount += 1;
253
253
  }
254
254
 
255
- return classNames("".concat(prefixCls, "-panel"), popupClassName, {
256
- ["".concat(prefixCls, "-panel-narrow")]: (!showHour || !showMinute || !showSecond) && !use12Hours,
255
+ return classNames(`${prefixCls}-panel`, popupClassName, {
256
+ [`${prefixCls}-panel-narrow`]: (!showHour || !showMinute || !showSecond) && !use12Hours,
257
257
  [cssClasses.RANGE_PICKER]: this.adapter.isRangePicker()
258
- }, "".concat(prefixCls, "-panel-column-").concat(selectColumnCount));
258
+ }, `${prefixCls}-panel-column-${selectColumnCount}`);
259
259
  }
260
260
 
261
261
  focus() {// TODO this.picker is undefined, confirm keep this func or not
@@ -315,11 +315,11 @@ export default class TimePicker extends BaseComponent {
315
315
  } = this.state;
316
316
  const popupClassName = this.getPopupClassName();
317
317
  const headerPrefix = classNames({
318
- ["".concat(prefixCls, "-header")]: true
318
+ [`${prefixCls}-header`]: true
319
319
  });
320
320
  const panelPrefix = classNames({
321
- ["".concat(prefixCls, "-panel")]: true,
322
- ["".concat(prefixCls, "-panel-").concat(size)]: size
321
+ [`${prefixCls}-panel`]: true,
322
+ [`${prefixCls}-panel-${size}`]: size
323
323
  });
324
324
  const inputProps = Object.assign(Object.assign({}, rest), {
325
325
  disabled,
@@ -18,26 +18,26 @@ class Timeline extends PureComponent {
18
18
 
19
19
  if (mode === 'alternate') {
20
20
  if (ele.props.position) {
21
- return "".concat(prefixCls, "-item-").concat(ele.props.position);
21
+ return `${prefixCls}-item-${ele.props.position}`;
22
22
  }
23
23
 
24
- return idx % 2 === 0 ? "".concat(prefixCls, "-item-left") : "".concat(prefixCls, "-item-right");
24
+ return idx % 2 === 0 ? `${prefixCls}-item-left` : `${prefixCls}-item-right`;
25
25
  }
26
26
 
27
27
  if (mode === 'center') {
28
28
  if (ele.props.position) {
29
- return "".concat(prefixCls, "-item-").concat(ele.props.position);
29
+ return `${prefixCls}-item-${ele.props.position}`;
30
30
  }
31
31
 
32
- return "".concat(prefixCls, "-item-left");
32
+ return `${prefixCls}-item-left`;
33
33
  }
34
34
 
35
35
  if (mode === 'left' || mode === 'right') {
36
- return "".concat(prefixCls, "-item-").concat(mode);
36
+ return `${prefixCls}-item-${mode}`;
37
37
  }
38
38
 
39
39
  if (ele.props.position) {
40
- return "".concat(prefixCls, "-item-").concat(ele.props.position);
40
+ return `${prefixCls}-item-${ele.props.position}`;
41
41
  }
42
42
 
43
43
  return '';
@@ -64,13 +64,13 @@ class Timeline extends PureComponent {
64
64
  dataSource
65
65
  } = this.props;
66
66
  const classString = cls(prefixCls, className, {
67
- ["".concat(prefixCls, "-").concat(mode)]: mode
67
+ [`${prefixCls}-${mode}`]: mode
68
68
  });
69
69
  let childrenList;
70
70
 
71
71
  if (dataSource && dataSource.length) {
72
72
  const items = dataSource.map((item, index) => /*#__PURE__*/React.createElement(Item, Object.assign({
73
- key: "timeline-item-".concat(index)
73
+ key: `timeline-item-${index}`
74
74
  }, item), item.content));
75
75
  childrenList = this.addClassName(items);
76
76
  }
@@ -20,9 +20,9 @@ export default class Item extends PureComponent {
20
20
  } = this.props;
21
21
  const itemCls = cls(prefixCls, className);
22
22
  const dotCls = cls({
23
- ["".concat(prefixCls, "-head")]: true,
24
- ["".concat(prefixCls, "-head-custom")]: dot,
25
- ["".concat(prefixCls, "-head-").concat(type)]: type
23
+ [`${prefixCls}-head`]: true,
24
+ [`${prefixCls}-head-custom`]: dot,
25
+ [`${prefixCls}-head-${type}`]: type
26
26
  });
27
27
  const dotStyle = color ? {
28
28
  style: {
@@ -34,17 +34,17 @@ export default class Item extends PureComponent {
34
34
  style: style,
35
35
  onClick: onClick
36
36
  }, /*#__PURE__*/React.createElement("div", {
37
- className: "".concat(prefixCls, "-tail"),
37
+ className: `${prefixCls}-tail`,
38
38
  "aria-hidden": true
39
39
  }), /*#__PURE__*/React.createElement("div", Object.assign({
40
40
  className: dotCls,
41
41
  "aria-hidden": true
42
42
  }, dotStyle), dot), /*#__PURE__*/React.createElement("div", {
43
- className: "".concat(prefixCls, "-content")
43
+ className: `${prefixCls}-content`
44
44
  }, children, extra && /*#__PURE__*/React.createElement("div", {
45
- className: "".concat(prefixCls, "-content-extra")
45
+ className: `${prefixCls}-content-extra`
46
46
  }, extra), time && /*#__PURE__*/React.createElement("div", {
47
- className: "".concat(prefixCls, "-content-time")
47
+ className: `${prefixCls}-content-time`
48
48
  }, time)));
49
49
  }
50
50