@douyinfe/semi-ui 2.19.0-alpha.8 → 2.19.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 (515) hide show
  1. package/_utils/index.ts +9 -5
  2. package/anchor/index.tsx +39 -7
  3. package/anchor/link.tsx +11 -2
  4. package/avatar/index.tsx +3 -1
  5. package/calendar/_story/calendar.stories.js +20 -3
  6. package/checkbox/checkbox.tsx +3 -1
  7. package/dist/css/semi.css +7 -17
  8. package/dist/css/semi.min.css +1 -1
  9. package/dist/umd/semi-ui.js +2987 -12956
  10. package/dist/umd/semi-ui.js.map +1 -1
  11. package/dist/umd/semi-ui.min.js +1 -1
  12. package/dist/umd/semi-ui.min.js.map +1 -1
  13. package/dropdown/index.tsx +5 -1
  14. package/form/interface.ts +1 -1
  15. package/getBabelConfig.js +1 -13
  16. package/lib/cjs/_base/base.css +1 -0
  17. package/lib/cjs/_base/base.js +1 -3
  18. package/lib/cjs/_base/baseComponent.js +4 -9
  19. package/lib/cjs/_base/reactUtils.js +4 -9
  20. package/lib/cjs/_portal/index.js +4 -9
  21. package/lib/cjs/_utils/hooks/usePrevFocus.js +3 -6
  22. package/lib/cjs/_utils/index.js +13 -25
  23. package/lib/cjs/anchor/anchor-context.js +3 -6
  24. package/lib/cjs/anchor/index.d.ts +4 -0
  25. package/lib/cjs/anchor/index.js +50 -36
  26. package/lib/cjs/anchor/link.d.ts +2 -0
  27. package/lib/cjs/anchor/link.js +15 -18
  28. package/lib/cjs/autoComplete/index.js +13 -30
  29. package/lib/cjs/autoComplete/option.js +12 -25
  30. package/lib/cjs/avatar/avatarGroup.js +18 -49
  31. package/lib/cjs/avatar/index.d.ts +1 -0
  32. package/lib/cjs/avatar/index.js +25 -48
  33. package/lib/cjs/avatar/interface.js +1 -3
  34. package/lib/cjs/backtop/index.js +8 -17
  35. package/lib/cjs/badge/index.js +14 -31
  36. package/lib/cjs/banner/index.js +5 -14
  37. package/lib/cjs/breadcrumb/bread-context.js +3 -6
  38. package/lib/cjs/breadcrumb/index.js +13 -34
  39. package/lib/cjs/breadcrumb/item.js +8 -21
  40. package/lib/cjs/button/Button.js +13 -32
  41. package/lib/cjs/button/buttonGroup.js +12 -41
  42. package/lib/cjs/button/index.js +7 -12
  43. package/lib/cjs/button/splitButtonGroup.js +3 -6
  44. package/lib/cjs/calendar/dayCalendar.js +20 -37
  45. package/lib/cjs/calendar/dayCol.js +10 -25
  46. package/lib/cjs/calendar/index.js +9 -25
  47. package/lib/cjs/calendar/interface.js +1 -3
  48. package/lib/cjs/calendar/monthCalendar.js +20 -45
  49. package/lib/cjs/calendar/rangeCalendar.js +19 -44
  50. package/lib/cjs/calendar/timeCol.js +10 -25
  51. package/lib/cjs/calendar/weekCalendar.js +19 -44
  52. package/lib/cjs/card/cardGroup.js +9 -22
  53. package/lib/cjs/card/index.js +12 -33
  54. package/lib/cjs/card/meta.js +9 -22
  55. package/lib/cjs/carousel/CarouselArrow.js +8 -17
  56. package/lib/cjs/carousel/CarouselIndicator.js +11 -26
  57. package/lib/cjs/carousel/index.js +10 -29
  58. package/lib/cjs/carousel/interface.js +1 -3
  59. package/lib/cjs/cascader/index.js +37 -68
  60. package/lib/cjs/cascader/item.js +24 -49
  61. package/lib/cjs/checkbox/checkbox.d.ts +1 -0
  62. package/lib/cjs/checkbox/checkbox.js +9 -17
  63. package/lib/cjs/checkbox/checkboxGroup.js +13 -34
  64. package/lib/cjs/checkbox/checkboxInner.js +6 -15
  65. package/lib/cjs/checkbox/context.js +3 -6
  66. package/lib/cjs/checkbox/index.js +4 -8
  67. package/lib/cjs/collapse/collapse-context.js +3 -6
  68. package/lib/cjs/collapse/index.js +12 -29
  69. package/lib/cjs/collapse/item.js +9 -22
  70. package/lib/cjs/collapsible/index.js +7 -16
  71. package/lib/cjs/configProvider/context.js +3 -6
  72. package/lib/cjs/configProvider/index.js +7 -16
  73. package/lib/cjs/datePicker/dateInput.js +15 -34
  74. package/lib/cjs/datePicker/datePicker.js +22 -45
  75. package/lib/cjs/datePicker/footer.js +3 -6
  76. package/lib/cjs/datePicker/index.js +9 -20
  77. package/lib/cjs/datePicker/insetInput.js +4 -9
  78. package/lib/cjs/datePicker/month.js +15 -26
  79. package/lib/cjs/datePicker/monthsGrid.js +13 -32
  80. package/lib/cjs/datePicker/navigation.js +5 -12
  81. package/lib/cjs/datePicker/quickControl.js +18 -31
  82. package/lib/cjs/datePicker/yearAndMonth.js +13 -30
  83. package/lib/cjs/descriptions/descriptions-context.js +3 -6
  84. package/lib/cjs/descriptions/index.js +8 -23
  85. package/lib/cjs/descriptions/item.js +7 -18
  86. package/lib/cjs/divider/index.js +9 -22
  87. package/lib/cjs/dropdown/context.js +3 -6
  88. package/lib/cjs/dropdown/dropdownDivider.js +3 -6
  89. package/lib/cjs/dropdown/dropdownItem.js +8 -21
  90. package/lib/cjs/dropdown/dropdownMenu.js +8 -17
  91. package/lib/cjs/dropdown/dropdownTitle.js +5 -12
  92. package/lib/cjs/dropdown/index.js +17 -26
  93. package/lib/cjs/empty/index.js +5 -14
  94. package/lib/cjs/form/arrayField.js +28 -57
  95. package/lib/cjs/form/baseForm.d.ts +1 -1
  96. package/lib/cjs/form/baseForm.js +18 -43
  97. package/lib/cjs/form/context.js +3 -6
  98. package/lib/cjs/form/errorMessage.js +7 -18
  99. package/lib/cjs/form/field.d.ts +1 -1
  100. package/lib/cjs/form/field.js +3 -6
  101. package/lib/cjs/form/group.js +16 -31
  102. package/lib/cjs/form/hoc/withField.js +26 -53
  103. package/lib/cjs/form/hoc/withFormApi.js +4 -9
  104. package/lib/cjs/form/hoc/withFormState.js +4 -9
  105. package/lib/cjs/form/hooks/index.js +11 -20
  106. package/lib/cjs/form/hooks/useArrayFieldState.js +1 -4
  107. package/lib/cjs/form/hooks/useFieldApi.js +3 -6
  108. package/lib/cjs/form/hooks/useFieldState.js +6 -15
  109. package/lib/cjs/form/hooks/useFormApi.js +1 -4
  110. package/lib/cjs/form/hooks/useFormState.js +1 -4
  111. package/lib/cjs/form/hooks/useFormUpdater.js +1 -4
  112. package/lib/cjs/form/hooks/useStateWithGetter.js +1 -4
  113. package/lib/cjs/form/index.js +15 -34
  114. package/lib/cjs/form/interface.d.ts +1 -1
  115. package/lib/cjs/form/interface.js +3 -10
  116. package/lib/cjs/form/label.js +5 -12
  117. package/lib/cjs/form/section.js +5 -12
  118. package/lib/cjs/form/slot.js +18 -35
  119. package/lib/cjs/grid/col.js +20 -37
  120. package/lib/cjs/grid/index.js +6 -10
  121. package/lib/cjs/grid/row.js +18 -45
  122. package/lib/cjs/iconButton/index.js +13 -30
  123. package/lib/cjs/icons/index.js +3 -6
  124. package/lib/cjs/index.js +94 -189
  125. package/lib/cjs/input/index.js +13 -26
  126. package/lib/cjs/input/inputGroup.js +11 -32
  127. package/lib/cjs/input/textarea.js +11 -24
  128. package/lib/cjs/inputNumber/index.js +12 -29
  129. package/lib/cjs/layout/Sider.js +11 -36
  130. package/lib/cjs/layout/index.js +13 -32
  131. package/lib/cjs/layout/layout-context.js +3 -6
  132. package/lib/cjs/list/index.js +9 -25
  133. package/lib/cjs/list/item.js +10 -27
  134. package/lib/cjs/list/list-context.js +3 -6
  135. package/lib/cjs/locale/context.js +3 -6
  136. package/lib/cjs/locale/interface.js +1 -3
  137. package/lib/cjs/locale/localeConsumer.js +5 -12
  138. package/lib/cjs/locale/localeProvider.js +5 -12
  139. package/lib/cjs/locale/source/ar.js +1 -4
  140. package/lib/cjs/locale/source/de.js +1 -4
  141. package/lib/cjs/locale/source/en_GB.js +1 -4
  142. package/lib/cjs/locale/source/en_US.js +1 -4
  143. package/lib/cjs/locale/source/es.js +1 -4
  144. package/lib/cjs/locale/source/fr.js +1 -4
  145. package/lib/cjs/locale/source/id_ID.js +1 -4
  146. package/lib/cjs/locale/source/it.js +1 -4
  147. package/lib/cjs/locale/source/ja_JP.js +1 -4
  148. package/lib/cjs/locale/source/ko_KR.js +1 -4
  149. package/lib/cjs/locale/source/ms_MY.js +1 -4
  150. package/lib/cjs/locale/source/pt_BR.js +1 -4
  151. package/lib/cjs/locale/source/ru_RU.js +1 -4
  152. package/lib/cjs/locale/source/th_TH.js +1 -4
  153. package/lib/cjs/locale/source/tr_TR.js +1 -4
  154. package/lib/cjs/locale/source/vi_VN.js +1 -4
  155. package/lib/cjs/locale/source/zh_CN.js +1 -4
  156. package/lib/cjs/locale/source/zh_TW.js +1 -4
  157. package/lib/cjs/modal/ConfirmModal.js +11 -28
  158. package/lib/cjs/modal/Modal.js +14 -33
  159. package/lib/cjs/modal/ModalContent.js +14 -35
  160. package/lib/cjs/modal/confirm.js +15 -21
  161. package/lib/cjs/modal/index.js +3 -6
  162. package/lib/cjs/modal/useModal/HookModal.js +10 -19
  163. package/lib/cjs/modal/useModal/index.js +4 -9
  164. package/lib/cjs/motions/Rotate.js +7 -18
  165. package/lib/cjs/navigation/CollapseButton.js +4 -9
  166. package/lib/cjs/navigation/Footer.js +6 -15
  167. package/lib/cjs/navigation/Header.js +6 -15
  168. package/lib/cjs/navigation/Item.js +9 -28
  169. package/lib/cjs/navigation/OpenIconTransition.js +6 -15
  170. package/lib/cjs/navigation/SubNav.js +10 -29
  171. package/lib/cjs/navigation/SubNavTransition.js +5 -12
  172. package/lib/cjs/navigation/index.js +25 -46
  173. package/lib/cjs/navigation/nav-context.js +3 -6
  174. package/lib/cjs/notification/NoticeTransition.js +4 -9
  175. package/lib/cjs/notification/index.js +24 -51
  176. package/lib/cjs/notification/notice.js +13 -30
  177. package/lib/cjs/notification/useNotification/HookNotice.js +9 -22
  178. package/lib/cjs/notification/useNotification/index.js +18 -41
  179. package/lib/cjs/overflowList/index.js +13 -28
  180. package/lib/cjs/overflowList/intersectionObserver.js +7 -18
  181. package/lib/cjs/pagination/index.js +15 -38
  182. package/lib/cjs/popconfirm/index.js +16 -25
  183. package/lib/cjs/popover/Arrow.js +10 -19
  184. package/lib/cjs/popover/index.js +8 -17
  185. package/lib/cjs/progress/index.js +7 -20
  186. package/lib/cjs/radio/context.js +3 -6
  187. package/lib/cjs/radio/index.js +4 -8
  188. package/lib/cjs/radio/radio.d.ts +1 -0
  189. package/lib/cjs/radio/radio.js +11 -19
  190. package/lib/cjs/radio/radioGroup.js +11 -26
  191. package/lib/cjs/radio/radioInner.js +7 -16
  192. package/lib/cjs/rating/index.js +10 -27
  193. package/lib/cjs/rating/item.js +10 -19
  194. package/lib/cjs/resizeObserver/index.js +3 -6
  195. package/lib/cjs/scrollList/index.js +3 -6
  196. package/lib/cjs/scrollList/scrollItem.js +13 -26
  197. package/lib/cjs/select/index.js +46 -91
  198. package/lib/cjs/select/option.js +12 -25
  199. package/lib/cjs/select/optionGroup.js +3 -6
  200. package/lib/cjs/select/utils.js +12 -29
  201. package/lib/cjs/select/virtualRow.js +1 -4
  202. package/lib/cjs/sideSheet/SideSheetContent.js +9 -22
  203. package/lib/cjs/sideSheet/SideSheetTransition.js +4 -9
  204. package/lib/cjs/sideSheet/index.js +15 -28
  205. package/lib/cjs/skeleton/index.js +9 -22
  206. package/lib/cjs/skeleton/item.js +13 -34
  207. package/lib/cjs/slider/index.js +18 -48
  208. package/lib/cjs/space/index.js +7 -20
  209. package/lib/cjs/space/utils.js +9 -24
  210. package/lib/cjs/spin/icon.js +7 -16
  211. package/lib/cjs/spin/index.js +5 -14
  212. package/lib/cjs/steps/basicStep.js +4 -11
  213. package/lib/cjs/steps/basicSteps.js +12 -29
  214. package/lib/cjs/steps/context.js +3 -6
  215. package/lib/cjs/steps/fillStep.js +4 -11
  216. package/lib/cjs/steps/fillSteps.js +12 -28
  217. package/lib/cjs/steps/index.js +11 -24
  218. package/lib/cjs/steps/navStep.js +3 -6
  219. package/lib/cjs/steps/navSteps.js +12 -28
  220. package/lib/cjs/steps/step.js +8 -17
  221. package/lib/cjs/switch/index.js +5 -10
  222. package/lib/cjs/table/Body/BaseRow.js +14 -27
  223. package/lib/cjs/table/Body/ExpandedRow.js +10 -23
  224. package/lib/cjs/table/Body/SectionRow.js +15 -36
  225. package/lib/cjs/table/Body/index.js +39 -64
  226. package/lib/cjs/table/ColGroup.js +4 -11
  227. package/lib/cjs/table/Column.js +4 -9
  228. package/lib/cjs/table/ColumnFilter.js +18 -41
  229. package/lib/cjs/table/ColumnSelection.js +6 -11
  230. package/lib/cjs/table/ColumnShape.js +3 -6
  231. package/lib/cjs/table/ColumnSorter.js +6 -15
  232. package/lib/cjs/table/CustomExpandIcon.js +5 -12
  233. package/lib/cjs/table/HeadTable.js +7 -14
  234. package/lib/cjs/table/ResizableHeaderCell.js +9 -22
  235. package/lib/cjs/table/ResizableTable.js +23 -40
  236. package/lib/cjs/table/Table.js +63 -96
  237. package/lib/cjs/table/TableCell.js +13 -26
  238. package/lib/cjs/table/TableContextProvider.js +5 -12
  239. package/lib/cjs/table/TableHeader.js +10 -27
  240. package/lib/cjs/table/TableHeaderRow.js +18 -33
  241. package/lib/cjs/table/TablePagination.js +6 -15
  242. package/lib/cjs/table/getColumns.js +8 -17
  243. package/lib/cjs/table/index.js +8 -20
  244. package/lib/cjs/table/interface.js +1 -3
  245. package/lib/cjs/table/table-context.js +3 -6
  246. package/lib/cjs/table/utils.js +5 -16
  247. package/lib/cjs/tabs/TabBar.js +21 -44
  248. package/lib/cjs/tabs/TabPane.js +14 -31
  249. package/lib/cjs/tabs/TabPaneTransition.js +5 -10
  250. package/lib/cjs/tabs/index.js +32 -73
  251. package/lib/cjs/tabs/interface.d.ts +3 -2
  252. package/lib/cjs/tabs/interface.js +1 -3
  253. package/lib/cjs/tabs/tabs-context.js +3 -6
  254. package/lib/cjs/tag/group.d.ts +1 -15
  255. package/lib/cjs/tag/group.js +23 -34
  256. package/lib/cjs/tag/index.d.ts +1 -1
  257. package/lib/cjs/tag/index.js +20 -48
  258. package/lib/cjs/tag/interface.d.ts +6 -3
  259. package/lib/cjs/tag/interface.js +1 -3
  260. package/lib/cjs/tagInput/index.js +13 -30
  261. package/lib/cjs/timePicker/Combobox.js +19 -40
  262. package/lib/cjs/timePicker/PanelShape.js +3 -6
  263. package/lib/cjs/timePicker/TimeInput.js +9 -20
  264. package/lib/cjs/timePicker/TimePicker.js +21 -38
  265. package/lib/cjs/timePicker/TimeShape.js +3 -6
  266. package/lib/cjs/timePicker/index.js +4 -9
  267. package/lib/cjs/timeline/index.js +21 -48
  268. package/lib/cjs/timeline/item.js +7 -20
  269. package/lib/cjs/toast/ToastTransition.js +4 -9
  270. package/lib/cjs/toast/index.js +20 -45
  271. package/lib/cjs/toast/toast.js +9 -20
  272. package/lib/cjs/toast/useToast/HookToast.js +9 -22
  273. package/lib/cjs/toast/useToast/index.js +14 -27
  274. package/lib/cjs/tooltip/ArrowBoundingShape.js +3 -6
  275. package/lib/cjs/tooltip/TooltipStyledTransition.js +4 -9
  276. package/lib/cjs/tooltip/TriangleArrow.js +7 -16
  277. package/lib/cjs/tooltip/TriangleArrowVertical.js +7 -16
  278. package/lib/cjs/tooltip/index.js +27 -48
  279. package/lib/cjs/transfer/index.js +30 -63
  280. package/lib/cjs/tree/autoSizer.js +7 -16
  281. package/lib/cjs/tree/collapse.js +7 -16
  282. package/lib/cjs/tree/index.js +46 -70
  283. package/lib/cjs/tree/interface.js +1 -3
  284. package/lib/cjs/tree/nodeList.js +11 -28
  285. package/lib/cjs/tree/treeContext.js +3 -6
  286. package/lib/cjs/tree/treeNode.js +20 -39
  287. package/lib/cjs/tree/treeUtil.js +3 -6
  288. package/lib/cjs/treeSelect/index.js +51 -80
  289. package/lib/cjs/trigger/index.js +7 -16
  290. package/lib/cjs/typography/base.js +24 -49
  291. package/lib/cjs/typography/copyable.js +5 -12
  292. package/lib/cjs/typography/index.js +5 -15
  293. package/lib/cjs/typography/interface.js +1 -3
  294. package/lib/cjs/typography/paragraph.js +6 -15
  295. package/lib/cjs/typography/text.js +6 -15
  296. package/lib/cjs/typography/title.d.ts +1 -1
  297. package/lib/cjs/typography/title.js +10 -25
  298. package/lib/cjs/typography/typography.js +9 -22
  299. package/lib/cjs/typography/util.js +8 -21
  300. package/lib/cjs/upload/fileCard.js +8 -17
  301. package/lib/cjs/upload/index.js +14 -25
  302. package/lib/cjs/upload/interface.js +1 -3
  303. package/lib/es/_base/base.css +1 -0
  304. package/lib/es/_base/baseComponent.js +1 -3
  305. package/lib/es/_portal/index.js +1 -2
  306. package/lib/es/_utils/index.js +9 -15
  307. package/lib/es/anchor/index.d.ts +4 -0
  308. package/lib/es/anchor/index.js +46 -31
  309. package/lib/es/anchor/link.d.ts +2 -0
  310. package/lib/es/anchor/link.js +12 -10
  311. package/lib/es/autoComplete/index.js +10 -21
  312. package/lib/es/autoComplete/option.js +7 -10
  313. package/lib/es/avatar/avatarGroup.js +13 -33
  314. package/lib/es/avatar/index.d.ts +1 -0
  315. package/lib/es/avatar/index.js +20 -31
  316. package/lib/es/backtop/index.js +5 -9
  317. package/lib/es/badge/index.js +7 -13
  318. package/lib/es/banner/index.js +2 -7
  319. package/lib/es/breadcrumb/index.js +10 -27
  320. package/lib/es/breadcrumb/item.js +3 -7
  321. package/lib/es/button/Button.js +8 -16
  322. package/lib/es/button/buttonGroup.js +7 -22
  323. package/lib/es/button/index.js +4 -6
  324. package/lib/es/calendar/dayCalendar.js +15 -30
  325. package/lib/es/calendar/dayCol.js +5 -16
  326. package/lib/es/calendar/index.js +4 -8
  327. package/lib/es/calendar/monthCalendar.js +15 -35
  328. package/lib/es/calendar/rangeCalendar.js +14 -36
  329. package/lib/es/calendar/timeCol.js +3 -12
  330. package/lib/es/calendar/weekCalendar.js +14 -36
  331. package/lib/es/card/cardGroup.js +4 -8
  332. package/lib/es/card/index.js +7 -15
  333. package/lib/es/card/meta.js +4 -8
  334. package/lib/es/carousel/CarouselArrow.js +5 -9
  335. package/lib/es/carousel/CarouselIndicator.js +8 -17
  336. package/lib/es/carousel/index.js +5 -13
  337. package/lib/es/cascader/index.js +30 -55
  338. package/lib/es/cascader/item.js +17 -33
  339. package/lib/es/checkbox/checkbox.d.ts +1 -0
  340. package/lib/es/checkbox/checkbox.js +4 -8
  341. package/lib/es/checkbox/checkboxGroup.js +8 -23
  342. package/lib/es/checkbox/checkboxInner.js +1 -2
  343. package/lib/es/collapse/index.js +9 -17
  344. package/lib/es/collapse/item.js +4 -8
  345. package/lib/es/collapsible/index.js +2 -4
  346. package/lib/es/configProvider/index.js +4 -8
  347. package/lib/es/datePicker/dateInput.js +12 -27
  348. package/lib/es/datePicker/datePicker.js +17 -35
  349. package/lib/es/datePicker/index.js +4 -10
  350. package/lib/es/datePicker/insetInput.js +1 -2
  351. package/lib/es/datePicker/month.js +12 -18
  352. package/lib/es/datePicker/monthsGrid.js +10 -26
  353. package/lib/es/datePicker/quickControl.js +13 -18
  354. package/lib/es/datePicker/yearAndMonth.js +10 -22
  355. package/lib/es/descriptions/index.js +3 -8
  356. package/lib/es/descriptions/item.js +2 -5
  357. package/lib/es/divider/index.js +6 -13
  358. package/lib/es/dropdown/dropdownItem.js +3 -10
  359. package/lib/es/dropdown/dropdownMenu.js +5 -9
  360. package/lib/es/dropdown/index.js +16 -17
  361. package/lib/es/empty/index.js +2 -6
  362. package/lib/es/form/arrayField.js +20 -42
  363. package/lib/es/form/baseForm.d.ts +1 -1
  364. package/lib/es/form/baseForm.js +11 -28
  365. package/lib/es/form/errorMessage.js +2 -6
  366. package/lib/es/form/field.d.ts +1 -1
  367. package/lib/es/form/group.js +7 -16
  368. package/lib/es/form/hoc/withField.js +21 -41
  369. package/lib/es/form/hoc/withFormApi.js +1 -2
  370. package/lib/es/form/hoc/withFormState.js +1 -2
  371. package/lib/es/form/hooks/useFieldState.js +1 -2
  372. package/lib/es/form/interface.d.ts +1 -1
  373. package/lib/es/form/slot.js +11 -18
  374. package/lib/es/grid/col.js +17 -29
  375. package/lib/es/grid/row.js +15 -36
  376. package/lib/es/iconButton/index.js +8 -14
  377. package/lib/es/input/index.js +10 -17
  378. package/lib/es/input/inputGroup.js +8 -20
  379. package/lib/es/input/textarea.js +8 -15
  380. package/lib/es/inputNumber/index.js +9 -18
  381. package/lib/es/layout/Sider.js +8 -26
  382. package/lib/es/layout/index.js +10 -22
  383. package/lib/es/list/index.js +5 -18
  384. package/lib/es/list/item.js +5 -11
  385. package/lib/es/modal/ConfirmModal.js +6 -13
  386. package/lib/es/modal/Modal.js +9 -16
  387. package/lib/es/modal/ModalContent.js +9 -21
  388. package/lib/es/modal/confirm.js +11 -15
  389. package/lib/es/modal/useModal/HookModal.js +7 -10
  390. package/lib/es/modal/useModal/index.js +1 -2
  391. package/lib/es/motions/Rotate.js +2 -4
  392. package/lib/es/navigation/CollapseButton.js +1 -2
  393. package/lib/es/navigation/Footer.js +1 -2
  394. package/lib/es/navigation/Header.js +1 -2
  395. package/lib/es/navigation/Item.js +6 -19
  396. package/lib/es/navigation/OpenIconTransition.js +1 -2
  397. package/lib/es/navigation/SubNav.js +7 -20
  398. package/lib/es/navigation/index.js +20 -35
  399. package/lib/es/notification/NoticeTransition.js +1 -2
  400. package/lib/es/notification/index.js +19 -40
  401. package/lib/es/notification/notice.js +8 -17
  402. package/lib/es/notification/useNotification/HookNotice.js +4 -8
  403. package/lib/es/notification/useNotification/index.js +13 -26
  404. package/lib/es/overflowList/index.js +10 -18
  405. package/lib/es/overflowList/intersectionObserver.js +4 -10
  406. package/lib/es/pagination/index.js +10 -28
  407. package/lib/es/popconfirm/index.js +13 -16
  408. package/lib/es/popover/Arrow.js +7 -11
  409. package/lib/es/popover/index.js +5 -8
  410. package/lib/es/progress/index.js +2 -8
  411. package/lib/es/radio/radio.d.ts +1 -0
  412. package/lib/es/radio/radio.js +6 -9
  413. package/lib/es/radio/radioGroup.js +6 -15
  414. package/lib/es/radio/radioInner.js +2 -6
  415. package/lib/es/rating/index.js +5 -18
  416. package/lib/es/rating/item.js +7 -11
  417. package/lib/es/scrollList/scrollItem.js +8 -14
  418. package/lib/es/select/index.js +38 -76
  419. package/lib/es/select/option.js +7 -10
  420. package/lib/es/select/utils.js +9 -22
  421. package/lib/es/sideSheet/SideSheetContent.js +6 -12
  422. package/lib/es/sideSheet/SideSheetTransition.js +1 -2
  423. package/lib/es/sideSheet/index.js +10 -18
  424. package/lib/es/skeleton/index.js +4 -8
  425. package/lib/es/skeleton/item.js +8 -18
  426. package/lib/es/slider/index.js +15 -36
  427. package/lib/es/space/index.js +2 -8
  428. package/lib/es/space/utils.js +4 -11
  429. package/lib/es/spin/icon.js +4 -8
  430. package/lib/es/spin/index.js +2 -6
  431. package/lib/es/steps/basicStep.js +1 -4
  432. package/lib/es/steps/basicSteps.js +6 -17
  433. package/lib/es/steps/fillStep.js +1 -4
  434. package/lib/es/steps/fillSteps.js +5 -17
  435. package/lib/es/steps/index.js +6 -9
  436. package/lib/es/steps/navSteps.js +5 -17
  437. package/lib/es/steps/step.js +3 -4
  438. package/lib/es/switch/index.js +2 -3
  439. package/lib/es/table/Body/BaseRow.js +9 -14
  440. package/lib/es/table/Body/ExpandedRow.js +5 -8
  441. package/lib/es/table/Body/SectionRow.js +10 -18
  442. package/lib/es/table/Body/index.js +34 -56
  443. package/lib/es/table/ColGroup.js +1 -5
  444. package/lib/es/table/Column.js +1 -2
  445. package/lib/es/table/ColumnFilter.js +13 -30
  446. package/lib/es/table/ColumnSelection.js +3 -4
  447. package/lib/es/table/ColumnSorter.js +1 -2
  448. package/lib/es/table/HeadTable.js +4 -6
  449. package/lib/es/table/ResizableHeaderCell.js +6 -13
  450. package/lib/es/table/ResizableTable.js +18 -36
  451. package/lib/es/table/Table.js +56 -76
  452. package/lib/es/table/TableCell.js +8 -13
  453. package/lib/es/table/TableHeader.js +7 -18
  454. package/lib/es/table/TableHeaderRow.js +13 -21
  455. package/lib/es/table/TablePagination.js +1 -2
  456. package/lib/es/table/getColumns.js +3 -10
  457. package/lib/es/table/index.js +3 -4
  458. package/lib/es/table/utils.js +1 -7
  459. package/lib/es/tabs/TabBar.js +18 -36
  460. package/lib/es/tabs/TabPane.js +9 -18
  461. package/lib/es/tabs/TabPaneTransition.js +2 -3
  462. package/lib/es/tabs/index.js +22 -48
  463. package/lib/es/tabs/interface.d.ts +3 -2
  464. package/lib/es/tag/group.d.ts +1 -15
  465. package/lib/es/tag/group.js +18 -24
  466. package/lib/es/tag/index.d.ts +1 -1
  467. package/lib/es/tag/index.js +13 -24
  468. package/lib/es/tag/interface.d.ts +6 -3
  469. package/lib/es/tagInput/index.js +10 -21
  470. package/lib/es/timePicker/Combobox.js +14 -23
  471. package/lib/es/timePicker/TimeInput.js +6 -10
  472. package/lib/es/timePicker/TimePicker.js +16 -27
  473. package/lib/es/timePicker/index.js +1 -2
  474. package/lib/es/timeline/index.js +14 -32
  475. package/lib/es/timeline/item.js +2 -6
  476. package/lib/es/toast/ToastTransition.js +1 -2
  477. package/lib/es/toast/index.js +17 -37
  478. package/lib/es/toast/toast.js +4 -10
  479. package/lib/es/toast/useToast/HookToast.js +4 -8
  480. package/lib/es/toast/useToast/index.js +11 -18
  481. package/lib/es/tooltip/TooltipStyledTransition.js +1 -3
  482. package/lib/es/tooltip/TriangleArrow.js +4 -8
  483. package/lib/es/tooltip/TriangleArrowVertical.js +4 -8
  484. package/lib/es/tooltip/index.js +20 -31
  485. package/lib/es/transfer/index.js +24 -47
  486. package/lib/es/tree/autoSizer.js +2 -3
  487. package/lib/es/tree/collapse.js +2 -5
  488. package/lib/es/tree/index.js +41 -48
  489. package/lib/es/tree/nodeList.js +6 -17
  490. package/lib/es/tree/treeNode.js +15 -23
  491. package/lib/es/treeSelect/index.js +44 -62
  492. package/lib/es/trigger/index.js +4 -8
  493. package/lib/es/typography/base.js +19 -34
  494. package/lib/es/typography/copyable.js +2 -4
  495. package/lib/es/typography/paragraph.js +1 -2
  496. package/lib/es/typography/text.js +1 -2
  497. package/lib/es/typography/title.d.ts +1 -1
  498. package/lib/es/typography/title.js +5 -11
  499. package/lib/es/typography/typography.js +4 -8
  500. package/lib/es/typography/util.js +5 -15
  501. package/lib/es/upload/fileCard.js +3 -4
  502. package/lib/es/upload/index.js +11 -16
  503. package/package.json +7 -8
  504. package/popconfirm/_story/popconfirm.stories.js +1 -1
  505. package/popconfirm/index.tsx +6 -6
  506. package/radio/radio.tsx +2 -0
  507. package/tabs/_story/Demo.tsx +14 -5
  508. package/tabs/interface.ts +3 -2
  509. package/tag/_story/tag.stories.js +51 -1
  510. package/tag/group.tsx +14 -27
  511. package/tag/index.tsx +1 -1
  512. package/tag/interface.ts +9 -5
  513. package/tooltip/index.tsx +2 -1
  514. package/transfer/_story/transfer.stories.js +2 -2
  515. package/treeSelect/_story/treeSelect.stories.js +3 -0
@@ -1,6 +1,3 @@
1
- import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
2
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
3
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
1
  import ReactDOM from 'react-dom';
5
2
  import React from 'react';
6
3
  /**
@@ -25,13 +22,8 @@ function pxToNumber(value) {
25
22
  function styleToString(style) {
26
23
  // There are some different behavior between Firefox & Chrome.
27
24
  // We have to handle this ourself.
28
- const styleNames = _sliceInstanceProperty(Array.prototype).apply(style);
29
-
30
- return _mapInstanceProperty(styleNames).call(styleNames, name => {
31
- var _context;
32
-
33
- return _concatInstanceProperty(_context = "".concat(name, ": ")).call(_context, style.getPropertyValue(name), ";");
34
- }).join('');
25
+ const styleNames = Array.prototype.slice.apply(style);
26
+ return styleNames.map(name => "".concat(name, ": ").concat(style.getPropertyValue(name), ";")).join('');
35
27
  }
36
28
 
37
29
  const getRenderText = function (originEle, rows) {
@@ -77,9 +69,7 @@ const getRenderText = function (originEle, rows) {
77
69
  const ellipsisTextNode = document.createTextNode(suffix);
78
70
  ellipsisContentHolder.appendChild(ellipsisTextNode);
79
71
  ellipsisContainer.appendChild(ellipsisContentHolder);
80
-
81
- _mapInstanceProperty(fixedContent).call(fixedContent, node => node && ellipsisContainer.appendChild(node.cloneNode(true))); // Append before fixed nodes
82
-
72
+ fixedContent.map(node => node && ellipsisContainer.appendChild(node.cloneNode(true))); // Append before fixed nodes
83
73
 
84
74
  function appendChildNode(node) {
85
75
  ellipsisContentHolder.insertBefore(node, ellipsisTextNode);
@@ -93,10 +83,10 @@ const getRenderText = function (originEle, rows) {
93
83
  }
94
84
 
95
85
  if (ellipsisPos === 'end' || pos > end - pos) {
96
- return _sliceInstanceProperty(text).call(text, 0, pos) + ellipsisStr;
86
+ return text.slice(0, pos) + ellipsisStr;
97
87
  }
98
88
 
99
- return _sliceInstanceProperty(text).call(text, 0, pos) + ellipsisStr + _sliceInstanceProperty(text).call(text, end - pos, end);
89
+ return text.slice(0, pos) + ellipsisStr + text.slice(end - pos, end);
100
90
  } // Get maximum text
101
91
 
102
92
 
@@ -1,4 +1,3 @@
1
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
2
1
  import React, { PureComponent } from 'react';
3
2
  import cls from 'classnames';
4
3
  import PropTypes from 'prop-types';
@@ -15,7 +14,7 @@ const prefixCls = cssClasses.PREFIX;
15
14
 
16
15
  const ErrorSvg = function () {
17
16
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
- return /*#__PURE__*/React.createElement("svg", _Object$assign({
17
+ return /*#__PURE__*/React.createElement("svg", Object.assign({
19
18
  focusable: false,
20
19
  "aria-hidden": true,
21
20
  width: "16",
@@ -38,7 +37,7 @@ const ErrorSvg = function () {
38
37
 
39
38
  const ReplaceSvg = function () {
40
39
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
41
- return /*#__PURE__*/React.createElement("svg", _Object$assign({
40
+ return /*#__PURE__*/React.createElement("svg", Object.assign({
42
41
  focusable: false,
43
42
  "aria-hidden": true,
44
43
  width: "28",
@@ -67,7 +66,7 @@ const ReplaceSvg = function () {
67
66
 
68
67
  const DirectorySvg = function () {
69
68
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
70
- return /*#__PURE__*/React.createElement("svg", _Object$assign({
69
+ return /*#__PURE__*/React.createElement("svg", Object.assign({
71
70
  focusable: false,
72
71
  "aria-hidden": true,
73
72
  width: "24",
@@ -1,8 +1,5 @@
1
1
  import _pick from "lodash/pick";
2
2
  import _noop from "lodash/noop";
3
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
4
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
6
3
 
7
4
  /* eslint-disable max-len */
8
5
  import React from 'react';
@@ -99,8 +96,6 @@ class Upload extends BaseComponent {
99
96
  };
100
97
 
101
98
  this.renderFile = (file, index, locale) => {
102
- var _context;
103
-
104
99
  const {
105
100
  name,
106
101
  status,
@@ -132,13 +127,13 @@ class Upload extends BaseComponent {
132
127
  this.replace(index);
133
128
  };
134
129
 
135
- const fileCardProps = _Object$assign(_Object$assign(_Object$assign({}, _pick(this.props, ['showRetry', 'showReplace', ''])), file), {
130
+ const fileCardProps = Object.assign(Object.assign(Object.assign({}, _pick(this.props, ['showRetry', 'showReplace', ''])), file), {
136
131
  previewFile,
137
132
  listType,
138
133
  onRemove,
139
134
  onRetry,
140
135
  index,
141
- key: uid || _concatInstanceProperty(_context = "".concat(name)).call(_context, index),
136
+ key: uid || "".concat(name).concat(index),
142
137
  style: itemStyle,
143
138
  disabled,
144
139
  showPicInfo,
@@ -159,7 +154,7 @@ class Upload extends BaseComponent {
159
154
  }
160
155
 
161
156
  if (typeof renderFileItem === 'undefined') {
162
- return /*#__PURE__*/React.createElement(FileCard, _Object$assign({}, fileCardProps));
157
+ return /*#__PURE__*/React.createElement(FileCard, Object.assign({}, fileCardProps));
163
158
  } else {
164
159
  return renderFileItem(fileCardProps);
165
160
  }
@@ -225,12 +220,12 @@ class Upload extends BaseComponent {
225
220
  };
226
221
 
227
222
  if (draggable) {
228
- _Object$assign(addContentProps, draggableProps, {
223
+ Object.assign(addContentProps, draggableProps, {
229
224
  className: cls(uploadAddCls, dragAreaCls)
230
225
  });
231
226
  }
232
227
 
233
- const addContent = /*#__PURE__*/React.createElement("div", _Object$assign({}, addContentProps, {
228
+ const addContent = /*#__PURE__*/React.createElement("div", Object.assign({}, addContentProps, {
234
229
  "x-semi-prop": "children"
235
230
  }), children);
236
231
 
@@ -244,11 +239,11 @@ class Upload extends BaseComponent {
244
239
 
245
240
  return /*#__PURE__*/React.createElement(LocaleConsumer, {
246
241
  componentName: "Upload"
247
- }, locale => /*#__PURE__*/React.createElement("div", _Object$assign({}, containerProps), /*#__PURE__*/React.createElement("div", {
242
+ }, locale => /*#__PURE__*/React.createElement("div", Object.assign({}, containerProps), /*#__PURE__*/React.createElement("div", {
248
243
  className: mainCls,
249
244
  role: "list",
250
245
  "aria-label": "picture list"
251
- }, showAddTriggerInList && hotSpotLocation === 'start' ? addContent : null, _mapInstanceProperty(fileList).call(fileList, (file, index) => this.renderFile(file, index, locale)), showAddTriggerInList && hotSpotLocation === 'end' ? addContent : null)));
246
+ }, showAddTriggerInList && hotSpotLocation === 'start' ? addContent : null, fileList.map((file, index) => this.renderFile(file, index, locale)), showAddTriggerInList && hotSpotLocation === 'end' ? addContent : null)));
252
247
  };
253
248
 
254
249
  this.renderFileListDefault = () => {
@@ -276,7 +271,7 @@ class Upload extends BaseComponent {
276
271
 
277
272
  return /*#__PURE__*/React.createElement(LocaleConsumer, {
278
273
  componentName: "Upload"
279
- }, locale => /*#__PURE__*/React.createElement("div", _Object$assign({}, containerProps), showTitle ? /*#__PURE__*/React.createElement("div", {
274
+ }, locale => /*#__PURE__*/React.createElement("div", Object.assign({}, containerProps), showTitle ? /*#__PURE__*/React.createElement("div", {
280
275
  className: titleCls
281
276
  }, /*#__PURE__*/React.createElement("span", {
282
277
  className: "".concat(titleCls, "-choosen")
@@ -289,7 +284,7 @@ class Upload extends BaseComponent {
289
284
  className: mainCls,
290
285
  role: "list",
291
286
  "aria-label": "file list"
292
- }, _mapInstanceProperty(fileList).call(fileList, (file, index) => this.renderFile(file, index, locale)))));
287
+ }, fileList.map((file, index) => this.renderFile(file, index, locale)))));
293
288
  };
294
289
 
295
290
  this.onDrop = e => {
@@ -423,7 +418,7 @@ class Upload extends BaseComponent {
423
418
  }
424
419
 
425
420
  get adapter() {
426
- return _Object$assign(_Object$assign({}, super.adapter), {
421
+ return Object.assign(Object.assign({}, super.adapter), {
427
422
  notifyFileSelect: files => this.props.onFileChange(files),
428
423
  notifyError: (error, fileInstance, fileList, xhr) => this.props.onError(error, fileInstance, fileList, xhr),
429
424
  notifySuccess: (responseBody, file, fileList) => this.props.onSuccess(responseBody, file, fileList),
@@ -540,7 +535,7 @@ class Upload extends BaseComponent {
540
535
  className: uploadCls,
541
536
  style: style,
542
537
  "x-prompt-pos": promptPosition
543
- }, /*#__PURE__*/React.createElement("input", _Object$assign({
538
+ }, /*#__PURE__*/React.createElement("input", Object.assign({
544
539
  key: this.state.inputKey,
545
540
  capture: capture,
546
541
  multiple: multiple,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-ui",
3
- "version": "2.19.0-alpha.8",
3
+ "version": "2.19.0",
4
4
  "description": "",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es/index.js",
@@ -13,13 +13,12 @@
13
13
  "prepublishOnly": "npm run clean && npm run build:lib && npm run build:js && npm run build:css"
14
14
  },
15
15
  "dependencies": {
16
- "@babel/runtime-corejs3": "^7.15.4",
17
16
  "@douyinfe/semi-animation": "2.12.0",
18
- "@douyinfe/semi-animation-react": "2.19.0-alpha.8",
19
- "@douyinfe/semi-foundation": "2.19.0-alpha.8",
20
- "@douyinfe/semi-icons": "2.19.0-alpha.8",
17
+ "@douyinfe/semi-animation-react": "2.19.0",
18
+ "@douyinfe/semi-foundation": "2.19.0",
19
+ "@douyinfe/semi-icons": "2.19.0",
21
20
  "@douyinfe/semi-illustrations": "2.15.0",
22
- "@douyinfe/semi-theme-default": "2.19.0-alpha.8",
21
+ "@douyinfe/semi-theme-default": "2.19.0",
23
22
  "async-validator": "^3.5.0",
24
23
  "classnames": "^2.2.6",
25
24
  "copy-text-to-clipboard": "^2.1.1",
@@ -66,13 +65,13 @@
66
65
  ],
67
66
  "author": "",
68
67
  "license": "MIT",
69
- "gitHead": "fef0097c01c675980e383efb45f182a2a4f2a507",
68
+ "gitHead": "c0ef56c31a5c13adb050fbdb611e51da881f0cb8",
70
69
  "devDependencies": {
71
70
  "@babel/plugin-proposal-decorators": "^7.15.8",
72
71
  "@babel/plugin-transform-runtime": "^7.15.8",
73
72
  "@babel/preset-env": "^7.15.8",
74
73
  "@babel/preset-react": "^7.14.5",
75
- "@douyinfe/semi-scss-compile": "2.19.0-alpha.8",
74
+ "@douyinfe/semi-scss-compile": "2.19.0",
76
75
  "@storybook/addon-knobs": "^6.3.1",
77
76
  "@types/lodash": "^4.14.176",
78
77
  "@types/react": ">=16.0.0",
@@ -44,7 +44,7 @@ Simple.story = {
44
44
  export const _Button = () => (
45
45
  <div>
46
46
  <div style={style}>
47
- <Popconfirm position="bottomLeft" title="确定是否要保存此修改?" content="此修改将不可逆">
47
+ <Popconfirm position="bottomLeft" title="确定是否要保存此修改?" content="此修改将不可逆此修改将不可逆此修改将不可逆此修">
48
48
  <Button>Save</Button>
49
49
  </Popconfirm>
50
50
  </div>
@@ -175,7 +175,7 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
175
175
  }
176
176
  );
177
177
  const showTitle = title !== null && typeof title !== 'undefined';
178
- const showContent = content !== null || typeof content !== 'undefined';
178
+ const showContent = !(content === null || typeof content === 'undefined');
179
179
 
180
180
  return (
181
181
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
@@ -191,11 +191,6 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
191
191
  {title}
192
192
  </div>
193
193
  ) : null}
194
- {showContent ? (
195
- <div className={`${prefixCls}-header-content`} x-semi-prop="content">
196
- {content}
197
- </div>
198
- ) : null}
199
194
  </div>
200
195
  <Button
201
196
  className={`${prefixCls}-btn-close`}
@@ -206,6 +201,11 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
206
201
  onClick={this.handleCancel}
207
202
  />
208
203
  </div>
204
+ {showContent ? (
205
+ <div className={`${prefixCls}-body`} x-semi-prop="content">
206
+ {content}
207
+ </div>
208
+ ) : null}
209
209
  <div className={`${prefixCls}-footer`}>{this.renderControls()}</div>
210
210
  </div>
211
211
  </div>
package/radio/radio.tsx CHANGED
@@ -92,6 +92,7 @@ class Radio extends BaseComponent<RadioProps, RadioState> {
92
92
  mode: '',
93
93
  type: 'default'
94
94
  };
95
+ static elementType: string;
95
96
 
96
97
  radioEntity: RadioInner;
97
98
  context!: RadioContextValue;
@@ -317,5 +318,6 @@ class Radio extends BaseComponent<RadioProps, RadioState> {
317
318
  );
318
319
  }
319
320
  }
321
+ Radio.elementType = 'Radio';
320
322
 
321
323
  export default Radio;
@@ -11,7 +11,16 @@ const Demo = () => {
11
11
 
12
12
  return (
13
13
  <div>
14
- <Tabs defaultActiveKey="1"
14
+ <Tabs
15
+ defaultActiveKey="1"
16
+ renderTabBar={(tabBarProps, DefaultTabBar) => {
17
+ return (
18
+ <div className="tab-bar-box">
19
+ 这是二次封装的Tab Bar,当前ActiveKey:{tabBarProps.activeKey}
20
+ <DefaultTabBar {...tabBarProps} />
21
+ </div>
22
+ );
23
+ }}
15
24
  tabPaneMotion>
16
25
  {
17
26
  tabPaneList.map((item, index) => {
@@ -19,12 +28,12 @@ const Demo = () => {
19
28
  <TabPane tab={item} itemKey={index.toString()} key={item}>
20
29
  { item + index }
21
30
  </TabPane>
22
- )
31
+ );
23
32
  })
24
33
  }
25
34
  </Tabs>
26
35
  </div>
27
- )
28
- }
36
+ );
37
+ };
29
38
 
30
- export default Demo
39
+ export default Demo;
package/tabs/interface.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import React, { ComponentType, CSSProperties, MouseEvent, ReactNode } from 'react';
2
2
  import { Motion } from '../_base/base';
3
+ import TabBar from './TabBar';
3
4
 
4
5
  export type TabType = 'line' | 'card' | 'button';
5
6
  export type TabSize = 'small' | 'medium' | 'large';
@@ -25,7 +26,7 @@ export interface TabsProps {
25
26
  lazyRender?: boolean;
26
27
  onChange?: (activeKey: string) => void;
27
28
  onTabClick?: (activeKey: string, e: MouseEvent<Element>) => void;
28
- renderTabBar?: (tabBarProps: TabBarProps, defaultTabBar: ComponentType) => ReactNode;
29
+ renderTabBar?: (tabBarProps: TabBarProps, defaultTabBar: typeof TabBar) => ReactNode;
29
30
  size?: TabSize;
30
31
  style?: CSSProperties;
31
32
  tabBarClassName?: string;
@@ -54,7 +55,7 @@ export interface TabBarProps {
54
55
  dropdownStyle?: CSSProperties;
55
56
  closable?: boolean;
56
57
  deleteTabItem?: (tabKey: string, event: MouseEvent<Element>) => void;
57
- handleKeyDown?: (event: React.KeyboardEvent, itemKey: string, closable: boolean) => void;
58
+ handleKeyDown?: (event: React.KeyboardEvent, itemKey: string, closable: boolean) => void;
58
59
  }
59
60
 
60
61
  export interface TabPaneProps {
@@ -287,4 +287,54 @@ export const TagGroupCloseable = () => <TagGroupCloseableDemo />;
287
287
 
288
288
  TagGroupCloseable.story = {
289
289
  name: 'tagGroup closable',
290
- }
290
+ }
291
+
292
+ export const Issue1107 = () => {
293
+ const src = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/dy.png';
294
+ const tagList = [
295
+ { color: 'white', children:'Douyin', avatarSrc:src },
296
+ { color: 'white', children:'Hotsoon', avatarSrc:src },
297
+ { color: 'white', children:'Capcut', avatarSrc:src },
298
+ { color: 'white', children:'Xingtu', avatarSrc:src },
299
+ ];
300
+ const divStyle = {
301
+ backgroundColor: 'var(--semi-color-fill-0)',
302
+ height: 35,
303
+ width: 300,
304
+ display: 'flex',
305
+ alignItems: 'center',
306
+ padding: '0 10px',
307
+ marginBottom: 30,
308
+ };
309
+ const tagGroupStyle = {
310
+ display: 'flex',
311
+ alignItems: 'center',
312
+ width: 350,
313
+ };
314
+ return (
315
+ <>
316
+ <div style={divStyle}>
317
+ <TagGroup
318
+ maxTagCount={3}
319
+ style={tagGroupStyle}
320
+ tagList={tagList}
321
+ size="small"
322
+ />
323
+ </div>
324
+ <div style={divStyle}>
325
+ <TagGroup
326
+ maxTagCount={2}
327
+ style={tagGroupStyle}
328
+ tagList={tagList}
329
+ size="large"
330
+ avatarShape="circle"
331
+ showPopover
332
+ />
333
+ </div>
334
+ </>
335
+ );
336
+ };
337
+
338
+ Issue1107.story = {
339
+ name: 'issue 1107',
340
+ };
package/tag/group.tsx CHANGED
@@ -3,27 +3,13 @@ import classNames from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
4
  import { cssClasses, strings } from '@douyinfe/semi-foundation/tag/constants';
5
5
  import Tag from './index';
6
- import Popover, { PopoverProps } from '../popover/index';
7
- import { AvatarShape, TagProps } from './interface';
6
+ import Popover from '../popover/index';
7
+ import { AvatarShape, TagProps, TagGroupProps } from './interface';
8
8
 
9
9
  const prefixCls = cssClasses.PREFIX;
10
10
  const tagSize = strings.TAG_SIZE;
11
11
  const avatarShapeSet = strings.AVATAR_SHAPE;
12
12
 
13
- export interface TagGroupProps<T> {
14
- style?: React.CSSProperties;
15
- className?: string;
16
- maxTagCount?: number;
17
- restCount?: number;
18
- tagList?: (T extends 'custom' ? React.ReactNode : TagProps)[];
19
- size?: 'small' | 'large';
20
- showPopover?: boolean;
21
- popoverProps?: PopoverProps;
22
- avatarShape?: AvatarShape;
23
- mode?: string;
24
- onTagClose: (tagChildren: React.ReactNode, event: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
25
- }
26
-
27
13
  export default class TagGroup<T> extends PureComponent<TagGroupProps<T>> {
28
14
  static defaultProps = {
29
15
  style: {},
@@ -103,24 +89,25 @@ export default class TagGroup<T> extends PureComponent<TagGroupProps<T>> {
103
89
  if (mode === 'custom') {
104
90
  return tag as React.ReactNode;
105
91
  }
106
- if (!(tag as TagProps).size) {
107
- (tag as TagProps).size = size;
92
+ const newTag = { ...(tag as TagProps) };
93
+ if (!(newTag as TagProps).size) {
94
+ (newTag as TagProps).size = size;
108
95
  }
109
96
 
110
- if (!(tag as TagProps).avatarShape) {
111
- (tag as TagProps).avatarShape = avatarShape;
97
+ if (!(newTag as TagProps).avatarShape) {
98
+ (newTag as TagProps).avatarShape = avatarShape;
112
99
  }
113
100
 
114
- if (!(tag as TagProps).tagKey) {
115
- if (typeof (tag as TagProps).children === 'string' || typeof (tag as TagProps).children === 'number') {
116
- (tag as TagProps).tagKey = (tag as TagProps).children as string | number;
101
+ if (!(newTag as TagProps).tagKey) {
102
+ if (typeof (newTag as TagProps).children === 'string' || typeof (newTag as TagProps).children === 'number') {
103
+ (newTag as TagProps).tagKey = (newTag as TagProps).children as string | number;
117
104
  } else {
118
- (tag as TagProps).tagKey = Math.random();
105
+ (newTag as TagProps).tagKey = Math.random();
119
106
  }
120
107
  }
121
- return <Tag {...(tag as TagProps)} key={(tag as TagProps).tagKey} onClose={(tagChildren, e, tagKey) => {
122
- if ((tag as TagProps).onClose) {
123
- (tag as TagProps).onClose(tagChildren, e, tagKey);
108
+ return <Tag {...(newTag as TagProps)} key={(newTag as TagProps).tagKey} onClose={(tagChildren, e, tagKey) => {
109
+ if ((newTag as TagProps).onClose) {
110
+ (newTag as TagProps).onClose(tagChildren, e, tagKey);
124
111
  }
125
112
  onTagClose && onTagClose(tagChildren, e, tagKey);
126
113
  }} />;
package/tag/index.tsx CHANGED
@@ -40,7 +40,7 @@ export default class Tag extends Component<TagProps, TagState> {
40
40
 
41
41
  static propTypes = {
42
42
  children: PropTypes.node,
43
- tagKey: PropTypes.oneOf([PropTypes.string, PropTypes.number]),
43
+ tagKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
44
44
  size: PropTypes.oneOf(tagSize),
45
45
  color: PropTypes.oneOf(tagColors),
46
46
  type: PropTypes.oneOf(tagType),
package/tag/interface.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { PopoverProps } from '../popover/index';
2
+
1
3
  export type TagColor =
2
4
  | 'amber'
3
5
  | 'blue'
@@ -39,14 +41,16 @@ export interface TagProps {
39
41
  tabIndex?: number; // use internal, when tag in taInput, we want to use left arrow and right arrow to control the tag focus, so the tabIndex need to be -1.
40
42
  }
41
43
 
42
- export interface TagGroupProps {
44
+ export interface TagGroupProps<T> {
43
45
  style?: React.CSSProperties;
44
46
  className?: string;
45
47
  maxTagCount?: number;
46
- tagList?: (TagProps | React.ReactNode)[];
48
+ restCount?: number;
49
+ tagList?: (T extends 'custom' ? React.ReactNode : TagProps)[];
47
50
  size?: 'small' | 'large';
48
51
  showPopover?: boolean;
49
- popoverProps?: any; // TODO: 替换成PopoverProps
52
+ popoverProps?: PopoverProps;
50
53
  avatarShape?: AvatarShape;
51
- mode?: string; // TODO: check 文档里没有这个api
52
- }
54
+ mode?: string;
55
+ onTagClose: (tagChildren: React.ReactNode, event: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
56
+ }
package/tooltip/index.tsx CHANGED
@@ -720,7 +720,8 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
720
720
  ref.current = node;
721
721
  }
722
722
  },
723
- tabIndex: (children as React.ReactElement).props.tabIndex || 0 // a11y keyboard, in some condition select's tabindex need to -1 or 0
723
+ tabIndex: (children as React.ReactElement).props.tabIndex || 0, // a11y keyboard, in some condition select's tabindex need to -1 or 0
724
+ 'data-popupid': id
724
725
  });
725
726
 
726
727
  // If you do not add a layer of div, in order to bind the events and className in the tooltip, you need to cloneElement children, but this time it may overwrite the children's original ref reference
@@ -209,9 +209,9 @@ const ControlledTransfer = () => {
209
209
  );
210
210
  };
211
211
 
212
- export const ControlledTransfer = () => <ControlledTransfer />;
212
+ export const ControlledTransferDemo = () => <ControlledTransfer />;
213
213
 
214
- ControlledTransfer.story = {
214
+ ControlledTransferDemo.story = {
215
215
  name: '受控Transfer',
216
216
  };
217
217
 
@@ -469,6 +469,9 @@ export const Multiple = () => (
469
469
  // value={this.state.value}
470
470
  dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
471
471
  treeData={treeData2}
472
+ defaultOpen
473
+ defaultExpandAll
474
+ motion={false}
472
475
  multiple
473
476
  placeholder="Please select"
474
477
  />