@arco-design/mobile-react 2.25.4 → 2.26.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 (807) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.js +124 -43
  5. package/cjs/_helpers/index.js +13 -2
  6. package/cjs/_helpers/react-dom.js +12 -0
  7. package/cjs/_helpers/render.js +12 -0
  8. package/cjs/action-sheet/index.d.ts +2 -2
  9. package/cjs/action-sheet/index.js +30 -10
  10. package/cjs/action-sheet/methods.js +2 -0
  11. package/cjs/action-sheet/style/css/index.js +2 -0
  12. package/cjs/action-sheet/style/index.js +2 -0
  13. package/cjs/avatar/group.js +24 -12
  14. package/cjs/avatar/index.js +77 -51
  15. package/cjs/avatar/style/css/index.js +2 -0
  16. package/cjs/avatar/style/index.js +2 -0
  17. package/cjs/badge/index.js +29 -18
  18. package/cjs/badge/style/css/index.js +1 -0
  19. package/cjs/badge/style/index.js +1 -0
  20. package/cjs/button/hooks.js +20 -15
  21. package/cjs/button/index.js +67 -46
  22. package/cjs/button/style/css/index.js +2 -0
  23. package/cjs/button/style/index.js +2 -0
  24. package/cjs/carousel/index.d.ts +6 -0
  25. package/cjs/carousel/index.js +342 -184
  26. package/cjs/carousel/style/css/index.css +50 -15
  27. package/cjs/carousel/style/css/index.js +1 -0
  28. package/cjs/carousel/style/index.js +1 -0
  29. package/cjs/carousel/style/index.less +19 -14
  30. package/cjs/cell/arrow.js +3 -0
  31. package/cjs/cell/cell.js +23 -14
  32. package/cjs/cell/demo/style/css/mobile.css +8 -0
  33. package/cjs/cell/demo/style/mobile.less +2 -2
  34. package/cjs/cell/group.js +21 -9
  35. package/cjs/cell/index.js +7 -1
  36. package/cjs/cell/style/css/index.css +16 -0
  37. package/cjs/cell/style/css/index.js +1 -0
  38. package/cjs/cell/style/index.js +1 -0
  39. package/cjs/cell/style/index.less +6 -4
  40. package/cjs/checkbox/checkbox.js +57 -31
  41. package/cjs/checkbox/group.js +38 -24
  42. package/cjs/checkbox/hooks/index.js +2 -0
  43. package/cjs/checkbox/hooks/useMergeProps.js +14 -7
  44. package/cjs/checkbox/index.js +8 -1
  45. package/cjs/checkbox/style/css/index.js +1 -0
  46. package/cjs/checkbox/style/index.js +1 -0
  47. package/cjs/checkbox/type.js +2 -0
  48. package/cjs/circle-progress/index.js +57 -37
  49. package/cjs/circle-progress/style/css/index.js +1 -0
  50. package/cjs/circle-progress/style/index.js +1 -0
  51. package/cjs/collapse/collapse.js +56 -27
  52. package/cjs/collapse/group.js +44 -20
  53. package/cjs/collapse/index.js +9 -0
  54. package/cjs/collapse/style/css/index.js +1 -0
  55. package/cjs/collapse/style/index.js +1 -0
  56. package/cjs/collapse/utils.js +7 -0
  57. package/cjs/context-provider/index.d.ts +6 -0
  58. package/cjs/context-provider/index.js +30 -11
  59. package/cjs/context-provider/style/css/index.js +1 -0
  60. package/cjs/context-provider/style/index.js +1 -0
  61. package/cjs/count-down/hooks.js +43 -24
  62. package/cjs/count-down/index.js +37 -29
  63. package/cjs/count-down/singleton.js +12 -2
  64. package/cjs/count-down/style/css/index.js +1 -0
  65. package/cjs/count-down/style/index.js +1 -0
  66. package/cjs/count-down/util.js +47 -33
  67. package/cjs/date-picker/helper.js +14 -7
  68. package/cjs/date-picker/index.js +106 -42
  69. package/cjs/date-picker/style/css/index.js +2 -0
  70. package/cjs/date-picker/style/index.js +2 -0
  71. package/cjs/dialog/index.d.ts +2 -2
  72. package/cjs/dialog/index.js +54 -28
  73. package/cjs/dialog/methods.js +22 -9
  74. package/cjs/dialog/style/css/index.js +2 -0
  75. package/cjs/dialog/style/index.js +2 -0
  76. package/cjs/divider/demo/style/css/mobile.css +7 -0
  77. package/cjs/divider/demo/style/mobile.less +12 -0
  78. package/cjs/divider/index.d.ts +49 -0
  79. package/cjs/divider/index.js +65 -0
  80. package/cjs/divider/style/css/index.css +69 -0
  81. package/cjs/divider/style/css/index.d.ts +2 -0
  82. package/cjs/divider/style/css/index.js +5 -0
  83. package/cjs/divider/style/index.d.ts +2 -0
  84. package/cjs/divider/style/index.js +5 -0
  85. package/cjs/divider/style/index.less +66 -0
  86. package/cjs/dropdown/dropdown.js +113 -74
  87. package/cjs/dropdown/index.js +8 -1
  88. package/cjs/dropdown/options.js +28 -12
  89. package/cjs/dropdown/style/css/index.js +1 -0
  90. package/cjs/dropdown/style/index.js +1 -0
  91. package/cjs/dropdown-menu/dropdown-menu.js +84 -49
  92. package/cjs/dropdown-menu/helper.js +27 -6
  93. package/cjs/dropdown-menu/index.js +6 -0
  94. package/cjs/dropdown-menu/style/css/index.js +2 -0
  95. package/cjs/dropdown-menu/style/index.js +2 -0
  96. package/cjs/ellipsis/components/js-ellipsis.js +72 -33
  97. package/cjs/ellipsis/components/native-ellipsis.js +15 -9
  98. package/cjs/ellipsis/index.js +32 -19
  99. package/cjs/ellipsis/style/css/index.js +1 -0
  100. package/cjs/ellipsis/style/index.js +1 -0
  101. package/cjs/ellipsis/utils/dom.js +8 -0
  102. package/cjs/ellipsis/utils/is.js +5 -1
  103. package/cjs/form/form-item-context.js +5 -0
  104. package/cjs/form/form-item.js +124 -42
  105. package/cjs/form/index.js +35 -17
  106. package/cjs/form/style/css/index.js +1 -0
  107. package/cjs/form/style/index.js +1 -0
  108. package/cjs/form/type.js +3 -0
  109. package/cjs/form/useForm.js +76 -18
  110. package/cjs/form/utils.js +10 -3
  111. package/cjs/grid/index.js +41 -21
  112. package/cjs/grid/style/css/index.js +1 -0
  113. package/cjs/grid/style/index.js +1 -0
  114. package/cjs/icon/IconAdd/index.js +12 -5
  115. package/cjs/icon/IconArrowBack/index.js +12 -5
  116. package/cjs/icon/IconArrowDown/index.js +12 -5
  117. package/cjs/icon/IconArrowIn/index.js +12 -5
  118. package/cjs/icon/IconArrowUp/index.js +12 -5
  119. package/cjs/icon/IconCheck/index.js +12 -5
  120. package/cjs/icon/IconCheckBold/index.js +12 -5
  121. package/cjs/icon/IconCircleChecked/index.js +12 -5
  122. package/cjs/icon/IconCircleDisabled/index.js +12 -5
  123. package/cjs/icon/IconCircleUnchecked/index.js +12 -5
  124. package/cjs/icon/IconClear/index.js +12 -5
  125. package/cjs/icon/IconClose/index.js +12 -5
  126. package/cjs/icon/IconCloseBold/index.js +12 -5
  127. package/cjs/icon/IconDelete/index.js +12 -5
  128. package/cjs/icon/IconEdit/index.js +12 -5
  129. package/cjs/icon/IconErrorCircle/index.js +12 -5
  130. package/cjs/icon/IconEyeInvisible/index.js +12 -5
  131. package/cjs/icon/IconEyeVisible/index.js +12 -5
  132. package/cjs/icon/IconEyelashInvisible/index.js +12 -5
  133. package/cjs/icon/IconGift/index.js +12 -5
  134. package/cjs/icon/IconHeart/index.js +12 -5
  135. package/cjs/icon/IconHome/index.js +12 -5
  136. package/cjs/icon/IconLikeCircle/index.js +12 -5
  137. package/cjs/icon/IconMinus/index.js +12 -5
  138. package/cjs/icon/IconMore/index.js +12 -5
  139. package/cjs/icon/IconNotice/index.js +12 -5
  140. package/cjs/icon/IconNoticeOff/index.js +12 -5
  141. package/cjs/icon/IconPicture/index.js +12 -5
  142. package/cjs/icon/IconPlay/index.js +12 -5
  143. package/cjs/icon/IconQuestionCircle/index.js +12 -5
  144. package/cjs/icon/IconRefresh/index.js +12 -5
  145. package/cjs/icon/IconSad/index.js +12 -5
  146. package/cjs/icon/IconScan/index.js +12 -5
  147. package/cjs/icon/IconSearch/index.js +12 -5
  148. package/cjs/icon/IconSetting/index.js +12 -5
  149. package/cjs/icon/IconShop/index.js +12 -5
  150. package/cjs/icon/IconShopping/index.js +12 -5
  151. package/cjs/icon/IconSmileFill/index.js +12 -5
  152. package/cjs/icon/IconSound/index.js +12 -5
  153. package/cjs/icon/IconSquareChecked/index.js +12 -5
  154. package/cjs/icon/IconSquareDisabled/index.js +12 -5
  155. package/cjs/icon/IconSquareUnchecked/index.js +12 -5
  156. package/cjs/icon/IconStar/index.js +12 -5
  157. package/cjs/icon/IconStarFill/index.js +12 -5
  158. package/cjs/icon/IconStarHalf/index.js +12 -5
  159. package/cjs/icon/IconSubway/index.js +12 -5
  160. package/cjs/icon/IconSuccessCircle/index.js +12 -5
  161. package/cjs/icon/IconTriDown/index.js +12 -5
  162. package/cjs/icon/IconTriUp/index.js +12 -5
  163. package/cjs/icon/IconUpload/index.js +12 -5
  164. package/cjs/icon/IconUser/index.js +12 -5
  165. package/cjs/icon/IconUserFill/index.js +12 -5
  166. package/cjs/icon/IconWarnCircle/index.js +12 -5
  167. package/cjs/icon/IconWarnCircleFill/index.js +12 -5
  168. package/cjs/icon/index.js +111 -0
  169. package/cjs/image/index.js +92 -56
  170. package/cjs/image/style/css/index.css +1 -0
  171. package/cjs/image/style/css/index.js +2 -0
  172. package/cjs/image/style/index.js +2 -0
  173. package/cjs/image/style/index.less +1 -0
  174. package/cjs/image-picker/add-icon.js +3 -0
  175. package/cjs/image-picker/index.js +96 -52
  176. package/cjs/image-picker/style/css/index.js +2 -0
  177. package/cjs/image-picker/style/index.js +2 -0
  178. package/cjs/image-preview/index.d.ts +2 -2
  179. package/cjs/image-preview/index.js +239 -119
  180. package/cjs/image-preview/methods.js +18 -5
  181. package/cjs/image-preview/style/css/index.js +4 -0
  182. package/cjs/image-preview/style/index.js +4 -0
  183. package/cjs/index.d.ts +10 -9
  184. package/cjs/index.js +132 -19
  185. package/cjs/input/demo/style/css/mobile.css +5 -1
  186. package/cjs/input/demo/style/mobile.less +2 -2
  187. package/cjs/input/hooks.js +104 -42
  188. package/cjs/input/index.js +40 -26
  189. package/cjs/input/props.d.ts +6 -0
  190. package/cjs/input/style/css/index.css +9 -0
  191. package/cjs/input/style/css/index.js +1 -0
  192. package/cjs/input/style/index.js +1 -0
  193. package/cjs/input/style/index.less +2 -2
  194. package/cjs/load-more/index.js +56 -29
  195. package/cjs/load-more/style/css/index.js +1 -0
  196. package/cjs/load-more/style/index.js +1 -0
  197. package/cjs/loading/index.js +48 -19
  198. package/cjs/loading/style/css/index.js +1 -0
  199. package/cjs/loading/style/index.js +1 -0
  200. package/cjs/masking/index.d.ts +2 -2
  201. package/cjs/masking/index.js +79 -46
  202. package/cjs/masking/methods.js +19 -4
  203. package/cjs/masking/style/css/index.js +2 -0
  204. package/cjs/masking/style/index.js +2 -0
  205. package/cjs/nav-bar/back-icon.js +5 -1
  206. package/cjs/nav-bar/index.js +61 -37
  207. package/cjs/nav-bar/style/css/index.js +1 -0
  208. package/cjs/nav-bar/style/index.js +1 -0
  209. package/cjs/notice-bar/index.js +61 -33
  210. package/cjs/notice-bar/style/css/index.css +33 -0
  211. package/cjs/notice-bar/style/css/index.js +1 -0
  212. package/cjs/notice-bar/style/index.js +1 -0
  213. package/cjs/notice-bar/style/index.less +16 -3
  214. package/cjs/notify/index.d.ts +8 -8
  215. package/cjs/notify/index.js +49 -20
  216. package/cjs/notify/methods.js +17 -2
  217. package/cjs/notify/style/css/index.js +1 -0
  218. package/cjs/notify/style/index.js +1 -0
  219. package/cjs/pagination/arrow.js +3 -0
  220. package/cjs/pagination/index.js +58 -27
  221. package/cjs/pagination/style/css/index.js +1 -0
  222. package/cjs/pagination/style/index.js +1 -0
  223. package/cjs/picker/index.js +81 -40
  224. package/cjs/picker/style/css/index.js +3 -0
  225. package/cjs/picker/style/index.js +3 -0
  226. package/cjs/picker-view/components/cascader.js +31 -14
  227. package/cjs/picker-view/components/multi-picker.js +20 -6
  228. package/cjs/picker-view/components/picker-cell.js +97 -45
  229. package/cjs/picker-view/index.js +71 -25
  230. package/cjs/picker-view/style/css/index.js +1 -0
  231. package/cjs/picker-view/style/index.js +1 -0
  232. package/cjs/popover/hooks/index.js +4 -0
  233. package/cjs/popover/hooks/useEvent.js +49 -25
  234. package/cjs/popover/hooks/usePosition.js +151 -94
  235. package/cjs/popover/index.js +8 -1
  236. package/cjs/popover/menu.js +51 -32
  237. package/cjs/popover/popover-inner.js +47 -30
  238. package/cjs/popover/popover.js +101 -69
  239. package/cjs/popover/style/css/index.js +2 -0
  240. package/cjs/popover/style/index.js +2 -0
  241. package/cjs/popup/index.d.ts +2 -2
  242. package/cjs/popup/index.js +39 -22
  243. package/cjs/popup/methods.js +2 -0
  244. package/cjs/popup/style/css/index.js +2 -0
  245. package/cjs/popup/style/index.js +2 -0
  246. package/cjs/popup-swiper/index.d.ts +2 -2
  247. package/cjs/popup-swiper/index.js +80 -38
  248. package/cjs/popup-swiper/methods.js +2 -0
  249. package/cjs/popup-swiper/style/css/index.js +2 -0
  250. package/cjs/popup-swiper/style/index.js +2 -0
  251. package/cjs/portal/index.js +8 -3
  252. package/cjs/portal/style/css/index.js +1 -0
  253. package/cjs/portal/style/index.js +1 -0
  254. package/cjs/progress/index.js +44 -27
  255. package/cjs/progress/style/css/index.js +1 -0
  256. package/cjs/progress/style/index.js +1 -0
  257. package/cjs/pull-refresh/android-pull-refresh.js +100 -58
  258. package/cjs/pull-refresh/hooks.js +32 -11
  259. package/cjs/pull-refresh/index.js +14 -3
  260. package/cjs/pull-refresh/ios-pull-refresh.js +80 -53
  261. package/cjs/pull-refresh/model.js +1 -0
  262. package/cjs/pull-refresh/style/css/index.js +2 -0
  263. package/cjs/pull-refresh/style/index.js +2 -0
  264. package/cjs/radio/group.js +34 -20
  265. package/cjs/radio/index.js +8 -1
  266. package/cjs/radio/radio.js +10 -0
  267. package/cjs/radio/style/css/index.js +1 -0
  268. package/cjs/radio/style/index.js +1 -0
  269. package/cjs/rate/index.js +50 -24
  270. package/cjs/rate/style/css/index.js +1 -0
  271. package/cjs/rate/style/index.js +1 -0
  272. package/cjs/search-bar/association.js +32 -14
  273. package/cjs/search-bar/cancel-button.js +16 -8
  274. package/cjs/search-bar/highlight.js +25 -14
  275. package/cjs/search-bar/index.js +97 -77
  276. package/cjs/search-bar/style/css/index.js +1 -0
  277. package/cjs/search-bar/style/index.js +1 -0
  278. package/cjs/show-monitor/index.js +93 -34
  279. package/cjs/show-monitor/style/css/index.js +1 -0
  280. package/cjs/show-monitor/style/index.js +1 -0
  281. package/cjs/slider/hooks/index.js +13 -0
  282. package/cjs/slider/hooks/useSliderEvents.js +55 -26
  283. package/cjs/slider/hooks/useSliderIcon.js +20 -6
  284. package/cjs/slider/hooks/useSliderInit.js +52 -32
  285. package/cjs/slider/hooks/useSliderStyle.js +24 -12
  286. package/cjs/slider/index.js +72 -46
  287. package/cjs/slider/marks.js +26 -12
  288. package/cjs/slider/popover.js +13 -4
  289. package/cjs/slider/style/css/index.js +2 -0
  290. package/cjs/slider/style/index.js +2 -0
  291. package/cjs/slider/thumb.js +23 -8
  292. package/cjs/stepper/hooks/useButtonClick.js +28 -19
  293. package/cjs/stepper/hooks/useInputEvent.js +18 -9
  294. package/cjs/stepper/hooks/useValue.js +14 -9
  295. package/cjs/stepper/index.js +96 -82
  296. package/cjs/stepper/style/css/index.js +1 -0
  297. package/cjs/stepper/style/index.js +1 -0
  298. package/cjs/steps/index.js +40 -22
  299. package/cjs/steps/step.js +27 -10
  300. package/cjs/steps/style/css/index.js +1 -0
  301. package/cjs/steps/style/index.js +1 -0
  302. package/cjs/sticky/index.js +65 -36
  303. package/cjs/sticky/style/css/index.js +1 -0
  304. package/cjs/sticky/style/index.js +1 -0
  305. package/cjs/style.d.ts +9 -8
  306. package/cjs/style.js +64 -8
  307. package/cjs/swipe-action/index.js +92 -40
  308. package/cjs/swipe-action/item.js +17 -9
  309. package/cjs/swipe-action/style/css/index.js +1 -0
  310. package/cjs/swipe-action/style/index.js +1 -0
  311. package/cjs/swipe-load/index.js +83 -55
  312. package/cjs/swipe-load/style/css/index.js +1 -0
  313. package/cjs/swipe-load/style/index.js +1 -0
  314. package/cjs/switch/index.js +47 -27
  315. package/cjs/switch/style/css/index.js +1 -0
  316. package/cjs/switch/style/index.js +1 -0
  317. package/cjs/tab-bar/index.js +7 -0
  318. package/cjs/tab-bar/item.js +24 -6
  319. package/cjs/tab-bar/style/css/index.js +1 -0
  320. package/cjs/tab-bar/style/index.js +1 -0
  321. package/cjs/tab-bar/tab-bar.js +31 -15
  322. package/cjs/tabs/index.js +195 -129
  323. package/cjs/tabs/style/css/index.js +1 -0
  324. package/cjs/tabs/style/index.js +1 -0
  325. package/cjs/tabs/tab-cell-underline.js +111 -38
  326. package/cjs/tabs/tab-cell.js +124 -70
  327. package/cjs/tabs/tab-pane.js +94 -49
  328. package/cjs/tabs/type.d.ts +18 -2
  329. package/cjs/tag/index.js +8 -1
  330. package/cjs/tag/list.js +26 -11
  331. package/cjs/tag/style/css/index.js +1 -0
  332. package/cjs/tag/style/index.js +1 -0
  333. package/cjs/tag/tag.js +32 -20
  334. package/cjs/textarea/index.js +56 -35
  335. package/cjs/textarea/style/css/index.js +2 -0
  336. package/cjs/textarea/style/index.js +2 -0
  337. package/cjs/toast/index.d.ts +12 -12
  338. package/cjs/toast/index.js +61 -26
  339. package/cjs/toast/methods.js +16 -2
  340. package/cjs/toast/style/css/index.js +3 -0
  341. package/cjs/toast/style/index.js +3 -0
  342. package/cjs/transition/index.js +18 -10
  343. package/cjs/transition/style/css/index.js +1 -0
  344. package/cjs/transition/style/index.js +1 -0
  345. package/dist/index.js +21588 -19198
  346. package/dist/index.min.js +4 -4
  347. package/dist/style.css +3637 -3501
  348. package/dist/style.min.css +1 -1
  349. package/esm/_helpers/hooks.js +103 -42
  350. package/esm/_helpers/index.js +3 -2
  351. package/esm/_helpers/react-dom.js +10 -0
  352. package/esm/_helpers/render.js +7 -0
  353. package/esm/action-sheet/index.d.ts +2 -2
  354. package/esm/action-sheet/index.js +16 -10
  355. package/esm/avatar/group.js +16 -12
  356. package/esm/avatar/index.js +62 -51
  357. package/esm/badge/index.js +22 -18
  358. package/esm/button/hooks.js +18 -15
  359. package/esm/button/index.js +57 -46
  360. package/esm/carousel/index.d.ts +6 -0
  361. package/esm/carousel/index.js +336 -186
  362. package/esm/carousel/style/css/index.css +50 -15
  363. package/esm/carousel/style/index.less +19 -14
  364. package/esm/cell/cell.js +14 -14
  365. package/esm/cell/demo/style/css/mobile.css +8 -0
  366. package/esm/cell/demo/style/mobile.less +2 -2
  367. package/esm/cell/group.js +11 -9
  368. package/esm/cell/index.js +1 -1
  369. package/esm/cell/style/css/index.css +16 -0
  370. package/esm/cell/style/index.less +6 -4
  371. package/esm/checkbox/checkbox.js +42 -31
  372. package/esm/checkbox/group.js +28 -24
  373. package/esm/checkbox/hooks/useMergeProps.js +9 -7
  374. package/esm/checkbox/index.js +2 -2
  375. package/esm/checkbox/type.js +1 -0
  376. package/esm/circle-progress/index.js +49 -37
  377. package/esm/collapse/collapse.js +46 -27
  378. package/esm/collapse/group.js +34 -20
  379. package/esm/collapse/index.js +1 -1
  380. package/esm/collapse/utils.js +1 -0
  381. package/esm/context-provider/index.d.ts +6 -0
  382. package/esm/context-provider/index.js +20 -11
  383. package/esm/count-down/hooks.js +37 -24
  384. package/esm/count-down/index.js +29 -30
  385. package/esm/count-down/singleton.js +5 -2
  386. package/esm/count-down/util.js +42 -33
  387. package/esm/date-picker/helper.js +9 -7
  388. package/esm/date-picker/index.js +93 -42
  389. package/esm/dialog/index.d.ts +2 -2
  390. package/esm/dialog/index.js +39 -28
  391. package/esm/dialog/methods.js +11 -9
  392. package/esm/divider/demo/style/css/mobile.css +7 -0
  393. package/esm/divider/demo/style/mobile.less +12 -0
  394. package/esm/divider/index.d.ts +49 -0
  395. package/esm/divider/index.js +49 -0
  396. package/esm/divider/style/css/index.css +69 -0
  397. package/esm/divider/style/css/index.d.ts +2 -0
  398. package/esm/divider/style/css/index.js +2 -0
  399. package/esm/divider/style/index.d.ts +2 -0
  400. package/esm/divider/style/index.js +2 -0
  401. package/esm/divider/style/index.less +66 -0
  402. package/esm/dropdown/dropdown.js +102 -74
  403. package/esm/dropdown/index.js +1 -1
  404. package/esm/dropdown/options.js +20 -12
  405. package/esm/dropdown-menu/dropdown-menu.js +74 -49
  406. package/esm/dropdown-menu/helper.js +16 -6
  407. package/esm/dropdown-menu/index.js +1 -1
  408. package/esm/ellipsis/components/js-ellipsis.js +63 -33
  409. package/esm/ellipsis/components/native-ellipsis.js +11 -9
  410. package/esm/ellipsis/index.js +21 -20
  411. package/esm/ellipsis/utils/dom.js +7 -0
  412. package/esm/ellipsis/utils/is.js +1 -1
  413. package/esm/form/form-item.js +110 -42
  414. package/esm/form/index.js +20 -17
  415. package/esm/form/type.js +3 -0
  416. package/esm/form/useForm.js +71 -17
  417. package/esm/form/utils.js +6 -3
  418. package/esm/grid/index.js +34 -21
  419. package/esm/icon/IconAdd/index.js +6 -5
  420. package/esm/icon/IconArrowBack/index.js +6 -5
  421. package/esm/icon/IconArrowDown/index.js +6 -5
  422. package/esm/icon/IconArrowIn/index.js +6 -5
  423. package/esm/icon/IconArrowUp/index.js +6 -5
  424. package/esm/icon/IconCheck/index.js +6 -5
  425. package/esm/icon/IconCheckBold/index.js +6 -5
  426. package/esm/icon/IconCircleChecked/index.js +6 -5
  427. package/esm/icon/IconCircleDisabled/index.js +6 -5
  428. package/esm/icon/IconCircleUnchecked/index.js +6 -5
  429. package/esm/icon/IconClear/index.js +6 -5
  430. package/esm/icon/IconClose/index.js +6 -5
  431. package/esm/icon/IconCloseBold/index.js +6 -5
  432. package/esm/icon/IconDelete/index.js +6 -5
  433. package/esm/icon/IconEdit/index.js +6 -5
  434. package/esm/icon/IconErrorCircle/index.js +6 -5
  435. package/esm/icon/IconEyeInvisible/index.js +6 -5
  436. package/esm/icon/IconEyeVisible/index.js +6 -5
  437. package/esm/icon/IconEyelashInvisible/index.js +6 -5
  438. package/esm/icon/IconGift/index.js +6 -5
  439. package/esm/icon/IconHeart/index.js +6 -5
  440. package/esm/icon/IconHome/index.js +6 -5
  441. package/esm/icon/IconLikeCircle/index.js +6 -5
  442. package/esm/icon/IconMinus/index.js +6 -5
  443. package/esm/icon/IconMore/index.js +6 -5
  444. package/esm/icon/IconNotice/index.js +6 -5
  445. package/esm/icon/IconNoticeOff/index.js +6 -5
  446. package/esm/icon/IconPicture/index.js +6 -5
  447. package/esm/icon/IconPlay/index.js +6 -5
  448. package/esm/icon/IconQuestionCircle/index.js +6 -5
  449. package/esm/icon/IconRefresh/index.js +6 -5
  450. package/esm/icon/IconSad/index.js +6 -5
  451. package/esm/icon/IconScan/index.js +6 -5
  452. package/esm/icon/IconSearch/index.js +6 -5
  453. package/esm/icon/IconSetting/index.js +6 -5
  454. package/esm/icon/IconShop/index.js +6 -5
  455. package/esm/icon/IconShopping/index.js +6 -5
  456. package/esm/icon/IconSmileFill/index.js +6 -5
  457. package/esm/icon/IconSound/index.js +6 -5
  458. package/esm/icon/IconSquareChecked/index.js +6 -5
  459. package/esm/icon/IconSquareDisabled/index.js +6 -5
  460. package/esm/icon/IconSquareUnchecked/index.js +6 -5
  461. package/esm/icon/IconStar/index.js +6 -5
  462. package/esm/icon/IconStarFill/index.js +6 -5
  463. package/esm/icon/IconStarHalf/index.js +6 -5
  464. package/esm/icon/IconSubway/index.js +6 -5
  465. package/esm/icon/IconSuccessCircle/index.js +6 -5
  466. package/esm/icon/IconTriDown/index.js +6 -5
  467. package/esm/icon/IconTriUp/index.js +6 -5
  468. package/esm/icon/IconUpload/index.js +6 -5
  469. package/esm/icon/IconUser/index.js +6 -5
  470. package/esm/icon/IconUserFill/index.js +6 -5
  471. package/esm/icon/IconWarnCircle/index.js +6 -5
  472. package/esm/icon/IconWarnCircleFill/index.js +6 -5
  473. package/esm/image/index.js +84 -57
  474. package/esm/image/style/css/index.css +1 -0
  475. package/esm/image/style/index.less +1 -0
  476. package/esm/image-picker/index.js +80 -52
  477. package/esm/image-preview/index.d.ts +2 -2
  478. package/esm/image-preview/index.js +217 -119
  479. package/esm/image-preview/methods.js +14 -4
  480. package/esm/index.d.ts +10 -9
  481. package/esm/index.js +10 -9
  482. package/esm/input/demo/style/css/mobile.css +5 -1
  483. package/esm/input/demo/style/mobile.less +2 -2
  484. package/esm/input/hooks.js +96 -42
  485. package/esm/input/index.js +30 -26
  486. package/esm/input/props.d.ts +6 -0
  487. package/esm/input/style/css/index.css +9 -0
  488. package/esm/input/style/index.less +2 -2
  489. package/esm/load-more/index.js +48 -29
  490. package/esm/loading/index.js +40 -19
  491. package/esm/masking/index.d.ts +2 -2
  492. package/esm/masking/index.js +64 -46
  493. package/esm/masking/methods.js +15 -4
  494. package/esm/nav-bar/back-icon.js +3 -1
  495. package/esm/nav-bar/index.js +52 -37
  496. package/esm/notice-bar/index.js +56 -35
  497. package/esm/notice-bar/style/css/index.css +33 -0
  498. package/esm/notice-bar/style/index.less +16 -3
  499. package/esm/notify/index.d.ts +8 -8
  500. package/esm/notify/index.js +33 -20
  501. package/esm/notify/methods.js +13 -2
  502. package/esm/pagination/index.js +50 -27
  503. package/esm/picker/index.js +66 -40
  504. package/esm/picker-view/components/cascader.js +23 -14
  505. package/esm/picker-view/components/multi-picker.js +16 -6
  506. package/esm/picker-view/components/picker-cell.js +89 -45
  507. package/esm/picker-view/index.js +54 -25
  508. package/esm/popover/hooks/useEvent.js +41 -26
  509. package/esm/popover/hooks/usePosition.js +144 -94
  510. package/esm/popover/index.js +2 -2
  511. package/esm/popover/menu.js +41 -32
  512. package/esm/popover/popover-inner.js +38 -30
  513. package/esm/popover/popover.js +90 -69
  514. package/esm/popup/index.d.ts +2 -2
  515. package/esm/popup/index.js +25 -22
  516. package/esm/popup-swiper/index.d.ts +2 -2
  517. package/esm/popup-swiper/index.js +64 -38
  518. package/esm/portal/index.js +5 -3
  519. package/esm/progress/index.js +36 -27
  520. package/esm/pull-refresh/android-pull-refresh.js +90 -58
  521. package/esm/pull-refresh/hooks.js +23 -11
  522. package/esm/pull-refresh/index.js +5 -3
  523. package/esm/pull-refresh/ios-pull-refresh.js +68 -53
  524. package/esm/pull-refresh/model.js +1 -0
  525. package/esm/radio/group.js +24 -20
  526. package/esm/radio/index.js +2 -2
  527. package/esm/rate/index.js +39 -24
  528. package/esm/search-bar/association.js +27 -14
  529. package/esm/search-bar/cancel-button.js +11 -8
  530. package/esm/search-bar/highlight.js +20 -14
  531. package/esm/search-bar/index.js +86 -77
  532. package/esm/show-monitor/index.js +85 -34
  533. package/esm/slider/hooks/useSliderEvents.js +51 -26
  534. package/esm/slider/hooks/useSliderIcon.js +13 -6
  535. package/esm/slider/hooks/useSliderInit.js +46 -32
  536. package/esm/slider/hooks/useSliderStyle.js +20 -12
  537. package/esm/slider/index.js +62 -46
  538. package/esm/slider/marks.js +18 -12
  539. package/esm/slider/popover.js +6 -4
  540. package/esm/slider/thumb.js +15 -8
  541. package/esm/stepper/hooks/useButtonClick.js +27 -19
  542. package/esm/stepper/hooks/useInputEvent.js +16 -9
  543. package/esm/stepper/hooks/useValue.js +12 -9
  544. package/esm/stepper/index.js +82 -82
  545. package/esm/steps/index.js +27 -22
  546. package/esm/steps/step.js +19 -10
  547. package/esm/sticky/index.js +56 -36
  548. package/esm/style.d.ts +9 -8
  549. package/esm/style.js +9 -8
  550. package/esm/swipe-action/index.js +80 -40
  551. package/esm/swipe-action/item.js +12 -9
  552. package/esm/swipe-load/index.js +75 -56
  553. package/esm/switch/index.js +39 -27
  554. package/esm/tab-bar/index.js +1 -0
  555. package/esm/tab-bar/item.js +13 -6
  556. package/esm/tab-bar/tab-bar.js +21 -15
  557. package/esm/tabs/index.js +183 -130
  558. package/esm/tabs/tab-cell-underline.js +103 -38
  559. package/esm/tabs/tab-cell.js +114 -70
  560. package/esm/tabs/tab-pane.js +85 -49
  561. package/esm/tabs/type.d.ts +18 -2
  562. package/esm/tag/index.js +2 -2
  563. package/esm/tag/list.js +16 -11
  564. package/esm/tag/tag.js +22 -20
  565. package/esm/textarea/index.js +46 -35
  566. package/esm/toast/index.d.ts +12 -12
  567. package/esm/toast/index.js +42 -26
  568. package/esm/toast/methods.js +12 -2
  569. package/esm/transition/index.js +12 -10
  570. package/package.json +3 -3
  571. package/tokens/app/arcodesign/default/css-variables.less +8 -0
  572. package/tokens/app/arcodesign/default/index.d.ts +8 -0
  573. package/tokens/app/arcodesign/default/index.js +11 -1
  574. package/tokens/app/arcodesign/default/index.json +94 -0
  575. package/tokens/app/arcodesign/default/index.less +8 -0
  576. package/tokens/mixin/index.less +19 -1
  577. package/umd/_helpers/hooks.js +121 -43
  578. package/umd/_helpers/index.js +6 -2
  579. package/umd/_helpers/react-dom.js +11 -0
  580. package/umd/_helpers/render.js +9 -0
  581. package/umd/action-sheet/index.d.ts +2 -2
  582. package/umd/action-sheet/index.js +22 -10
  583. package/umd/action-sheet/methods.js +1 -0
  584. package/umd/avatar/group.js +20 -12
  585. package/umd/avatar/index.js +68 -51
  586. package/umd/badge/index.js +25 -18
  587. package/umd/button/hooks.js +19 -15
  588. package/umd/button/index.js +60 -46
  589. package/umd/carousel/index.d.ts +6 -0
  590. package/umd/carousel/index.js +337 -184
  591. package/umd/carousel/style/css/index.css +50 -15
  592. package/umd/carousel/style/index.less +19 -14
  593. package/umd/cell/arrow.js +2 -0
  594. package/umd/cell/cell.js +18 -14
  595. package/umd/cell/demo/style/css/mobile.css +8 -0
  596. package/umd/cell/demo/style/mobile.less +2 -2
  597. package/umd/cell/group.js +17 -9
  598. package/umd/cell/index.js +2 -1
  599. package/umd/cell/style/css/index.css +16 -0
  600. package/umd/cell/style/index.less +6 -4
  601. package/umd/checkbox/checkbox.js +45 -31
  602. package/umd/checkbox/group.js +34 -24
  603. package/umd/checkbox/hooks/useMergeProps.js +12 -7
  604. package/umd/checkbox/index.js +3 -1
  605. package/umd/checkbox/type.js +2 -0
  606. package/umd/circle-progress/index.js +52 -37
  607. package/umd/collapse/collapse.js +50 -27
  608. package/umd/collapse/group.js +38 -20
  609. package/umd/collapse/index.js +3 -0
  610. package/umd/collapse/utils.js +5 -0
  611. package/umd/context-provider/index.d.ts +6 -0
  612. package/umd/context-provider/index.js +25 -11
  613. package/umd/count-down/hooks.js +39 -24
  614. package/umd/count-down/index.js +31 -29
  615. package/umd/count-down/singleton.js +10 -2
  616. package/umd/count-down/util.js +47 -33
  617. package/umd/date-picker/helper.js +13 -7
  618. package/umd/date-picker/index.js +97 -42
  619. package/umd/dialog/index.d.ts +2 -2
  620. package/umd/dialog/index.js +44 -28
  621. package/umd/dialog/methods.js +18 -9
  622. package/umd/divider/demo/style/css/mobile.css +7 -0
  623. package/umd/divider/demo/style/mobile.less +12 -0
  624. package/umd/divider/index.d.ts +49 -0
  625. package/umd/divider/index.js +71 -0
  626. package/umd/divider/style/css/index.css +69 -0
  627. package/umd/divider/style/css/index.d.ts +2 -0
  628. package/umd/divider/style/css/index.js +15 -0
  629. package/umd/divider/style/index.d.ts +2 -0
  630. package/umd/divider/style/index.js +15 -0
  631. package/umd/divider/style/index.less +66 -0
  632. package/umd/dropdown/dropdown.js +106 -74
  633. package/umd/dropdown/index.js +3 -1
  634. package/umd/dropdown/options.js +24 -12
  635. package/umd/dropdown-menu/dropdown-menu.js +78 -49
  636. package/umd/dropdown-menu/helper.js +25 -6
  637. package/umd/dropdown-menu/index.js +2 -0
  638. package/umd/ellipsis/components/js-ellipsis.js +69 -33
  639. package/umd/ellipsis/components/native-ellipsis.js +13 -9
  640. package/umd/ellipsis/index.js +24 -19
  641. package/umd/ellipsis/utils/dom.js +8 -0
  642. package/umd/ellipsis/utils/is.js +5 -1
  643. package/umd/form/form-item-context.js +3 -0
  644. package/umd/form/form-item.js +114 -42
  645. package/umd/form/index.js +25 -17
  646. package/umd/form/type.js +3 -0
  647. package/umd/form/useForm.js +72 -18
  648. package/umd/form/utils.js +10 -3
  649. package/umd/grid/index.js +37 -21
  650. package/umd/icon/IconAdd/index.js +7 -5
  651. package/umd/icon/IconArrowBack/index.js +7 -5
  652. package/umd/icon/IconArrowDown/index.js +7 -5
  653. package/umd/icon/IconArrowIn/index.js +7 -5
  654. package/umd/icon/IconArrowUp/index.js +7 -5
  655. package/umd/icon/IconCheck/index.js +7 -5
  656. package/umd/icon/IconCheckBold/index.js +7 -5
  657. package/umd/icon/IconCircleChecked/index.js +7 -5
  658. package/umd/icon/IconCircleDisabled/index.js +7 -5
  659. package/umd/icon/IconCircleUnchecked/index.js +7 -5
  660. package/umd/icon/IconClear/index.js +7 -5
  661. package/umd/icon/IconClose/index.js +7 -5
  662. package/umd/icon/IconCloseBold/index.js +7 -5
  663. package/umd/icon/IconDelete/index.js +7 -5
  664. package/umd/icon/IconEdit/index.js +7 -5
  665. package/umd/icon/IconErrorCircle/index.js +7 -5
  666. package/umd/icon/IconEyeInvisible/index.js +7 -5
  667. package/umd/icon/IconEyeVisible/index.js +7 -5
  668. package/umd/icon/IconEyelashInvisible/index.js +7 -5
  669. package/umd/icon/IconGift/index.js +7 -5
  670. package/umd/icon/IconHeart/index.js +7 -5
  671. package/umd/icon/IconHome/index.js +7 -5
  672. package/umd/icon/IconLikeCircle/index.js +7 -5
  673. package/umd/icon/IconMinus/index.js +7 -5
  674. package/umd/icon/IconMore/index.js +7 -5
  675. package/umd/icon/IconNotice/index.js +7 -5
  676. package/umd/icon/IconNoticeOff/index.js +7 -5
  677. package/umd/icon/IconPicture/index.js +7 -5
  678. package/umd/icon/IconPlay/index.js +7 -5
  679. package/umd/icon/IconQuestionCircle/index.js +7 -5
  680. package/umd/icon/IconRefresh/index.js +7 -5
  681. package/umd/icon/IconSad/index.js +7 -5
  682. package/umd/icon/IconScan/index.js +7 -5
  683. package/umd/icon/IconSearch/index.js +7 -5
  684. package/umd/icon/IconSetting/index.js +7 -5
  685. package/umd/icon/IconShop/index.js +7 -5
  686. package/umd/icon/IconShopping/index.js +7 -5
  687. package/umd/icon/IconSmileFill/index.js +7 -5
  688. package/umd/icon/IconSound/index.js +7 -5
  689. package/umd/icon/IconSquareChecked/index.js +7 -5
  690. package/umd/icon/IconSquareDisabled/index.js +7 -5
  691. package/umd/icon/IconSquareUnchecked/index.js +7 -5
  692. package/umd/icon/IconStar/index.js +7 -5
  693. package/umd/icon/IconStarFill/index.js +7 -5
  694. package/umd/icon/IconStarHalf/index.js +7 -5
  695. package/umd/icon/IconSubway/index.js +7 -5
  696. package/umd/icon/IconSuccessCircle/index.js +7 -5
  697. package/umd/icon/IconTriDown/index.js +7 -5
  698. package/umd/icon/IconTriUp/index.js +7 -5
  699. package/umd/icon/IconUpload/index.js +7 -5
  700. package/umd/icon/IconUser/index.js +7 -5
  701. package/umd/icon/IconUserFill/index.js +7 -5
  702. package/umd/icon/IconWarnCircle/index.js +7 -5
  703. package/umd/icon/IconWarnCircleFill/index.js +7 -5
  704. package/umd/icon/index.js +1 -0
  705. package/umd/image/index.js +86 -56
  706. package/umd/image/style/css/index.css +1 -0
  707. package/umd/image/style/index.less +1 -0
  708. package/umd/image-picker/add-icon.js +2 -0
  709. package/umd/image-picker/index.js +85 -52
  710. package/umd/image-preview/index.d.ts +2 -2
  711. package/umd/image-preview/index.js +224 -119
  712. package/umd/image-preview/methods.js +15 -5
  713. package/umd/index.d.ts +10 -9
  714. package/umd/index.js +26 -23
  715. package/umd/input/demo/style/css/mobile.css +5 -1
  716. package/umd/input/demo/style/mobile.less +2 -2
  717. package/umd/input/hooks.js +100 -42
  718. package/umd/input/index.js +35 -26
  719. package/umd/input/props.d.ts +6 -0
  720. package/umd/input/style/css/index.css +9 -0
  721. package/umd/input/style/index.less +2 -2
  722. package/umd/load-more/index.js +51 -29
  723. package/umd/loading/index.js +43 -19
  724. package/umd/masking/index.d.ts +2 -2
  725. package/umd/masking/index.js +71 -46
  726. package/umd/masking/methods.js +16 -4
  727. package/umd/nav-bar/back-icon.js +4 -1
  728. package/umd/nav-bar/index.js +55 -37
  729. package/umd/notice-bar/index.js +57 -33
  730. package/umd/notice-bar/style/css/index.css +33 -0
  731. package/umd/notice-bar/style/index.less +16 -3
  732. package/umd/notify/index.d.ts +8 -8
  733. package/umd/notify/index.js +40 -20
  734. package/umd/notify/methods.js +14 -2
  735. package/umd/pagination/arrow.js +2 -0
  736. package/umd/pagination/index.js +53 -27
  737. package/umd/picker/index.js +70 -40
  738. package/umd/picker-view/components/cascader.js +27 -14
  739. package/umd/picker-view/components/multi-picker.js +19 -6
  740. package/umd/picker-view/components/picker-cell.js +93 -45
  741. package/umd/picker-view/index.js +58 -25
  742. package/umd/popover/hooks/useEvent.js +44 -25
  743. package/umd/popover/hooks/usePosition.js +145 -94
  744. package/umd/popover/index.js +3 -1
  745. package/umd/popover/menu.js +45 -32
  746. package/umd/popover/popover-inner.js +42 -30
  747. package/umd/popover/popover.js +94 -69
  748. package/umd/popup/index.d.ts +2 -2
  749. package/umd/popup/index.js +31 -22
  750. package/umd/popup/methods.js +1 -0
  751. package/umd/popup-swiper/index.d.ts +2 -2
  752. package/umd/popup-swiper/index.js +71 -38
  753. package/umd/popup-swiper/methods.js +1 -0
  754. package/umd/portal/index.js +6 -3
  755. package/umd/progress/index.js +39 -27
  756. package/umd/pull-refresh/android-pull-refresh.js +93 -58
  757. package/umd/pull-refresh/hooks.js +29 -11
  758. package/umd/pull-refresh/index.js +7 -3
  759. package/umd/pull-refresh/ios-pull-refresh.js +72 -53
  760. package/umd/pull-refresh/model.js +1 -0
  761. package/umd/radio/group.js +30 -20
  762. package/umd/radio/index.js +3 -1
  763. package/umd/radio/radio.js +5 -0
  764. package/umd/rate/index.js +44 -24
  765. package/umd/search-bar/association.js +29 -14
  766. package/umd/search-bar/cancel-button.js +14 -8
  767. package/umd/search-bar/highlight.js +21 -14
  768. package/umd/search-bar/index.js +87 -77
  769. package/umd/show-monitor/index.js +89 -34
  770. package/umd/slider/hooks/index.js +4 -0
  771. package/umd/slider/hooks/useSliderEvents.js +52 -26
  772. package/umd/slider/hooks/useSliderIcon.js +17 -6
  773. package/umd/slider/hooks/useSliderInit.js +50 -32
  774. package/umd/slider/hooks/useSliderStyle.js +22 -12
  775. package/umd/slider/index.js +65 -46
  776. package/umd/slider/marks.js +21 -12
  777. package/umd/slider/popover.js +10 -4
  778. package/umd/slider/thumb.js +18 -8
  779. package/umd/stepper/hooks/useButtonClick.js +27 -19
  780. package/umd/stepper/hooks/useInputEvent.js +17 -9
  781. package/umd/stepper/hooks/useValue.js +13 -9
  782. package/umd/stepper/index.js +87 -82
  783. package/umd/steps/index.js +32 -22
  784. package/umd/steps/step.js +22 -10
  785. package/umd/sticky/index.js +59 -36
  786. package/umd/style.d.ts +9 -8
  787. package/umd/style.js +4 -4
  788. package/umd/swipe-action/index.js +84 -40
  789. package/umd/swipe-action/item.js +14 -9
  790. package/umd/swipe-load/index.js +77 -55
  791. package/umd/switch/index.js +43 -27
  792. package/umd/tab-bar/index.js +2 -0
  793. package/umd/tab-bar/item.js +19 -6
  794. package/umd/tab-bar/tab-bar.js +26 -15
  795. package/umd/tabs/index.js +186 -129
  796. package/umd/tabs/tab-cell-underline.js +107 -38
  797. package/umd/tabs/tab-cell.js +119 -70
  798. package/umd/tabs/tab-pane.js +89 -49
  799. package/umd/tabs/type.d.ts +18 -2
  800. package/umd/tag/index.js +3 -1
  801. package/umd/tag/list.js +20 -11
  802. package/umd/tag/tag.js +26 -20
  803. package/umd/textarea/index.js +51 -35
  804. package/umd/toast/index.d.ts +12 -12
  805. package/umd/toast/index.js +49 -26
  806. package/umd/toast/methods.js +13 -2
  807. package/umd/transition/index.js +12 -10
package/umd/style.js CHANGED
@@ -1,15 +1,15 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["../style/public.less", "./action-sheet/style", "./cell/style", "./loading/style", "./badge/style", "./avatar/style", "./button/style", "./carousel/style", "./toast/style", "./switch/style", "./checkbox/style", "./circle-progress/style", "./collapse/style", "./tabs/style", "./context-provider/style", "./dialog/style", "./count-down/style", "./date-picker/style", "./dropdown/style", "./dropdown-menu/style", "./ellipsis/style", "./form/style", "./input/style", "./textarea/style", "./radio/style", "./image-picker/style", "./rate/style", "./slider/style", "./grid/style", "./image/style", "./show-monitor/style", "./image-preview/style", "./load-more/style", "./masking/style", "./nav-bar/style", "./notice-bar/style", "./notify/style", "./pagination/style", "./picker/style", "./picker-view/style", "./popover/style", "./popup/style", "./popup-swiper/style", "./portal/style", "./progress/style", "./pull-refresh/style", "./search-bar/style", "./stepper/style", "./steps/style", "./sticky/style", "./swipe-action/style", "./swipe-load/style", "./tab-bar/style", "./tag/style", "./transition/style"], factory);
3
+ define(["../style/public.less", "./button/style", "./action-sheet/style", "./avatar/style", "./badge/style", "./carousel/style", "./cell/style", "./checkbox/style", "./circle-progress/style", "./collapse/style", "./context-provider/style", "./count-down/style", "./date-picker/style", "./divider/style", "./dialog/style", "./dropdown/style", "./dropdown-menu/style", "./ellipsis/style", "./form/style", "./input/style", "./textarea/style", "./radio/style", "./image-picker/style", "./rate/style", "./slider/style", "./grid/style", "./image/style", "./show-monitor/style", "./image-preview/style", "./load-more/style", "./loading/style", "./masking/style", "./nav-bar/style", "./notice-bar/style", "./notify/style", "./pagination/style", "./picker/style", "./picker-view/style", "./popover/style", "./popup/style", "./popup-swiper/style", "./portal/style", "./progress/style", "./pull-refresh/style", "./search-bar/style", "./stepper/style", "./steps/style", "./sticky/style", "./swipe-action/style", "./swipe-load/style", "./switch/style", "./tab-bar/style", "./tabs/style", "./tag/style", "./toast/style", "./transition/style"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(require("../style/public.less"), require("./action-sheet/style"), require("./cell/style"), require("./loading/style"), require("./badge/style"), require("./avatar/style"), require("./button/style"), require("./carousel/style"), require("./toast/style"), require("./switch/style"), require("./checkbox/style"), require("./circle-progress/style"), require("./collapse/style"), require("./tabs/style"), require("./context-provider/style"), require("./dialog/style"), require("./count-down/style"), require("./date-picker/style"), require("./dropdown/style"), require("./dropdown-menu/style"), require("./ellipsis/style"), require("./form/style"), require("./input/style"), require("./textarea/style"), require("./radio/style"), require("./image-picker/style"), require("./rate/style"), require("./slider/style"), require("./grid/style"), require("./image/style"), require("./show-monitor/style"), require("./image-preview/style"), require("./load-more/style"), require("./masking/style"), require("./nav-bar/style"), require("./notice-bar/style"), require("./notify/style"), require("./pagination/style"), require("./picker/style"), require("./picker-view/style"), require("./popover/style"), require("./popup/style"), require("./popup-swiper/style"), require("./portal/style"), require("./progress/style"), require("./pull-refresh/style"), require("./search-bar/style"), require("./stepper/style"), require("./steps/style"), require("./sticky/style"), require("./swipe-action/style"), require("./swipe-load/style"), require("./tab-bar/style"), require("./tag/style"), require("./transition/style"));
5
+ factory(require("../style/public.less"), require("./button/style"), require("./action-sheet/style"), require("./avatar/style"), require("./badge/style"), require("./carousel/style"), require("./cell/style"), require("./checkbox/style"), require("./circle-progress/style"), require("./collapse/style"), require("./context-provider/style"), require("./count-down/style"), require("./date-picker/style"), require("./divider/style"), require("./dialog/style"), require("./dropdown/style"), require("./dropdown-menu/style"), require("./ellipsis/style"), require("./form/style"), require("./input/style"), require("./textarea/style"), require("./radio/style"), require("./image-picker/style"), require("./rate/style"), require("./slider/style"), require("./grid/style"), require("./image/style"), require("./show-monitor/style"), require("./image-preview/style"), require("./load-more/style"), require("./loading/style"), require("./masking/style"), require("./nav-bar/style"), require("./notice-bar/style"), require("./notify/style"), require("./pagination/style"), require("./picker/style"), require("./picker-view/style"), require("./popover/style"), require("./popup/style"), require("./popup-swiper/style"), require("./portal/style"), require("./progress/style"), require("./pull-refresh/style"), require("./search-bar/style"), require("./stepper/style"), require("./steps/style"), require("./sticky/style"), require("./swipe-action/style"), require("./swipe-load/style"), require("./switch/style"), require("./tab-bar/style"), require("./tabs/style"), require("./tag/style"), require("./toast/style"), require("./transition/style"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(global._public, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style);
10
+ factory(global._public, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style, global.style);
11
11
  global.style = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_public, _style, _style2, _style3, _style4, _style5, _style6, _style7, _style8, _style9, _style10, _style11, _style12, _style13, _style14, _style15, _style16, _style17, _style18, _style19, _style20, _style21, _style22, _style23, _style24, _style25, _style26, _style27, _style28, _style29, _style30, _style31, _style32, _style33, _style34, _style35, _style36, _style37, _style38, _style39, _style40, _style41, _style42, _style43, _style44, _style45, _style46, _style47, _style48, _style49, _style50, _style51, _style52, _style53, _style54) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_public, _style, _style2, _style3, _style4, _style5, _style6, _style7, _style8, _style9, _style10, _style11, _style12, _style13, _style14, _style15, _style16, _style17, _style18, _style19, _style20, _style21, _style22, _style23, _style24, _style25, _style26, _style27, _style28, _style29, _style30, _style31, _style32, _style33, _style34, _style35, _style36, _style37, _style38, _style39, _style40, _style41, _style42, _style43, _style44, _style45, _style46, _style47, _style48, _style49, _style50, _style51, _style52, _style53, _style54, _style55) {
14
14
  "use strict";
15
15
  });
@@ -14,6 +14,7 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+
17
18
  _exports.__esModule = true;
18
19
  var _exportNames = {};
19
20
  _exports.default = void 0;
@@ -26,8 +27,11 @@
26
27
  if (key in _exports && _exports[key] === _type[key]) return;
27
28
  _exports[key] = _type[key];
28
29
  });
30
+
29
31
  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); }
32
+
30
33
  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; }
34
+
31
35
  /**
32
36
  * 滑动操作组件,左右滑动拉出菜单栏
33
37
  * @en SwipeAction component, slide left and right to pull out the menu bar
@@ -36,52 +40,59 @@
36
40
  * @name 滑动操作
37
41
  * @name_en SwipeAction
38
42
  */
39
-
40
43
  var SwipeAction = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
41
44
  var _props$className = props.className,
42
- className = _props$className === void 0 ? '' : _props$className,
43
- style = props.style,
44
- children = props.children,
45
- leftActions = props.leftActions,
46
- rightActions = props.rightActions,
47
- _props$disabled = props.disabled,
48
- disabled = _props$disabled === void 0 ? false : _props$disabled,
49
- _props$threshold = props.threshold,
50
- threshold = _props$threshold === void 0 ? 0.15 : _props$threshold,
51
- closeOnTouchOutside = props.closeOnTouchOutside,
52
- _props$transitionDura = props.transitionDuration,
53
- transitionDuration = _props$transitionDura === void 0 ? 300 : _props$transitionDura,
54
- _props$dampRate = props.dampRate,
55
- dampRate = _props$dampRate === void 0 ? 15 : _props$dampRate,
56
- _props$openStyleType = props.openStyleType,
57
- openStyleType = _props$openStyleType === void 0 ? 'layer' : _props$openStyleType,
58
- onClose = props.onClose,
59
- onOpen = props.onOpen;
45
+ className = _props$className === void 0 ? '' : _props$className,
46
+ style = props.style,
47
+ children = props.children,
48
+ leftActions = props.leftActions,
49
+ rightActions = props.rightActions,
50
+ _props$disabled = props.disabled,
51
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
52
+ _props$threshold = props.threshold,
53
+ threshold = _props$threshold === void 0 ? 0.15 : _props$threshold,
54
+ closeOnTouchOutside = props.closeOnTouchOutside,
55
+ _props$transitionDura = props.transitionDuration,
56
+ transitionDuration = _props$transitionDura === void 0 ? 300 : _props$transitionDura,
57
+ _props$dampRate = props.dampRate,
58
+ dampRate = _props$dampRate === void 0 ? 15 : _props$dampRate,
59
+ _props$openStyleType = props.openStyleType,
60
+ openStyleType = _props$openStyleType === void 0 ? 'layer' : _props$openStyleType,
61
+ onClose = props.onClose,
62
+ onOpen = props.onOpen;
60
63
  var domRef = (0, _react.useRef)(null);
61
64
  var leftRef = (0, _react.useRef)(null);
62
65
  var rightRef = (0, _react.useRef)(null);
63
66
  var isOpen = (0, _react.useRef)(false);
64
67
  var leftMenuWidthRef = (0, _react.useRef)(0);
68
+
65
69
  var _useState = (0, _react.useState)([]),
66
- leftMenuWidthArr = _useState[0],
67
- setLeftMenuWidthArr = _useState[1];
70
+ leftMenuWidthArr = _useState[0],
71
+ setLeftMenuWidthArr = _useState[1];
72
+
68
73
  var rightMenuWidthRef = (0, _react.useRef)(0);
74
+
69
75
  var _useState2 = (0, _react.useState)([]),
70
- rightMenuWidthArr = _useState2[0],
71
- setRightMenuWidthArr = _useState2[1];
76
+ rightMenuWidthArr = _useState2[0],
77
+ setRightMenuWidthArr = _useState2[1];
78
+
72
79
  var dampRateRef = (0, _helpers.useLatestRef)(dampRate);
73
80
  var forbidClick = (0, _react.useRef)(false);
74
81
  var scrollingRef = (0, _react.useRef)(null);
82
+
75
83
  var _useRefState = (0, _helpers.useRefState)(false),
76
- moving = _useRefState[0],
77
- movingRef = _useRefState[1],
78
- setMoving = _useRefState[2];
84
+ moving = _useRefState[0],
85
+ movingRef = _useRefState[1],
86
+ setMoving = _useRefState[2];
87
+
79
88
  var _useRefState2 = (0, _helpers.useRefState)(0),
80
- offset = _useRefState2[0],
81
- offsetRef = _useRefState2[1],
82
- setOffset = _useRefState2[2];
89
+ offset = _useRefState2[0],
90
+ offsetRef = _useRefState2[1],
91
+ setOffset = _useRefState2[2];
92
+
83
93
  var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
84
- prefixCls = _useContext.prefixCls;
94
+ prefixCls = _useContext.prefixCls;
95
+
85
96
  var startRef = (0, _react.useRef)(0);
86
97
  var startX = (0, _react.useRef)(0);
87
98
  var startY = (0, _react.useRef)(0);
@@ -92,15 +103,18 @@
92
103
  transitionDuration: moving ? '0ms' : transitionDuration + "ms"
93
104
  });
94
105
  }, [moving, transitionDuration]);
106
+
95
107
  function resetMoveData() {
96
108
  startX.current = 0;
97
109
  startY.current = 0;
98
110
  slideX.current = 0;
99
111
  }
112
+
100
113
  function getMenuCurrentWidth(a, min, max) {
101
114
  var buffer = Math.abs(a) / dampRateRef.current;
102
115
  return Math.min(Math.max(a, min - buffer), max + buffer);
103
116
  }
117
+
104
118
  function touchstart(e) {
105
119
  startRef.current = offsetRef.current;
106
120
  resetMoveData();
@@ -108,23 +122,28 @@
108
122
  startX.current = e.touches[0].pageX;
109
123
  startY.current = e.touches[0].pageY;
110
124
  }
125
+
111
126
  function touchmove(e) {
112
127
  var x = e.changedTouches[0].pageX - startX.current;
113
128
  var y = e.changedTouches[0].pageY - startY.current;
129
+
114
130
  if (scrollingRef.current === null) {
115
131
  scrollingRef.current = Math.abs(x) < Math.abs(y);
116
132
  }
133
+
117
134
  if (scrollingRef.current) {
118
135
  setMoving(false);
119
136
  setOffset(0);
120
137
  return;
121
138
  }
139
+
122
140
  e.cancelable && e.preventDefault();
123
141
  slideX.current = x;
124
142
  forbidClick.current = true;
125
143
  setMoving(true);
126
144
  setOffset(getMenuCurrentWidth(slideX.current + startRef.current, -rightMenuWidthRef.current, leftMenuWidthRef.current));
127
145
  }
146
+
128
147
  function touchend() {
129
148
  if (movingRef.current && !scrollingRef.current) {
130
149
  var currentMenu = offsetRef.current > 0 ? 'left' : 'right';
@@ -135,15 +154,18 @@
135
154
  });
136
155
  }
137
156
  }
157
+
138
158
  function changeMenu(dir) {
139
159
  var cookedThreshold = isOpen.current ? 1 - threshold : threshold;
140
160
  var width = dir === 'left' ? leftMenuWidthRef.current : rightMenuWidthRef.current;
161
+
141
162
  if (width && Math.abs(offsetRef.current) > width * cookedThreshold) {
142
163
  open(dir);
143
164
  } else {
144
165
  close(dir);
145
166
  }
146
167
  }
168
+
147
169
  function getWidthByRef(widthRef) {
148
170
  if (!widthRef.current) {
149
171
  return {
@@ -151,11 +173,13 @@
151
173
  widthArr: []
152
174
  };
153
175
  }
176
+
154
177
  var totalWidth = 0;
155
178
  var widthArr = [];
156
179
  var allEle = widthRef.current.getElementsByClassName(prefixCls + "-swipe-action-menu-action-info-container");
157
180
  Array.prototype.forEach.call(allEle, function (ele) {
158
181
  var _ele$getBoundingClien;
182
+
159
183
  var w = (_ele$getBoundingClien = ele.getBoundingClientRect().width) != null ? _ele$getBoundingClien : 0;
160
184
  totalWidth += w;
161
185
  widthArr.push(w);
@@ -165,13 +189,16 @@
165
189
  widthArr: widthArr
166
190
  };
167
191
  }
192
+
168
193
  (0, _react.useEffect)(function () {
169
194
  var container = domRef.current;
195
+
170
196
  if (!disabled && container) {
171
197
  container.addEventListener('touchstart', touchstart);
172
198
  container.addEventListener('touchmove', touchmove);
173
199
  container.addEventListener('touchend', touchend);
174
200
  }
201
+
175
202
  return function () {
176
203
  if (!disabled && container) {
177
204
  container.removeEventListener('touchstart', touchstart);
@@ -179,32 +206,35 @@
179
206
  container.removeEventListener('touchend', touchend);
180
207
  }
181
208
  };
182
- }, [disabled]);
183
-
184
- // 获取左右菜单的宽度
209
+ }, [disabled]); // 获取左右菜单的宽度
185
210
  // @en Get the width of the left and right menu
211
+
186
212
  (0, _react.useEffect)(function () {
187
213
  var _getWidthByRef = getWidthByRef(leftRef),
188
- leftTotalWidth = _getWidthByRef.totalWidth,
189
- leftWidthArr = _getWidthByRef.widthArr;
214
+ leftTotalWidth = _getWidthByRef.totalWidth,
215
+ leftWidthArr = _getWidthByRef.widthArr;
216
+
190
217
  leftMenuWidthRef.current = leftTotalWidth;
191
218
  setLeftMenuWidthArr(leftWidthArr);
219
+
192
220
  var _getWidthByRef2 = getWidthByRef(rightRef),
193
- rightTotalWidth = _getWidthByRef2.totalWidth,
194
- rightWidthArr = _getWidthByRef2.widthArr;
221
+ rightTotalWidth = _getWidthByRef2.totalWidth,
222
+ rightWidthArr = _getWidthByRef2.widthArr;
223
+
195
224
  rightMenuWidthRef.current = rightTotalWidth;
196
225
  setRightMenuWidthArr(rightWidthArr);
197
- }, [leftActions, rightActions]);
198
-
199
- // 点击外部区域事件
226
+ }, [leftActions, rightActions]); // 点击外部区域事件
200
227
  // @en Event when clicking outside of the element
228
+
201
229
  (0, _react.useEffect)(function () {
202
230
  var handle = function handle(e) {
203
231
  var _domRef$current;
232
+
204
233
  if (!((_domRef$current = domRef.current) != null && _domRef$current.contains(e.target)) && isOpen.current) {
205
234
  close();
206
235
  }
207
236
  };
237
+
208
238
  closeOnTouchOutside && document.addEventListener('touchstart', handle);
209
239
  return function () {
210
240
  closeOnTouchOutside && document.removeEventListener('touchstart', handle);
@@ -217,56 +247,70 @@
217
247
  open: open
218
248
  };
219
249
  });
250
+
220
251
  function close(dir) {
221
252
  setOffset(0);
253
+
222
254
  if (isOpen.current) {
223
255
  isOpen.current = false;
256
+
224
257
  if (!dir && offsetRef.current !== 0) {
225
258
  var noDir = offsetRef.current > 0 ? 'left' : 'right';
226
259
  handleClose(noDir);
227
260
  return;
228
261
  }
262
+
229
263
  handleClose(dir);
230
264
  }
231
265
  }
266
+
232
267
  function open(dir) {
233
268
  if (dir === void 0) {
234
269
  dir = 'right';
235
270
  }
271
+
236
272
  if (!isOpen.current) {
237
273
  isOpen.current = true;
238
274
  handleOpen(dir);
239
275
  }
276
+
240
277
  setOffset(dir === 'left' ? leftMenuWidthRef.current : -rightMenuWidthRef.current);
241
278
  }
279
+
242
280
  function handleOpen(dir) {
243
281
  setTimeout(function () {
244
282
  onOpen == null ? void 0 : onOpen(dir);
245
283
  }, transitionDuration);
246
284
  }
285
+
247
286
  function handleClose(dir) {
248
287
  setTimeout(function () {
249
288
  onClose == null ? void 0 : onClose(dir);
250
289
  }, transitionDuration);
251
290
  }
291
+
252
292
  function actionClick(e) {
253
293
  var _leftRef$current, _rightRef$current;
294
+
254
295
  if (isOpen.current && !forbidClick.current && !((_leftRef$current = leftRef.current) != null && _leftRef$current.contains(e.target)) && !((_rightRef$current = rightRef.current) != null && _rightRef$current.contains(e.target))) {
255
296
  close();
256
297
  }
257
298
  }
299
+
258
300
  function getActionRightByIndex(index) {
259
301
  var preWidth = leftMenuWidthArr.slice(index + 1).reduce(function (acc, cur) {
260
302
  return acc + cur;
261
303
  }, 0);
262
304
  return (preWidth / leftMenuWidthRef.current || 0) * 100 + "%";
263
305
  }
306
+
264
307
  function getActionLeftByIndex(index) {
265
308
  var preWidth = rightMenuWidthArr.slice(0, index).reduce(function (acc, cur) {
266
309
  return acc + cur;
267
310
  }, 0);
268
311
  return (preWidth / rightMenuWidthRef.current || 0) * 100 + "%";
269
312
  }
313
+
270
314
  return /*#__PURE__*/_react.default.createElement("div", {
271
315
  className: (0, _mobileUtils.cls)(prefixCls + "-swipe-action", className, offset === 0 ? 'action-close' : 'action-open'),
272
316
  style: (0, _helpers.getStyleWithVendor)((0, _extends2.default)({}, style || {}, transitionStyle, {
@@ -14,24 +14,28 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+
17
18
  _exports.__esModule = true;
18
19
  _exports.default = renderAction;
19
20
  _extends2 = _interopRequireDefault(_extends2);
20
21
  _react = _interopRequireDefault(_react);
22
+
21
23
  function renderAction(_ref) {
22
24
  var action = _ref.action,
23
- prefixCls = _ref.prefixCls,
24
- index = _ref.index,
25
- type = _ref.type,
26
- close = _ref.close;
25
+ prefixCls = _ref.prefixCls,
26
+ index = _ref.index,
27
+ type = _ref.type,
28
+ close = _ref.close;
27
29
  var text = action.text,
28
- actionStyle = action.style,
29
- className = action.className,
30
- onClick = action.onClick,
31
- icon = action.icon,
32
- children = action.children;
30
+ actionStyle = action.style,
31
+ className = action.className,
32
+ onClick = action.onClick,
33
+ icon = action.icon,
34
+ children = action.children;
35
+
33
36
  function click() {
34
37
  var result = (onClick == null ? void 0 : onClick()) || null;
38
+
35
39
  if (!result || typeof result === 'boolean') {
36
40
  !result && close();
37
41
  } else if (result && result.then) {
@@ -40,6 +44,7 @@
40
44
  });
41
45
  }
42
46
  }
47
+
43
48
  return /*#__PURE__*/_react.default.createElement("div", {
44
49
  className: (0, _mobileUtils.cls)(prefixCls + "-" + type + " " + prefixCls + "-info-container", className),
45
50
  style: (0, _extends2.default)({
@@ -23,8 +23,11 @@
23
23
  if (key in _exports && _exports[key] === _type[key]) return;
24
24
  _exports[key] = _type[key];
25
25
  });
26
+
26
27
  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); }
28
+
27
29
  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; }
30
+
28
31
  /**
29
32
  * 向左滑动到达屏幕边缘后,超过一定距离时触发加载,常用于横划展示少量的元素,滑动到底后跳转至另外界面的场景
30
33
  * @en After swiping to the left to reach the edge of the screen, the loading is triggered when the distance exceeds a certain distance. It is often used to display a small number of elements horizontally, and then jump to another interface after swiping to the end.
@@ -35,38 +38,42 @@
35
38
  */
36
39
  var SwipeLoad = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
37
40
  var _props$className = props.className,
38
- className = _props$className === void 0 ? '' : _props$className,
39
- _props$maxElementOffs = props.maxElementOffset,
40
- maxElementOffset = _props$maxElementOffs === void 0 ? 56 : _props$maxElementOffs,
41
- _props$maxLabelOffset = props.maxLabelOffset,
42
- maxLabelOffset = _props$maxLabelOffset === void 0 ? 40 : _props$maxLabelOffset,
43
- onConfirm = props.onConfirm,
44
- _props$disabled = props.disabled,
45
- disabled = _props$disabled === void 0 ? false : _props$disabled,
46
- _props$circleSize = props.circleSize,
47
- circleSize = _props$circleSize === void 0 ? 80 : _props$circleSize,
48
- _props$minConfirmOffs = props.minConfirmOffset,
49
- minConfirmOffset = _props$minConfirmOffs === void 0 ? 30 : _props$minConfirmOffs,
50
- _props$labelAnimation = props.labelAnimationFunction,
51
- labelAnimationFunction = _props$labelAnimation === void 0 ? 'cubic-bezier(0.14, 1, 0.34, 1)' : _props$labelAnimation,
52
- _props$labelAnimation2 = props.labelAnimationDuration,
53
- labelAnimationDuration = _props$labelAnimation2 === void 0 ? 250 : _props$labelAnimation2,
54
- children = props.children,
55
- _props$normalText = props.normalText,
56
- normalText = _props$normalText === void 0 ? '' : _props$normalText,
57
- _props$activeText = props.activeText,
58
- activeText = _props$activeText === void 0 ? '' : _props$activeText,
59
- _props$initPos = props.initPos,
60
- initPos = _props$initPos === void 0 ? 0 : _props$initPos;
41
+ className = _props$className === void 0 ? '' : _props$className,
42
+ _props$maxElementOffs = props.maxElementOffset,
43
+ maxElementOffset = _props$maxElementOffs === void 0 ? 56 : _props$maxElementOffs,
44
+ _props$maxLabelOffset = props.maxLabelOffset,
45
+ maxLabelOffset = _props$maxLabelOffset === void 0 ? 40 : _props$maxLabelOffset,
46
+ onConfirm = props.onConfirm,
47
+ _props$disabled = props.disabled,
48
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
49
+ _props$circleSize = props.circleSize,
50
+ circleSize = _props$circleSize === void 0 ? 80 : _props$circleSize,
51
+ _props$minConfirmOffs = props.minConfirmOffset,
52
+ minConfirmOffset = _props$minConfirmOffs === void 0 ? 30 : _props$minConfirmOffs,
53
+ _props$labelAnimation = props.labelAnimationFunction,
54
+ labelAnimationFunction = _props$labelAnimation === void 0 ? 'cubic-bezier(0.14, 1, 0.34, 1)' : _props$labelAnimation,
55
+ _props$labelAnimation2 = props.labelAnimationDuration,
56
+ labelAnimationDuration = _props$labelAnimation2 === void 0 ? 250 : _props$labelAnimation2,
57
+ children = props.children,
58
+ _props$normalText = props.normalText,
59
+ normalText = _props$normalText === void 0 ? '' : _props$normalText,
60
+ _props$activeText = props.activeText,
61
+ activeText = _props$activeText === void 0 ? '' : _props$activeText,
62
+ _props$initPos = props.initPos,
63
+ initPos = _props$initPos === void 0 ? 0 : _props$initPos;
64
+
61
65
  var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
62
- _useContext$locale = _useContext.locale,
63
- locale = _useContext$locale === void 0 ? _mobileUtils.defaultLocale : _useContext$locale;
66
+ _useContext$locale = _useContext.locale,
67
+ locale = _useContext$locale === void 0 ? _mobileUtils.defaultLocale : _useContext$locale;
68
+
64
69
  var _useState = (0, _react.useState)(disabled),
65
- disableState = _useState[0],
66
- setDisableState = _useState[1];
70
+ disableState = _useState[0],
71
+ setDisableState = _useState[1];
72
+
67
73
  var _useState2 = (0, _react.useState)(0),
68
- labelOffsetState = _useState2[0],
69
- setLabelOffsetState = _useState2[1];
74
+ labelOffsetState = _useState2[0],
75
+ setLabelOffsetState = _useState2[1];
76
+
70
77
  var containerRef = (0, _react.useRef)(null);
71
78
  var loadingRef = (0, _react.useRef)(null);
72
79
  var loadingLabelRef = (0, _react.useRef)(null);
@@ -83,9 +90,10 @@
83
90
  if (disabled || !containerRef.current || disableState) {
84
91
  return;
85
92
  }
86
- var scrollContainer;
87
- // 对children类型进行判断
93
+
94
+ var scrollContainer; // 对children类型进行判断
88
95
  // @en Judging the type of children
96
+
89
97
  if (containerRef.current.childNodes.length === 0) {
90
98
  // 未传入子元素 不启用组件
91
99
  // @en If no child element is passed in, component will be disabled
@@ -107,61 +115,69 @@
107
115
  scrollContainer.style.display = 'inline-flex';
108
116
  scrollContainer.style.webkitOverflowScrolling = 'touch';
109
117
  }
118
+
110
119
  if (!scrollContainer) {
111
120
  return;
112
121
  }
122
+
113
123
  var loadingCurrent = loadingRef.current;
114
124
  var loadingLabelCurrent = loadingLabelRef.current;
125
+
115
126
  if (!loadingCurrent) {
116
127
  return;
117
- }
118
- // 初始不显示标签
128
+ } // 初始不显示标签
119
129
  // @en Initially no labels are displayed
130
+
131
+
120
132
  loadingCurrent.style.display = 'none';
121
133
  var startX = 0;
122
- var endX = 0;
123
- // 触摸页面确定X起始坐标
134
+ var endX = 0; // 触摸页面确定X起始坐标
124
135
  // @en Determine the X starting coordinate on touchstart
136
+
125
137
  var touchstart = function touchstart(e) {
126
138
  startX = e.touches[0].pageX;
127
- };
128
- // 页面滑动确定X终止坐标,更新手指的X坐标,改变loading中的文字和大小
139
+ }; // 页面滑动确定X终止坐标,更新手指的X坐标,改变loading中的文字和大小
129
140
  // @en Determine the X end coordinate, update the X coordinate of the finger, change the text and size in the loading on touchmove
141
+
142
+
130
143
  var touchmove = function touchmove(e) {
131
144
  // 判断元素是否属于滚动元素 先置为1 之后变成0表示非滚动容器
132
145
  // @en Determine whether the element belongs to a scrolling element. Set it to 1 and then change to 0 to indicate a non-scrolling container
133
146
  if (!scrollContainer.scrollLeft) {
134
147
  scrollContainer.scrollLeft = 1;
135
148
  }
149
+
136
150
  endX = e.touches[0].pageX;
137
151
  var diff = endX - startX;
138
152
  offsetRef.current = diff;
139
- var labelDiff = (0, _mobileUtils.fingerDisToLabelDis)(Math.abs(diff), props.damping);
140
- // 向左滑动到尽头 '更多'标签加载 根据scrollLeft判断 滚动容器到达边缘触发 非滚动容器不判断
153
+ var labelDiff = (0, _mobileUtils.fingerDisToLabelDis)(Math.abs(diff), props.damping); // 向左滑动到尽头 '更多'标签加载 根据scrollLeft判断 滚动容器到达边缘触发 非滚动容器不判断
141
154
  // @en Swipe left to the end and the 'more' label is loaded. Judging by scrollLeft, the scroll container reaches the edge and the non-scroll container does not judge
155
+
142
156
  if (diff < 0 && (scrollContainer.scrollLeft + scrollContainer.clientWidth >= scrollContainer.scrollWidth - 1 || !scrollContainer.scrollLeft) && !ifToRightRef.current) {
143
157
  showLoadMoreRef.current = true;
144
158
  loadingCurrent.style.display = 'flex';
145
- }
146
- // 继续滑动露出标签
159
+ } // 继续滑动露出标签
147
160
  // @en Continue swiping to reveal labels
161
+
162
+
148
163
  if (showLoadMoreRef.current && diff < 0) {
149
164
  // 此时禁止list原生滚动
150
165
  // @en Disable list native scrolling at this time
151
166
  e.stopPropagation();
152
- e.cancelable && e.preventDefault();
153
- // list元素平移最大 maxElementOffset
167
+ e.cancelable && e.preventDefault(); // list元素平移最大 maxElementOffset
154
168
  // @en Maximum list element translation, maxElementOffset
155
- var listRightMargin = labelDiff > maxElementOffset ? maxElementOffset : labelDiff;
156
- // 标签的平移最大为40px(半圆)
169
+
170
+ var listRightMargin = labelDiff > maxElementOffset ? maxElementOffset : labelDiff; // 标签的平移最大为40px(半圆)
157
171
  // @en The translation of the label is up to 40px (semi-circle)
172
+
158
173
  var labelRightMargin = labelDiff > maxLabelOffset ? maxLabelOffset : labelDiff;
159
- setLabelOffsetState(labelRightMargin);
160
- // 标签全部展示 字样改变
174
+ setLabelOffsetState(labelRightMargin); // 标签全部展示 字样改变
161
175
  // @en All labels are displayed and the text style is changed
176
+
162
177
  if (loadingLabelCurrent) {
163
178
  loadingLabelCurrent.innerHTML = labelDiff >= minConfirmOffset ? activeText || locale.SwipeLoad.activeText : normalText || locale.SwipeLoad.normalText;
164
179
  }
180
+
165
181
  loadingCurrent.style.transition = 'all 0.02s';
166
182
  loadingCurrent.style.webkitTransform = "translateX(-" + labelRightMargin + "px)";
167
183
  loadingCurrent.style.transform = "translateX(-" + labelRightMargin + "px)";
@@ -169,25 +185,28 @@
169
185
  scrollContainer.style.webkitTransform = "translateX(-" + listRightMargin + "px)";
170
186
  scrollContainer.style.transform = "translateX(-" + listRightMargin + "px)";
171
187
  }
188
+
172
189
  if (diff > 0 && scrollContainer.scrollLeft + scrollContainer.clientWidth <= scrollContainer.scrollWidth - 1) {
173
190
  showLoadMoreRef.current = false;
174
191
  loadingCurrent.style.display = 'none';
175
- }
176
- // 针对ios惯性滚动处理
192
+ } // 针对ios惯性滚动处理
177
193
  // @en Handling inertial scrolling for ios
194
+
195
+
178
196
  if (diff < 0 && scrollContainer.scrollLeft + scrollContainer.clientWidth <= scrollContainer.scrollWidth - 1) {
179
197
  ifToRightRef.current = false;
180
198
  } else {
181
199
  ifToRightRef.current = true;
182
200
  }
183
- };
184
- // 露出标签 反方向滑动隐藏'更多'标签
201
+ }; // 露出标签 反方向滑动隐藏'更多'标签
185
202
  // @en Reveal the label, swipe in opposite direction to hide 'more' tab
186
203
 
204
+
187
205
  var touchend = function touchend() {
188
206
  var diff = endX - startX;
189
207
  offsetRef.current = diff;
190
208
  var labelDiff = (0, _mobileUtils.fingerDisToLabelDis)(Math.abs(diff));
209
+
191
210
  var resumeAnimation = function resumeAnimation() {
192
211
  scrollContainer.style.transition = "all " + labelAnimationDuration + "ms " + labelAnimationFunction;
193
212
  scrollContainer.style.webkitTransform = 'translateX(0px)';
@@ -200,20 +219,23 @@
200
219
  setTimeout(function () {
201
220
  loadingCurrent.style.display = 'none';
202
221
  }, labelAnimationDuration);
203
- };
204
- // 向左滑动 标签已经全部展示
222
+ }; // 向左滑动 标签已经全部展示
205
223
  // @em Swipe left, labels are all displayed
224
+
225
+
206
226
  if (labelDiff >= minConfirmOffset && (scrollContainer.scrollLeft + scrollContainer.clientWidth >= scrollContainer.scrollWidth - 1 || !scrollContainer.scrollLeft) && showLoadMoreRef.current) {
207
- onConfirm();
208
- // 安卓机型返回动画优化
227
+ onConfirm(); // 安卓机型返回动画优化
209
228
  // @en Return animation optimization on Android
229
+
210
230
  setTimeout(function () {
211
231
  resumeAnimation();
212
232
  }, 250);
213
233
  return;
214
234
  }
235
+
215
236
  resumeAnimation();
216
237
  };
238
+
217
239
  scrollContainer.addEventListener('touchstart', touchstart);
218
240
  scrollContainer.addEventListener('touchmove', touchmove);
219
241
  scrollContainer.addEventListener('touchend', touchend);