@arco-design/mobile-react 2.24.1 → 2.25.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 (830) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.js +42 -120
  5. package/cjs/_helpers/index.js +2 -13
  6. package/cjs/_helpers/react-dom.js +0 -12
  7. package/cjs/_helpers/render.js +0 -12
  8. package/cjs/action-sheet/index.js +10 -30
  9. package/cjs/action-sheet/methods.js +0 -2
  10. package/cjs/action-sheet/style/css/index.css +1 -1
  11. package/cjs/action-sheet/style/css/index.js +0 -2
  12. package/cjs/action-sheet/style/index.js +0 -2
  13. package/cjs/avatar/group.js +12 -24
  14. package/cjs/avatar/index.js +51 -77
  15. package/cjs/avatar/style/css/index.js +0 -2
  16. package/cjs/avatar/style/index.js +0 -2
  17. package/cjs/badge/index.js +18 -29
  18. package/cjs/badge/style/css/index.css +3 -2
  19. package/cjs/badge/style/css/index.js +0 -1
  20. package/cjs/badge/style/index.js +0 -1
  21. package/cjs/button/hooks.js +15 -20
  22. package/cjs/button/index.js +46 -67
  23. package/cjs/button/style/css/index.js +0 -2
  24. package/cjs/button/style/index.js +0 -2
  25. package/cjs/carousel/demo/style/css/mobile.css +12 -0
  26. package/cjs/carousel/demo/style/mobile.less +8 -0
  27. package/cjs/carousel/index.d.ts +1 -1
  28. package/cjs/carousel/index.js +159 -275
  29. package/cjs/carousel/style/css/index.js +0 -1
  30. package/cjs/carousel/style/index.js +0 -1
  31. package/cjs/cell/arrow.js +0 -3
  32. package/cjs/cell/cell.js +14 -23
  33. package/cjs/cell/group.js +9 -21
  34. package/cjs/cell/index.js +1 -7
  35. package/cjs/cell/style/css/index.js +0 -1
  36. package/cjs/cell/style/index.js +0 -1
  37. package/cjs/checkbox/checkbox.js +31 -57
  38. package/cjs/checkbox/group.js +24 -38
  39. package/cjs/checkbox/hooks/index.js +0 -2
  40. package/cjs/checkbox/hooks/useMergeProps.js +7 -14
  41. package/cjs/checkbox/index.d.ts +4 -1
  42. package/cjs/checkbox/index.js +5 -10
  43. package/cjs/checkbox/style/css/index.js +0 -1
  44. package/cjs/checkbox/style/index.js +0 -1
  45. package/cjs/checkbox/type.js +0 -2
  46. package/cjs/circle-progress/index.js +37 -57
  47. package/cjs/circle-progress/style/css/index.js +0 -1
  48. package/cjs/circle-progress/style/index.js +0 -1
  49. package/cjs/collapse/collapse.js +27 -56
  50. package/cjs/collapse/group.js +20 -44
  51. package/cjs/collapse/index.js +0 -9
  52. package/cjs/collapse/style/css/index.js +0 -1
  53. package/cjs/collapse/style/index.js +0 -1
  54. package/cjs/collapse/utils.js +0 -7
  55. package/cjs/context-provider/index.js +10 -28
  56. package/cjs/context-provider/style/css/index.js +0 -1
  57. package/cjs/context-provider/style/index.js +0 -1
  58. package/cjs/count-down/hooks.js +24 -43
  59. package/cjs/count-down/index.js +29 -37
  60. package/cjs/count-down/singleton.js +2 -12
  61. package/cjs/count-down/style/css/index.js +0 -1
  62. package/cjs/count-down/style/index.js +0 -1
  63. package/cjs/count-down/util.js +33 -47
  64. package/cjs/date-picker/helper.js +7 -14
  65. package/cjs/date-picker/index.d.ts +3 -2
  66. package/cjs/date-picker/index.js +52 -114
  67. package/cjs/date-picker/style/css/index.js +0 -2
  68. package/cjs/date-picker/style/index.js +0 -2
  69. package/cjs/dialog/index.js +28 -54
  70. package/cjs/dialog/methods.js +9 -22
  71. package/cjs/dialog/style/css/index.css +2 -1
  72. package/cjs/dialog/style/css/index.js +0 -2
  73. package/cjs/dialog/style/index.js +0 -2
  74. package/cjs/dropdown/dropdown.js +74 -113
  75. package/cjs/dropdown/index.js +1 -8
  76. package/cjs/dropdown/options.js +12 -28
  77. package/cjs/dropdown/style/css/index.js +0 -1
  78. package/cjs/dropdown/style/index.js +0 -1
  79. package/cjs/dropdown-menu/dropdown-menu.js +49 -84
  80. package/cjs/dropdown-menu/helper.js +6 -27
  81. package/cjs/dropdown-menu/index.js +0 -6
  82. package/cjs/dropdown-menu/style/css/index.js +0 -2
  83. package/cjs/dropdown-menu/style/index.js +0 -2
  84. package/cjs/ellipsis/components/js-ellipsis.js +35 -71
  85. package/cjs/ellipsis/components/native-ellipsis.js +9 -15
  86. package/cjs/ellipsis/index.js +19 -32
  87. package/cjs/ellipsis/style/css/index.css +3 -0
  88. package/cjs/ellipsis/style/css/index.js +0 -1
  89. package/cjs/ellipsis/style/index.js +0 -1
  90. package/cjs/ellipsis/style/index.less +4 -0
  91. package/cjs/ellipsis/utils/dom.js +0 -8
  92. package/cjs/ellipsis/utils/is.js +1 -5
  93. package/cjs/form/form-item-context.d.ts +3 -0
  94. package/cjs/form/form-item-context.js +12 -0
  95. package/cjs/form/form-item.d.ts +4 -0
  96. package/cjs/form/form-item.js +313 -0
  97. package/cjs/form/index.d.ts +16 -0
  98. package/cjs/form/index.js +96 -0
  99. package/cjs/form/style/css/index.css +92 -0
  100. package/cjs/form/style/css/index.d.ts +2 -0
  101. package/cjs/form/style/css/index.js +4 -0
  102. package/cjs/form/style/index.d.ts +2 -0
  103. package/cjs/form/style/index.js +4 -0
  104. package/cjs/form/style/index.less +91 -0
  105. package/cjs/form/type.d.ts +371 -0
  106. package/cjs/form/type.js +30 -0
  107. package/cjs/form/useForm.d.ts +18 -0
  108. package/cjs/form/useForm.js +225 -0
  109. package/cjs/form/utils.d.ts +6 -0
  110. package/cjs/form/utils.js +36 -0
  111. package/cjs/grid/index.js +21 -41
  112. package/cjs/grid/style/css/index.js +0 -1
  113. package/cjs/grid/style/index.js +0 -1
  114. package/cjs/icon/IconAdd/index.js +5 -12
  115. package/cjs/icon/IconArrowBack/index.js +5 -12
  116. package/cjs/icon/IconArrowDown/index.js +5 -12
  117. package/cjs/icon/IconArrowIn/index.js +5 -12
  118. package/cjs/icon/IconArrowUp/index.js +5 -12
  119. package/cjs/icon/IconCheck/index.js +5 -12
  120. package/cjs/icon/IconCheckBold/index.js +5 -12
  121. package/cjs/icon/IconCircleChecked/index.js +5 -12
  122. package/cjs/icon/IconCircleDisabled/index.js +5 -12
  123. package/cjs/icon/IconCircleUnchecked/index.js +5 -12
  124. package/cjs/icon/IconClear/index.js +5 -12
  125. package/cjs/icon/IconClose/index.js +5 -12
  126. package/cjs/icon/IconCloseBold/index.js +5 -12
  127. package/cjs/icon/IconDelete/index.js +5 -12
  128. package/cjs/icon/IconEdit/index.js +5 -12
  129. package/cjs/icon/IconErrorCircle/index.js +5 -12
  130. package/cjs/icon/IconEyeInvisible/index.js +5 -12
  131. package/cjs/icon/IconEyeVisible/index.js +5 -12
  132. package/cjs/icon/IconEyelashInvisible/index.js +5 -12
  133. package/cjs/icon/IconGift/index.js +5 -12
  134. package/cjs/icon/IconHeart/index.js +5 -12
  135. package/cjs/icon/IconHome/index.js +5 -12
  136. package/cjs/icon/IconLikeCircle/index.js +5 -12
  137. package/cjs/icon/IconMinus/index.js +5 -12
  138. package/cjs/icon/IconMore/index.js +5 -12
  139. package/cjs/icon/IconNotice/index.js +5 -12
  140. package/cjs/icon/IconNoticeOff/index.js +5 -12
  141. package/cjs/icon/IconPicture/index.js +5 -12
  142. package/cjs/icon/IconPlay/index.js +5 -12
  143. package/cjs/icon/IconQuestionCircle/index.js +5 -12
  144. package/cjs/icon/IconRefresh/index.js +5 -12
  145. package/cjs/icon/IconSad/index.js +5 -12
  146. package/cjs/icon/IconScan/index.js +5 -12
  147. package/cjs/icon/IconSearch/index.js +5 -12
  148. package/cjs/icon/IconSetting/index.js +5 -12
  149. package/cjs/icon/IconShop/index.js +5 -12
  150. package/cjs/icon/IconShopping/index.js +5 -12
  151. package/cjs/icon/IconSmileFill/index.js +5 -12
  152. package/cjs/icon/IconSound/index.js +5 -12
  153. package/cjs/icon/IconSquareChecked/index.js +5 -12
  154. package/cjs/icon/IconSquareDisabled/index.js +5 -12
  155. package/cjs/icon/IconSquareUnchecked/index.js +5 -12
  156. package/cjs/icon/IconStar/index.js +5 -12
  157. package/cjs/icon/IconStarFill/index.js +5 -12
  158. package/cjs/icon/IconStarHalf/index.js +5 -12
  159. package/cjs/icon/IconSubway/index.js +5 -12
  160. package/cjs/icon/IconSuccessCircle/index.js +5 -12
  161. package/cjs/icon/IconTriDown/index.js +5 -12
  162. package/cjs/icon/IconTriUp/index.js +5 -12
  163. package/cjs/icon/IconUpload/index.js +5 -12
  164. package/cjs/icon/IconUser/index.js +5 -12
  165. package/cjs/icon/IconUserFill/index.js +5 -12
  166. package/cjs/icon/IconWarnCircle/index.js +5 -12
  167. package/cjs/icon/IconWarnCircleFill/index.js +5 -12
  168. package/cjs/icon/index.js +0 -111
  169. package/cjs/image/index.js +53 -92
  170. package/cjs/image/style/css/index.js +0 -2
  171. package/cjs/image/style/index.js +0 -2
  172. package/cjs/image-picker/add-icon.js +0 -3
  173. package/cjs/image-picker/index.d.ts +3 -2
  174. package/cjs/image-picker/index.js +62 -103
  175. package/cjs/image-picker/style/css/index.js +0 -2
  176. package/cjs/image-picker/style/index.js +0 -2
  177. package/cjs/image-preview/demo/style/css/mobile.css +10 -0
  178. package/cjs/image-preview/demo/style/mobile.less +11 -0
  179. package/cjs/image-preview/index.d.ts +5 -0
  180. package/cjs/image-preview/index.js +124 -239
  181. package/cjs/image-preview/methods.js +5 -18
  182. package/cjs/image-preview/style/css/index.css +1 -0
  183. package/cjs/image-preview/style/css/index.js +0 -4
  184. package/cjs/image-preview/style/index.js +0 -4
  185. package/cjs/image-preview/style/index.less +1 -1
  186. package/cjs/index.d.ts +7 -6
  187. package/cjs/index.js +15 -120
  188. package/cjs/input/hooks.js +42 -75
  189. package/cjs/input/index.d.ts +3 -2
  190. package/cjs/input/index.js +36 -47
  191. package/cjs/input/style/css/index.css +1 -1
  192. package/cjs/input/style/css/index.js +0 -1
  193. package/cjs/input/style/index.js +0 -1
  194. package/cjs/load-more/index.js +29 -56
  195. package/cjs/load-more/style/css/index.js +0 -1
  196. package/cjs/load-more/style/index.js +0 -1
  197. package/cjs/loading/index.js +19 -48
  198. package/cjs/loading/style/css/index.js +0 -1
  199. package/cjs/loading/style/index.js +0 -1
  200. package/cjs/masking/index.js +46 -79
  201. package/cjs/masking/methods.js +4 -19
  202. package/cjs/masking/style/css/index.js +0 -2
  203. package/cjs/masking/style/index.js +0 -2
  204. package/cjs/nav-bar/back-icon.js +1 -5
  205. package/cjs/nav-bar/index.js +36 -60
  206. package/cjs/nav-bar/style/css/index.js +0 -1
  207. package/cjs/nav-bar/style/index.js +0 -1
  208. package/cjs/notice-bar/index.js +31 -54
  209. package/cjs/notice-bar/style/css/index.js +0 -1
  210. package/cjs/notice-bar/style/index.js +0 -1
  211. package/cjs/notify/index.d.ts +8 -8
  212. package/cjs/notify/index.js +20 -49
  213. package/cjs/notify/methods.js +2 -17
  214. package/cjs/notify/style/css/index.css +2 -2
  215. package/cjs/notify/style/css/index.js +0 -1
  216. package/cjs/notify/style/index.js +0 -1
  217. package/cjs/pagination/arrow.js +0 -3
  218. package/cjs/pagination/index.js +27 -58
  219. package/cjs/pagination/style/css/index.js +0 -1
  220. package/cjs/pagination/style/index.js +0 -1
  221. package/cjs/picker/index.d.ts +3 -2
  222. package/cjs/picker/index.js +50 -89
  223. package/cjs/picker/style/css/index.js +0 -3
  224. package/cjs/picker/style/index.js +0 -3
  225. package/cjs/picker-view/components/cascader.js +14 -31
  226. package/cjs/picker-view/components/multi-picker.js +6 -20
  227. package/cjs/picker-view/components/picker-cell.js +45 -97
  228. package/cjs/picker-view/index.d.ts +3 -2
  229. package/cjs/picker-view/index.js +36 -77
  230. package/cjs/picker-view/style/css/index.js +0 -1
  231. package/cjs/picker-view/style/index.js +0 -1
  232. package/cjs/popover/hooks/index.js +0 -4
  233. package/cjs/popover/hooks/useEvent.js +25 -49
  234. package/cjs/popover/hooks/usePosition.js +94 -151
  235. package/cjs/popover/index.js +1 -8
  236. package/cjs/popover/menu.js +32 -51
  237. package/cjs/popover/popover-inner.js +30 -47
  238. package/cjs/popover/popover.js +69 -101
  239. package/cjs/popover/style/css/index.js +0 -2
  240. package/cjs/popover/style/index.js +0 -2
  241. package/cjs/popup/index.js +22 -39
  242. package/cjs/popup/methods.js +0 -2
  243. package/cjs/popup/style/css/index.js +0 -2
  244. package/cjs/popup/style/index.js +0 -2
  245. package/cjs/popup-swiper/index.js +38 -80
  246. package/cjs/popup-swiper/methods.js +0 -2
  247. package/cjs/popup-swiper/style/css/index.js +0 -2
  248. package/cjs/popup-swiper/style/index.js +0 -2
  249. package/cjs/portal/index.js +3 -8
  250. package/cjs/portal/style/css/index.js +0 -1
  251. package/cjs/portal/style/index.js +0 -1
  252. package/cjs/progress/index.js +27 -44
  253. package/cjs/progress/style/css/index.js +0 -1
  254. package/cjs/progress/style/index.js +0 -1
  255. package/cjs/pull-refresh/android-pull-refresh.js +58 -100
  256. package/cjs/pull-refresh/hooks.js +11 -32
  257. package/cjs/pull-refresh/index.d.ts +9 -3
  258. package/cjs/pull-refresh/index.js +5 -15
  259. package/cjs/pull-refresh/ios-pull-refresh.js +53 -80
  260. package/cjs/pull-refresh/model.js +0 -1
  261. package/cjs/pull-refresh/style/css/index.js +0 -2
  262. package/cjs/pull-refresh/style/index.js +0 -2
  263. package/cjs/radio/group.js +20 -34
  264. package/cjs/radio/index.d.ts +4 -1
  265. package/cjs/radio/index.js +5 -10
  266. package/cjs/radio/radio.js +0 -10
  267. package/cjs/radio/style/css/index.js +0 -1
  268. package/cjs/radio/style/index.js +0 -1
  269. package/cjs/rate/index.d.ts +3 -2
  270. package/cjs/rate/index.js +34 -57
  271. package/cjs/rate/style/css/index.js +0 -1
  272. package/cjs/rate/style/index.js +0 -1
  273. package/cjs/search-bar/association.js +14 -32
  274. package/cjs/search-bar/cancel-button.js +8 -16
  275. package/cjs/search-bar/highlight.js +14 -25
  276. package/cjs/search-bar/index.js +77 -97
  277. package/cjs/search-bar/style/css/index.js +0 -1
  278. package/cjs/search-bar/style/index.js +0 -1
  279. package/cjs/show-monitor/index.js +34 -93
  280. package/cjs/show-monitor/style/css/index.js +0 -1
  281. package/cjs/show-monitor/style/index.js +0 -1
  282. package/cjs/slider/hooks/index.js +0 -13
  283. package/cjs/slider/hooks/useSliderEvents.js +26 -55
  284. package/cjs/slider/hooks/useSliderIcon.js +6 -20
  285. package/cjs/slider/hooks/useSliderInit.js +32 -52
  286. package/cjs/slider/hooks/useSliderStyle.js +12 -24
  287. package/cjs/slider/index.d.ts +3 -2
  288. package/cjs/slider/index.js +56 -80
  289. package/cjs/slider/marks.js +12 -26
  290. package/cjs/slider/popover.js +4 -13
  291. package/cjs/slider/style/css/index.js +0 -2
  292. package/cjs/slider/style/index.js +0 -2
  293. package/cjs/slider/thumb.js +8 -23
  294. package/cjs/stepper/hooks/useButtonClick.js +19 -28
  295. package/cjs/stepper/hooks/useInputEvent.js +9 -18
  296. package/cjs/stepper/hooks/useValue.js +9 -14
  297. package/cjs/stepper/index.d.ts +3 -2
  298. package/cjs/stepper/index.js +92 -103
  299. package/cjs/stepper/style/css/index.js +0 -1
  300. package/cjs/stepper/style/index.js +0 -1
  301. package/cjs/steps/index.js +22 -40
  302. package/cjs/steps/step.js +10 -27
  303. package/cjs/steps/style/css/index.css +2 -2
  304. package/cjs/steps/style/css/index.js +0 -1
  305. package/cjs/steps/style/index.js +0 -1
  306. package/cjs/sticky/index.js +37 -66
  307. package/cjs/sticky/style/css/index.js +0 -1
  308. package/cjs/sticky/style/index.js +0 -1
  309. package/cjs/style.d.ts +7 -6
  310. package/cjs/style.js +7 -59
  311. package/cjs/swipe-action/index.js +40 -92
  312. package/cjs/swipe-action/item.js +9 -17
  313. package/cjs/swipe-action/style/css/index.js +0 -1
  314. package/cjs/swipe-action/style/index.js +0 -1
  315. package/cjs/swipe-load/index.js +55 -83
  316. package/cjs/swipe-load/style/css/index.js +0 -1
  317. package/cjs/swipe-load/style/index.js +0 -1
  318. package/cjs/switch/index.d.ts +3 -2
  319. package/cjs/switch/index.js +37 -54
  320. package/cjs/switch/style/css/index.js +0 -1
  321. package/cjs/switch/style/index.js +0 -1
  322. package/cjs/tab-bar/index.js +0 -7
  323. package/cjs/tab-bar/item.js +6 -24
  324. package/cjs/tab-bar/style/css/index.js +0 -1
  325. package/cjs/tab-bar/style/index.js +0 -1
  326. package/cjs/tab-bar/tab-bar.js +15 -31
  327. package/cjs/tabs/index.js +129 -192
  328. package/cjs/tabs/style/css/index.js +0 -1
  329. package/cjs/tabs/style/index.js +0 -1
  330. package/cjs/tabs/tab-cell-underline.js +25 -64
  331. package/cjs/tabs/tab-cell.js +66 -108
  332. package/cjs/tabs/tab-pane.js +49 -94
  333. package/cjs/tag/index.js +1 -8
  334. package/cjs/tag/list.js +11 -26
  335. package/cjs/tag/style/css/index.js +0 -1
  336. package/cjs/tag/style/index.js +0 -1
  337. package/cjs/tag/tag.js +20 -32
  338. package/cjs/textarea/index.d.ts +3 -2
  339. package/cjs/textarea/index.js +45 -63
  340. package/cjs/textarea/style/css/index.css +1 -1
  341. package/cjs/textarea/style/css/index.js +0 -2
  342. package/cjs/textarea/style/index.js +0 -2
  343. package/cjs/toast/index.d.ts +12 -12
  344. package/cjs/toast/index.js +26 -61
  345. package/cjs/toast/methods.js +2 -16
  346. package/cjs/toast/style/css/index.js +0 -3
  347. package/cjs/toast/style/index.js +0 -3
  348. package/cjs/transition/index.js +10 -18
  349. package/cjs/transition/style/css/index.js +0 -1
  350. package/cjs/transition/style/index.js +0 -1
  351. package/dist/index.js +21033 -20542
  352. package/dist/index.min.js +12 -3
  353. package/dist/style.css +826 -740
  354. package/dist/style.min.css +1 -1
  355. package/esm/_helpers/hooks.js +41 -99
  356. package/esm/_helpers/index.js +2 -3
  357. package/esm/_helpers/react-dom.js +0 -10
  358. package/esm/_helpers/render.js +0 -7
  359. package/esm/action-sheet/index.js +10 -16
  360. package/esm/action-sheet/style/css/index.css +1 -1
  361. package/esm/avatar/group.js +12 -16
  362. package/esm/avatar/index.js +51 -62
  363. package/esm/badge/index.js +18 -22
  364. package/esm/badge/style/css/index.css +3 -2
  365. package/esm/button/hooks.js +15 -18
  366. package/esm/button/index.js +46 -57
  367. package/esm/carousel/demo/style/css/mobile.css +12 -0
  368. package/esm/carousel/demo/style/mobile.less +8 -0
  369. package/esm/carousel/index.d.ts +1 -1
  370. package/esm/carousel/index.js +159 -267
  371. package/esm/cell/cell.js +14 -14
  372. package/esm/cell/group.js +9 -11
  373. package/esm/cell/index.js +1 -1
  374. package/esm/checkbox/checkbox.js +31 -42
  375. package/esm/checkbox/group.js +24 -28
  376. package/esm/checkbox/hooks/useMergeProps.js +7 -9
  377. package/esm/checkbox/index.d.ts +4 -1
  378. package/esm/checkbox/index.js +5 -3
  379. package/esm/checkbox/type.js +0 -1
  380. package/esm/circle-progress/index.js +37 -49
  381. package/esm/collapse/collapse.js +27 -46
  382. package/esm/collapse/group.js +20 -34
  383. package/esm/collapse/index.js +1 -1
  384. package/esm/collapse/utils.js +0 -1
  385. package/esm/context-provider/index.js +10 -18
  386. package/esm/count-down/hooks.js +24 -37
  387. package/esm/count-down/index.js +30 -29
  388. package/esm/count-down/singleton.js +2 -5
  389. package/esm/count-down/util.js +33 -42
  390. package/esm/date-picker/helper.js +7 -9
  391. package/esm/date-picker/index.d.ts +3 -2
  392. package/esm/date-picker/index.js +53 -103
  393. package/esm/dialog/index.js +28 -39
  394. package/esm/dialog/methods.js +9 -11
  395. package/esm/dialog/style/css/index.css +2 -1
  396. package/esm/dropdown/dropdown.js +74 -102
  397. package/esm/dropdown/index.js +1 -1
  398. package/esm/dropdown/options.js +12 -20
  399. package/esm/dropdown-menu/dropdown-menu.js +49 -74
  400. package/esm/dropdown-menu/helper.js +6 -16
  401. package/esm/dropdown-menu/index.js +1 -1
  402. package/esm/ellipsis/components/js-ellipsis.js +35 -62
  403. package/esm/ellipsis/components/native-ellipsis.js +9 -11
  404. package/esm/ellipsis/index.js +20 -21
  405. package/esm/ellipsis/style/css/index.css +3 -0
  406. package/esm/ellipsis/style/index.less +4 -0
  407. package/esm/ellipsis/utils/dom.js +0 -7
  408. package/esm/ellipsis/utils/is.js +1 -1
  409. package/esm/form/form-item-context.d.ts +3 -0
  410. package/esm/form/form-item-context.js +6 -0
  411. package/esm/form/form-item.d.ts +4 -0
  412. package/esm/form/form-item.js +306 -0
  413. package/esm/form/index.d.ts +16 -0
  414. package/esm/form/index.js +79 -0
  415. package/esm/form/style/css/index.css +92 -0
  416. package/esm/form/style/css/index.d.ts +2 -0
  417. package/esm/form/style/css/index.js +2 -0
  418. package/esm/form/style/index.d.ts +2 -0
  419. package/esm/form/style/index.js +2 -0
  420. package/esm/form/style/index.less +91 -0
  421. package/esm/form/type.d.ts +371 -0
  422. package/esm/form/type.js +24 -0
  423. package/esm/form/useForm.d.ts +18 -0
  424. package/esm/form/useForm.js +217 -0
  425. package/esm/form/utils.d.ts +6 -0
  426. package/esm/form/utils.js +30 -0
  427. package/esm/grid/index.js +21 -34
  428. package/esm/icon/IconAdd/index.js +5 -6
  429. package/esm/icon/IconArrowBack/index.js +5 -6
  430. package/esm/icon/IconArrowDown/index.js +5 -6
  431. package/esm/icon/IconArrowIn/index.js +5 -6
  432. package/esm/icon/IconArrowUp/index.js +5 -6
  433. package/esm/icon/IconCheck/index.js +5 -6
  434. package/esm/icon/IconCheckBold/index.js +5 -6
  435. package/esm/icon/IconCircleChecked/index.js +5 -6
  436. package/esm/icon/IconCircleDisabled/index.js +5 -6
  437. package/esm/icon/IconCircleUnchecked/index.js +5 -6
  438. package/esm/icon/IconClear/index.js +5 -6
  439. package/esm/icon/IconClose/index.js +5 -6
  440. package/esm/icon/IconCloseBold/index.js +5 -6
  441. package/esm/icon/IconDelete/index.js +5 -6
  442. package/esm/icon/IconEdit/index.js +5 -6
  443. package/esm/icon/IconErrorCircle/index.js +5 -6
  444. package/esm/icon/IconEyeInvisible/index.js +5 -6
  445. package/esm/icon/IconEyeVisible/index.js +5 -6
  446. package/esm/icon/IconEyelashInvisible/index.js +5 -6
  447. package/esm/icon/IconGift/index.js +5 -6
  448. package/esm/icon/IconHeart/index.js +5 -6
  449. package/esm/icon/IconHome/index.js +5 -6
  450. package/esm/icon/IconLikeCircle/index.js +5 -6
  451. package/esm/icon/IconMinus/index.js +5 -6
  452. package/esm/icon/IconMore/index.js +5 -6
  453. package/esm/icon/IconNotice/index.js +5 -6
  454. package/esm/icon/IconNoticeOff/index.js +5 -6
  455. package/esm/icon/IconPicture/index.js +5 -6
  456. package/esm/icon/IconPlay/index.js +5 -6
  457. package/esm/icon/IconQuestionCircle/index.js +5 -6
  458. package/esm/icon/IconRefresh/index.js +5 -6
  459. package/esm/icon/IconSad/index.js +5 -6
  460. package/esm/icon/IconScan/index.js +5 -6
  461. package/esm/icon/IconSearch/index.js +5 -6
  462. package/esm/icon/IconSetting/index.js +5 -6
  463. package/esm/icon/IconShop/index.js +5 -6
  464. package/esm/icon/IconShopping/index.js +5 -6
  465. package/esm/icon/IconSmileFill/index.js +5 -6
  466. package/esm/icon/IconSound/index.js +5 -6
  467. package/esm/icon/IconSquareChecked/index.js +5 -6
  468. package/esm/icon/IconSquareDisabled/index.js +5 -6
  469. package/esm/icon/IconSquareUnchecked/index.js +5 -6
  470. package/esm/icon/IconStar/index.js +5 -6
  471. package/esm/icon/IconStarFill/index.js +5 -6
  472. package/esm/icon/IconStarHalf/index.js +5 -6
  473. package/esm/icon/IconSubway/index.js +5 -6
  474. package/esm/icon/IconSuccessCircle/index.js +5 -6
  475. package/esm/icon/IconTriDown/index.js +5 -6
  476. package/esm/icon/IconTriUp/index.js +5 -6
  477. package/esm/icon/IconUpload/index.js +5 -6
  478. package/esm/icon/IconUser/index.js +5 -6
  479. package/esm/icon/IconUserFill/index.js +5 -6
  480. package/esm/icon/IconWarnCircle/index.js +5 -6
  481. package/esm/icon/IconWarnCircleFill/index.js +5 -6
  482. package/esm/image/index.js +53 -83
  483. package/esm/image-picker/index.d.ts +3 -2
  484. package/esm/image-picker/index.js +63 -90
  485. package/esm/image-preview/demo/style/css/mobile.css +10 -0
  486. package/esm/image-preview/demo/style/mobile.less +11 -0
  487. package/esm/image-preview/index.d.ts +5 -0
  488. package/esm/image-preview/index.js +124 -218
  489. package/esm/image-preview/methods.js +4 -14
  490. package/esm/image-preview/style/css/index.css +1 -0
  491. package/esm/image-preview/style/index.less +1 -1
  492. package/esm/index.d.ts +7 -6
  493. package/esm/index.js +7 -6
  494. package/esm/input/hooks.js +42 -67
  495. package/esm/input/index.d.ts +3 -2
  496. package/esm/input/index.js +37 -40
  497. package/esm/input/style/css/index.css +1 -1
  498. package/esm/load-more/index.js +29 -48
  499. package/esm/loading/index.js +19 -40
  500. package/esm/masking/index.js +46 -64
  501. package/esm/masking/methods.js +4 -15
  502. package/esm/nav-bar/back-icon.js +1 -3
  503. package/esm/nav-bar/index.js +36 -51
  504. package/esm/notice-bar/index.js +31 -47
  505. package/esm/notify/index.d.ts +8 -8
  506. package/esm/notify/index.js +20 -33
  507. package/esm/notify/methods.js +2 -13
  508. package/esm/notify/style/css/index.css +2 -2
  509. package/esm/pagination/index.js +27 -50
  510. package/esm/picker/index.d.ts +3 -2
  511. package/esm/picker/index.js +51 -76
  512. package/esm/picker-view/components/cascader.js +14 -23
  513. package/esm/picker-view/components/multi-picker.js +6 -16
  514. package/esm/picker-view/components/picker-cell.js +45 -89
  515. package/esm/picker-view/index.d.ts +3 -2
  516. package/esm/picker-view/index.js +36 -63
  517. package/esm/popover/hooks/useEvent.js +26 -41
  518. package/esm/popover/hooks/usePosition.js +94 -144
  519. package/esm/popover/index.js +2 -2
  520. package/esm/popover/menu.js +32 -41
  521. package/esm/popover/popover-inner.js +30 -38
  522. package/esm/popover/popover.js +69 -90
  523. package/esm/popup/index.js +22 -25
  524. package/esm/popup-swiper/index.js +38 -64
  525. package/esm/portal/index.js +3 -5
  526. package/esm/progress/index.js +27 -36
  527. package/esm/pull-refresh/android-pull-refresh.js +58 -90
  528. package/esm/pull-refresh/hooks.js +11 -23
  529. package/esm/pull-refresh/index.d.ts +9 -3
  530. package/esm/pull-refresh/index.js +5 -6
  531. package/esm/pull-refresh/ios-pull-refresh.js +53 -68
  532. package/esm/pull-refresh/model.js +0 -1
  533. package/esm/radio/group.js +20 -24
  534. package/esm/radio/index.d.ts +4 -1
  535. package/esm/radio/index.js +5 -3
  536. package/esm/rate/index.d.ts +3 -2
  537. package/esm/rate/index.js +35 -49
  538. package/esm/search-bar/association.js +14 -27
  539. package/esm/search-bar/cancel-button.js +8 -11
  540. package/esm/search-bar/highlight.js +14 -20
  541. package/esm/search-bar/index.js +77 -86
  542. package/esm/show-monitor/index.js +34 -85
  543. package/esm/slider/hooks/useSliderEvents.js +26 -51
  544. package/esm/slider/hooks/useSliderIcon.js +6 -13
  545. package/esm/slider/hooks/useSliderInit.js +32 -46
  546. package/esm/slider/hooks/useSliderStyle.js +12 -20
  547. package/esm/slider/index.d.ts +3 -2
  548. package/esm/slider/index.js +57 -72
  549. package/esm/slider/marks.js +12 -18
  550. package/esm/slider/popover.js +4 -6
  551. package/esm/slider/thumb.js +8 -15
  552. package/esm/stepper/hooks/useButtonClick.js +19 -27
  553. package/esm/stepper/hooks/useInputEvent.js +9 -16
  554. package/esm/stepper/hooks/useValue.js +9 -12
  555. package/esm/stepper/index.d.ts +3 -2
  556. package/esm/stepper/index.js +93 -92
  557. package/esm/steps/index.js +22 -27
  558. package/esm/steps/step.js +10 -19
  559. package/esm/steps/style/css/index.css +2 -2
  560. package/esm/sticky/index.js +37 -57
  561. package/esm/style.d.ts +7 -6
  562. package/esm/style.js +7 -6
  563. package/esm/swipe-action/index.js +40 -80
  564. package/esm/swipe-action/item.js +9 -12
  565. package/esm/swipe-load/index.js +56 -75
  566. package/esm/switch/index.d.ts +3 -2
  567. package/esm/switch/index.js +38 -49
  568. package/esm/tab-bar/index.js +0 -1
  569. package/esm/tab-bar/item.js +6 -13
  570. package/esm/tab-bar/tab-bar.js +15 -21
  571. package/esm/tabs/index.js +130 -180
  572. package/esm/tabs/tab-cell-underline.js +25 -56
  573. package/esm/tabs/tab-cell.js +66 -98
  574. package/esm/tabs/tab-pane.js +49 -85
  575. package/esm/tag/index.js +2 -2
  576. package/esm/tag/list.js +11 -16
  577. package/esm/tag/tag.js +20 -22
  578. package/esm/textarea/index.d.ts +3 -2
  579. package/esm/textarea/index.js +46 -56
  580. package/esm/textarea/style/css/index.css +1 -1
  581. package/esm/toast/index.d.ts +12 -12
  582. package/esm/toast/index.js +26 -42
  583. package/esm/toast/methods.js +2 -12
  584. package/esm/transition/index.js +10 -12
  585. package/package.json +3 -4
  586. package/style/css/public.css +1 -0
  587. package/tokens/app/arcodesign/default/css-variables.less +17 -7
  588. package/tokens/app/arcodesign/default/index.d.ts +10 -0
  589. package/tokens/app/arcodesign/default/index.js +18 -10
  590. package/tokens/app/arcodesign/default/index.json +139 -23
  591. package/tokens/app/arcodesign/default/index.less +17 -7
  592. package/umd/_helpers/hooks.js +42 -117
  593. package/umd/_helpers/index.js +2 -6
  594. package/umd/_helpers/react-dom.js +0 -11
  595. package/umd/_helpers/render.js +0 -9
  596. package/umd/action-sheet/index.js +10 -22
  597. package/umd/action-sheet/methods.js +0 -1
  598. package/umd/action-sheet/style/css/index.css +1 -1
  599. package/umd/avatar/group.js +12 -20
  600. package/umd/avatar/index.js +51 -68
  601. package/umd/badge/index.js +18 -25
  602. package/umd/badge/style/css/index.css +3 -2
  603. package/umd/button/hooks.js +15 -19
  604. package/umd/button/index.js +46 -60
  605. package/umd/carousel/demo/style/css/mobile.css +12 -0
  606. package/umd/carousel/demo/style/mobile.less +8 -0
  607. package/umd/carousel/index.d.ts +1 -1
  608. package/umd/carousel/index.js +159 -270
  609. package/umd/cell/arrow.js +0 -2
  610. package/umd/cell/cell.js +14 -18
  611. package/umd/cell/group.js +9 -17
  612. package/umd/cell/index.js +1 -2
  613. package/umd/checkbox/checkbox.js +31 -45
  614. package/umd/checkbox/group.js +24 -34
  615. package/umd/checkbox/hooks/useMergeProps.js +7 -12
  616. package/umd/checkbox/index.d.ts +4 -1
  617. package/umd/checkbox/index.js +5 -5
  618. package/umd/checkbox/type.js +0 -2
  619. package/umd/circle-progress/index.js +37 -52
  620. package/umd/collapse/collapse.js +27 -50
  621. package/umd/collapse/group.js +20 -38
  622. package/umd/collapse/index.js +0 -3
  623. package/umd/collapse/utils.js +0 -5
  624. package/umd/context-provider/index.js +10 -23
  625. package/umd/count-down/hooks.js +24 -39
  626. package/umd/count-down/index.js +29 -31
  627. package/umd/count-down/singleton.js +2 -10
  628. package/umd/count-down/util.js +33 -47
  629. package/umd/date-picker/helper.js +7 -13
  630. package/umd/date-picker/index.d.ts +3 -2
  631. package/umd/date-picker/index.js +52 -105
  632. package/umd/dialog/index.js +28 -44
  633. package/umd/dialog/methods.js +9 -18
  634. package/umd/dialog/style/css/index.css +2 -1
  635. package/umd/dropdown/dropdown.js +74 -106
  636. package/umd/dropdown/index.js +1 -3
  637. package/umd/dropdown/options.js +12 -24
  638. package/umd/dropdown-menu/dropdown-menu.js +49 -78
  639. package/umd/dropdown-menu/helper.js +6 -25
  640. package/umd/dropdown-menu/index.js +0 -2
  641. package/umd/ellipsis/components/js-ellipsis.js +35 -68
  642. package/umd/ellipsis/components/native-ellipsis.js +9 -13
  643. package/umd/ellipsis/index.js +19 -24
  644. package/umd/ellipsis/style/css/index.css +3 -0
  645. package/umd/ellipsis/style/index.less +4 -0
  646. package/umd/ellipsis/utils/dom.js +0 -8
  647. package/umd/ellipsis/utils/is.js +1 -5
  648. package/umd/form/form-item-context.d.ts +3 -0
  649. package/umd/form/form-item-context.js +25 -0
  650. package/umd/form/form-item.d.ts +4 -0
  651. package/umd/form/form-item.js +322 -0
  652. package/umd/form/index.d.ts +16 -0
  653. package/umd/form/index.js +106 -0
  654. package/umd/form/style/css/index.css +92 -0
  655. package/umd/form/style/css/index.d.ts +2 -0
  656. package/umd/form/style/css/index.js +15 -0
  657. package/umd/form/style/index.d.ts +2 -0
  658. package/umd/form/style/index.js +15 -0
  659. package/umd/form/style/index.less +91 -0
  660. package/umd/form/type.d.ts +371 -0
  661. package/umd/form/type.js +44 -0
  662. package/umd/form/useForm.d.ts +18 -0
  663. package/umd/form/useForm.js +238 -0
  664. package/umd/form/utils.d.ts +6 -0
  665. package/umd/form/utils.js +50 -0
  666. package/umd/grid/index.js +21 -37
  667. package/umd/icon/IconAdd/index.js +5 -7
  668. package/umd/icon/IconArrowBack/index.js +5 -7
  669. package/umd/icon/IconArrowDown/index.js +5 -7
  670. package/umd/icon/IconArrowIn/index.js +5 -7
  671. package/umd/icon/IconArrowUp/index.js +5 -7
  672. package/umd/icon/IconCheck/index.js +5 -7
  673. package/umd/icon/IconCheckBold/index.js +5 -7
  674. package/umd/icon/IconCircleChecked/index.js +5 -7
  675. package/umd/icon/IconCircleDisabled/index.js +5 -7
  676. package/umd/icon/IconCircleUnchecked/index.js +5 -7
  677. package/umd/icon/IconClear/index.js +5 -7
  678. package/umd/icon/IconClose/index.js +5 -7
  679. package/umd/icon/IconCloseBold/index.js +5 -7
  680. package/umd/icon/IconDelete/index.js +5 -7
  681. package/umd/icon/IconEdit/index.js +5 -7
  682. package/umd/icon/IconErrorCircle/index.js +5 -7
  683. package/umd/icon/IconEyeInvisible/index.js +5 -7
  684. package/umd/icon/IconEyeVisible/index.js +5 -7
  685. package/umd/icon/IconEyelashInvisible/index.js +5 -7
  686. package/umd/icon/IconGift/index.js +5 -7
  687. package/umd/icon/IconHeart/index.js +5 -7
  688. package/umd/icon/IconHome/index.js +5 -7
  689. package/umd/icon/IconLikeCircle/index.js +5 -7
  690. package/umd/icon/IconMinus/index.js +5 -7
  691. package/umd/icon/IconMore/index.js +5 -7
  692. package/umd/icon/IconNotice/index.js +5 -7
  693. package/umd/icon/IconNoticeOff/index.js +5 -7
  694. package/umd/icon/IconPicture/index.js +5 -7
  695. package/umd/icon/IconPlay/index.js +5 -7
  696. package/umd/icon/IconQuestionCircle/index.js +5 -7
  697. package/umd/icon/IconRefresh/index.js +5 -7
  698. package/umd/icon/IconSad/index.js +5 -7
  699. package/umd/icon/IconScan/index.js +5 -7
  700. package/umd/icon/IconSearch/index.js +5 -7
  701. package/umd/icon/IconSetting/index.js +5 -7
  702. package/umd/icon/IconShop/index.js +5 -7
  703. package/umd/icon/IconShopping/index.js +5 -7
  704. package/umd/icon/IconSmileFill/index.js +5 -7
  705. package/umd/icon/IconSound/index.js +5 -7
  706. package/umd/icon/IconSquareChecked/index.js +5 -7
  707. package/umd/icon/IconSquareDisabled/index.js +5 -7
  708. package/umd/icon/IconSquareUnchecked/index.js +5 -7
  709. package/umd/icon/IconStar/index.js +5 -7
  710. package/umd/icon/IconStarFill/index.js +5 -7
  711. package/umd/icon/IconStarHalf/index.js +5 -7
  712. package/umd/icon/IconSubway/index.js +5 -7
  713. package/umd/icon/IconSuccessCircle/index.js +5 -7
  714. package/umd/icon/IconTriDown/index.js +5 -7
  715. package/umd/icon/IconTriUp/index.js +5 -7
  716. package/umd/icon/IconUpload/index.js +5 -7
  717. package/umd/icon/IconUser/index.js +5 -7
  718. package/umd/icon/IconUserFill/index.js +5 -7
  719. package/umd/icon/IconWarnCircle/index.js +5 -7
  720. package/umd/icon/IconWarnCircleFill/index.js +5 -7
  721. package/umd/icon/index.js +0 -1
  722. package/umd/image/index.js +53 -86
  723. package/umd/image-picker/add-icon.js +0 -2
  724. package/umd/image-picker/index.d.ts +3 -2
  725. package/umd/image-picker/index.js +62 -92
  726. package/umd/image-preview/demo/style/css/mobile.css +10 -0
  727. package/umd/image-preview/demo/style/mobile.less +11 -0
  728. package/umd/image-preview/index.d.ts +5 -0
  729. package/umd/image-preview/index.js +124 -224
  730. package/umd/image-preview/methods.js +5 -15
  731. package/umd/image-preview/style/css/index.css +1 -0
  732. package/umd/image-preview/style/index.less +1 -1
  733. package/umd/index.d.ts +7 -6
  734. package/umd/index.js +19 -18
  735. package/umd/input/hooks.js +42 -71
  736. package/umd/input/index.d.ts +3 -2
  737. package/umd/input/index.js +36 -42
  738. package/umd/input/style/css/index.css +1 -1
  739. package/umd/load-more/index.js +29 -51
  740. package/umd/loading/index.js +19 -43
  741. package/umd/masking/index.js +46 -71
  742. package/umd/masking/methods.js +4 -16
  743. package/umd/nav-bar/back-icon.js +1 -4
  744. package/umd/nav-bar/index.js +36 -54
  745. package/umd/notice-bar/index.js +31 -50
  746. package/umd/notify/index.d.ts +8 -8
  747. package/umd/notify/index.js +20 -40
  748. package/umd/notify/methods.js +2 -14
  749. package/umd/notify/style/css/index.css +2 -2
  750. package/umd/pagination/arrow.js +0 -2
  751. package/umd/pagination/index.js +27 -53
  752. package/umd/picker/index.d.ts +3 -2
  753. package/umd/picker/index.js +50 -78
  754. package/umd/picker-view/components/cascader.js +14 -27
  755. package/umd/picker-view/components/multi-picker.js +6 -19
  756. package/umd/picker-view/components/picker-cell.js +45 -93
  757. package/umd/picker-view/index.d.ts +3 -2
  758. package/umd/picker-view/index.js +39 -69
  759. package/umd/popover/hooks/useEvent.js +25 -44
  760. package/umd/popover/hooks/usePosition.js +94 -145
  761. package/umd/popover/index.js +1 -3
  762. package/umd/popover/menu.js +32 -45
  763. package/umd/popover/popover-inner.js +30 -42
  764. package/umd/popover/popover.js +69 -94
  765. package/umd/popup/index.js +22 -31
  766. package/umd/popup/methods.js +0 -1
  767. package/umd/popup-swiper/index.js +38 -71
  768. package/umd/popup-swiper/methods.js +0 -1
  769. package/umd/portal/index.js +3 -6
  770. package/umd/progress/index.js +27 -39
  771. package/umd/pull-refresh/android-pull-refresh.js +58 -93
  772. package/umd/pull-refresh/hooks.js +11 -29
  773. package/umd/pull-refresh/index.d.ts +9 -3
  774. package/umd/pull-refresh/index.js +5 -8
  775. package/umd/pull-refresh/ios-pull-refresh.js +53 -72
  776. package/umd/pull-refresh/model.js +0 -1
  777. package/umd/radio/group.js +20 -30
  778. package/umd/radio/index.d.ts +4 -1
  779. package/umd/radio/index.js +5 -5
  780. package/umd/radio/radio.js +0 -5
  781. package/umd/rate/index.d.ts +3 -2
  782. package/umd/rate/index.js +34 -51
  783. package/umd/search-bar/association.js +14 -29
  784. package/umd/search-bar/cancel-button.js +8 -14
  785. package/umd/search-bar/highlight.js +14 -21
  786. package/umd/search-bar/index.js +77 -87
  787. package/umd/show-monitor/index.js +34 -89
  788. package/umd/slider/hooks/index.js +0 -4
  789. package/umd/slider/hooks/useSliderEvents.js +26 -52
  790. package/umd/slider/hooks/useSliderIcon.js +6 -17
  791. package/umd/slider/hooks/useSliderInit.js +32 -50
  792. package/umd/slider/hooks/useSliderStyle.js +12 -22
  793. package/umd/slider/index.d.ts +3 -2
  794. package/umd/slider/index.js +56 -73
  795. package/umd/slider/marks.js +12 -21
  796. package/umd/slider/popover.js +4 -10
  797. package/umd/slider/thumb.js +8 -18
  798. package/umd/stepper/hooks/useButtonClick.js +19 -27
  799. package/umd/stepper/hooks/useInputEvent.js +9 -17
  800. package/umd/stepper/hooks/useValue.js +9 -13
  801. package/umd/stepper/index.d.ts +3 -2
  802. package/umd/stepper/index.js +92 -94
  803. package/umd/steps/index.js +22 -32
  804. package/umd/steps/step.js +10 -22
  805. package/umd/steps/style/css/index.css +2 -2
  806. package/umd/sticky/index.js +37 -60
  807. package/umd/style.d.ts +7 -6
  808. package/umd/style.js +4 -4
  809. package/umd/swipe-action/index.js +40 -84
  810. package/umd/swipe-action/item.js +9 -14
  811. package/umd/swipe-load/index.js +55 -77
  812. package/umd/switch/index.d.ts +3 -2
  813. package/umd/switch/index.js +37 -50
  814. package/umd/tab-bar/index.js +0 -2
  815. package/umd/tab-bar/item.js +6 -19
  816. package/umd/tab-bar/tab-bar.js +15 -26
  817. package/umd/tabs/index.js +129 -183
  818. package/umd/tabs/tab-cell-underline.js +25 -60
  819. package/umd/tabs/tab-cell.js +66 -103
  820. package/umd/tabs/tab-pane.js +49 -89
  821. package/umd/tag/index.js +1 -3
  822. package/umd/tag/list.js +11 -20
  823. package/umd/tag/tag.js +20 -26
  824. package/umd/textarea/index.d.ts +3 -2
  825. package/umd/textarea/index.js +45 -58
  826. package/umd/textarea/style/css/index.css +1 -1
  827. package/umd/toast/index.d.ts +12 -12
  828. package/umd/toast/index.js +26 -49
  829. package/umd/toast/methods.js +2 -13
  830. package/umd/transition/index.js +10 -12
@@ -8,42 +8,32 @@ export function open(Component) {
8
8
  }, config || {}, {
9
9
  close: function close() {}
10
10
  });
11
+ var dynamicProps = _extends({}, baseProps);
11
12
 
12
- var dynamicProps = _extends({}, baseProps); // 不同的key用不同的容器挂载
13
+ // 不同的key用不同的容器挂载
13
14
  // @en Different keys are mounted in different containers
14
-
15
-
16
15
  var id = "_ARCO_IMAGE_PREVIEW_DIV_" + (baseProps.key || '') + "_";
17
-
18
16
  var _appendElementById = appendElementById(id, baseProps.getContainer),
19
- div = _appendElementById.child;
20
-
17
+ div = _appendElementById.child;
21
18
  var leaving = false;
22
-
23
19
  var _ReactDOMRender = new ReactDOMRender(Component, div, context),
24
- render = _ReactDOMRender.render;
25
-
20
+ render = _ReactDOMRender.render;
26
21
  function update(newConfig) {
27
22
  dynamicProps = _extends({}, dynamicProps, newConfig || {});
28
23
  render(dynamicProps);
29
24
  }
30
-
31
25
  function close() {
32
26
  leaving = true;
33
27
  dynamicProps.openIndex = -1;
34
28
  render(dynamicProps);
35
29
  }
36
-
37
30
  dynamicProps.close = close;
38
-
39
31
  dynamicProps.onClose = function () {
40
32
  baseProps.onClose && baseProps.onClose();
41
-
42
33
  if (baseProps.unmountOnExit) {
43
34
  removeElement(div);
44
35
  }
45
36
  };
46
-
47
37
  dynamicProps.openIndex = -1;
48
38
  render(dynamicProps);
49
39
  setTimeout(function () {
@@ -25,6 +25,7 @@
25
25
  user-select: none;
26
26
  /* Non-prefixed version, currently*/
27
27
  }
28
+ .arco-image-preview .preview-image-wrap-container,
28
29
  .arco-image-preview .preview-image-wrap {
29
30
  width: 100%;
30
31
  height: 100%;
@@ -18,7 +18,7 @@
18
18
  .noselect();
19
19
  }
20
20
 
21
- .preview-image-wrap {
21
+ .preview-image-wrap-container, .preview-image-wrap {
22
22
  width: 100%;
23
23
  height: 100%;
24
24
  }
package/esm/index.d.ts CHANGED
@@ -18,12 +18,17 @@ export { default as DatePicker } from './date-picker';
18
18
  export { default as Dropdown } from './dropdown';
19
19
  export { default as DropdownMenu } from './dropdown-menu';
20
20
  export { default as Ellipsis } from './ellipsis';
21
+ export { default as Form } from './form';
22
+ export { default as Input } from './input';
23
+ export { default as Textarea } from './textarea';
24
+ export { default as Radio } from './radio';
25
+ export { default as ImagePicker } from './image-picker';
26
+ export { default as Rate } from './rate';
27
+ export { default as Slider } from './slider';
21
28
  export { default as Grid } from './grid';
22
29
  export { default as Image } from './image';
23
30
  export { default as ShowMonitor } from './show-monitor';
24
- export { default as ImagePicker } from './image-picker';
25
31
  export { default as ImagePreview } from './image-preview';
26
- export { default as Input } from './input';
27
32
  export { default as LoadMore } from './load-more';
28
33
  export { default as Masking } from './masking';
29
34
  export { default as NavBar } from './nav-bar';
@@ -38,9 +43,6 @@ export { default as PopupSwiper } from './popup-swiper';
38
43
  export { default as Portal } from './portal';
39
44
  export { default as Progress } from './progress';
40
45
  export { default as PullRefresh } from './pull-refresh';
41
- export { default as Radio } from './radio';
42
- export { default as Rate } from './rate';
43
- export { default as Slider } from './slider';
44
46
  export { default as SearchBar } from './search-bar';
45
47
  export { default as Stepper } from './stepper';
46
48
  export { default as Steps } from './steps';
@@ -49,5 +51,4 @@ export { default as SwipeAction } from './swipe-action';
49
51
  export { default as SwipeLoad } from './swipe-load';
50
52
  export { default as TabBar } from './tab-bar';
51
53
  export { default as Tag } from './tag';
52
- export { default as Textarea } from './textarea';
53
54
  export { default as Transition } from './transition';
package/esm/index.js CHANGED
@@ -18,12 +18,17 @@ export { default as DatePicker } from './date-picker';
18
18
  export { default as Dropdown } from './dropdown';
19
19
  export { default as DropdownMenu } from './dropdown-menu';
20
20
  export { default as Ellipsis } from './ellipsis';
21
+ export { default as Form } from './form';
22
+ export { default as Input } from './input';
23
+ export { default as Textarea } from './textarea';
24
+ export { default as Radio } from './radio';
25
+ export { default as ImagePicker } from './image-picker';
26
+ export { default as Rate } from './rate';
27
+ export { default as Slider } from './slider';
21
28
  export { default as Grid } from './grid';
22
29
  export { default as Image } from './image';
23
30
  export { default as ShowMonitor } from './show-monitor';
24
- export { default as ImagePicker } from './image-picker';
25
31
  export { default as ImagePreview } from './image-preview';
26
- export { default as Input } from './input';
27
32
  export { default as LoadMore } from './load-more';
28
33
  export { default as Masking } from './masking';
29
34
  export { default as NavBar } from './nav-bar';
@@ -38,9 +43,6 @@ export { default as PopupSwiper } from './popup-swiper';
38
43
  export { default as Portal } from './portal';
39
44
  export { default as Progress } from './progress';
40
45
  export { default as PullRefresh } from './pull-refresh';
41
- export { default as Radio } from './radio';
42
- export { default as Rate } from './rate';
43
- export { default as Slider } from './slider';
44
46
  export { default as SearchBar } from './search-bar';
45
47
  export { default as Stepper } from './stepper';
46
48
  export { default as Steps } from './steps';
@@ -49,5 +51,4 @@ export { default as SwipeAction } from './swipe-action';
49
51
  export { default as SwipeLoad } from './swipe-load';
50
52
  export { default as TabBar } from './tab-bar';
51
53
  export { default as Tag } from './tag';
52
- export { default as Textarea } from './textarea';
53
54
  export { default as Transition } from './transition';
@@ -4,46 +4,44 @@ import IconClear from '../icon/IconClear';
4
4
  import { useSystem } from '../_helpers';
5
5
  export function useInputLogic(props, inputRef) {
6
6
  var value = props.value,
7
- defaultValue = props.defaultValue,
8
- validator = props.validator,
9
- onChange = props.onChange,
10
- onInput = props.onInput,
11
- className = props.className,
12
- style = props.style,
13
- label = props.label,
14
- required = props.required,
15
- prepend = props.prepend,
16
- append = props.append,
17
- blurBeforeFocus = props.blurBeforeFocus,
18
- onKeyDown = props.onKeyDown,
19
- onPressEnter = props.onPressEnter,
20
- onFocus = props.onFocus,
21
- onBlur = props.onBlur,
22
- onClick = props.onClick,
23
- disabled = props.disabled,
24
- _props$border = props.border,
25
- border = _props$border === void 0 ? 'half' : _props$border,
26
- prefix = props.prefix,
27
- suffix = props.suffix,
28
- clearable = props.clearable,
29
- _props$clearShowType = props.clearShowType,
30
- clearShowType = _props$clearShowType === void 0 ? 'focus' : _props$clearShowType,
31
- _props$clearIcon = props.clearIcon,
32
- clearIcon = _props$clearIcon === void 0 ? /*#__PURE__*/React.createElement(IconClear, null) : _props$clearIcon,
33
- _props$preventEventWh = props.preventEventWhenClearing,
34
- preventEventWhenClearing = _props$preventEventWh === void 0 ? true : _props$preventEventWh,
35
- onClear = props.onClear,
36
- autoFocus = props.autoFocus;
37
-
7
+ defaultValue = props.defaultValue,
8
+ validator = props.validator,
9
+ onChange = props.onChange,
10
+ onInput = props.onInput,
11
+ className = props.className,
12
+ style = props.style,
13
+ label = props.label,
14
+ required = props.required,
15
+ prepend = props.prepend,
16
+ append = props.append,
17
+ blurBeforeFocus = props.blurBeforeFocus,
18
+ onKeyDown = props.onKeyDown,
19
+ onPressEnter = props.onPressEnter,
20
+ onFocus = props.onFocus,
21
+ onBlur = props.onBlur,
22
+ onClick = props.onClick,
23
+ disabled = props.disabled,
24
+ _props$border = props.border,
25
+ border = _props$border === void 0 ? 'half' : _props$border,
26
+ prefix = props.prefix,
27
+ suffix = props.suffix,
28
+ clearable = props.clearable,
29
+ _props$clearShowType = props.clearShowType,
30
+ clearShowType = _props$clearShowType === void 0 ? 'focus' : _props$clearShowType,
31
+ _props$clearIcon = props.clearIcon,
32
+ clearIcon = _props$clearIcon === void 0 ? /*#__PURE__*/React.createElement(IconClear, null) : _props$clearIcon,
33
+ _props$preventEventWh = props.preventEventWhenClearing,
34
+ preventEventWhenClearing = _props$preventEventWh === void 0 ? true : _props$preventEventWh,
35
+ onClear = props.onClear,
36
+ autoFocus = props.autoFocus;
38
37
  var _useState = useState(value || defaultValue || ''),
39
- inputValue = _useState[0],
40
- setInputValue = _useState[1];
41
-
38
+ inputValue = _useState[0],
39
+ setInputValue = _useState[1];
42
40
  var _useState2 = useState(function () {
43
- return clearShowType === 'always' || clearShowType === 'value' && Boolean(value || defaultValue);
44
- }),
45
- showClear = _useState2[0],
46
- toggleClear = _useState2[1];
41
+ return clearShowType === 'always' || clearShowType === 'value' && Boolean(value || defaultValue);
42
+ }),
43
+ showClear = _useState2[0],
44
+ toggleClear = _useState2[1];
47
45
  /**
48
46
  * clear相关问题背景
49
47
  * 如果点击clear按钮之前已经是focusing状态了,那么在点完clear按钮之后会手动聚焦一下
@@ -61,12 +59,9 @@ export function useInputLogic(props, inputRef) {
61
59
  * 如果这个标志为true,则跳过调用外部的onBlur和onFocus,并在最后再将标志置回false
62
60
  *
63
61
  */
64
-
65
-
66
62
  var _useState3 = useState(false),
67
- isFocusing = _useState3[0],
68
- setIsFocusing = _useState3[1];
69
-
63
+ isFocusing = _useState3[0],
64
+ setIsFocusing = _useState3[1];
70
65
  var shouldPreventEvent = useRef(false);
71
66
  var actualInputValue = value !== void 0 ? value : inputValue;
72
67
  var system = useSystem();
@@ -85,12 +80,10 @@ export function useInputLogic(props, inputRef) {
85
80
  toggleClear(Boolean(value));
86
81
  }
87
82
  }, [value]);
88
-
89
83
  function changeValue(nowValue, callback) {
90
84
  if (callback === void 0) {
91
85
  callback = function callback() {};
92
86
  }
93
-
94
87
  if (nowValue && validator) {
95
88
  if (typeof validator === 'function') {
96
89
  if (!validator(nowValue)) {
@@ -99,65 +92,54 @@ export function useInputLogic(props, inputRef) {
99
92
  } else if (!validator.test(nowValue)) {
100
93
  return;
101
94
  }
102
- } // 处理非受控模式下的showClear
95
+ }
96
+ // 处理非受控模式下的showClear
103
97
  // @en Handling showClear in uncontrolled mode
104
-
105
-
106
98
  if (clearShowType === 'value' && value === void 0) {
107
99
  toggleClear(Boolean(nowValue));
108
100
  }
109
-
110
101
  setInputValue(nowValue);
111
102
  callback();
112
103
  }
113
-
114
104
  function handleChange(e) {
115
105
  var newValue = e.target.value;
116
106
  changeValue(newValue, function () {
117
107
  onChange && onChange(e, newValue);
118
108
  });
119
109
  }
120
-
121
110
  function handleInput(e) {
122
111
  var newValue = e.target.value;
123
112
  changeValue(newValue, function () {
124
113
  onInput && onInput(e, newValue);
125
114
  });
126
115
  }
127
-
128
116
  function handleKeyDown(e) {
129
117
  if (e.keyCode === 13) {
130
118
  onPressEnter && onPressEnter(e);
131
119
  }
132
-
133
120
  onKeyDown && onKeyDown(e);
134
121
  }
135
-
136
122
  function handleFocus(e) {
137
123
  nextTick(function () {
138
124
  if (preventEventWhenClearing && shouldPreventEvent.current) {
139
125
  shouldPreventEvent.current = false;
140
126
  return;
141
127
  }
142
-
143
128
  setIsFocusing(true);
144
129
  clearShowType === 'focus' && toggleClear(true);
145
130
  onFocus && onFocus(e);
146
131
  });
147
132
  }
148
-
149
133
  function handleBlur(e) {
150
134
  nextTick(function () {
151
135
  if (preventEventWhenClearing && shouldPreventEvent.current) {
152
136
  return;
153
137
  }
154
-
155
138
  setIsFocusing(false);
156
139
  clearShowType === 'focus' && toggleClear(false);
157
140
  onBlur && onBlur(e);
158
141
  });
159
142
  }
160
-
161
143
  function handleClick(e) {
162
144
  // 安卓才会有键盘切换不过来的问题,ios不开启此项,因为blur之后不能再自动focus
163
145
  // @en Android will have the problem that the keyboard cannot be switched. iOS does not enable this, because it can no longer automatically focus after blur.
@@ -169,35 +151,29 @@ export function useInputLogic(props, inputRef) {
169
151
  } else {
170
152
  inputRef.current && inputRef.current.focus();
171
153
  }
172
-
173
154
  onClick && onClick(e);
174
155
  }
175
-
176
156
  function handleClear(e) {
177
157
  // 不展示清除按钮时不触发事件
178
158
  // @en No event fired when clear button is not displayed
179
159
  if (!clearable || !showClear) {
180
160
  return;
181
161
  }
182
-
183
162
  changeValue('', function () {
184
- onClear && onClear(e); // 当点击clear前是focus时强制执行focus
163
+ onClear && onClear(e);
164
+ // 当点击clear前是focus时强制执行focus
185
165
  // @en Enforce focus when focus is before clicking clear
186
-
187
166
  if (isFocusing) {
188
167
  if (preventEventWhenClearing) {
189
168
  shouldPreventEvent.current = true;
190
169
  }
191
-
192
170
  inputRef.current && inputRef.current.focus();
193
171
  }
194
172
  });
195
173
  }
196
-
197
174
  function renderPendNode(pend) {
198
175
  return typeof pend === 'function' ? pend(isFocusing, actualInputValue) : pend;
199
176
  }
200
-
201
177
  function renderWrapper(prefixCls, type, children) {
202
178
  return /*#__PURE__*/React.createElement("div", {
203
179
  role: "search",
@@ -225,7 +201,6 @@ export function useInputLogic(props, inputRef) {
225
201
  className: prefixCls + "-suffix"
226
202
  }, suffix) : null), renderPendNode(append));
227
203
  }
228
-
229
204
  return {
230
205
  inputValue: actualInputValue,
231
206
  handleChange: handleChange,
@@ -45,6 +45,7 @@ export interface InputRef {
45
45
  */
46
46
  input: HTMLInputElement | null;
47
47
  }
48
+ declare const _default: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>> & "Input";
48
49
  /**
49
50
  * 输入框组件,支持添加前后缀。
50
51
  * @en The input box, supports adding prefixes and suffixes.
@@ -52,6 +53,6 @@ export interface InputRef {
52
53
  * @type_en Data Entry
53
54
  * @name 输入框
54
55
  * @name_en Input
56
+ * @displayName Input
55
57
  */
56
- declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>>;
57
- export default Input;
58
+ export default _default;
@@ -1,55 +1,43 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { forwardRef, useImperativeHandle, useRef } from 'react';
3
- import { cls } from '@arco-design/mobile-utils';
3
+ import { cls, componentWrapper } from '@arco-design/mobile-utils';
4
4
  import { ContextLayout } from '../context-provider';
5
5
  import { useInputLogic } from './hooks';
6
-
7
- /**
8
- * 输入框组件,支持添加前后缀。
9
- * @en The input box, supports adding prefixes and suffixes.
10
- * @type 数据录入
11
- * @type_en Data Entry
12
- * @name 输入框
13
- * @name_en Input
14
- */
15
6
  var Input = /*#__PURE__*/forwardRef(function (props, ref) {
16
7
  var id = props.id,
17
- name = props.name,
18
- maxLength = props.maxLength,
19
- placeholder = props.placeholder,
20
- readOnly = props.readOnly,
21
- onKeyUp = props.onKeyUp,
22
- onKeyPress = props.onKeyPress,
23
- _props$type = props.type,
24
- type = _props$type === void 0 ? 'text' : _props$type,
25
- disabled = props.disabled,
26
- pattern = props.pattern,
27
- inputClass = props.inputClass,
28
- inputStyle = props.inputStyle,
29
- _props$nativeProps = props.nativeProps,
30
- nativeProps = _props$nativeProps === void 0 ? {} : _props$nativeProps,
31
- _props$ariaLabel = props.ariaLabel,
32
- ariaLabel = _props$ariaLabel === void 0 ? '' : _props$ariaLabel;
8
+ name = props.name,
9
+ maxLength = props.maxLength,
10
+ placeholder = props.placeholder,
11
+ readOnly = props.readOnly,
12
+ onKeyUp = props.onKeyUp,
13
+ onKeyPress = props.onKeyPress,
14
+ _props$type = props.type,
15
+ type = _props$type === void 0 ? 'text' : _props$type,
16
+ disabled = props.disabled,
17
+ pattern = props.pattern,
18
+ inputClass = props.inputClass,
19
+ inputStyle = props.inputStyle,
20
+ _props$nativeProps = props.nativeProps,
21
+ nativeProps = _props$nativeProps === void 0 ? {} : _props$nativeProps,
22
+ _props$ariaLabel = props.ariaLabel,
23
+ ariaLabel = _props$ariaLabel === void 0 ? '' : _props$ariaLabel;
33
24
  var inputRef = useRef(null);
34
-
35
25
  var _useInputLogic = useInputLogic(props, inputRef),
36
- inputValue = _useInputLogic.inputValue,
37
- handleChange = _useInputLogic.handleChange,
38
- handleInput = _useInputLogic.handleInput,
39
- handleKeyDown = _useInputLogic.handleKeyDown,
40
- handleFocus = _useInputLogic.handleFocus,
41
- handleBlur = _useInputLogic.handleBlur,
42
- handleClick = _useInputLogic.handleClick,
43
- renderWrapper = _useInputLogic.renderWrapper,
44
- wrapRef = _useInputLogic.wrapRef;
45
-
26
+ inputValue = _useInputLogic.inputValue,
27
+ handleChange = _useInputLogic.handleChange,
28
+ handleInput = _useInputLogic.handleInput,
29
+ handleKeyDown = _useInputLogic.handleKeyDown,
30
+ handleFocus = _useInputLogic.handleFocus,
31
+ handleBlur = _useInputLogic.handleBlur,
32
+ handleClick = _useInputLogic.handleClick,
33
+ renderWrapper = _useInputLogic.renderWrapper,
34
+ wrapRef = _useInputLogic.wrapRef;
46
35
  useImperativeHandle(ref, function () {
47
36
  return {
48
37
  dom: wrapRef.current,
49
38
  input: inputRef.current
50
39
  };
51
40
  });
52
-
53
41
  function renderInput(_ref) {
54
42
  var prefixCls = _ref.prefixCls;
55
43
  var prefix = prefixCls + "-input";
@@ -78,7 +66,16 @@ var Input = /*#__PURE__*/forwardRef(function (props, ref) {
78
66
  "aria-label": ariaLabel
79
67
  })));
80
68
  }
81
-
82
69
  return /*#__PURE__*/React.createElement(ContextLayout, null, renderInput);
83
70
  });
84
- export default Input;
71
+
72
+ /**
73
+ * 输入框组件,支持添加前后缀。
74
+ * @en The input box, supports adding prefixes and suffixes.
75
+ * @type 数据录入
76
+ * @type_en Data Entry
77
+ * @name 输入框
78
+ * @name_en Input
79
+ * @displayName Input
80
+ */
81
+ export default componentWrapper(Input, 'Input');
@@ -11,7 +11,7 @@
11
11
  }
12
12
  .arco-input-label.required::before {
13
13
  content: "* ";
14
- color: #ee4d38 ;
14
+ color: #f53f3f ;
15
15
  }
16
16
  .disabled .arco-input-label {
17
17
  color: #c9cdd4 ;
@@ -3,7 +3,6 @@ import lodashThrottle from 'lodash.throttle';
3
3
  import { getScrollContainerAttribute, getValidScrollContainer, defaultLocale } from '@arco-design/mobile-utils';
4
4
  import { ContextLayout } from '../context-provider';
5
5
  import { useUpdateEffect } from '../_helpers';
6
-
7
6
  /**
8
7
  * 上拉加载组件,支持`scroll`和`click`两种触发加载方式,支持滚动监听。支持受控与不受控两种形式。<br>如果引入组件后发现仅触发了初始的`getData`,请确认是否在`getData`方法内没有调用`callback`移除 loading 状态,且未设置`blockWhenLoading`属性为 false。
9
8
  * @en Pull-up loading component, supports `scroll` and `click` two trigger loading methods, supports scroll monitoring. Both controlled and uncontrolled forms are supported. <br>If only the initial `getData` is triggered after the component is introduced, please make sure that the `callback` is not called in the `getData` method to remove the loading state, and the `blockWhenLoading` property is not set to false.
@@ -14,38 +13,36 @@ import { useUpdateEffect } from '../_helpers';
14
13
  */
15
14
  var LoadMore = /*#__PURE__*/forwardRef(function (props, ref) {
16
15
  var _props$className = props.className,
17
- className = _props$className === void 0 ? '' : _props$className,
18
- style = props.style,
19
- beforeReadyArea = props.beforeReadyArea,
20
- loadingArea = props.loadingArea,
21
- noMoreArea = props.noMoreArea,
22
- prepareArea = props.prepareArea,
23
- retryArea = props.retryArea,
24
- _props$defaultStatus = props.defaultStatus,
25
- defaultStatus = _props$defaultStatus === void 0 ? 'prepare' : _props$defaultStatus,
26
- status = props.status,
27
- getScrollContainer = props.getScrollContainer,
28
- _props$trigger = props.trigger,
29
- trigger = _props$trigger === void 0 ? 'scroll' : _props$trigger,
30
- _props$threshold = props.threshold,
31
- threshold = _props$threshold === void 0 ? 200 : _props$threshold,
32
- _props$throttle = props.throttle,
33
- throttle = _props$throttle === void 0 ? 0 : _props$throttle,
34
- _props$getDataAtFirst = props.getDataAtFirst,
35
- getDataAtFirst = _props$getDataAtFirst === void 0 ? true : _props$getDataAtFirst,
36
- getData = props.getData,
37
- _props$blockWhenLoadi = props.blockWhenLoading,
38
- blockWhenLoading = _props$blockWhenLoadi === void 0 ? true : _props$blockWhenLoadi,
39
- onStatusChange = props.onStatusChange,
40
- onClick = props.onClick,
41
- onEndReached = props.onEndReached;
16
+ className = _props$className === void 0 ? '' : _props$className,
17
+ style = props.style,
18
+ beforeReadyArea = props.beforeReadyArea,
19
+ loadingArea = props.loadingArea,
20
+ noMoreArea = props.noMoreArea,
21
+ prepareArea = props.prepareArea,
22
+ retryArea = props.retryArea,
23
+ _props$defaultStatus = props.defaultStatus,
24
+ defaultStatus = _props$defaultStatus === void 0 ? 'prepare' : _props$defaultStatus,
25
+ status = props.status,
26
+ getScrollContainer = props.getScrollContainer,
27
+ _props$trigger = props.trigger,
28
+ trigger = _props$trigger === void 0 ? 'scroll' : _props$trigger,
29
+ _props$threshold = props.threshold,
30
+ threshold = _props$threshold === void 0 ? 200 : _props$threshold,
31
+ _props$throttle = props.throttle,
32
+ throttle = _props$throttle === void 0 ? 0 : _props$throttle,
33
+ _props$getDataAtFirst = props.getDataAtFirst,
34
+ getDataAtFirst = _props$getDataAtFirst === void 0 ? true : _props$getDataAtFirst,
35
+ getData = props.getData,
36
+ _props$blockWhenLoadi = props.blockWhenLoading,
37
+ blockWhenLoading = _props$blockWhenLoadi === void 0 ? true : _props$blockWhenLoadi,
38
+ onStatusChange = props.onStatusChange,
39
+ onClick = props.onClick,
40
+ onEndReached = props.onEndReached;
42
41
  var domRef = useRef(null);
43
42
  var requestAtFirst = trigger === 'scroll' ? getDataAtFirst : false;
44
-
45
43
  var _useState = useState(defaultStatus),
46
- innerStatus = _useState[0],
47
- setInnerStatus = _useState[1];
48
-
44
+ innerStatus = _useState[0],
45
+ setInnerStatus = _useState[1];
49
46
  var lastScrollEndRef = useRef(false);
50
47
  var nowStatus = status || innerStatus;
51
48
  var statusRef = useRef(nowStatus);
@@ -57,7 +54,6 @@ var LoadMore = /*#__PURE__*/forwardRef(function (props, ref) {
57
54
  if (blockWhenLoading && statusRef.current === 'loading') {
58
55
  return;
59
56
  }
60
-
61
57
  changeStatus('loading', scene);
62
58
  getData == null ? void 0 : getData(function (st) {
63
59
  lastScrollEndRef.current = false;
@@ -83,12 +79,10 @@ var LoadMore = /*#__PURE__*/forwardRef(function (props, ref) {
83
79
  }, [trigger]);
84
80
  var handleContainerScroll = useCallback(function () {
85
81
  var scrollTop = getScrollContainerAttribute('scrollTop', getScrollContainer);
86
-
87
82
  if (checkNeedTrigger(scrollTop, threshold + 1)) {
88
83
  if (!lastScrollEndRef.current) {
89
84
  lastScrollEndRef.current = true;
90
85
  onEndReached && onEndReached();
91
-
92
86
  if (!['nomore', 'retry', 'before-ready'].includes(statusRef.current)) {
93
87
  triggerGetData('scrollEnd');
94
88
  }
@@ -100,16 +94,13 @@ var LoadMore = /*#__PURE__*/forwardRef(function (props, ref) {
100
94
  useEffect(function () {
101
95
  var binded = null;
102
96
  var scrollFunc = throttle ? lodashThrottle(handleContainerScroll, throttle) : handleContainerScroll;
103
-
104
97
  if (trigger === 'scroll') {
105
98
  var container = getValidScrollContainer(getScrollContainer);
106
-
107
99
  if (container) {
108
100
  container.addEventListener('scroll', scrollFunc);
109
101
  binded = container;
110
102
  }
111
103
  }
112
-
113
104
  return function () {
114
105
  if (binded) {
115
106
  binded.removeEventListener('scroll', scrollFunc);
@@ -122,55 +113,45 @@ var LoadMore = /*#__PURE__*/forwardRef(function (props, ref) {
122
113
  changeStatus: changeStatus
123
114
  };
124
115
  }, [changeStatus]);
125
-
126
116
  function checkNeedTrigger(top, ths) {
127
117
  var scrollHeight = getScrollContainerAttribute('scrollHeight', getScrollContainer);
128
118
  var clientHeight = getScrollContainerAttribute('clientHeight', getScrollContainer);
129
119
  return scrollHeight - top - clientHeight <= ths;
130
120
  }
131
-
132
121
  function handleClick(e) {
133
122
  if (trigger === 'click' && statusRef.current === 'prepare' || statusRef.current === 'retry') {
134
123
  triggerGetData('click');
135
124
  }
136
-
137
125
  onClick && onClick(e);
138
126
  }
139
-
140
127
  function renderArea(locale) {
141
128
  switch (nowStatus) {
142
129
  case 'before-ready':
143
130
  return beforeReadyArea;
144
-
145
131
  case 'prepare':
146
132
  return prepareArea === void 0 ? /*#__PURE__*/React.createElement("div", {
147
133
  className: "load-more-text prepare"
148
134
  }, trigger === 'scroll' ? locale.LoadMore.prepareScrollText : locale.LoadMore.prepareClickText, locale.LoadMore.loadMoreText) : prepareArea;
149
-
150
135
  case 'loading':
151
136
  return loadingArea === void 0 ? /*#__PURE__*/React.createElement("div", {
152
137
  className: "load-more-text loading"
153
138
  }, locale.LoadMore.loadingText) : loadingArea;
154
-
155
139
  case 'nomore':
156
140
  return noMoreArea === void 0 ? /*#__PURE__*/React.createElement("div", {
157
141
  className: "load-more-text nomore"
158
142
  }, locale.LoadMore.noDataText) : noMoreArea;
159
-
160
143
  case 'retry':
161
144
  return retryArea === void 0 ? /*#__PURE__*/React.createElement("div", {
162
145
  className: "load-more-text retry"
163
146
  }, locale.LoadMore.failLoadText) : retryArea;
164
-
165
147
  default:
166
148
  return null;
167
149
  }
168
150
  }
169
-
170
151
  return /*#__PURE__*/React.createElement(ContextLayout, null, function (_ref) {
171
152
  var prefixCls = _ref.prefixCls,
172
- _ref$locale = _ref.locale,
173
- locale = _ref$locale === void 0 ? defaultLocale : _ref$locale;
153
+ _ref$locale = _ref.locale,
154
+ locale = _ref$locale === void 0 ? defaultLocale : _ref$locale;
174
155
  return /*#__PURE__*/React.createElement("div", {
175
156
  className: prefixCls + "-load-more status-" + nowStatus + " " + className,
176
157
  ref: domRef,