@arco-design/mobile-react 2.25.3 → 2.26.0

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