@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
@@ -14,18 +14,14 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
-
18
17
  _exports.__esModule = true;
19
18
  _exports.default = void 0;
20
19
  _extends2 = _interopRequireDefault(_extends2);
21
20
  _objectWithoutPropertiesLoose2 = _interopRequireDefault(_objectWithoutPropertiesLoose2);
22
21
  _react = _interopRequireWildcard(_react);
23
22
  var _excluded = ["inputClass", "inputStyle", "type", "nativeProps", "id", "name", "maxLength", "placeholder", "readOnly", "onKeyUp", "onKeyPress", "disabled", "pattern", "prefix", "append", "textAlign", "actionButton", "clearable", "clearShowType", "shape", "className", "enableAssociation", "associationVisible", "associationShowType", "associationItems", "highlightClassName", "highlightMode", "highlightStyle", "onCancel", "onAssociationClick", "onAssociationItemClick", "renderAssociation", "renderAssociationItem"];
24
-
25
23
  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); }
26
-
27
24
  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; }
28
-
29
25
  /**
30
26
  * 搜索栏组件
31
27
  * @en SearchBar component
@@ -36,72 +32,70 @@
36
32
  */
37
33
  var SearchBar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
38
34
  var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
39
- prefixCls = _useContext.prefixCls,
40
- locale = _useContext.locale;
41
-
35
+ prefixCls = _useContext.prefixCls,
36
+ locale = _useContext.locale;
42
37
  var searchBarPrefixCls = prefixCls + "-search-bar";
43
38
  var inputClass = props.inputClass,
44
- inputStyle = props.inputStyle,
45
- _props$type = props.type,
46
- type = _props$type === void 0 ? 'search' : _props$type,
47
- nativeProps = props.nativeProps,
48
- id = props.id,
49
- name = props.name,
50
- maxLength = props.maxLength,
51
- _props$placeholder = props.placeholder,
52
- placeholder = _props$placeholder === void 0 ? locale == null ? void 0 : locale.SearchBar.placeholder : _props$placeholder,
53
- readOnly = props.readOnly,
54
- onKeyUp = props.onKeyUp,
55
- onKeyPress = props.onKeyPress,
56
- disabled = props.disabled,
57
- pattern = props.pattern,
58
- _props$prefix = props.prefix,
59
- prefix = _props$prefix === void 0 ? /*#__PURE__*/_react.default.createElement(_icon.IconSearch, {
60
- className: searchBarPrefixCls + "-search-icon"
61
- }) : _props$prefix,
62
- append = props.append,
63
- _props$textAlign = props.textAlign,
64
- textAlign = _props$textAlign === void 0 ? 'left' : _props$textAlign,
65
- actionButton = props.actionButton,
66
- _props$clearable = props.clearable,
67
- clearable = _props$clearable === void 0 ? true : _props$clearable,
68
- _props$clearShowType = props.clearShowType,
69
- clearShowType = _props$clearShowType === void 0 ? 'value' : _props$clearShowType,
70
- _props$shape = props.shape,
71
- shape = _props$shape === void 0 ? 'square' : _props$shape,
72
- className = props.className,
73
- _props$enableAssociat = props.enableAssociation,
74
- enableAssociation = _props$enableAssociat === void 0 ? false : _props$enableAssociat,
75
- associationVisible = props.associationVisible,
76
- _props$associationSho = props.associationShowType,
77
- associationShowType = _props$associationSho === void 0 ? 'default' : _props$associationSho,
78
- associationItems = props.associationItems,
79
- highlightClassName = props.highlightClassName,
80
- highlightMode = props.highlightMode,
81
- highlightStyle = props.highlightStyle,
82
- onCancel = props.onCancel,
83
- onAssociationClick = props.onAssociationClick,
84
- onAssociationItemClick = props.onAssociationItemClick,
85
- renderAssociation = props.renderAssociation,
86
- renderAssociationItem = props.renderAssociationItem,
87
- inputProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
39
+ inputStyle = props.inputStyle,
40
+ _props$type = props.type,
41
+ type = _props$type === void 0 ? 'search' : _props$type,
42
+ nativeProps = props.nativeProps,
43
+ id = props.id,
44
+ name = props.name,
45
+ maxLength = props.maxLength,
46
+ _props$placeholder = props.placeholder,
47
+ placeholder = _props$placeholder === void 0 ? locale == null ? void 0 : locale.SearchBar.placeholder : _props$placeholder,
48
+ readOnly = props.readOnly,
49
+ onKeyUp = props.onKeyUp,
50
+ onKeyPress = props.onKeyPress,
51
+ disabled = props.disabled,
52
+ pattern = props.pattern,
53
+ _props$prefix = props.prefix,
54
+ prefix = _props$prefix === void 0 ? /*#__PURE__*/_react.default.createElement(_icon.IconSearch, {
55
+ className: searchBarPrefixCls + "-search-icon"
56
+ }) : _props$prefix,
57
+ append = props.append,
58
+ _props$textAlign = props.textAlign,
59
+ textAlign = _props$textAlign === void 0 ? 'left' : _props$textAlign,
60
+ actionButton = props.actionButton,
61
+ _props$clearable = props.clearable,
62
+ clearable = _props$clearable === void 0 ? true : _props$clearable,
63
+ _props$clearShowType = props.clearShowType,
64
+ clearShowType = _props$clearShowType === void 0 ? 'value' : _props$clearShowType,
65
+ _props$shape = props.shape,
66
+ shape = _props$shape === void 0 ? 'square' : _props$shape,
67
+ className = props.className,
68
+ _props$enableAssociat = props.enableAssociation,
69
+ enableAssociation = _props$enableAssociat === void 0 ? false : _props$enableAssociat,
70
+ associationVisible = props.associationVisible,
71
+ _props$associationSho = props.associationShowType,
72
+ associationShowType = _props$associationSho === void 0 ? 'default' : _props$associationSho,
73
+ associationItems = props.associationItems,
74
+ highlightClassName = props.highlightClassName,
75
+ highlightMode = props.highlightMode,
76
+ highlightStyle = props.highlightStyle,
77
+ onCancel = props.onCancel,
78
+ onAssociationClick = props.onAssociationClick,
79
+ onAssociationItemClick = props.onAssociationItemClick,
80
+ renderAssociation = props.renderAssociation,
81
+ renderAssociationItem = props.renderAssociationItem,
82
+ inputProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
88
83
  var inputRef = (0, _react.useRef)(null);
84
+
89
85
  /**
90
86
  * 格式化搜索输入框尾部要插入的内容
91
87
  * @en Format the content to be inserted at the end of the search input box
92
88
  */
93
-
94
89
  var formatAppendProp = function formatAppendProp(focusing, currentInputValue) {
95
90
  var appendNode = null;
96
-
97
91
  if (typeof append === 'function') {
98
92
  appendNode = append(focusing, currentInputValue);
99
93
  } else {
100
94
  appendNode = append;
101
- } // 默认情况下,在激活时或有内容时插入一个cancelBtn
102
- // @en By default inserts a cancelBtn on activation or when there is content
103
-
95
+ }
104
96
 
97
+ // 默认情况下,在激活时或有内容时插入一个cancelBtn
98
+ // @en By default inserts a cancelBtn on activation or when there is content
105
99
  var formatActionButton = typeof actionButton === 'undefined' ? /*#__PURE__*/_react.default.createElement(_cancelButton.CancelButton, {
106
100
  focusing: focusing,
107
101
  currentInputValue: currentInputValue,
@@ -111,7 +105,8 @@
111
105
  }) : actionButton;
112
106
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, appendNode, formatActionButton, enableAssociation ? /*#__PURE__*/_react.default.createElement(_association.SearchBarAssociation, {
113
107
  prefixCls: searchBarPrefixCls,
114
- keyword: currentInputValue // eslint-disable-next-line @typescript-eslint/no-use-before-define
108
+ keyword: currentInputValue
109
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
115
110
  ,
116
111
  visible: actualVisible,
117
112
  associationItems: associationItems,
@@ -124,30 +119,27 @@
124
119
  renderAssociationItem: renderAssociationItem
125
120
  }) : null);
126
121
  };
127
-
128
122
  var _useInputLogic = (0, _hooks.useInputLogic)((0, _extends2.default)({
129
- className: (0, _mobileUtils.cls)(className, searchBarPrefixCls + "-" + shape),
130
- prefix: prefix,
131
- clearable: clearable,
132
- append: formatAppendProp,
133
- clearShowType: clearShowType
134
- }, inputProps), inputRef),
135
- inputValue = _useInputLogic.inputValue,
136
- handleChange = _useInputLogic.handleChange,
137
- handleInput = _useInputLogic.handleInput,
138
- handleKeyDown = _useInputLogic.handleKeyDown,
139
- handleFocus = _useInputLogic.handleFocus,
140
- handleBlur = _useInputLogic.handleBlur,
141
- handleClick = _useInputLogic.handleClick,
142
- renderWrapper = _useInputLogic.renderWrapper,
143
- wrapRef = _useInputLogic.wrapRef;
144
-
123
+ className: (0, _mobileUtils.cls)(className, searchBarPrefixCls + "-" + shape),
124
+ prefix: prefix,
125
+ clearable: clearable,
126
+ append: formatAppendProp,
127
+ clearShowType: clearShowType
128
+ }, inputProps), inputRef),
129
+ inputValue = _useInputLogic.inputValue,
130
+ handleChange = _useInputLogic.handleChange,
131
+ handleInput = _useInputLogic.handleInput,
132
+ handleKeyDown = _useInputLogic.handleKeyDown,
133
+ handleFocus = _useInputLogic.handleFocus,
134
+ handleBlur = _useInputLogic.handleBlur,
135
+ handleClick = _useInputLogic.handleClick,
136
+ renderWrapper = _useInputLogic.renderWrapper,
137
+ wrapRef = _useInputLogic.wrapRef;
145
138
  var _useState = (0, _react.useState)(associationShowType === 'always' || (associationShowType === 'value' || associationShowType === 'default') && Boolean(inputValue)),
146
- visible = _useState[0],
147
- setVisible = _useState[1]; // 真实的控制搜索联想框显隐,受控模式优先生效
139
+ visible = _useState[0],
140
+ setVisible = _useState[1];
141
+ // 真实的控制搜索联想框显隐,受控模式优先生效
148
142
  // @en Control the display and hide of the search association box, and the controlled mode takes effect first
149
-
150
-
151
143
  var actualVisible = associationVisible != null ? associationVisible : visible;
152
144
  (0, _react.useImperativeHandle)(ref, function () {
153
145
  return {
@@ -158,6 +150,7 @@
158
150
  }
159
151
  };
160
152
  });
153
+
161
154
  /**
162
155
  * 处理非受控逻辑下,搜索联想框的显隐状态
163
156
  * @en Handle the display state of the search association box under uncontrolled logic
@@ -165,38 +158,36 @@
165
158
  * @param {boolean} newVisible 新的visible
166
159
  * @param {string} newValue 新的输入框值
167
160
  */
168
-
169
161
  var formatSetAssociationVisible = function formatSetAssociationVisible(newVisible, newValue) {
170
162
  if (associationShowType === 'always') {
171
- setVisible(true); // 聚焦模式下,直接把visible和newVisible对齐即可
163
+ setVisible(true);
164
+ // 聚焦模式下,直接把visible和newVisible对齐即可
172
165
  // @en In focus mode, just align visible and newVisible directly
173
166
  } else if (associationShowType === 'focus') {
174
- setVisible(newVisible); // 聚焦 + 有值模式下,需要newVisible为true和newValue.length > 0同时满足
167
+ setVisible(newVisible);
168
+ // 聚焦 + 有值模式下,需要newVisible为true和newValue.length > 0同时满足
175
169
  // @en In focus + valued mode, newVisible is required to be true and newValue.length > 0 to be satisfied at the same time
176
170
  } else if (associationShowType === 'default') {
177
- setVisible(newVisible && Boolean(newValue)); // 仅有值模式下,visible需要newValue.length > 0
171
+ setVisible(newVisible && Boolean(newValue));
172
+ // 仅有值模式下,visible需要newValue.length > 0
178
173
  // @en In value-only mode, visible requires newValue.length > 0
179
174
  } else if (associationShowType === 'value') {
180
175
  setVisible(Boolean(newValue));
181
176
  }
182
177
  };
183
-
184
178
  var handleInputFocus = function handleInputFocus(e) {
185
179
  formatSetAssociationVisible(true, e.target.value);
186
180
  handleFocus(e);
187
181
  };
188
-
189
182
  var handleInputBlur = function handleInputBlur(e) {
190
183
  formatSetAssociationVisible(false, e.target.value);
191
184
  handleBlur(e);
192
185
  };
193
-
194
186
  var handleInputChange = function handleInputChange(e) {
195
187
  var newValue = e.target.value;
196
188
  formatSetAssociationVisible(Boolean(newValue), newValue);
197
189
  handleChange(e);
198
190
  };
199
-
200
191
  var renderSearchBar = function renderSearchBar() {
201
192
  return renderWrapper(searchBarPrefixCls, type, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, nativeProps, {
202
193
  id: id,
@@ -221,7 +212,6 @@
221
212
  onClick: handleClick
222
213
  })));
223
214
  };
224
-
225
215
  return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, renderSearchBar);
226
216
  });
227
217
  var _default = SearchBar;
@@ -14,31 +14,26 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
-
18
17
  _exports.__esModule = true;
19
18
  _exports.default = void 0;
20
19
  _react = _interopRequireWildcard(_react);
21
20
  _lodash = _interopRequireDefault(_lodash);
22
-
23
21
  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); }
24
-
25
22
  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; }
26
-
27
23
  var LISTEN_FLAG = 'data-show-listened';
28
24
  /**
29
25
  * 父 dom 节点集合
30
26
  * @en Parent dom node collection
31
27
  */
32
-
33
28
  var wrapperNodeList = [];
34
29
  /**
35
30
  * 同一父节点下监听队列
36
31
  * @en Listening queue under the same parent node
37
32
  */
38
-
39
33
  var listeners = {};
40
34
  var onOnceEmittedListeners = {};
41
35
  var throttlingVisibleChange;
36
+
42
37
  /**
43
38
  * 通过滚动事件监测 children 是否进入视口或离开视口。
44
39
  * @en Use scroll events to monitor whether children enter or leave the viewport.
@@ -47,67 +42,60 @@
47
42
  * @name 滚动视口监听
48
43
  * @name_en ShowMonitor
49
44
  */
50
-
51
45
  var ShowMonitor = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
52
46
  var className = props.className,
53
- style = props.style,
54
- getScrollContainer = props.getScrollContainer,
55
- _props$throttle = props.throttle,
56
- throttle = _props$throttle === void 0 ? 300 : _props$throttle,
57
- _props$listenResize = props.listenResize,
58
- listenResize = _props$listenResize === void 0 ? true : _props$listenResize,
59
- _props$listenScroll = props.listenScroll,
60
- listenScroll = _props$listenScroll === void 0 ? true : _props$listenScroll,
61
- _props$overflow = props.overflow,
62
- overflow = _props$overflow === void 0 ? false : _props$overflow,
63
- _props$offset = props.offset,
64
- offset = _props$offset === void 0 ? 0 : _props$offset,
65
- _props$threshold = props.threshold,
66
- threshold = _props$threshold === void 0 ? 0 : _props$threshold,
67
- _props$once = props.once,
68
- once = _props$once === void 0 ? false : _props$once,
69
- _props$children = props.children,
70
- children = _props$children === void 0 ? null : _props$children,
71
- _props$disabled = props.disabled,
72
- disabled = _props$disabled === void 0 ? false : _props$disabled,
73
- onVisibleChange = props.onVisibleChange,
74
- onClick = props.onClick;
47
+ style = props.style,
48
+ getScrollContainer = props.getScrollContainer,
49
+ _props$throttle = props.throttle,
50
+ throttle = _props$throttle === void 0 ? 300 : _props$throttle,
51
+ _props$listenResize = props.listenResize,
52
+ listenResize = _props$listenResize === void 0 ? true : _props$listenResize,
53
+ _props$listenScroll = props.listenScroll,
54
+ listenScroll = _props$listenScroll === void 0 ? true : _props$listenScroll,
55
+ _props$overflow = props.overflow,
56
+ overflow = _props$overflow === void 0 ? false : _props$overflow,
57
+ _props$offset = props.offset,
58
+ offset = _props$offset === void 0 ? 0 : _props$offset,
59
+ _props$threshold = props.threshold,
60
+ threshold = _props$threshold === void 0 ? 0 : _props$threshold,
61
+ _props$once = props.once,
62
+ once = _props$once === void 0 ? false : _props$once,
63
+ _props$children = props.children,
64
+ children = _props$children === void 0 ? null : _props$children,
65
+ _props$disabled = props.disabled,
66
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
67
+ onVisibleChange = props.onVisibleChange,
68
+ onClick = props.onClick;
75
69
  var domRef = (0, _react.useRef)(null);
76
70
  /**
77
71
  * 滚动容器父级元素
78
72
  * @en Scroll container parent element
79
73
  */
80
-
81
74
  var scrollPort = (0, _react.useRef)(null);
82
75
  /**
83
76
  * 局部滚动元素父节点
84
77
  * @en Parent node of the local scroll element
85
78
  */
86
-
87
79
  var domRefParent = (0, _react.useRef)(null);
88
80
  /**
89
81
  * 当前元素是否在可视区域内
90
82
  * @en Whether the current element is in the visible area
91
83
  */
92
-
93
84
  var isVisible = (0, _react.useRef)(false);
94
85
  /**
95
86
  * 保存当前节点信息,类似于 class component 中 this
96
87
  * @en Save current node information, similar to this in class component
97
88
  */
98
-
99
89
  var listener = (0, _react.useRef)(null);
100
90
  /**
101
91
  * Intersection Observer 实例化对象
102
92
  * @en Instantiated object of Intersection Observer
103
93
  */
104
-
105
94
  var io = (0, _react.useRef)(null);
106
95
  /**
107
96
  * 父容器唯一 key(wrapperNodeList index)
108
97
  * @en The unique key of the parent container (wrapperNodeList index)
109
98
  */
110
-
111
99
  var wrapperKey = (0, _react.useRef)(-1);
112
100
  var isChildrenExist = (0, _react.useRef)(Boolean(children));
113
101
  var isSupportNativeApi = (0, _react.useMemo)(function () {
@@ -117,7 +105,6 @@
117
105
  (0, _react.useImperativeHandle)(ref, function () {
118
106
  return {
119
107
  dom: domRef.current,
120
-
121
108
  /**
122
109
  * 提供检查元素是否可见的api
123
110
  * @en Provides an api to check whether the element is visible
@@ -131,70 +118,58 @@
131
118
  threshold: threshold
132
119
  }, true);
133
120
  },
134
-
135
121
  /**
136
122
  * 重置元素初始可见态为false,并重新对元素可见度发起检测,优先级低于disabled(通常用在对ShowMonitor内部元素变化时发起的重新监听)
137
123
  * @en Reset the initial visible state of the element to false, and re-detect the visibility of the element, the priority is lower than 'disabled'(Usually used to re-listen when elements inside ShowMonitor change)
138
124
  */
139
125
  flushVisibleStatus: function flushVisibleStatus() {
140
126
  isVisible.current = false;
141
-
142
127
  if (isSupportNativeApi && io.current && domRef.current) {
143
128
  disabled ? io.current.unobserve(domRef.current) : io.current.observe(domRef.current);
144
129
  } else if (listener.current) {
145
130
  var _key = wrapperKey.current;
146
-
147
131
  if (once && onOnceEmittedListeners != null && onOnceEmittedListeners[_key]) {
148
132
  onOnceEmittedListeners[_key] = onOnceEmittedListeners[_key].filter(function (emitListener) {
149
133
  return emitListener !== listener.current;
150
134
  });
151
135
  }
152
-
153
136
  if (!disabled && !listeners[_key].find(function (_listener) {
154
137
  return _listener === listener.current;
155
138
  })) {
156
139
  listeners[_key].push(listener.current);
157
140
  }
158
-
159
141
  !disabled && _checkVisible(listener.current);
160
142
  }
161
143
  }
162
144
  };
163
145
  });
164
-
165
146
  function _checkVisible(component, ignoreCheckPreVisibleStatus) {
166
147
  if (ignoreCheckPreVisibleStatus === void 0) {
167
148
  ignoreCheckPreVisibleStatus = false;
168
149
  }
169
-
170
150
  var node = component.node,
171
- compOverflow = component.overflow,
172
- compOnce = component.once,
173
- onCompVisibleChange = component.onVisibleChange,
174
- preVisible = component.isVisible;
175
-
151
+ compOverflow = component.overflow,
152
+ compOnce = component.once,
153
+ onCompVisibleChange = component.onVisibleChange,
154
+ preVisible = component.isVisible;
176
155
  if (!(node instanceof HTMLElement)) {
177
156
  return;
178
157
  }
179
-
180
158
  var parent = (0, _mobileUtils.scrollParent)(node);
181
159
  /**
182
160
  * 当前元素为非 document 元素,即为局部滚动
183
161
  * @en If the current element is a non-document element, it's local scrolling
184
162
  */
185
-
186
163
  var isOverflow = compOverflow && [node.ownerDocument, document, document.documentElement].indexOf(parent) === -1;
187
164
  /**
188
165
  * 检查元素是否可见
189
166
  * @en Check if element is visible
190
167
  */
191
-
192
168
  var curVisible = isOverflow ? (0, _mobileUtils.checkOverflowVisible)(component, parent) : (0, _mobileUtils.checkNormalVisible)(component);
193
169
  /**
194
170
  * 忽略前后可见状态判断
195
171
  * @en Ignore the visible state judgment before and after
196
172
  */
197
-
198
173
  if (ignoreCheckPreVisibleStatus) {
199
174
  return curVisible;
200
175
  }
@@ -202,15 +177,12 @@
202
177
  * 当前元素 visible 对比之前发生改变,触发回调函数
203
178
  * @en The current element visible is changed before the comparison, and the callback function is triggered
204
179
  */
205
-
206
-
207
180
  curVisible !== preVisible.current && handleCheckChildrenExist() && onCompVisibleChange(curVisible, node);
208
181
  var key = wrapperKey.current;
209
182
  /**
210
183
  * 监听一次后加入 pendingList 队列,随后被 listeners 过滤掉
211
184
  * @en After listening once, it is added to the pendingList queue, and then filtered out by listeners
212
185
  */
213
-
214
186
  if (!onOnceEmittedListeners[key]) {
215
187
  onOnceEmittedListeners[key] = [];
216
188
  }
@@ -218,12 +190,9 @@
218
190
  * 当前元素不可见 -> 可见,且 once, 触发回调函数
219
191
  * @en The current element is invisible -> visible, and once, triggers the callback function
220
192
  */
221
-
222
-
223
193
  curVisible && !preVisible.current && compOnce && onOnceEmittedListeners[key].push(component);
224
194
  preVisible.current = curVisible;
225
195
  }
226
-
227
196
  var checkVisibleHandler = (0, _react.useCallback)(function () {
228
197
  var key = wrapperKey.current;
229
198
  var curListeners = listeners[key] || [];
@@ -235,35 +204,29 @@
235
204
  });
236
205
  onOnceEmittedListeners[key] = [];
237
206
  }, []);
238
-
239
207
  function handleCheckChildrenExist() {
240
208
  return isChildrenExist.current && domRef.current && domRef.current.children.length;
241
209
  }
242
-
243
210
  function handleObserverStatusChange(entries) {
244
211
  var _io$current;
245
-
246
212
  var isIntersecting = entries[0].isIntersecting;
247
213
  /**
248
214
  * 当前元素 visible 对比之前发生改变,触发回调函数
249
215
  * @en Callback when the visible status of current element changes before the comparison
250
216
  */
251
-
252
217
  isIntersecting !== isVisible.current && handleCheckChildrenExist() && onVisibleChange(isIntersecting, domRef.current);
253
218
  /**
254
219
  * 当前元素不可见 -> 可见,且 once, 触发回调函数
255
220
  * @en The current element is invisible -> visible, and once, triggers the callback
256
221
  */
257
-
258
222
  isIntersecting && !isVisible.current && once && domRef.current && ((_io$current = io.current) == null ? void 0 : _io$current.unobserve(domRef.current));
259
223
  isVisible.current = isIntersecting;
260
224
  }
225
+
261
226
  /**
262
227
  * 非首次下disabled变化时,重新监听元素
263
228
  * @en Re-listen to the element when it is not the first time that the disabled status changes,
264
229
  */
265
-
266
-
267
230
  (0, _react.useEffect)(function () {
268
231
  if (isSupportNativeApi) {
269
232
  // 非首次下
@@ -282,7 +245,6 @@
282
245
  var isExist = listeners[wrapperKey.current].findIndex(function (item) {
283
246
  return item.node === domRef.current;
284
247
  });
285
-
286
248
  if (isExist !== -1) {
287
249
  listeners[wrapperKey.current].splice(0, 1);
288
250
  }
@@ -301,7 +263,6 @@
301
263
  scrollPort.current = getScrollContainer ? getScrollContainer() : window;
302
264
  if (!scrollPort.current) return;
303
265
  var wrapperNodeIndex = wrapperNodeList.indexOf(scrollPort.current);
304
-
305
266
  if (wrapperNodeIndex === -1) {
306
267
  // 当前滚动视口元素不在 wrapperNodeList 中, 入队列
307
268
  // @en The current scroll viewport element is not in the wrapperNodeList, push it into the list
@@ -312,9 +273,7 @@
312
273
  // @en Take the current index as the key
313
274
  wrapperKey.current = wrapperNodeIndex;
314
275
  }
315
-
316
276
  var curWrapperKey = wrapperKey.current;
317
-
318
277
  if (isSupportNativeApi) {
319
278
  if (domRef.current) {
320
279
  domRefParent.current = (0, _mobileUtils.scrollParent)(domRef.current);
@@ -323,7 +282,6 @@
323
282
  var overflowRoot = isHTMLElement ? parent : null;
324
283
  var root = overflow ? overflowRoot : scrollPort.current === window ? null : scrollPort.current;
325
284
  var rootMargin = '';
326
-
327
285
  if (Array.isArray(offset)) {
328
286
  if (offset.length === 2) {
329
287
  rootMargin = offset[0] + "px 0px " + offset[1] + "px";
@@ -336,7 +294,6 @@
336
294
  } else {
337
295
  rootMargin = offset + "px";
338
296
  }
339
-
340
297
  io.current = new IntersectionObserver(handleObserverStatusChange, {
341
298
  root: root,
342
299
  rootMargin: rootMargin,
@@ -349,29 +306,25 @@
349
306
  // @en Callback after throttling
350
307
  throttlingVisibleChange = checkVisibleHandler;
351
308
  throttle && (throttlingVisibleChange = (0, _lodash.default)(throttlingVisibleChange, throttle));
352
-
353
309
  if (overflow) {
354
310
  if (domRef.current) {
355
311
  domRefParent.current = (0, _mobileUtils.scrollParent)(domRef.current);
356
312
  var _parent = domRefParent.current;
357
-
358
313
  if (_parent && _parent instanceof HTMLElement && typeof _parent.getAttribute === 'function') {
359
314
  var listenerCount = 1 + Number(_parent.getAttribute(LISTEN_FLAG));
360
-
361
315
  if (!listeners[curWrapperKey]) {
362
316
  listeners[curWrapperKey] = [];
363
317
  }
364
-
365
318
  if (listenerCount === 1) {
366
319
  // listener 数量为1时监听事件(列表中插入 ShowMonitor 时做判断)
367
320
  // @en Listen when the number of listeners is 1 (judging when ShowMonitor is inserted into the list)
368
321
  _parent.addEventListener('scroll', throttlingVisibleChange);
369
322
  }
370
-
371
323
  _parent.setAttribute(LISTEN_FLAG, String(listenerCount));
372
324
  }
373
325
  }
374
- } else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 || // 相同curWrapperKey内全部为overflow场景,需要单独注册scroll事件
326
+ } else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 ||
327
+ // 相同curWrapperKey内全部为overflow场景,需要单独注册scroll事件
375
328
  // @en It need to register the scroll event separately when all values in the same curWrapperKey are overflow
376
329
  listeners[curWrapperKey] && listeners[curWrapperKey].every(function (it) {
377
330
  return it.overflow;
@@ -379,11 +332,9 @@
379
332
  if (!listeners[curWrapperKey]) {
380
333
  listeners[curWrapperKey] = [];
381
334
  }
382
-
383
335
  listenScroll && scrollPort.current.addEventListener('scroll', throttlingVisibleChange);
384
336
  listenResize && scrollPort.current.addEventListener('resize', throttlingVisibleChange);
385
337
  }
386
-
387
338
  listener.current = {
388
339
  node: domRef.current,
389
340
  isVisible: isVisible,
@@ -392,8 +343,8 @@
392
343
  offset: offset,
393
344
  threshold: threshold,
394
345
  onVisibleChange: onVisibleChange
395
- }; // 将当前 listener 存入 listeners
396
-
346
+ };
347
+ // 将当前 listener 存入 listeners
397
348
  !disabled && listeners[curWrapperKey].push(listener.current);
398
349
  (0, _mobileUtils.nextTick)(function () {
399
350
  !disabled && _checkVisible(listener.current);
@@ -404,15 +355,12 @@
404
355
  return function () {
405
356
  if (isSupportNativeApi) {
406
357
  var _io$current2;
407
-
408
358
  domRef.current && ((_io$current2 = io.current) == null ? void 0 : _io$current2.unobserve(domRef.current));
409
359
  } else {
410
360
  if (overflow) {
411
361
  var parent = domRefParent.current;
412
-
413
362
  if (parent && parent instanceof HTMLElement && typeof parent.getAttribute === 'function') {
414
363
  var listenerCount = Number(parent.getAttribute(LISTEN_FLAG) || 0) - 1;
415
-
416
364
  if (listenerCount === 0) {
417
365
  // 如果监听队列中无节点,解绑事件
418
366
  // @en If there is no node in the listening queue, unbind the event
@@ -424,20 +372,17 @@
424
372
  }
425
373
  }
426
374
  }
427
-
428
375
  var _key2 = wrapperKey.current;
429
376
  var curListeners = listeners[_key2];
430
-
431
377
  if (curListeners) {
432
378
  // 不在监听队列中,移除
433
379
  // @en Not in the listening queue, remove it
434
380
  var index = curListeners.indexOf(listener.current);
435
- index !== -1 && curListeners.splice(index, 1); // 监听队列为空,解绑 scroll、resize 事件
381
+ index !== -1 && curListeners.splice(index, 1);
382
+ // 监听队列为空,解绑 scroll、resize 事件
436
383
  // @en When the listening queue is empty, unbind scroll and resize events
437
-
438
384
  if (curListeners.length === 0) {
439
385
  delete listeners[_key2];
440
-
441
386
  if (scrollPort.current) {
442
387
  scrollPort.current.removeEventListener('scroll', throttlingVisibleChange);
443
388
  scrollPort.current.removeEventListener('resize', throttlingVisibleChange);