@xhsreds/reds-rn-next 0.10.1-fix-pull-refresh202511272003 → 0.11.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 (595) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-1.json +1 -1
  3. package/coverage/.tmp/coverage-10.json +1 -1
  4. package/coverage/.tmp/coverage-11.json +1 -1
  5. package/coverage/.tmp/coverage-12.json +1 -1
  6. package/coverage/.tmp/coverage-13.json +1 -1
  7. package/coverage/.tmp/coverage-14.json +1 -1
  8. package/coverage/.tmp/coverage-15.json +1 -1
  9. package/coverage/.tmp/coverage-17.json +1 -1
  10. package/coverage/.tmp/coverage-18.json +1 -1
  11. package/coverage/.tmp/coverage-19.json +1 -1
  12. package/coverage/.tmp/coverage-20.json +1 -1
  13. package/coverage/.tmp/coverage-21.json +1 -1
  14. package/coverage/.tmp/coverage-22.json +1 -1
  15. package/coverage/.tmp/coverage-23.json +1 -1
  16. package/coverage/.tmp/coverage-24.json +1 -1
  17. package/coverage/.tmp/coverage-25.json +1 -1
  18. package/coverage/.tmp/coverage-26.json +1 -1
  19. package/coverage/.tmp/coverage-27.json +1 -1
  20. package/coverage/.tmp/coverage-29.json +1 -1
  21. package/coverage/.tmp/coverage-3.json +1 -1
  22. package/coverage/.tmp/coverage-30.json +1 -1
  23. package/coverage/.tmp/coverage-31.json +1 -1
  24. package/coverage/.tmp/coverage-32.json +1 -1
  25. package/coverage/.tmp/coverage-33.json +1 -1
  26. package/coverage/.tmp/coverage-34.json +1 -1
  27. package/coverage/.tmp/coverage-36.json +1 -1
  28. package/coverage/.tmp/coverage-37.json +1 -1
  29. package/coverage/.tmp/coverage-38.json +1 -1
  30. package/coverage/.tmp/coverage-39.json +1 -1
  31. package/coverage/.tmp/coverage-4.json +1 -1
  32. package/coverage/.tmp/coverage-40.json +1 -1
  33. package/coverage/.tmp/coverage-41.json +1 -1
  34. package/coverage/.tmp/coverage-42.json +1 -1
  35. package/coverage/.tmp/coverage-5.json +1 -1
  36. package/coverage/.tmp/coverage-6.json +1 -1
  37. package/coverage/.tmp/coverage-7.json +1 -1
  38. package/coverage/.tmp/coverage-8.json +1 -1
  39. package/coverage/.tmp/coverage-9.json +1 -1
  40. package/lib/cjs/_chunks/{DVfoVjpR.js → 47jfgoRG.js} +4 -2
  41. package/lib/cjs/_chunks/47jfgoRG.js.map +1 -0
  42. package/lib/cjs/_chunks/{DNr-ZG4Y.js → D-WEErpR.js} +2 -2
  43. package/lib/cjs/_chunks/{DNr-ZG4Y.js.map → D-WEErpR.js.map} +1 -1
  44. package/lib/cjs/_chunks/hA3qoGpS.js.map +1 -1
  45. package/lib/cjs/_chunks/{C9tZEm0t.js → nlVjgQi5.js} +8 -59
  46. package/lib/{esm/_chunks/CAkwE9ZD.js.map → cjs/_chunks/nlVjgQi5.js.map} +1 -1
  47. package/lib/cjs/components/ActionSheets/ActionSheets.js +2 -2
  48. package/lib/cjs/components/ActionSheets/ActionSheetsItem.js +1 -1
  49. package/lib/cjs/components/ActionSheets/api.js +2 -2
  50. package/lib/cjs/components/ActionSheets/hooks.js +2 -2
  51. package/lib/cjs/components/ActionSheets/index.js +2 -2
  52. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +3 -3
  53. package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
  54. package/lib/cjs/components/ActionablePopover/index.js +1 -1
  55. package/lib/cjs/components/Alert/Alert.js +1 -1
  56. package/lib/cjs/components/Alert/hooks/alert.js +1 -1
  57. package/lib/cjs/components/Alert/index.js +1 -1
  58. package/lib/cjs/components/Alert/styles.js +1 -1
  59. package/lib/cjs/components/Avatar/Avatar.js +1 -1
  60. package/lib/cjs/components/Avatar/index.js +1 -1
  61. package/lib/cjs/components/Avatar/styles.js +6 -6
  62. package/lib/cjs/components/Avatar/styles.js.map +1 -1
  63. package/lib/cjs/components/AvatarGroup/AvatarGroup.js +2 -2
  64. package/lib/cjs/components/AvatarGroup/index.js +1 -1
  65. package/lib/cjs/components/Badge/Badge.js +1 -1
  66. package/lib/cjs/components/Badge/index.js +1 -1
  67. package/lib/cjs/components/Badge/styles.js +1 -1
  68. package/lib/cjs/components/BottomBar/BottomBar.js +1 -1
  69. package/lib/cjs/components/BottomBar/index.js +1 -1
  70. package/lib/cjs/components/BottomBar/styles.js +1 -1
  71. package/lib/cjs/components/BottomBar/styles.js.map +1 -1
  72. package/lib/cjs/components/Button/Button.js +1 -1
  73. package/lib/cjs/components/Button/Viewable.js +1 -1
  74. package/lib/cjs/components/Button/index.js +1 -1
  75. package/lib/cjs/components/Button/styleMap.js +1 -1
  76. package/lib/cjs/components/Carousel/Carousel.js +1 -1
  77. package/lib/cjs/components/Carousel/index.js +1 -1
  78. package/lib/cjs/components/CheckBoxGroup/CheckBox.js +1 -1
  79. package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  80. package/lib/cjs/components/CheckBoxGroup/index.js +1 -1
  81. package/lib/cjs/components/CheckBoxGroup/styles.js +1 -1
  82. package/lib/cjs/components/Collapse/Collapse.js +1 -1
  83. package/lib/cjs/components/Collapse/Item/Item.js +1 -1
  84. package/lib/cjs/components/Collapse/Item/styles.js +1 -1
  85. package/lib/cjs/components/Collapse/index.js +1 -1
  86. package/lib/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  87. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  88. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  89. package/lib/cjs/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  90. package/lib/cjs/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  91. package/lib/cjs/components/ConfigProvider/index.js +1 -1
  92. package/lib/cjs/components/DatePicker/DatePicker.js +2 -2
  93. package/lib/cjs/components/DatePicker/api.js +2 -2
  94. package/lib/cjs/components/DatePicker/index.js +2 -2
  95. package/lib/cjs/components/Divider/Divider.js +34 -13
  96. package/lib/cjs/components/Divider/Divider.js.map +1 -1
  97. package/lib/cjs/components/Divider/index.js +4 -4
  98. package/lib/cjs/components/Divider/styles.js +37 -31
  99. package/lib/cjs/components/Divider/styles.js.map +1 -1
  100. package/lib/cjs/components/DropDown/DropDown.js +1 -1
  101. package/lib/cjs/components/DropDown/DropDownItem.js +1 -1
  102. package/lib/cjs/components/DropDown/index.js +1 -1
  103. package/lib/cjs/components/Empty/Empty.js +1 -1
  104. package/lib/cjs/components/Empty/index.js +1 -1
  105. package/lib/cjs/components/Empty/styles.js +1 -1
  106. package/lib/cjs/components/FAB/FAB.js +1 -1
  107. package/lib/cjs/components/FAB/index.js +1 -1
  108. package/lib/cjs/components/Form/Form.js +1 -1
  109. package/lib/cjs/components/Form/FormItem.js +1 -1
  110. package/lib/cjs/components/Form/index.js +1 -1
  111. package/lib/cjs/components/Form/styles.js +1 -1
  112. package/lib/cjs/components/Icon/Icon.72.js +1 -1
  113. package/lib/cjs/components/Icon/Icon.72.js.map +1 -1
  114. package/lib/cjs/components/Image/CircularProgress.js +1 -1
  115. package/lib/cjs/components/Image/CircularProgress.js.map +1 -1
  116. package/lib/cjs/components/Image/Image.js +15 -15
  117. package/lib/cjs/components/Image/Image.js.map +1 -1
  118. package/lib/cjs/components/Image/Image69.js +1 -1
  119. package/lib/cjs/components/Image/VisibilitySensor.js +1 -1
  120. package/lib/cjs/components/Image/hook/index.js +1 -1
  121. package/lib/cjs/components/Image/index.js +2 -2
  122. package/lib/cjs/components/Image/queryCacheBatcher.js +1 -1
  123. package/lib/cjs/components/Image/utils.js +1 -1
  124. package/lib/cjs/components/ImagePreview/ImagePreview.js +1 -1
  125. package/lib/cjs/components/ImagePreview/api.js +1 -1
  126. package/lib/cjs/components/ImagePreview/index.js +1 -1
  127. package/lib/cjs/components/LanguageProvider/hooks/useLanguage.js +1 -1
  128. package/lib/cjs/components/LanguageProvider/index.js +1 -1
  129. package/lib/cjs/components/List/List.js +1 -1
  130. package/lib/cjs/components/List/ListItem/ArrowRight.js +1 -1
  131. package/lib/cjs/components/List/ListItem/ArrowRight.js.map +1 -1
  132. package/lib/cjs/components/List/ListItem/ListItem.js +5 -3
  133. package/lib/cjs/components/List/ListItem/ListItem.js.map +1 -1
  134. package/lib/cjs/components/List/index.js +1 -1
  135. package/lib/cjs/components/List/styles.js +1 -1
  136. package/lib/cjs/components/MiniSnackBar/MiniSnackBar.js +1 -1
  137. package/lib/cjs/components/MiniSnackBar/index.js +1 -1
  138. package/lib/cjs/components/MiniSnackBar/styles.js +1 -1
  139. package/lib/cjs/components/NavigationBar/NavigationBar.js +1 -1
  140. package/lib/cjs/components/NavigationBar/index.js +1 -1
  141. package/lib/cjs/components/NavigationBar/styles.js +1 -1
  142. package/lib/cjs/components/NoticeBar/NoticeBar.js +3 -2
  143. package/lib/cjs/components/NoticeBar/NoticeBar.js.map +1 -1
  144. package/lib/cjs/components/NoticeBar/index.js +1 -1
  145. package/lib/cjs/components/Picker/Picker.js +2 -2
  146. package/lib/cjs/components/Picker/api.js +2 -2
  147. package/lib/cjs/components/Picker/index.js +2 -2
  148. package/lib/cjs/components/PickerView/PickerView.js +1 -1
  149. package/lib/cjs/components/PickerView/Wheel.js +53 -6
  150. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  151. package/lib/cjs/components/PickerView/index.js +1 -1
  152. package/lib/cjs/components/Popover/Popover.js +1 -1
  153. package/lib/cjs/components/Popover/index.js +1 -1
  154. package/lib/cjs/components/Portal/core/PortalHost.js +3 -1
  155. package/lib/cjs/components/Portal/core/PortalHost.js.map +1 -1
  156. package/lib/cjs/components/Portal/core/PortalProvider.js +1 -1
  157. package/lib/cjs/components/Portal/index.js +1 -1
  158. package/lib/cjs/components/Progress/Progress.js +1 -1
  159. package/lib/cjs/components/Progress/index.js +1 -1
  160. package/lib/cjs/components/Progress/styles.js +1 -1
  161. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +1 -1
  162. package/lib/cjs/components/ProgressIndicator/index.js +1 -1
  163. package/lib/cjs/components/ProgressIndicator/styles.js +1 -1
  164. package/lib/cjs/components/PullRefresh/PullRefresh.js +38 -23
  165. package/lib/cjs/components/PullRefresh/PullRefresh.js.map +1 -1
  166. package/lib/cjs/components/PullRefresh/Refresh.js +1 -1
  167. package/lib/cjs/components/PullRefresh/Refresh.js.map +1 -1
  168. package/lib/cjs/components/PullRefresh/component.js +2 -2
  169. package/lib/cjs/components/PullRefresh/index.js +2 -2
  170. package/lib/cjs/components/Radio/Radio.js +8 -2395
  171. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  172. package/lib/cjs/components/Radio/RadioGroup.js +1 -1
  173. package/lib/cjs/components/Radio/index.js +5 -4
  174. package/lib/cjs/components/Radio/index.js.map +1 -1
  175. package/lib/cjs/components/Radio/styles.js +6 -8
  176. package/lib/cjs/components/Radio/styles.js.map +1 -1
  177. package/lib/cjs/components/Rate/Rate.js +1 -1
  178. package/lib/cjs/components/Rate/index.js +1 -1
  179. package/lib/cjs/components/Result/Result.js +1 -1
  180. package/lib/cjs/components/Result/index.js +1 -1
  181. package/lib/cjs/components/Result/styles.js +1 -1
  182. package/lib/cjs/components/Search/Search.js +1 -1
  183. package/lib/cjs/components/Search/index.js +1 -1
  184. package/lib/cjs/components/Search/styles.js +1 -1
  185. package/lib/cjs/components/SegmentedControl/SegmentedControl.js +1 -1
  186. package/lib/cjs/components/SegmentedControl/index.js +1 -1
  187. package/lib/cjs/components/Sheets/AnimatedSheets.js +19 -14
  188. package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
  189. package/lib/cjs/components/Sheets/Sheets.js +2 -2
  190. package/lib/cjs/components/Sheets/api.js +2 -2
  191. package/lib/cjs/components/Sheets/index.js +2 -2
  192. package/lib/cjs/components/Sheets/interface/index.js +1 -1
  193. package/lib/cjs/components/Skeleton/Item/SkeletonItem.js +2 -2
  194. package/lib/cjs/components/Skeleton/Item/SkeletonItem.js.map +1 -1
  195. package/lib/cjs/components/Skeleton/Item/SkeletonItem69.js +1 -1
  196. package/lib/cjs/components/Skeleton/Skeleton.js +2 -2
  197. package/lib/cjs/components/Skeleton/Skeleton69.js +1 -1
  198. package/lib/cjs/components/Skeleton/index.js +2 -2
  199. package/lib/cjs/components/Slider/Slider.js +75 -35
  200. package/lib/cjs/components/Slider/Slider.js.map +1 -1
  201. package/lib/cjs/components/Slider/index.js +1 -1
  202. package/lib/cjs/components/SlimAlert/Alert.js +1 -1
  203. package/lib/cjs/components/SlimAlert/AlertContent.js +1 -1
  204. package/lib/cjs/components/SlimAlert/AlertFooter.js +1 -1
  205. package/lib/cjs/components/SlimAlert/index.js +1 -1
  206. package/lib/cjs/components/SlimAlert/styles.js +1 -1
  207. package/lib/cjs/components/SlimNavigationBar/NavigationBar.js +1 -1
  208. package/lib/cjs/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  209. package/lib/cjs/components/SlimNavigationBar/index.js +1 -1
  210. package/lib/cjs/components/SlimNavigationBar/styles.js +1 -1
  211. package/lib/cjs/components/SlimSheets/AnimatedSheets.js +1 -1
  212. package/lib/cjs/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  213. package/lib/cjs/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  214. package/lib/cjs/components/SlimSheets/DragAnimatedSheets.js +1 -1
  215. package/lib/cjs/components/SlimSheets/index.js +1 -1
  216. package/lib/cjs/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  217. package/lib/cjs/components/SlimTabs/SlimTab.js +1 -1
  218. package/lib/cjs/components/SlimTabs/SlimTabItem.js +1 -1
  219. package/lib/cjs/components/SlimTabs/SlimTabItemLabel.js +1 -1
  220. package/lib/cjs/components/SlimTabs/SlimTabItemValue.js +1 -1
  221. package/lib/cjs/components/SlimTabs/SlimTabList.js +1 -1
  222. package/lib/cjs/components/SlimTabs/index.js +1 -1
  223. package/lib/cjs/components/SlimTabs/styles.js +1 -1
  224. package/lib/cjs/components/SnackBar/SnackBar.js +1 -1
  225. package/lib/cjs/components/SnackBar/index.js +1 -1
  226. package/lib/cjs/components/SnackBar/styles.js +1 -1
  227. package/lib/cjs/components/Stepper/Stepper.js +2 -2
  228. package/lib/cjs/components/Stepper/Stepper.js.map +1 -1
  229. package/lib/cjs/components/Stepper/index.js +1 -1
  230. package/lib/cjs/components/Stepper/styles.js +2 -2
  231. package/lib/cjs/components/Stepper/styles.js.map +1 -1
  232. package/lib/cjs/components/Switch/Switch.js +1 -1
  233. package/lib/cjs/components/Switch/index.js +1 -1
  234. package/lib/cjs/components/Tab/Tabs.js +1 -1
  235. package/lib/cjs/components/Tab/index.js +1 -1
  236. package/lib/cjs/components/Tab/styles.js +1 -1
  237. package/lib/cjs/components/TabBar/TabBar.js +1 -1
  238. package/lib/cjs/components/TabBar/index.js +1 -1
  239. package/lib/cjs/components/TabBar/styles.js +1 -1
  240. package/lib/cjs/components/Tag/Tag.js +1 -1
  241. package/lib/cjs/components/Tag/index.js +1 -1
  242. package/lib/cjs/components/Text/Text.js +1 -1
  243. package/lib/cjs/components/Text/Viewable.js +1 -1
  244. package/lib/cjs/components/Text/hooks/cloneContainer.js +1 -1
  245. package/lib/cjs/components/Text/hooks/index.js +1 -1
  246. package/lib/cjs/components/Text/hooks/loadFontFromFile.js +2 -2
  247. package/lib/cjs/components/Text/hooks/loadFontFromFile.js.map +1 -1
  248. package/lib/cjs/components/Text/index.js +1 -1
  249. package/lib/cjs/components/Text/styles.js +1 -1
  250. package/lib/cjs/components/TextField/TextField.js +1 -1
  251. package/lib/cjs/components/TextField/index.js +1 -1
  252. package/lib/cjs/components/TextField/styles.js +1 -1
  253. package/lib/cjs/components/TextView/TextView.js +7 -4
  254. package/lib/cjs/components/TextView/TextView.js.map +1 -1
  255. package/lib/cjs/components/TextView/index.js +1 -1
  256. package/lib/cjs/components/TextView/styles.js +1 -1
  257. package/lib/cjs/components/Toast/Toast.js +1 -1
  258. package/lib/cjs/components/Toast/api.js +1 -1
  259. package/lib/cjs/components/Toast/index.js +1 -1
  260. package/lib/cjs/components/Toast/styles.js +1 -1
  261. package/lib/cjs/components/Uploader/Uploader.js +3 -3
  262. package/lib/cjs/components/Uploader/Uploader.js.map +1 -1
  263. package/lib/cjs/components/Uploader/index.js +2 -2
  264. package/lib/cjs/components/Uploader/interface/index.js +2 -2
  265. package/lib/cjs/components/Uploader/styles.js +2 -2
  266. package/lib/cjs/components/Uploader/utils.js +1 -1
  267. package/lib/cjs/index.js +5 -4
  268. package/lib/cjs/index.js.map +1 -1
  269. package/lib/cjs/pvCount/pvData.js +3 -2
  270. package/lib/cjs/pvCount/pvData.js.map +1 -1
  271. package/lib/esm/_chunks/C0MWVrjO.js.map +1 -1
  272. package/lib/esm/_chunks/{eYElHgNc.js → CMrgSNfs.js} +2 -2
  273. package/lib/esm/_chunks/{eYElHgNc.js.map → CMrgSNfs.js.map} +1 -1
  274. package/lib/esm/_chunks/{C4jyXYEi.js → DMjPllnU.js} +4 -2
  275. package/lib/esm/_chunks/DMjPllnU.js.map +1 -0
  276. package/lib/esm/_chunks/{CAkwE9ZD.js → ZEfofTDH.js} +9 -59
  277. package/lib/{cjs/_chunks/C9tZEm0t.js.map → esm/_chunks/ZEfofTDH.js.map} +1 -1
  278. package/lib/esm/components/ActionSheets/ActionSheets.js +2 -2
  279. package/lib/esm/components/ActionSheets/ActionSheetsItem.js +1 -1
  280. package/lib/esm/components/ActionSheets/api.js +2 -2
  281. package/lib/esm/components/ActionSheets/hooks.js +2 -2
  282. package/lib/esm/components/ActionSheets/index.js +2 -2
  283. package/lib/esm/components/ActionablePopover/ActionablePopover.js +2 -2
  284. package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
  285. package/lib/esm/components/ActionablePopover/index.js +1 -1
  286. package/lib/esm/components/Alert/Alert.js +1 -1
  287. package/lib/esm/components/Alert/hooks/alert.js +1 -1
  288. package/lib/esm/components/Alert/index.js +1 -1
  289. package/lib/esm/components/Alert/styles.js +1 -1
  290. package/lib/esm/components/Avatar/Avatar.js +1 -1
  291. package/lib/esm/components/Avatar/index.js +1 -1
  292. package/lib/esm/components/Avatar/styles.js +6 -6
  293. package/lib/esm/components/Avatar/styles.js.map +1 -1
  294. package/lib/esm/components/AvatarGroup/AvatarGroup.js +2 -2
  295. package/lib/esm/components/AvatarGroup/index.js +1 -1
  296. package/lib/esm/components/Badge/Badge.js +1 -1
  297. package/lib/esm/components/Badge/index.js +1 -1
  298. package/lib/esm/components/Badge/styles.js +1 -1
  299. package/lib/esm/components/BottomBar/BottomBar.js +1 -1
  300. package/lib/esm/components/BottomBar/index.js +1 -1
  301. package/lib/esm/components/BottomBar/styles.js +1 -1
  302. package/lib/esm/components/BottomBar/styles.js.map +1 -1
  303. package/lib/esm/components/Button/Button.js +1 -1
  304. package/lib/esm/components/Button/Viewable.js +1 -1
  305. package/lib/esm/components/Button/index.js +1 -1
  306. package/lib/esm/components/Button/styleMap.js +1 -1
  307. package/lib/esm/components/Carousel/Carousel.js +1 -1
  308. package/lib/esm/components/Carousel/index.js +1 -1
  309. package/lib/esm/components/CheckBoxGroup/CheckBox.js +1 -1
  310. package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  311. package/lib/esm/components/CheckBoxGroup/index.js +1 -1
  312. package/lib/esm/components/CheckBoxGroup/styles.js +1 -1
  313. package/lib/esm/components/Collapse/Collapse.js +1 -1
  314. package/lib/esm/components/Collapse/Item/Item.js +1 -1
  315. package/lib/esm/components/Collapse/Item/styles.js +1 -1
  316. package/lib/esm/components/Collapse/index.js +1 -1
  317. package/lib/esm/components/ConfigProvider/ConfigProvider.js +1 -1
  318. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  319. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  320. package/lib/esm/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  321. package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  322. package/lib/esm/components/ConfigProvider/index.js +1 -1
  323. package/lib/esm/components/DatePicker/DatePicker.js +2 -2
  324. package/lib/esm/components/DatePicker/api.js +2 -2
  325. package/lib/esm/components/DatePicker/index.js +2 -2
  326. package/lib/esm/components/Divider/Divider.js +35 -14
  327. package/lib/esm/components/Divider/Divider.js.map +1 -1
  328. package/lib/esm/components/Divider/index.js +4 -4
  329. package/lib/esm/components/Divider/styles.js +37 -31
  330. package/lib/esm/components/Divider/styles.js.map +1 -1
  331. package/lib/esm/components/DropDown/DropDown.js +1 -1
  332. package/lib/esm/components/DropDown/DropDownItem.js +1 -1
  333. package/lib/esm/components/DropDown/index.js +1 -1
  334. package/lib/esm/components/Empty/Empty.js +1 -1
  335. package/lib/esm/components/Empty/index.js +1 -1
  336. package/lib/esm/components/Empty/styles.js +1 -1
  337. package/lib/esm/components/FAB/FAB.js +1 -1
  338. package/lib/esm/components/FAB/index.js +1 -1
  339. package/lib/esm/components/Form/Form.js +1 -1
  340. package/lib/esm/components/Form/FormItem.js +1 -1
  341. package/lib/esm/components/Form/index.js +1 -1
  342. package/lib/esm/components/Form/styles.js +1 -1
  343. package/lib/esm/components/Icon/Icon.72.js +1 -1
  344. package/lib/esm/components/Icon/Icon.72.js.map +1 -1
  345. package/lib/esm/components/Image/CircularProgress.js +1 -1
  346. package/lib/esm/components/Image/CircularProgress.js.map +1 -1
  347. package/lib/esm/components/Image/Image.js +15 -15
  348. package/lib/esm/components/Image/Image.js.map +1 -1
  349. package/lib/esm/components/Image/Image69.js +1 -1
  350. package/lib/esm/components/Image/VisibilitySensor.js +1 -1
  351. package/lib/esm/components/Image/hook/index.js +1 -1
  352. package/lib/esm/components/Image/index.js +2 -2
  353. package/lib/esm/components/Image/queryCacheBatcher.js +1 -1
  354. package/lib/esm/components/Image/utils.js +1 -1
  355. package/lib/esm/components/ImagePreview/ImagePreview.js +1 -1
  356. package/lib/esm/components/ImagePreview/api.js +1 -1
  357. package/lib/esm/components/ImagePreview/index.js +1 -1
  358. package/lib/esm/components/LanguageProvider/hooks/useLanguage.js +1 -1
  359. package/lib/esm/components/LanguageProvider/index.js +1 -1
  360. package/lib/esm/components/List/List.js +1 -1
  361. package/lib/esm/components/List/ListItem/ArrowRight.js +1 -1
  362. package/lib/esm/components/List/ListItem/ArrowRight.js.map +1 -1
  363. package/lib/esm/components/List/ListItem/ListItem.js +5 -3
  364. package/lib/esm/components/List/ListItem/ListItem.js.map +1 -1
  365. package/lib/esm/components/List/index.js +1 -1
  366. package/lib/esm/components/List/styles.js +1 -1
  367. package/lib/esm/components/MiniSnackBar/MiniSnackBar.js +1 -1
  368. package/lib/esm/components/MiniSnackBar/index.js +1 -1
  369. package/lib/esm/components/MiniSnackBar/styles.js +1 -1
  370. package/lib/esm/components/NavigationBar/NavigationBar.js +1 -1
  371. package/lib/esm/components/NavigationBar/index.js +1 -1
  372. package/lib/esm/components/NavigationBar/styles.js +1 -1
  373. package/lib/esm/components/NoticeBar/NoticeBar.js +3 -2
  374. package/lib/esm/components/NoticeBar/NoticeBar.js.map +1 -1
  375. package/lib/esm/components/NoticeBar/index.js +1 -1
  376. package/lib/esm/components/Picker/Picker.js +2 -2
  377. package/lib/esm/components/Picker/api.js +2 -2
  378. package/lib/esm/components/Picker/index.js +2 -2
  379. package/lib/esm/components/PickerView/PickerView.js +1 -1
  380. package/lib/esm/components/PickerView/Wheel.js +53 -6
  381. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  382. package/lib/esm/components/PickerView/index.js +1 -1
  383. package/lib/esm/components/Popover/Popover.js +1 -1
  384. package/lib/esm/components/Popover/index.js +1 -1
  385. package/lib/esm/components/Portal/core/PortalHost.js +3 -1
  386. package/lib/esm/components/Portal/core/PortalHost.js.map +1 -1
  387. package/lib/esm/components/Portal/core/PortalProvider.js +1 -1
  388. package/lib/esm/components/Portal/index.js +1 -1
  389. package/lib/esm/components/Progress/Progress.js +1 -1
  390. package/lib/esm/components/Progress/index.js +1 -1
  391. package/lib/esm/components/Progress/styles.js +1 -1
  392. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +1 -1
  393. package/lib/esm/components/ProgressIndicator/index.js +1 -1
  394. package/lib/esm/components/ProgressIndicator/styles.js +1 -1
  395. package/lib/esm/components/PullRefresh/PullRefresh.js +38 -23
  396. package/lib/esm/components/PullRefresh/PullRefresh.js.map +1 -1
  397. package/lib/esm/components/PullRefresh/Refresh.js +1 -1
  398. package/lib/esm/components/PullRefresh/Refresh.js.map +1 -1
  399. package/lib/esm/components/PullRefresh/component.js +2 -2
  400. package/lib/esm/components/PullRefresh/index.js +2 -2
  401. package/lib/esm/components/Radio/Radio.js +9 -2396
  402. package/lib/esm/components/Radio/Radio.js.map +1 -1
  403. package/lib/esm/components/Radio/RadioGroup.js +1 -1
  404. package/lib/esm/components/Radio/index.js +5 -4
  405. package/lib/esm/components/Radio/index.js.map +1 -1
  406. package/lib/esm/components/Radio/styles.js +6 -8
  407. package/lib/esm/components/Radio/styles.js.map +1 -1
  408. package/lib/esm/components/Rate/Rate.js +1 -1
  409. package/lib/esm/components/Rate/index.js +1 -1
  410. package/lib/esm/components/Result/Result.js +1 -1
  411. package/lib/esm/components/Result/index.js +1 -1
  412. package/lib/esm/components/Result/styles.js +1 -1
  413. package/lib/esm/components/Search/Search.js +1 -1
  414. package/lib/esm/components/Search/index.js +1 -1
  415. package/lib/esm/components/Search/styles.js +1 -1
  416. package/lib/esm/components/SegmentedControl/SegmentedControl.js +1 -1
  417. package/lib/esm/components/SegmentedControl/index.js +1 -1
  418. package/lib/esm/components/Sheets/AnimatedSheets.js +19 -14
  419. package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
  420. package/lib/esm/components/Sheets/Sheets.js +2 -2
  421. package/lib/esm/components/Sheets/api.js +2 -2
  422. package/lib/esm/components/Sheets/index.js +2 -2
  423. package/lib/esm/components/Sheets/interface/index.js +1 -1
  424. package/lib/esm/components/Skeleton/Item/SkeletonItem.js +2 -2
  425. package/lib/esm/components/Skeleton/Item/SkeletonItem.js.map +1 -1
  426. package/lib/esm/components/Skeleton/Item/SkeletonItem69.js +1 -1
  427. package/lib/esm/components/Skeleton/Skeleton.js +2 -2
  428. package/lib/esm/components/Skeleton/Skeleton69.js +1 -1
  429. package/lib/esm/components/Skeleton/index.js +2 -2
  430. package/lib/esm/components/Slider/Slider.js +77 -37
  431. package/lib/esm/components/Slider/Slider.js.map +1 -1
  432. package/lib/esm/components/Slider/index.js +1 -1
  433. package/lib/esm/components/SlimAlert/Alert.js +1 -1
  434. package/lib/esm/components/SlimAlert/AlertContent.js +1 -1
  435. package/lib/esm/components/SlimAlert/AlertFooter.js +1 -1
  436. package/lib/esm/components/SlimAlert/index.js +1 -1
  437. package/lib/esm/components/SlimAlert/styles.js +1 -1
  438. package/lib/esm/components/SlimNavigationBar/NavigationBar.js +1 -1
  439. package/lib/esm/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  440. package/lib/esm/components/SlimNavigationBar/index.js +1 -1
  441. package/lib/esm/components/SlimNavigationBar/styles.js +1 -1
  442. package/lib/esm/components/SlimSheets/AnimatedSheets.js +1 -1
  443. package/lib/esm/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  444. package/lib/esm/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  445. package/lib/esm/components/SlimSheets/DragAnimatedSheets.js +1 -1
  446. package/lib/esm/components/SlimSheets/index.js +1 -1
  447. package/lib/esm/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  448. package/lib/esm/components/SlimTabs/SlimTab.js +1 -1
  449. package/lib/esm/components/SlimTabs/SlimTabItem.js +1 -1
  450. package/lib/esm/components/SlimTabs/SlimTabItemLabel.js +1 -1
  451. package/lib/esm/components/SlimTabs/SlimTabItemValue.js +1 -1
  452. package/lib/esm/components/SlimTabs/SlimTabList.js +1 -1
  453. package/lib/esm/components/SlimTabs/index.js +1 -1
  454. package/lib/esm/components/SlimTabs/styles.js +1 -1
  455. package/lib/esm/components/SnackBar/SnackBar.js +1 -1
  456. package/lib/esm/components/SnackBar/index.js +1 -1
  457. package/lib/esm/components/SnackBar/styles.js +1 -1
  458. package/lib/esm/components/Stepper/Stepper.js +2 -2
  459. package/lib/esm/components/Stepper/Stepper.js.map +1 -1
  460. package/lib/esm/components/Stepper/index.js +1 -1
  461. package/lib/esm/components/Stepper/styles.js +2 -2
  462. package/lib/esm/components/Stepper/styles.js.map +1 -1
  463. package/lib/esm/components/Switch/Switch.js +1 -1
  464. package/lib/esm/components/Switch/index.js +1 -1
  465. package/lib/esm/components/Tab/Tabs.js +1 -1
  466. package/lib/esm/components/Tab/index.js +1 -1
  467. package/lib/esm/components/Tab/styles.js +1 -1
  468. package/lib/esm/components/TabBar/TabBar.js +1 -1
  469. package/lib/esm/components/TabBar/index.js +1 -1
  470. package/lib/esm/components/TabBar/styles.js +1 -1
  471. package/lib/esm/components/Tag/Tag.js +1 -1
  472. package/lib/esm/components/Tag/index.js +1 -1
  473. package/lib/esm/components/Text/Text.js +1 -1
  474. package/lib/esm/components/Text/Viewable.js +1 -1
  475. package/lib/esm/components/Text/hooks/cloneContainer.js +1 -1
  476. package/lib/esm/components/Text/hooks/index.js +1 -1
  477. package/lib/esm/components/Text/hooks/loadFontFromFile.js +2 -2
  478. package/lib/esm/components/Text/hooks/loadFontFromFile.js.map +1 -1
  479. package/lib/esm/components/Text/index.js +1 -1
  480. package/lib/esm/components/Text/styles.js +1 -1
  481. package/lib/esm/components/TextField/TextField.js +1 -1
  482. package/lib/esm/components/TextField/index.js +1 -1
  483. package/lib/esm/components/TextField/styles.js +1 -1
  484. package/lib/esm/components/TextView/TextView.js +7 -4
  485. package/lib/esm/components/TextView/TextView.js.map +1 -1
  486. package/lib/esm/components/TextView/index.js +1 -1
  487. package/lib/esm/components/TextView/styles.js +1 -1
  488. package/lib/esm/components/Toast/Toast.js +1 -1
  489. package/lib/esm/components/Toast/api.js +1 -1
  490. package/lib/esm/components/Toast/index.js +1 -1
  491. package/lib/esm/components/Toast/styles.js +1 -1
  492. package/lib/esm/components/Uploader/Uploader.js +3 -3
  493. package/lib/esm/components/Uploader/Uploader.js.map +1 -1
  494. package/lib/esm/components/Uploader/index.js +2 -2
  495. package/lib/esm/components/Uploader/interface/index.js +2 -2
  496. package/lib/esm/components/Uploader/styles.js +2 -2
  497. package/lib/esm/components/Uploader/utils.js +1 -1
  498. package/lib/esm/index.js +5 -4
  499. package/lib/esm/index.js.map +1 -1
  500. package/lib/esm/pvCount/pvData.js +3 -2
  501. package/lib/esm/pvCount/pvData.js.map +1 -1
  502. package/lib/src/components/BottomBar/styles.d.ts +1 -1
  503. package/lib/src/components/Divider/styles.d.ts +3 -2
  504. package/lib/src/components/List/ListItem/ListItem.d.ts +2 -0
  505. package/lib/src/components/Sheets/Sheets.d.ts +4 -3
  506. package/lib/src/components/Sheets/interface/index.d.ts +16 -0
  507. package/lib/src/components/Slider/Slider.d.ts +1 -1
  508. package/lib/src/components/Stepper/interface/index.d.ts +1 -0
  509. package/lib/src/components/Stepper/styles.d.ts +2 -2
  510. package/lib/types/components/BottomBar/styles.d.ts +1 -1
  511. package/lib/types/components/Divider/styles.d.ts +3 -2
  512. package/lib/types/components/List/ListItem/ListItem.d.ts +2 -0
  513. package/lib/types/components/Sheets/Sheets.d.ts +4 -3
  514. package/lib/types/components/Sheets/interface/index.d.ts +16 -0
  515. package/lib/types/components/Slider/Slider.d.ts +1 -1
  516. package/lib/types/components/Stepper/interface/index.d.ts +1 -0
  517. package/lib/types/components/Stepper/styles.d.ts +2 -2
  518. package/package.json +3 -2
  519. package/rollup.config.js +7 -1
  520. package/src/components/ActionSheets/doc/index.mdx +4 -4
  521. package/src/components/ActionablePopover/ActionablePopover.tsx +10 -1
  522. package/src/components/ActionablePopover/doc/index.mdx +5 -5
  523. package/src/components/Alert/demo/index.tsx +2 -2
  524. package/src/components/Alert/doc/index.mdx +7 -7
  525. package/src/components/Avatar/styles.ts +5 -4
  526. package/src/components/BottomBar/styles.ts +1 -1
  527. package/src/components/Button/doc/index.mdx +4 -4
  528. package/src/components/Carousel/doc/index.mdx +4 -4
  529. package/src/components/CheckBoxGroup/doc/index.mdx +3 -3
  530. package/src/components/Collapse/doc/index.mdx +3 -3
  531. package/src/components/DatePicker/demo/index.tsx +26 -0
  532. package/src/components/DatePicker/doc/index.mdx +21 -21
  533. package/src/components/Divider/Divider.tsx +29 -9
  534. package/src/components/Divider/demo/index.tsx +12 -6
  535. package/src/components/Divider/styles.ts +33 -30
  536. package/src/components/DropDown/doc/index.mdx +6 -6
  537. package/src/components/Empty/doc/index.mdx +3 -3
  538. package/src/components/FAB/doc/index.mdx +3 -3
  539. package/src/components/Form/doc/index.mdx +4 -4
  540. package/src/components/Icon/Icon.72.tsx +1 -1
  541. package/src/components/Icon/doc/index.mdx +3 -3
  542. package/src/components/Icon/test/index.test.tsx +2 -2
  543. package/src/components/Image/CircularProgress.tsx +1 -1
  544. package/src/components/Image/Image.tsx +14 -9
  545. package/src/components/Image/demo/index.tsx +4 -5
  546. package/src/components/Image/doc/index.mdx +4 -4
  547. package/src/components/List/ListItem/ArrowRight.tsx +1 -1
  548. package/src/components/List/ListItem/ListItem.tsx +12 -1
  549. package/src/components/List/demo/index.tsx +2 -0
  550. package/src/components/MiniSnackBar/doc/index.mdx +3 -3
  551. package/src/components/NoticeBar/NoticeBar.tsx +3 -1
  552. package/src/components/NoticeBar/doc/index.mdx +4 -4
  553. package/src/components/Picker/doc/index.mdx +5 -5
  554. package/src/components/PickerView/Wheel.tsx +50 -0
  555. package/src/components/PickerView/doc/index.mdx +3 -3
  556. package/src/components/Popover/doc/index.mdx +5 -5
  557. package/src/components/Portal/core/PortalHost.tsx +2 -1
  558. package/src/components/ProgressIndicator/doc/index.mdx +11 -11
  559. package/src/components/PullRefresh/PullRefresh.tsx +44 -13
  560. package/src/components/PullRefresh/Refresh.tsx +1 -1
  561. package/src/components/PullRefresh/doc/index.mdx +3 -3
  562. package/src/components/Radio/Radio.tsx +3 -3
  563. package/src/components/Radio/doc/index.mdx +3 -3
  564. package/src/components/Radio/styles.ts +3 -5
  565. package/src/components/Rate/doc/index.mdx +3 -3
  566. package/src/components/Search/doc/index.mdx +17 -17
  567. package/src/components/SegmentedControl/doc/index.mdx +3 -3
  568. package/src/components/Sheets/AnimatedSheets.tsx +126 -120
  569. package/src/components/Sheets/doc/index.mdx +35 -33
  570. package/src/components/Sheets/interface/index.ts +17 -0
  571. package/src/components/Skeleton/Item/SkeletonItem.tsx +1 -1
  572. package/src/components/Slider/Slider.tsx +103 -37
  573. package/src/components/Slider/demo/index.tsx +18 -0
  574. package/src/components/Slider/doc/index.mdx +6 -6
  575. package/src/components/Stepper/Stepper.tsx +1 -1
  576. package/src/components/Stepper/demo/index.tsx +1 -1
  577. package/src/components/Stepper/doc/index.mdx +4 -3
  578. package/src/components/Stepper/interface/index.ts +1 -0
  579. package/src/components/Stepper/styles.ts +2 -2
  580. package/src/components/Switch/doc/index.mdx +4 -4
  581. package/src/components/Tab/doc/index.mdx +3 -3
  582. package/src/components/TabBar/doc/index.mdx +3 -3
  583. package/src/components/Tag/doc/index.mdx +4 -4
  584. package/src/components/Text/doc/index.mdx +4 -4
  585. package/src/components/TextField/doc/index.mdx +32 -32
  586. package/src/components/TextView/TextView.tsx +6 -3
  587. package/src/components/TextView/demo/index.tsx +1 -1
  588. package/src/components/TextView/doc/index.mdx +5 -5
  589. package/src/components/Toast/doc/index.mdx +6 -6
  590. package/src/components/Uploader/doc/index.mdx +26 -26
  591. package/src/components/Video/doc/index.mdx +4 -4
  592. package/src/i18n/@types/resources.d.ts +18 -18
  593. package/src/i18n/index.json +31 -31
  594. package/lib/cjs/_chunks/DVfoVjpR.js.map +0 -1
  595. package/lib/esm/_chunks/C4jyXYEi.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
1
+ import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useRef, useState, useEffect } from 'react';
3
3
  import { ScrollView, View, TouchableNativeFeedback, Text } from 'react-native';
4
4
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
@@ -18,11 +18,33 @@ var Wheel = function Wheel(props) {
18
18
  _props$accessibility = props.accessibility,
19
19
  accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
20
20
  var scrollerRef = useRef();
21
- var themeColor = useThemeColor();
22
- var _useState = useState(),
21
+ var _useState = useState(false),
23
22
  _useState2 = _slicedToArray(_useState, 2),
24
- index = _useState2[0],
25
- setIndex = _useState2[1];
23
+ scrollEnded = _useState2[0],
24
+ setScrollEnded = _useState2[1];
25
+ var _useState3 = useState(0),
26
+ _useState4 = _slicedToArray(_useState3, 2),
27
+ scrollHeight = _useState4[0],
28
+ setScrollHeight = _useState4[1];
29
+ var _useState5 = useState(value),
30
+ _useState6 = _slicedToArray(_useState5, 2),
31
+ lastValue = _useState6[0],
32
+ setLastValue = _useState6[1];
33
+ var onScrollEndDrag = function onScrollEndDrag() {
34
+ setScrollEnded(true);
35
+ };
36
+ useEffect(function () {
37
+ if (value !== lastValue) {
38
+ var idx = getSelectIndex(column, value);
39
+ setIndex(idx);
40
+ }
41
+ }, [column, value]);
42
+ var themeColor = useThemeColor();
43
+ var _useState7 = useState(),
44
+ _useState8 = _slicedToArray(_useState7, 2),
45
+ index = _useState8[0],
46
+ setIndex = _useState8[1];
47
+ var timer = useRef();
26
48
  useEffect(function () {
27
49
  value && setIndex(getSelectIndex(column, value));
28
50
  }, [column, value]);
@@ -32,8 +54,25 @@ var Wheel = function Wheel(props) {
32
54
  scrollTo(index * itemHeight);
33
55
  if (newVal) {
34
56
  onSelect(newVal, props.index);
57
+ setLastValue(newVal);
35
58
  }
36
59
  }, [index, props.index]);
60
+ useEffect(function () {
61
+ if (scrollEnded) {
62
+ if (scrollHeight != null) {
63
+ timer.current = setTimeout(function () {
64
+ var selectIndex = Math.round(scrollHeight / itemHeight);
65
+ if (selectIndex >= 0 && selectIndex < column.length) {
66
+ setIndex(selectIndex);
67
+ }
68
+ }, 0);
69
+ }
70
+ setScrollEnded(false);
71
+ }
72
+ return function () {
73
+ timer.current && clearTimeout(timer.current);
74
+ };
75
+ }, [scrollEnded]);
37
76
  var scrollTo = function scrollTo(y) {
38
77
  setTimeout(function () {
39
78
  var _scrollerRef$current, _scrollerRef$current$;
@@ -53,11 +92,16 @@ var Wheel = function Wheel(props) {
53
92
  }), 0) : 0;
54
93
  };
55
94
  var onMomentumScrollEnd = function onMomentumScrollEnd(e) {
56
- var _e$persist;
95
+ var _e$persist, _column$selectIndex;
57
96
  (_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
58
97
  var contentOffset = e.nativeEvent.contentOffset;
59
98
  var selectIndex = Math.round(contentOffset.y / itemHeight);
60
99
  setIndex(selectIndex);
100
+ var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
101
+ setLastValue(newVal);
102
+ };
103
+ var onScroll = function onScroll(e) {
104
+ setScrollHeight(e.nativeEvent.contentOffset.y);
61
105
  };
62
106
  var handleClick = function handleClick(index2) {
63
107
  setIndex(index2);
@@ -100,6 +144,9 @@ var Wheel = function Wheel(props) {
100
144
  decelerationRate: "fast",
101
145
  snapToInterval: itemHeight,
102
146
  onMomentumScrollEnd: onMomentumScrollEnd,
147
+ onScrollEndDrag: onScrollEndDrag,
148
+ onScroll: onScroll,
149
+ scrollEventThrottle: 16,
103
150
  testID: "wheel".concat(props.index)
104
151
  }, accessibility), /* @__PURE__ */React.createElement(View, {
105
152
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n }\n }, [index, props.index]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","index","setIndex","useEffect","getSelectIndex","_column$index","newVal","scrollTo","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
1
+ {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n const [scrollEnded, setScrollEnded] = useState(false);\n\n const [scrollHeight, setScrollHeight] = useState(0);\n\n const [lastValue, setLastValue] = useState(value);\n\n const onScrollEndDrag = () => {\n setScrollEnded(true);\n };\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n setIndex(idx);\n }\n }, [column, value]);\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n const timer = useRef<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n setLastValue(newVal);\n }\n }, [index, props.index]);\n\n useEffect(() => {\n if (scrollEnded) {\n // @ts-ignore\n if (scrollHeight != null) {\n timer.current = setTimeout(() => {\n const selectIndex = Math.round(scrollHeight / itemHeight);\n if (selectIndex >= 0 && selectIndex < column.length) {\n setIndex(selectIndex);\n }\n }, 0);\n }\n setScrollEnded(false);\n }\n return () => {\n timer.current && clearTimeout(timer.current);\n };\n }, [scrollEnded]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n };\n\n const onScroll = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n setScrollHeight(e.nativeEvent.contentOffset.y);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onScrollEndDrag}\n onScroll={onScroll}\n scrollEventThrottle={16}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","_useState","useState","_useState2","_slicedToArray","scrollEnded","setScrollEnded","_useState3","_useState4","scrollHeight","setScrollHeight","_useState5","_useState6","lastValue","setLastValue","onScrollEndDrag","useEffect","idx","getSelectIndex","setIndex","themeColor","useThemeColor","_useState7","_useState8","index","timer","_column$index","newVal","scrollTo","current","setTimeout","selectIndex","Math","round","length","clearTimeout","y","_scrollerRef$current","_scrollerRef$current$","call","animated","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","onScroll","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","scrollEventThrottle","testID","concat"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import PickerView from './PickerView.js';
2
2
  export { i as PickerViewType } from '../../_chunks/DcCfwG0m.js';
3
- import '../../_chunks/CAkwE9ZD.js';
3
+ import '../../_chunks/ZEfofTDH.js';
4
4
  import 'react';
5
5
  import 'react-native';
6
6
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
@@ -1,4 +1,4 @@
1
- import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
1
+ import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useMemo, useState, useRef, useEffect, isValidElement } from 'react';
3
3
  import { Animated, Dimensions, TouchableWithoutFeedback, View, Text, Image } from 'react-native';
4
4
  import { ModalWrapper } from './component.js';
@@ -1,6 +1,6 @@
1
1
  import Popover from './Popover.js';
2
2
  export { i as PopoverType } from '../../_chunks/Da9cW8JG.js';
3
- import '../../_chunks/CAkwE9ZD.js';
3
+ import '../../_chunks/ZEfofTDH.js';
4
4
  import 'react';
5
5
  import 'react-native';
6
6
  import './component.js';
@@ -17,7 +17,9 @@ var PortalHostComponent = function PortalHostComponent(_ref) {
17
17
  };
18
18
  }, []);
19
19
  return /* @__PURE__ */React.createElement(React.Fragment, null, state.map(function (item, index) {
20
- return item.node;
20
+ return /* @__PURE__ */React.createElement(React.Fragment, {
21
+ key: "protal-key-".concat(item.name)
22
+ }, item.node);
21
23
  }));
22
24
  };
23
25
  var PortalHost = /*#__PURE__*/memo(PortalHostComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return item.node;\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","node","PortalHost","memo","displayName"],"mappings":";;;;;;AAKA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,eAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,UAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,SAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;IAC1B,OAAOD,IAAK,CAAAE,IAAA,CAAA;AACd,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaC,UAAA,gBAAaC,KAAKlB,mBAAmB,EAAA;AAClDiB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
1
+ {"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { View } from \"react-native\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return <React.Fragment key={`protal-key-${item.name}`}>{item.node}</React.Fragment>;\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","key","concat","node","PortalHost","memo","displayName"],"mappings":";;;;;;AAMA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,eAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,UAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,SAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;IACnB,sBAAAL,KAAA,CAAAC,aAAA,CAACD,KAAM,CAAAE,QAAA,EAAN;AAAeI,MAAAA,GAAA,EAAAC,aAAAA,CAAAA,MAAA,CAAmBH,IAAK,CAAAZ,IAAI,CAAA;AAAK,KAAA,EAAAY,IAAA,CAAKI,IAAK,CAAA,CAAA;AACpE,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaC,UAAA,gBAAaC,KAAKpB,mBAAmB,EAAA;AAClDmB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { g as _createClass, _ as _slicedToArray, a as _objectSpread2, h as _classCallCheck, e as _typeof } from '../../../_chunks/CAkwE9ZD.js';
1
+ import { g as _createClass, _ as _slicedToArray, a as _objectSpread2, h as _classCallCheck, e as _typeof } from '../../../_chunks/ZEfofTDH.js';
2
2
  import React, { memo, useReducer, useEffect } from 'react';
3
3
  import { PortalHost } from './PortalHost.js';
4
4
  import { PortalDispatchContext, PortalStateContext } from './PortalContext.js';
@@ -9,7 +9,7 @@ import '../../pvCount/useUnmountedProcess.js';
9
9
  import '@xhs/reds-apm/src/index.native';
10
10
  import '../../pvCount/pvData.js';
11
11
  import './core/hooks/usePortalState.js';
12
- import '../../_chunks/CAkwE9ZD.js';
12
+ import '../../_chunks/ZEfofTDH.js';
13
13
 
14
14
 
15
15
 
@@ -1,4 +1,4 @@
1
- import { a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
1
+ import { a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React from 'react';
3
3
  import { Animated, StyleSheet, View, Text } from 'react-native';
4
4
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
@@ -1,6 +1,6 @@
1
1
  import Progress from './Progress.js';
2
2
  export { i as ProgressType } from '../../_chunks/CDjjInz6.js';
3
- import '../../_chunks/CAkwE9ZD.js';
3
+ import '../../_chunks/ZEfofTDH.js';
4
4
  import 'react';
5
5
  import 'react-native';
6
6
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
@@ -3,7 +3,7 @@ import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
3
3
  import 'react';
4
4
  import '@xhs/reds-apm/src/index.native';
5
5
  import { useThemeColor, useThemeTypography } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
6
- import '../../_chunks/CAkwE9ZD.js';
6
+ import '../../_chunks/ZEfofTDH.js';
7
7
  import '@xhsreds/reds-token-next';
8
8
  import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
9
9
 
@@ -1,4 +1,4 @@
1
- import { a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
1
+ import { a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useMemo, useRef, useEffect } from 'react';
3
3
  import { Animated, Easing, Text, Platform, View } from 'react-native';
4
4
  import { P as ProgressIndicatorDefaultProps } from '../../_chunks/B_AP2PTq.js';
@@ -1,6 +1,6 @@
1
1
  import ProgressIndicator from './ProgressIndicator.js';
2
2
  export { i as ProgressIndicatorType } from '../../_chunks/B_AP2PTq.js';
3
- import '../../_chunks/CAkwE9ZD.js';
3
+ import '../../_chunks/ZEfofTDH.js';
4
4
  import 'react';
5
5
  import 'react-native';
6
6
  import './lottie/getLottieSource.js';
@@ -3,7 +3,7 @@ import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
3
3
  import 'react';
4
4
  import '@xhs/reds-apm/src/index.native';
5
5
  import { useThemeColor, useThemeTypography } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
6
- import '../../_chunks/CAkwE9ZD.js';
6
+ import '../../_chunks/ZEfofTDH.js';
7
7
  import '@xhsreds/reds-token-next';
8
8
  import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
9
9
 
@@ -1,4 +1,4 @@
1
- import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
1
+ import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useState, useRef, useEffect, useMemo } from 'react';
3
3
  import { StyleSheet, Animated, Platform, PanResponder, RefreshControl, View, Easing } from 'react-native';
4
4
  import { P as PullState, a as PullRefreshDefaultProps } from '../../_chunks/gC9g4Fr_.js';
@@ -34,7 +34,7 @@ import '../LanguageProvider/hooks/LanguageContext.js';
34
34
  import '../LanguageProvider/hooks/useLanguage.js';
35
35
  import '../../i18n/index.js';
36
36
  import './Refresh.js';
37
- import 'react-native-svg';
37
+ import '@xhs/reds-components/libs/svg';
38
38
 
39
39
  var CustomRefreshControl = DefaultRefreshControl;
40
40
  function PullRefresh(props) {
@@ -139,13 +139,21 @@ function PullRefresh(props) {
139
139
  });
140
140
  } else if (panValue > 0) {
141
141
  updatePullState(PullState.FINISH);
142
+ setMoveHeight(0);
143
+ setMovePercent(0);
142
144
  animatedTo(0, function () {
143
145
  setIsPulling(false);
144
146
  updatePullState(PullState.INIT);
147
+ pan.setValue(0);
148
+ pan.flattenOffset();
145
149
  });
146
150
  } else {
147
151
  updatePullState(PullState.INIT);
148
152
  setIsPulling(false);
153
+ setMoveHeight(0);
154
+ setMovePercent(0);
155
+ pan.setValue(0);
156
+ pan.flattenOffset();
149
157
  }
150
158
  };
151
159
  var updatePullState = function updatePullState(state) {
@@ -203,7 +211,16 @@ function PullRefresh(props) {
203
211
  if (props.initRefresh && !hasInitRefreshed) {
204
212
  return false;
205
213
  }
206
- return isPulling ? false : scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);
214
+ if (isRefreshing || pullState === PullState.LOADING || pullState === PullState.HOLDING) {
215
+ return false;
216
+ }
217
+ if (isPulling) {
218
+ return false;
219
+ }
220
+ if (gestureState.vy < 0) {
221
+ return false;
222
+ }
223
+ return scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);
207
224
  };
208
225
  var panResponder = useMemo(function () {
209
226
  if (Platform.OS !== "ios" && props.nativeAndroidPullRefresh) {
@@ -220,12 +237,17 @@ function PullRefresh(props) {
220
237
  });
221
238
  }
222
239
  return PanResponder.create({
223
- onStartShouldSetPanResponder: canMove,
224
- onStartShouldSetPanResponderCapture: canMove,
240
+ onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {
241
+ return false;
242
+ },
243
+ onStartShouldSetPanResponderCapture: function onStartShouldSetPanResponderCapture() {
244
+ return false;
245
+ },
225
246
  onMoveShouldSetPanResponder: canMove,
226
247
  onMoveShouldSetPanResponderCapture: canMove,
227
248
  onPanResponderGrant: function onPanResponderGrant() {
228
249
  animation && animation.stop();
250
+ pan.flattenOffset();
229
251
  pan.setOffset(pan._value);
230
252
  updatePullState(PullState.PULLING);
231
253
  pullTimeout && clearTimeout(pullTimeout);
@@ -245,14 +267,17 @@ function PullRefresh(props) {
245
267
  },
246
268
  onPanResponderRelease: onRelease,
247
269
  onPanResponderTerminationRequest: function onPanResponderTerminationRequest() {
248
- return false;
270
+ if (isPulling || pullState === PullState.PULLING) {
271
+ return false;
272
+ }
273
+ return true;
249
274
  },
250
275
  onPanResponderTerminate: onRelease,
251
276
  onShouldBlockNativeResponder: function onShouldBlockNativeResponder() {
252
- return true;
277
+ return isPulling || pullState === PullState.PULLING;
253
278
  }
254
279
  });
255
- }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh]);
280
+ }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh, isRefreshing, pullState]);
256
281
  useEffect(function () {
257
282
  if (Platform.OS !== "ios" && props.nativeAndroidPullRefresh) return;
258
283
  if (pullState === PullState.PULLING && !props.initRefresh) {
@@ -271,24 +296,14 @@ function PullRefresh(props) {
271
296
  setPullTimeout(
272
297
  //@ts-ignore
273
298
  setTimeout(function () {
299
+ pan.flattenOffset();
300
+ setMoveHeight(0);
301
+ setMovePercent(0);
274
302
  animatedTo(0, function () {
275
- var _viewRef$current, _animatedViewRef$curr;
276
303
  setIsPulling(false);
277
304
  updatePullState(PullState.INIT);
278
- (_viewRef$current = viewRef.current) === null || _viewRef$current === void 0 || _viewRef$current.setNativeProps({
279
- style: {
280
- transform: [{
281
- translateY: 0
282
- }]
283
- }
284
- });
285
- (_animatedViewRef$curr = animatedViewRef.current) === null || _animatedViewRef$curr === void 0 || _animatedViewRef$curr.setNativeProps({
286
- style: {
287
- transform: [{
288
- translateY: 0
289
- }]
290
- }
291
- });
305
+ pan.setValue(0);
306
+ pan.flattenOffset();
292
307
  });
293
308
  updatePullState(PullState.FINISH);
294
309
  }, (_props$msHoldingTime2 = props === null || props === void 0 ? void 0 : props.msHoldingTime) !== null && _props$msHoldingTime2 !== void 0 ? _props$msHoldingTime2 : 1e3));
@@ -1 +1 @@
1
- {"version":3,"file":"PullRefresh.js","sources":["../../../../src/components/PullRefresh/PullRefresh.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport {\n View,\n StyleSheet,\n Animated,\n PanResponder,\n Easing,\n LayoutChangeEvent,\n Platform,\n RefreshControl as RNRefreshControl,\n} from \"react-native\";\nimport { RedsPullRefresh, PullRefreshDefaultProps, PullState } from \"./interface/index\";\nimport RefreshControl from \"./component\";\n// alias to avoid confusion when reading diff\nconst CustomRefreshControl = RefreshControl;\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nexport default function PullRefresh(props: RedsPullRefresh) {\n useMounted(\"PullRefresh\");\n // RefreshControl组件高度\n const [pullAnimHeight, setPullAnimHeight] = useState(0);\n\n // 触发刷新的最小下拉距离\n const [minPullDistance, setMinPullDistance] = useState(0);\n\n // 手势\n const [pan] = useState(new Animated.Value(0));\n\n // 滚动距离\n const [scrollY, setScrollY] = useState<number>(0);\n\n // 是否在下拉中\n const [isPulling, setIsPulling] = useState<boolean>(false);\n\n // 是否在刷新中\n const [isRefreshing, setIsRefreshing] = useState<boolean>(false);\n\n // 内部刷新状态(用于默认启用,特别是 Android 或未提供回调时)\n const [internalRefreshing, setInternalRefreshing] = useState<boolean>(false);\n // Android 自动结束计时器\n const androidAutoEndRef = useRef<any>();\n\n // 组合动画\n const [animation, setAnimation] = useState<Animated.CompositeAnimation>();\n\n // 拉取状态\n const [pullState, setPullState] = useState<PullState>(PullState.INIT);\n\n // 移动高度\n const [moveHeight, setMoveHeight] = useState<number>(0);\n\n // 移动百分比\n const [movePercent, setMovePercent] = useState<number>(0);\n\n // 下拉时间间隔\n const [pullTimeout, setPullTimeout] = useState();\n\n // 下拉图标\n const refreshControlRef = useRef();\n\n // view ref\n const viewRef = useRef<View>();\n\n // 动画ref\n const animatedViewRef = useRef<View>();\n\n // 下拉组件的初始top值\n const [top, setTop] = useState<number>(-1000);\n\n // 标记是否已经执行过初始刷新\n const [hasInitRefreshed, setHasInitRefreshed] = useState<boolean>(false);\n\n // 执行初始刷新的方法\n const performInitRefresh = () => {\n if ((pullAnimHeight > 0 && !hasInitRefreshed && props.initRefresh) || props.refresh) {\n // 设置初始状态为拉取状态\n updatePullState(PullState.LOADING);\n\n // 执行下拉动画\n animatedTo(pullAnimHeight, () => {\n setHasInitRefreshed(true);\n setIsRefreshing(true);\n setIsPulling(true);\n // 触发刷新回调\n props.onRequest && props.onRequest();\n });\n }\n };\n\n // 监听 initRefresh 属性和相关依赖变化\n useEffect(() => {\n if ((props.initRefresh && pullAnimHeight > 0 && !hasInitRefreshed && !isRefreshing) || props.refresh) {\n performInitRefresh();\n }\n }, [props.initRefresh, pullAnimHeight, hasInitRefreshed, isRefreshing, props.refresh]);\n // 卸载清理:超时计时器\n useEffect(() => {\n return () => {\n // @ts-ignore\n if (pullTimeout) clearTimeout(pullTimeout);\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n };\n }, [pullTimeout]);\n\n // 释放手指\n const onRelease = () => {\n // 重置偏移位置\n pan.flattenOffset();\n // @ts-ignore\n const panValue = pan._value;\n // 拉动距离大于设定下拉高度\n if (panValue >= pullAnimHeight) {\n animatedTo(pullAnimHeight, () => {\n updatePullState(PullState.LOADING);\n // 如果有回调则调用,否则走默认内部流程(iOS 默认也支持)\n if (props.onRequest) {\n props.onRequest();\n } else {\n setInternalRefreshing(true);\n // 启动一个自动结束计时器,避免没有外部状态时卡住\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n });\n // 有拉动距离但是不够设定的下拉高度\n } else if (panValue > 0) {\n updatePullState(PullState.FINISH);\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n });\n // 否则就是初始状态\n } else {\n updatePullState(PullState.INIT);\n setIsPulling(false);\n }\n };\n\n // 更新refreshControl状态\n const updatePullState = (state: PullState) => {\n if (pullState === state) {\n return;\n }\n setPullState(state);\n renderRefreshControl(state);\n };\n\n // 下拉动画\n const animatedTo = (toValue: number, cb?: () => void) => {\n let animation: any;\n if (toValue === 0) {\n // 使用弹簧动画实现回弹效果\n animation = Animated.spring(pan, {\n toValue: toValue,\n // 回弹参数配置\n friction: 8, // 控制回弹幅度(值越小幅度越大)\n tension: 60, // 控制回弹速度(值越大速度越快)\n velocity: 1, // 初始速度,增强回弹效果\n useNativeDriver: false,\n });\n } else {\n // 针对初始加载优化动画参数\n const duration =\n !hasInitRefreshed && props.initRefresh\n ? 1000 // 初始加载时使用固定时长\n : Math.abs(((pan as any)._value - toValue) * 1.4);\n animation = Animated.timing(pan, {\n toValue: toValue,\n easing: Easing.bezier(0.1, 0.57, 0.1, 1),\n duration: duration,\n useNativeDriver: false,\n });\n }\n setAnimation(animation);\n animation.start(({ finished }: { finished: boolean }) => {\n if (finished) {\n cb && cb();\n setAnimation(undefined);\n }\n });\n };\n\n // 传递给RefreshControl组件参数用来判断状态\n const renderRefreshControl = (state?: PullState) => {\n const refreshControlProps = {\n pullAnimHeight,\n minPullDistance,\n pullState: state || pullState,\n moveHeight,\n movePercent,\n };\n if (refreshControlRef.current) {\n // @ts-ignore\n refreshControlRef.current.setRefreshControlParams(refreshControlProps);\n }\n };\n\n // 是否能移动手指 - 初始加载时禁用手势\n const canMove = (evt: any, gestureState: any) => {\n // 如果正在初始刷新,禁用手势\n if (props.initRefresh && !hasInitRefreshed) {\n return false;\n }\n return isPulling ? false : scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);\n };\n\n // 手势对象\n const panResponder = useMemo(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) {\n // Android 原生下拉时不启用自定义手势\n return PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onMoveShouldSetPanResponder: () => false,\n onPanResponderTerminationRequest: () => true,\n });\n }\n return PanResponder.create({\n onStartShouldSetPanResponder: canMove,\n onStartShouldSetPanResponderCapture: canMove,\n onMoveShouldSetPanResponder: canMove,\n onMoveShouldSetPanResponderCapture: canMove,\n onPanResponderGrant: () => {\n animation && animation.stop();\n // @ts-ignore\n pan.setOffset(pan._value);\n updatePullState(PullState.PULLING);\n pullTimeout && clearTimeout(pullTimeout);\n },\n onPanResponderMove: (evt, gestureState) => {\n setIsPulling(true);\n // @ts-ignore\n const offset = pan._offset;\n let value = Math.max(offset + gestureState.dy, 0);\n if (value > 0) {\n // 弹簧劲度系数\n pan.setValue(gestureState.dy / 2.2);\n } else {\n pan.setValue(-offset);\n }\n setMoveHeight(value);\n setMovePercent((value / pullAnimHeight) * 100);\n renderRefreshControl();\n },\n onPanResponderRelease: onRelease,\n onPanResponderTerminationRequest() {\n return false;\n },\n onPanResponderTerminate: onRelease,\n onShouldBlockNativeResponder() {\n return true;\n },\n });\n }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh]);\n\n // 根据外层传递参数变化进行更新执行(自定义实现启用时)\n useEffect(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) return;\n if (pullState === PullState.PULLING && !props.initRefresh) {\n return;\n }\n // 加载中\n const effectiveRefreshing = !!props.isRefreshing || internalRefreshing;\n if (effectiveRefreshing === true && !isRefreshing) {\n animatedTo(pullAnimHeight);\n setIsRefreshing(true);\n updatePullState(PullState.LOADING);\n }\n\n // 外层加载结束 需要重置位置\n if (effectiveRefreshing === false && isRefreshing) {\n setIsPulling(false);\n updatePullState(PullState.HOLDING);\n setPullTimeout(\n //@ts-ignore\n setTimeout(() => {\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n // Reset manually-set transforms to sync with animated value (fixes iOS first swipe not responding)\n viewRef.current?.setNativeProps({\n style: { transform: [{ translateY: 0 }] },\n });\n animatedViewRef.current?.setNativeProps({\n style: { transform: [{ translateY: 0 }] },\n });\n });\n updatePullState(PullState.FINISH);\n }, props?.msHoldingTime ?? 1000),\n );\n\n setIsRefreshing(false);\n }\n }, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState, internalRefreshing]);\n\n // RefreshControl组件初始化计算\n const onLayout = (evt: LayoutChangeEvent) => {\n const height = props.pullAnimHeight || evt.nativeEvent.layout.height;\n setPullAnimHeight(height);\n setMinPullDistance(props.minPullDistance || height);\n setTop(-height);\n };\n\n // 重写ScrollView的onScroll事件(自定义:用于手势门控/头部位置; Android 原生:注入 RefreshControl)\n const scrollContent = useMemo(() => {\n return React.Children.map(props.children, (child: any) => {\n const originalOnScroll = child.props.onScroll;\n const hasNativeDriver =\n originalOnScroll &&\n (originalOnScroll[\"__isNative\"] === true || (originalOnScroll as any)?._animation?.useNativeDriver === true);\n\n const injectedProps =\n Platform.OS === \"android\" && props.nativeAndroidPullRefresh\n ? {\n refreshControl: (\n <RNRefreshControl\n {...(props.androidRefreshProps || {})}\n colors={((props.androidRefreshProps as any)?.colors ?? props.androidColors) as any}\n refreshing={!!props.isRefreshing || internalRefreshing}\n onRefresh={() => {\n if (!!props.isRefreshing || internalRefreshing) return;\n try {\n props.onRequest && props.onRequest();\n } finally {\n // 默认启用:无回调或未受控时自动结束\n if (!props.onRequest) {\n setInternalRefreshing(true);\n }\n // 无论是否有回调,都启动一个兜底自动结束(避免卡住)\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n }}\n />\n ),\n onScroll: (evt: any) => {\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n }\n : hasNativeDriver\n ? {\n // When the child uses native-driver Animated.event, keep it intact to avoid crashes\n onScroll: originalOnScroll,\n onMomentumScrollEnd: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n child.props.onMomentumScrollEnd && child.props.onMomentumScrollEnd(evt);\n },\n onScrollEndDrag: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // Keep header position in loading state\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n child.props.onScrollEndDrag && child.props.onScrollEndDrag(evt);\n },\n }\n : {\n onScroll: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // iOS下拉刷新Loading时,ScrollView向上滑动的时候,refreshControl部分同样上滑\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n };\n\n return React.cloneElement(child, {\n scrollEventThrottle: 1,\n ...injectedProps,\n });\n });\n }, [\n pullState,\n props.children,\n pullAnimHeight,\n internalRefreshing,\n props.isRefreshing,\n props.nativeAndroidPullRefresh,\n ]);\n\n // 增加Animated.View控制ScrollView展示位置(自定义)\n const content = useMemo(() => {\n if (Platform.OS === \"android\" && props.nativeAndroidPullRefresh) {\n // Android 直接返回内容(由 RN RefreshControl 控制)\n return <>{scrollContent}</>;\n }\n return (\n <Animated.View\n // @ts-ignore\n ref={viewRef}\n style={{\n transform: [{ translateY: pan }],\n flex: 1,\n }}\n >\n {scrollContent}\n </Animated.View>\n );\n }, [pan, scrollContent, props.nativeAndroidPullRefresh]);\n\n return (\n <View\n style={[styles.container, props.style]}\n {...(Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? panResponder.panHandlers : {})}\n testID=\"refresh-container\"\n >\n {Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? (\n <Animated.View\n // @ts-ignore\n ref={animatedViewRef}\n onLayout={onLayout}\n style={[\n styles.freshItem,\n {\n top: top,\n height: props.pullAnimHeight,\n transform: [{ translateY: pan }],\n },\n props.controlStyle,\n ]}\n >\n {/* @ts-ignore */}\n <CustomRefreshControl ref={refreshControlRef} {...props} movePercent={movePercent} />\n </Animated.View>\n ) : null}\n {content}\n </View>\n );\n}\nPullRefresh.defaultProps = PullRefreshDefaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: \"hidden\",\n position: \"relative\",\n flex: 1,\n },\n freshItem: {\n position: \"absolute\",\n width: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1,\n },\n});\n"],"names":["CustomRefreshControl","RefreshControl","PullRefresh","props","useMounted","_useState","useState","_useState2","_slicedToArray","pullAnimHeight","setPullAnimHeight","_useState3","_useState4","minPullDistance","setMinPullDistance","_useState5","Animated","Value","_useState6","pan","_useState7","_useState8","scrollY","setScrollY","_useState9","_useState0","isPulling","setIsPulling","_useState1","_useState10","isRefreshing","setIsRefreshing","_useState11","_useState12","internalRefreshing","setInternalRefreshing","androidAutoEndRef","useRef","_useState13","_useState14","animation","setAnimation","_useState15","PullState","INIT","_useState16","pullState","setPullState","_useState17","_useState18","moveHeight","setMoveHeight","_useState19","_useState20","movePercent","setMovePercent","_useState21","_useState22","pullTimeout","setPullTimeout","refreshControlRef","viewRef","animatedViewRef","_useState23","_useState24","top","setTop","_useState25","_useState26","hasInitRefreshed","setHasInitRefreshed","performInitRefresh","initRefresh","refresh","updatePullState","LOADING","animatedTo","onRequest","useEffect","current","clearTimeout","onRelease","flattenOffset","panValue","_value","_props$msHoldingTime","setTimeout","msHoldingTime","FINISH","state","renderRefreshControl","toValue","cb","spring","friction","tension","velocity","useNativeDriver","duration","Math","abs","timing","easing","Easing","bezier","start","_ref","finished","refreshControlProps","setRefreshControlParams","canMove","evt","gestureState","vy","vx","panResponder","useMemo","Platform","OS","nativeAndroidPullRefresh","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","onPanResponderGrant","stop","setOffset","PULLING","onPanResponderMove","offset","_offset","value","max","dy","setValue","onPanResponderRelease","onPanResponderTerminate","onShouldBlockNativeResponder","effectiveRefreshing","_props$msHoldingTime2","HOLDING","_viewRef$current","_animatedViewRef$curr","setNativeProps","style","transform","translateY","onLayout","height","nativeEvent","layout","scrollContent","React","Children","map","children","child","_originalOnScroll$_an","_props$androidRefresh","_props$androidRefresh2","originalOnScroll","onScroll","hasNativeDriver","_animation","injectedProps","refreshControl","createElement","RNRefreshControl","_objectSpread","androidRefreshProps","colors","androidColors","refreshing","onRefresh","_props$msHoldingTime3","onMomentumScrollEnd","contentOffset","y","onScrollEndDrag","cloneElement","scrollEventThrottle","content","View","ref","flex","styles","container","panHandlers","testID","freshItem","controlStyle","defaultProps","PullRefreshDefaultProps","StyleSheet","overflow","position","width","justifyContent","alignItems","zIndex"],"mappings":"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"}
1
+ {"version":3,"file":"PullRefresh.js","sources":["../../../../src/components/PullRefresh/PullRefresh.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport {\n View,\n StyleSheet,\n Animated,\n PanResponder,\n Easing,\n LayoutChangeEvent,\n Platform,\n RefreshControl as RNRefreshControl,\n} from \"react-native\";\nimport { RedsPullRefresh, PullRefreshDefaultProps, PullState } from \"./interface/index\";\nimport RefreshControl from \"./component\";\n// alias to avoid confusion when reading diff\nconst CustomRefreshControl = RefreshControl;\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nexport default function PullRefresh(props: RedsPullRefresh) {\n useMounted(\"PullRefresh\");\n // RefreshControl组件高度\n const [pullAnimHeight, setPullAnimHeight] = useState(0);\n\n // 触发刷新的最小下拉距离\n const [minPullDistance, setMinPullDistance] = useState(0);\n\n // 手势\n const [pan] = useState(new Animated.Value(0));\n\n // 滚动距离\n const [scrollY, setScrollY] = useState<number>(0);\n\n // 是否在下拉中\n const [isPulling, setIsPulling] = useState<boolean>(false);\n\n // 是否在刷新中\n const [isRefreshing, setIsRefreshing] = useState<boolean>(false);\n\n // 内部刷新状态(用于默认启用,特别是 Android 或未提供回调时)\n const [internalRefreshing, setInternalRefreshing] = useState<boolean>(false);\n // Android 自动结束计时器\n const androidAutoEndRef = useRef<any>();\n\n // 组合动画\n const [animation, setAnimation] = useState<Animated.CompositeAnimation>();\n\n // 拉取状态\n const [pullState, setPullState] = useState<PullState>(PullState.INIT);\n\n // 移动高度\n const [moveHeight, setMoveHeight] = useState<number>(0);\n\n // 移动百分比\n const [movePercent, setMovePercent] = useState<number>(0);\n\n // 下拉时间间隔\n const [pullTimeout, setPullTimeout] = useState();\n\n // 下拉图标\n const refreshControlRef = useRef();\n\n // view ref\n const viewRef = useRef<View>();\n\n // 动画ref\n const animatedViewRef = useRef<View>();\n\n // 下拉组件的初始top值\n const [top, setTop] = useState<number>(-1000);\n\n // 标记是否已经执行过初始刷新\n const [hasInitRefreshed, setHasInitRefreshed] = useState<boolean>(false);\n\n // 执行初始刷新的方法\n const performInitRefresh = () => {\n if ((pullAnimHeight > 0 && !hasInitRefreshed && props.initRefresh) || props.refresh) {\n // 设置初始状态为拉取状态\n updatePullState(PullState.LOADING);\n\n // 执行下拉动画\n animatedTo(pullAnimHeight, () => {\n setHasInitRefreshed(true);\n setIsRefreshing(true);\n setIsPulling(true);\n // 触发刷新回调\n props.onRequest && props.onRequest();\n });\n }\n };\n\n // 监听 initRefresh 属性和相关依赖变化\n useEffect(() => {\n if ((props.initRefresh && pullAnimHeight > 0 && !hasInitRefreshed && !isRefreshing) || props.refresh) {\n performInitRefresh();\n }\n }, [props.initRefresh, pullAnimHeight, hasInitRefreshed, isRefreshing, props.refresh]);\n // 卸载清理:超时计时器\n useEffect(() => {\n return () => {\n // @ts-ignore\n if (pullTimeout) clearTimeout(pullTimeout);\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n };\n }, [pullTimeout]);\n\n // 释放手指\n const onRelease = () => {\n // 重置偏移位置\n pan.flattenOffset();\n // @ts-ignore\n const panValue = pan._value;\n // 拉动距离大于设定下拉高度\n if (panValue >= pullAnimHeight) {\n animatedTo(pullAnimHeight, () => {\n updatePullState(PullState.LOADING);\n // 如果有回调则调用,否则走默认内部流程(iOS 默认也支持)\n if (props.onRequest) {\n props.onRequest();\n } else {\n setInternalRefreshing(true);\n // 启动一个自动结束计时器,避免没有外部状态时卡住\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n });\n // 有拉动距离但是不够设定的下拉高度\n } else if (panValue > 0) {\n updatePullState(PullState.FINISH);\n setMoveHeight(0);\n setMovePercent(0);\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n pan.setValue(0);\n pan.flattenOffset();\n });\n // 否则就是初始状态\n } else {\n updatePullState(PullState.INIT);\n setIsPulling(false);\n setMoveHeight(0);\n setMovePercent(0);\n pan.setValue(0);\n pan.flattenOffset();\n }\n };\n\n // 更新refreshControl状态\n const updatePullState = (state: PullState) => {\n if (pullState === state) {\n return;\n }\n setPullState(state);\n renderRefreshControl(state);\n };\n\n // 下拉动画\n const animatedTo = (toValue: number, cb?: () => void) => {\n let animation: any;\n if (toValue === 0) {\n // 使用弹簧动画实现回弹效果\n animation = Animated.spring(pan, {\n toValue: toValue,\n // 回弹参数配置\n friction: 8, // 控制回弹幅度(值越小幅度越大)\n tension: 60, // 控制回弹速度(值越大速度越快)\n velocity: 1, // 初始速度,增强回弹效果\n useNativeDriver: false,\n });\n } else {\n // 针对初始加载优化动画参数\n const duration =\n !hasInitRefreshed && props.initRefresh\n ? 1000 // 初始加载时使用固定时长\n : Math.abs(((pan as any)._value - toValue) * 1.4);\n animation = Animated.timing(pan, {\n toValue: toValue,\n easing: Easing.bezier(0.1, 0.57, 0.1, 1),\n duration: duration,\n useNativeDriver: false,\n });\n }\n setAnimation(animation);\n animation.start(({ finished }: { finished: boolean }) => {\n if (finished) {\n cb && cb();\n setAnimation(undefined);\n }\n });\n };\n\n // 传递给RefreshControl组件参数用来判断状态\n const renderRefreshControl = (state?: PullState) => {\n const refreshControlProps = {\n pullAnimHeight,\n minPullDistance,\n pullState: state || pullState,\n moveHeight,\n movePercent,\n };\n if (refreshControlRef.current) {\n // @ts-ignore\n refreshControlRef.current.setRefreshControlParams(refreshControlProps);\n }\n };\n\n // 是否能移动手指 - 初始加载时禁用手势\n const canMove = (evt: any, gestureState: any) => {\n // 如果正在初始刷新,禁用手势\n if (props.initRefresh && !hasInitRefreshed) {\n return false;\n }\n // Block during refresh states\n if (isRefreshing || pullState === PullState.LOADING || pullState === PullState.HOLDING) {\n return false;\n }\n // Block if already pulling\n if (isPulling) {\n return false;\n }\n // Explicitly reject upward swipes\n if (gestureState.vy < 0) {\n return false;\n }\n return scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);\n };\n\n // 手势对象\n const panResponder = useMemo(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) {\n // Android 原生下拉时不启用自定义手势\n return PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onMoveShouldSetPanResponder: () => false,\n onPanResponderTerminationRequest: () => true,\n });\n }\n return PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onStartShouldSetPanResponderCapture: () => false,\n onMoveShouldSetPanResponder: canMove,\n onMoveShouldSetPanResponderCapture: canMove,\n onPanResponderGrant: () => {\n animation && animation.stop();\n pan.flattenOffset();\n // @ts-ignore\n pan.setOffset(pan._value);\n updatePullState(PullState.PULLING);\n pullTimeout && clearTimeout(pullTimeout);\n },\n onPanResponderMove: (evt, gestureState) => {\n setIsPulling(true);\n // @ts-ignore\n const offset = pan._offset;\n let value = Math.max(offset + gestureState.dy, 0);\n if (value > 0) {\n // 弹簧劲度系数\n pan.setValue(gestureState.dy / 2.2);\n } else {\n pan.setValue(-offset);\n }\n setMoveHeight(value);\n setMovePercent((value / pullAnimHeight) * 100);\n renderRefreshControl();\n },\n onPanResponderRelease: onRelease,\n onPanResponderTerminationRequest() {\n if (isPulling || pullState === PullState.PULLING) {\n return false;\n }\n return true;\n },\n onPanResponderTerminate: onRelease,\n onShouldBlockNativeResponder() {\n return isPulling || pullState === PullState.PULLING;\n },\n });\n }, [\n isPulling,\n scrollY,\n props.initRefresh,\n hasInitRefreshed,\n pullAnimHeight,\n props.nativeAndroidPullRefresh,\n isRefreshing,\n pullState,\n ]);\n\n // 根据外层传递参数变化进行更新执行(自定义实现启用时)\n useEffect(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) return;\n if (pullState === PullState.PULLING && !props.initRefresh) {\n return;\n }\n // 加载中\n const effectiveRefreshing = !!props.isRefreshing || internalRefreshing;\n if (effectiveRefreshing === true && !isRefreshing) {\n animatedTo(pullAnimHeight);\n setIsRefreshing(true);\n updatePullState(PullState.LOADING);\n }\n\n // 外层加载结束 需要重置位置\n if (effectiveRefreshing === false && isRefreshing) {\n setIsPulling(false);\n updatePullState(PullState.HOLDING);\n setPullTimeout(\n //@ts-ignore\n setTimeout(() => {\n pan.flattenOffset();\n setMoveHeight(0);\n setMovePercent(0);\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n pan.setValue(0);\n pan.flattenOffset();\n });\n updatePullState(PullState.FINISH);\n }, props?.msHoldingTime ?? 1000),\n );\n\n setIsRefreshing(false);\n }\n }, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState, internalRefreshing]);\n\n // RefreshControl组件初始化计算\n const onLayout = (evt: LayoutChangeEvent) => {\n const height = props.pullAnimHeight || evt.nativeEvent.layout.height;\n setPullAnimHeight(height);\n setMinPullDistance(props.minPullDistance || height);\n setTop(-height);\n };\n\n // 重写ScrollView的onScroll事件(自定义:用于手势门控/头部位置; Android 原生:注入 RefreshControl)\n const scrollContent = useMemo(() => {\n return React.Children.map(props.children, (child: any) => {\n const originalOnScroll = child.props.onScroll;\n const hasNativeDriver =\n originalOnScroll &&\n (originalOnScroll[\"__isNative\"] === true || (originalOnScroll as any)?._animation?.useNativeDriver === true);\n\n const injectedProps =\n Platform.OS === \"android\" && props.nativeAndroidPullRefresh\n ? {\n refreshControl: (\n <RNRefreshControl\n {...(props.androidRefreshProps || {})}\n colors={((props.androidRefreshProps as any)?.colors ?? props.androidColors) as any}\n refreshing={!!props.isRefreshing || internalRefreshing}\n onRefresh={() => {\n if (!!props.isRefreshing || internalRefreshing) return;\n try {\n props.onRequest && props.onRequest();\n } finally {\n // 默认启用:无回调或未受控时自动结束\n if (!props.onRequest) {\n setInternalRefreshing(true);\n }\n // 无论是否有回调,都启动一个兜底自动结束(避免卡住)\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n }}\n />\n ),\n onScroll: (evt: any) => {\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n }\n : hasNativeDriver\n ? {\n // When the child uses native-driver Animated.event, keep it intact to avoid crashes\n onScroll: originalOnScroll,\n onMomentumScrollEnd: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n child.props.onMomentumScrollEnd && child.props.onMomentumScrollEnd(evt);\n },\n onScrollEndDrag: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // Keep header position in loading state\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n child.props.onScrollEndDrag && child.props.onScrollEndDrag(evt);\n },\n }\n : {\n onScroll: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // iOS下拉刷新Loading时,ScrollView向上滑动的时候,refreshControl部分同样上滑\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n };\n\n return React.cloneElement(child, {\n scrollEventThrottle: 1,\n ...injectedProps,\n });\n });\n }, [\n pullState,\n props.children,\n pullAnimHeight,\n internalRefreshing,\n props.isRefreshing,\n props.nativeAndroidPullRefresh,\n ]);\n\n // 增加Animated.View控制ScrollView展示位置(自定义)\n const content = useMemo(() => {\n if (Platform.OS === \"android\" && props.nativeAndroidPullRefresh) {\n // Android 直接返回内容(由 RN RefreshControl 控制)\n return <>{scrollContent}</>;\n }\n return (\n <Animated.View\n // @ts-ignore\n ref={viewRef}\n style={{\n transform: [{ translateY: pan }],\n flex: 1,\n }}\n >\n {scrollContent}\n </Animated.View>\n );\n }, [pan, scrollContent, props.nativeAndroidPullRefresh]);\n\n return (\n <View\n style={[styles.container, props.style]}\n {...(Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? panResponder.panHandlers : {})}\n testID=\"refresh-container\"\n >\n {Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? (\n <Animated.View\n // @ts-ignore\n ref={animatedViewRef}\n onLayout={onLayout}\n style={[\n styles.freshItem,\n {\n top: top,\n height: props.pullAnimHeight,\n transform: [{ translateY: pan }],\n },\n props.controlStyle,\n ]}\n >\n {/* @ts-ignore */}\n <CustomRefreshControl ref={refreshControlRef} {...props} movePercent={movePercent} />\n </Animated.View>\n ) : null}\n {content}\n </View>\n );\n}\nPullRefresh.defaultProps = PullRefreshDefaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: \"hidden\",\n position: \"relative\",\n flex: 1,\n },\n freshItem: {\n position: \"absolute\",\n width: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1,\n },\n});\n"],"names":["CustomRefreshControl","RefreshControl","PullRefresh","props","useMounted","_useState","useState","_useState2","_slicedToArray","pullAnimHeight","setPullAnimHeight","_useState3","_useState4","minPullDistance","setMinPullDistance","_useState5","Animated","Value","_useState6","pan","_useState7","_useState8","scrollY","setScrollY","_useState9","_useState0","isPulling","setIsPulling","_useState1","_useState10","isRefreshing","setIsRefreshing","_useState11","_useState12","internalRefreshing","setInternalRefreshing","androidAutoEndRef","useRef","_useState13","_useState14","animation","setAnimation","_useState15","PullState","INIT","_useState16","pullState","setPullState","_useState17","_useState18","moveHeight","setMoveHeight","_useState19","_useState20","movePercent","setMovePercent","_useState21","_useState22","pullTimeout","setPullTimeout","refreshControlRef","viewRef","animatedViewRef","_useState23","_useState24","top","setTop","_useState25","_useState26","hasInitRefreshed","setHasInitRefreshed","performInitRefresh","initRefresh","refresh","updatePullState","LOADING","animatedTo","onRequest","useEffect","current","clearTimeout","onRelease","flattenOffset","panValue","_value","_props$msHoldingTime","setTimeout","msHoldingTime","FINISH","setValue","state","renderRefreshControl","toValue","cb","spring","friction","tension","velocity","useNativeDriver","duration","Math","abs","timing","easing","Easing","bezier","start","_ref","finished","refreshControlProps","setRefreshControlParams","canMove","evt","gestureState","HOLDING","vy","vx","panResponder","useMemo","Platform","OS","nativeAndroidPullRefresh","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","onPanResponderGrant","stop","setOffset","PULLING","onPanResponderMove","offset","_offset","value","max","dy","onPanResponderRelease","onPanResponderTerminate","onShouldBlockNativeResponder","effectiveRefreshing","_props$msHoldingTime2","onLayout","height","nativeEvent","layout","scrollContent","React","Children","map","children","child","_originalOnScroll$_an","_props$androidRefresh","_props$androidRefresh2","originalOnScroll","onScroll","hasNativeDriver","_animation","injectedProps","refreshControl","createElement","RNRefreshControl","_objectSpread","androidRefreshProps","colors","androidColors","refreshing","onRefresh","_props$msHoldingTime3","onMomentumScrollEnd","contentOffset","y","onScrollEndDrag","setNativeProps","style","transform","translateY","cloneElement","scrollEventThrottle","content","View","ref","flex","styles","container","panHandlers","testID","freshItem","controlStyle","defaultProps","PullRefreshDefaultProps","StyleSheet","overflow","position","width","justifyContent","alignItems","zIndex"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo, useRef, useEffect } from 'react';
2
2
  import { Animated, Easing } from 'react-native';
3
- import Svg, { Path } from 'react-native-svg';
3
+ import Svg, { Path } from '@xhs/reds-components/libs/svg';
4
4
 
5
5
  var AnimatedPath = Animated.createAnimatedComponent(Path);
6
6
  var CircleAnimation = function CircleAnimation(_ref) {