@arco-design/mobile-react 2.36.2 → 2.38.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 (455) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.d.ts +1 -1
  5. package/cjs/_helpers/hooks.js +1 -1
  6. package/cjs/_helpers/react-dom.d.ts +5 -5
  7. package/cjs/_helpers/react-dom.js +49 -32
  8. package/cjs/_helpers/render.js +6 -3
  9. package/cjs/action-sheet/index.d.ts +3 -2
  10. package/cjs/action-sheet/index.js +2 -2
  11. package/cjs/action-sheet/style/css/index.css +18 -0
  12. package/cjs/avatar/style/css/index.css +18 -0
  13. package/cjs/badge/index.d.ts +2 -1
  14. package/cjs/badge/index.js +1 -1
  15. package/cjs/badge/style/css/index.css +26 -4
  16. package/cjs/badge/style/index.less +4 -2
  17. package/cjs/button/style/css/index.css +18 -0
  18. package/cjs/carousel/style/css/index.css +18 -0
  19. package/cjs/cell/style/css/index.css +18 -0
  20. package/cjs/checkbox/checkbox.d.ts +1 -1
  21. package/cjs/checkbox/group.d.ts +1 -1
  22. package/cjs/checkbox/hooks/useMergeProps.d.ts +1 -1
  23. package/cjs/checkbox/index.d.ts +2 -2
  24. package/cjs/checkbox/style/css/index.css +18 -0
  25. package/cjs/circle-progress/style/css/index.css +18 -0
  26. package/cjs/collapse/style/css/index.css +18 -0
  27. package/cjs/context-provider/index.d.ts +8 -2
  28. package/cjs/count-down/hooks.js +2 -2
  29. package/cjs/count-down/style/css/index.css +18 -0
  30. package/cjs/date-picker/style/css/index.css +18 -0
  31. package/cjs/dialog/index.d.ts +12 -6
  32. package/cjs/dialog/index.js +4 -1
  33. package/cjs/dialog/methods.d.ts +6 -2
  34. package/cjs/dialog/style/css/index.css +26 -4
  35. package/cjs/dialog/style/index.less +4 -2
  36. package/cjs/divider/style/css/index.css +18 -0
  37. package/cjs/dropdown/style/css/index.css +18 -0
  38. package/cjs/dropdown-menu/helper.d.ts +2 -2
  39. package/cjs/dropdown-menu/style/css/index.css +18 -0
  40. package/cjs/ellipsis/components/native-ellipsis.d.ts +2 -3
  41. package/cjs/ellipsis/components/native-ellipsis.js +1 -2
  42. package/cjs/ellipsis/style/css/index.css +18 -0
  43. package/cjs/form/style/css/index.css +18 -0
  44. package/cjs/form/type.d.ts +5 -5
  45. package/cjs/grid/style/css/index.css +18 -0
  46. package/cjs/image/style/css/index.css +18 -0
  47. package/cjs/image-picker/style/css/index.css +18 -0
  48. package/cjs/image-preview/index.d.ts +2 -2
  49. package/cjs/image-preview/style/css/index.css +18 -0
  50. package/cjs/index-bar/group.js +3 -1
  51. package/cjs/index-bar/index.d.ts +2 -2
  52. package/cjs/index-bar/style/css/index.css +18 -0
  53. package/cjs/index-bar/utils.d.ts +1 -1
  54. package/cjs/input/style/css/index.css +18 -0
  55. package/cjs/keyboard/style/css/index.css +18 -0
  56. package/cjs/load-more/style/css/index.css +18 -0
  57. package/cjs/loading/style/css/index.css +18 -0
  58. package/cjs/masking/index.d.ts +11 -5
  59. package/cjs/masking/index.js +2 -0
  60. package/cjs/masking/style/css/index.css +18 -0
  61. package/cjs/nav-bar/style/css/index.css +18 -0
  62. package/cjs/notice-bar/style/css/index.css +18 -0
  63. package/cjs/notify/index.d.ts +8 -8
  64. package/cjs/notify/index.js +2 -2
  65. package/cjs/notify/style/css/index.css +18 -0
  66. package/cjs/pagination/style/css/index.css +18 -0
  67. package/cjs/picker/style/css/index.css +18 -0
  68. package/cjs/picker-view/components/cascader.js +3 -1
  69. package/cjs/picker-view/components/picker-cell.js +1 -1
  70. package/cjs/picker-view/index.js +3 -1
  71. package/cjs/picker-view/style/css/index.css +18 -0
  72. package/cjs/popover/style/css/index.css +18 -0
  73. package/cjs/popover/style/css/menu.css +18 -0
  74. package/cjs/popup/index.d.ts +3 -3
  75. package/cjs/popup/index.js +1 -0
  76. package/cjs/popup/style/css/index.css +35 -0
  77. package/cjs/popup/style/index.less +36 -3
  78. package/cjs/popup-swiper/index.d.ts +2 -2
  79. package/cjs/popup-swiper/index.js +20 -3
  80. package/cjs/popup-swiper/style/css/index.css +18 -0
  81. package/cjs/progress/style/css/index.css +18 -0
  82. package/cjs/pull-refresh/hooks.d.ts +2 -2
  83. package/cjs/pull-refresh/style/css/index.css +18 -0
  84. package/cjs/radio/group.d.ts +1 -1
  85. package/cjs/radio/index.d.ts +2 -2
  86. package/cjs/radio/radio.d.ts +1 -1
  87. package/cjs/radio/style/css/index.css +18 -0
  88. package/cjs/rate/style/css/index.css +18 -0
  89. package/cjs/search-bar/style/css/index.css +18 -0
  90. package/cjs/skeleton/elements.js +9 -3
  91. package/cjs/skeleton/style/css/index.css +18 -0
  92. package/cjs/slider/hooks/index.d.ts +1 -1
  93. package/cjs/slider/hooks/useSliderEvents.d.ts +1 -1
  94. package/cjs/slider/style/css/index.css +18 -0
  95. package/cjs/stepper/hooks/useValue.d.ts +2 -1
  96. package/cjs/stepper/style/css/index.css +18 -0
  97. package/cjs/steps/index.d.ts +1 -1
  98. package/cjs/steps/style/css/index.css +18 -0
  99. package/cjs/sticky/style/css/index.css +18 -0
  100. package/cjs/swipe-action/style/css/index.css +18 -0
  101. package/cjs/swipe-load/style/css/index.css +18 -0
  102. package/cjs/switch/style/css/index.css +18 -0
  103. package/cjs/tab-bar/style/css/index.css +18 -0
  104. package/cjs/tabs/index.js +7 -3
  105. package/cjs/tabs/style/css/index.css +18 -0
  106. package/cjs/tabs/tab-cell.js +9 -1
  107. package/cjs/tabs/type.d.ts +7 -2
  108. package/cjs/tag/style/css/index.css +18 -0
  109. package/cjs/textarea/style/css/index.css +18 -0
  110. package/cjs/toast/index.d.ts +12 -12
  111. package/cjs/toast/index.js +1 -1
  112. package/cjs/toast/style/css/index.css +18 -0
  113. package/cjs/transition/index.d.ts +9 -3
  114. package/cjs/transition/index.js +36 -6
  115. package/cjs/transition/style/css/index.css +22 -4
  116. package/cjs/transition/style/index.less +2 -2
  117. package/cjs/uploader/style/css/index.css +18 -0
  118. package/dist/index.js +185 -97
  119. package/dist/index.min.js +4 -4
  120. package/dist/style.css +1049 -6
  121. package/dist/style.min.css +1 -1
  122. package/esm/_helpers/hooks.d.ts +1 -1
  123. package/esm/_helpers/hooks.js +1 -1
  124. package/esm/_helpers/react-dom.d.ts +5 -5
  125. package/esm/_helpers/react-dom.js +49 -30
  126. package/esm/_helpers/render.js +6 -3
  127. package/esm/action-sheet/index.d.ts +3 -2
  128. package/esm/action-sheet/index.js +2 -2
  129. package/esm/action-sheet/style/css/index.css +18 -0
  130. package/esm/avatar/style/css/index.css +18 -0
  131. package/esm/badge/index.d.ts +2 -1
  132. package/esm/badge/index.js +1 -1
  133. package/esm/badge/style/css/index.css +26 -4
  134. package/esm/badge/style/index.less +4 -2
  135. package/esm/button/style/css/index.css +18 -0
  136. package/esm/carousel/style/css/index.css +18 -0
  137. package/esm/cell/style/css/index.css +18 -0
  138. package/esm/checkbox/checkbox.d.ts +1 -1
  139. package/esm/checkbox/group.d.ts +1 -1
  140. package/esm/checkbox/hooks/useMergeProps.d.ts +1 -1
  141. package/esm/checkbox/index.d.ts +2 -2
  142. package/esm/checkbox/style/css/index.css +18 -0
  143. package/esm/circle-progress/style/css/index.css +18 -0
  144. package/esm/collapse/style/css/index.css +18 -0
  145. package/esm/context-provider/index.d.ts +8 -2
  146. package/esm/count-down/hooks.js +2 -2
  147. package/esm/count-down/style/css/index.css +18 -0
  148. package/esm/date-picker/style/css/index.css +18 -0
  149. package/esm/dialog/index.d.ts +12 -6
  150. package/esm/dialog/index.js +4 -1
  151. package/esm/dialog/methods.d.ts +6 -2
  152. package/esm/dialog/style/css/index.css +26 -4
  153. package/esm/dialog/style/index.less +4 -2
  154. package/esm/divider/style/css/index.css +18 -0
  155. package/esm/dropdown/style/css/index.css +18 -0
  156. package/esm/dropdown-menu/helper.d.ts +2 -2
  157. package/esm/dropdown-menu/style/css/index.css +18 -0
  158. package/esm/ellipsis/components/native-ellipsis.d.ts +2 -3
  159. package/esm/ellipsis/components/native-ellipsis.js +1 -1
  160. package/esm/ellipsis/style/css/index.css +18 -0
  161. package/esm/form/style/css/index.css +18 -0
  162. package/esm/form/type.d.ts +5 -5
  163. package/esm/grid/style/css/index.css +18 -0
  164. package/esm/image/style/css/index.css +18 -0
  165. package/esm/image-picker/style/css/index.css +18 -0
  166. package/esm/image-preview/index.d.ts +2 -2
  167. package/esm/image-preview/style/css/index.css +18 -0
  168. package/esm/index-bar/group.js +3 -1
  169. package/esm/index-bar/index.d.ts +2 -2
  170. package/esm/index-bar/style/css/index.css +18 -0
  171. package/esm/index-bar/utils.d.ts +1 -1
  172. package/esm/input/style/css/index.css +18 -0
  173. package/esm/keyboard/style/css/index.css +18 -0
  174. package/esm/load-more/style/css/index.css +18 -0
  175. package/esm/loading/style/css/index.css +18 -0
  176. package/esm/masking/index.d.ts +11 -5
  177. package/esm/masking/index.js +2 -0
  178. package/esm/masking/style/css/index.css +18 -0
  179. package/esm/nav-bar/style/css/index.css +18 -0
  180. package/esm/notice-bar/style/css/index.css +18 -0
  181. package/esm/notify/index.d.ts +8 -8
  182. package/esm/notify/index.js +2 -2
  183. package/esm/notify/style/css/index.css +18 -0
  184. package/esm/pagination/style/css/index.css +18 -0
  185. package/esm/picker/style/css/index.css +18 -0
  186. package/esm/picker-view/components/cascader.js +3 -1
  187. package/esm/picker-view/components/picker-cell.js +1 -1
  188. package/esm/picker-view/index.js +3 -1
  189. package/esm/picker-view/style/css/index.css +18 -0
  190. package/esm/popover/style/css/index.css +18 -0
  191. package/esm/popover/style/css/menu.css +18 -0
  192. package/esm/popup/index.d.ts +3 -3
  193. package/esm/popup/index.js +1 -0
  194. package/esm/popup/style/css/index.css +35 -0
  195. package/esm/popup/style/index.less +36 -3
  196. package/esm/popup-swiper/index.d.ts +2 -2
  197. package/esm/popup-swiper/index.js +20 -3
  198. package/esm/popup-swiper/style/css/index.css +18 -0
  199. package/esm/progress/style/css/index.css +18 -0
  200. package/esm/pull-refresh/hooks.d.ts +2 -2
  201. package/esm/pull-refresh/style/css/index.css +18 -0
  202. package/esm/radio/group.d.ts +1 -1
  203. package/esm/radio/index.d.ts +2 -2
  204. package/esm/radio/radio.d.ts +1 -1
  205. package/esm/radio/style/css/index.css +18 -0
  206. package/esm/rate/style/css/index.css +18 -0
  207. package/esm/search-bar/style/css/index.css +18 -0
  208. package/esm/skeleton/elements.js +9 -3
  209. package/esm/skeleton/style/css/index.css +18 -0
  210. package/esm/slider/hooks/index.d.ts +1 -1
  211. package/esm/slider/hooks/useSliderEvents.d.ts +1 -1
  212. package/esm/slider/style/css/index.css +18 -0
  213. package/esm/stepper/hooks/useValue.d.ts +2 -1
  214. package/esm/stepper/style/css/index.css +18 -0
  215. package/esm/steps/index.d.ts +1 -1
  216. package/esm/steps/style/css/index.css +18 -0
  217. package/esm/sticky/style/css/index.css +18 -0
  218. package/esm/swipe-action/style/css/index.css +18 -0
  219. package/esm/swipe-load/style/css/index.css +18 -0
  220. package/esm/switch/style/css/index.css +18 -0
  221. package/esm/tab-bar/style/css/index.css +18 -0
  222. package/esm/tabs/index.js +7 -3
  223. package/esm/tabs/style/css/index.css +18 -0
  224. package/esm/tabs/tab-cell.js +9 -1
  225. package/esm/tabs/type.d.ts +7 -2
  226. package/esm/tag/style/css/index.css +18 -0
  227. package/esm/textarea/style/css/index.css +18 -0
  228. package/esm/toast/index.d.ts +12 -12
  229. package/esm/toast/index.js +1 -1
  230. package/esm/toast/style/css/index.css +18 -0
  231. package/esm/transition/index.d.ts +9 -3
  232. package/esm/transition/index.js +32 -7
  233. package/esm/transition/style/css/index.css +22 -4
  234. package/esm/transition/style/index.less +2 -2
  235. package/esm/uploader/style/css/index.css +18 -0
  236. package/esnext/_helpers/hooks.js +1 -1
  237. package/esnext/_helpers/react-dom.d.ts +5 -5
  238. package/esnext/_helpers/react-dom.js +47 -28
  239. package/esnext/_helpers/render.js +3 -2
  240. package/esnext/action-sheet/index.d.ts +3 -2
  241. package/esnext/action-sheet/index.js +1 -1
  242. package/esnext/action-sheet/style/css/index.css +18 -0
  243. package/esnext/avatar/style/css/index.css +18 -0
  244. package/esnext/badge/index.d.ts +2 -1
  245. package/esnext/badge/index.js +1 -1
  246. package/esnext/badge/style/css/index.css +26 -4
  247. package/esnext/badge/style/index.less +4 -2
  248. package/esnext/button/style/css/index.css +18 -0
  249. package/esnext/carousel/style/css/index.css +18 -0
  250. package/esnext/cell/style/css/index.css +18 -0
  251. package/esnext/checkbox/style/css/index.css +18 -0
  252. package/esnext/circle-progress/style/css/index.css +18 -0
  253. package/esnext/collapse/style/css/index.css +18 -0
  254. package/esnext/context-provider/index.d.ts +8 -2
  255. package/esnext/context-provider/index.js +1 -1
  256. package/esnext/count-down/hooks.js +2 -2
  257. package/esnext/count-down/style/css/index.css +18 -0
  258. package/esnext/date-picker/style/css/index.css +18 -0
  259. package/esnext/dialog/index.d.ts +12 -6
  260. package/esnext/dialog/index.js +1 -1
  261. package/esnext/dialog/methods.d.ts +6 -2
  262. package/esnext/dialog/style/css/index.css +26 -4
  263. package/esnext/dialog/style/index.less +4 -2
  264. package/esnext/divider/style/css/index.css +18 -0
  265. package/esnext/dropdown/style/css/index.css +18 -0
  266. package/esnext/dropdown-menu/helper.d.ts +1 -1
  267. package/esnext/dropdown-menu/style/css/index.css +18 -0
  268. package/esnext/ellipsis/components/native-ellipsis.d.ts +2 -3
  269. package/esnext/ellipsis/components/native-ellipsis.js +1 -1
  270. package/esnext/ellipsis/style/css/index.css +18 -0
  271. package/esnext/form/style/css/index.css +18 -0
  272. package/esnext/form/type.d.ts +5 -5
  273. package/esnext/grid/style/css/index.css +18 -0
  274. package/esnext/image/style/css/index.css +18 -0
  275. package/esnext/image-picker/style/css/index.css +18 -0
  276. package/esnext/image-preview/index.d.ts +2 -2
  277. package/esnext/image-preview/style/css/index.css +18 -0
  278. package/esnext/index-bar/group.js +5 -1
  279. package/esnext/index-bar/index.d.ts +2 -2
  280. package/esnext/index-bar/style/css/index.css +18 -0
  281. package/esnext/input/style/css/index.css +18 -0
  282. package/esnext/keyboard/style/css/index.css +18 -0
  283. package/esnext/load-more/style/css/index.css +18 -0
  284. package/esnext/loading/style/css/index.css +18 -0
  285. package/esnext/masking/index.d.ts +11 -5
  286. package/esnext/masking/index.js +3 -3
  287. package/esnext/masking/style/css/index.css +18 -0
  288. package/esnext/nav-bar/style/css/index.css +18 -0
  289. package/esnext/notice-bar/style/css/index.css +18 -0
  290. package/esnext/notify/index.d.ts +8 -8
  291. package/esnext/notify/index.js +2 -2
  292. package/esnext/notify/style/css/index.css +18 -0
  293. package/esnext/pagination/style/css/index.css +18 -0
  294. package/esnext/picker/style/css/index.css +18 -0
  295. package/esnext/picker-view/components/cascader.js +5 -1
  296. package/esnext/picker-view/components/picker-cell.js +1 -1
  297. package/esnext/picker-view/index.js +5 -1
  298. package/esnext/picker-view/style/css/index.css +18 -0
  299. package/esnext/popover/style/css/index.css +18 -0
  300. package/esnext/popover/style/css/menu.css +18 -0
  301. package/esnext/popup/index.d.ts +3 -3
  302. package/esnext/popup/index.js +1 -1
  303. package/esnext/popup/style/css/index.css +35 -0
  304. package/esnext/popup/style/index.less +36 -3
  305. package/esnext/popup-swiper/index.d.ts +2 -2
  306. package/esnext/popup-swiper/index.js +7 -2
  307. package/esnext/popup-swiper/style/css/index.css +18 -0
  308. package/esnext/progress/style/css/index.css +18 -0
  309. package/esnext/pull-refresh/hooks.d.ts +2 -2
  310. package/esnext/pull-refresh/style/css/index.css +18 -0
  311. package/esnext/radio/style/css/index.css +18 -0
  312. package/esnext/rate/style/css/index.css +18 -0
  313. package/esnext/search-bar/style/css/index.css +18 -0
  314. package/esnext/skeleton/elements.js +15 -3
  315. package/esnext/skeleton/style/css/index.css +18 -0
  316. package/esnext/slider/hooks/useSliderEvents.d.ts +1 -1
  317. package/esnext/slider/style/css/index.css +18 -0
  318. package/esnext/stepper/style/css/index.css +18 -0
  319. package/esnext/steps/style/css/index.css +18 -0
  320. package/esnext/sticky/style/css/index.css +18 -0
  321. package/esnext/swipe-action/style/css/index.css +18 -0
  322. package/esnext/swipe-load/style/css/index.css +18 -0
  323. package/esnext/switch/style/css/index.css +18 -0
  324. package/esnext/tab-bar/style/css/index.css +18 -0
  325. package/esnext/tabs/index.js +3 -2
  326. package/esnext/tabs/style/css/index.css +18 -0
  327. package/esnext/tabs/tab-cell.js +8 -1
  328. package/esnext/tabs/type.d.ts +7 -2
  329. package/esnext/tag/style/css/index.css +18 -0
  330. package/esnext/textarea/style/css/index.css +18 -0
  331. package/esnext/toast/index.d.ts +12 -12
  332. package/esnext/toast/index.js +1 -1
  333. package/esnext/toast/style/css/index.css +18 -0
  334. package/esnext/transition/index.d.ts +9 -3
  335. package/esnext/transition/index.js +28 -3
  336. package/esnext/transition/style/css/index.css +22 -4
  337. package/esnext/transition/style/index.less +2 -2
  338. package/esnext/uploader/style/css/index.css +18 -0
  339. package/package.json +3 -3
  340. package/style/css/public.css +18 -0
  341. package/tokens/mixin/index.less +31 -2
  342. package/umd/_helpers/hooks.d.ts +1 -1
  343. package/umd/_helpers/hooks.js +1 -1
  344. package/umd/_helpers/react-dom.d.ts +5 -5
  345. package/umd/_helpers/react-dom.js +53 -35
  346. package/umd/_helpers/render.js +6 -3
  347. package/umd/action-sheet/index.d.ts +3 -2
  348. package/umd/action-sheet/index.js +2 -2
  349. package/umd/action-sheet/style/css/index.css +18 -0
  350. package/umd/avatar/style/css/index.css +18 -0
  351. package/umd/badge/index.d.ts +2 -1
  352. package/umd/badge/index.js +1 -1
  353. package/umd/badge/style/css/index.css +26 -4
  354. package/umd/badge/style/index.less +4 -2
  355. package/umd/button/style/css/index.css +18 -0
  356. package/umd/carousel/style/css/index.css +18 -0
  357. package/umd/cell/style/css/index.css +18 -0
  358. package/umd/checkbox/checkbox.d.ts +1 -1
  359. package/umd/checkbox/group.d.ts +1 -1
  360. package/umd/checkbox/hooks/useMergeProps.d.ts +1 -1
  361. package/umd/checkbox/index.d.ts +2 -2
  362. package/umd/checkbox/style/css/index.css +18 -0
  363. package/umd/circle-progress/style/css/index.css +18 -0
  364. package/umd/collapse/style/css/index.css +18 -0
  365. package/umd/context-provider/index.d.ts +8 -2
  366. package/umd/count-down/hooks.js +2 -2
  367. package/umd/count-down/style/css/index.css +18 -0
  368. package/umd/date-picker/style/css/index.css +18 -0
  369. package/umd/dialog/index.d.ts +12 -6
  370. package/umd/dialog/index.js +4 -1
  371. package/umd/dialog/methods.d.ts +6 -2
  372. package/umd/dialog/style/css/index.css +26 -4
  373. package/umd/dialog/style/index.less +4 -2
  374. package/umd/divider/style/css/index.css +18 -0
  375. package/umd/dropdown/style/css/index.css +18 -0
  376. package/umd/dropdown-menu/helper.d.ts +2 -2
  377. package/umd/dropdown-menu/style/css/index.css +18 -0
  378. package/umd/ellipsis/components/native-ellipsis.d.ts +2 -3
  379. package/umd/ellipsis/components/native-ellipsis.js +1 -2
  380. package/umd/ellipsis/style/css/index.css +18 -0
  381. package/umd/form/style/css/index.css +18 -0
  382. package/umd/form/type.d.ts +5 -5
  383. package/umd/grid/style/css/index.css +18 -0
  384. package/umd/image/style/css/index.css +18 -0
  385. package/umd/image-picker/style/css/index.css +18 -0
  386. package/umd/image-preview/index.d.ts +2 -2
  387. package/umd/image-preview/style/css/index.css +18 -0
  388. package/umd/index-bar/group.js +3 -1
  389. package/umd/index-bar/index.d.ts +2 -2
  390. package/umd/index-bar/style/css/index.css +18 -0
  391. package/umd/index-bar/utils.d.ts +1 -1
  392. package/umd/input/style/css/index.css +18 -0
  393. package/umd/keyboard/style/css/index.css +18 -0
  394. package/umd/load-more/style/css/index.css +18 -0
  395. package/umd/loading/style/css/index.css +18 -0
  396. package/umd/masking/index.d.ts +11 -5
  397. package/umd/masking/index.js +2 -0
  398. package/umd/masking/style/css/index.css +18 -0
  399. package/umd/nav-bar/style/css/index.css +18 -0
  400. package/umd/notice-bar/style/css/index.css +18 -0
  401. package/umd/notify/index.d.ts +8 -8
  402. package/umd/notify/index.js +2 -2
  403. package/umd/notify/style/css/index.css +18 -0
  404. package/umd/pagination/style/css/index.css +18 -0
  405. package/umd/picker/style/css/index.css +18 -0
  406. package/umd/picker-view/components/cascader.js +3 -1
  407. package/umd/picker-view/components/picker-cell.js +1 -1
  408. package/umd/picker-view/index.js +3 -1
  409. package/umd/picker-view/style/css/index.css +18 -0
  410. package/umd/popover/style/css/index.css +18 -0
  411. package/umd/popover/style/css/menu.css +18 -0
  412. package/umd/popup/index.d.ts +3 -3
  413. package/umd/popup/index.js +1 -0
  414. package/umd/popup/style/css/index.css +35 -0
  415. package/umd/popup/style/index.less +36 -3
  416. package/umd/popup-swiper/index.d.ts +2 -2
  417. package/umd/popup-swiper/index.js +20 -3
  418. package/umd/popup-swiper/style/css/index.css +18 -0
  419. package/umd/progress/style/css/index.css +18 -0
  420. package/umd/pull-refresh/hooks.d.ts +2 -2
  421. package/umd/pull-refresh/style/css/index.css +18 -0
  422. package/umd/radio/group.d.ts +1 -1
  423. package/umd/radio/index.d.ts +2 -2
  424. package/umd/radio/radio.d.ts +1 -1
  425. package/umd/radio/style/css/index.css +18 -0
  426. package/umd/rate/style/css/index.css +18 -0
  427. package/umd/search-bar/style/css/index.css +18 -0
  428. package/umd/skeleton/elements.js +9 -3
  429. package/umd/skeleton/style/css/index.css +18 -0
  430. package/umd/slider/hooks/index.d.ts +1 -1
  431. package/umd/slider/hooks/useSliderEvents.d.ts +1 -1
  432. package/umd/slider/style/css/index.css +18 -0
  433. package/umd/stepper/hooks/useValue.d.ts +2 -1
  434. package/umd/stepper/style/css/index.css +18 -0
  435. package/umd/steps/index.d.ts +1 -1
  436. package/umd/steps/style/css/index.css +18 -0
  437. package/umd/sticky/style/css/index.css +18 -0
  438. package/umd/swipe-action/style/css/index.css +18 -0
  439. package/umd/swipe-load/style/css/index.css +18 -0
  440. package/umd/switch/style/css/index.css +18 -0
  441. package/umd/tab-bar/style/css/index.css +18 -0
  442. package/umd/tabs/index.js +7 -3
  443. package/umd/tabs/style/css/index.css +18 -0
  444. package/umd/tabs/tab-cell.js +9 -1
  445. package/umd/tabs/type.d.ts +7 -2
  446. package/umd/tag/style/css/index.css +18 -0
  447. package/umd/textarea/style/css/index.css +18 -0
  448. package/umd/toast/index.d.ts +12 -12
  449. package/umd/toast/index.js +1 -1
  450. package/umd/toast/style/css/index.css +18 -0
  451. package/umd/transition/index.d.ts +9 -3
  452. package/umd/transition/index.js +36 -6
  453. package/umd/transition/style/css/index.css +22 -4
  454. package/umd/transition/style/index.less +2 -2
  455. package/umd/uploader/style/css/index.css +18 -0
@@ -117,7 +117,11 @@ const PickerView = forwardRef((props, ref) => {
117
117
  ...itemStyle,
118
118
  };
119
119
  return (React.createElement(ContextLayout, null, ({ prefixCls }) => (React.createElement("div", { className: `${prefixCls}-picker-view all-border-box ${className}`, style: { height: `${itemHeight * rows}px` }, ref: wrapperRef },
120
- cascade ? (React.createElement(Cascader, { prefixCls: prefixCls || '', cols: cols, itemStyle: newItemStyle, data: data, selectedValue: scrollValue, onValueChange: _onValueChange, clickable: clickable, itemHeight: itemHeight, wrapperHeight: wrapperHeight, disabled: disabled, rows: rows, hideEmptyCols: hideEmptyCols, ref: cascaderRef, touchToStop: touchToStop })) : (React.createElement(MultiPicker, { prefixCls: `${prefixCls}-picker`, data: innerData, itemHeight: itemHeight, selectedValue: scrollValue, onValueChange: _onValueChange }, innerData.map((item, index) => (React.createElement(PickerCell, { key: `${index}_picker_cell_normal`, data: item, style: newItemStyle, prefixCls: `${prefixCls}-picker`, clickable: clickable, itemHeight: itemHeight, wrapperHeight: wrapperHeight, disabled: disabled, rows: rows, hideEmptyCols: hideEmptyCols, ref: cellRef => cellRef && (pickerCellsRef.current[index] = cellRef), touchToStop: touchToStop }))))),
120
+ cascade ? (React.createElement(Cascader, { prefixCls: prefixCls || '', cols: cols, itemStyle: newItemStyle, data: data, selectedValue: scrollValue, onValueChange: _onValueChange, clickable: clickable, itemHeight: itemHeight, wrapperHeight: wrapperHeight, disabled: disabled, rows: rows, hideEmptyCols: hideEmptyCols, ref: cascaderRef, touchToStop: touchToStop })) : (React.createElement(MultiPicker, { prefixCls: `${prefixCls}-picker`, data: innerData, itemHeight: itemHeight, selectedValue: scrollValue, onValueChange: _onValueChange }, innerData.map((item, index) => (React.createElement(PickerCell, { key: `${index}_picker_cell_normal`, data: item, style: newItemStyle, prefixCls: `${prefixCls}-picker`, clickable: clickable, itemHeight: itemHeight, wrapperHeight: wrapperHeight, disabled: disabled, rows: rows, hideEmptyCols: hideEmptyCols, ref: cellRef => {
121
+ if (cellRef) {
122
+ pickerCellsRef.current[index] = cellRef;
123
+ }
124
+ }, touchToStop: touchToStop }))))),
121
125
  React.createElement("div", { className: `${prefixCls}-picker-selection` },
122
126
  React.createElement("div", { className: `${prefixCls}-picker-selection-mask ${prefixCls}-picker-selection-mask-top` }),
123
127
  React.createElement("div", { ref: barRef, className: `${prefixCls}-picker-selection-bar`, style: selectionBarHeight }),
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MaskingCommonProps, MaskingRef, OpenBaseProps } from '../masking';
2
+ import type { MaskingCommonProps, MaskingRef, OpenBaseProps } from '../masking';
3
3
  export * from './methods';
4
4
  export declare type DirectionType = 'left' | 'right' | 'top' | 'bottom';
5
5
  export interface PopupProps extends MaskingCommonProps {
@@ -66,11 +66,11 @@ declare const _default: React.ForwardRefExoticComponent<PopupProps & React.RefAt
66
66
  * @param {PopupProps} config Configuration
67
67
  * @returns {{ close: () => void; update: (newConfig: PopupProps) => void; }}
68
68
  */
69
- open: (config: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
69
+ open: (config: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "className" | "context" | "translateZ" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "contentTransitionVarType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
70
70
  key?: string | undefined;
71
71
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
72
72
  close: () => void;
73
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
73
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "className" | "context" | "translateZ" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "contentTransitionVarType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
74
74
  key?: string | undefined;
75
75
  }) => void;
76
76
  };
@@ -10,7 +10,7 @@ const Popup = forwardRef((props, ref) => {
10
10
  useImperativeHandle(ref, () => maskingRef.current);
11
11
  function renderPopup({ prefixCls }) {
12
12
  const prefix = `${prefixCls}-popup`;
13
- return (React.createElement(Masking, Object.assign({ className: cls(prefix, className), ref: maskingRef, maskClass: cls(`${prefix}-mask`, { translateZ }, maskClass), contentTransitionType: contentTransitionType || `slide-from-${direction}`, contentClass: cls(`${prefix}-content`, direction, {
13
+ return (React.createElement(Masking, Object.assign({ className: cls(prefix, className), ref: maskingRef, maskClass: cls(`${prefix}-mask`, { translateZ }, maskClass), contentTransitionType: contentTransitionType || `slide-from-${direction}`, contentTransitionVarType: "popup-slide", contentClass: cls(`${prefix}-content`, direction, {
14
14
  'need-bottom-offset': needBottomOffset,
15
15
  }, { translateZ }, contentClass), maskTransitionTimeout: maskTransitionTimeout, contentTransitionTimeout: contentTransitionTimeout }, restProps), children));
16
16
  }
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -579,7 +597,16 @@
579
597
  position: fixed;
580
598
  z-index: 1001;
581
599
  }
600
+ .arco-popup-content[class*="-enter-active"] {
601
+ -webkit-transition-duration: var(--builtin-transition-popup-slide-enter-duration, 450ms);
602
+ transition-duration: var(--builtin-transition-popup-slide-enter-duration, 450ms);
603
+ }
604
+ .arco-popup-content[class*="-exit-active"] {
605
+ -webkit-transition-duration: var(--builtin-transition-popup-slide-exit-duration, 240ms);
606
+ transition-duration: var(--builtin-transition-popup-slide-exit-duration, 240ms);
607
+ }
582
608
  .arco-popup-content.need-bottom-offset {
609
+ padding-bottom: constant(safe-area-inset-bottom);
583
610
  padding-bottom: env(safe-area-inset-bottom);
584
611
  }
585
612
  .arco-popup-content.left {
@@ -615,6 +642,14 @@
615
642
  z-index: 1000;
616
643
  background: rgba(0, 0, 0, 0.6) ;
617
644
  }
645
+ .arco-popup-mask[class*="-enter-active"] {
646
+ -webkit-transition-duration: var(--builtin-transition-fade-enter-duration, 450ms);
647
+ transition-duration: var(--builtin-transition-fade-enter-duration, 450ms);
648
+ }
649
+ .arco-popup-mask[class*="-exit-active"] {
650
+ -webkit-transition-duration: var(--builtin-transition-fade-exit-duration, 240ms);
651
+ transition-duration: var(--builtin-transition-fade-exit-duration, 240ms);
652
+ }
618
653
  .arco-popup-mask.translateZ {
619
654
  -webkit-transform: translateZ(1PX);
620
655
  transform: translateZ(1PX);
@@ -1,8 +1,12 @@
1
1
  @import '../../../style/mixin.less';
2
2
 
3
3
  .set-popup-transform(@transform) {
4
- &-enter, &-exit-active, &-exit-done {
4
+
5
+ &-enter,
6
+ &-exit-active,
7
+ &-exit-done {
5
8
  transform: @transform;
9
+
6
10
  &.translateZ {
7
11
  transform: @transform translateZ(2PX);
8
12
  }
@@ -14,63 +18,92 @@
14
18
  &-left {
15
19
  .set-popup-transform(translate(-100%, 0));
16
20
  }
21
+
17
22
  &-right {
18
23
  .set-popup-transform(translate(100%, 0));
19
24
  }
25
+
20
26
  &-top {
21
27
  .set-popup-transform(translate(0, -100%));
22
28
  }
29
+
23
30
  &-bottom {
24
31
  .set-popup-transform(translate(0, 100%));
25
32
  }
26
33
  }
27
- &-content, &-mask {
34
+
35
+ &-content,
36
+ &-mask {
28
37
  &[class*="-enter-active"] {
29
38
  &.translateZ {
30
39
  transform: translateZ(2PX);
31
40
  }
41
+
32
42
  transform: translate(0, 0);
33
43
  .use-var(transition, popup-enter-transition);
34
44
  }
35
45
  }
46
+
36
47
  [class*="-exit-active"] {
37
48
  .use-var(transition, popup-exit-transition);
38
49
  }
50
+
39
51
  &-content {
52
+ &[class*="-enter-active"] {
53
+ transition-duration: var(--builtin-transition-popup-slide-enter-duration, 450ms);
54
+ }
55
+ &[class*="-exit-active"] {
56
+ transition-duration: var(--builtin-transition-popup-slide-exit-duration, 240ms);
57
+ }
40
58
  &.need-bottom-offset {
59
+ padding-bottom: constant(safe-area-inset-bottom);
41
60
  padding-bottom: env(safe-area-inset-bottom);
42
61
  }
62
+
43
63
  &.left {
44
64
  left: 0;
45
65
  top: 0;
46
66
  height: 100%;
47
67
  }
68
+
48
69
  &.top {
49
70
  left: 0;
50
71
  top: 0;
51
72
  width: 100%;
52
73
  }
74
+
53
75
  &.right {
54
76
  right: 0;
55
77
  top: 0;
56
78
  height: 100%;
57
79
  }
80
+
58
81
  &.bottom {
59
82
  left: 0;
60
83
  bottom: 0;
61
84
  width: 100%;
62
85
  }
86
+
63
87
  &.translateZ {
64
88
  transform: translateZ(2PX);
65
89
  }
90
+
66
91
  .use-var(background, popup-content-background);
67
92
  position: fixed;
68
- z-index: @full-screen-z-index + 1;
93
+ z-index: @full-screen-z-index+1;
69
94
  }
95
+
70
96
  &-mask {
97
+ &[class*="-enter-active"] {
98
+ transition-duration: var(--builtin-transition-fade-enter-duration, 450ms);
99
+ }
100
+ &[class*="-exit-active"] {
101
+ transition-duration: var(--builtin-transition-fade-exit-duration, 240ms);
102
+ }
71
103
  &.translateZ {
72
104
  transform: translateZ(1PX);
73
105
  }
106
+
74
107
  position: fixed;
75
108
  width: 100%;
76
109
  height: 100%;
@@ -73,11 +73,11 @@ declare const _default: React.ForwardRefExoticComponent<PopupSwiperProps & React
73
73
  * @param {string | PopupSwiperProps} config Configuration
74
74
  * @returns {{ close: () => void; update: (newConfig: PopupSwiperProps) => void; }}
75
75
  */
76
- open: (config: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
76
+ open: (config: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "className" | "context" | "translateZ" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "contentTransitionVarType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
77
77
  key?: string | undefined;
78
78
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
79
79
  close: () => void;
80
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
80
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "className" | "context" | "translateZ" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "contentTransitionVarType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
81
81
  key?: string | undefined;
82
82
  }) => void;
83
83
  };
@@ -5,7 +5,7 @@ import Popup from '../popup';
5
5
  import { open } from './methods';
6
6
  import { getStyleWithVendor, useRefState } from '../_helpers';
7
7
  const PopupSwiper = forwardRef((props, ref) => {
8
- const { className = '', visible, children, maskStyle, contentStyle, direction = 'bottom', percentToClose = 0.3, distanceToClose = 10, speedToClose = 200, allowSwipeDirections, exitDirection, onTouchMove, onTouchStart, onTouchEnd, onOpen, onClose, close, ...otherProps } = props;
8
+ const { className = '', visible, children, maskStyle, contentStyle, direction = 'bottom', percentToClose = 0.3, distanceToClose = 10, speedToClose = 200, allowSwipeDirections, exitDirection, onTouchMove, onTouchStart, onTouchEnd, onOpen, onClose, close, maskTransitionTimeout = { enter: 450, exit: 240 }, contentTransitionTimeout = { enter: 450, exit: 240 }, ...otherProps } = props;
9
9
  const [opened, setOpened] = useState(visible);
10
10
  const [distance, distanceRef, setDistance] = useRefState({
11
11
  direction: 'X',
@@ -121,6 +121,11 @@ const PopupSwiper = forwardRef((props, ref) => {
121
121
  direction: 'X',
122
122
  value: 0,
123
123
  });
124
+ // 动画完成后需重置
125
+ // @en Reset after animation is complete
126
+ setTimeout(() => {
127
+ setHasTrans(false);
128
+ }, Math.max(typeof maskTransitionTimeout === 'number' ? maskTransitionTimeout : maskTransitionTimeout?.exit || 0, typeof contentTransitionTimeout === 'number' ? contentTransitionTimeout : contentTransitionTimeout?.exit || 0, 240));
124
129
  }
125
130
  touchStartTimeRef.current = 0;
126
131
  }, [onTouchEnd, percentToClose, distanceToClose, speedToClose, close]);
@@ -167,7 +172,7 @@ const PopupSwiper = forwardRef((props, ref) => {
167
172
  }, maskStyle: {
168
173
  ...(maskStyle || {}),
169
174
  opacity: percent ? 1 - percent : void 0,
170
- }, contentStyle: getContentStyle() }, otherProps), children))));
175
+ }, contentStyle: getContentStyle(), maskTransitionTimeout: maskTransitionTimeout, contentTransitionTimeout: contentTransitionTimeout }, otherProps), children))));
171
176
  });
172
177
  export function methodsGenerator(Comp) {
173
178
  return {
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -17,14 +17,14 @@ export declare const useCommonState: ({ onRefresh, loosingMinHeight, }: {
17
17
  tipsHeight: number;
18
18
  };
19
19
  export declare const useAddScrollEvents: ({ domRef, handleTouchStart, handleTouchMove, handleTouchEnd, }: {
20
- domRef: RefObject<HTMLDivElement>;
20
+ domRef: RefObject<HTMLDivElement | null>;
21
21
  handleTouchStart: (evt: HTMLElementEventMap['touchstart']) => void;
22
22
  handleTouchMove: (evt: HTMLElementEventMap['touchmove']) => void;
23
23
  handleTouchEnd: (evt: HTMLElementEventMap['touchend']) => void;
24
24
  }) => void;
25
25
  export declare const useCheckAsStart: ({ allowPullWhenNotTop, domRef, }: {
26
26
  allowPullWhenNotTop: boolean;
27
- domRef: RefObject<HTMLDivElement>;
27
+ domRef: RefObject<HTMLDivElement | null>;
28
28
  }) => {
29
29
  ifShouldHandle: () => boolean | null;
30
30
  };
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -80,7 +80,11 @@ export const SkeletonParagraph = forwardRef((props, ref) => {
80
80
  return (React.createElement("div", { className: cls(`${prefixCls}-skeleton-paragraph`, className), style: style, ref: domRef }, Array.from(new Array(rows)).map((_, idx) => (React.createElement("div", { key: idx, className: cls(`${prefixCls}-skeleton-item`, `${prefixCls}-skeleton-paragraph-line`, showAnimation && `${prefixCls}-skeleton-animation-${animation}`), style: {
81
81
  width: getWidth(idx),
82
82
  backgroundColor,
83
- }, ref: el => el && (lineDomRefs.current[idx] = el) }, isGradientAnimation && offsets !== undefined && (React.createElement("div", { className: `${prefixCls}-skeleton-animation-item`, style: { left: 0 - (offsets[idx] || 0) } })))))));
83
+ }, ref: el => {
84
+ if (el) {
85
+ lineDomRefs.current[idx] = el;
86
+ }
87
+ } }, isGradientAnimation && offsets !== undefined && (React.createElement("div", { className: `${prefixCls}-skeleton-animation-item`, style: { left: 0 - (offsets[idx] || 0) } })))))));
84
88
  });
85
89
  export const SkeletonAvatar = forwardRef((props, ref) => {
86
90
  const { className = '', style } = props;
@@ -108,10 +112,18 @@ export const SkeletonGrid = forwardRef((props, ref) => {
108
112
  dom: domRef.current,
109
113
  }));
110
114
  return (React.createElement("div", { className: cls(`${prefixCls}-skeleton-grid`, className), style: style, ref: domRef }, Array.from(new Array(columns)).map((_, idx) => (React.createElement("div", { key: idx, className: cls(`${prefixCls}-skeleton-grid-item`) },
111
- React.createElement("div", { className: cls(`${prefixCls}-skeleton-item`, `${prefixCls}-skeleton-grid-icon`, showAnimation && `${prefixCls}-skeleton-animation-${animation}`), style: { backgroundColor }, ref: el => el && (iconDomRefs.current[idx] = el) }, isGradientAnimation && iconOffsets !== undefined && (React.createElement("div", { className: `${prefixCls}-skeleton-animation-item`, style: {
115
+ React.createElement("div", { className: cls(`${prefixCls}-skeleton-item`, `${prefixCls}-skeleton-grid-icon`, showAnimation && `${prefixCls}-skeleton-animation-${animation}`), style: { backgroundColor }, ref: el => {
116
+ if (el) {
117
+ iconDomRefs.current[idx] = el;
118
+ }
119
+ } }, isGradientAnimation && iconOffsets !== undefined && (React.createElement("div", { className: `${prefixCls}-skeleton-animation-item`, style: {
112
120
  left: 0 - (iconOffsets?.[idx] || 0),
113
121
  } }))),
114
- React.createElement("div", { className: cls(`${prefixCls}-skeleton-item`, `${prefixCls}-skeleton-grid-text`, showAnimation && `${prefixCls}-skeleton-animation-${animation}`), style: { backgroundColor }, ref: el => el && (textDomRefs.current[idx] = el) }, isGradientAnimation && textOffsets !== undefined && (React.createElement("div", { className: `${prefixCls}-skeleton-animation-item`, style: {
122
+ React.createElement("div", { className: cls(`${prefixCls}-skeleton-item`, `${prefixCls}-skeleton-grid-text`, showAnimation && `${prefixCls}-skeleton-animation-${animation}`), style: { backgroundColor }, ref: el => {
123
+ if (el) {
124
+ textDomRefs.current[idx] = el;
125
+ }
126
+ } }, isGradientAnimation && textOffsets !== undefined && (React.createElement("div", { className: `${prefixCls}-skeleton-animation-item`, style: {
115
127
  left: 0 - (textOffsets?.[idx] || 0),
116
128
  } }))))))));
117
129
  });
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -7,7 +7,7 @@ declare enum IsTouchingStatus {
7
7
  }
8
8
  export declare const useSliderEvents: ({ getLinePosition, lineRef, valueGroup, setValueGroup, setCommonIsTouching, }: {
9
9
  getLinePosition: () => LinePosition;
10
- lineRef: RefObject<HTMLDivElement>;
10
+ lineRef: RefObject<HTMLDivElement | null>;
11
11
  valueGroup: number | number[];
12
12
  setValueGroup: React.Dispatch<React.SetStateAction<number | [number, number]>>;
13
13
  setCommonIsTouching: React.Dispatch<React.SetStateAction<number>>;
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
@@ -75,6 +75,24 @@
75
75
  * }
76
76
  * ```
77
77
  */
78
+ /**
79
+ * 为属性设置 transition 变量
80
+ * @desc {en} set the transition variable for the attribute
81
+ * @param @transitionVariable transition 变量名
82
+ * @param @transitionVariable {en} transition variable name
83
+ * @param @backupVariable 备份变量名
84
+ * @param @backupVariable {en} backup variable name
85
+ * @param @property css属性名
86
+ * @param @property {en} css property
87
+ * @example
88
+ * ```
89
+ * @import '@arco-design/mobile-react/style/mixin.less';
90
+ *
91
+ * .demo {
92
+ * .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
93
+ * }
94
+ * ```
95
+ */
78
96
  /**
79
97
  * 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
80
98
  * @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode