@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
@@ -7,15 +7,16 @@ var LISTEN_FLAG = 'data-show-listened';
7
7
  * 父 dom 节点集合
8
8
  * @en Parent dom node collection
9
9
  */
10
+
10
11
  var wrapperNodeList = [];
11
12
  /**
12
13
  * 同一父节点下监听队列
13
14
  * @en Listening queue under the same parent node
14
15
  */
16
+
15
17
  var listeners = {};
16
18
  var onOnceEmittedListeners = {};
17
19
  var throttlingVisibleChange;
18
-
19
20
  /**
20
21
  * 通过滚动事件监测 children 是否进入视口或离开视口。
21
22
  * @en Use scroll events to monitor whether children enter or leave the viewport.
@@ -24,60 +25,67 @@ var throttlingVisibleChange;
24
25
  * @name 滚动视口监听
25
26
  * @name_en ShowMonitor
26
27
  */
28
+
27
29
  var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
28
30
  var className = props.className,
29
- style = props.style,
30
- getScrollContainer = props.getScrollContainer,
31
- _props$throttle = props.throttle,
32
- throttle = _props$throttle === void 0 ? 300 : _props$throttle,
33
- _props$listenResize = props.listenResize,
34
- listenResize = _props$listenResize === void 0 ? true : _props$listenResize,
35
- _props$listenScroll = props.listenScroll,
36
- listenScroll = _props$listenScroll === void 0 ? true : _props$listenScroll,
37
- _props$overflow = props.overflow,
38
- overflow = _props$overflow === void 0 ? false : _props$overflow,
39
- _props$offset = props.offset,
40
- offset = _props$offset === void 0 ? 0 : _props$offset,
41
- _props$threshold = props.threshold,
42
- threshold = _props$threshold === void 0 ? 0 : _props$threshold,
43
- _props$once = props.once,
44
- once = _props$once === void 0 ? false : _props$once,
45
- _props$children = props.children,
46
- children = _props$children === void 0 ? null : _props$children,
47
- _props$disabled = props.disabled,
48
- disabled = _props$disabled === void 0 ? false : _props$disabled,
49
- onVisibleChange = props.onVisibleChange,
50
- onClick = props.onClick;
31
+ style = props.style,
32
+ getScrollContainer = props.getScrollContainer,
33
+ _props$throttle = props.throttle,
34
+ throttle = _props$throttle === void 0 ? 300 : _props$throttle,
35
+ _props$listenResize = props.listenResize,
36
+ listenResize = _props$listenResize === void 0 ? true : _props$listenResize,
37
+ _props$listenScroll = props.listenScroll,
38
+ listenScroll = _props$listenScroll === void 0 ? true : _props$listenScroll,
39
+ _props$overflow = props.overflow,
40
+ overflow = _props$overflow === void 0 ? false : _props$overflow,
41
+ _props$offset = props.offset,
42
+ offset = _props$offset === void 0 ? 0 : _props$offset,
43
+ _props$threshold = props.threshold,
44
+ threshold = _props$threshold === void 0 ? 0 : _props$threshold,
45
+ _props$once = props.once,
46
+ once = _props$once === void 0 ? false : _props$once,
47
+ _props$children = props.children,
48
+ children = _props$children === void 0 ? null : _props$children,
49
+ _props$disabled = props.disabled,
50
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
51
+ onVisibleChange = props.onVisibleChange,
52
+ onClick = props.onClick;
51
53
  var domRef = useRef(null);
52
54
  /**
53
55
  * 滚动容器父级元素
54
56
  * @en Scroll container parent element
55
57
  */
58
+
56
59
  var scrollPort = useRef(null);
57
60
  /**
58
61
  * 局部滚动元素父节点
59
62
  * @en Parent node of the local scroll element
60
63
  */
64
+
61
65
  var domRefParent = useRef(null);
62
66
  /**
63
67
  * 当前元素是否在可视区域内
64
68
  * @en Whether the current element is in the visible area
65
69
  */
70
+
66
71
  var isVisible = useRef(false);
67
72
  /**
68
73
  * 保存当前节点信息,类似于 class component 中 this
69
74
  * @en Save current node information, similar to this in class component
70
75
  */
76
+
71
77
  var listener = useRef(null);
72
78
  /**
73
79
  * Intersection Observer 实例化对象
74
80
  * @en Instantiated object of Intersection Observer
75
81
  */
82
+
76
83
  var io = useRef(null);
77
84
  /**
78
85
  * 父容器唯一 key(wrapperNodeList index)
79
86
  * @en The unique key of the parent container (wrapperNodeList index)
80
87
  */
88
+
81
89
  var wrapperKey = useRef(-1);
82
90
  var isChildrenExist = useRef(Boolean(children));
83
91
  var isSupportNativeApi = useMemo(function () {
@@ -87,6 +95,7 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
87
95
  useImperativeHandle(ref, function () {
88
96
  return {
89
97
  dom: domRef.current,
98
+
90
99
  /**
91
100
  * 提供检查元素是否可见的api
92
101
  * @en Provides an api to check whether the element is visible
@@ -100,58 +109,70 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
100
109
  threshold: threshold
101
110
  }, true);
102
111
  },
112
+
103
113
  /**
104
114
  * 重置元素初始可见态为false,并重新对元素可见度发起检测,优先级低于disabled(通常用在对ShowMonitor内部元素变化时发起的重新监听)
105
115
  * @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)
106
116
  */
107
117
  flushVisibleStatus: function flushVisibleStatus() {
108
118
  isVisible.current = false;
119
+
109
120
  if (isSupportNativeApi && io.current && domRef.current) {
110
121
  disabled ? io.current.unobserve(domRef.current) : io.current.observe(domRef.current);
111
122
  } else if (listener.current) {
112
123
  var _key = wrapperKey.current;
124
+
113
125
  if (once && onOnceEmittedListeners != null && onOnceEmittedListeners[_key]) {
114
126
  onOnceEmittedListeners[_key] = onOnceEmittedListeners[_key].filter(function (emitListener) {
115
127
  return emitListener !== listener.current;
116
128
  });
117
129
  }
130
+
118
131
  if (!disabled && !listeners[_key].find(function (_listener) {
119
132
  return _listener === listener.current;
120
133
  })) {
121
134
  listeners[_key].push(listener.current);
122
135
  }
136
+
123
137
  !disabled && _checkVisible(listener.current);
124
138
  }
125
139
  }
126
140
  };
127
141
  });
142
+
128
143
  function _checkVisible(component, ignoreCheckPreVisibleStatus) {
129
144
  if (ignoreCheckPreVisibleStatus === void 0) {
130
145
  ignoreCheckPreVisibleStatus = false;
131
146
  }
147
+
132
148
  var node = component.node,
133
- compOverflow = component.overflow,
134
- compOnce = component.once,
135
- onCompVisibleChange = component.onVisibleChange,
136
- preVisible = component.isVisible;
149
+ compOverflow = component.overflow,
150
+ compOnce = component.once,
151
+ onCompVisibleChange = component.onVisibleChange,
152
+ preVisible = component.isVisible;
153
+
137
154
  if (!(node instanceof HTMLElement)) {
138
155
  return;
139
156
  }
157
+
140
158
  var parent = scrollParent(node);
141
159
  /**
142
160
  * 当前元素为非 document 元素,即为局部滚动
143
161
  * @en If the current element is a non-document element, it's local scrolling
144
162
  */
163
+
145
164
  var isOverflow = compOverflow && [node.ownerDocument, document, document.documentElement].indexOf(parent) === -1;
146
165
  /**
147
166
  * 检查元素是否可见
148
167
  * @en Check if element is visible
149
168
  */
169
+
150
170
  var curVisible = isOverflow ? checkOverflowVisible(component, parent) : checkNormalVisible(component);
151
171
  /**
152
172
  * 忽略前后可见状态判断
153
173
  * @en Ignore the visible state judgment before and after
154
174
  */
175
+
155
176
  if (ignoreCheckPreVisibleStatus) {
156
177
  return curVisible;
157
178
  }
@@ -159,12 +180,15 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
159
180
  * 当前元素 visible 对比之前发生改变,触发回调函数
160
181
  * @en The current element visible is changed before the comparison, and the callback function is triggered
161
182
  */
183
+
184
+
162
185
  curVisible !== preVisible.current && handleCheckChildrenExist() && onCompVisibleChange(curVisible, node);
163
186
  var key = wrapperKey.current;
164
187
  /**
165
188
  * 监听一次后加入 pendingList 队列,随后被 listeners 过滤掉
166
189
  * @en After listening once, it is added to the pendingList queue, and then filtered out by listeners
167
190
  */
191
+
168
192
  if (!onOnceEmittedListeners[key]) {
169
193
  onOnceEmittedListeners[key] = [];
170
194
  }
@@ -172,9 +196,12 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
172
196
  * 当前元素不可见 -> 可见,且 once, 触发回调函数
173
197
  * @en The current element is invisible -> visible, and once, triggers the callback function
174
198
  */
199
+
200
+
175
201
  curVisible && !preVisible.current && compOnce && onOnceEmittedListeners[key].push(component);
176
202
  preVisible.current = curVisible;
177
203
  }
204
+
178
205
  var checkVisibleHandler = useCallback(function () {
179
206
  var key = wrapperKey.current;
180
207
  var curListeners = listeners[key] || [];
@@ -186,29 +213,35 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
186
213
  });
187
214
  onOnceEmittedListeners[key] = [];
188
215
  }, []);
216
+
189
217
  function handleCheckChildrenExist() {
190
218
  return isChildrenExist.current && domRef.current && domRef.current.children.length;
191
219
  }
220
+
192
221
  function handleObserverStatusChange(entries) {
193
222
  var _io$current;
223
+
194
224
  var isIntersecting = entries[0].isIntersecting;
195
225
  /**
196
226
  * 当前元素 visible 对比之前发生改变,触发回调函数
197
227
  * @en Callback when the visible status of current element changes before the comparison
198
228
  */
229
+
199
230
  isIntersecting !== isVisible.current && handleCheckChildrenExist() && onVisibleChange(isIntersecting, domRef.current);
200
231
  /**
201
232
  * 当前元素不可见 -> 可见,且 once, 触发回调函数
202
233
  * @en The current element is invisible -> visible, and once, triggers the callback
203
234
  */
235
+
204
236
  isIntersecting && !isVisible.current && once && domRef.current && ((_io$current = io.current) == null ? void 0 : _io$current.unobserve(domRef.current));
205
237
  isVisible.current = isIntersecting;
206
238
  }
207
-
208
239
  /**
209
240
  * 非首次下disabled变化时,重新监听元素
210
241
  * @en Re-listen to the element when it is not the first time that the disabled status changes,
211
242
  */
243
+
244
+
212
245
  useEffect(function () {
213
246
  if (isSupportNativeApi) {
214
247
  // 非首次下
@@ -227,6 +260,7 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
227
260
  var isExist = listeners[wrapperKey.current].findIndex(function (item) {
228
261
  return item.node === domRef.current;
229
262
  });
263
+
230
264
  if (isExist !== -1) {
231
265
  listeners[wrapperKey.current].splice(0, 1);
232
266
  }
@@ -245,6 +279,7 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
245
279
  scrollPort.current = getScrollContainer ? getScrollContainer() : window;
246
280
  if (!scrollPort.current) return;
247
281
  var wrapperNodeIndex = wrapperNodeList.indexOf(scrollPort.current);
282
+
248
283
  if (wrapperNodeIndex === -1) {
249
284
  // 当前滚动视口元素不在 wrapperNodeList 中, 入队列
250
285
  // @en The current scroll viewport element is not in the wrapperNodeList, push it into the list
@@ -255,7 +290,9 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
255
290
  // @en Take the current index as the key
256
291
  wrapperKey.current = wrapperNodeIndex;
257
292
  }
293
+
258
294
  var curWrapperKey = wrapperKey.current;
295
+
259
296
  if (isSupportNativeApi) {
260
297
  if (domRef.current) {
261
298
  domRefParent.current = scrollParent(domRef.current);
@@ -264,6 +301,7 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
264
301
  var overflowRoot = isHTMLElement ? parent : null;
265
302
  var root = overflow ? overflowRoot : scrollPort.current === window ? null : scrollPort.current;
266
303
  var rootMargin = '';
304
+
267
305
  if (Array.isArray(offset)) {
268
306
  if (offset.length === 2) {
269
307
  rootMargin = offset[0] + "px 0px " + offset[1] + "px";
@@ -276,6 +314,7 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
276
314
  } else {
277
315
  rootMargin = offset + "px";
278
316
  }
317
+
279
318
  io.current = new IntersectionObserver(handleObserverStatusChange, {
280
319
  root: root,
281
320
  rootMargin: rootMargin,
@@ -288,25 +327,29 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
288
327
  // @en Callback after throttling
289
328
  throttlingVisibleChange = checkVisibleHandler;
290
329
  throttle && (throttlingVisibleChange = lodashThrottle(throttlingVisibleChange, throttle));
330
+
291
331
  if (overflow) {
292
332
  if (domRef.current) {
293
333
  domRefParent.current = scrollParent(domRef.current);
294
334
  var _parent = domRefParent.current;
335
+
295
336
  if (_parent && _parent instanceof HTMLElement && typeof _parent.getAttribute === 'function') {
296
337
  var listenerCount = 1 + Number(_parent.getAttribute(LISTEN_FLAG));
338
+
297
339
  if (!listeners[curWrapperKey]) {
298
340
  listeners[curWrapperKey] = [];
299
341
  }
342
+
300
343
  if (listenerCount === 1) {
301
344
  // listener 数量为1时监听事件(列表中插入 ShowMonitor 时做判断)
302
345
  // @en Listen when the number of listeners is 1 (judging when ShowMonitor is inserted into the list)
303
346
  _parent.addEventListener('scroll', throttlingVisibleChange);
304
347
  }
348
+
305
349
  _parent.setAttribute(LISTEN_FLAG, String(listenerCount));
306
350
  }
307
351
  }
308
- } else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 ||
309
- // 相同curWrapperKey内全部为overflow场景,需要单独注册scroll事件
352
+ } else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 || // 相同curWrapperKey内全部为overflow场景,需要单独注册scroll事件
310
353
  // @en It need to register the scroll event separately when all values in the same curWrapperKey are overflow
311
354
  listeners[curWrapperKey] && listeners[curWrapperKey].every(function (it) {
312
355
  return it.overflow;
@@ -314,9 +357,11 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
314
357
  if (!listeners[curWrapperKey]) {
315
358
  listeners[curWrapperKey] = [];
316
359
  }
360
+
317
361
  listenScroll && scrollPort.current.addEventListener('scroll', throttlingVisibleChange);
318
362
  listenResize && scrollPort.current.addEventListener('resize', throttlingVisibleChange);
319
363
  }
364
+
320
365
  listener.current = {
321
366
  node: domRef.current,
322
367
  isVisible: isVisible,
@@ -325,8 +370,8 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
325
370
  offset: offset,
326
371
  threshold: threshold,
327
372
  onVisibleChange: onVisibleChange
328
- };
329
- // 将当前 listener 存入 listeners
373
+ }; // 将当前 listener 存入 listeners
374
+
330
375
  !disabled && listeners[curWrapperKey].push(listener.current);
331
376
  nextTick(function () {
332
377
  !disabled && _checkVisible(listener.current);
@@ -337,12 +382,15 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
337
382
  return function () {
338
383
  if (isSupportNativeApi) {
339
384
  var _io$current2;
385
+
340
386
  domRef.current && ((_io$current2 = io.current) == null ? void 0 : _io$current2.unobserve(domRef.current));
341
387
  } else {
342
388
  if (overflow) {
343
389
  var parent = domRefParent.current;
390
+
344
391
  if (parent && parent instanceof HTMLElement && typeof parent.getAttribute === 'function') {
345
392
  var listenerCount = Number(parent.getAttribute(LISTEN_FLAG) || 0) - 1;
393
+
346
394
  if (listenerCount === 0) {
347
395
  // 如果监听队列中无节点,解绑事件
348
396
  // @en If there is no node in the listening queue, unbind the event
@@ -354,17 +402,20 @@ var ShowMonitor = /*#__PURE__*/forwardRef(function (props, ref) {
354
402
  }
355
403
  }
356
404
  }
405
+
357
406
  var _key2 = wrapperKey.current;
358
407
  var curListeners = listeners[_key2];
408
+
359
409
  if (curListeners) {
360
410
  // 不在监听队列中,移除
361
411
  // @en Not in the listening queue, remove it
362
412
  var index = curListeners.indexOf(listener.current);
363
- index !== -1 && curListeners.splice(index, 1);
364
- // 监听队列为空,解绑 scroll、resize 事件
413
+ index !== -1 && curListeners.splice(index, 1); // 监听队列为空,解绑 scroll、resize 事件
365
414
  // @en When the listening queue is empty, unbind scroll and resize events
415
+
366
416
  if (curListeners.length === 0) {
367
417
  delete listeners[_key2];
418
+
368
419
  if (scrollPort.current) {
369
420
  scrollPort.current.removeEventListener('scroll', throttlingVisibleChange);
370
421
  scrollPort.current.removeEventListener('resize', throttlingVisibleChange);
@@ -1,30 +1,36 @@
1
1
  import { useCallback, useContext, useState, useEffect, useMemo, useRef } from 'react';
2
2
  import { SliderContext } from '.';
3
3
  var IsTouchingStatus;
4
+
4
5
  (function (IsTouchingStatus) {
5
6
  IsTouchingStatus[IsTouchingStatus["Idle"] = 0] = "Idle";
6
7
  IsTouchingStatus[IsTouchingStatus["Start"] = 1] = "Start";
7
8
  IsTouchingStatus[IsTouchingStatus["Moving"] = 2] = "Moving";
8
9
  })(IsTouchingStatus || (IsTouchingStatus = {}));
10
+
9
11
  export var useSliderEvents = function useSliderEvents(_ref) {
10
12
  var getLinePosition = _ref.getLinePosition,
11
- lineRef = _ref.lineRef,
12
- valueGroup = _ref.valueGroup,
13
- setValueGroup = _ref.setValueGroup,
14
- setCommonIsTouching = _ref.setCommonIsTouching;
13
+ lineRef = _ref.lineRef,
14
+ valueGroup = _ref.valueGroup,
15
+ setValueGroup = _ref.setValueGroup,
16
+ setCommonIsTouching = _ref.setCommonIsTouching;
17
+
15
18
  var _useContext = useContext(SliderContext),
16
- disabled = _useContext.disabled,
17
- step = _useContext.step,
18
- min = _useContext.min,
19
- max = _useContext.max,
20
- type = _useContext.type,
21
- draggableTrackOnly = _useContext.draggableTrackOnly;
19
+ disabled = _useContext.disabled,
20
+ step = _useContext.step,
21
+ min = _useContext.min,
22
+ max = _useContext.max,
23
+ type = _useContext.type,
24
+ draggableTrackOnly = _useContext.draggableTrackOnly;
25
+
22
26
  var _useState = useState(IsTouchingStatus.Idle),
23
- isTouching = _useState[0],
24
- setIsTouching = _useState[1];
27
+ isTouching = _useState[0],
28
+ setIsTouching = _useState[1];
29
+
25
30
  var _useState2 = useState(0),
26
- touchStartPosition = _useState2[0],
27
- setTouchStartPosition = _useState2[1];
31
+ touchStartPosition = _useState2[0],
32
+ setTouchStartPosition = _useState2[1];
33
+
28
34
  var linePositionRef = useRef({
29
35
  length: 0,
30
36
  start: 0
@@ -33,112 +39,131 @@ export var useSliderEvents = function useSliderEvents(_ref) {
33
39
  var validateValue = useCallback(function (value) {
34
40
  if (value >= min && value <= max) return value;
35
41
  return value <= (min + max) / 2 ? min : max;
36
- }, [min, max]);
37
-
38
- // 通过位置获取值
42
+ }, [min, max]); // 通过位置获取值
39
43
  // @en Get value by position
44
+
40
45
  var getValueFromPosition = useCallback(function (touchPosition) {
41
46
  var _linePositionRef$curr = linePositionRef.current,
42
- length = _linePositionRef$curr.length,
43
- start = _linePositionRef$curr.start;
47
+ length = _linePositionRef$curr.length,
48
+ start = _linePositionRef$curr.start;
44
49
  if (length === 0) return 0;
45
50
  var newWidth = isHorizontal ? touchPosition - start : length - touchPosition + start;
51
+
46
52
  if (newWidth < 0) {
47
53
  newWidth = 0;
48
54
  } else if (newWidth > length) {
49
55
  newWidth = length;
50
56
  }
57
+
51
58
  var newRealTimeValue = validateValue(Math.round(newWidth / length * (max - min) / step) * step + min);
52
59
  return newRealTimeValue;
53
- }, [isHorizontal, max, min, step]);
54
-
55
- // 设置不同的值,因为可以点击 line ,需要提前计算具体修改的是哪个值。
60
+ }, [isHorizontal, max, min, step]); // 设置不同的值,因为可以点击 line ,需要提前计算具体修改的是哪个值。
56
61
  // @en Set different values. Because line can be clicked, it needs to calculate which value to modify in advance.
62
+
57
63
  var setCommonValue = useMemo(function () {
58
64
  var start = getValueFromPosition(touchStartPosition);
65
+
59
66
  if (!Array.isArray(valueGroup)) {
60
67
  if (isTouching) {
61
68
  setValueGroup(start);
62
69
  setCommonIsTouching(0);
63
70
  setIsTouching(IsTouchingStatus.Moving);
64
71
  }
72
+
65
73
  return function (realTimeValue) {
66
74
  setValueGroup(realTimeValue);
67
75
  };
68
76
  } else {
69
77
  var index = Math.abs(valueGroup[0] - start) < Math.abs(valueGroup[1] - start) ? 0 : 1;
78
+
70
79
  var handleValue = function handleValue(realTimeValue) {
71
80
  setValueGroup(function (passValueGroup) {
72
81
  if (typeof passValueGroup === 'number') {
73
82
  return [passValueGroup, realTimeValue];
74
83
  }
84
+
75
85
  var newValueGroup = [].concat(passValueGroup);
76
86
  newValueGroup[index] = realTimeValue;
77
87
  return newValueGroup;
78
88
  });
79
89
  };
90
+
80
91
  if (isTouching) {
81
92
  setCommonIsTouching(index);
82
93
  handleValue(start);
83
94
  setIsTouching(IsTouchingStatus.Moving);
84
95
  }
96
+
85
97
  return handleValue;
86
98
  }
87
99
  }, [touchStartPosition, getValueFromPosition]);
88
100
  useEffect(function () {
89
101
  var _lineRef$current;
102
+
90
103
  if (disabled) return;
104
+
91
105
  var handleTouchStart = function handleTouchStart(e) {
92
106
  if (draggableTrackOnly && e.target === lineRef.current) return;
93
107
  linePositionRef.current = getLinePosition();
94
108
  var _e$touches$ = e.touches[0],
95
- clientX = _e$touches$.clientX,
96
- clientY = _e$touches$.clientY;
109
+ clientX = _e$touches$.clientX,
110
+ clientY = _e$touches$.clientY;
97
111
  var touchPosition = isHorizontal ? clientX : clientY;
98
112
  setIsTouching(IsTouchingStatus.Start);
99
113
  setTouchStartPosition(touchPosition);
100
114
  e.stopPropagation();
101
115
  e.preventDefault();
102
116
  };
117
+
103
118
  (_lineRef$current = lineRef.current) == null ? void 0 : _lineRef$current.addEventListener('touchstart', handleTouchStart);
104
119
  return function () {
105
120
  var _lineRef$current2;
121
+
106
122
  !disabled && ((_lineRef$current2 = lineRef.current) == null ? void 0 : _lineRef$current2.removeEventListener('touchstart', handleTouchStart));
107
123
  };
108
124
  }, [disabled, isHorizontal, draggableTrackOnly]);
109
125
  useEffect(function () {
110
126
  var _lineRef$current3;
127
+
111
128
  if (disabled) return;
129
+
112
130
  var handleTouchMove = function handleTouchMove(e) {
113
131
  if (isTouching === IsTouchingStatus.Moving) {
114
132
  var _e$touches$2 = e.touches[0],
115
- clientX = _e$touches$2.clientX,
116
- clientY = _e$touches$2.clientY;
133
+ clientX = _e$touches$2.clientX,
134
+ clientY = _e$touches$2.clientY;
117
135
  var touchPosition = isHorizontal ? clientX : clientY;
118
136
  setCommonValue(getValueFromPosition(touchPosition));
119
137
  }
138
+
120
139
  e.stopPropagation();
121
140
  e.cancelable && e.preventDefault();
122
141
  };
142
+
123
143
  (_lineRef$current3 = lineRef.current) == null ? void 0 : _lineRef$current3.addEventListener('touchmove', handleTouchMove);
124
144
  return function () {
125
145
  var _lineRef$current4;
146
+
126
147
  !disabled && ((_lineRef$current4 = lineRef.current) == null ? void 0 : _lineRef$current4.removeEventListener('touchmove', handleTouchMove));
127
148
  };
128
149
  }, [disabled, isHorizontal, isTouching]);
129
150
  useEffect(function () {
130
151
  var _lineRef$current5, _lineRef$current6;
152
+
131
153
  if (disabled) return;
154
+
132
155
  var handleTouchEnd = function handleTouchEnd(e) {
133
156
  setIsTouching(IsTouchingStatus.Idle);
134
157
  setCommonIsTouching(-1);
135
158
  e.stopPropagation();
136
159
  e.preventDefault();
137
160
  };
161
+
138
162
  (_lineRef$current5 = lineRef.current) == null ? void 0 : _lineRef$current5.addEventListener('touchend', handleTouchEnd);
139
163
  (_lineRef$current6 = lineRef.current) == null ? void 0 : _lineRef$current6.addEventListener('touchcancel', handleTouchEnd);
140
164
  return function () {
141
165
  var _lineRef$current7, _lineRef$current8;
166
+
142
167
  !disabled && ((_lineRef$current7 = lineRef.current) == null ? void 0 : _lineRef$current7.removeEventListener('touchend', handleTouchEnd));
143
168
  !disabled && ((_lineRef$current8 = lineRef.current) == null ? void 0 : _lineRef$current8.removeEventListener('touchcancel', handleTouchEnd));
144
169
  };
@@ -3,17 +3,21 @@ import { GlobalContext } from '../../context-provider';
3
3
  import { SliderContext } from '.';
4
4
  export var useSliderIcon = function useSliderIcon(_ref) {
5
5
  var valueGroup = _ref.valueGroup;
6
+
6
7
  var _useContext = useContext(GlobalContext),
7
- _useContext$prefixCls = _useContext.prefixCls,
8
- prefixCls = _useContext$prefixCls === void 0 ? '' : _useContext$prefixCls;
8
+ _useContext$prefixCls = _useContext.prefixCls,
9
+ prefixCls = _useContext$prefixCls === void 0 ? '' : _useContext$prefixCls;
10
+
9
11
  var _useContext2 = useContext(SliderContext),
10
- max = _useContext2.max,
11
- suffixLabel = _useContext2.suffixLabel,
12
- min = _useContext2.min,
13
- prefixLabel = _useContext2.prefixLabel;
12
+ max = _useContext2.max,
13
+ suffixLabel = _useContext2.suffixLabel,
14
+ min = _useContext2.min,
15
+ prefixLabel = _useContext2.prefixLabel;
16
+
14
17
  var renderPrefixLabel = useMemo(function () {
15
18
  if (!prefixLabel) return null;
16
19
  var inner;
20
+
17
21
  if (typeof prefixLabel === 'boolean' && prefixLabel) {
18
22
  inner = min;
19
23
  } else if (typeof prefixLabel === 'function') {
@@ -21,6 +25,7 @@ export var useSliderIcon = function useSliderIcon(_ref) {
21
25
  } else {
22
26
  inner = prefixLabel;
23
27
  }
28
+
24
29
  return /*#__PURE__*/React.createElement("div", {
25
30
  className: prefixCls + "-slider-label is-prefix"
26
31
  }, inner);
@@ -28,6 +33,7 @@ export var useSliderIcon = function useSliderIcon(_ref) {
28
33
  var renderSuffixLabel = useMemo(function () {
29
34
  if (!suffixLabel) return null;
30
35
  var inner;
36
+
31
37
  if (typeof suffixLabel === 'boolean' && suffixLabel) {
32
38
  inner = max;
33
39
  } else if (typeof suffixLabel === 'function') {
@@ -35,6 +41,7 @@ export var useSliderIcon = function useSliderIcon(_ref) {
35
41
  } else {
36
42
  inner = suffixLabel;
37
43
  }
44
+
38
45
  return /*#__PURE__*/React.createElement("div", {
39
46
  className: prefixCls + "-slider-label is-suffix"
40
47
  }, inner);