@arco-design/mobile-react 2.24.2 → 2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (823) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.js +42 -120
  5. package/cjs/_helpers/index.js +2 -13
  6. package/cjs/_helpers/react-dom.js +0 -12
  7. package/cjs/_helpers/render.js +0 -12
  8. package/cjs/action-sheet/index.js +10 -30
  9. package/cjs/action-sheet/methods.js +0 -2
  10. package/cjs/action-sheet/style/css/index.css +1 -1
  11. package/cjs/action-sheet/style/css/index.js +0 -2
  12. package/cjs/action-sheet/style/index.js +0 -2
  13. package/cjs/avatar/group.js +12 -24
  14. package/cjs/avatar/index.js +51 -77
  15. package/cjs/avatar/style/css/index.js +0 -2
  16. package/cjs/avatar/style/index.js +0 -2
  17. package/cjs/badge/index.js +18 -29
  18. package/cjs/badge/style/css/index.css +3 -2
  19. package/cjs/badge/style/css/index.js +0 -1
  20. package/cjs/badge/style/index.js +0 -1
  21. package/cjs/button/hooks.js +15 -20
  22. package/cjs/button/index.js +46 -67
  23. package/cjs/button/style/css/index.js +0 -2
  24. package/cjs/button/style/index.js +0 -2
  25. package/cjs/carousel/demo/style/css/mobile.css +12 -0
  26. package/cjs/carousel/demo/style/mobile.less +8 -0
  27. package/cjs/carousel/index.d.ts +1 -1
  28. package/cjs/carousel/index.js +159 -275
  29. package/cjs/carousel/style/css/index.js +0 -1
  30. package/cjs/carousel/style/index.js +0 -1
  31. package/cjs/cell/arrow.js +0 -3
  32. package/cjs/cell/cell.js +14 -23
  33. package/cjs/cell/group.js +9 -21
  34. package/cjs/cell/index.js +1 -7
  35. package/cjs/cell/style/css/index.js +0 -1
  36. package/cjs/cell/style/index.js +0 -1
  37. package/cjs/checkbox/checkbox.js +31 -57
  38. package/cjs/checkbox/group.js +24 -38
  39. package/cjs/checkbox/hooks/index.js +0 -2
  40. package/cjs/checkbox/hooks/useMergeProps.js +7 -14
  41. package/cjs/checkbox/index.d.ts +6 -1
  42. package/cjs/checkbox/index.js +6 -11
  43. package/cjs/checkbox/style/css/index.js +0 -1
  44. package/cjs/checkbox/style/index.js +0 -1
  45. package/cjs/checkbox/type.js +0 -2
  46. package/cjs/circle-progress/index.js +37 -57
  47. package/cjs/circle-progress/style/css/index.js +0 -1
  48. package/cjs/circle-progress/style/index.js +0 -1
  49. package/cjs/collapse/collapse.js +27 -56
  50. package/cjs/collapse/group.js +20 -44
  51. package/cjs/collapse/index.js +0 -9
  52. package/cjs/collapse/style/css/index.js +0 -1
  53. package/cjs/collapse/style/index.js +0 -1
  54. package/cjs/collapse/utils.js +0 -7
  55. package/cjs/context-provider/index.js +10 -28
  56. package/cjs/context-provider/style/css/index.js +0 -1
  57. package/cjs/context-provider/style/index.js +0 -1
  58. package/cjs/count-down/hooks.js +24 -43
  59. package/cjs/count-down/index.js +29 -37
  60. package/cjs/count-down/singleton.js +2 -12
  61. package/cjs/count-down/style/css/index.js +0 -1
  62. package/cjs/count-down/style/index.js +0 -1
  63. package/cjs/count-down/util.js +33 -47
  64. package/cjs/date-picker/helper.js +7 -14
  65. package/cjs/date-picker/index.d.ts +5 -2
  66. package/cjs/date-picker/index.js +52 -114
  67. package/cjs/date-picker/style/css/index.js +0 -2
  68. package/cjs/date-picker/style/index.js +0 -2
  69. package/cjs/dialog/index.js +28 -54
  70. package/cjs/dialog/methods.js +9 -22
  71. package/cjs/dialog/style/css/index.css +2 -1
  72. package/cjs/dialog/style/css/index.js +0 -2
  73. package/cjs/dialog/style/index.js +0 -2
  74. package/cjs/dropdown/dropdown.js +74 -113
  75. package/cjs/dropdown/index.js +1 -8
  76. package/cjs/dropdown/options.js +12 -28
  77. package/cjs/dropdown/style/css/index.js +0 -1
  78. package/cjs/dropdown/style/index.js +0 -1
  79. package/cjs/dropdown-menu/dropdown-menu.js +49 -84
  80. package/cjs/dropdown-menu/helper.js +6 -27
  81. package/cjs/dropdown-menu/index.js +0 -6
  82. package/cjs/dropdown-menu/style/css/index.js +0 -2
  83. package/cjs/dropdown-menu/style/index.js +0 -2
  84. package/cjs/ellipsis/components/js-ellipsis.js +33 -72
  85. package/cjs/ellipsis/components/native-ellipsis.js +9 -15
  86. package/cjs/ellipsis/index.js +19 -32
  87. package/cjs/ellipsis/style/css/index.js +0 -1
  88. package/cjs/ellipsis/style/index.js +0 -1
  89. package/cjs/ellipsis/utils/dom.js +0 -8
  90. package/cjs/ellipsis/utils/is.js +1 -5
  91. package/cjs/form/form-item-context.d.ts +3 -0
  92. package/cjs/form/form-item-context.js +12 -0
  93. package/cjs/form/form-item.d.ts +4 -0
  94. package/cjs/form/form-item.js +313 -0
  95. package/cjs/form/index.d.ts +16 -0
  96. package/cjs/form/index.js +96 -0
  97. package/cjs/form/style/css/index.css +92 -0
  98. package/cjs/form/style/css/index.d.ts +2 -0
  99. package/cjs/form/style/css/index.js +4 -0
  100. package/cjs/form/style/index.d.ts +2 -0
  101. package/cjs/form/style/index.js +4 -0
  102. package/cjs/form/style/index.less +91 -0
  103. package/cjs/form/type.d.ts +371 -0
  104. package/cjs/form/type.js +30 -0
  105. package/cjs/form/useForm.d.ts +18 -0
  106. package/cjs/form/useForm.js +225 -0
  107. package/cjs/form/utils.d.ts +6 -0
  108. package/cjs/form/utils.js +36 -0
  109. package/cjs/grid/index.js +21 -41
  110. package/cjs/grid/style/css/index.js +0 -1
  111. package/cjs/grid/style/index.js +0 -1
  112. package/cjs/icon/IconAdd/index.js +5 -12
  113. package/cjs/icon/IconArrowBack/index.js +5 -12
  114. package/cjs/icon/IconArrowDown/index.js +5 -12
  115. package/cjs/icon/IconArrowIn/index.js +5 -12
  116. package/cjs/icon/IconArrowUp/index.js +5 -12
  117. package/cjs/icon/IconCheck/index.js +5 -12
  118. package/cjs/icon/IconCheckBold/index.js +5 -12
  119. package/cjs/icon/IconCircleChecked/index.js +5 -12
  120. package/cjs/icon/IconCircleDisabled/index.js +5 -12
  121. package/cjs/icon/IconCircleUnchecked/index.js +5 -12
  122. package/cjs/icon/IconClear/index.js +5 -12
  123. package/cjs/icon/IconClose/index.js +5 -12
  124. package/cjs/icon/IconCloseBold/index.js +5 -12
  125. package/cjs/icon/IconDelete/index.js +5 -12
  126. package/cjs/icon/IconEdit/index.js +5 -12
  127. package/cjs/icon/IconErrorCircle/index.js +5 -12
  128. package/cjs/icon/IconEyeInvisible/index.js +5 -12
  129. package/cjs/icon/IconEyeVisible/index.js +5 -12
  130. package/cjs/icon/IconEyelashInvisible/index.js +5 -12
  131. package/cjs/icon/IconGift/index.js +5 -12
  132. package/cjs/icon/IconHeart/index.js +5 -12
  133. package/cjs/icon/IconHome/index.js +5 -12
  134. package/cjs/icon/IconLikeCircle/index.js +5 -12
  135. package/cjs/icon/IconMinus/index.js +5 -12
  136. package/cjs/icon/IconMore/index.js +5 -12
  137. package/cjs/icon/IconNotice/index.js +5 -12
  138. package/cjs/icon/IconNoticeOff/index.js +5 -12
  139. package/cjs/icon/IconPicture/index.js +5 -12
  140. package/cjs/icon/IconPlay/index.js +5 -12
  141. package/cjs/icon/IconQuestionCircle/index.js +5 -12
  142. package/cjs/icon/IconRefresh/index.js +5 -12
  143. package/cjs/icon/IconSad/index.js +5 -12
  144. package/cjs/icon/IconScan/index.js +5 -12
  145. package/cjs/icon/IconSearch/index.js +5 -12
  146. package/cjs/icon/IconSetting/index.js +5 -12
  147. package/cjs/icon/IconShop/index.js +5 -12
  148. package/cjs/icon/IconShopping/index.js +5 -12
  149. package/cjs/icon/IconSmileFill/index.js +5 -12
  150. package/cjs/icon/IconSound/index.js +5 -12
  151. package/cjs/icon/IconSquareChecked/index.js +5 -12
  152. package/cjs/icon/IconSquareDisabled/index.js +5 -12
  153. package/cjs/icon/IconSquareUnchecked/index.js +5 -12
  154. package/cjs/icon/IconStar/index.js +5 -12
  155. package/cjs/icon/IconStarFill/index.js +5 -12
  156. package/cjs/icon/IconStarHalf/index.js +5 -12
  157. package/cjs/icon/IconSubway/index.js +5 -12
  158. package/cjs/icon/IconSuccessCircle/index.js +5 -12
  159. package/cjs/icon/IconTriDown/index.js +5 -12
  160. package/cjs/icon/IconTriUp/index.js +5 -12
  161. package/cjs/icon/IconUpload/index.js +5 -12
  162. package/cjs/icon/IconUser/index.js +5 -12
  163. package/cjs/icon/IconUserFill/index.js +5 -12
  164. package/cjs/icon/IconWarnCircle/index.js +5 -12
  165. package/cjs/icon/IconWarnCircleFill/index.js +5 -12
  166. package/cjs/icon/index.js +0 -111
  167. package/cjs/image/index.js +53 -92
  168. package/cjs/image/style/css/index.js +0 -2
  169. package/cjs/image/style/index.js +0 -2
  170. package/cjs/image-picker/add-icon.js +0 -3
  171. package/cjs/image-picker/index.d.ts +5 -2
  172. package/cjs/image-picker/index.js +62 -103
  173. package/cjs/image-picker/style/css/index.js +0 -2
  174. package/cjs/image-picker/style/index.js +0 -2
  175. package/cjs/image-preview/demo/style/css/mobile.css +10 -0
  176. package/cjs/image-preview/demo/style/mobile.less +11 -0
  177. package/cjs/image-preview/index.d.ts +5 -0
  178. package/cjs/image-preview/index.js +124 -239
  179. package/cjs/image-preview/methods.js +5 -18
  180. package/cjs/image-preview/style/css/index.css +1 -0
  181. package/cjs/image-preview/style/css/index.js +0 -4
  182. package/cjs/image-preview/style/index.js +0 -4
  183. package/cjs/image-preview/style/index.less +1 -1
  184. package/cjs/index.d.ts +7 -6
  185. package/cjs/index.js +15 -120
  186. package/cjs/input/hooks.js +42 -75
  187. package/cjs/input/index.d.ts +5 -2
  188. package/cjs/input/index.js +36 -47
  189. package/cjs/input/style/css/index.css +1 -1
  190. package/cjs/input/style/css/index.js +0 -1
  191. package/cjs/input/style/index.js +0 -1
  192. package/cjs/load-more/index.js +29 -56
  193. package/cjs/load-more/style/css/index.js +0 -1
  194. package/cjs/load-more/style/index.js +0 -1
  195. package/cjs/loading/index.js +19 -48
  196. package/cjs/loading/style/css/index.js +0 -1
  197. package/cjs/loading/style/index.js +0 -1
  198. package/cjs/masking/index.js +46 -79
  199. package/cjs/masking/methods.js +4 -19
  200. package/cjs/masking/style/css/index.js +0 -2
  201. package/cjs/masking/style/index.js +0 -2
  202. package/cjs/nav-bar/back-icon.js +1 -5
  203. package/cjs/nav-bar/index.js +36 -60
  204. package/cjs/nav-bar/style/css/index.js +0 -1
  205. package/cjs/nav-bar/style/index.js +0 -1
  206. package/cjs/notice-bar/index.js +31 -54
  207. package/cjs/notice-bar/style/css/index.js +0 -1
  208. package/cjs/notice-bar/style/index.js +0 -1
  209. package/cjs/notify/index.d.ts +8 -8
  210. package/cjs/notify/index.js +20 -49
  211. package/cjs/notify/methods.js +2 -17
  212. package/cjs/notify/style/css/index.css +2 -2
  213. package/cjs/notify/style/css/index.js +0 -1
  214. package/cjs/notify/style/index.js +0 -1
  215. package/cjs/pagination/arrow.js +0 -3
  216. package/cjs/pagination/index.js +27 -58
  217. package/cjs/pagination/style/css/index.js +0 -1
  218. package/cjs/pagination/style/index.js +0 -1
  219. package/cjs/picker/index.d.ts +5 -2
  220. package/cjs/picker/index.js +50 -89
  221. package/cjs/picker/style/css/index.js +0 -3
  222. package/cjs/picker/style/index.js +0 -3
  223. package/cjs/picker-view/components/cascader.js +14 -31
  224. package/cjs/picker-view/components/multi-picker.js +6 -20
  225. package/cjs/picker-view/components/picker-cell.js +45 -97
  226. package/cjs/picker-view/index.d.ts +5 -2
  227. package/cjs/picker-view/index.js +36 -77
  228. package/cjs/picker-view/style/css/index.js +0 -1
  229. package/cjs/picker-view/style/index.js +0 -1
  230. package/cjs/popover/hooks/index.js +0 -4
  231. package/cjs/popover/hooks/useEvent.js +25 -49
  232. package/cjs/popover/hooks/usePosition.js +94 -151
  233. package/cjs/popover/index.js +1 -8
  234. package/cjs/popover/menu.js +32 -51
  235. package/cjs/popover/popover-inner.js +30 -47
  236. package/cjs/popover/popover.js +69 -101
  237. package/cjs/popover/style/css/index.js +0 -2
  238. package/cjs/popover/style/index.js +0 -2
  239. package/cjs/popup/index.js +22 -39
  240. package/cjs/popup/methods.js +0 -2
  241. package/cjs/popup/style/css/index.js +0 -2
  242. package/cjs/popup/style/index.js +0 -2
  243. package/cjs/popup-swiper/index.js +38 -80
  244. package/cjs/popup-swiper/methods.js +0 -2
  245. package/cjs/popup-swiper/style/css/index.js +0 -2
  246. package/cjs/popup-swiper/style/index.js +0 -2
  247. package/cjs/portal/index.js +3 -8
  248. package/cjs/portal/style/css/index.js +0 -1
  249. package/cjs/portal/style/index.js +0 -1
  250. package/cjs/progress/index.js +27 -44
  251. package/cjs/progress/style/css/index.js +0 -1
  252. package/cjs/progress/style/index.js +0 -1
  253. package/cjs/pull-refresh/android-pull-refresh.js +58 -100
  254. package/cjs/pull-refresh/hooks.js +11 -32
  255. package/cjs/pull-refresh/index.d.ts +9 -3
  256. package/cjs/pull-refresh/index.js +5 -15
  257. package/cjs/pull-refresh/ios-pull-refresh.js +53 -80
  258. package/cjs/pull-refresh/model.js +0 -1
  259. package/cjs/pull-refresh/style/css/index.js +0 -2
  260. package/cjs/pull-refresh/style/index.js +0 -2
  261. package/cjs/radio/group.js +20 -34
  262. package/cjs/radio/index.d.ts +6 -1
  263. package/cjs/radio/index.js +5 -10
  264. package/cjs/radio/radio.js +0 -10
  265. package/cjs/radio/style/css/index.js +0 -1
  266. package/cjs/radio/style/index.js +0 -1
  267. package/cjs/rate/index.d.ts +5 -2
  268. package/cjs/rate/index.js +34 -57
  269. package/cjs/rate/style/css/index.js +0 -1
  270. package/cjs/rate/style/index.js +0 -1
  271. package/cjs/search-bar/association.js +14 -32
  272. package/cjs/search-bar/cancel-button.js +8 -16
  273. package/cjs/search-bar/highlight.js +14 -25
  274. package/cjs/search-bar/index.js +77 -97
  275. package/cjs/search-bar/style/css/index.js +0 -1
  276. package/cjs/search-bar/style/index.js +0 -1
  277. package/cjs/show-monitor/index.js +34 -93
  278. package/cjs/show-monitor/style/css/index.js +0 -1
  279. package/cjs/show-monitor/style/index.js +0 -1
  280. package/cjs/slider/hooks/index.js +0 -13
  281. package/cjs/slider/hooks/useSliderEvents.js +26 -55
  282. package/cjs/slider/hooks/useSliderIcon.js +6 -20
  283. package/cjs/slider/hooks/useSliderInit.js +32 -52
  284. package/cjs/slider/hooks/useSliderStyle.js +12 -24
  285. package/cjs/slider/index.d.ts +5 -2
  286. package/cjs/slider/index.js +56 -80
  287. package/cjs/slider/marks.js +12 -26
  288. package/cjs/slider/popover.js +4 -13
  289. package/cjs/slider/style/css/index.js +0 -2
  290. package/cjs/slider/style/index.js +0 -2
  291. package/cjs/slider/thumb.js +8 -23
  292. package/cjs/stepper/hooks/useButtonClick.js +19 -28
  293. package/cjs/stepper/hooks/useInputEvent.js +9 -18
  294. package/cjs/stepper/hooks/useValue.js +9 -14
  295. package/cjs/stepper/index.d.ts +5 -2
  296. package/cjs/stepper/index.js +92 -103
  297. package/cjs/stepper/style/css/index.js +0 -1
  298. package/cjs/stepper/style/index.js +0 -1
  299. package/cjs/steps/index.js +22 -40
  300. package/cjs/steps/step.js +10 -27
  301. package/cjs/steps/style/css/index.css +2 -2
  302. package/cjs/steps/style/css/index.js +0 -1
  303. package/cjs/steps/style/index.js +0 -1
  304. package/cjs/sticky/index.js +37 -66
  305. package/cjs/sticky/style/css/index.js +0 -1
  306. package/cjs/sticky/style/index.js +0 -1
  307. package/cjs/style.d.ts +7 -6
  308. package/cjs/style.js +7 -59
  309. package/cjs/swipe-action/index.js +40 -92
  310. package/cjs/swipe-action/item.js +9 -17
  311. package/cjs/swipe-action/style/css/index.js +0 -1
  312. package/cjs/swipe-action/style/index.js +0 -1
  313. package/cjs/swipe-load/index.js +55 -83
  314. package/cjs/swipe-load/style/css/index.js +0 -1
  315. package/cjs/swipe-load/style/index.js +0 -1
  316. package/cjs/switch/index.d.ts +5 -2
  317. package/cjs/switch/index.js +37 -54
  318. package/cjs/switch/style/css/index.js +0 -1
  319. package/cjs/switch/style/index.js +0 -1
  320. package/cjs/tab-bar/index.js +0 -7
  321. package/cjs/tab-bar/item.js +6 -24
  322. package/cjs/tab-bar/style/css/index.js +0 -1
  323. package/cjs/tab-bar/style/index.js +0 -1
  324. package/cjs/tab-bar/tab-bar.js +15 -31
  325. package/cjs/tabs/index.js +129 -192
  326. package/cjs/tabs/style/css/index.js +0 -1
  327. package/cjs/tabs/style/index.js +0 -1
  328. package/cjs/tabs/tab-cell-underline.js +25 -64
  329. package/cjs/tabs/tab-cell.js +66 -108
  330. package/cjs/tabs/tab-pane.js +49 -94
  331. package/cjs/tag/index.js +1 -8
  332. package/cjs/tag/list.js +11 -26
  333. package/cjs/tag/style/css/index.js +0 -1
  334. package/cjs/tag/style/index.js +0 -1
  335. package/cjs/tag/tag.js +20 -32
  336. package/cjs/textarea/index.d.ts +5 -2
  337. package/cjs/textarea/index.js +45 -63
  338. package/cjs/textarea/style/css/index.css +1 -1
  339. package/cjs/textarea/style/css/index.js +0 -2
  340. package/cjs/textarea/style/index.js +0 -2
  341. package/cjs/toast/index.d.ts +12 -12
  342. package/cjs/toast/index.js +26 -61
  343. package/cjs/toast/methods.js +2 -16
  344. package/cjs/toast/style/css/index.js +0 -3
  345. package/cjs/toast/style/index.js +0 -3
  346. package/cjs/transition/index.js +10 -18
  347. package/cjs/transition/style/css/index.js +0 -1
  348. package/cjs/transition/style/index.js +0 -1
  349. package/dist/index.js +21030 -20541
  350. package/dist/index.min.js +12 -3
  351. package/dist/style.css +823 -741
  352. package/dist/style.min.css +1 -1
  353. package/esm/_helpers/hooks.js +41 -99
  354. package/esm/_helpers/index.js +2 -3
  355. package/esm/_helpers/react-dom.js +0 -10
  356. package/esm/_helpers/render.js +0 -7
  357. package/esm/action-sheet/index.js +10 -16
  358. package/esm/action-sheet/style/css/index.css +1 -1
  359. package/esm/avatar/group.js +12 -16
  360. package/esm/avatar/index.js +51 -62
  361. package/esm/badge/index.js +18 -22
  362. package/esm/badge/style/css/index.css +3 -2
  363. package/esm/button/hooks.js +15 -18
  364. package/esm/button/index.js +46 -57
  365. package/esm/carousel/demo/style/css/mobile.css +12 -0
  366. package/esm/carousel/demo/style/mobile.less +8 -0
  367. package/esm/carousel/index.d.ts +1 -1
  368. package/esm/carousel/index.js +159 -267
  369. package/esm/cell/cell.js +14 -14
  370. package/esm/cell/group.js +9 -11
  371. package/esm/cell/index.js +1 -1
  372. package/esm/checkbox/checkbox.js +31 -42
  373. package/esm/checkbox/group.js +24 -28
  374. package/esm/checkbox/hooks/useMergeProps.js +7 -9
  375. package/esm/checkbox/index.d.ts +6 -1
  376. package/esm/checkbox/index.js +6 -4
  377. package/esm/checkbox/type.js +0 -1
  378. package/esm/circle-progress/index.js +37 -49
  379. package/esm/collapse/collapse.js +27 -46
  380. package/esm/collapse/group.js +20 -34
  381. package/esm/collapse/index.js +1 -1
  382. package/esm/collapse/utils.js +0 -1
  383. package/esm/context-provider/index.js +10 -18
  384. package/esm/count-down/hooks.js +24 -37
  385. package/esm/count-down/index.js +30 -29
  386. package/esm/count-down/singleton.js +2 -5
  387. package/esm/count-down/util.js +33 -42
  388. package/esm/date-picker/helper.js +7 -9
  389. package/esm/date-picker/index.d.ts +5 -2
  390. package/esm/date-picker/index.js +53 -103
  391. package/esm/dialog/index.js +28 -39
  392. package/esm/dialog/methods.js +9 -11
  393. package/esm/dialog/style/css/index.css +2 -1
  394. package/esm/dropdown/dropdown.js +74 -102
  395. package/esm/dropdown/index.js +1 -1
  396. package/esm/dropdown/options.js +12 -20
  397. package/esm/dropdown-menu/dropdown-menu.js +49 -74
  398. package/esm/dropdown-menu/helper.js +6 -16
  399. package/esm/dropdown-menu/index.js +1 -1
  400. package/esm/ellipsis/components/js-ellipsis.js +33 -63
  401. package/esm/ellipsis/components/native-ellipsis.js +9 -11
  402. package/esm/ellipsis/index.js +20 -21
  403. package/esm/ellipsis/utils/dom.js +0 -7
  404. package/esm/ellipsis/utils/is.js +1 -1
  405. package/esm/form/form-item-context.d.ts +3 -0
  406. package/esm/form/form-item-context.js +6 -0
  407. package/esm/form/form-item.d.ts +4 -0
  408. package/esm/form/form-item.js +306 -0
  409. package/esm/form/index.d.ts +16 -0
  410. package/esm/form/index.js +79 -0
  411. package/esm/form/style/css/index.css +92 -0
  412. package/esm/form/style/css/index.d.ts +2 -0
  413. package/esm/form/style/css/index.js +2 -0
  414. package/esm/form/style/index.d.ts +2 -0
  415. package/esm/form/style/index.js +2 -0
  416. package/esm/form/style/index.less +91 -0
  417. package/esm/form/type.d.ts +371 -0
  418. package/esm/form/type.js +24 -0
  419. package/esm/form/useForm.d.ts +18 -0
  420. package/esm/form/useForm.js +217 -0
  421. package/esm/form/utils.d.ts +6 -0
  422. package/esm/form/utils.js +30 -0
  423. package/esm/grid/index.js +21 -34
  424. package/esm/icon/IconAdd/index.js +5 -6
  425. package/esm/icon/IconArrowBack/index.js +5 -6
  426. package/esm/icon/IconArrowDown/index.js +5 -6
  427. package/esm/icon/IconArrowIn/index.js +5 -6
  428. package/esm/icon/IconArrowUp/index.js +5 -6
  429. package/esm/icon/IconCheck/index.js +5 -6
  430. package/esm/icon/IconCheckBold/index.js +5 -6
  431. package/esm/icon/IconCircleChecked/index.js +5 -6
  432. package/esm/icon/IconCircleDisabled/index.js +5 -6
  433. package/esm/icon/IconCircleUnchecked/index.js +5 -6
  434. package/esm/icon/IconClear/index.js +5 -6
  435. package/esm/icon/IconClose/index.js +5 -6
  436. package/esm/icon/IconCloseBold/index.js +5 -6
  437. package/esm/icon/IconDelete/index.js +5 -6
  438. package/esm/icon/IconEdit/index.js +5 -6
  439. package/esm/icon/IconErrorCircle/index.js +5 -6
  440. package/esm/icon/IconEyeInvisible/index.js +5 -6
  441. package/esm/icon/IconEyeVisible/index.js +5 -6
  442. package/esm/icon/IconEyelashInvisible/index.js +5 -6
  443. package/esm/icon/IconGift/index.js +5 -6
  444. package/esm/icon/IconHeart/index.js +5 -6
  445. package/esm/icon/IconHome/index.js +5 -6
  446. package/esm/icon/IconLikeCircle/index.js +5 -6
  447. package/esm/icon/IconMinus/index.js +5 -6
  448. package/esm/icon/IconMore/index.js +5 -6
  449. package/esm/icon/IconNotice/index.js +5 -6
  450. package/esm/icon/IconNoticeOff/index.js +5 -6
  451. package/esm/icon/IconPicture/index.js +5 -6
  452. package/esm/icon/IconPlay/index.js +5 -6
  453. package/esm/icon/IconQuestionCircle/index.js +5 -6
  454. package/esm/icon/IconRefresh/index.js +5 -6
  455. package/esm/icon/IconSad/index.js +5 -6
  456. package/esm/icon/IconScan/index.js +5 -6
  457. package/esm/icon/IconSearch/index.js +5 -6
  458. package/esm/icon/IconSetting/index.js +5 -6
  459. package/esm/icon/IconShop/index.js +5 -6
  460. package/esm/icon/IconShopping/index.js +5 -6
  461. package/esm/icon/IconSmileFill/index.js +5 -6
  462. package/esm/icon/IconSound/index.js +5 -6
  463. package/esm/icon/IconSquareChecked/index.js +5 -6
  464. package/esm/icon/IconSquareDisabled/index.js +5 -6
  465. package/esm/icon/IconSquareUnchecked/index.js +5 -6
  466. package/esm/icon/IconStar/index.js +5 -6
  467. package/esm/icon/IconStarFill/index.js +5 -6
  468. package/esm/icon/IconStarHalf/index.js +5 -6
  469. package/esm/icon/IconSubway/index.js +5 -6
  470. package/esm/icon/IconSuccessCircle/index.js +5 -6
  471. package/esm/icon/IconTriDown/index.js +5 -6
  472. package/esm/icon/IconTriUp/index.js +5 -6
  473. package/esm/icon/IconUpload/index.js +5 -6
  474. package/esm/icon/IconUser/index.js +5 -6
  475. package/esm/icon/IconUserFill/index.js +5 -6
  476. package/esm/icon/IconWarnCircle/index.js +5 -6
  477. package/esm/icon/IconWarnCircleFill/index.js +5 -6
  478. package/esm/image/index.js +53 -83
  479. package/esm/image-picker/index.d.ts +5 -2
  480. package/esm/image-picker/index.js +63 -90
  481. package/esm/image-preview/demo/style/css/mobile.css +10 -0
  482. package/esm/image-preview/demo/style/mobile.less +11 -0
  483. package/esm/image-preview/index.d.ts +5 -0
  484. package/esm/image-preview/index.js +124 -218
  485. package/esm/image-preview/methods.js +4 -14
  486. package/esm/image-preview/style/css/index.css +1 -0
  487. package/esm/image-preview/style/index.less +1 -1
  488. package/esm/index.d.ts +7 -6
  489. package/esm/index.js +7 -6
  490. package/esm/input/hooks.js +42 -67
  491. package/esm/input/index.d.ts +5 -2
  492. package/esm/input/index.js +37 -40
  493. package/esm/input/style/css/index.css +1 -1
  494. package/esm/load-more/index.js +29 -48
  495. package/esm/loading/index.js +19 -40
  496. package/esm/masking/index.js +46 -64
  497. package/esm/masking/methods.js +4 -15
  498. package/esm/nav-bar/back-icon.js +1 -3
  499. package/esm/nav-bar/index.js +36 -51
  500. package/esm/notice-bar/index.js +31 -47
  501. package/esm/notify/index.d.ts +8 -8
  502. package/esm/notify/index.js +20 -33
  503. package/esm/notify/methods.js +2 -13
  504. package/esm/notify/style/css/index.css +2 -2
  505. package/esm/pagination/index.js +27 -50
  506. package/esm/picker/index.d.ts +5 -2
  507. package/esm/picker/index.js +51 -76
  508. package/esm/picker-view/components/cascader.js +14 -23
  509. package/esm/picker-view/components/multi-picker.js +6 -16
  510. package/esm/picker-view/components/picker-cell.js +45 -89
  511. package/esm/picker-view/index.d.ts +5 -2
  512. package/esm/picker-view/index.js +36 -63
  513. package/esm/popover/hooks/useEvent.js +26 -41
  514. package/esm/popover/hooks/usePosition.js +94 -144
  515. package/esm/popover/index.js +2 -2
  516. package/esm/popover/menu.js +32 -41
  517. package/esm/popover/popover-inner.js +30 -38
  518. package/esm/popover/popover.js +69 -90
  519. package/esm/popup/index.js +22 -25
  520. package/esm/popup-swiper/index.js +38 -64
  521. package/esm/portal/index.js +3 -5
  522. package/esm/progress/index.js +27 -36
  523. package/esm/pull-refresh/android-pull-refresh.js +58 -90
  524. package/esm/pull-refresh/hooks.js +11 -23
  525. package/esm/pull-refresh/index.d.ts +9 -3
  526. package/esm/pull-refresh/index.js +5 -6
  527. package/esm/pull-refresh/ios-pull-refresh.js +53 -68
  528. package/esm/pull-refresh/model.js +0 -1
  529. package/esm/radio/group.js +20 -24
  530. package/esm/radio/index.d.ts +6 -1
  531. package/esm/radio/index.js +5 -3
  532. package/esm/rate/index.d.ts +5 -2
  533. package/esm/rate/index.js +35 -49
  534. package/esm/search-bar/association.js +14 -27
  535. package/esm/search-bar/cancel-button.js +8 -11
  536. package/esm/search-bar/highlight.js +14 -20
  537. package/esm/search-bar/index.js +77 -86
  538. package/esm/show-monitor/index.js +34 -85
  539. package/esm/slider/hooks/useSliderEvents.js +26 -51
  540. package/esm/slider/hooks/useSliderIcon.js +6 -13
  541. package/esm/slider/hooks/useSliderInit.js +32 -46
  542. package/esm/slider/hooks/useSliderStyle.js +12 -20
  543. package/esm/slider/index.d.ts +5 -2
  544. package/esm/slider/index.js +57 -72
  545. package/esm/slider/marks.js +12 -18
  546. package/esm/slider/popover.js +4 -6
  547. package/esm/slider/thumb.js +8 -15
  548. package/esm/stepper/hooks/useButtonClick.js +19 -27
  549. package/esm/stepper/hooks/useInputEvent.js +9 -16
  550. package/esm/stepper/hooks/useValue.js +9 -12
  551. package/esm/stepper/index.d.ts +5 -2
  552. package/esm/stepper/index.js +93 -92
  553. package/esm/steps/index.js +22 -27
  554. package/esm/steps/step.js +10 -19
  555. package/esm/steps/style/css/index.css +2 -2
  556. package/esm/sticky/index.js +37 -57
  557. package/esm/style.d.ts +7 -6
  558. package/esm/style.js +7 -6
  559. package/esm/swipe-action/index.js +40 -80
  560. package/esm/swipe-action/item.js +9 -12
  561. package/esm/swipe-load/index.js +56 -75
  562. package/esm/switch/index.d.ts +5 -2
  563. package/esm/switch/index.js +38 -49
  564. package/esm/tab-bar/index.js +0 -1
  565. package/esm/tab-bar/item.js +6 -13
  566. package/esm/tab-bar/tab-bar.js +15 -21
  567. package/esm/tabs/index.js +130 -180
  568. package/esm/tabs/tab-cell-underline.js +25 -56
  569. package/esm/tabs/tab-cell.js +66 -98
  570. package/esm/tabs/tab-pane.js +49 -85
  571. package/esm/tag/index.js +2 -2
  572. package/esm/tag/list.js +11 -16
  573. package/esm/tag/tag.js +20 -22
  574. package/esm/textarea/index.d.ts +5 -2
  575. package/esm/textarea/index.js +46 -56
  576. package/esm/textarea/style/css/index.css +1 -1
  577. package/esm/toast/index.d.ts +12 -12
  578. package/esm/toast/index.js +26 -42
  579. package/esm/toast/methods.js +2 -12
  580. package/esm/transition/index.js +10 -12
  581. package/package.json +3 -4
  582. package/tokens/app/arcodesign/default/css-variables.less +17 -7
  583. package/tokens/app/arcodesign/default/index.d.ts +10 -0
  584. package/tokens/app/arcodesign/default/index.js +18 -10
  585. package/tokens/app/arcodesign/default/index.json +139 -23
  586. package/tokens/app/arcodesign/default/index.less +17 -7
  587. package/umd/_helpers/hooks.js +42 -117
  588. package/umd/_helpers/index.js +2 -6
  589. package/umd/_helpers/react-dom.js +0 -11
  590. package/umd/_helpers/render.js +0 -9
  591. package/umd/action-sheet/index.js +10 -22
  592. package/umd/action-sheet/methods.js +0 -1
  593. package/umd/action-sheet/style/css/index.css +1 -1
  594. package/umd/avatar/group.js +12 -20
  595. package/umd/avatar/index.js +51 -68
  596. package/umd/badge/index.js +18 -25
  597. package/umd/badge/style/css/index.css +3 -2
  598. package/umd/button/hooks.js +15 -19
  599. package/umd/button/index.js +46 -60
  600. package/umd/carousel/demo/style/css/mobile.css +12 -0
  601. package/umd/carousel/demo/style/mobile.less +8 -0
  602. package/umd/carousel/index.d.ts +1 -1
  603. package/umd/carousel/index.js +159 -270
  604. package/umd/cell/arrow.js +0 -2
  605. package/umd/cell/cell.js +14 -18
  606. package/umd/cell/group.js +9 -17
  607. package/umd/cell/index.js +1 -2
  608. package/umd/checkbox/checkbox.js +31 -45
  609. package/umd/checkbox/group.js +24 -34
  610. package/umd/checkbox/hooks/useMergeProps.js +7 -12
  611. package/umd/checkbox/index.d.ts +6 -1
  612. package/umd/checkbox/index.js +6 -6
  613. package/umd/checkbox/type.js +0 -2
  614. package/umd/circle-progress/index.js +37 -52
  615. package/umd/collapse/collapse.js +27 -50
  616. package/umd/collapse/group.js +20 -38
  617. package/umd/collapse/index.js +0 -3
  618. package/umd/collapse/utils.js +0 -5
  619. package/umd/context-provider/index.js +10 -23
  620. package/umd/count-down/hooks.js +24 -39
  621. package/umd/count-down/index.js +29 -31
  622. package/umd/count-down/singleton.js +2 -10
  623. package/umd/count-down/util.js +33 -47
  624. package/umd/date-picker/helper.js +7 -13
  625. package/umd/date-picker/index.d.ts +5 -2
  626. package/umd/date-picker/index.js +52 -105
  627. package/umd/dialog/index.js +28 -44
  628. package/umd/dialog/methods.js +9 -18
  629. package/umd/dialog/style/css/index.css +2 -1
  630. package/umd/dropdown/dropdown.js +74 -106
  631. package/umd/dropdown/index.js +1 -3
  632. package/umd/dropdown/options.js +12 -24
  633. package/umd/dropdown-menu/dropdown-menu.js +49 -78
  634. package/umd/dropdown-menu/helper.js +6 -25
  635. package/umd/dropdown-menu/index.js +0 -2
  636. package/umd/ellipsis/components/js-ellipsis.js +33 -69
  637. package/umd/ellipsis/components/native-ellipsis.js +9 -13
  638. package/umd/ellipsis/index.js +19 -24
  639. package/umd/ellipsis/utils/dom.js +0 -8
  640. package/umd/ellipsis/utils/is.js +1 -5
  641. package/umd/form/form-item-context.d.ts +3 -0
  642. package/umd/form/form-item-context.js +25 -0
  643. package/umd/form/form-item.d.ts +4 -0
  644. package/umd/form/form-item.js +322 -0
  645. package/umd/form/index.d.ts +16 -0
  646. package/umd/form/index.js +106 -0
  647. package/umd/form/style/css/index.css +92 -0
  648. package/umd/form/style/css/index.d.ts +2 -0
  649. package/umd/form/style/css/index.js +15 -0
  650. package/umd/form/style/index.d.ts +2 -0
  651. package/umd/form/style/index.js +15 -0
  652. package/umd/form/style/index.less +91 -0
  653. package/umd/form/type.d.ts +371 -0
  654. package/umd/form/type.js +44 -0
  655. package/umd/form/useForm.d.ts +18 -0
  656. package/umd/form/useForm.js +238 -0
  657. package/umd/form/utils.d.ts +6 -0
  658. package/umd/form/utils.js +50 -0
  659. package/umd/grid/index.js +21 -37
  660. package/umd/icon/IconAdd/index.js +5 -7
  661. package/umd/icon/IconArrowBack/index.js +5 -7
  662. package/umd/icon/IconArrowDown/index.js +5 -7
  663. package/umd/icon/IconArrowIn/index.js +5 -7
  664. package/umd/icon/IconArrowUp/index.js +5 -7
  665. package/umd/icon/IconCheck/index.js +5 -7
  666. package/umd/icon/IconCheckBold/index.js +5 -7
  667. package/umd/icon/IconCircleChecked/index.js +5 -7
  668. package/umd/icon/IconCircleDisabled/index.js +5 -7
  669. package/umd/icon/IconCircleUnchecked/index.js +5 -7
  670. package/umd/icon/IconClear/index.js +5 -7
  671. package/umd/icon/IconClose/index.js +5 -7
  672. package/umd/icon/IconCloseBold/index.js +5 -7
  673. package/umd/icon/IconDelete/index.js +5 -7
  674. package/umd/icon/IconEdit/index.js +5 -7
  675. package/umd/icon/IconErrorCircle/index.js +5 -7
  676. package/umd/icon/IconEyeInvisible/index.js +5 -7
  677. package/umd/icon/IconEyeVisible/index.js +5 -7
  678. package/umd/icon/IconEyelashInvisible/index.js +5 -7
  679. package/umd/icon/IconGift/index.js +5 -7
  680. package/umd/icon/IconHeart/index.js +5 -7
  681. package/umd/icon/IconHome/index.js +5 -7
  682. package/umd/icon/IconLikeCircle/index.js +5 -7
  683. package/umd/icon/IconMinus/index.js +5 -7
  684. package/umd/icon/IconMore/index.js +5 -7
  685. package/umd/icon/IconNotice/index.js +5 -7
  686. package/umd/icon/IconNoticeOff/index.js +5 -7
  687. package/umd/icon/IconPicture/index.js +5 -7
  688. package/umd/icon/IconPlay/index.js +5 -7
  689. package/umd/icon/IconQuestionCircle/index.js +5 -7
  690. package/umd/icon/IconRefresh/index.js +5 -7
  691. package/umd/icon/IconSad/index.js +5 -7
  692. package/umd/icon/IconScan/index.js +5 -7
  693. package/umd/icon/IconSearch/index.js +5 -7
  694. package/umd/icon/IconSetting/index.js +5 -7
  695. package/umd/icon/IconShop/index.js +5 -7
  696. package/umd/icon/IconShopping/index.js +5 -7
  697. package/umd/icon/IconSmileFill/index.js +5 -7
  698. package/umd/icon/IconSound/index.js +5 -7
  699. package/umd/icon/IconSquareChecked/index.js +5 -7
  700. package/umd/icon/IconSquareDisabled/index.js +5 -7
  701. package/umd/icon/IconSquareUnchecked/index.js +5 -7
  702. package/umd/icon/IconStar/index.js +5 -7
  703. package/umd/icon/IconStarFill/index.js +5 -7
  704. package/umd/icon/IconStarHalf/index.js +5 -7
  705. package/umd/icon/IconSubway/index.js +5 -7
  706. package/umd/icon/IconSuccessCircle/index.js +5 -7
  707. package/umd/icon/IconTriDown/index.js +5 -7
  708. package/umd/icon/IconTriUp/index.js +5 -7
  709. package/umd/icon/IconUpload/index.js +5 -7
  710. package/umd/icon/IconUser/index.js +5 -7
  711. package/umd/icon/IconUserFill/index.js +5 -7
  712. package/umd/icon/IconWarnCircle/index.js +5 -7
  713. package/umd/icon/IconWarnCircleFill/index.js +5 -7
  714. package/umd/icon/index.js +0 -1
  715. package/umd/image/index.js +53 -86
  716. package/umd/image-picker/add-icon.js +0 -2
  717. package/umd/image-picker/index.d.ts +5 -2
  718. package/umd/image-picker/index.js +62 -92
  719. package/umd/image-preview/demo/style/css/mobile.css +10 -0
  720. package/umd/image-preview/demo/style/mobile.less +11 -0
  721. package/umd/image-preview/index.d.ts +5 -0
  722. package/umd/image-preview/index.js +124 -224
  723. package/umd/image-preview/methods.js +5 -15
  724. package/umd/image-preview/style/css/index.css +1 -0
  725. package/umd/image-preview/style/index.less +1 -1
  726. package/umd/index.d.ts +7 -6
  727. package/umd/index.js +19 -18
  728. package/umd/input/hooks.js +42 -71
  729. package/umd/input/index.d.ts +5 -2
  730. package/umd/input/index.js +36 -42
  731. package/umd/input/style/css/index.css +1 -1
  732. package/umd/load-more/index.js +29 -51
  733. package/umd/loading/index.js +19 -43
  734. package/umd/masking/index.js +46 -71
  735. package/umd/masking/methods.js +4 -16
  736. package/umd/nav-bar/back-icon.js +1 -4
  737. package/umd/nav-bar/index.js +36 -54
  738. package/umd/notice-bar/index.js +31 -50
  739. package/umd/notify/index.d.ts +8 -8
  740. package/umd/notify/index.js +20 -40
  741. package/umd/notify/methods.js +2 -14
  742. package/umd/notify/style/css/index.css +2 -2
  743. package/umd/pagination/arrow.js +0 -2
  744. package/umd/pagination/index.js +27 -53
  745. package/umd/picker/index.d.ts +5 -2
  746. package/umd/picker/index.js +50 -78
  747. package/umd/picker-view/components/cascader.js +14 -27
  748. package/umd/picker-view/components/multi-picker.js +6 -19
  749. package/umd/picker-view/components/picker-cell.js +45 -93
  750. package/umd/picker-view/index.d.ts +5 -2
  751. package/umd/picker-view/index.js +39 -69
  752. package/umd/popover/hooks/useEvent.js +25 -44
  753. package/umd/popover/hooks/usePosition.js +94 -145
  754. package/umd/popover/index.js +1 -3
  755. package/umd/popover/menu.js +32 -45
  756. package/umd/popover/popover-inner.js +30 -42
  757. package/umd/popover/popover.js +69 -94
  758. package/umd/popup/index.js +22 -31
  759. package/umd/popup/methods.js +0 -1
  760. package/umd/popup-swiper/index.js +38 -71
  761. package/umd/popup-swiper/methods.js +0 -1
  762. package/umd/portal/index.js +3 -6
  763. package/umd/progress/index.js +27 -39
  764. package/umd/pull-refresh/android-pull-refresh.js +58 -93
  765. package/umd/pull-refresh/hooks.js +11 -29
  766. package/umd/pull-refresh/index.d.ts +9 -3
  767. package/umd/pull-refresh/index.js +5 -8
  768. package/umd/pull-refresh/ios-pull-refresh.js +53 -72
  769. package/umd/pull-refresh/model.js +0 -1
  770. package/umd/radio/group.js +20 -30
  771. package/umd/radio/index.d.ts +6 -1
  772. package/umd/radio/index.js +5 -5
  773. package/umd/radio/radio.js +0 -5
  774. package/umd/rate/index.d.ts +5 -2
  775. package/umd/rate/index.js +34 -51
  776. package/umd/search-bar/association.js +14 -29
  777. package/umd/search-bar/cancel-button.js +8 -14
  778. package/umd/search-bar/highlight.js +14 -21
  779. package/umd/search-bar/index.js +77 -87
  780. package/umd/show-monitor/index.js +34 -89
  781. package/umd/slider/hooks/index.js +0 -4
  782. package/umd/slider/hooks/useSliderEvents.js +26 -52
  783. package/umd/slider/hooks/useSliderIcon.js +6 -17
  784. package/umd/slider/hooks/useSliderInit.js +32 -50
  785. package/umd/slider/hooks/useSliderStyle.js +12 -22
  786. package/umd/slider/index.d.ts +5 -2
  787. package/umd/slider/index.js +56 -73
  788. package/umd/slider/marks.js +12 -21
  789. package/umd/slider/popover.js +4 -10
  790. package/umd/slider/thumb.js +8 -18
  791. package/umd/stepper/hooks/useButtonClick.js +19 -27
  792. package/umd/stepper/hooks/useInputEvent.js +9 -17
  793. package/umd/stepper/hooks/useValue.js +9 -13
  794. package/umd/stepper/index.d.ts +5 -2
  795. package/umd/stepper/index.js +92 -94
  796. package/umd/steps/index.js +22 -32
  797. package/umd/steps/step.js +10 -22
  798. package/umd/steps/style/css/index.css +2 -2
  799. package/umd/sticky/index.js +37 -60
  800. package/umd/style.d.ts +7 -6
  801. package/umd/style.js +4 -4
  802. package/umd/swipe-action/index.js +40 -84
  803. package/umd/swipe-action/item.js +9 -14
  804. package/umd/swipe-load/index.js +55 -77
  805. package/umd/switch/index.d.ts +5 -2
  806. package/umd/switch/index.js +37 -50
  807. package/umd/tab-bar/index.js +0 -2
  808. package/umd/tab-bar/item.js +6 -19
  809. package/umd/tab-bar/tab-bar.js +15 -26
  810. package/umd/tabs/index.js +129 -183
  811. package/umd/tabs/tab-cell-underline.js +25 -60
  812. package/umd/tabs/tab-cell.js +66 -103
  813. package/umd/tabs/tab-pane.js +49 -89
  814. package/umd/tag/index.js +1 -3
  815. package/umd/tag/list.js +11 -20
  816. package/umd/tag/tag.js +20 -26
  817. package/umd/textarea/index.d.ts +5 -2
  818. package/umd/textarea/index.js +45 -58
  819. package/umd/textarea/style/css/index.css +1 -1
  820. package/umd/toast/index.d.ts +12 -12
  821. package/umd/toast/index.js +26 -49
  822. package/umd/toast/methods.js +2 -13
  823. package/umd/transition/index.js +10 -12
@@ -14,7 +14,6 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
-
18
17
  _exports.__esModule = true;
19
18
  var _exportNames = {
20
19
  methodsGenerator: true
@@ -37,62 +36,58 @@
37
36
  });
38
37
  _loading = _interopRequireDefault(_loading);
39
38
  var _excluded = ["style", "className", "images", "loop", "openIndex", "fit", "noselect", "displayDuration", "spaceBetween", "showLoading", "loadingArea", "errorArea", "showError", "retryTime", "staticLabel", "replaceFallbackWhenLoaded", "scrollBezier", "lazyloadCount", "swipeToClose", "getMinScale", "getMaxScale", "getDoubleClickScale", "getContainer", "getThumbBounds", "renderIndicator", "onChange", "onAfterChange", "onImageClick", "onImageDoubleClick", "onImageLongTap", "close", "onClose", "onTouchStart", "onTouchMove", "onTouchEnd", "indicatorPos"];
40
-
41
39
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
42
-
43
40
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
44
-
45
41
  var MAX_ZOOM = 5;
46
42
  var MIN_ZOOM = 0.7;
47
43
  var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
48
44
  var _imagesStatus$openInd, _imagesStatus$openInd2;
49
-
50
45
  var style = props.style,
51
- className = props.className,
52
- images = props.images,
53
- _props$loop = props.loop,
54
- loop = _props$loop === void 0 ? false : _props$loop,
55
- openIndex = props.openIndex,
56
- fit = props.fit,
57
- _props$noselect = props.noselect,
58
- noselect = _props$noselect === void 0 ? true : _props$noselect,
59
- _props$displayDuratio = props.displayDuration,
60
- displayDuration = _props$displayDuratio === void 0 ? 350 : _props$displayDuratio,
61
- _props$spaceBetween = props.spaceBetween,
62
- spaceBetween = _props$spaceBetween === void 0 ? 0 : _props$spaceBetween,
63
- _props$showLoading = props.showLoading,
64
- showLoading = _props$showLoading === void 0 ? true : _props$showLoading,
65
- loadingArea = props.loadingArea,
66
- errorArea = props.errorArea,
67
- _props$showError = props.showError,
68
- showError = _props$showError === void 0 ? true : _props$showError,
69
- retryTime = props.retryTime,
70
- staticLabel = props.staticLabel,
71
- replaceFallbackWhenLoaded = props.replaceFallbackWhenLoaded,
72
- scrollBezier = props.scrollBezier,
73
- _props$lazyloadCount = props.lazyloadCount,
74
- lazyloadCount = _props$lazyloadCount === void 0 ? 1 : _props$lazyloadCount,
75
- _props$swipeToClose = props.swipeToClose,
76
- swipeToClose = _props$swipeToClose === void 0 ? true : _props$swipeToClose,
77
- getMinScale = props.getMinScale,
78
- getMaxScale = props.getMaxScale,
79
- getDoubleClickScale = props.getDoubleClickScale,
80
- getContainer = props.getContainer,
81
- getThumbBounds = props.getThumbBounds,
82
- renderIndicator = props.renderIndicator,
83
- _onChange = props.onChange,
84
- _onAfterChange = props.onAfterChange,
85
- onImageClick = props.onImageClick,
86
- onImageDoubleClick = props.onImageDoubleClick,
87
- onImageLongTap = props.onImageLongTap,
88
- close = props.close,
89
- onClose = props.onClose,
90
- onTouchStart = props.onTouchStart,
91
- onTouchMove = props.onTouchMove,
92
- onTouchEnd = props.onTouchEnd,
93
- _props$indicatorPos = props.indicatorPos,
94
- indicatorPos = _props$indicatorPos === void 0 ? 'start' : _props$indicatorPos,
95
- otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
46
+ className = props.className,
47
+ images = props.images,
48
+ _props$loop = props.loop,
49
+ loop = _props$loop === void 0 ? false : _props$loop,
50
+ openIndex = props.openIndex,
51
+ fit = props.fit,
52
+ _props$noselect = props.noselect,
53
+ noselect = _props$noselect === void 0 ? true : _props$noselect,
54
+ _props$displayDuratio = props.displayDuration,
55
+ displayDuration = _props$displayDuratio === void 0 ? 350 : _props$displayDuratio,
56
+ _props$spaceBetween = props.spaceBetween,
57
+ spaceBetween = _props$spaceBetween === void 0 ? 0 : _props$spaceBetween,
58
+ _props$showLoading = props.showLoading,
59
+ showLoading = _props$showLoading === void 0 ? true : _props$showLoading,
60
+ loadingArea = props.loadingArea,
61
+ errorArea = props.errorArea,
62
+ _props$showError = props.showError,
63
+ showError = _props$showError === void 0 ? true : _props$showError,
64
+ retryTime = props.retryTime,
65
+ staticLabel = props.staticLabel,
66
+ replaceFallbackWhenLoaded = props.replaceFallbackWhenLoaded,
67
+ scrollBezier = props.scrollBezier,
68
+ _props$lazyloadCount = props.lazyloadCount,
69
+ lazyloadCount = _props$lazyloadCount === void 0 ? 1 : _props$lazyloadCount,
70
+ _props$swipeToClose = props.swipeToClose,
71
+ swipeToClose = _props$swipeToClose === void 0 ? true : _props$swipeToClose,
72
+ getMinScale = props.getMinScale,
73
+ getMaxScale = props.getMaxScale,
74
+ getDoubleClickScale = props.getDoubleClickScale,
75
+ getContainer = props.getContainer,
76
+ getThumbBounds = props.getThumbBounds,
77
+ renderIndicator = props.renderIndicator,
78
+ _onChange = props.onChange,
79
+ _onAfterChange = props.onAfterChange,
80
+ onImageClick = props.onImageClick,
81
+ onImageDoubleClick = props.onImageDoubleClick,
82
+ onImageLongTap = props.onImageLongTap,
83
+ close = props.close,
84
+ onClose = props.onClose,
85
+ onTouchStart = props.onTouchStart,
86
+ onTouchMove = props.onTouchMove,
87
+ onTouchEnd = props.onTouchEnd,
88
+ _props$indicatorPos = props.indicatorPos,
89
+ indicatorPos = _props$indicatorPos === void 0 ? 'start' : _props$indicatorPos,
90
+ otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
96
91
  var system = (0, _helpers.useSystem)();
97
92
  var domRef = (0, _react.useRef)(null);
98
93
  var imagesRef = (0, _react.useRef)([]);
@@ -112,28 +107,22 @@
112
107
  var lastScaleRef = (0, _react.useRef)(0);
113
108
  var closingRef = (0, _react.useRef)(false);
114
109
  var isInitialMount = (0, _react.useRef)(false);
115
-
116
110
  var _useState = (0, _react.useState)({}),
117
- showPlaceholders = _useState[0],
118
- setPlaceholders = _useState[1];
119
-
111
+ showPlaceholders = _useState[0],
112
+ setPlaceholders = _useState[1];
120
113
  var _useRefState = (0, _helpers.useRefState)([]),
121
- imagesStatus = _useRefState[0],
122
- imagesStatusRef = _useRefState[1],
123
- setImagesStatus = _useRefState[2];
124
-
114
+ imagesStatus = _useRefState[0],
115
+ imagesStatusRef = _useRefState[1],
116
+ setImagesStatus = _useRefState[2];
125
117
  var _useState2 = (0, _react.useState)(null),
126
- transImageInfo = _useState2[0],
127
- setTransImageInfo = _useState2[1];
128
-
118
+ transImageInfo = _useState2[0],
119
+ setTransImageInfo = _useState2[1];
129
120
  var openLoaded = (_imagesStatus$openInd = imagesStatus[openIndex]) == null ? void 0 : _imagesStatus$openInd.loaded;
130
121
  var openAnimated = (_imagesStatus$openInd2 = imagesStatus[openIndex]) == null ? void 0 : _imagesStatus$openInd2.animated;
131
122
  var visible = openIndex >= 0 && openIndex < images.length;
132
-
133
123
  var _useWindowSize = (0, _helpers.useWindowSize)(true),
134
- windowWidth = _useWindowSize.windowWidth,
135
- windowHeight = _useWindowSize.windowHeight;
136
-
124
+ windowWidth = _useWindowSize.windowWidth,
125
+ windowHeight = _useWindowSize.windowHeight;
137
126
  (0, _react.useImperativeHandle)(ref, function () {
138
127
  return {
139
128
  dom: domRef.current,
@@ -150,7 +139,6 @@
150
139
  carouselRef.current && carouselRef.current.changeIndex(openIndex, true);
151
140
  setImagesStatus(images.map(function (_, index) {
152
141
  var _imagesStatusRef$curr;
153
-
154
142
  return {
155
143
  firstLoaded: ((_imagesStatusRef$curr = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr.firstLoaded) || false,
156
144
  animated: index !== openIndex
@@ -161,18 +149,18 @@
161
149
  // 移除长按事件监听
162
150
  // @en Remove long press event listener
163
151
  longTimerRef.current && clearTimeout(longTimerRef.current);
164
- longTapCheckingRef.current = false; // 图片状态重置
152
+ longTapCheckingRef.current = false;
153
+ // 图片状态重置
165
154
  // @en Reset image state
166
-
167
155
  setImagesStatus(imagesStatusRef.current.map(function (status) {
168
156
  return (0, _extends5.default)({}, status, {
169
157
  animated: false,
170
158
  loaded: false
171
159
  });
172
160
  }));
173
- transformersRef.current = []; // 移除过渡图片
161
+ transformersRef.current = [];
162
+ // 移除过渡图片
174
163
  // @en Remove transition image
175
-
176
164
  removeChild(document.querySelector('.image-preview-fake-trans-image'));
177
165
  setTransImageInfo(null);
178
166
  setPlaceholders({});
@@ -181,7 +169,6 @@
181
169
  mounted && onClose && onClose();
182
170
  }, displayDuration);
183
171
  }
184
-
185
172
  isInitialMount.current = true;
186
173
  }, [visible]);
187
174
  (0, _react.useEffect)(function () {
@@ -213,36 +200,31 @@
213
200
  transformer && transformer.setMaxScale(getImageMaxScale(index));
214
201
  });
215
202
  }, [getMaxScale]);
216
-
217
203
  function removeChild(child) {
218
204
  try {
219
205
  child && document.body.removeChild(child);
220
206
  } catch (e) {}
221
- } // 监听滑动到上下边缘后还在往外滑动的操作,则关闭弹窗
222
- // @en Monitor the operation of sliding out after sliding to the upper and lower edges, then close the popup
223
-
207
+ }
224
208
 
209
+ // 监听滑动到上下边缘后还在往外滑动的操作,则关闭弹窗
210
+ // @en Monitor the operation of sliding out after sliding to the upper and lower edges, then close the popup
225
211
  function handlePreventCallback(_, dir) {
226
212
  if (!isTransforming() && dir === 'y') {
227
213
  touchingSideDisRef.current += 1;
228
214
  }
229
215
  }
216
+
230
217
  /**
231
218
  * 缩放插件初始化
232
219
  * @en Zoom plugin initialization
233
220
  */
234
-
235
-
236
221
  function initTransformer(index) {
237
222
  var _imagesRef$current$in;
238
-
239
223
  var imageDom = (_imagesRef$current$in = imagesRef.current[index]) == null ? void 0 : _imagesRef$current$in.dom;
240
224
  var wrapDom = imageDom == null ? void 0 : imageDom.parentElement;
241
-
242
225
  if (!imageDom || !wrapDom) {
243
226
  return;
244
227
  }
245
-
246
228
  if (transformersRef.current[index]) {
247
229
  transformersRef.current[index].setDom(wrapDom);
248
230
  } else {
@@ -261,16 +243,15 @@
261
243
  },
262
244
  onTransform: function onTransform() {
263
245
  var _transformersRef$curr, _imagesStatusRef$curr2, _imagesStatusRef$curr3;
264
-
265
246
  // 图片放大再缩小,解决ios图片放大后模糊的问题
266
247
  // @en The image is zoomed in and then zoomed out to solve the problem of blurring after zooming in on ios images
267
248
  var img = imageDomsRef.current[index];
268
249
  var trans = ((_transformersRef$curr = transformersRef.current[index]) == null ? void 0 : _transformersRef$curr.getTransform == null ? void 0 : _transformersRef$curr.getTransform()) || {};
269
250
  var width = (_imagesStatusRef$curr2 = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr2.originWidth;
270
251
  var height = (_imagesStatusRef$curr3 = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr3.originHeight;
271
- var scale = trans.scale || 1; // 判断下只有图片缩放发生改变时重写图片样式
252
+ var scale = trans.scale || 1;
253
+ // 判断下只有图片缩放发生改变时重写图片样式
272
254
  // @en It is judged that only the image style is rewritten when the zoom of the image changes.
273
-
274
255
  if (img && width && height && lastScaleRef.current !== scale) {
275
256
  lastScaleRef.current = scale;
276
257
  var atCenter = !imageHasOverflow(img) ? ' translateY(-50%)' : '';
@@ -289,23 +270,18 @@
289
270
  onZoomEnd: function onZoomEnd(_1, _2, pinchStartCenter) {
290
271
  setPlaceholders(function (holders) {
291
272
  var _extends2;
292
-
293
273
  return (0, _extends5.default)({}, holders, (_extends2 = {}, _extends2[index] = false, _extends2));
294
274
  });
295
275
  var image = imageDomsRef.current[index];
296
276
  var transformer = transformersRef.current[index];
297
-
298
277
  if (!image || !transformer || transformer.getTransform().scale < 1) {
299
278
  return;
300
279
  }
301
-
302
280
  var imageRect = image.getBoundingClientRect();
303
-
304
281
  if (imageRect.width > windowWidth && imageRect.height > windowHeight) {
305
282
  if (pinchStartCenter && pinchStartCenter.length) {
306
283
  transformer.setCenter.apply(transformer, pinchStartCenter);
307
284
  }
308
-
309
285
  transformer.setFixedX(false);
310
286
  transformer.setFixedY(false);
311
287
  } else if (imageRect.height <= windowHeight) {
@@ -324,24 +300,19 @@
324
300
  maxScale: getImageMaxScale(index)
325
301
  });
326
302
  }
327
-
328
303
  setOriginBoundary(index);
329
304
  }
330
-
331
305
  function imageHasOverflow(img) {
332
306
  return Boolean(img && !img.classList.contains('preview-fit-contain-y'));
333
307
  }
334
-
335
308
  function setOriginBoundary(index) {
336
309
  var imageEle = imagesRef.current[index];
337
- var imageDom = imageEle == null ? void 0 : imageEle.dom; // 边界范围变为图片范围和容器范围的并集
310
+ var imageDom = imageEle == null ? void 0 : imageEle.dom;
311
+ // 边界范围变为图片范围和容器范围的并集
338
312
  // @en The bounding range becomes the union of the image range and the container range
339
-
340
313
  if (imageDom != null && imageDom.parentElement && imageEle != null && imageEle.image) {
341
314
  var _rect = imageEle.image.getBoundingClientRect();
342
-
343
315
  var eleRect = imageDom.parentElement.getBoundingClientRect();
344
-
345
316
  if (transformersRef.current[index]) {
346
317
  transformersRef.current[index].setBoundary({
347
318
  left: Math.min(_rect.left, eleRect.left),
@@ -352,137 +323,111 @@
352
323
  }
353
324
  }
354
325
  }
326
+
355
327
  /**
356
328
  * 获取最小缩放倍数
357
329
  * @en Get the minimum zoom factor
358
330
  */
359
-
360
-
361
331
  function getImageMinScale(index) {
362
332
  var currentIndex = index === void 0 ? innerIndexRef.current : index;
363
333
  var imageDom = imageDomsRef.current[currentIndex];
364
-
365
334
  if (!imageDom) {
366
335
  return 1;
367
336
  }
368
-
369
337
  if (getMinScale) {
370
338
  return getMinScale(imageDom, currentIndex);
371
339
  }
372
-
373
340
  return MIN_ZOOM;
374
341
  }
342
+
375
343
  /**
376
344
  * 获取最大缩放倍数
377
345
  * @en Get the maximum zoom factor
378
346
  */
379
-
380
-
381
347
  function getImageMaxScale(index) {
382
348
  var currentIndex = index === void 0 ? innerIndexRef.current : index;
383
349
  var imageDom = imageDomsRef.current[currentIndex];
384
-
385
350
  if (!imageDom) {
386
351
  return 1;
387
352
  }
388
-
389
353
  if (getMaxScale) {
390
354
  return getMaxScale(imageDom, currentIndex);
391
355
  }
392
-
393
356
  var imageWidth = imageDom.naturalWidth;
394
357
  var imageHeight = imageDom.naturalHeight;
395
358
  var maxScale = 1;
396
-
397
359
  if (imageWidth > imageHeight) {
398
360
  maxScale = imageWidth / windowWidth * MAX_ZOOM;
399
361
  } else {
400
362
  maxScale = Math.max(MAX_ZOOM, imageWidth / windowWidth);
401
363
  }
402
-
403
364
  return maxScale;
404
365
  }
366
+
405
367
  /**
406
368
  * 计算双击时图片缩放倍数
407
369
  * @en Calculate the zoom factor of the image when double-clicking
408
370
  */
409
-
410
-
411
371
  function getImageDoubleClickScale(currentScale) {
412
372
  var index = innerIndexRef.current;
413
373
  var imageDom = imageDomsRef.current[index];
414
-
415
374
  if (!imageDom) {
416
375
  return 1;
417
376
  }
418
-
419
377
  var maxScale = getImageMaxScale(index);
420
-
421
378
  if (getDoubleClickScale) {
422
379
  return getDoubleClickScale(currentScale, maxScale, imageDom, index);
423
380
  }
424
-
425
381
  var imageWidth = imageDom.naturalWidth;
426
382
  var imageHeight = imageDom.naturalHeight;
427
383
  var fitScale = imageWidth > imageHeight ? imageWidth / windowWidth * windowHeight / imageHeight : 1;
428
384
  var dblScale = 2;
429
-
430
385
  if (fitScale >= 2) {
431
386
  dblScale = Math.min(maxScale, fitScale);
432
387
  }
433
-
434
388
  var current = Number(currentScale.toFixed(3));
435
389
  var dbl = Number(dblScale.toFixed(3));
436
390
  return current >= 1 && current < dbl ? dbl : 1;
437
391
  }
392
+
438
393
  /**
439
394
  * 还原缩放至原始位置
440
395
  * @en Revert zoom to original position
441
396
  */
442
-
443
-
444
397
  function restoreTransformer(index) {
445
398
  var transformer = transformersRef.current[index];
446
-
447
399
  if (transformer) {
448
400
  transformer.restore();
449
401
  }
450
402
  }
403
+
451
404
  /**
452
405
  * 是否正处于缩放状态
453
406
  * @en Whether it is zooming
454
407
  */
455
-
456
-
457
408
  function isTransforming(index) {
458
409
  var _transformersRef$curr2;
459
-
460
410
  var currentIndex = index === void 0 ? innerIndexRef.current : index;
461
411
  return (_transformersRef$curr2 = transformersRef.current[currentIndex]) == null ? void 0 : _transformersRef$curr2.busy == null ? void 0 : _transformersRef$curr2.busy();
462
412
  }
413
+
463
414
  /**
464
415
  * 是否已经放大过
465
416
  * @en Whether is has been zoomed in
466
417
  */
467
-
468
-
469
418
  function isTransformed() {
470
419
  var _transformersRef$curr3;
471
-
472
420
  return (_transformersRef$curr3 = transformersRef.current[innerIndexRef.current]) == null ? void 0 : _transformersRef$curr3.dirty == null ? void 0 : _transformersRef$curr3.dirty();
473
421
  }
474
-
475
422
  function isTapStop() {
476
423
  var _transformersRef$curr4;
477
-
478
424
  return (_transformersRef$curr4 = transformersRef.current[innerIndexRef.current]) == null ? void 0 : _transformersRef$curr4.isTapStop == null ? void 0 : _transformersRef$curr4.isTapStop();
479
425
  }
426
+
480
427
  /**
481
428
  * 计算距离左右侧的距离,如果为0说明到边缘了,可以进行正常轮播操作
482
429
  * @en Calculate the distance from the left and right sides. If it is 0, it means that the edge is reached, and the normal rotation operation can be performed.
483
430
  */
484
-
485
-
486
431
  function transformTouchSide() {
487
432
  var transformer = transformersRef.current[innerIndexRef.current];
488
433
  var toLeft = transformer == null ? void 0 : transformer.toLeft == null ? void 0 : transformer.toLeft();
@@ -493,23 +438,20 @@
493
438
  right: !toRight
494
439
  };
495
440
  }
496
-
497
441
  function handleImageWrapTouchStart(e) {
498
442
  if (onTouchStart && onTouchStart(e, innerIndexRef.current)) {
499
443
  return true;
500
444
  }
501
-
502
445
  var touches = e.touches;
503
446
  touchStartXRef.current = e.touches && e.touches[0] ? e.touches[0].clientX : 0;
504
447
  movedRef.current = false;
505
- dblClickingRef.current = false; // 单点长按才触发长按
448
+ dblClickingRef.current = false;
449
+ // 单点长按才触发长按
506
450
  // @en A single long press triggers a long press
507
-
508
451
  if (touches.length === 1) {
509
452
  if (!closingRef.current) {
510
453
  longTapCheckingRef.current = true;
511
454
  }
512
-
513
455
  longTimerRef.current = window.setTimeout(function () {
514
456
  if (longTapCheckingRef.current) {
515
457
  longTapCheckingRef.current = false;
@@ -520,72 +462,61 @@
520
462
  } else {
521
463
  longTapCheckingRef.current = false;
522
464
  }
523
-
524
465
  if (isTapStop()) {
525
466
  movedRef.current = true;
526
- } // 缩放状态下,未到边缘时不触发轮播手势
467
+ }
468
+ // 缩放状态下,未到边缘时不触发轮播手势
527
469
  // @en In the zoomed state, the carousel gesture is not triggered when the edge is not reached
528
-
529
-
530
470
  if (isTransforming()) {
531
471
  startTouchingSideRef.current = transformTouchSide().side;
532
472
  return !startTouchingSideRef.current;
533
473
  }
534
474
  }
535
-
536
475
  function handleImageWrapTouchMove(e) {
537
476
  movedRef.current = true;
538
477
  longTapCheckingRef.current = false;
539
478
  longTimerRef.current && clearTimeout(longTimerRef.current);
540
-
541
479
  if (onTouchMove && onTouchMove(e, innerIndexRef.current)) {
542
480
  return true;
543
481
  }
544
-
545
482
  var evt = e.changedTouches[0];
546
483
  var touchMoveX = evt.clientX || 0;
547
- var posDisX = touchMoveX - touchStartXRef.current; // 缩放状态下,到边缘时如果还在往外滑动,则触发轮播手势
484
+ var posDisX = touchMoveX - touchStartXRef.current;
485
+ // 缩放状态下,到边缘时如果还在往外滑动,则触发轮播手势
548
486
  // @en In the zoomed state, if it is still swiped out when reaching the edge, the carousel gesture is triggered
549
-
550
487
  if (isTransforming()) {
551
488
  var sideInfo = transformTouchSide();
552
489
  return !startTouchingSideRef.current || !(sideInfo.left && posDisX > 0 || sideInfo.right && posDisX < 0);
553
490
  }
554
491
  }
555
-
556
492
  function handleImageWrapTouchEnd(e) {
557
493
  if (onTouchEnd && onTouchEnd(e, innerIndexRef.current)) {
558
494
  return true;
559
- } // 滑动到上下边缘后还在往外滑动,则关闭弹窗
495
+ }
496
+ // 滑动到上下边缘后还在往外滑动,则关闭弹窗
560
497
  // @en After sliding to the upper and lower edges and still sliding outwards, close the popup box
561
498
  // needClose为触发touchmove的次数,6和3是相对值,表示判断在往外滑动的敏感度,当未放大时对向外滑动手势更敏感
562
499
  // @en needClose is the number of times the touchmove is triggered, 6 and 3 are relative values, indicating the sensitivity of judging the outward sliding, and it is more sensitive to the outward sliding gesture when it is not zoomed in
563
-
564
-
565
500
  var needClose = swipeToClose && touchingSideDisRef.current >= (isTransformed() ? 6 : 3);
566
501
  touchingSideDisRef.current = 0;
567
502
  longTapCheckingRef.current = false;
568
503
  longTimerRef.current && clearTimeout(longTimerRef.current);
569
-
570
504
  if (needClose) {
571
505
  goClose(e);
572
506
  return true;
573
- } // 缩放状态下,未到边缘时不触发轮播手势
507
+ }
508
+ // 缩放状态下,未到边缘时不触发轮播手势
574
509
  // @en In the zoomed state, the carousel gesture is not triggered when the edge is not reached
575
-
576
-
577
510
  if (isTransforming() && !transformTouchSide().side) {
578
511
  return true;
579
512
  }
580
513
  }
581
-
582
514
  function handleImageClick(e) {
583
515
  if (movedRef.current) {
584
516
  return;
585
- } // 300ms内再次点击则触发doubleClick,否则触发click
517
+ }
518
+ // 300ms内再次点击则触发doubleClick,否则触发click
586
519
  // @en Click again within 300ms to trigger doubleClick, otherwise trigger click
587
-
588
-
589
520
  dblTimerRef.current = window.setTimeout(function () {
590
521
  if (!dblClickingRef.current) {
591
522
  if (!onImageClick || !onImageClick(innerIndexRef.current, e)) {
@@ -594,35 +525,29 @@
594
525
  }
595
526
  }, 300);
596
527
  }
597
-
598
528
  function handleImageDoubleClick(e) {
599
529
  if (dblClickingRef.current) {
600
530
  // 防止重复触发dblclick
601
531
  return;
602
532
  }
603
-
604
533
  dblClickingRef.current = true;
605
-
606
534
  if (dblTimerRef.current) {
607
535
  clearTimeout(dblTimerRef.current);
608
536
  dblTimerRef.current = null;
609
537
  }
610
-
611
538
  var index = innerIndexRef.current;
612
- onImageDoubleClick && onImageDoubleClick(index, e); // 双击时根据配置放大或缩小
539
+ onImageDoubleClick && onImageDoubleClick(index, e);
540
+ // 双击时根据配置放大或缩小
613
541
  // @en Zoom in or out according to configuration when double-clicking
614
-
615
542
  var transformer = transformersRef.current[index];
616
-
617
543
  if (transformer) {
618
544
  var trans = transformer.getTransform();
619
545
  var rate = trans.scale || 1;
620
546
  var dblScale = getImageDoubleClickScale(rate);
621
-
622
547
  if (dblScale === 1) {
623
- var img = imageDomsRef.current[index]; // 长图双击还原缩放特殊处理,因为transform和scroll不能完全同步,所以先zoomTo到原点再restore
548
+ var img = imageDomsRef.current[index];
549
+ // 长图双击还原缩放特殊处理,因为transform和scroll不能完全同步,所以先zoomTo到原点再restore
624
550
  // @en Double-click the long image to restore zoom special processing, because transform and scroll cannot be completely synchronized, so first zoomTo to the origin and then restore
625
-
626
551
  if (imageHasOverflow(img)) {
627
552
  transformer.zoomToScreenCenter(1, [windowWidth / 2, windowHeight / 2], {
628
553
  duration: 200,
@@ -642,57 +567,48 @@
642
567
  }
643
568
  }
644
569
  }
645
-
646
570
  var handleClick = (0, _helpers.useSingleAndDoubleClick)(handleImageClick, handleImageDoubleClick);
647
-
648
571
  function goClose(e) {
649
572
  if (closingRef.current) {
650
573
  return;
651
574
  }
652
-
653
575
  closingRef.current = true;
654
576
  close(e);
655
577
  }
578
+
656
579
  /**
657
580
  * 更改指定图片状态
658
581
  * @en Change specified image status
659
582
  */
660
-
661
-
662
583
  function setImagesStatusByIndex(index, data) {
663
584
  var newStatus = imagesStatusRef.current.slice();
664
585
  newStatus[index] = (0, _extends5.default)({}, newStatus[index] || {}, data);
665
586
  setImagesStatus(newStatus);
666
587
  }
588
+
667
589
  /**
668
590
  * 缩略图放大过渡动画设置
669
591
  * @en Set thumbnail zoom transition animation
670
592
  */
671
-
672
-
673
593
  function setDisplayAnimation(index) {
674
594
  var _imagesStatusRef$curr4;
675
-
676
595
  var firstLoaded = (_imagesStatusRef$curr4 = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr4.firstLoaded;
677
- var fallbackSrc = replaceFallbackWhenLoaded && firstLoaded ? images[index].src : images[index].fallbackSrc; // 用户设置了getThumbBounds和images的fallbackSrc属性才有放大过渡效果
596
+ var fallbackSrc = replaceFallbackWhenLoaded && firstLoaded ? images[index].src : images[index].fallbackSrc;
597
+ // 用户设置了getThumbBounds和images的fallbackSrc属性才有放大过渡效果
678
598
  // @en Set the fallbackSrc attribute of getThumbBounds and images to have a zoom-in transition effect
679
-
680
599
  if (!getThumbBounds || !images[index] || !fallbackSrc) {
681
600
  resetAnimation(index);
682
601
  return;
683
- } // 获取缩略图的rect,如果没获取到就取消放大过渡效果
602
+ }
603
+ // 获取缩略图的rect,如果没获取到就取消放大过渡效果
684
604
  // @en Get the rect of the thumbnail, if it is gotten, cancel the zoom transition effect
685
-
686
-
687
605
  var thumbBounds = getThumbBounds(index);
688
-
689
606
  if (!thumbBounds || !thumbBounds.width || !thumbBounds.height) {
690
607
  resetAnimation(index);
691
608
  return;
692
- } // 伪造一个fixed的图做小图放大效果
609
+ }
610
+ // 伪造一个fixed的图做小图放大效果
693
611
  // @en Forge a fixed image to make a small image enlargement effect
694
-
695
-
696
612
  var transImage = new Image();
697
613
  transImageRef.current = transImage;
698
614
  transImage.classList.add('image-preview-fake-trans-image');
@@ -702,25 +618,23 @@
702
618
  transImage.style.opacity = '0';
703
619
  transImage.style.transitionDuration = displayDuration + "ms";
704
620
  transImage.style.webkitTransitionDuration = displayDuration + "ms";
705
- document.body.appendChild(transImage); // 拿到放大之后的位置rect,没拿到就取消小图放大效果
621
+ document.body.appendChild(transImage);
622
+ // 拿到放大之后的位置rect,没拿到就取消小图放大效果
706
623
  // @en Get the zoomed-in position rect, and cancel the zoom-in effect if not getting it
707
-
708
624
  getNewImageBounds(index, fallbackSrc, transImage, function (rect) {
709
625
  if (!rect || !rect.width || !rect.height) {
710
626
  removeChild(transImage);
711
627
  resetAnimation(index);
712
628
  return;
713
- } // 通过小图rect变换到大图rect加transition做放大效果
629
+ }
630
+ // 通过小图rect变换到大图rect加transition做放大效果
714
631
  // @en Transform the small image rect to the large image rect and add transition to make a magnification effect
715
-
716
-
717
632
  (0, _mobileUtils.nextTick)(function () {
718
633
  transImage.style.opacity = '1';
719
634
  setImageBounds(transImage, rect, thumbBounds);
720
635
  setTimeout(function () {
721
636
  setPlaceholders(function (holders) {
722
637
  var _extends3;
723
-
724
638
  return (0, _extends5.default)({}, holders, (_extends3 = {}, _extends3[index] = true, _extends3));
725
639
  });
726
640
  }, Math.max(0, displayDuration - 80));
@@ -730,24 +644,22 @@
730
644
  });
731
645
  });
732
646
  }
647
+
733
648
  /**
734
649
  * 取消小图放大过渡效果
735
650
  * @en Cancel the thumbnail zoom transition effect
736
651
  */
737
-
738
-
739
652
  function resetAnimation(index) {
740
653
  setImagesStatusByIndex(index, {
741
654
  animated: true
742
655
  });
743
656
  setTransImageInfo(null);
744
657
  }
658
+
745
659
  /**
746
660
  * 根据rect设置图片的位置
747
661
  * @en Set the position of the image according to the rect
748
662
  */
749
-
750
-
751
663
  function setImageBounds(image, rect, thumbRect) {
752
664
  // 这里为保持原有比例,只设置宽度变化,高度会随宽度等比变化
753
665
  image.style.width = thumbRect.width + "px";
@@ -757,18 +669,16 @@
757
669
  image.style.transformOrigin = 'left top';
758
670
  image.style.webkitTransformOrigin = 'left top';
759
671
  }
672
+
760
673
  /**
761
674
  * 计算放大之后的位置rect
762
675
  * @en Calculate the position rect after zooming in
763
676
  */
764
-
765
-
766
677
  function getNewImageBounds(index, transSrc, transImage, callback) {
767
678
  if (!transSrc) {
768
679
  callback(null);
769
680
  return;
770
681
  }
771
-
772
682
  setTransImageInfo({
773
683
  src: transSrc,
774
684
  fit: images[index].fit,
@@ -784,19 +694,18 @@
784
694
  }
785
695
  });
786
696
  }
697
+
787
698
  /**
788
699
  * @en 渲染轮播+图片展示
789
700
  * Rendering carousel + displaying image
790
701
  */
791
-
792
-
793
702
  function renderContent(carouselProps, allImages, getImageProps) {
794
703
  return /*#__PURE__*/_react.default.createElement(_carousel.default, (0, _extends5.default)({
795
704
  autoPlay: false,
796
705
  loop: loop,
797
706
  lazyloadCount: lazyloadCount
798
707
  }, carouselProps), (allImages || []).map(function (image, index) {
799
- return /*#__PURE__*/_react.default.createElement("div", {
708
+ var innerNode = /*#__PURE__*/_react.default.createElement("div", {
800
709
  key: index,
801
710
  className: "preview-image-wrap",
802
711
  style: {
@@ -809,24 +718,25 @@
809
718
  boxHeight: windowHeight,
810
719
  bottomOverlap: null
811
720
  }, getImageProps(image, index))));
721
+ return image.extraNode ? /*#__PURE__*/_react.default.createElement("div", {
722
+ className: "preview-image-wrap-container",
723
+ key: "outer-" + index
724
+ }, innerNode, image.extraNode) : innerNode;
812
725
  }));
813
726
  }
814
-
815
727
  function getImageClass(index) {
816
728
  var _ref = imagesStatus[index] || {},
817
- loaded = _ref.loaded,
818
- animated = _ref.animated;
819
-
729
+ loaded = _ref.loaded,
730
+ animated = _ref.animated;
820
731
  return (0, _mobileUtils.cls)('preview-image', {
821
732
  'preview-hidden': index === openIndex && (!loaded || !animated)
822
733
  });
823
734
  }
735
+
824
736
  /**
825
737
  * 每张图片的样式
826
738
  * @en style of each image
827
739
  */
828
-
829
-
830
740
  function getImageStyle() {
831
741
  // 因为缩放的容器必须是没有transform和transition的纯净元素
832
742
  // @en Because the scaled container must be a pure element without transform and transition
@@ -835,31 +745,29 @@
835
745
  return {
836
746
  overflow: 'visible'
837
747
  };
838
- } // 渲染轮播指引器
839
-
748
+ }
840
749
 
750
+ // 渲染轮播指引器
841
751
  function renderPreviewIndicator(currentIndex, total, lastIndex) {
842
752
  if (renderIndicator) {
843
753
  return renderIndicator(currentIndex, total, lastIndex);
844
754
  }
845
-
846
755
  return openLoaded ? /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement("div", {
847
756
  className: "image-preview-indicator"
848
757
  }, currentIndex + 1, "/", total)) : null;
849
- } // ios在重设style时图片会消失一下造成闪动,因此在底下垫一张图
758
+ }
759
+
760
+ // ios在重设style时图片会消失一下造成闪动,因此在底下垫一张图
850
761
  // @en In iOS when resetting the style, the image will disappear and cause flickering, so put a image at the bottom
851
762
  // 优先过渡图,其次用原图
852
763
  // @en Prioritize the transition image, followed by the original image
853
-
854
-
855
764
  function renderImagePlaceholder(src, index) {
856
765
  var _ref2 = imagesStatus[index] || {},
857
- originWidth = _ref2.originWidth,
858
- originHeight = _ref2.originHeight,
859
- originLeft = _ref2.originLeft,
860
- originTop = _ref2.originTop,
861
- hasOverflow = _ref2.hasOverflow;
862
-
766
+ originWidth = _ref2.originWidth,
767
+ originHeight = _ref2.originHeight,
768
+ originLeft = _ref2.originLeft,
769
+ originTop = _ref2.originTop,
770
+ hasOverflow = _ref2.hasOverflow;
863
771
  var trans = hasOverflow ? {} : (0, _helpers.getStyleWithVendor)({
864
772
  transform: 'translateY(-50%)'
865
773
  });
@@ -874,7 +782,6 @@
874
782
  }, trans)
875
783
  }) : null;
876
784
  }
877
-
878
785
  function renderLoadingArea(index) {
879
786
  // loadingArea提出来,放到过渡图上层
880
787
  // @en The loadingArea is extracted and placed on the upper layer of the transition image
@@ -886,7 +793,6 @@
886
793
  radius: 7
887
794
  }))) : loadingArea;
888
795
  }
889
-
890
796
  return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref3) {
891
797
  var prefixCls = _ref3.prefixCls;
892
798
  return /*#__PURE__*/_react.default.createElement(_portal.default, {
@@ -951,20 +857,17 @@
951
857
  originLeft: imageEle.offsetLeft,
952
858
  hasOverflow: imageHasOverflow(imageEle)
953
859
  });
954
-
955
860
  if (index === openIndex) {
956
861
  initTransformer(index);
957
862
  } else {
958
863
  setPlaceholders(function (holders) {
959
864
  var _extends4;
960
-
961
865
  return (0, _extends5.default)({}, holders, (_extends4 = {}, _extends4[index] = true, _extends4));
962
866
  });
963
867
  }
964
868
  },
965
869
  onError: function onError() {
966
870
  imageDomsRef.current[index] = null;
967
-
968
871
  if (index === openIndex) {
969
872
  var transImage = transImageInfo == null ? void 0 : transImageInfo.movingImage;
970
873
  removeChild(transImage);
@@ -997,7 +900,6 @@
997
900
  }) : null);
998
901
  });
999
902
  });
1000
-
1001
903
  function methodsGenerator(Comp) {
1002
904
  return {
1003
905
  /**
@@ -1009,8 +911,8 @@
1009
911
  open: (0, _methods.open)(Comp)
1010
912
  };
1011
913
  }
1012
-
1013
914
  var ImagePreviewWithGlobalContext = (0, _contextProvider.CompWithGlobalContext)(ImagePreview);
915
+
1014
916
  /**
1015
917
  * 图片预览组件,支持循环轮播、双指/双击缩放、缩略图放大效果。
1016
918
  * @en The image preview, supports circular rotation, two-finger/double-tap zoom, and thumbnail zoom effects.
@@ -1019,8 +921,6 @@
1019
921
  * @name 图片预览
1020
922
  * @name_en ImagePreview
1021
923
  */
1022
-
1023
924
  var _default = (0, _mobileUtils.componentWrapper)(ImagePreview, methodsGenerator(ImagePreviewWithGlobalContext));
1024
-
1025
925
  _exports.default = _default;
1026
926
  });