@douyinfe/semi-ui 2.36.0-beta.0 → 2.36.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 (698) hide show
  1. package/dist/umd/semi-ui.js +45123 -59672
  2. package/dist/umd/semi-ui.js.map +1 -1
  3. package/dist/umd/semi-ui.min.js +1 -1
  4. package/dist/umd/semi-ui.min.js.LICENSE.txt +3 -3
  5. package/dist/umd/semi-ui.min.js.map +1 -1
  6. package/lib/cjs/_base/base.d.ts +3 -3
  7. package/lib/cjs/_base/baseComponent.d.ts +1 -1
  8. package/lib/cjs/_base/baseComponent.js +5 -16
  9. package/lib/cjs/_base/reactUtils.js +3 -9
  10. package/lib/cjs/_cssAnimation/index.js +4 -25
  11. package/lib/cjs/_portal/index.js +0 -31
  12. package/lib/cjs/_utils/hooks/usePrevFocus.js +0 -6
  13. package/lib/cjs/_utils/index.js +6 -45
  14. package/lib/cjs/anchor/anchor-context.d.ts +1 -1
  15. package/lib/cjs/anchor/anchor-context.js +0 -4
  16. package/lib/cjs/anchor/index.js +2 -48
  17. package/lib/cjs/anchor/link.js +4 -36
  18. package/lib/cjs/autoComplete/index.d.ts +1 -1
  19. package/lib/cjs/autoComplete/index.js +3 -42
  20. package/lib/cjs/autoComplete/option.js +26 -54
  21. package/lib/cjs/avatar/avatarGroup.js +9 -42
  22. package/lib/cjs/avatar/index.js +15 -56
  23. package/lib/cjs/avatar/interface.d.ts +6 -6
  24. package/lib/cjs/backtop/index.js +9 -34
  25. package/lib/cjs/badge/index.d.ts +3 -3
  26. package/lib/cjs/badge/index.js +16 -38
  27. package/lib/cjs/banner/index.d.ts +1 -1
  28. package/lib/cjs/banner/index.js +3 -31
  29. package/lib/cjs/breadcrumb/bread-context.js +0 -4
  30. package/lib/cjs/breadcrumb/index.d.ts +1 -1
  31. package/lib/cjs/breadcrumb/index.js +1 -45
  32. package/lib/cjs/breadcrumb/item.d.ts +1 -1
  33. package/lib/cjs/breadcrumb/item.js +16 -56
  34. package/lib/cjs/button/Button.d.ts +4 -4
  35. package/lib/cjs/button/Button.js +18 -37
  36. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  37. package/lib/cjs/button/buttonGroup.js +10 -35
  38. package/lib/cjs/button/index.js +0 -9
  39. package/lib/cjs/button/splitButtonGroup.js +0 -11
  40. package/lib/cjs/calendar/dayCalendar.js +0 -29
  41. package/lib/cjs/calendar/dayCol.js +1 -28
  42. package/lib/cjs/calendar/index.js +4 -22
  43. package/lib/cjs/calendar/interface.d.ts +5 -5
  44. package/lib/cjs/calendar/monthCalendar.js +6 -62
  45. package/lib/cjs/calendar/rangeCalendar.js +1 -34
  46. package/lib/cjs/calendar/timeCol.js +0 -20
  47. package/lib/cjs/calendar/weekCalendar.js +0 -35
  48. package/lib/cjs/card/cardGroup.d.ts +1 -1
  49. package/lib/cjs/card/cardGroup.js +8 -24
  50. package/lib/cjs/card/index.d.ts +1 -1
  51. package/lib/cjs/card/index.js +7 -38
  52. package/lib/cjs/card/meta.d.ts +1 -1
  53. package/lib/cjs/card/meta.js +8 -27
  54. package/lib/cjs/carousel/CarouselArrow.d.ts +2 -2
  55. package/lib/cjs/carousel/CarouselArrow.js +1 -13
  56. package/lib/cjs/carousel/CarouselIndicator.js +9 -33
  57. package/lib/cjs/carousel/index.js +1 -49
  58. package/lib/cjs/cascader/index.d.ts +2 -2
  59. package/lib/cjs/cascader/index.js +12 -144
  60. package/lib/cjs/cascader/item.js +2 -63
  61. package/lib/cjs/checkbox/checkbox.d.ts +1 -1
  62. package/lib/cjs/checkbox/checkbox.js +21 -55
  63. package/lib/cjs/checkbox/checkboxGroup.d.ts +4 -4
  64. package/lib/cjs/checkbox/checkboxGroup.js +9 -29
  65. package/lib/cjs/checkbox/checkboxInner.js +1 -15
  66. package/lib/cjs/checkbox/context.d.ts +1 -1
  67. package/lib/cjs/checkbox/context.js +0 -4
  68. package/lib/cjs/checkbox/index.js +0 -5
  69. package/lib/cjs/collapse/collapse-context.js +0 -4
  70. package/lib/cjs/collapse/index.js +14 -42
  71. package/lib/cjs/collapse/item.js +13 -41
  72. package/lib/cjs/collapsible/index.js +0 -34
  73. package/lib/cjs/configProvider/context.js +0 -4
  74. package/lib/cjs/configProvider/index.js +5 -21
  75. package/lib/cjs/datePicker/dateInput.js +39 -93
  76. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  77. package/lib/cjs/datePicker/datePicker.js +11 -119
  78. package/lib/cjs/datePicker/footer.js +0 -6
  79. package/lib/cjs/datePicker/index.js +2 -17
  80. package/lib/cjs/datePicker/insetInput.js +0 -9
  81. package/lib/cjs/datePicker/month.d.ts +1 -1
  82. package/lib/cjs/datePicker/month.js +25 -90
  83. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  84. package/lib/cjs/datePicker/monthsGrid.js +21 -96
  85. package/lib/cjs/datePicker/navigation.js +7 -24
  86. package/lib/cjs/datePicker/quickControl.js +1 -17
  87. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  88. package/lib/cjs/datePicker/yearAndMonth.js +6 -52
  89. package/lib/cjs/descriptions/descriptions-context.d.ts +1 -1
  90. package/lib/cjs/descriptions/descriptions-context.js +0 -4
  91. package/lib/cjs/descriptions/index.d.ts +1 -1
  92. package/lib/cjs/descriptions/index.js +0 -15
  93. package/lib/cjs/descriptions/item.js +0 -14
  94. package/lib/cjs/divider/index.js +9 -23
  95. package/lib/cjs/dropdown/context.js +0 -4
  96. package/lib/cjs/dropdown/dropdownDivider.d.ts +1 -1
  97. package/lib/cjs/dropdown/dropdownDivider.js +0 -8
  98. package/lib/cjs/dropdown/dropdownItem.d.ts +1 -1
  99. package/lib/cjs/dropdown/dropdownItem.js +0 -21
  100. package/lib/cjs/dropdown/dropdownMenu.d.ts +1 -1
  101. package/lib/cjs/dropdown/dropdownMenu.js +6 -24
  102. package/lib/cjs/dropdown/dropdownTitle.d.ts +1 -1
  103. package/lib/cjs/dropdown/dropdownTitle.js +0 -12
  104. package/lib/cjs/dropdown/index.d.ts +1 -1
  105. package/lib/cjs/dropdown/index.js +21 -62
  106. package/lib/cjs/empty/index.js +0 -20
  107. package/lib/cjs/form/arrayField.js +15 -47
  108. package/lib/cjs/form/baseForm.js +26 -72
  109. package/lib/cjs/form/context.js +1 -10
  110. package/lib/cjs/form/errorMessage.d.ts +1 -1
  111. package/lib/cjs/form/errorMessage.js +1 -20
  112. package/lib/cjs/form/field.js +4 -23
  113. package/lib/cjs/form/group.js +11 -48
  114. package/lib/cjs/form/hoc/withField.js +69 -144
  115. package/lib/cjs/form/hoc/withFormApi.js +0 -7
  116. package/lib/cjs/form/hoc/withFormState.js +0 -7
  117. package/lib/cjs/form/hooks/index.js +0 -8
  118. package/lib/cjs/form/hooks/useArrayFieldState.js +0 -4
  119. package/lib/cjs/form/hooks/useFieldApi.js +0 -5
  120. package/lib/cjs/form/hooks/useFieldState.js +0 -8
  121. package/lib/cjs/form/hooks/useFormApi.js +0 -3
  122. package/lib/cjs/form/hooks/useFormState.js +0 -4
  123. package/lib/cjs/form/hooks/useFormUpdater.js +0 -3
  124. package/lib/cjs/form/hooks/useStateWithGetter.js +0 -5
  125. package/lib/cjs/form/index.js +0 -9
  126. package/lib/cjs/form/interface.d.ts +4 -4
  127. package/lib/cjs/form/interface.js +1 -8
  128. package/lib/cjs/form/label.js +0 -16
  129. package/lib/cjs/form/section.js +1 -11
  130. package/lib/cjs/form/slot.js +10 -51
  131. package/lib/cjs/grid/col.js +10 -29
  132. package/lib/cjs/grid/index.js +0 -3
  133. package/lib/cjs/grid/row.d.ts +2 -2
  134. package/lib/cjs/grid/row.js +10 -34
  135. package/lib/cjs/highlight/index.js +0 -11
  136. package/lib/cjs/iconButton/index.d.ts +1 -1
  137. package/lib/cjs/iconButton/index.js +18 -42
  138. package/lib/cjs/icons/index.js +0 -3
  139. package/lib/cjs/image/image.d.ts +0 -3
  140. package/lib/cjs/image/image.js +19 -88
  141. package/lib/cjs/image/index.js +0 -6
  142. package/lib/cjs/image/interface.d.ts +1 -1
  143. package/lib/cjs/image/preview.d.ts +4 -0
  144. package/lib/cjs/image/preview.js +53 -61
  145. package/lib/cjs/image/previewContext.js +0 -2
  146. package/lib/cjs/image/previewFooter.js +9 -62
  147. package/lib/cjs/image/previewHeader.js +0 -13
  148. package/lib/cjs/image/previewImage.js +46 -79
  149. package/lib/cjs/image/previewInner.js +70 -126
  150. package/lib/cjs/index.js +0 -86
  151. package/lib/cjs/input/index.d.ts +3 -3
  152. package/lib/cjs/input/index.js +35 -103
  153. package/lib/cjs/input/inputGroup.d.ts +1 -1
  154. package/lib/cjs/input/inputGroup.js +20 -44
  155. package/lib/cjs/input/textarea.d.ts +1 -1
  156. package/lib/cjs/input/textarea.js +33 -77
  157. package/lib/cjs/inputNumber/index.js +127 -199
  158. package/lib/cjs/layout/Sider.js +7 -32
  159. package/lib/cjs/layout/index.js +16 -40
  160. package/lib/cjs/layout/layout-context.js +0 -5
  161. package/lib/cjs/list/index.js +0 -26
  162. package/lib/cjs/list/item.js +6 -30
  163. package/lib/cjs/list/list-context.js +0 -4
  164. package/lib/cjs/locale/context.js +0 -4
  165. package/lib/cjs/locale/localeConsumer.d.ts +1 -1
  166. package/lib/cjs/locale/localeConsumer.js +0 -16
  167. package/lib/cjs/locale/localeProvider.js +0 -11
  168. package/lib/cjs/locale/source/ar.js +2 -4
  169. package/lib/cjs/locale/source/de.js +2 -4
  170. package/lib/cjs/locale/source/en_GB.js +2 -4
  171. package/lib/cjs/locale/source/en_US.js +2 -4
  172. package/lib/cjs/locale/source/es.js +0 -2
  173. package/lib/cjs/locale/source/fr.js +2 -4
  174. package/lib/cjs/locale/source/id_ID.js +2 -4
  175. package/lib/cjs/locale/source/it.js +2 -4
  176. package/lib/cjs/locale/source/ja_JP.js +2 -4
  177. package/lib/cjs/locale/source/ko_KR.js +2 -4
  178. package/lib/cjs/locale/source/ms_MY.js +2 -4
  179. package/lib/cjs/locale/source/nl_NL.js +0 -2
  180. package/lib/cjs/locale/source/pl_PL.js +0 -2
  181. package/lib/cjs/locale/source/pt_BR.js +2 -4
  182. package/lib/cjs/locale/source/ro.js +0 -2
  183. package/lib/cjs/locale/source/ru_RU.js +2 -4
  184. package/lib/cjs/locale/source/sv_SE.js +0 -2
  185. package/lib/cjs/locale/source/th_TH.js +2 -4
  186. package/lib/cjs/locale/source/tr_TR.js +2 -4
  187. package/lib/cjs/locale/source/vi_VN.js +2 -4
  188. package/lib/cjs/locale/source/zh_CN.js +2 -4
  189. package/lib/cjs/locale/source/zh_TW.js +2 -4
  190. package/lib/cjs/modal/ConfirmModal.js +9 -29
  191. package/lib/cjs/modal/Modal.d.ts +2 -2
  192. package/lib/cjs/modal/Modal.js +17 -80
  193. package/lib/cjs/modal/ModalContent.js +13 -72
  194. package/lib/cjs/modal/confirm.d.ts +9 -3
  195. package/lib/cjs/modal/confirm.js +4 -28
  196. package/lib/cjs/modal/index.d.ts +1 -1
  197. package/lib/cjs/modal/index.js +0 -4
  198. package/lib/cjs/modal/useModal/HookModal.js +4 -18
  199. package/lib/cjs/modal/useModal/index.d.ts +1 -1
  200. package/lib/cjs/modal/useModal/index.js +4 -18
  201. package/lib/cjs/navigation/CollapseButton.js +0 -11
  202. package/lib/cjs/navigation/Footer.js +0 -20
  203. package/lib/cjs/navigation/Header.d.ts +1 -1
  204. package/lib/cjs/navigation/Header.js +0 -18
  205. package/lib/cjs/navigation/Item.js +3 -51
  206. package/lib/cjs/navigation/SubNav.js +7 -67
  207. package/lib/cjs/navigation/index.d.ts +2 -2
  208. package/lib/cjs/navigation/index.js +5 -60
  209. package/lib/cjs/navigation/nav-context.js +0 -4
  210. package/lib/cjs/notification/index.d.ts +1 -1
  211. package/lib/cjs/notification/index.js +4 -56
  212. package/lib/cjs/notification/notice.js +24 -58
  213. package/lib/cjs/notification/useNotification/HookNotice.js +3 -18
  214. package/lib/cjs/notification/useNotification/index.js +4 -25
  215. package/lib/cjs/overflowList/index.d.ts +41 -24
  216. package/lib/cjs/overflowList/index.js +7 -65
  217. package/lib/cjs/overflowList/intersectionObserver.js +2 -21
  218. package/lib/cjs/pagination/index.d.ts +2 -2
  219. package/lib/cjs/pagination/index.js +7 -59
  220. package/lib/cjs/popconfirm/index.js +9 -54
  221. package/lib/cjs/popover/Arrow.js +6 -19
  222. package/lib/cjs/popover/index.js +11 -38
  223. package/lib/cjs/progress/index.js +8 -48
  224. package/lib/cjs/radio/context.d.ts +2 -2
  225. package/lib/cjs/radio/context.js +0 -4
  226. package/lib/cjs/radio/index.js +0 -5
  227. package/lib/cjs/radio/radio.d.ts +3 -3
  228. package/lib/cjs/radio/radio.js +1 -36
  229. package/lib/cjs/radio/radioGroup.d.ts +2 -2
  230. package/lib/cjs/radio/radioGroup.js +0 -24
  231. package/lib/cjs/radio/radioInner.d.ts +1 -1
  232. package/lib/cjs/radio/radioInner.js +0 -21
  233. package/lib/cjs/rating/index.js +4 -51
  234. package/lib/cjs/rating/item.d.ts +1 -1
  235. package/lib/cjs/rating/item.js +2 -27
  236. package/lib/cjs/resizeObserver/index.js +4 -28
  237. package/lib/cjs/scrollList/index.js +0 -13
  238. package/lib/cjs/scrollList/scrollItem.js +15 -113
  239. package/lib/cjs/select/index.d.ts +6 -6
  240. package/lib/cjs/select/index.js +27 -164
  241. package/lib/cjs/select/option.js +27 -55
  242. package/lib/cjs/select/optionGroup.js +0 -12
  243. package/lib/cjs/select/utils.js +8 -24
  244. package/lib/cjs/select/virtualRow.js +0 -2
  245. package/lib/cjs/sideSheet/SideSheetContent.js +2 -40
  246. package/lib/cjs/sideSheet/index.js +21 -66
  247. package/lib/cjs/skeleton/index.js +9 -28
  248. package/lib/cjs/skeleton/item.d.ts +2 -2
  249. package/lib/cjs/skeleton/item.js +8 -29
  250. package/lib/cjs/slider/index.js +7 -68
  251. package/lib/cjs/space/index.d.ts +3 -3
  252. package/lib/cjs/space/index.js +0 -20
  253. package/lib/cjs/space/utils.js +0 -9
  254. package/lib/cjs/spin/icon.js +4 -17
  255. package/lib/cjs/spin/index.d.ts +1 -1
  256. package/lib/cjs/spin/index.js +0 -20
  257. package/lib/cjs/steps/basicStep.d.ts +2 -2
  258. package/lib/cjs/steps/basicStep.js +0 -22
  259. package/lib/cjs/steps/basicSteps.d.ts +3 -3
  260. package/lib/cjs/steps/basicSteps.js +0 -15
  261. package/lib/cjs/steps/context.js +0 -4
  262. package/lib/cjs/steps/fillStep.d.ts +1 -1
  263. package/lib/cjs/steps/fillStep.js +0 -19
  264. package/lib/cjs/steps/fillSteps.d.ts +2 -2
  265. package/lib/cjs/steps/fillSteps.js +0 -17
  266. package/lib/cjs/steps/index.d.ts +1 -1
  267. package/lib/cjs/steps/index.js +4 -26
  268. package/lib/cjs/steps/navStep.js +0 -11
  269. package/lib/cjs/steps/navSteps.d.ts +1 -1
  270. package/lib/cjs/steps/navSteps.js +0 -13
  271. package/lib/cjs/steps/step.d.ts +1 -1
  272. package/lib/cjs/steps/step.js +0 -15
  273. package/lib/cjs/switch/index.js +1 -22
  274. package/lib/cjs/table/Body/BaseRow.d.ts +1 -1
  275. package/lib/cjs/table/Body/BaseRow.js +37 -101
  276. package/lib/cjs/table/Body/ExpandedRow.d.ts +1 -1
  277. package/lib/cjs/table/Body/ExpandedRow.js +5 -30
  278. package/lib/cjs/table/Body/SectionRow.js +8 -46
  279. package/lib/cjs/table/Body/index.js +38 -153
  280. package/lib/cjs/table/ColGroup.js +2 -14
  281. package/lib/cjs/table/Column.js +0 -7
  282. package/lib/cjs/table/ColumnFilter.js +4 -30
  283. package/lib/cjs/table/ColumnSelection.js +5 -24
  284. package/lib/cjs/table/ColumnShape.js +0 -4
  285. package/lib/cjs/table/ColumnSorter.js +0 -13
  286. package/lib/cjs/table/CustomExpandIcon.js +0 -16
  287. package/lib/cjs/table/HeadTable.js +0 -23
  288. package/lib/cjs/table/ResizableHeaderCell.d.ts +1 -1
  289. package/lib/cjs/table/ResizableHeaderCell.js +9 -20
  290. package/lib/cjs/table/ResizableTable.js +5 -47
  291. package/lib/cjs/table/Table.d.ts +2 -2
  292. package/lib/cjs/table/Table.js +534 -771
  293. package/lib/cjs/table/TableCell.js +20 -81
  294. package/lib/cjs/table/TableContextProvider.js +0 -7
  295. package/lib/cjs/table/TableHeader.js +5 -33
  296. package/lib/cjs/table/TableHeaderRow.js +8 -45
  297. package/lib/cjs/table/TablePagination.js +1 -12
  298. package/lib/cjs/table/getColumns.js +0 -11
  299. package/lib/cjs/table/index.js +2 -20
  300. package/lib/cjs/table/interface.d.ts +58 -58
  301. package/lib/cjs/table/table-context.js +1 -5
  302. package/lib/cjs/table/utils.js +6 -30
  303. package/lib/cjs/tabs/TabBar.js +13 -61
  304. package/lib/cjs/tabs/TabItem.js +18 -31
  305. package/lib/cjs/tabs/TabPane.js +10 -35
  306. package/lib/cjs/tabs/index.js +20 -83
  307. package/lib/cjs/tabs/interface.d.ts +3 -3
  308. package/lib/cjs/tabs/tabs-context.js +0 -4
  309. package/lib/cjs/tag/group.js +0 -27
  310. package/lib/cjs/tag/index.js +23 -60
  311. package/lib/cjs/tag/interface.d.ts +5 -5
  312. package/lib/cjs/tagInput/index.d.ts +3 -3
  313. package/lib/cjs/tagInput/index.js +2 -77
  314. package/lib/cjs/timePicker/Combobox.d.ts +2 -2
  315. package/lib/cjs/timePicker/Combobox.js +7 -54
  316. package/lib/cjs/timePicker/PanelShape.js +0 -3
  317. package/lib/cjs/timePicker/TimeInput.d.ts +1 -1
  318. package/lib/cjs/timePicker/TimeInput.js +32 -64
  319. package/lib/cjs/timePicker/TimePicker.d.ts +3 -3
  320. package/lib/cjs/timePicker/TimePicker.js +39 -99
  321. package/lib/cjs/timePicker/TimeShape.js +0 -5
  322. package/lib/cjs/timePicker/index.d.ts +1 -1
  323. package/lib/cjs/timePicker/index.js +0 -9
  324. package/lib/cjs/timeline/index.js +0 -27
  325. package/lib/cjs/timeline/item.js +0 -13
  326. package/lib/cjs/toast/index.js +5 -59
  327. package/lib/cjs/toast/toast.js +1 -29
  328. package/lib/cjs/toast/useToast/HookToast.js +3 -18
  329. package/lib/cjs/toast/useToast/index.js +2 -17
  330. package/lib/cjs/tooltip/ArrowBoundingShape.js +0 -4
  331. package/lib/cjs/tooltip/TriangleArrow.js +4 -12
  332. package/lib/cjs/tooltip/TriangleArrowVertical.js +4 -12
  333. package/lib/cjs/tooltip/index.d.ts +2 -2
  334. package/lib/cjs/tooltip/index.js +24 -134
  335. package/lib/cjs/transfer/index.d.ts +5 -5
  336. package/lib/cjs/transfer/index.js +10 -93
  337. package/lib/cjs/tree/autoSizer.js +4 -24
  338. package/lib/cjs/tree/index.js +31 -122
  339. package/lib/cjs/tree/interface.d.ts +2 -2
  340. package/lib/cjs/tree/nodeCollapsible.js +4 -15
  341. package/lib/cjs/tree/nodeList.js +0 -22
  342. package/lib/cjs/tree/treeContext.js +0 -4
  343. package/lib/cjs/tree/treeNode.js +21 -94
  344. package/lib/cjs/tree/treeUtil.js +0 -6
  345. package/lib/cjs/treeSelect/index.d.ts +6 -6
  346. package/lib/cjs/treeSelect/index.js +46 -196
  347. package/lib/cjs/trigger/index.js +5 -16
  348. package/lib/cjs/typography/base.js +35 -130
  349. package/lib/cjs/typography/copyable.js +2 -30
  350. package/lib/cjs/typography/index.d.ts +1 -1
  351. package/lib/cjs/typography/index.js +0 -9
  352. package/lib/cjs/typography/interface.d.ts +9 -9
  353. package/lib/cjs/typography/numeral.d.ts +1 -1
  354. package/lib/cjs/typography/numeral.js +4 -20
  355. package/lib/cjs/typography/paragraph.d.ts +1 -1
  356. package/lib/cjs/typography/paragraph.js +0 -12
  357. package/lib/cjs/typography/text.d.ts +1 -1
  358. package/lib/cjs/typography/text.js +0 -10
  359. package/lib/cjs/typography/title.d.ts +2 -2
  360. package/lib/cjs/typography/title.js +6 -20
  361. package/lib/cjs/typography/typography.js +7 -23
  362. package/lib/cjs/typography/util.js +22 -50
  363. package/lib/cjs/upload/fileCard.js +2 -52
  364. package/lib/cjs/upload/index.js +1 -70
  365. package/lib/cjs/upload/interface.d.ts +5 -5
  366. package/lib/es/_base/base.d.ts +3 -3
  367. package/lib/es/_base/baseComponent.d.ts +1 -1
  368. package/lib/es/_base/baseComponent.js +4 -11
  369. package/lib/es/_base/reactUtils.js +4 -8
  370. package/lib/es/_cssAnimation/index.js +4 -22
  371. package/lib/es/_portal/index.js +0 -23
  372. package/lib/es/_utils/hooks/usePrevFocus.js +0 -2
  373. package/lib/es/_utils/index.js +6 -28
  374. package/lib/es/anchor/anchor-context.d.ts +1 -1
  375. package/lib/es/anchor/index.js +2 -32
  376. package/lib/es/anchor/link.js +4 -24
  377. package/lib/es/autoComplete/index.d.ts +1 -1
  378. package/lib/es/autoComplete/index.js +3 -25
  379. package/lib/es/autoComplete/option.js +26 -45
  380. package/lib/es/avatar/avatarGroup.js +9 -28
  381. package/lib/es/avatar/index.js +15 -41
  382. package/lib/es/avatar/interface.d.ts +6 -6
  383. package/lib/es/backtop/index.js +9 -22
  384. package/lib/es/badge/index.d.ts +3 -3
  385. package/lib/es/badge/index.js +16 -24
  386. package/lib/es/banner/index.d.ts +1 -1
  387. package/lib/es/banner/index.js +2 -15
  388. package/lib/es/breadcrumb/index.d.ts +1 -1
  389. package/lib/es/breadcrumb/index.js +0 -31
  390. package/lib/es/breadcrumb/item.d.ts +1 -1
  391. package/lib/es/breadcrumb/item.js +16 -38
  392. package/lib/es/button/Button.d.ts +4 -4
  393. package/lib/es/button/Button.js +18 -27
  394. package/lib/es/button/buttonGroup.d.ts +1 -1
  395. package/lib/es/button/buttonGroup.js +10 -24
  396. package/lib/es/button/index.js +0 -5
  397. package/lib/es/button/splitButtonGroup.js +0 -1
  398. package/lib/es/calendar/dayCalendar.js +0 -13
  399. package/lib/es/calendar/dayCol.js +0 -14
  400. package/lib/es/calendar/index.js +6 -12
  401. package/lib/es/calendar/interface.d.ts +5 -5
  402. package/lib/es/calendar/monthCalendar.js +6 -41
  403. package/lib/es/calendar/rangeCalendar.js +2 -18
  404. package/lib/es/calendar/timeCol.js +0 -7
  405. package/lib/es/calendar/weekCalendar.js +0 -17
  406. package/lib/es/card/cardGroup.d.ts +1 -1
  407. package/lib/es/card/cardGroup.js +8 -15
  408. package/lib/es/card/index.d.ts +1 -1
  409. package/lib/es/card/index.js +7 -23
  410. package/lib/es/card/meta.d.ts +1 -1
  411. package/lib/es/card/meta.js +8 -15
  412. package/lib/es/carousel/CarouselArrow.d.ts +2 -2
  413. package/lib/es/carousel/CarouselArrow.js +0 -8
  414. package/lib/es/carousel/CarouselIndicator.js +9 -27
  415. package/lib/es/carousel/index.js +0 -34
  416. package/lib/es/cascader/index.d.ts +2 -2
  417. package/lib/es/cascader/index.js +12 -105
  418. package/lib/es/cascader/item.js +2 -44
  419. package/lib/es/checkbox/checkbox.d.ts +1 -1
  420. package/lib/es/checkbox/checkbox.js +20 -42
  421. package/lib/es/checkbox/checkboxGroup.d.ts +4 -4
  422. package/lib/es/checkbox/checkboxGroup.js +8 -20
  423. package/lib/es/checkbox/checkboxInner.js +0 -6
  424. package/lib/es/checkbox/context.d.ts +1 -1
  425. package/lib/es/checkbox/index.js +0 -2
  426. package/lib/es/collapse/index.js +14 -31
  427. package/lib/es/collapse/item.js +13 -27
  428. package/lib/es/collapsible/index.js +0 -25
  429. package/lib/es/configProvider/index.js +5 -13
  430. package/lib/es/datePicker/dateInput.js +41 -81
  431. package/lib/es/datePicker/datePicker.d.ts +1 -1
  432. package/lib/es/datePicker/datePicker.js +10 -103
  433. package/lib/es/datePicker/index.js +2 -8
  434. package/lib/es/datePicker/insetInput.js +0 -6
  435. package/lib/es/datePicker/month.d.ts +1 -1
  436. package/lib/es/datePicker/month.js +24 -78
  437. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  438. package/lib/es/datePicker/monthsGrid.js +20 -76
  439. package/lib/es/datePicker/navigation.js +8 -13
  440. package/lib/es/datePicker/quickControl.js +0 -6
  441. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  442. package/lib/es/datePicker/yearAndMonth.js +5 -36
  443. package/lib/es/descriptions/descriptions-context.d.ts +1 -1
  444. package/lib/es/descriptions/index.d.ts +1 -1
  445. package/lib/es/descriptions/index.js +0 -3
  446. package/lib/es/descriptions/item.js +0 -3
  447. package/lib/es/divider/index.js +9 -17
  448. package/lib/es/dropdown/dropdownDivider.d.ts +1 -1
  449. package/lib/es/dropdown/dropdownDivider.js +0 -2
  450. package/lib/es/dropdown/dropdownItem.d.ts +1 -1
  451. package/lib/es/dropdown/dropdownItem.js +0 -11
  452. package/lib/es/dropdown/dropdownMenu.d.ts +1 -1
  453. package/lib/es/dropdown/dropdownMenu.js +6 -15
  454. package/lib/es/dropdown/dropdownTitle.d.ts +1 -1
  455. package/lib/es/dropdown/dropdownTitle.js +0 -3
  456. package/lib/es/dropdown/index.d.ts +1 -1
  457. package/lib/es/dropdown/index.js +21 -47
  458. package/lib/es/empty/index.js +0 -10
  459. package/lib/es/form/arrayField.js +14 -41
  460. package/lib/es/form/baseForm.js +26 -49
  461. package/lib/es/form/errorMessage.d.ts +1 -1
  462. package/lib/es/form/errorMessage.js +0 -9
  463. package/lib/es/form/field.js +4 -4
  464. package/lib/es/form/group.js +11 -29
  465. package/lib/es/form/hoc/withField.js +68 -125
  466. package/lib/es/form/hoc/withFormApi.js +0 -3
  467. package/lib/es/form/hoc/withFormState.js +0 -3
  468. package/lib/es/form/hooks/index.js +2 -2
  469. package/lib/es/form/hooks/useArrayFieldState.js +0 -2
  470. package/lib/es/form/hooks/useFieldApi.js +0 -3
  471. package/lib/es/form/hooks/useFieldState.js +0 -3
  472. package/lib/es/form/hooks/useFormState.js +0 -2
  473. package/lib/es/form/hooks/useStateWithGetter.js +2 -5
  474. package/lib/es/form/index.js +4 -4
  475. package/lib/es/form/interface.d.ts +4 -4
  476. package/lib/es/form/interface.js +0 -1
  477. package/lib/es/form/label.js +0 -1
  478. package/lib/es/form/section.js +0 -1
  479. package/lib/es/form/slot.js +10 -39
  480. package/lib/es/grid/col.js +10 -23
  481. package/lib/es/grid/row.d.ts +2 -2
  482. package/lib/es/grid/row.js +10 -25
  483. package/lib/es/highlight/index.js +0 -3
  484. package/lib/es/iconButton/index.d.ts +1 -1
  485. package/lib/es/iconButton/index.js +18 -31
  486. package/lib/es/image/image.d.ts +0 -3
  487. package/lib/es/image/image.js +19 -70
  488. package/lib/es/image/interface.d.ts +1 -1
  489. package/lib/es/image/preview.d.ts +4 -0
  490. package/lib/es/image/preview.js +51 -48
  491. package/lib/es/image/previewFooter.js +9 -34
  492. package/lib/es/image/previewHeader.js +0 -4
  493. package/lib/es/image/previewImage.js +46 -69
  494. package/lib/es/image/previewInner.js +69 -110
  495. package/lib/es/index.js +0 -1
  496. package/lib/es/input/index.d.ts +3 -3
  497. package/lib/es/input/index.js +35 -88
  498. package/lib/es/input/inputGroup.d.ts +1 -1
  499. package/lib/es/input/inputGroup.js +20 -33
  500. package/lib/es/input/textarea.d.ts +1 -1
  501. package/lib/es/input/textarea.js +34 -65
  502. package/lib/es/inputNumber/index.js +127 -181
  503. package/lib/es/layout/Sider.js +7 -23
  504. package/lib/es/layout/index.js +16 -31
  505. package/lib/es/list/index.js +0 -11
  506. package/lib/es/list/item.js +6 -18
  507. package/lib/es/locale/localeConsumer.d.ts +1 -1
  508. package/lib/es/locale/localeConsumer.js +0 -7
  509. package/lib/es/locale/localeProvider.js +0 -2
  510. package/lib/es/locale/source/ar.js +2 -2
  511. package/lib/es/locale/source/de.js +2 -2
  512. package/lib/es/locale/source/en_GB.js +2 -2
  513. package/lib/es/locale/source/en_US.js +2 -2
  514. package/lib/es/locale/source/es.js +0 -1
  515. package/lib/es/locale/source/fr.js +2 -2
  516. package/lib/es/locale/source/id_ID.js +2 -2
  517. package/lib/es/locale/source/it.js +2 -2
  518. package/lib/es/locale/source/ja_JP.js +2 -2
  519. package/lib/es/locale/source/ko_KR.js +2 -2
  520. package/lib/es/locale/source/ms_MY.js +2 -2
  521. package/lib/es/locale/source/nl_NL.js +0 -1
  522. package/lib/es/locale/source/pl_PL.js +0 -1
  523. package/lib/es/locale/source/pt_BR.js +2 -2
  524. package/lib/es/locale/source/ro.js +0 -1
  525. package/lib/es/locale/source/ru_RU.js +2 -2
  526. package/lib/es/locale/source/sv_SE.js +0 -1
  527. package/lib/es/locale/source/th_TH.js +2 -2
  528. package/lib/es/locale/source/tr_TR.js +2 -2
  529. package/lib/es/locale/source/vi_VN.js +2 -2
  530. package/lib/es/locale/source/zh_CN.js +2 -2
  531. package/lib/es/locale/source/zh_TW.js +2 -2
  532. package/lib/es/modal/ConfirmModal.js +9 -20
  533. package/lib/es/modal/Modal.d.ts +2 -2
  534. package/lib/es/modal/Modal.js +17 -63
  535. package/lib/es/modal/ModalContent.js +14 -54
  536. package/lib/es/modal/confirm.d.ts +9 -3
  537. package/lib/es/modal/confirm.js +4 -11
  538. package/lib/es/modal/index.d.ts +1 -1
  539. package/lib/es/modal/useModal/HookModal.js +6 -14
  540. package/lib/es/modal/useModal/index.d.ts +1 -1
  541. package/lib/es/modal/useModal/index.js +4 -9
  542. package/lib/es/navigation/CollapseButton.js +0 -4
  543. package/lib/es/navigation/Footer.js +0 -7
  544. package/lib/es/navigation/Header.d.ts +1 -1
  545. package/lib/es/navigation/Header.js +0 -5
  546. package/lib/es/navigation/Item.js +2 -35
  547. package/lib/es/navigation/SubNav.js +6 -45
  548. package/lib/es/navigation/index.d.ts +2 -2
  549. package/lib/es/navigation/index.js +5 -38
  550. package/lib/es/notification/index.d.ts +1 -1
  551. package/lib/es/notification/index.js +4 -39
  552. package/lib/es/notification/notice.js +24 -46
  553. package/lib/es/notification/useNotification/HookNotice.js +3 -11
  554. package/lib/es/notification/useNotification/index.js +6 -16
  555. package/lib/es/overflowList/index.d.ts +41 -24
  556. package/lib/es/overflowList/index.js +6 -46
  557. package/lib/es/overflowList/intersectionObserver.js +2 -13
  558. package/lib/es/pagination/index.d.ts +2 -2
  559. package/lib/es/pagination/index.js +7 -37
  560. package/lib/es/popconfirm/index.js +9 -37
  561. package/lib/es/popover/Arrow.js +6 -18
  562. package/lib/es/popover/index.js +11 -27
  563. package/lib/es/progress/index.js +8 -37
  564. package/lib/es/radio/context.d.ts +2 -2
  565. package/lib/es/radio/index.js +0 -2
  566. package/lib/es/radio/radio.d.ts +3 -3
  567. package/lib/es/radio/radio.js +0 -23
  568. package/lib/es/radio/radioGroup.d.ts +2 -2
  569. package/lib/es/radio/radioGroup.js +0 -14
  570. package/lib/es/radio/radioInner.d.ts +1 -1
  571. package/lib/es/radio/radioInner.js +0 -11
  572. package/lib/es/rating/index.js +4 -36
  573. package/lib/es/rating/item.d.ts +1 -1
  574. package/lib/es/rating/item.js +2 -16
  575. package/lib/es/resizeObserver/index.js +4 -19
  576. package/lib/es/scrollList/index.js +2 -5
  577. package/lib/es/scrollList/scrollItem.js +15 -104
  578. package/lib/es/select/index.d.ts +6 -6
  579. package/lib/es/select/index.js +27 -123
  580. package/lib/es/select/option.js +27 -46
  581. package/lib/es/select/optionGroup.js +0 -5
  582. package/lib/es/select/utils.js +8 -19
  583. package/lib/es/select/virtualRow.js +0 -1
  584. package/lib/es/sideSheet/SideSheetContent.js +2 -28
  585. package/lib/es/sideSheet/index.js +21 -52
  586. package/lib/es/skeleton/index.js +9 -18
  587. package/lib/es/skeleton/item.d.ts +2 -2
  588. package/lib/es/skeleton/item.js +8 -17
  589. package/lib/es/slider/index.js +6 -53
  590. package/lib/es/space/index.d.ts +3 -3
  591. package/lib/es/space/index.js +0 -6
  592. package/lib/es/space/utils.js +0 -2
  593. package/lib/es/spin/icon.js +4 -15
  594. package/lib/es/spin/index.d.ts +1 -1
  595. package/lib/es/spin/index.js +0 -10
  596. package/lib/es/steps/basicStep.d.ts +2 -2
  597. package/lib/es/steps/basicStep.js +0 -15
  598. package/lib/es/steps/basicSteps.d.ts +3 -3
  599. package/lib/es/steps/basicSteps.js +0 -6
  600. package/lib/es/steps/fillStep.d.ts +1 -1
  601. package/lib/es/steps/fillStep.js +0 -13
  602. package/lib/es/steps/fillSteps.d.ts +2 -2
  603. package/lib/es/steps/fillSteps.js +0 -6
  604. package/lib/es/steps/index.d.ts +1 -1
  605. package/lib/es/steps/index.js +4 -15
  606. package/lib/es/steps/navStep.js +0 -5
  607. package/lib/es/steps/navSteps.d.ts +1 -1
  608. package/lib/es/steps/navSteps.js +0 -3
  609. package/lib/es/steps/step.d.ts +1 -1
  610. package/lib/es/steps/step.js +0 -7
  611. package/lib/es/switch/index.js +0 -13
  612. package/lib/es/table/Body/BaseRow.d.ts +1 -1
  613. package/lib/es/table/Body/BaseRow.js +37 -85
  614. package/lib/es/table/Body/ExpandedRow.d.ts +1 -1
  615. package/lib/es/table/Body/ExpandedRow.js +5 -18
  616. package/lib/es/table/Body/SectionRow.js +8 -35
  617. package/lib/es/table/Body/index.js +38 -149
  618. package/lib/es/table/ColGroup.js +2 -7
  619. package/lib/es/table/Column.js +0 -2
  620. package/lib/es/table/ColumnFilter.js +3 -20
  621. package/lib/es/table/ColumnSelection.js +5 -15
  622. package/lib/es/table/ColumnSorter.js +0 -1
  623. package/lib/es/table/CustomExpandIcon.js +0 -6
  624. package/lib/es/table/HeadTable.js +0 -15
  625. package/lib/es/table/ResizableHeaderCell.d.ts +1 -1
  626. package/lib/es/table/ResizableHeaderCell.js +9 -17
  627. package/lib/es/table/ResizableTable.js +5 -37
  628. package/lib/es/table/Table.d.ts +2 -2
  629. package/lib/es/table/Table.js +457 -664
  630. package/lib/es/table/TableCell.js +19 -65
  631. package/lib/es/table/TableContextProvider.js +0 -2
  632. package/lib/es/table/TableHeader.js +4 -23
  633. package/lib/es/table/TableHeaderRow.js +8 -39
  634. package/lib/es/table/TablePagination.js +0 -4
  635. package/lib/es/table/getColumns.js +0 -4
  636. package/lib/es/table/index.js +2 -10
  637. package/lib/es/table/interface.d.ts +58 -58
  638. package/lib/es/table/table-context.js +0 -1
  639. package/lib/es/table/utils.js +6 -19
  640. package/lib/es/tabs/TabBar.js +13 -46
  641. package/lib/es/tabs/TabItem.js +18 -24
  642. package/lib/es/tabs/TabPane.js +10 -25
  643. package/lib/es/tabs/index.js +20 -59
  644. package/lib/es/tabs/interface.d.ts +3 -3
  645. package/lib/es/tag/group.js +0 -14
  646. package/lib/es/tag/index.js +23 -45
  647. package/lib/es/tag/interface.d.ts +5 -5
  648. package/lib/es/tagInput/index.d.ts +3 -3
  649. package/lib/es/tagInput/index.js +2 -54
  650. package/lib/es/timePicker/Combobox.d.ts +2 -2
  651. package/lib/es/timePicker/Combobox.js +6 -42
  652. package/lib/es/timePicker/TimeInput.d.ts +1 -1
  653. package/lib/es/timePicker/TimeInput.js +32 -56
  654. package/lib/es/timePicker/TimePicker.d.ts +3 -3
  655. package/lib/es/timePicker/TimePicker.js +39 -80
  656. package/lib/es/timePicker/TimeShape.js +0 -1
  657. package/lib/es/timePicker/index.d.ts +1 -1
  658. package/lib/es/timePicker/index.js +0 -1
  659. package/lib/es/timeline/index.js +0 -16
  660. package/lib/es/timeline/item.js +0 -1
  661. package/lib/es/toast/index.js +4 -41
  662. package/lib/es/toast/toast.js +0 -17
  663. package/lib/es/toast/useToast/HookToast.js +3 -11
  664. package/lib/es/toast/useToast/index.js +4 -13
  665. package/lib/es/tooltip/TriangleArrow.js +4 -10
  666. package/lib/es/tooltip/TriangleArrowVertical.js +4 -10
  667. package/lib/es/tooltip/index.d.ts +2 -2
  668. package/lib/es/tooltip/index.js +24 -112
  669. package/lib/es/transfer/index.d.ts +5 -5
  670. package/lib/es/transfer/index.js +10 -67
  671. package/lib/es/tree/autoSizer.js +4 -13
  672. package/lib/es/tree/index.js +30 -96
  673. package/lib/es/tree/interface.d.ts +2 -2
  674. package/lib/es/tree/nodeCollapsible.js +4 -10
  675. package/lib/es/tree/nodeList.js +0 -14
  676. package/lib/es/tree/treeNode.js +21 -76
  677. package/lib/es/tree/treeUtil.js +0 -1
  678. package/lib/es/treeSelect/index.d.ts +6 -6
  679. package/lib/es/treeSelect/index.js +46 -156
  680. package/lib/es/trigger/index.js +5 -13
  681. package/lib/es/typography/base.js +35 -113
  682. package/lib/es/typography/copyable.js +2 -14
  683. package/lib/es/typography/index.d.ts +1 -1
  684. package/lib/es/typography/interface.d.ts +9 -9
  685. package/lib/es/typography/numeral.d.ts +1 -1
  686. package/lib/es/typography/numeral.js +4 -10
  687. package/lib/es/typography/paragraph.d.ts +1 -1
  688. package/lib/es/typography/paragraph.js +0 -1
  689. package/lib/es/typography/text.d.ts +1 -1
  690. package/lib/es/typography/text.js +0 -1
  691. package/lib/es/typography/title.d.ts +2 -2
  692. package/lib/es/typography/title.js +6 -11
  693. package/lib/es/typography/typography.js +7 -14
  694. package/lib/es/typography/util.js +22 -45
  695. package/lib/es/upload/fileCard.js +2 -31
  696. package/lib/es/upload/index.js +0 -57
  697. package/lib/es/upload/interface.d.ts +5 -5
  698. package/package.json +8 -8
@@ -4,7 +4,7 @@ import { strings } from '@douyinfe/semi-foundation/lib/es/rating/constants';
4
4
  import '@douyinfe/semi-foundation/lib/es/rating/rating.css';
5
5
  import { RatingItemFoundation, RatingItemAdapter } from '@douyinfe/semi-foundation/lib/es/rating/foundation';
6
6
  import BaseComponent, { BaseProps } from '../_base/baseComponent';
7
- declare type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
7
+ type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
8
8
  export interface RatingItemProps extends BaseProps {
9
9
  value: number;
10
10
  index: number;
@@ -11,7 +11,6 @@ export default class Item extends BaseComponent {
11
11
  super(props);
12
12
  this.firstStar = null;
13
13
  this.secondStar = null;
14
-
15
14
  this.onHover = e => {
16
15
  const {
17
16
  onHover,
@@ -19,7 +18,6 @@ export default class Item extends BaseComponent {
19
18
  } = this.props;
20
19
  onHover(e, index);
21
20
  };
22
-
23
21
  this.onClick = e => {
24
22
  const {
25
23
  onClick,
@@ -27,7 +25,6 @@ export default class Item extends BaseComponent {
27
25
  } = this.props;
28
26
  onClick(e, index);
29
27
  };
30
-
31
28
  this.onFocus = (e, star) => {
32
29
  const {
33
30
  onFocus
@@ -35,7 +32,6 @@ export default class Item extends BaseComponent {
35
32
  onFocus && onFocus(e);
36
33
  this.foundation.handleFocusVisible(e, star);
37
34
  };
38
-
39
35
  this.onBlur = (e, star) => {
40
36
  const {
41
37
  onBlur
@@ -43,25 +39,21 @@ export default class Item extends BaseComponent {
43
39
  onBlur && onBlur(e);
44
40
  this.foundation.handleBlur(e, star);
45
41
  };
46
-
47
42
  this.onKeyDown = e => {
48
43
  const {
49
44
  onClick,
50
45
  index
51
46
  } = this.props;
52
-
53
47
  if (e.keyCode === 13) {
54
48
  onClick(e, index);
55
49
  }
56
50
  };
57
-
58
51
  this.starFocus = () => {
59
52
  const {
60
53
  value,
61
54
  index,
62
55
  preventScroll
63
56
  } = this.props;
64
-
65
57
  if (value - index === 0.5) {
66
58
  this.firstStar.focus({
67
59
  preventScroll
@@ -72,22 +64,18 @@ export default class Item extends BaseComponent {
72
64
  });
73
65
  }
74
66
  };
75
-
76
67
  this.saveFirstStar = node => {
77
68
  this.firstStar = node;
78
69
  };
79
-
80
70
  this.saveSecondStar = node => {
81
71
  this.secondStar = node;
82
72
  };
83
-
84
73
  this.state = {
85
74
  firstStarFocus: false,
86
75
  secondStarFocus: false
87
76
  };
88
77
  this.foundation = new RatingItemFoundation(this.adapter);
89
78
  }
90
-
91
79
  get adapter() {
92
80
  return Object.assign(Object.assign({}, super.adapter), {
93
81
  setFirstStarFocus: value => {
@@ -102,7 +90,6 @@ export default class Item extends BaseComponent {
102
90
  }
103
91
  });
104
92
  }
105
-
106
93
  render() {
107
94
  const {
108
95
  index,
@@ -121,8 +108,8 @@ export default class Item extends BaseComponent {
121
108
  secondStarFocus
122
109
  } = this.state;
123
110
  const starValue = index + 1;
124
- const diff = starValue - value; // const isHalf = allowHalf && value + 0.5 === starValue;
125
-
111
+ const diff = starValue - value;
112
+ // const isHalf = allowHalf && value + 0.5 === starValue;
126
113
  const isHalf = allowHalf && diff < 1 && diff > 0;
127
114
  const firstWidth = 1 - diff;
128
115
  const isFull = starValue <= value;
@@ -207,7 +194,6 @@ export default class Item extends BaseComponent {
207
194
  "x-semi-prop": "character"
208
195
  }), content)));
209
196
  }
210
-
211
197
  }
212
198
  Item.propTypes = {
213
199
  value: PropTypes.number,
@@ -6,7 +6,6 @@ import ResizeObserver from 'resize-observer-polyfill';
6
6
  export default class ReactResizeObserver extends BaseComponent {
7
7
  constructor(props) {
8
8
  super(props);
9
-
10
9
  this.getElement = () => {
11
10
  try {
12
11
  // using findDOMNode for two reasons:
@@ -19,28 +18,22 @@ export default class ReactResizeObserver extends BaseComponent {
19
18
  return null;
20
19
  }
21
20
  };
22
-
23
21
  this.mergeRef = (ref, node) => {
24
22
  this.childNode = node;
25
-
26
23
  if (typeof ref === 'function') {
27
24
  ref(node);
28
25
  } else if (typeof ref === 'object' && ref && 'current' in ref) {
29
26
  ref.current = node;
30
27
  }
31
28
  };
32
-
33
29
  this.observer = new ResizeObserver(props.onResize);
34
30
  }
35
-
36
31
  componentDidMount() {
37
32
  this.observeElement();
38
33
  }
39
-
40
34
  componentDidUpdate(prevProps) {
41
35
  this.observeElement(this.props.observeParent !== prevProps.observeParent);
42
36
  }
43
-
44
37
  componentWillUnmount() {
45
38
  if (this.observer) {
46
39
  this.observer.disconnect();
@@ -48,40 +41,33 @@ export default class ReactResizeObserver extends BaseComponent {
48
41
  this.element = null;
49
42
  }
50
43
  }
51
-
52
44
  observeElement() {
53
45
  let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
54
46
  const element = this.getElement();
55
-
56
47
  if (!this.observer) {
57
48
  this.observer = new ResizeObserver(this.props.onResize);
58
49
  }
59
-
60
50
  if (!(element && element instanceof Element)) {
61
51
  // stop everything if not defined
62
52
  this.observer.disconnect();
63
53
  return;
64
54
  }
65
-
66
55
  if (element === this.element && !force) {
67
56
  // abort if given same element -- nothing to update (unless forced)
68
57
  return;
69
58
  } else {
70
59
  // clear observer list if new element
71
- this.observer.disconnect(); // remember element reference for next time
72
-
60
+ this.observer.disconnect();
61
+ // remember element reference for next time
73
62
  this.element = element;
74
- } // observer callback is invoked immediately when observing new elements
75
-
76
-
63
+ }
64
+ // observer callback is invoked immediately when observing new elements
77
65
  this.observer.observe(element);
78
-
79
66
  if (this.props.observeParent && element.parentNode && element.parentNode.ownerDocument && element.parentNode.ownerDocument.defaultView && element.parentNode instanceof element.parentNode.ownerDocument.defaultView.HTMLElement) {
80
67
  this._parentNode = element.parentNode;
81
68
  this.observer.observe(this._parentNode);
82
69
  }
83
70
  }
84
-
85
71
  render() {
86
72
  const child = React.Children.only(this.props.children);
87
73
  const {
@@ -91,7 +77,6 @@ export default class ReactResizeObserver extends BaseComponent {
91
77
  ref: node => this.mergeRef(ref, node)
92
78
  });
93
79
  }
94
-
95
80
  }
96
81
  ReactResizeObserver.propTypes = {
97
82
  onResize: PropTypes.func,
@@ -5,14 +5,13 @@ import classnames from 'classnames';
5
5
  import propTypes from 'prop-types';
6
6
  import ScrollItem from './scrollItem';
7
7
  import Foundation from '@douyinfe/semi-foundation/lib/es/scrollList/foundation';
8
- import '@douyinfe/semi-foundation/lib/es/scrollList/scrollList.css'; // eslint-disable-next-line @typescript-eslint/ban-types
9
-
8
+ import '@douyinfe/semi-foundation/lib/es/scrollList/scrollList.css';
9
+ // eslint-disable-next-line @typescript-eslint/ban-types
10
10
  class ScrollList extends BaseComponent {
11
11
  constructor(props) {
12
12
  super(props);
13
13
  this.foundation = new Foundation(this.adapter);
14
14
  }
15
-
16
15
  render() {
17
16
  const {
18
17
  children,
@@ -50,9 +49,7 @@ class ScrollList extends BaseComponent {
50
49
  "x-semi-prop": this.props['x-semi-footer-alias'] || "footer"
51
50
  }, footer) : null);
52
51
  }
53
-
54
52
  }
55
-
56
53
  ScrollList.Item = ScrollItem;
57
54
  ScrollList.propTypes = {
58
55
  className: propTypes.string,
@@ -19,124 +19,88 @@ const wheelMode = 'wheel';
19
19
  export default class ScrollItem extends BaseComponent {
20
20
  constructor() {
21
21
  var _this;
22
-
23
22
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
23
  super(props);
25
24
  _this = this;
26
-
27
25
  this._cacheNode = (name, node) => name && node && Object.prototype.hasOwnProperty.call(this, name) && (this[name] = node);
28
-
29
26
  this._cacheSelectedNode = selectedNode => this._cacheNode('selectedNode', selectedNode);
30
-
31
27
  this._cacheWillSelectNode = node => this._cacheNode('willSelectNode', node);
32
-
33
28
  this._cacheListNode = list => this._cacheNode('list', list);
34
-
35
29
  this._cacheSelectorNode = selector => this._cacheNode('selector', selector);
36
-
37
30
  this._cacheWrapperNode = wrapper => this._cacheNode('wrapper', wrapper);
38
31
  /* istanbul ignore next */
39
-
40
-
41
32
  this._isFirst = node => {
42
33
  const {
43
34
  list
44
35
  } = this;
45
-
46
36
  if (isElement(node) && isElement(list)) {
47
37
  const chilren = list.children;
48
-
49
38
  const index = _findIndex(chilren, node);
50
-
51
39
  return index === 0;
52
40
  }
53
-
54
41
  return false;
55
42
  };
56
43
  /* istanbul ignore next */
57
-
58
-
59
44
  this._isLast = node => {
60
45
  const {
61
46
  list
62
47
  } = this;
63
-
64
48
  if (isElement(node) && isElement(list)) {
65
49
  const {
66
50
  children
67
51
  } = list;
68
-
69
52
  const index = _findIndex(children, node);
70
-
71
53
  return index === children.length - 1;
72
54
  }
73
-
74
55
  return false;
75
56
  };
76
-
77
57
  this.indexIsSame = (index1, index2) => {
78
58
  const {
79
59
  list
80
60
  } = this.props;
81
-
82
61
  if (list.length) {
83
62
  return index1 % list.length === index2 % list.length;
84
63
  }
85
-
86
64
  return undefined;
87
65
  };
88
-
89
66
  this.isDisabledIndex = index => {
90
67
  const {
91
68
  list
92
69
  } = this.props;
93
-
94
70
  if (Array.isArray(list) && list.length && index > -1) {
95
71
  const size = list.length;
96
72
  const indexInData = index % size;
97
73
  return this.isDisabledData(list[indexInData]);
98
74
  }
99
-
100
75
  return false;
101
76
  };
102
-
103
77
  this.isDisabledNode = node => {
104
78
  const listWrapper = this.list;
105
-
106
79
  if (isElement(node) && isElement(listWrapper)) {
107
80
  const index = _findIndex(listWrapper.children, child => child === node);
108
-
109
81
  return this.isDisabledIndex(index);
110
82
  }
111
-
112
83
  return false;
113
84
  };
114
-
115
85
  this.isDisabledData = data => data && typeof data === 'object' && data.disabled;
116
-
117
86
  this.isWheelMode = () => this.props.mode === wheelMode;
118
-
119
87
  this.addClassToNode = function (selectedNode) {
120
88
  let selectedCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cssClasses.SELECTED;
121
89
  const {
122
90
  list
123
91
  } = _this;
124
92
  selectedNode = selectedNode || _this.selectedNode;
125
-
126
93
  if (isElement(selectedNode) && isElement(list)) {
127
94
  const {
128
95
  children
129
96
  } = list;
130
97
  const reg = new RegExp(`\\s*${selectedCls}\\s*`, 'g');
131
-
132
98
  _map(children, node => {
133
99
  node.className = node.className && node.className.replace(reg, ' ');
134
-
135
100
  if (blankReg.test(node.className)) {
136
101
  node.className = '';
137
102
  }
138
103
  });
139
-
140
104
  if (selectedNode.className && !blankReg.test(selectedNode.className)) {
141
105
  selectedNode.className += ` ${selectedCls}`;
142
106
  } else {
@@ -144,28 +108,22 @@ export default class ScrollItem extends BaseComponent {
144
108
  }
145
109
  }
146
110
  };
147
-
148
111
  this.getIndexByNode = node => _findIndex(this.list.children, node);
149
-
150
112
  this.getNodeByIndex = index => {
151
113
  if (index > -1) {
152
114
  return _find(this.list.children, (node, idx) => idx === index);
153
115
  }
154
-
155
116
  const defaultSelectedNode = _find(this.list.children, child => !this.isDisabledNode(child));
156
-
157
117
  return defaultSelectedNode;
158
118
  };
159
-
160
119
  this.scrollToIndex = (selectedIndex, duration) => {
161
120
  // move to selected item
162
- duration = typeof duration === 'number' ? duration : numbers.DEFAULT_SCROLL_DURATION; // eslint-disable-next-line
163
-
164
- selectedIndex = selectedIndex == null ? this.props.selectedIndex : selectedIndex; // this.isWheelMode() && this.addClassToNode();
165
-
121
+ duration = typeof duration === 'number' ? duration : numbers.DEFAULT_SCROLL_DURATION;
122
+ // eslint-disable-next-line
123
+ selectedIndex = selectedIndex == null ? this.props.selectedIndex : selectedIndex;
124
+ // this.isWheelMode() && this.addClassToNode();
166
125
  this.scrollToNode(this.selectedNode, duration);
167
126
  };
168
-
169
127
  this.scrollToNode = (node, duration) => {
170
128
  const {
171
129
  wrapper
@@ -175,53 +133,43 @@ export default class ScrollItem extends BaseComponent {
175
133
  const targetTop = (node.offsetTop || this.list.children.length * itemHeight / 2) - (wrapperHeight - itemHeight) / 2;
176
134
  this.scrollToPos(targetTop, duration);
177
135
  };
178
-
179
136
  this.scrollToPos = function (targetTop) {
180
137
  let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : numbers.DEFAULT_SCROLL_DURATION;
181
138
  const {
182
139
  wrapper
183
- } = _this; // this.isWheelMode() && this.addClassToNode();
184
-
140
+ } = _this;
141
+ // this.isWheelMode() && this.addClassToNode();
185
142
  if (duration && _this.props.motion) {
186
143
  if (_this.scrollAnimation) {
187
144
  _this.scrollAnimation.destroy();
188
-
189
145
  _this.scrolling = false;
190
146
  }
191
-
192
147
  if (wrapper.scrollTop === targetTop) {
193
148
  if (_this.isWheelMode()) {
194
149
  const nodeInfo = _this.foundation.getNearestNodeInfo(_this.list, _this.selector);
195
-
196
150
  _this.addClassToNode(nodeInfo.nearestNode);
197
151
  }
198
152
  } else {
199
153
  _this.scrollAnimation = animatedScrollTo(wrapper, targetTop, duration);
200
-
201
154
  _this.scrollAnimation.on('rest', () => {
202
155
  if (_this.isWheelMode()) {
203
156
  const nodeInfo = _this.foundation.getNearestNodeInfo(_this.list, _this.selector);
204
-
205
157
  _this.addClassToNode(nodeInfo.nearestNode);
206
158
  }
207
159
  });
208
-
209
160
  _this.scrollAnimation.start();
210
161
  }
211
162
  } else {
212
163
  wrapper.scrollTop = targetTop;
213
164
  }
214
165
  };
215
-
216
166
  this.scrollToSelectItem = e => {
217
167
  const {
218
168
  nearestNode
219
169
  } = this.foundation.getNearestNodeInfo(this.list, this.selector);
220
-
221
170
  if (this.props.cycled) {
222
171
  this.throttledAdjustList(e, nearestNode);
223
172
  }
224
-
225
173
  this.debouncedSelect(e, nearestNode);
226
174
  };
227
175
  /**
@@ -232,12 +180,9 @@ export default class ScrollItem extends BaseComponent {
232
180
  * @param {HTMLElement} scrollWnumber
233
181
  * @param {number} duration
234
182
  */
235
-
236
-
237
183
  this.scrollToCenter = (selectedNode, scrollWrapper, duration) => {
238
184
  selectedNode = selectedNode || this.selectedNode;
239
185
  scrollWrapper = scrollWrapper || this.wrapper;
240
-
241
186
  if (isElement(selectedNode) && isElement(scrollWrapper)) {
242
187
  const scrollRect = scrollWrapper.getBoundingClientRect();
243
188
  const selectedRect = selectedNode.getBoundingClientRect();
@@ -245,7 +190,6 @@ export default class ScrollItem extends BaseComponent {
245
190
  this.scrollToPos(targetTop, typeof duration === 'number' ? duration : numbers.DEFAULT_SCROLL_DURATION);
246
191
  }
247
192
  };
248
-
249
193
  this.clickToSelectItem = e => {
250
194
  // const index = this.foundation.selectNearestIndex(e.nativeEvent, this.list);
251
195
  e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation();
@@ -253,14 +197,11 @@ export default class ScrollItem extends BaseComponent {
253
197
  targetNode: node,
254
198
  infoInList
255
199
  } = this.foundation.getTargetNode(e, this.list);
256
-
257
200
  if (node && infoInList && !infoInList.disabled) {
258
201
  this.debouncedSelect(null, node);
259
202
  }
260
203
  };
261
-
262
204
  this.getItmHeight = itm => itm && itm.offsetHeight || numbers.DEFAULT_ITEM_HEIGHT;
263
-
264
205
  this.renderItemList = function () {
265
206
  let prefixKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
266
207
  const {
@@ -280,7 +221,6 @@ export default class ScrollItem extends BaseComponent {
280
221
  [`${cssClasses.PREFIX}-item-disabled`]: Boolean(item.disabled)
281
222
  });
282
223
  let text = '';
283
-
284
224
  if (selected) {
285
225
  if (typeof transform === 'function') {
286
226
  text = transform(item.value, item.text);
@@ -292,13 +232,10 @@ export default class ScrollItem extends BaseComponent {
292
232
  // eslint-disable-next-line
293
233
  text = item.text == null ? item.value : item.text;
294
234
  }
295
-
296
235
  const events = {};
297
-
298
236
  if (!_this.isWheelMode() && !item.disabled) {
299
237
  events.onClick = () => _this.foundation.selectIndex(index, _this.list);
300
238
  }
301
-
302
239
  return (
303
240
  /*#__PURE__*/
304
241
  // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
@@ -313,7 +250,6 @@ export default class ScrollItem extends BaseComponent {
313
250
  );
314
251
  });
315
252
  };
316
-
317
253
  this.renderNormalList = () => {
318
254
  const {
319
255
  list,
@@ -336,8 +272,6 @@ export default class ScrollItem extends BaseComponent {
336
272
  /**
337
273
  * List of Rendering Unlimited Modes
338
274
  */
339
-
340
-
341
275
  this.renderInfiniteList = () => {
342
276
  const {
343
277
  list,
@@ -349,19 +283,16 @@ export default class ScrollItem extends BaseComponent {
349
283
  prependCount,
350
284
  appendCount
351
285
  } = this.state;
352
-
353
286
  const prependList = _times(prependCount).reduce((arr, num) => {
354
287
  const items = this.renderItemList(`pre_${num}_`);
355
288
  arr.unshift(...items);
356
289
  return arr;
357
290
  }, []);
358
-
359
291
  const appendList = _times(appendCount).reduce((arr, num) => {
360
292
  const items = this.renderItemList(`app_${num}_`);
361
293
  arr.push(...items);
362
294
  return arr;
363
295
  }, []);
364
-
365
296
  const inner = this.renderItemList();
366
297
  const listWrapperCls = classnames(`${cssClasses.PREFIX}-list-outer`, {
367
298
  [`${cssClasses.PREFIX}-list-outer-nocycle`]: !cycled
@@ -392,34 +323,31 @@ export default class ScrollItem extends BaseComponent {
392
323
  onClick: this.clickToSelectItem
393
324
  }, prependList, inner, appendList)));
394
325
  };
395
-
396
326
  this.state = {
397
327
  prependCount: 0,
398
- appendCount: 0 // selectedIndex: props.selectedIndex,
328
+ appendCount: 0
329
+ // selectedIndex: props.selectedIndex,
399
330
  // fakeSelectedIndex: props.selectedIndex,
400
-
401
331
  };
332
+
402
333
  this.selectedNode = null;
403
334
  this.willSelectNode = null;
404
335
  this.list = null;
405
336
  this.wrapper = null;
406
337
  this.selector = null;
407
- this.scrollAnimation = null; // cache if select action comes from outside
408
-
338
+ this.scrollAnimation = null;
339
+ // cache if select action comes from outside
409
340
  this.foundation = new ItemFoundation(this.adapter);
410
341
  this.throttledAdjustList = _throttle((e, nearestNode) => {
411
342
  this.foundation.adjustInfiniteList(this.list, this.wrapper, nearestNode);
412
343
  }, msPerFrame);
413
344
  this.debouncedSelect = _debounce((e, nearestNode) => {
414
345
  this._cacheSelectedNode(nearestNode);
415
-
416
346
  this.foundation.selectNode(nearestNode, this.list);
417
347
  }, msPerFrame * 2);
418
348
  }
419
-
420
349
  get adapter() {
421
350
  var _this2 = this;
422
-
423
351
  return Object.assign(Object.assign({}, super.adapter), {
424
352
  setState: (states, callback) => this.setState(Object.assign({}, states), callback),
425
353
  setPrependCount: prependCount => this.setState({
@@ -436,14 +364,12 @@ export default class ScrollItem extends BaseComponent {
436
364
  scrollToCenter: this.scrollToCenter
437
365
  });
438
366
  }
439
-
440
367
  componentWillUnmount() {
441
368
  if (this.props.cycled) {
442
369
  this.throttledAdjustList.cancel();
443
370
  this.debouncedSelect.cancel();
444
371
  }
445
372
  }
446
-
447
373
  componentDidMount() {
448
374
  this.foundation.init();
449
375
  const {
@@ -453,38 +379,31 @@ export default class ScrollItem extends BaseComponent {
453
379
  list
454
380
  } = this.props;
455
381
  const selectedNode = this.getNodeByIndex(typeof selectedIndex === 'number' && selectedIndex > -1 ? selectedIndex : 0);
456
-
457
382
  this._cacheSelectedNode(selectedNode);
458
-
459
383
  this._cacheWillSelectNode(selectedNode);
460
-
461
384
  if (mode === wheelMode && cycled) {
462
385
  this.foundation.initWheelList(this.list, this.wrapper, () => {
463
386
  // we have to scroll in next tick
464
387
  // setTimeout(() => {
465
- this.scrollToNode(selectedNode, 0); // });
388
+ this.scrollToNode(selectedNode, 0);
389
+ // });
466
390
  });
467
391
  } else {
468
392
  this.scrollToNode(selectedNode, 0);
469
393
  }
470
394
  }
471
-
472
395
  componentDidUpdate(prevProps) {
473
396
  const {
474
397
  selectedIndex
475
- } = this.props; // smooth scroll to selected option
476
-
398
+ } = this.props;
399
+ // smooth scroll to selected option
477
400
  if (prevProps.selectedIndex !== selectedIndex) {
478
401
  const willSelectIndex = this.getIndexByNode(this.willSelectNode);
479
-
480
402
  if (!this.indexIsSame(willSelectIndex, selectedIndex)) {
481
403
  const newSelectedNode = this.getNodeByOffset(this.selectedNode, selectedIndex - prevProps.selectedIndex, this.list);
482
-
483
404
  this._cacheWillSelectNode(newSelectedNode);
484
405
  }
485
-
486
406
  this._cacheSelectedNode(this.willSelectNode);
487
-
488
407
  this.scrollToIndex(selectedIndex);
489
408
  }
490
409
  }
@@ -496,34 +415,26 @@ export default class ScrollItem extends BaseComponent {
496
415
  *
497
416
  * @returns {HTMLElement}
498
417
  */
499
-
500
-
501
418
  getNodeByOffset(refNode, offset, listWrapper) {
502
419
  const {
503
420
  list
504
421
  } = this.props;
505
-
506
422
  if (isElement(refNode) && isElement(listWrapper) && typeof offset === 'number' && Array.isArray(list) && list.length) {
507
423
  offset = offset % list.length;
508
424
  const refIndex = this.getIndexByNode(refNode);
509
425
  let targetIndex = refIndex + offset;
510
-
511
426
  while (targetIndex < 0) {
512
427
  targetIndex += list.length;
513
428
  }
514
-
515
429
  if (offset) {
516
430
  return this.getNodeByIndex(targetIndex);
517
431
  }
518
432
  }
519
-
520
433
  return refNode;
521
434
  }
522
-
523
435
  render() {
524
436
  return this.isWheelMode() ? this.renderInfiniteList() : this.renderNormalList();
525
437
  }
526
-
527
438
  }
528
439
  ScrollItem.propTypes = {
529
440
  mode: PropTypes.oneOf(strings.MODE),