@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,98 +4,109 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
11
-
12
9
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/image/constants");
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _spin = _interopRequireDefault(require("../spin"));
17
-
18
12
  var _previewImageFoundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/image/previewImageFoundation"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  const prefixCls = _constants.cssClasses.PREFIX;
23
15
  const preViewImgPrefixCls = `${prefixCls}-preview-image`;
24
16
  let originImageWidth = null;
25
17
  let originImageHeight = null;
26
- let startMouseMove = false; // startMouseOffset:The offset of the mouse relative to the left and top of the picture
27
-
18
+ let startMouseMove = false;
19
+ // startMouseOffset:The offset of the mouse relative to the left and top of the picture
28
20
  let startMouseOffset = {
29
21
  x: 0,
30
22
  y: 0
31
23
  };
32
-
33
24
  class PreviewImage extends _baseComponent.default {
25
+ get adapter() {
26
+ return Object.assign(Object.assign({}, super.adapter), {
27
+ getOriginImageSize: () => ({
28
+ originImageWidth,
29
+ originImageHeight
30
+ }),
31
+ setOriginImageSize: size => {
32
+ originImageWidth = size.originImageWidth;
33
+ originImageHeight = size.originImageHeight;
34
+ },
35
+ getContainer: () => {
36
+ return this.containerRef.current;
37
+ },
38
+ getImage: () => {
39
+ return this.imageRef;
40
+ },
41
+ getMouseMove: () => startMouseMove,
42
+ setStartMouseMove: move => {
43
+ startMouseMove = move;
44
+ },
45
+ getMouseOffset: () => startMouseOffset,
46
+ setStartMouseOffset: offset => {
47
+ startMouseOffset = offset;
48
+ },
49
+ setLoading: loading => {
50
+ this.setState({
51
+ loading
52
+ });
53
+ },
54
+ setImageCursor: canDrag => {
55
+ this.imageRef.style.cursor = canDrag ? "grab" : "default";
56
+ }
57
+ });
58
+ }
34
59
  constructor(props) {
35
60
  super(props);
36
-
37
61
  this.onWindowResize = () => {
38
62
  this.foundation.handleWindowResize();
39
63
  };
40
-
41
64
  this.handleZoomChange = (newZoom, e) => {
42
65
  this.foundation.handleZoomChange(newZoom, e);
43
- }; // Determine the response method of right click according to the disableDownload parameter in props
44
-
45
-
66
+ };
67
+ // Determine the response method of right click according to the disableDownload parameter in props
46
68
  this.handleRightClickImage = e => {
47
69
  this.foundation.handleRightClickImage(e);
48
70
  };
49
-
50
71
  this.handleWheel = e => {
51
72
  this.foundation.handleWheel(e);
52
73
  };
53
-
54
74
  this.handleLoad = e => {
55
75
  this.foundation.handleLoad(e);
56
76
  };
57
-
58
77
  this.handleError = e => {
59
78
  this.foundation.handleError(e);
60
79
  };
61
-
62
80
  this.resizeImage = () => {
63
81
  this.foundation.handleResizeImage();
64
82
  };
65
-
66
83
  this.handleMoveImage = e => {
67
84
  this.foundation.handleMoveImage(e);
68
- }; // 为什么通过ref注册wheel而不是使用onWheel事件?
85
+ };
86
+ // 为什么通过ref注册wheel而不是使用onWheel事件?
69
87
  // 因为对于wheel事件,浏览器将 addEventListener 的 passive 默认值更改为 true。如此,事件监听器便不能取消事件,也不会在用户滚动页面时阻止页面呈现。
70
88
  // 这里我们需要保持页面不动,仅放大图片,因此此处需要将 passive 更改设置为 false。
71
89
  // Why register wheel via ref instead of using onWheel event?
72
90
  // Because for wheel events, the browser changes the passive default of addEventListener to true. This way, the event listener cannot cancel the event, nor prevent the page from rendering when the user scrolls.
73
91
  // Here we need to keep the page still and only zoom in on the image, so here we need to set the passive change to false.
74
92
  // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners。
75
-
76
-
77
93
  this.registryImageRef = ref => {
78
94
  if (this.imageRef) {
79
95
  this.imageRef.removeEventListener("wheel", this.handleWheel);
80
96
  }
81
-
82
97
  if (ref) {
83
98
  ref.addEventListener("wheel", this.handleWheel, {
84
99
  passive: false
85
100
  });
86
101
  }
87
-
88
102
  this.imageRef = ref;
89
103
  };
90
-
91
104
  this.onImageMouseDown = e => {
92
105
  this.foundation.handleImageMouseDown(e);
93
106
  };
94
-
95
107
  this.onImageMouseUp = () => {
96
108
  this.foundation.handleImageMouseUp();
97
109
  };
98
-
99
110
  this.state = {
100
111
  width: 0,
101
112
  height: 0,
@@ -112,63 +123,23 @@ class PreviewImage extends _baseComponent.default {
112
123
  this.imageRef = null;
113
124
  this.foundation = new _previewImageFoundation.default(this.adapter);
114
125
  }
115
-
116
- get adapter() {
117
- return Object.assign(Object.assign({}, super.adapter), {
118
- getOriginImageSize: () => ({
119
- originImageWidth,
120
- originImageHeight
121
- }),
122
- setOriginImageSize: size => {
123
- originImageWidth = size.originImageWidth;
124
- originImageHeight = size.originImageHeight;
125
- },
126
- getContainer: () => {
127
- return this.containerRef.current;
128
- },
129
- getImage: () => {
130
- return this.imageRef;
131
- },
132
- getMouseMove: () => startMouseMove,
133
- setStartMouseMove: move => {
134
- startMouseMove = move;
135
- },
136
- getMouseOffset: () => startMouseOffset,
137
- setStartMouseOffset: offset => {
138
- startMouseOffset = offset;
139
- },
140
- setLoading: loading => {
141
- this.setState({
142
- loading
143
- });
144
- },
145
- setImageCursor: canDrag => {
146
- this.imageRef.style.cursor = canDrag ? "grab" : "default";
147
- }
148
- });
149
- }
150
-
151
126
  componentDidMount() {
152
127
  window.addEventListener("resize", this.onWindowResize);
153
128
  }
154
-
155
129
  componentWillUnmount() {
156
130
  window.removeEventListener("resize", this.onWindowResize);
157
131
  }
158
-
159
132
  componentDidUpdate(prevProps, prevStates) {
160
133
  // If src changes, start a new loading
161
134
  if (this.props.src && this.props.src !== prevProps.src) {
162
135
  this.foundation.setLoading(true);
163
- } // If the incoming zoom changes, other content changes are determined based on the new zoom value
164
-
165
-
136
+ }
137
+ // If the incoming zoom changes, other content changes are determined based on the new zoom value
166
138
  if ("zoom" in this.props && this.props.zoom !== prevStates.currZoom) {
167
139
  this.handleZoomChange(this.props.zoom, null);
168
- } // When the incoming ratio is changed, if it"s adaptation, then resizeImage is triggered to make the image adapt to the page
140
+ }
141
+ // When the incoming ratio is changed, if it"s adaptation, then resizeImage is triggered to make the image adapt to the page
169
142
  // else if it"s adaptation is realSize, then onZoom(1) is called to make the image size the original size;
170
-
171
-
172
143
  if ("ratio" in this.props && this.props.ratio !== prevProps.ratio) {
173
144
  if (originImageWidth && originImageHeight) {
174
145
  if (this.props.ratio === "adaptation") {
@@ -177,14 +148,12 @@ class PreviewImage extends _baseComponent.default {
177
148
  this.props.onZoom(1);
178
149
  }
179
150
  }
180
- } // When the incoming rotation angle of the image changes, it needs to be resized to make the image fit on the page
181
-
182
-
151
+ }
152
+ // When the incoming rotation angle of the image changes, it needs to be resized to make the image fit on the page
183
153
  if ("rotation" in this.props && this.props.rotation !== prevProps.rotation) {
184
154
  this.onWindowResize();
185
155
  }
186
156
  }
187
-
188
157
  render() {
189
158
  const {
190
159
  src,
@@ -230,9 +199,7 @@ class PreviewImage extends _baseComponent.default {
230
199
  wrapperClassName: `${preViewImgPrefixCls}-spin`
231
200
  }));
232
201
  }
233
-
234
202
  }
235
-
236
203
  exports.default = PreviewImage;
237
204
  PreviewImage.propTypes = {
238
205
  src: _propTypes.default.string,
@@ -4,38 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
9
-
10
8
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
15
-
16
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
12
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/image/constants");
19
-
20
13
  var _classnames = _interopRequireDefault(require("classnames"));
21
-
22
14
  var _portal = _interopRequireDefault(require("../_portal"));
23
-
24
15
  var _semiIcons = require("@douyinfe/semi-icons");
25
-
26
16
  var _previewHeader = _interopRequireDefault(require("./previewHeader"));
27
-
28
17
  var _previewFooter = _interopRequireDefault(require("./previewFooter"));
29
-
30
18
  var _previewImage = _interopRequireDefault(require("./previewImage"));
31
-
32
19
  var _previewInnerFoundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/image/previewInnerFoundation"));
33
-
34
20
  var _previewContext = require("./previewContext");
35
-
36
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
22
  /* eslint-disable jsx-a11y/no-static-element-interactions */
23
+
39
24
  const prefixCls = _constants.cssClasses.PREFIX;
40
25
  let startMouseDown = {
41
26
  x: 0,
@@ -43,86 +28,9 @@ let startMouseDown = {
43
28
  };
44
29
  let mouseActiveTime = null;
45
30
  let stopTiming = false;
46
- let timer = null; // let bodyOverflowValue = document.body.style.overflow;
47
-
31
+ let timer = null;
32
+ // let bodyOverflowValue = document.body.style.overflow;
48
33
  class PreviewInner extends _baseComponent.default {
49
- constructor(props) {
50
- super(props);
51
-
52
- this.viewVisibleChange = () => {
53
- this.foundation.handleViewVisibleChange();
54
- };
55
-
56
- this.handleSwitchImage = direction => {
57
- this.foundation.handleSwitchImage(direction);
58
- };
59
-
60
- this.handleDownload = () => {
61
- this.foundation.handleDownload();
62
- };
63
-
64
- this.handlePreviewClose = () => {
65
- this.foundation.handlePreviewClose();
66
- };
67
-
68
- this.handleAdjustRatio = type => {
69
- this.foundation.handleAdjustRatio(type);
70
- };
71
-
72
- this.handleRotateImage = direction => {
73
- this.foundation.handleRotateImage(direction);
74
- };
75
-
76
- this.handleZoomImage = newZoom => {
77
- this.foundation.handleZoomImage(newZoom);
78
- };
79
-
80
- this.handleMouseUp = e => {
81
- this.foundation.handleMouseUp(e.nativeEvent);
82
- };
83
-
84
- this.handleMouseMove = e => {
85
- this.foundation.handleMouseMove(e);
86
- };
87
-
88
- this.handleMouseEvent = (e, event) => {
89
- this.foundation.handleMouseMoveEvent(e, event);
90
- };
91
-
92
- this.handleKeyDown = e => {
93
- this.foundation.handleKeyDown(e);
94
- };
95
-
96
- this.onImageError = () => {
97
- this.foundation.preloadSingleImage();
98
- };
99
-
100
- this.onImageLoad = src => {
101
- this.foundation.onImageLoad(src);
102
- };
103
-
104
- this.handleMouseDown = e => {
105
- this.foundation.handleMouseDown(e);
106
- };
107
-
108
- this.state = {
109
- imgSrc: [],
110
- imgLoadStatus: new Map(),
111
- zoom: 0.1,
112
- currentIndex: 0,
113
- ratio: "adaptation",
114
- rotation: 0,
115
- viewerVisible: true,
116
- visible: false,
117
- preloadAfterVisibleChange: true,
118
- direction: ""
119
- };
120
- this.foundation = new _previewInnerFoundation.default(this.adapter);
121
- this.bodyOverflow = '';
122
- this.originBodyWidth = '100%';
123
- this.scrollBarWidth = 0;
124
- }
125
-
126
34
  get adapter() {
127
35
  return Object.assign(Object.assign({}, super.adapter), {
128
36
  getIsInGroup: () => this.isInGroup(),
@@ -131,7 +39,6 @@ class PreviewInner extends _baseComponent.default {
131
39
  getPopupContainer
132
40
  } = this.props;
133
41
  this.bodyOverflow = document.body.style.overflow || '';
134
-
135
42
  if (!getPopupContainer && this.bodyOverflow !== 'hidden') {
136
43
  document.body.style.overflow = 'hidden';
137
44
  document.body.style.width = `calc(${this.originBodyWidth || '100%'} - ${this.scrollBarWidth}px)`;
@@ -141,7 +48,6 @@ class PreviewInner extends _baseComponent.default {
141
48
  const {
142
49
  getPopupContainer
143
50
  } = this.props;
144
-
145
51
  if (!getPopupContainer && this.bodyOverflow !== 'hidden') {
146
52
  document.body.style.overflow = this.bodyOverflow;
147
53
  document.body.style.width = this.originBodyWidth;
@@ -154,7 +60,6 @@ class PreviewInner extends _baseComponent.default {
154
60
  onNext
155
61
  } = this.props;
156
62
  (0, _isFunction2.default)(onChange) && onChange(index);
157
-
158
63
  if (direction === "prev") {
159
64
  onPrev && onPrev(index);
160
65
  } else {
@@ -166,7 +71,6 @@ class PreviewInner extends _baseComponent.default {
166
71
  onZoomIn,
167
72
  onZoomOut
168
73
  } = this.props;
169
-
170
74
  if (increase) {
171
75
  (0, _isFunction2.default)(onZoomIn) && onZoomIn(zoom);
172
76
  } else {
@@ -232,81 +136,125 @@ class PreviewInner extends _baseComponent.default {
232
136
  }
233
137
  });
234
138
  }
235
-
139
+ constructor(props) {
140
+ super(props);
141
+ this.viewVisibleChange = () => {
142
+ this.foundation.handleViewVisibleChange();
143
+ };
144
+ this.handleSwitchImage = direction => {
145
+ this.foundation.handleSwitchImage(direction);
146
+ };
147
+ this.handleDownload = () => {
148
+ this.foundation.handleDownload();
149
+ };
150
+ this.handlePreviewClose = () => {
151
+ this.foundation.handlePreviewClose();
152
+ };
153
+ this.handleAdjustRatio = type => {
154
+ this.foundation.handleAdjustRatio(type);
155
+ };
156
+ this.handleRotateImage = direction => {
157
+ this.foundation.handleRotateImage(direction);
158
+ };
159
+ this.handleZoomImage = newZoom => {
160
+ this.foundation.handleZoomImage(newZoom);
161
+ };
162
+ this.handleMouseUp = e => {
163
+ this.foundation.handleMouseUp(e.nativeEvent);
164
+ };
165
+ this.handleMouseMove = e => {
166
+ this.foundation.handleMouseMove(e);
167
+ };
168
+ this.handleMouseEvent = (e, event) => {
169
+ this.foundation.handleMouseMoveEvent(e, event);
170
+ };
171
+ this.handleKeyDown = e => {
172
+ this.foundation.handleKeyDown(e);
173
+ };
174
+ this.onImageError = () => {
175
+ this.foundation.preloadSingleImage();
176
+ };
177
+ this.onImageLoad = src => {
178
+ this.foundation.onImageLoad(src);
179
+ };
180
+ this.handleMouseDown = e => {
181
+ this.foundation.handleMouseDown(e);
182
+ };
183
+ this.state = {
184
+ imgSrc: [],
185
+ imgLoadStatus: new Map(),
186
+ zoom: 0.1,
187
+ currentIndex: 0,
188
+ ratio: "adaptation",
189
+ rotation: 0,
190
+ viewerVisible: true,
191
+ visible: false,
192
+ preloadAfterVisibleChange: true,
193
+ direction: ""
194
+ };
195
+ this.foundation = new _previewInnerFoundation.default(this.adapter);
196
+ this.bodyOverflow = '';
197
+ this.originBodyWidth = '100%';
198
+ this.scrollBarWidth = 0;
199
+ }
236
200
  static getDerivedStateFromProps(props, state) {
237
201
  const willUpdateStates = {};
238
202
  let src = [];
239
-
240
203
  if (props.visible) {
241
204
  // if src in props
242
205
  src = Array.isArray(props.src) ? props.src : [props.src];
243
206
  }
244
-
245
207
  if (!(0, _isEqual2.default)(src, state.imgSrc)) {
246
208
  willUpdateStates.imgSrc = src;
247
209
  }
248
-
249
210
  if (props.visible !== state.visible) {
250
211
  willUpdateStates.visible = props.visible;
251
-
252
212
  if (props.visible) {
253
213
  willUpdateStates.preloadAfterVisibleChange = true;
254
214
  }
255
215
  }
256
-
257
216
  if ("currentIndex" in props && props.currentIndex !== state.currentIndex) {
258
- willUpdateStates.currentIndex = props.currentIndex; // ratio will set to adaptation when change picture,
217
+ willUpdateStates.currentIndex = props.currentIndex;
218
+ // ratio will set to adaptation when change picture,
259
219
  // attention: If the ratio is controlled, the ratio should not change as the index changes
260
-
261
220
  willUpdateStates.ratio = 'adaptation';
262
221
  }
263
-
264
222
  return willUpdateStates;
265
223
  }
266
-
267
224
  static getScrollbarWidth() {
268
225
  if (globalThis && Object.prototype.toString.call(globalThis) === '[object Window]') {
269
226
  return window.innerWidth - document.documentElement.clientWidth;
270
227
  }
271
-
272
228
  return 0;
273
229
  }
274
-
275
230
  componentDidMount() {
276
231
  this.scrollBarWidth = PreviewInner.getScrollbarWidth();
277
232
  this.originBodyWidth = document.body.style.width;
278
-
279
233
  if (this.props.visible) {
280
234
  this.foundation.beforeShow();
281
235
  }
282
236
  }
283
-
284
237
  componentDidUpdate(prevProps, prevState) {
285
238
  if (prevState.visible !== this.props.visible && this.props.visible) {
286
239
  mouseActiveTime = new Date().getTime();
287
240
  timer && clearInterval(timer);
288
241
  timer = setInterval(this.viewVisibleChange, 1000);
289
- } // hide => show
290
-
291
-
242
+ }
243
+ // hide => show
292
244
  if (!prevProps.visible && this.props.visible) {
293
245
  this.foundation.beforeShow();
294
- } // show => hide
295
-
296
-
246
+ }
247
+ // show => hide
297
248
  if (prevProps.visible && !this.props.visible) {
298
249
  this.foundation.afterHide();
299
250
  }
300
251
  }
301
-
302
252
  componentWillUnmount() {
303
253
  timer && clearInterval(timer);
304
254
  }
305
-
306
255
  isInGroup() {
307
256
  return Boolean(this.context && this.context.isGroup);
308
257
  }
309
-
310
258
  render() {
311
259
  const {
312
260
  getPopupContainer,
@@ -341,14 +289,12 @@ class PreviewInner extends _baseComponent.default {
341
289
  let wrapperStyle = {
342
290
  zIndex
343
291
  };
344
-
345
292
  if (getPopupContainer) {
346
293
  wrapperStyle = {
347
294
  zIndex,
348
295
  position: "static"
349
296
  };
350
297
  }
351
-
352
298
  const previewPrefixCls = `${prefixCls}-preview`;
353
299
  const previewWrapperCls = (0, _classnames.default)(previewPrefixCls, {
354
300
  [`${prefixCls}-hide`]: !visible,
@@ -433,9 +379,7 @@ class PreviewInner extends _baseComponent.default {
433
379
  renderPreviewMenu: renderPreviewMenu
434
380
  })));
435
381
  }
436
-
437
382
  }
438
-
439
383
  exports.default = PreviewInner;
440
384
  PreviewInner.contextType = _previewContext.PreviewContext;
441
385
  PreviewInner.propTypes = {