@douyinfe/semi-ui 2.27.1 → 2.28.0-beta.1

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 (367) hide show
  1. package/dist/css/semi.css +228 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +2446 -2082
  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.d.ts +1 -1
  59. package/lib/cjs/dropdown/dropdownMenu.js +1 -1
  60. package/lib/cjs/dropdown/dropdownTitle.js +2 -2
  61. package/lib/cjs/dropdown/index.d.ts +1 -1
  62. package/lib/cjs/dropdown/index.js +3 -3
  63. package/lib/cjs/empty/index.js +7 -7
  64. package/lib/cjs/form/arrayField.js +1 -1
  65. package/lib/cjs/form/baseForm.d.ts +3 -1
  66. package/lib/cjs/form/baseForm.js +2 -2
  67. package/lib/cjs/form/errorMessage.js +1 -1
  68. package/lib/cjs/form/field.d.ts +3 -1
  69. package/lib/cjs/form/group.js +2 -2
  70. package/lib/cjs/form/hoc/withField.js +16 -16
  71. package/lib/cjs/form/label.js +9 -9
  72. package/lib/cjs/form/slot.js +5 -5
  73. package/lib/cjs/grid/col.js +11 -11
  74. package/lib/cjs/grid/row.js +4 -4
  75. package/lib/cjs/highlight/index.js +1 -1
  76. package/lib/cjs/iconButton/index.js +5 -5
  77. package/lib/cjs/image/image.js +10 -10
  78. package/lib/cjs/image/preview.d.ts +1 -1
  79. package/lib/cjs/image/preview.js +3 -3
  80. package/lib/cjs/image/previewFooter.js +12 -12
  81. package/lib/cjs/image/previewHeader.js +3 -3
  82. package/lib/cjs/image/previewImage.js +7 -7
  83. package/lib/cjs/image/previewInner.js +7 -7
  84. package/lib/cjs/input/index.d.ts +1 -1
  85. package/lib/cjs/input/index.js +38 -38
  86. package/lib/cjs/input/inputGroup.js +7 -7
  87. package/lib/cjs/input/textarea.js +14 -14
  88. package/lib/cjs/inputNumber/index.js +11 -11
  89. package/lib/cjs/layout/Sider.d.ts +1 -0
  90. package/lib/cjs/layout/Sider.js +4 -3
  91. package/lib/cjs/layout/index.js +4 -2
  92. package/lib/cjs/list/index.js +11 -11
  93. package/lib/cjs/list/item.js +6 -6
  94. package/lib/cjs/modal/ConfirmModal.js +7 -7
  95. package/lib/cjs/modal/Modal.d.ts +0 -2
  96. package/lib/cjs/modal/Modal.js +8 -10
  97. package/lib/cjs/modal/ModalContent.js +24 -24
  98. package/lib/cjs/modal/useModal/index.js +1 -1
  99. package/lib/cjs/navigation/CollapseButton.js +1 -1
  100. package/lib/cjs/navigation/Footer.js +2 -2
  101. package/lib/cjs/navigation/Header.js +5 -5
  102. package/lib/cjs/navigation/Item.js +16 -16
  103. package/lib/cjs/navigation/SubNav.js +14 -14
  104. package/lib/cjs/navigation/index.js +8 -8
  105. package/lib/cjs/notification/index.js +3 -3
  106. package/lib/cjs/notification/notice.js +12 -12
  107. package/lib/cjs/overflowList/index.d.ts +1 -1
  108. package/lib/cjs/overflowList/index.js +32 -35
  109. package/lib/cjs/overflowList/intersectionObserver.js +3 -1
  110. package/lib/cjs/pagination/index.js +26 -26
  111. package/lib/cjs/popconfirm/index.js +9 -9
  112. package/lib/cjs/popover/index.js +2 -2
  113. package/lib/cjs/progress/index.js +14 -14
  114. package/lib/cjs/radio/radio.js +22 -22
  115. package/lib/cjs/radio/radioGroup.js +5 -5
  116. package/lib/cjs/radio/radioInner.js +7 -7
  117. package/lib/cjs/rating/index.js +5 -5
  118. package/lib/cjs/rating/item.js +11 -11
  119. package/lib/cjs/scrollList/index.js +5 -5
  120. package/lib/cjs/scrollList/scrollItem.js +13 -13
  121. package/lib/cjs/select/index.d.ts +11 -0
  122. package/lib/cjs/select/index.js +297 -116
  123. package/lib/cjs/select/option.js +7 -7
  124. package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
  125. package/lib/cjs/sideSheet/index.js +7 -7
  126. package/lib/cjs/skeleton/index.js +1 -1
  127. package/lib/cjs/skeleton/item.js +4 -4
  128. package/lib/cjs/slider/index.js +28 -28
  129. package/lib/cjs/space/index.js +12 -12
  130. package/lib/cjs/spin/icon.js +2 -2
  131. package/lib/cjs/spin/index.d.ts +1 -1
  132. package/lib/cjs/spin/index.js +6 -6
  133. package/lib/cjs/steps/basicStep.js +14 -14
  134. package/lib/cjs/steps/basicSteps.js +6 -6
  135. package/lib/cjs/steps/fillStep.js +10 -10
  136. package/lib/cjs/steps/fillSteps.js +4 -4
  137. package/lib/cjs/steps/navStep.js +5 -5
  138. package/lib/cjs/steps/navSteps.js +2 -2
  139. package/lib/cjs/table/Body/BaseRow.js +5 -5
  140. package/lib/cjs/table/Body/ExpandedRow.js +3 -3
  141. package/lib/cjs/table/Body/SectionRow.js +1 -1
  142. package/lib/cjs/table/Body/index.js +8 -8
  143. package/lib/cjs/table/ColGroup.js +2 -2
  144. package/lib/cjs/table/ColumnFilter.js +3 -3
  145. package/lib/cjs/table/ColumnSelection.js +2 -2
  146. package/lib/cjs/table/ColumnSorter.js +7 -7
  147. package/lib/cjs/table/CustomExpandIcon.js +2 -2
  148. package/lib/cjs/table/HeadTable.js +3 -3
  149. package/lib/cjs/table/Table.js +20 -20
  150. package/lib/cjs/table/TableCell.js +8 -8
  151. package/lib/cjs/table/TableHeader.js +1 -1
  152. package/lib/cjs/table/TableHeaderRow.d.ts +1 -1
  153. package/lib/cjs/table/TableHeaderRow.js +8 -8
  154. package/lib/cjs/table/TablePagination.js +3 -3
  155. package/lib/cjs/tabs/TabBar.js +31 -49
  156. package/lib/cjs/tabs/TabItem.d.ts +18 -0
  157. package/lib/cjs/tabs/TabItem.js +95 -0
  158. package/lib/cjs/tabs/TabPane.js +3 -3
  159. package/lib/cjs/tabs/index.d.ts +2 -1
  160. package/lib/cjs/tabs/index.js +5 -2
  161. package/lib/cjs/tag/group.js +5 -5
  162. package/lib/cjs/tag/index.js +13 -13
  163. package/lib/cjs/tagInput/index.js +33 -33
  164. package/lib/cjs/timePicker/Combobox.js +4 -4
  165. package/lib/cjs/timePicker/TimeInput.js +4 -4
  166. package/lib/cjs/timePicker/TimePicker.js +8 -8
  167. package/lib/cjs/timeline/index.js +8 -8
  168. package/lib/cjs/timeline/item.js +7 -7
  169. package/lib/cjs/toast/index.js +5 -5
  170. package/lib/cjs/toast/toast.js +9 -9
  171. package/lib/cjs/tooltip/index.js +7 -7
  172. package/lib/cjs/transfer/index.js +31 -31
  173. package/lib/cjs/tree/autoSizer.js +1 -1
  174. package/lib/cjs/tree/index.js +6 -6
  175. package/lib/cjs/tree/interface.d.ts +1 -0
  176. package/lib/cjs/tree/nodeList.js +1 -1
  177. package/lib/cjs/tree/treeNode.js +26 -26
  178. package/lib/cjs/treeSelect/index.js +41 -41
  179. package/lib/cjs/typography/base.js +14 -14
  180. package/lib/cjs/typography/copyable.js +3 -3
  181. package/lib/cjs/typography/paragraph.js +1 -1
  182. package/lib/cjs/typography/title.d.ts +1 -1
  183. package/lib/cjs/typography/title.js +1 -1
  184. package/lib/cjs/typography/util.js +1 -1
  185. package/lib/cjs/upload/fileCard.js +32 -32
  186. package/lib/cjs/upload/index.js +37 -37
  187. package/lib/es/_portal/index.js +2 -2
  188. package/lib/es/_utils/index.js +3 -1
  189. package/lib/es/anchor/index.js +9 -9
  190. package/lib/es/anchor/link.js +8 -8
  191. package/lib/es/autoComplete/index.js +8 -4
  192. package/lib/es/autoComplete/option.js +7 -7
  193. package/lib/es/avatar/avatarGroup.js +7 -7
  194. package/lib/es/avatar/index.js +12 -12
  195. package/lib/es/badge/index.js +8 -8
  196. package/lib/es/banner/index.js +12 -12
  197. package/lib/es/breadcrumb/index.js +12 -12
  198. package/lib/es/breadcrumb/item.js +8 -8
  199. package/lib/es/button/Button.js +9 -9
  200. package/lib/es/button/buttonGroup.js +5 -5
  201. package/lib/es/button/splitButtonGroup.js +1 -1
  202. package/lib/es/calendar/dayCalendar.js +13 -13
  203. package/lib/es/calendar/dayCol.js +17 -17
  204. package/lib/es/calendar/monthCalendar.js +38 -38
  205. package/lib/es/calendar/rangeCalendar.js +27 -27
  206. package/lib/es/calendar/timeCol.js +6 -6
  207. package/lib/es/calendar/weekCalendar.js +27 -27
  208. package/lib/es/card/cardGroup.js +2 -2
  209. package/lib/es/card/index.js +16 -16
  210. package/lib/es/card/meta.js +5 -5
  211. package/lib/es/carousel/CarouselArrow.js +6 -6
  212. package/lib/es/carousel/CarouselIndicator.js +6 -6
  213. package/lib/es/carousel/index.js +12 -12
  214. package/lib/es/cascader/index.d.ts +5 -2
  215. package/lib/es/cascader/index.js +40 -38
  216. package/lib/es/cascader/item.d.ts +15 -1
  217. package/lib/es/cascader/item.js +64 -32
  218. package/lib/es/checkbox/checkbox.js +14 -14
  219. package/lib/es/checkbox/checkboxGroup.js +4 -4
  220. package/lib/es/checkbox/checkboxInner.js +6 -6
  221. package/lib/es/collapse/item.js +9 -9
  222. package/lib/es/collapsible/index.js +3 -3
  223. package/lib/es/configProvider/index.js +1 -1
  224. package/lib/es/datePicker/dateInput.js +16 -16
  225. package/lib/es/datePicker/datePicker.js +9 -9
  226. package/lib/es/datePicker/footer.js +1 -1
  227. package/lib/es/datePicker/index.js +1 -1
  228. package/lib/es/datePicker/month.js +2 -2
  229. package/lib/es/datePicker/monthsGrid.js +27 -27
  230. package/lib/es/datePicker/navigation.js +1 -1
  231. package/lib/es/datePicker/quickControl.js +14 -14
  232. package/lib/es/datePicker/yearAndMonth.js +4 -4
  233. package/lib/es/descriptions/index.js +3 -3
  234. package/lib/es/descriptions/item.js +5 -5
  235. package/lib/es/divider/index.js +7 -7
  236. package/lib/es/dropdown/dropdownDivider.js +1 -1
  237. package/lib/es/dropdown/dropdownItem.js +7 -7
  238. package/lib/es/dropdown/dropdownMenu.d.ts +1 -1
  239. package/lib/es/dropdown/dropdownMenu.js +1 -1
  240. package/lib/es/dropdown/dropdownTitle.js +2 -2
  241. package/lib/es/dropdown/index.d.ts +1 -1
  242. package/lib/es/dropdown/index.js +3 -3
  243. package/lib/es/empty/index.js +7 -7
  244. package/lib/es/form/arrayField.js +1 -1
  245. package/lib/es/form/baseForm.d.ts +3 -1
  246. package/lib/es/form/baseForm.js +2 -2
  247. package/lib/es/form/errorMessage.js +1 -1
  248. package/lib/es/form/field.d.ts +3 -1
  249. package/lib/es/form/group.js +2 -2
  250. package/lib/es/form/hoc/withField.js +16 -16
  251. package/lib/es/form/label.js +9 -9
  252. package/lib/es/form/slot.js +5 -5
  253. package/lib/es/grid/col.js +11 -11
  254. package/lib/es/grid/row.js +4 -4
  255. package/lib/es/highlight/index.js +1 -1
  256. package/lib/es/iconButton/index.js +5 -5
  257. package/lib/es/image/image.js +10 -10
  258. package/lib/es/image/preview.d.ts +1 -1
  259. package/lib/es/image/preview.js +3 -3
  260. package/lib/es/image/previewFooter.js +12 -12
  261. package/lib/es/image/previewHeader.js +3 -3
  262. package/lib/es/image/previewImage.js +7 -7
  263. package/lib/es/image/previewInner.js +7 -7
  264. package/lib/es/input/index.d.ts +1 -1
  265. package/lib/es/input/index.js +38 -38
  266. package/lib/es/input/inputGroup.js +7 -7
  267. package/lib/es/input/textarea.js +14 -14
  268. package/lib/es/inputNumber/index.js +11 -11
  269. package/lib/es/layout/Sider.d.ts +1 -0
  270. package/lib/es/layout/Sider.js +4 -3
  271. package/lib/es/layout/index.js +4 -2
  272. package/lib/es/list/index.js +11 -11
  273. package/lib/es/list/item.js +6 -6
  274. package/lib/es/modal/ConfirmModal.js +7 -7
  275. package/lib/es/modal/Modal.d.ts +0 -2
  276. package/lib/es/modal/Modal.js +8 -10
  277. package/lib/es/modal/ModalContent.js +24 -24
  278. package/lib/es/modal/useModal/index.js +1 -1
  279. package/lib/es/navigation/CollapseButton.js +1 -1
  280. package/lib/es/navigation/Footer.js +2 -2
  281. package/lib/es/navigation/Header.js +5 -5
  282. package/lib/es/navigation/Item.js +16 -16
  283. package/lib/es/navigation/SubNav.js +14 -14
  284. package/lib/es/navigation/index.js +8 -8
  285. package/lib/es/notification/index.js +3 -3
  286. package/lib/es/notification/notice.js +12 -12
  287. package/lib/es/overflowList/index.d.ts +1 -1
  288. package/lib/es/overflowList/index.js +31 -35
  289. package/lib/es/overflowList/intersectionObserver.js +2 -1
  290. package/lib/es/pagination/index.js +26 -26
  291. package/lib/es/popconfirm/index.js +9 -9
  292. package/lib/es/popover/index.js +2 -2
  293. package/lib/es/progress/index.js +14 -14
  294. package/lib/es/radio/radio.js +22 -22
  295. package/lib/es/radio/radioGroup.js +5 -5
  296. package/lib/es/radio/radioInner.js +7 -7
  297. package/lib/es/rating/index.js +5 -5
  298. package/lib/es/rating/item.js +11 -11
  299. package/lib/es/scrollList/index.js +5 -5
  300. package/lib/es/scrollList/scrollItem.js +13 -13
  301. package/lib/es/select/index.d.ts +11 -0
  302. package/lib/es/select/index.js +288 -112
  303. package/lib/es/select/option.js +7 -7
  304. package/lib/es/sideSheet/SideSheetContent.js +10 -10
  305. package/lib/es/sideSheet/index.js +7 -7
  306. package/lib/es/skeleton/index.js +1 -1
  307. package/lib/es/skeleton/item.js +4 -4
  308. package/lib/es/slider/index.js +28 -28
  309. package/lib/es/space/index.js +12 -12
  310. package/lib/es/spin/icon.js +2 -2
  311. package/lib/es/spin/index.d.ts +1 -1
  312. package/lib/es/spin/index.js +6 -6
  313. package/lib/es/steps/basicStep.js +14 -14
  314. package/lib/es/steps/basicSteps.js +6 -6
  315. package/lib/es/steps/fillStep.js +10 -10
  316. package/lib/es/steps/fillSteps.js +4 -4
  317. package/lib/es/steps/navStep.js +5 -5
  318. package/lib/es/steps/navSteps.js +2 -2
  319. package/lib/es/table/Body/BaseRow.js +5 -5
  320. package/lib/es/table/Body/ExpandedRow.js +3 -3
  321. package/lib/es/table/Body/SectionRow.js +1 -1
  322. package/lib/es/table/Body/index.js +8 -8
  323. package/lib/es/table/ColGroup.js +2 -2
  324. package/lib/es/table/ColumnFilter.js +3 -3
  325. package/lib/es/table/ColumnSelection.js +2 -2
  326. package/lib/es/table/ColumnSorter.js +7 -7
  327. package/lib/es/table/CustomExpandIcon.js +2 -2
  328. package/lib/es/table/HeadTable.js +3 -3
  329. package/lib/es/table/Table.js +20 -20
  330. package/lib/es/table/TableCell.js +8 -8
  331. package/lib/es/table/TableHeader.js +1 -1
  332. package/lib/es/table/TableHeaderRow.d.ts +1 -1
  333. package/lib/es/table/TableHeaderRow.js +8 -8
  334. package/lib/es/table/TablePagination.js +3 -3
  335. package/lib/es/tabs/TabBar.js +30 -50
  336. package/lib/es/tabs/TabItem.d.ts +18 -0
  337. package/lib/es/tabs/TabItem.js +78 -0
  338. package/lib/es/tabs/TabPane.js +3 -3
  339. package/lib/es/tabs/index.d.ts +2 -1
  340. package/lib/es/tabs/index.js +4 -2
  341. package/lib/es/tag/group.js +5 -5
  342. package/lib/es/tag/index.js +13 -13
  343. package/lib/es/tagInput/index.js +33 -33
  344. package/lib/es/timePicker/Combobox.js +4 -4
  345. package/lib/es/timePicker/TimeInput.js +4 -4
  346. package/lib/es/timePicker/TimePicker.js +8 -8
  347. package/lib/es/timeline/index.js +8 -8
  348. package/lib/es/timeline/item.js +7 -7
  349. package/lib/es/toast/index.js +5 -5
  350. package/lib/es/toast/toast.js +9 -9
  351. package/lib/es/tooltip/index.js +7 -7
  352. package/lib/es/transfer/index.js +31 -31
  353. package/lib/es/tree/autoSizer.js +1 -1
  354. package/lib/es/tree/index.js +6 -6
  355. package/lib/es/tree/interface.d.ts +1 -0
  356. package/lib/es/tree/nodeList.js +1 -1
  357. package/lib/es/tree/treeNode.js +26 -26
  358. package/lib/es/treeSelect/index.js +41 -41
  359. package/lib/es/typography/base.js +14 -14
  360. package/lib/es/typography/copyable.js +3 -3
  361. package/lib/es/typography/paragraph.js +1 -1
  362. package/lib/es/typography/title.d.ts +1 -1
  363. package/lib/es/typography/title.js +1 -1
  364. package/lib/es/typography/util.js +1 -1
  365. package/lib/es/upload/fileCard.js +32 -32
  366. package/lib/es/upload/index.js +37 -37
  367. package/package.json +8 -8
@@ -64,7 +64,7 @@ export default class ModalContent extends BaseComponent {
64
64
  } = props;
65
65
 
66
66
  if (mask) {
67
- const className = cls("".concat(cssClasses.DIALOG, "-mask"), {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
67
+ const className = cls(`${cssClasses.DIALOG}-mask`, {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
68
68
  });
69
69
  return /*#__PURE__*/React.createElement("div", Object.assign({
70
70
  key: "mask"
@@ -90,7 +90,7 @@ export default class ModalContent extends BaseComponent {
90
90
  });
91
91
  closer = /*#__PURE__*/React.createElement(Button, {
92
92
  "aria-label": "close",
93
- className: "".concat(cssClasses.DIALOG, "-close"),
93
+ className: `${cssClasses.DIALOG}-close`,
94
94
  key: "close-btn",
95
95
  onClick: this.close,
96
96
  type: "tertiary",
@@ -108,7 +108,7 @@ export default class ModalContent extends BaseComponent {
108
108
  icon
109
109
  } = this.props;
110
110
  return icon ? /*#__PURE__*/React.createElement("span", {
111
- className: "".concat(cssClasses.DIALOG, "-icon-wrapper"),
111
+ className: `${cssClasses.DIALOG}-icon-wrapper`,
112
112
  "x-semi-prop": "icon"
113
113
  }, icon) : null;
114
114
  };
@@ -124,11 +124,11 @@ export default class ModalContent extends BaseComponent {
124
124
  const closer = this.renderCloseBtn();
125
125
  const icon = this.renderIcon();
126
126
  return title === null || title === undefined ? null : /*#__PURE__*/React.createElement("div", {
127
- className: "".concat(cssClasses.DIALOG, "-header")
127
+ className: `${cssClasses.DIALOG}-header`
128
128
  }, icon, /*#__PURE__*/React.createElement(Typography.Title, {
129
129
  heading: 5,
130
- className: "".concat(cssClasses.DIALOG, "-title"),
131
- id: "".concat(cssClasses.DIALOG, "-title"),
130
+ className: `${cssClasses.DIALOG}-title`,
131
+ id: `${cssClasses.DIALOG}-title`,
132
132
  "x-semi-prop": "title"
133
133
  }, title), closer);
134
134
  };
@@ -139,19 +139,19 @@ export default class ModalContent extends BaseComponent {
139
139
  children,
140
140
  title
141
141
  } = this.props;
142
- const bodyCls = cls("".concat(cssClasses.DIALOG, "-body"), {
143
- ["".concat(cssClasses.DIALOG, "-withIcon")]: this.props.icon
142
+ const bodyCls = cls(`${cssClasses.DIALOG}-body`, {
143
+ [`${cssClasses.DIALOG}-withIcon`]: this.props.icon
144
144
  });
145
145
  const closer = this.renderCloseBtn();
146
146
  const icon = this.renderIcon();
147
147
  const hasHeader = title !== null && title !== undefined || 'header' in this.props;
148
148
  return hasHeader ? /*#__PURE__*/React.createElement("div", {
149
149
  className: bodyCls,
150
- id: "".concat(cssClasses.DIALOG, "-body"),
150
+ id: `${cssClasses.DIALOG}-body`,
151
151
  style: bodyStyle,
152
152
  "x-semi-prop": "children"
153
153
  }, children) : /*#__PURE__*/React.createElement("div", {
154
- className: "".concat(cssClasses.DIALOG, "-body-wrapper")
154
+ className: `${cssClasses.DIALOG}-body-wrapper`
155
155
  }, icon, /*#__PURE__*/React.createElement("div", {
156
156
  className: bodyCls,
157
157
  style: bodyStyle,
@@ -163,9 +163,9 @@ export default class ModalContent extends BaseComponent {
163
163
  const props = __rest(this.props, []);
164
164
 
165
165
  const style = {};
166
- const digCls = cls("".concat(cssClasses.DIALOG), {
167
- ["".concat(cssClasses.DIALOG, "-centered")]: props.centered,
168
- ["".concat(cssClasses.DIALOG, "-").concat(props.size)]: props.size
166
+ const digCls = cls(`${cssClasses.DIALOG}`, {
167
+ [`${cssClasses.DIALOG}-centered`]: props.centered,
168
+ [`${cssClasses.DIALOG}-${props.size}`]: props.size
169
169
  });
170
170
 
171
171
  if (props.width) {
@@ -185,7 +185,7 @@ export default class ModalContent extends BaseComponent {
185
185
  const body = this.renderBody();
186
186
  const header = this.renderHeader();
187
187
  const footer = props.footer ? /*#__PURE__*/React.createElement("div", {
188
- className: "".concat(cssClasses.DIALOG, "-footer"),
188
+ className: `${cssClasses.DIALOG}-footer`,
189
189
  "x-semi-prop": "footer"
190
190
  }, props.footer) : null;
191
191
  const dialogElement =
@@ -201,11 +201,11 @@ export default class ModalContent extends BaseComponent {
201
201
  role: "dialog",
202
202
  ref: this.modalDialogRef,
203
203
  "aria-modal": "true",
204
- "aria-labelledby": "".concat(cssClasses.DIALOG, "-title"),
205
- "aria-describedby": "".concat(cssClasses.DIALOG, "-body"),
204
+ "aria-labelledby": `${cssClasses.DIALOG}-title`,
205
+ "aria-describedby": `${cssClasses.DIALOG}-body`,
206
206
  onAnimationEnd: props.onAnimationEnd,
207
- className: cls(["".concat(cssClasses.DIALOG, "-content"), props.contentClassName, {
208
- ["".concat(cssClasses.DIALOG, "-content-fullScreen")]: props.isFullScreen
207
+ className: cls([`${cssClasses.DIALOG}-content`, props.contentClassName, {
208
+ [`${cssClasses.DIALOG}-content-fullScreen`]: props.isFullScreen
209
209
  }])
210
210
  }, header, body, footer)); // return props.visible ? dialogElement : null;
211
211
 
@@ -217,7 +217,7 @@ export default class ModalContent extends BaseComponent {
217
217
  prevFocusElement: FocusTrapHandle.getActiveElement()
218
218
  };
219
219
  this.foundation = new ModalContentFoundation(this.adapter);
220
- this.dialogId = "dialog-".concat(uuid++);
220
+ this.dialogId = `dialog-${uuid++}`;
221
221
  this.modalDialogRef = /*#__PURE__*/React.createRef();
222
222
  }
223
223
 
@@ -328,9 +328,9 @@ export default class ModalContent extends BaseComponent {
328
328
  direction
329
329
  } = this.context;
330
330
  const classList = cls(className, {
331
- ["".concat(cssClasses.DIALOG, "-popup")]: getPopupContainer && !maskFixed,
332
- ["".concat(cssClasses.DIALOG, "-fixed")]: maskFixed,
333
- ["".concat(cssClasses.DIALOG, "-rtl")]: direction === 'rtl'
331
+ [`${cssClasses.DIALOG}-popup`]: getPopupContainer && !maskFixed,
332
+ [`${cssClasses.DIALOG}-fixed`]: maskFixed,
333
+ [`${cssClasses.DIALOG}-rtl`]: direction === 'rtl'
334
334
  });
335
335
  const containerContext = getContainerContext();
336
336
  const elem = /*#__PURE__*/React.createElement("div", {
@@ -338,8 +338,8 @@ export default class ModalContent extends BaseComponent {
338
338
  }, this.getMaskElement(), /*#__PURE__*/React.createElement("div", Object.assign({
339
339
  role: "none",
340
340
  className: cls({
341
- ["".concat(cssClasses.DIALOG, "-wrap")]: true,
342
- ["".concat(cssClasses.DIALOG, "-wrap-center")]: this.props.centered
341
+ [`${cssClasses.DIALOG}-wrap`]: true,
342
+ [`${cssClasses.DIALOG}-wrap-center`]: this.props.centered
343
343
  }),
344
344
  onClick: maskClosable ? this.onMaskClick : null,
345
345
  onMouseUp: maskClosable ? this.onMaskMouseUp : null
@@ -26,7 +26,7 @@ export default function useModal() {
26
26
 
27
27
  let closeFunc;
28
28
  const modal = /*#__PURE__*/React.createElement(HookModal, {
29
- key: "semi-modal-".concat(uuid),
29
+ key: `semi-modal-${uuid}`,
30
30
  config: withFunc(config),
31
31
  ref: modalRef,
32
32
  afterClose: () => {
@@ -31,7 +31,7 @@ export default function CollapseButton(_ref) {
31
31
  }
32
32
 
33
33
  return /*#__PURE__*/React.createElement("div", {
34
- className: "".concat(prefixCls, "-collapse-btn")
34
+ className: `${prefixCls}-collapse-btn`
35
35
  }, isCollapsed ? /*#__PURE__*/React.createElement(Tooltip, {
36
36
  content: finalCollapseText,
37
37
  position: "right"
@@ -53,8 +53,8 @@ export default class NavFooter extends PureComponent {
53
53
  children = this.renderCollapseButton();
54
54
  }
55
55
 
56
- const wrapCls = cls(className, "".concat(cssClasses.PREFIX, "-footer"), {
57
- ["".concat(cssClasses.PREFIX, "-footer-collapsed")]: isCollapsed
56
+ const wrapCls = cls(className, `${cssClasses.PREFIX}-footer`, {
57
+ [`${cssClasses.PREFIX}-footer-collapsed`]: isCollapsed
58
58
  });
59
59
  return /*#__PURE__*/React.createElement("div", {
60
60
  className: wrapCls,
@@ -28,18 +28,18 @@ export default class NavHeader extends PureComponent {
28
28
  const {
29
29
  isCollapsed
30
30
  } = this.context;
31
- const wrapCls = cls(className, "".concat(cssClasses.PREFIX, "-header"), {
32
- ["".concat(cssClasses.PREFIX, "-header-collapsed")]: isCollapsed
31
+ const wrapCls = cls(className, `${cssClasses.PREFIX}-header`, {
32
+ [`${cssClasses.PREFIX}-header-collapsed`]: isCollapsed
33
33
  });
34
34
  let wrappedChildren = /*#__PURE__*/React.createElement(React.Fragment, null, logo ? /*#__PURE__*/React.createElement("i", {
35
- className: "".concat(cssClasses.PREFIX, "-header-logo")
35
+ className: `${cssClasses.PREFIX}-header-logo`
36
36
  }, this.renderLogo(logo)) : null, !isNullOrUndefined(text) && !isCollapsed ? /*#__PURE__*/React.createElement("span", {
37
- className: "".concat(cssClasses.PREFIX, "-header-text")
37
+ className: `${cssClasses.PREFIX}-header-text`
38
38
  }, text) : null, children);
39
39
 
40
40
  if (typeof link === 'string') {
41
41
  wrappedChildren = /*#__PURE__*/React.createElement("a", Object.assign({
42
- className: "".concat(prefixCls, "-header-link"),
42
+ className: `${prefixCls}-header-link`,
43
43
  href: link
44
44
  }, linkOptions), wrappedChildren);
45
45
  }
@@ -15,7 +15,7 @@ import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/navigation
15
15
  import Tooltip from '../tooltip';
16
16
  import NavContext from './nav-context';
17
17
  import Dropdown from '../dropdown';
18
- const clsPrefix = "".concat(cssClasses.PREFIX, "-item");
18
+ const clsPrefix = `${cssClasses.PREFIX}-item`;
19
19
  export default class NavItem extends BaseComponent {
20
20
  constructor(props) {
21
21
  super(props);
@@ -121,9 +121,9 @@ export default class NavItem extends BaseComponent {
121
121
  iconSize = 'default';
122
122
  }
123
123
 
124
- const className = cls("".concat(clsPrefix, "-icon"), {
125
- ["".concat(clsPrefix, "-icon-toggle-").concat(this.context.toggleIconPosition)]: isToggleIcon,
126
- ["".concat(clsPrefix, "-icon-info")]: !isToggleIcon
124
+ const className = cls(`${clsPrefix}-icon`, {
125
+ [`${clsPrefix}-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
126
+ [`${clsPrefix}-icon-info`]: !isToggleIcon
127
127
  });
128
128
  return /*#__PURE__*/React.createElement("i", {
129
129
  className: className,
@@ -172,13 +172,13 @@ export default class NavItem extends BaseComponent {
172
172
  }
173
173
 
174
174
  itemChildren = /*#__PURE__*/React.createElement(React.Fragment, null, placeholderIcons, this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIcon, strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'), icon || indent || isInSubNav ? this.renderIcon(icon, strings.ICON_POS_LEFT, false, 'key-position-left') : null, !isNullOrUndefined(text) ? /*#__PURE__*/React.createElement("span", {
175
- className: "".concat(cssClasses.PREFIX, "-item-text")
175
+ className: `${cssClasses.PREFIX}-item-text`
176
176
  }, text) : '', this.context.toggleIconPosition === strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIcon, strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'));
177
177
  }
178
178
 
179
179
  if (typeof link === 'string') {
180
180
  itemChildren = /*#__PURE__*/React.createElement("a", Object.assign({
181
- className: "".concat(prefixCls, "-item-link"),
181
+ className: `${prefixCls}-item-link`,
182
182
  href: link,
183
183
  tabIndex: -1
184
184
  }, linkOptions), itemChildren);
@@ -189,10 +189,10 @@ export default class NavItem extends BaseComponent {
189
189
  if (isInSubNav && (isCollapsed || mode === strings.MODE_HORIZONTAL)) {
190
190
  const popoverItemCls = cls({
191
191
  [clsPrefix]: true,
192
- ["".concat(clsPrefix, "-sub")]: isSubNav,
193
- ["".concat(clsPrefix, "-selected")]: selected,
194
- ["".concat(clsPrefix, "-collapsed")]: isCollapsed,
195
- ["".concat(clsPrefix, "-disabled")]: disabled
192
+ [`${clsPrefix}-sub`]: isSubNav,
193
+ [`${clsPrefix}-selected`]: selected,
194
+ [`${clsPrefix}-collapsed`]: isCollapsed,
195
+ [`${clsPrefix}-disabled`]: disabled
196
196
  });
197
197
  itemDom = /*#__PURE__*/React.createElement(Dropdown.Item, {
198
198
  selected: selected,
@@ -207,13 +207,13 @@ export default class NavItem extends BaseComponent {
207
207
  }, itemChildren);
208
208
  } else {
209
209
  // Items are divided into normal and sub-wrap
210
- const popoverItemCls = cls("".concat(className || "".concat(clsPrefix, "-normal")), {
210
+ const popoverItemCls = cls(`${className || `${clsPrefix}-normal`}`, {
211
211
  [clsPrefix]: true,
212
- ["".concat(clsPrefix, "-sub")]: isSubNav,
213
- ["".concat(clsPrefix, "-selected")]: selected && !isSubNav,
214
- ["".concat(clsPrefix, "-collapsed")]: isCollapsed,
215
- ["".concat(clsPrefix, "-disabled")]: disabled,
216
- ["".concat(clsPrefix, "-has-link")]: typeof link === 'string'
212
+ [`${clsPrefix}-sub`]: isSubNav,
213
+ [`${clsPrefix}-selected`]: selected && !isSubNav,
214
+ [`${clsPrefix}-collapsed`]: isCollapsed,
215
+ [`${clsPrefix}-disabled`]: disabled,
216
+ [`${clsPrefix}-has-link`]: typeof link === 'string'
217
217
  });
218
218
  const ariaProps = {
219
219
  'aria-disabled': disabled
@@ -122,14 +122,14 @@ export default class SubNav extends BaseComponent {
122
122
  iconSize = 'default';
123
123
  }
124
124
 
125
- const className = cls("".concat(prefixCls, "-item-icon"), {
126
- ["".concat(prefixCls, "-item-icon-toggle-").concat(this.context.toggleIconPosition)]: isToggleIcon,
127
- ["".concat(prefixCls, "-item-icon-info")]: !isToggleIcon
125
+ const className = cls(`${prefixCls}-item-icon`, {
126
+ [`${prefixCls}-item-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
127
+ [`${prefixCls}-item-icon-info`]: !isToggleIcon
128
128
  });
129
129
  const isOpen = this.adapter.getIsOpen();
130
130
  const iconElem = /*#__PURE__*/React.isValidElement(icon) ? withTransition ? /*#__PURE__*/React.createElement(CSSAnimation, {
131
131
  animationState: isOpen ? "enter" : "leave",
132
- startClassName: "".concat(cssClasses.PREFIX, "-icon-rotate-").concat(isOpen ? "180" : "0")
132
+ startClassName: `${cssClasses.PREFIX}-icon-rotate-${isOpen ? "180" : "0"}`
133
133
  }, _ref => {
134
134
  let {
135
135
  animationClassName
@@ -167,9 +167,9 @@ export default class SubNav extends BaseComponent {
167
167
  limitIndent
168
168
  } = this.context;
169
169
  const isOpen = this.adapter.getIsOpen();
170
- const titleCls = cls("".concat(prefixCls, "-sub-title"), {
171
- ["".concat(prefixCls, "-sub-title-selected")]: this.adapter.getIsSelected(itemKey),
172
- ["".concat(prefixCls, "-sub-title-disabled")]: disabled
170
+ const titleCls = cls(`${prefixCls}-sub-title`, {
171
+ [`${prefixCls}-sub-title-selected`]: this.adapter.getIsSelected(itemKey),
172
+ [`${prefixCls}-sub-title-disabled`]: disabled
173
173
  });
174
174
  let withTransition = false;
175
175
  let toggleIconType = '';
@@ -220,9 +220,9 @@ export default class SubNav extends BaseComponent {
220
220
  onKeyPress: this.handleKeyPress,
221
221
  "aria-expanded": isOpen ? 'true' : 'false'
222
222
  }, /*#__PURE__*/React.createElement("div", {
223
- className: "".concat(prefixCls, "-item-inner")
223
+ className: `${prefixCls}-item-inner`
224
224
  }, placeholderIcons, this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== strings.MODE_HORIZONTAL ? this.renderIcon(icon, strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/React.createElement("span", {
225
- className: "".concat(prefixCls, "-item-text")
225
+ className: `${prefixCls}-item-text`
226
226
  }, text), this.context.toggleIconPosition === strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
227
227
  return titleDiv;
228
228
  }
@@ -240,9 +240,9 @@ export default class SubNav extends BaseComponent {
240
240
  } = this.context;
241
241
  const isOpen = this.adapter.getIsOpen();
242
242
  const isHorizontal = mode === strings.MODE_HORIZONTAL;
243
- const subNavCls = cls("".concat(prefixCls, "-sub"), {
244
- ["".concat(prefixCls, "-sub-open")]: isOpen,
245
- ["".concat(prefixCls, "-sub-popover")]: isCollapsed || isHorizontal
243
+ const subNavCls = cls(`${prefixCls}-sub`, {
244
+ [`${prefixCls}-sub-open`]: isOpen,
245
+ [`${prefixCls}-sub-popover`]: isCollapsed || isHorizontal
246
246
  });
247
247
  const ulWithMotion = /*#__PURE__*/React.createElement(Collapsible, {
248
248
  motion: subNavMotion,
@@ -278,7 +278,7 @@ export default class SubNav extends BaseComponent {
278
278
  const isOpen = this.adapter.getIsOpen();
279
279
  const openKeysIsControlled = this.adapter.getOpenKeysIsControlled();
280
280
  const subNavCls = cls({
281
- ["".concat(prefixCls, "-popover")]: isCollapsed
281
+ [`${prefixCls}-popover`]: isCollapsed
282
282
  });
283
283
  const dropdownProps = {
284
284
  trigger: 'hover',
@@ -336,7 +336,7 @@ export default class SubNav extends BaseComponent {
336
336
  itemKey: itemKey,
337
337
  forwardRef: this.setItemRef,
338
338
  isCollapsed: isCollapsed,
339
- className: "".concat(prefixCls, "-sub-wrap"),
339
+ className: `${prefixCls}-sub-wrap`,
340
340
  onMouseEnter: onMouseEnter,
341
341
  onMouseLeave: onMouseLeave,
342
342
  disabled: disabled,
@@ -270,12 +270,12 @@ class Nav extends BaseComponent {
270
270
  }
271
271
 
272
272
  const finalCls = cls(prefixCls, className, {
273
- ["".concat(prefixCls, "-collapsed")]: isCollapsed,
274
- ["".concat(prefixCls, "-horizontal")]: mode === 'horizontal',
275
- ["".concat(prefixCls, "-vertical")]: mode === 'vertical'
273
+ [`${prefixCls}-collapsed`]: isCollapsed,
274
+ [`${prefixCls}-horizontal`]: mode === 'horizontal',
275
+ [`${prefixCls}-vertical`]: mode === 'vertical'
276
276
  });
277
- const headerListOuterCls = cls("".concat(prefixCls, "-header-list-outer"), {
278
- ["".concat(prefixCls, "-header-list-outer-collapsed")]: isCollapsed
277
+ const headerListOuterCls = cls(`${prefixCls}-header-list-outer`, {
278
+ [`${prefixCls}-header-list-outer-collapsed`]: isCollapsed
279
279
  });
280
280
 
281
281
  if (this.itemsChanged) {
@@ -320,16 +320,16 @@ class Nav extends BaseComponent {
320
320
  className: finalCls,
321
321
  style: finalStyle
322
322
  }, /*#__PURE__*/React.createElement("div", {
323
- className: "".concat(prefixCls, "-inner")
323
+ className: `${prefixCls}-inner`
324
324
  }, /*#__PURE__*/React.createElement("div", {
325
325
  className: headerListOuterCls
326
326
  }, headers, /*#__PURE__*/React.createElement("div", {
327
327
  style: bodyStyle,
328
- className: "".concat(prefixCls, "-list-wrapper")
328
+ className: `${prefixCls}-list-wrapper`
329
329
  }, /*#__PURE__*/React.createElement("ul", {
330
330
  role: "menu",
331
331
  "aria-orientation": mode,
332
- className: "".concat(prefixCls, "-list")
332
+ className: `${prefixCls}-list`
333
333
  }, this.adapter.getCache('itemElems'), children))), footers))));
334
334
  }
335
335
 
@@ -56,7 +56,7 @@ class NotificationList extends BaseComponent {
56
56
  return /*#__PURE__*/React.createElement(CSSAnimation, {
57
57
  key: notice.id,
58
58
  animationState: isRemoved ? "leave" : "enter",
59
- startClassName: "".concat(cssClasses.NOTICE, "-animation-").concat(isRemoved ? "hide" : "show", "_").concat(position)
59
+ startClassName: `${cssClasses.NOTICE}-animation-${isRemoved ? "hide" : "show"}_${position}`
60
60
  }, _ref => {
61
61
  let {
62
62
  animationClassName,
@@ -192,7 +192,7 @@ class NotificationList extends BaseComponent {
192
192
  static destroyAll() {
193
193
  if (ref) {
194
194
  ref.destroyAll();
195
- const wrapper = document.querySelector("#".concat(this.wrapperId));
195
+ const wrapper = document.querySelector(`#${this.wrapperId}`);
196
196
  ReactDOM.unmountComponentAtNode(wrapper);
197
197
  wrapper && wrapper.parentNode.removeChild(wrapper);
198
198
  ref = null;
@@ -225,7 +225,7 @@ class NotificationList extends BaseComponent {
225
225
  ['top', 'left', 'bottom', 'right'].forEach(pos => {
226
226
  if (pos in noticeInstance) {
227
227
  const val = noticeInstance[pos];
228
- style[pos] = typeof val === 'number' ? "".concat(val, "px") : val;
228
+ style[pos] = typeof val === 'number' ? `${val}px` : val;
229
229
  }
230
230
  });
231
231
  return style;
@@ -98,8 +98,8 @@ class Notice extends BaseComponent {
98
98
  };
99
99
  let iconType = iconMap[type];
100
100
  const iconCls = cls({
101
- ["".concat(prefixCls, "-icon")]: true,
102
- ["".concat(prefixCls, "-").concat(type)]: true
101
+ [`${prefixCls}-icon`]: true,
102
+ [`${prefixCls}-${type}`]: true
103
103
  });
104
104
 
105
105
  if (icon) {
@@ -141,11 +141,11 @@ class Notice extends BaseComponent {
141
141
  visible
142
142
  } = this.state;
143
143
  const wrapper = cls(prefixCls, className, {
144
- ["".concat(prefixCls, "-close")]: !visible,
145
- ["".concat(prefixCls, "-icon-show")]: types.includes(type),
146
- ["".concat(prefixCls, "-").concat(type)]: true,
147
- ["".concat(prefixCls, "-").concat(theme)]: theme === 'light',
148
- ["".concat(prefixCls, "-rtl")]: direction === 'rtl'
144
+ [`${prefixCls}-close`]: !visible,
145
+ [`${prefixCls}-icon-show`]: types.includes(type),
146
+ [`${prefixCls}-${type}`]: true,
147
+ [`${prefixCls}-${theme}`]: theme === 'light',
148
+ [`${prefixCls}-rtl`]: direction === 'rtl'
149
149
  });
150
150
  const titleID = getUuidShort({});
151
151
  return (
@@ -162,18 +162,18 @@ class Notice extends BaseComponent {
162
162
  onAnimationEnd: this.props.onAnimationEnd,
163
163
  onAnimationStart: this.props.onAnimationStart
164
164
  }, /*#__PURE__*/React.createElement("div", null, this.renderTypeIcon()), /*#__PURE__*/React.createElement("div", {
165
- className: "".concat(prefixCls, "-inner")
165
+ className: `${prefixCls}-inner`
166
166
  }, /*#__PURE__*/React.createElement("div", {
167
- className: "".concat(prefixCls, "-content-wrapper")
167
+ className: `${prefixCls}-content-wrapper`
168
168
  }, title ? /*#__PURE__*/React.createElement("div", {
169
169
  id: titleID,
170
- className: "".concat(prefixCls, "-title"),
170
+ className: `${prefixCls}-title`,
171
171
  "x-semi-prop": "title"
172
172
  }, title) : '', content ? /*#__PURE__*/React.createElement("div", {
173
- className: "".concat(prefixCls, "-content"),
173
+ className: `${prefixCls}-content`,
174
174
  "x-semi-prop": "content"
175
175
  }, content) : ''), showClose && /*#__PURE__*/React.createElement(Button, {
176
- className: "".concat(prefixCls, "-icon-close"),
176
+ className: `${prefixCls}-icon-close`,
177
177
  type: "tertiary",
178
178
  icon: /*#__PURE__*/React.createElement(IconClose, null),
179
179
  theme: "borderless",
@@ -83,7 +83,7 @@ declare class OverflowList extends BaseComponent<OverflowListProps, OverflowList
83
83
  reintersect: (entries: Array<IntersectionObserverEntry>) => void;
84
84
  mergeRef: (ref: RefCallback<any> | MutableRefObject<any> | null, node: Element, key: Key) => void;
85
85
  renderOverflow: () => ReactNode | ReactNode[];
86
- getItemKey: (item: any, defalutKey?: Key) => any;
86
+ getItemKey: (item: any, defaultKey?: Key) => any;
87
87
  renderItemList: () => React.DetailedReactHTMLElement<{
88
88
  className: string;
89
89
  style: {
@@ -12,6 +12,7 @@ import ResizeObserver from '../resizeObserver';
12
12
  import IntersectionObserver from './intersectionObserver';
13
13
  import OverflowListFoundation from '@douyinfe/semi-foundation/lib/es/overflowList/foundation';
14
14
  import '@douyinfe/semi-foundation/lib/es/overflowList/overflowList.css';
15
+ import { cloneDeep } from '../_utils';
15
16
  const prefixCls = cssClasses.PREFIX;
16
17
  const Boundary = strings.BOUNDARY_MAP;
17
18
  const OverflowDirection = strings.OVERFLOW_DIR;
@@ -65,7 +66,7 @@ class OverflowList extends BaseComponent {
65
66
  return this.props.overflowRenderer(overflow);
66
67
  };
67
68
 
68
- this.getItemKey = (item, defalutKey) => {
69
+ this.getItemKey = (item, defaultKey) => {
69
70
  const {
70
71
  itemKey
71
72
  } = this.props;
@@ -74,7 +75,7 @@ class OverflowList extends BaseComponent {
74
75
  return itemKey(item);
75
76
  }
76
77
 
77
- return _get(item, itemKey || 'key', defalutKey);
78
+ return _get(item, itemKey || 'key', defaultKey);
78
79
  };
79
80
 
80
81
  this.renderItemList = () => {
@@ -109,18 +110,18 @@ class OverflowList extends BaseComponent {
109
110
  });
110
111
  }
111
112
  }, /*#__PURE__*/React.createElement("div", {
112
- className: "".concat(prefixCls, "-overflow")
113
+ className: `${prefixCls}-overflow`
113
114
  }, child));
114
115
  }
115
116
  }
116
117
 
117
118
  const inner = renderMode === RenderMode.SCROLL ? [overflow[0], /*#__PURE__*/React.createElement("div", {
118
- className: cls(wrapperClassName, "".concat(prefixCls, "-scroll-wrapper")),
119
+ className: cls(wrapperClassName, `${prefixCls}-scroll-wrapper`),
119
120
  ref: ref => {
120
121
  this.scroller = ref;
121
122
  },
122
123
  style: Object.assign({}, wrapperStyle),
123
- key: "".concat(prefixCls, "-scroll-wrapper")
124
+ key: `${prefixCls}-scroll-wrapper`
124
125
  }, visible.map(visibleItemRenderer).map(item => {
125
126
  const {
126
127
  forwardRef,
@@ -128,7 +129,7 @@ class OverflowList extends BaseComponent {
128
129
  } = item;
129
130
  return /*#__PURE__*/React.cloneElement(item, {
130
131
  ref: node => this.mergeRef(forwardRef, node, key),
131
- 'data-scrollkey': "".concat(key),
132
+ 'data-scrollkey': `${key}`,
132
133
  key
133
134
  });
134
135
  })), overflow[1]] : [collapseFrom === Boundary.START ? overflow : null, visible.map((item, idx) => {
@@ -145,11 +146,11 @@ class OverflowList extends BaseComponent {
145
146
  }
146
147
  }, /*#__PURE__*/React.createElement("div", {
147
148
  key: key,
148
- className: "".concat(prefixCls, "-item")
149
+ className: `${prefixCls}-item`
149
150
  }, child));
150
151
  }), collapseFrom === Boundary.END ? overflow : null];
151
152
  const list = /*#__PURE__*/React.createElement('div', {
152
- className: cls("".concat(prefixCls), className),
153
+ className: cls(`${prefixCls}`, className),
153
154
  style: Object.assign(Object.assign({}, style), renderMode === RenderMode.COLLAPSE ? {
154
155
  maxWidth: '100%',
155
156
  visibility: overflowStatus === "calculating" ? "hidden" : "visible"
@@ -174,10 +175,10 @@ class OverflowList extends BaseComponent {
174
175
 
175
176
  const {
176
177
  maxCount
177
- } = this.state; // 已经按照最大值maxCount渲染完毕,触发真正的渲染。(-1 是overflow部分会占1)
178
- // Already rendered maxCount items, trigger the real rendering. (-1 for the overflow part)
178
+ } = this.state; // 已经按照最大值maxCount渲染完毕,触发真正的渲染
179
+ // Already rendered maxCount items, trigger the real rendering
179
180
 
180
- if (this.itemSizeMap.size === maxCount - 1) {
181
+ if (this.itemSizeMap.size === maxCount) {
181
182
  this.setState({
182
183
  overflowStatus: 'calculating'
183
184
  });
@@ -193,7 +194,7 @@ class OverflowList extends BaseComponent {
193
194
  visibleState: new Map(),
194
195
  itemSizeMap: new Map(),
195
196
  overflowStatus: "calculating",
196
- pivot: 0,
197
+ pivot: -1,
197
198
  overflowWidth: 0,
198
199
  maxCount: 0
199
200
  };
@@ -218,17 +219,27 @@ class OverflowList extends BaseComponent {
218
219
  // reset visible state if the above props change.
219
220
  newState.direction = OverflowDirection.GROW;
220
221
  newState.lastOverflowCount = 0;
222
+ newState.maxCount = 0;
221
223
 
222
224
  if (props.renderMode === RenderMode.SCROLL) {
223
225
  newState.visible = props.items;
224
226
  newState.overflow = [];
225
227
  } else {
226
- newState.visible = [];
227
- newState.overflow = [];
228
+ let maxCount = props.items.length;
229
+
230
+ if (Math.floor(prevState.containerWidth / numbers.MINIMUM_HTML_ELEMENT_WIDTH) !== 0) {
231
+ maxCount = Math.min(maxCount, Math.floor(prevState.containerWidth / numbers.MINIMUM_HTML_ELEMENT_WIDTH));
232
+ }
233
+
234
+ const isCollapseFromStart = props.collapseFrom === Boundary.START;
235
+ const visible = isCollapseFromStart ? cloneDeep(props.items).reverse().slice(0, maxCount) : props.items.slice(0, maxCount);
236
+ const overflow = isCollapseFromStart ? cloneDeep(props.items).reverse().slice(maxCount) : props.items.slice(maxCount);
237
+ newState.visible = visible;
238
+ newState.overflow = overflow;
239
+ newState.maxCount = maxCount;
228
240
  }
229
241
 
230
- newState.pivot = 0;
231
- newState.maxCount = 0;
242
+ newState.pivot = -1;
232
243
  newState.overflowStatus = "calculating";
233
244
  }
234
245
 
@@ -255,6 +266,9 @@ class OverflowList extends BaseComponent {
255
266
  componentDidUpdate(prevProps, prevState) {
256
267
  if (!_isEqual(prevProps.items, this.props.items)) {
257
268
  this.itemRefs = {};
269
+ this.setState({
270
+ visibleState: new Map()
271
+ });
258
272
  }
259
273
 
260
274
  const {
@@ -268,25 +282,7 @@ class OverflowList extends BaseComponent {
268
282
  return;
269
283
  }
270
284
 
271
- if (visible.length === 0 && overflow.length === 0 && this.props.items.length !== 0) {
272
- // 推测container最多能渲染的数量
273
- // Figure out the maximum number of items in this container
274
- const maxCount = Math.min(this.props.items.length, Math.floor(containerWidth / numbers.MINIMUM_HTML_ELEMENT_WIDTH)); // 如果collapseFrom是start, 第一次用来计算容量时,倒转列表顺序渲染
275
- // If collapseFrom === start, render item from end to start. Figuring out how many items in the end could fit in container.
276
-
277
- const isCollapseFromStart = this.props.collapseFrom === Boundary.START;
278
- const visible = isCollapseFromStart ? this.foundation.getReversedItems().slice(0, maxCount) : this.props.items.slice(0, maxCount);
279
- const overflow = isCollapseFromStart ? this.foundation.getReversedItems().slice(maxCount) : this.props.items.slice(maxCount);
280
- this.setState({
281
- overflowStatus: 'calculating',
282
- visible,
283
- overflow,
284
- maxCount: maxCount
285
- });
286
- this.itemSizeMap.clear();
287
- } else {
288
- this.foundation.handleCollapseOverflow();
289
- }
285
+ this.foundation.handleCollapseOverflow();
290
286
  }
291
287
 
292
288
  render() {