@xhsreds/reds-rn-next 0.9.1-feat-swiper202511031535 → 0.9.1-feat-0.10.0-rc202511031536

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 (536) hide show
  1. package/coverage/.tmp/coverage-10.json +1 -1
  2. package/coverage/.tmp/coverage-11.json +1 -1
  3. package/coverage/.tmp/coverage-12.json +1 -1
  4. package/coverage/.tmp/coverage-13.json +1 -1
  5. package/coverage/.tmp/coverage-14.json +1 -1
  6. package/coverage/.tmp/coverage-15.json +1 -1
  7. package/coverage/.tmp/coverage-17.json +1 -1
  8. package/coverage/.tmp/coverage-2.json +1 -1
  9. package/coverage/.tmp/coverage-21.json +1 -1
  10. package/coverage/.tmp/coverage-22.json +1 -1
  11. package/coverage/.tmp/coverage-23.json +1 -1
  12. package/coverage/.tmp/coverage-24.json +1 -1
  13. package/coverage/.tmp/coverage-25.json +1 -1
  14. package/coverage/.tmp/coverage-26.json +1 -1
  15. package/coverage/.tmp/coverage-27.json +1 -1
  16. package/coverage/.tmp/coverage-3.json +1 -1
  17. package/coverage/.tmp/coverage-30.json +1 -1
  18. package/coverage/.tmp/coverage-31.json +1 -1
  19. package/coverage/.tmp/coverage-32.json +1 -1
  20. package/coverage/.tmp/coverage-33.json +1 -1
  21. package/coverage/.tmp/coverage-34.json +1 -1
  22. package/coverage/.tmp/coverage-35.json +1 -1
  23. package/coverage/.tmp/coverage-36.json +1 -1
  24. package/coverage/.tmp/coverage-37.json +1 -1
  25. package/coverage/.tmp/coverage-38.json +1 -1
  26. package/coverage/.tmp/coverage-39.json +1 -1
  27. package/coverage/.tmp/coverage-4.json +1 -1
  28. package/coverage/.tmp/coverage-40.json +1 -1
  29. package/coverage/.tmp/coverage-41.json +1 -1
  30. package/coverage/.tmp/coverage-42.json +1 -1
  31. package/coverage/.tmp/coverage-5.json +1 -1
  32. package/coverage/.tmp/coverage-6.json +1 -1
  33. package/coverage/.tmp/coverage-7.json +1 -1
  34. package/coverage/.tmp/coverage-8.json +1 -1
  35. package/coverage/.tmp/coverage-9.json +1 -1
  36. package/lib/cjs/_chunks/{hnLc3Qom.js → C9tZEm0t.js} +10 -8
  37. package/lib/cjs/_chunks/{hnLc3Qom.js.map → C9tZEm0t.js.map} +1 -1
  38. package/lib/cjs/_chunks/CwkpVXDI.js.map +1 -1
  39. package/lib/cjs/_chunks/{Dn-t7SiM.js → DNr-ZG4Y.js} +2 -2
  40. package/lib/cjs/_chunks/{Dn-t7SiM.js.map → DNr-ZG4Y.js.map} +1 -1
  41. package/lib/cjs/_chunks/{CIr5S84J.js → DUU5wf2f.js} +4 -2
  42. package/lib/cjs/_chunks/DUU5wf2f.js.map +1 -0
  43. package/lib/cjs/components/ActionSheets/ActionSheets.js +1 -1
  44. package/lib/cjs/components/ActionSheets/ActionSheetsItem.js +1 -1
  45. package/lib/cjs/components/ActionSheets/api.js +1 -1
  46. package/lib/cjs/components/ActionSheets/hooks.js +1 -1
  47. package/lib/cjs/components/ActionSheets/index.js +1 -1
  48. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +1 -1
  49. package/lib/cjs/components/ActionablePopover/index.js +1 -1
  50. package/lib/cjs/components/Alert/Alert.js +1 -1
  51. package/lib/cjs/components/Alert/hooks/alert.js +1 -1
  52. package/lib/cjs/components/Alert/index.js +1 -1
  53. package/lib/cjs/components/Alert/styles.js +1 -1
  54. package/lib/cjs/components/Avatar/Avatar.js +1 -1
  55. package/lib/cjs/components/Avatar/index.js +1 -1
  56. package/lib/cjs/components/Avatar/styles.js +1 -1
  57. package/lib/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
  58. package/lib/cjs/components/AvatarGroup/index.js +1 -1
  59. package/lib/cjs/components/Badge/Badge.js +1 -1
  60. package/lib/cjs/components/Badge/index.js +1 -1
  61. package/lib/cjs/components/Badge/styles.js +1 -1
  62. package/lib/cjs/components/BottomBar/BottomBar.js +1 -1
  63. package/lib/cjs/components/BottomBar/index.js +1 -1
  64. package/lib/cjs/components/Button/Button.js +1 -1
  65. package/lib/cjs/components/Button/Viewable.js +1 -1
  66. package/lib/cjs/components/Button/index.js +1 -1
  67. package/lib/cjs/components/Button/styleMap.js +1 -1
  68. package/lib/cjs/components/Carousel/Carousel.js +10 -3
  69. package/lib/cjs/components/Carousel/Carousel.js.map +1 -1
  70. package/lib/cjs/components/Carousel/index.js +1 -1
  71. package/lib/cjs/components/CheckBoxGroup/CheckBox.js +1 -1
  72. package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  73. package/lib/cjs/components/CheckBoxGroup/index.js +1 -1
  74. package/lib/cjs/components/CheckBoxGroup/styles.js +1 -1
  75. package/lib/cjs/components/Collapse/Collapse.js +1 -1
  76. package/lib/cjs/components/Collapse/Item/Item.js +1 -1
  77. package/lib/cjs/components/Collapse/Item/styles.js +1 -1
  78. package/lib/cjs/components/Collapse/index.js +1 -1
  79. package/lib/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  80. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  81. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  82. package/lib/cjs/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  83. package/lib/cjs/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  84. package/lib/cjs/components/ConfigProvider/index.js +1 -1
  85. package/lib/cjs/components/DatePicker/DatePicker.js +1 -1
  86. package/lib/cjs/components/DatePicker/api.js +1 -1
  87. package/lib/cjs/components/DatePicker/index.js +1 -1
  88. package/lib/cjs/components/Divider/Divider.js +1 -1
  89. package/lib/cjs/components/Divider/index.js +1 -1
  90. package/lib/cjs/components/Divider/styles.js +1 -1
  91. package/lib/cjs/components/DropDown/DropDown.js +1 -1
  92. package/lib/cjs/components/DropDown/DropDownItem.js +1 -1
  93. package/lib/cjs/components/DropDown/index.js +1 -1
  94. package/lib/cjs/components/Empty/Empty.js +1 -1
  95. package/lib/cjs/components/Empty/index.js +1 -1
  96. package/lib/cjs/components/Empty/styles.js +1 -1
  97. package/lib/cjs/components/FAB/FAB.js +1 -1
  98. package/lib/cjs/components/FAB/index.js +1 -1
  99. package/lib/cjs/components/Form/Form.js +1 -1
  100. package/lib/cjs/components/Form/FormItem.js +1 -1
  101. package/lib/cjs/components/Form/index.js +1 -1
  102. package/lib/cjs/components/Form/styles.js +1 -1
  103. package/lib/cjs/components/Image/Image.js +30 -93
  104. package/lib/cjs/components/Image/Image.js.map +1 -1
  105. package/lib/cjs/components/Image/Image69.js +1 -1
  106. package/lib/cjs/components/Image/VisibilitySensor.js +2 -2
  107. package/lib/cjs/components/Image/VisibilitySensor.js.map +1 -1
  108. package/lib/cjs/components/Image/hook/index.js +1 -1
  109. package/lib/cjs/components/Image/index.js +5 -4
  110. package/lib/cjs/components/Image/index.js.map +1 -1
  111. package/lib/cjs/components/Image/queryCacheBatcher.js +96 -0
  112. package/lib/cjs/components/Image/queryCacheBatcher.js.map +1 -0
  113. package/lib/cjs/components/Image/utils.js +1 -1
  114. package/lib/cjs/components/ImagePreview/ImagePreview.js +1 -1
  115. package/lib/cjs/components/ImagePreview/api.js +1 -1
  116. package/lib/cjs/components/ImagePreview/index.js +1 -1
  117. package/lib/cjs/components/LanguageProvider/hooks/useLanguage.js +1 -1
  118. package/lib/cjs/components/LanguageProvider/index.js +1 -1
  119. package/lib/cjs/components/List/List.js +1 -1
  120. package/lib/cjs/components/List/ListItem/ListItem.js +1 -1
  121. package/lib/cjs/components/List/index.js +1 -1
  122. package/lib/cjs/components/List/styles.js +1 -1
  123. package/lib/cjs/components/MiniSnackBar/MiniSnackBar.js +1 -1
  124. package/lib/cjs/components/MiniSnackBar/index.js +1 -1
  125. package/lib/cjs/components/MiniSnackBar/styles.js +1 -1
  126. package/lib/cjs/components/NavigationBar/NavigationBar.js +1 -1
  127. package/lib/cjs/components/NavigationBar/index.js +1 -1
  128. package/lib/cjs/components/NavigationBar/styles.js +1 -1
  129. package/lib/cjs/components/NoticeBar/NoticeBar.js +1 -1
  130. package/lib/cjs/components/NoticeBar/index.js +1 -1
  131. package/lib/cjs/components/Picker/Picker.js +1 -1
  132. package/lib/cjs/components/Picker/api.js +1 -1
  133. package/lib/cjs/components/Picker/index.js +1 -1
  134. package/lib/cjs/components/PickerView/PickerView.js +1 -1
  135. package/lib/cjs/components/PickerView/Wheel.js +1 -1
  136. package/lib/cjs/components/PickerView/index.js +1 -1
  137. package/lib/cjs/components/Popover/Popover.js +5 -4
  138. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  139. package/lib/cjs/components/Popover/index.js +1 -1
  140. package/lib/cjs/components/Portal/core/PortalProvider.js +1 -1
  141. package/lib/cjs/components/Portal/index.js +1 -1
  142. package/lib/cjs/components/Progress/Progress.js +1 -1
  143. package/lib/cjs/components/Progress/index.js +1 -1
  144. package/lib/cjs/components/Progress/styles.js +1 -1
  145. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +1 -1
  146. package/lib/cjs/components/ProgressIndicator/index.js +1 -1
  147. package/lib/cjs/components/ProgressIndicator/styles.js +1 -1
  148. package/lib/cjs/components/PullRefresh/PullRefresh.js +105 -41
  149. package/lib/cjs/components/PullRefresh/PullRefresh.js.map +1 -1
  150. package/lib/cjs/components/PullRefresh/component.js +2 -2
  151. package/lib/cjs/components/PullRefresh/index.js +2 -2
  152. package/lib/cjs/components/PullRefresh/interface/index.js +1 -1
  153. package/lib/cjs/components/Radio/Radio.js +5 -10
  154. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  155. package/lib/cjs/components/Radio/RadioGroup.js +1 -1
  156. package/lib/cjs/components/Radio/index.js +5 -10
  157. package/lib/cjs/components/Radio/index.js.map +1 -1
  158. package/lib/cjs/components/Radio/styles.js +1 -1
  159. package/lib/cjs/components/Rate/Rate.js +1 -1
  160. package/lib/cjs/components/Rate/index.js +1 -1
  161. package/lib/cjs/components/Result/Result.js +1 -1
  162. package/lib/cjs/components/Result/index.js +1 -1
  163. package/lib/cjs/components/Result/styles.js +1 -1
  164. package/lib/cjs/components/Search/Search.js +1 -1
  165. package/lib/cjs/components/Search/index.js +1 -1
  166. package/lib/cjs/components/Search/styles.js +1 -1
  167. package/lib/cjs/components/SegmentedControl/SegmentedControl.js +1 -1
  168. package/lib/cjs/components/SegmentedControl/index.js +1 -1
  169. package/lib/cjs/components/Sheets/AnimatedSheets.js +1 -1
  170. package/lib/cjs/components/Sheets/Sheets.js +1 -1
  171. package/lib/cjs/components/Sheets/api.js +1 -1
  172. package/lib/cjs/components/Sheets/index.js +1 -1
  173. package/lib/cjs/components/Sheets/styles.js +2 -2
  174. package/lib/cjs/components/Sheets/styles.js.map +1 -1
  175. package/lib/cjs/components/Skeleton/Item/SkeletonItem.js +1 -1
  176. package/lib/cjs/components/Skeleton/Item/SkeletonItem69.js +1 -1
  177. package/lib/cjs/components/Skeleton/Skeleton.js +1 -1
  178. package/lib/cjs/components/Skeleton/Skeleton69.js +1 -1
  179. package/lib/cjs/components/Skeleton/index.js +1 -1
  180. package/lib/cjs/components/Slider/Slider.js +1 -1
  181. package/lib/cjs/components/Slider/index.js +1 -1
  182. package/lib/cjs/components/SlimAlert/Alert.js +1 -1
  183. package/lib/cjs/components/SlimAlert/AlertContent.js +1 -1
  184. package/lib/cjs/components/SlimAlert/AlertFooter.js +1 -1
  185. package/lib/cjs/components/SlimAlert/index.js +1 -1
  186. package/lib/cjs/components/SlimAlert/styles.js +1 -1
  187. package/lib/cjs/components/SlimNavigationBar/NavigationBar.js +1 -1
  188. package/lib/cjs/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  189. package/lib/cjs/components/SlimNavigationBar/index.js +1 -1
  190. package/lib/cjs/components/SlimNavigationBar/styles.js +1 -1
  191. package/lib/cjs/components/SlimSheets/AnimatedSheets.js +1 -1
  192. package/lib/cjs/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  193. package/lib/cjs/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  194. package/lib/cjs/components/SlimSheets/DragAnimatedSheets.js +1 -1
  195. package/lib/cjs/components/SlimSheets/index.js +1 -1
  196. package/lib/cjs/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  197. package/lib/cjs/components/SlimTabs/SlimTab.js +1 -1
  198. package/lib/cjs/components/SlimTabs/SlimTabItem.js +1 -1
  199. package/lib/cjs/components/SlimTabs/SlimTabItemLabel.js +1 -1
  200. package/lib/cjs/components/SlimTabs/SlimTabItemValue.js +1 -1
  201. package/lib/cjs/components/SlimTabs/SlimTabList.js +1 -1
  202. package/lib/cjs/components/SlimTabs/index.js +1 -1
  203. package/lib/cjs/components/SlimTabs/styles.js +1 -1
  204. package/lib/cjs/components/SnackBar/SnackBar.js +1 -1
  205. package/lib/cjs/components/SnackBar/index.js +1 -1
  206. package/lib/cjs/components/SnackBar/styles.js +1 -1
  207. package/lib/cjs/components/Stepper/Stepper.js +1 -1
  208. package/lib/cjs/components/Stepper/index.js +1 -1
  209. package/lib/cjs/components/Switch/Switch.js +1 -1
  210. package/lib/cjs/components/Switch/index.js +1 -1
  211. package/lib/cjs/components/Tab/Tabs.js +1 -1
  212. package/lib/cjs/components/Tab/index.js +1 -1
  213. package/lib/cjs/components/Tab/styles.js +1 -1
  214. package/lib/cjs/components/TabBar/TabBar.js +1 -1
  215. package/lib/cjs/components/TabBar/index.js +1 -1
  216. package/lib/cjs/components/TabBar/styles.js +1 -1
  217. package/lib/cjs/components/Tag/Tag.js +1 -1
  218. package/lib/cjs/components/Tag/index.js +1 -1
  219. package/lib/cjs/components/Text/Text.js +1 -1
  220. package/lib/cjs/components/Text/Viewable.js +1 -1
  221. package/lib/cjs/components/Text/hooks/cloneContainer.js +1 -1
  222. package/lib/cjs/components/Text/hooks/index.js +1 -1
  223. package/lib/cjs/components/Text/hooks/loadFontFromFile.js +2 -2
  224. package/lib/cjs/components/Text/hooks/loadFontFromFile.js.map +1 -1
  225. package/lib/cjs/components/Text/index.js +1 -1
  226. package/lib/cjs/components/Text/styles.js +1 -1
  227. package/lib/cjs/components/TextField/TextField.js +1 -1
  228. package/lib/cjs/components/TextField/index.js +1 -1
  229. package/lib/cjs/components/TextField/styles.js +1 -1
  230. package/lib/cjs/components/TextView/TextView.js +1 -1
  231. package/lib/cjs/components/TextView/index.js +1 -1
  232. package/lib/cjs/components/TextView/styles.js +1 -1
  233. package/lib/cjs/components/Toast/Toast.js +1 -1
  234. package/lib/cjs/components/Toast/api.js +1 -1
  235. package/lib/cjs/components/Toast/index.js +1 -1
  236. package/lib/cjs/components/Toast/styles.js +1 -1
  237. package/lib/cjs/components/Uploader/Uploader.js +3 -3
  238. package/lib/cjs/components/Uploader/Uploader.js.map +1 -1
  239. package/lib/cjs/components/Uploader/index.js +2 -2
  240. package/lib/cjs/components/Uploader/interface/index.js +2 -2
  241. package/lib/cjs/components/Uploader/styles.js +2 -2
  242. package/lib/cjs/components/Uploader/utils.js +1 -1
  243. package/lib/cjs/index.js +5 -11
  244. package/lib/cjs/index.js.map +1 -1
  245. package/lib/cjs/pvCount/pvData.js +0 -1
  246. package/lib/cjs/pvCount/pvData.js.map +1 -1
  247. package/lib/esm/_chunks/{CgvIDP0E.js → CAkwE9ZD.js} +10 -8
  248. package/lib/esm/_chunks/{CgvIDP0E.js.map → CAkwE9ZD.js.map} +1 -1
  249. package/lib/esm/_chunks/Da9cW8JG.js.map +1 -1
  250. package/lib/esm/_chunks/{DRgGcbc8.js → eYElHgNc.js} +2 -2
  251. package/lib/esm/_chunks/{DRgGcbc8.js.map → eYElHgNc.js.map} +1 -1
  252. package/lib/esm/_chunks/{CZtagXcj.js → gC9g4Fr_.js} +4 -2
  253. package/lib/esm/_chunks/gC9g4Fr_.js.map +1 -0
  254. package/lib/esm/components/ActionSheets/ActionSheets.js +1 -1
  255. package/lib/esm/components/ActionSheets/ActionSheetsItem.js +1 -1
  256. package/lib/esm/components/ActionSheets/api.js +1 -1
  257. package/lib/esm/components/ActionSheets/hooks.js +1 -1
  258. package/lib/esm/components/ActionSheets/index.js +1 -1
  259. package/lib/esm/components/ActionablePopover/ActionablePopover.js +1 -1
  260. package/lib/esm/components/ActionablePopover/index.js +1 -1
  261. package/lib/esm/components/Alert/Alert.js +1 -1
  262. package/lib/esm/components/Alert/hooks/alert.js +1 -1
  263. package/lib/esm/components/Alert/index.js +1 -1
  264. package/lib/esm/components/Alert/styles.js +1 -1
  265. package/lib/esm/components/Avatar/Avatar.js +1 -1
  266. package/lib/esm/components/Avatar/index.js +1 -1
  267. package/lib/esm/components/Avatar/styles.js +1 -1
  268. package/lib/esm/components/AvatarGroup/AvatarGroup.js +1 -1
  269. package/lib/esm/components/AvatarGroup/index.js +1 -1
  270. package/lib/esm/components/Badge/Badge.js +1 -1
  271. package/lib/esm/components/Badge/index.js +1 -1
  272. package/lib/esm/components/Badge/styles.js +1 -1
  273. package/lib/esm/components/BottomBar/BottomBar.js +1 -1
  274. package/lib/esm/components/BottomBar/index.js +1 -1
  275. package/lib/esm/components/Button/Button.js +1 -1
  276. package/lib/esm/components/Button/Viewable.js +1 -1
  277. package/lib/esm/components/Button/index.js +1 -1
  278. package/lib/esm/components/Button/styleMap.js +1 -1
  279. package/lib/esm/components/Carousel/Carousel.js +10 -3
  280. package/lib/esm/components/Carousel/Carousel.js.map +1 -1
  281. package/lib/esm/components/Carousel/index.js +1 -1
  282. package/lib/esm/components/CheckBoxGroup/CheckBox.js +1 -1
  283. package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  284. package/lib/esm/components/CheckBoxGroup/index.js +1 -1
  285. package/lib/esm/components/CheckBoxGroup/styles.js +1 -1
  286. package/lib/esm/components/Collapse/Collapse.js +1 -1
  287. package/lib/esm/components/Collapse/Item/Item.js +1 -1
  288. package/lib/esm/components/Collapse/Item/styles.js +1 -1
  289. package/lib/esm/components/Collapse/index.js +1 -1
  290. package/lib/esm/components/ConfigProvider/ConfigProvider.js +1 -1
  291. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  292. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  293. package/lib/esm/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  294. package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  295. package/lib/esm/components/ConfigProvider/index.js +1 -1
  296. package/lib/esm/components/DatePicker/DatePicker.js +1 -1
  297. package/lib/esm/components/DatePicker/api.js +1 -1
  298. package/lib/esm/components/DatePicker/index.js +1 -1
  299. package/lib/esm/components/Divider/Divider.js +1 -1
  300. package/lib/esm/components/Divider/index.js +1 -1
  301. package/lib/esm/components/Divider/styles.js +1 -1
  302. package/lib/esm/components/DropDown/DropDown.js +1 -1
  303. package/lib/esm/components/DropDown/DropDownItem.js +1 -1
  304. package/lib/esm/components/DropDown/index.js +1 -1
  305. package/lib/esm/components/Empty/Empty.js +1 -1
  306. package/lib/esm/components/Empty/index.js +1 -1
  307. package/lib/esm/components/Empty/styles.js +1 -1
  308. package/lib/esm/components/FAB/FAB.js +1 -1
  309. package/lib/esm/components/FAB/index.js +1 -1
  310. package/lib/esm/components/Form/Form.js +1 -1
  311. package/lib/esm/components/Form/FormItem.js +1 -1
  312. package/lib/esm/components/Form/index.js +1 -1
  313. package/lib/esm/components/Form/styles.js +1 -1
  314. package/lib/esm/components/Image/Image.js +32 -95
  315. package/lib/esm/components/Image/Image.js.map +1 -1
  316. package/lib/esm/components/Image/Image69.js +1 -1
  317. package/lib/esm/components/Image/VisibilitySensor.js +2 -2
  318. package/lib/esm/components/Image/VisibilitySensor.js.map +1 -1
  319. package/lib/esm/components/Image/hook/index.js +1 -1
  320. package/lib/esm/components/Image/index.js +5 -4
  321. package/lib/esm/components/Image/index.js.map +1 -1
  322. package/lib/esm/components/Image/queryCacheBatcher.js +92 -0
  323. package/lib/esm/components/Image/queryCacheBatcher.js.map +1 -0
  324. package/lib/esm/components/Image/utils.js +1 -1
  325. package/lib/esm/components/ImagePreview/ImagePreview.js +1 -1
  326. package/lib/esm/components/ImagePreview/api.js +1 -1
  327. package/lib/esm/components/ImagePreview/index.js +1 -1
  328. package/lib/esm/components/LanguageProvider/hooks/useLanguage.js +1 -1
  329. package/lib/esm/components/LanguageProvider/index.js +1 -1
  330. package/lib/esm/components/List/List.js +1 -1
  331. package/lib/esm/components/List/ListItem/ListItem.js +1 -1
  332. package/lib/esm/components/List/index.js +1 -1
  333. package/lib/esm/components/List/styles.js +1 -1
  334. package/lib/esm/components/MiniSnackBar/MiniSnackBar.js +1 -1
  335. package/lib/esm/components/MiniSnackBar/index.js +1 -1
  336. package/lib/esm/components/MiniSnackBar/styles.js +1 -1
  337. package/lib/esm/components/NavigationBar/NavigationBar.js +1 -1
  338. package/lib/esm/components/NavigationBar/index.js +1 -1
  339. package/lib/esm/components/NavigationBar/styles.js +1 -1
  340. package/lib/esm/components/NoticeBar/NoticeBar.js +1 -1
  341. package/lib/esm/components/NoticeBar/index.js +1 -1
  342. package/lib/esm/components/Picker/Picker.js +1 -1
  343. package/lib/esm/components/Picker/api.js +1 -1
  344. package/lib/esm/components/Picker/index.js +1 -1
  345. package/lib/esm/components/PickerView/PickerView.js +1 -1
  346. package/lib/esm/components/PickerView/Wheel.js +1 -1
  347. package/lib/esm/components/PickerView/index.js +1 -1
  348. package/lib/esm/components/Popover/Popover.js +5 -4
  349. package/lib/esm/components/Popover/Popover.js.map +1 -1
  350. package/lib/esm/components/Popover/index.js +1 -1
  351. package/lib/esm/components/Portal/core/PortalProvider.js +1 -1
  352. package/lib/esm/components/Portal/index.js +1 -1
  353. package/lib/esm/components/Progress/Progress.js +1 -1
  354. package/lib/esm/components/Progress/index.js +1 -1
  355. package/lib/esm/components/Progress/styles.js +1 -1
  356. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +1 -1
  357. package/lib/esm/components/ProgressIndicator/index.js +1 -1
  358. package/lib/esm/components/ProgressIndicator/styles.js +1 -1
  359. package/lib/esm/components/PullRefresh/PullRefresh.js +106 -42
  360. package/lib/esm/components/PullRefresh/PullRefresh.js.map +1 -1
  361. package/lib/esm/components/PullRefresh/component.js +2 -2
  362. package/lib/esm/components/PullRefresh/index.js +2 -2
  363. package/lib/esm/components/PullRefresh/interface/index.js +1 -1
  364. package/lib/esm/components/Radio/Radio.js +5 -10
  365. package/lib/esm/components/Radio/Radio.js.map +1 -1
  366. package/lib/esm/components/Radio/RadioGroup.js +1 -1
  367. package/lib/esm/components/Radio/index.js +5 -10
  368. package/lib/esm/components/Radio/index.js.map +1 -1
  369. package/lib/esm/components/Radio/styles.js +1 -1
  370. package/lib/esm/components/Rate/Rate.js +1 -1
  371. package/lib/esm/components/Rate/index.js +1 -1
  372. package/lib/esm/components/Result/Result.js +1 -1
  373. package/lib/esm/components/Result/index.js +1 -1
  374. package/lib/esm/components/Result/styles.js +1 -1
  375. package/lib/esm/components/Search/Search.js +1 -1
  376. package/lib/esm/components/Search/index.js +1 -1
  377. package/lib/esm/components/Search/styles.js +1 -1
  378. package/lib/esm/components/SegmentedControl/SegmentedControl.js +1 -1
  379. package/lib/esm/components/SegmentedControl/index.js +1 -1
  380. package/lib/esm/components/Sheets/AnimatedSheets.js +1 -1
  381. package/lib/esm/components/Sheets/Sheets.js +1 -1
  382. package/lib/esm/components/Sheets/api.js +1 -1
  383. package/lib/esm/components/Sheets/index.js +1 -1
  384. package/lib/esm/components/Sheets/styles.js +2 -2
  385. package/lib/esm/components/Sheets/styles.js.map +1 -1
  386. package/lib/esm/components/Skeleton/Item/SkeletonItem.js +1 -1
  387. package/lib/esm/components/Skeleton/Item/SkeletonItem69.js +1 -1
  388. package/lib/esm/components/Skeleton/Skeleton.js +1 -1
  389. package/lib/esm/components/Skeleton/Skeleton69.js +1 -1
  390. package/lib/esm/components/Skeleton/index.js +1 -1
  391. package/lib/esm/components/Slider/Slider.js +1 -1
  392. package/lib/esm/components/Slider/index.js +1 -1
  393. package/lib/esm/components/SlimAlert/Alert.js +1 -1
  394. package/lib/esm/components/SlimAlert/AlertContent.js +1 -1
  395. package/lib/esm/components/SlimAlert/AlertFooter.js +1 -1
  396. package/lib/esm/components/SlimAlert/index.js +1 -1
  397. package/lib/esm/components/SlimAlert/styles.js +1 -1
  398. package/lib/esm/components/SlimNavigationBar/NavigationBar.js +1 -1
  399. package/lib/esm/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  400. package/lib/esm/components/SlimNavigationBar/index.js +1 -1
  401. package/lib/esm/components/SlimNavigationBar/styles.js +1 -1
  402. package/lib/esm/components/SlimSheets/AnimatedSheets.js +1 -1
  403. package/lib/esm/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  404. package/lib/esm/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  405. package/lib/esm/components/SlimSheets/DragAnimatedSheets.js +1 -1
  406. package/lib/esm/components/SlimSheets/index.js +1 -1
  407. package/lib/esm/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  408. package/lib/esm/components/SlimTabs/SlimTab.js +1 -1
  409. package/lib/esm/components/SlimTabs/SlimTabItem.js +1 -1
  410. package/lib/esm/components/SlimTabs/SlimTabItemLabel.js +1 -1
  411. package/lib/esm/components/SlimTabs/SlimTabItemValue.js +1 -1
  412. package/lib/esm/components/SlimTabs/SlimTabList.js +1 -1
  413. package/lib/esm/components/SlimTabs/index.js +1 -1
  414. package/lib/esm/components/SlimTabs/styles.js +1 -1
  415. package/lib/esm/components/SnackBar/SnackBar.js +1 -1
  416. package/lib/esm/components/SnackBar/index.js +1 -1
  417. package/lib/esm/components/SnackBar/styles.js +1 -1
  418. package/lib/esm/components/Stepper/Stepper.js +1 -1
  419. package/lib/esm/components/Stepper/index.js +1 -1
  420. package/lib/esm/components/Switch/Switch.js +1 -1
  421. package/lib/esm/components/Switch/index.js +1 -1
  422. package/lib/esm/components/Tab/Tabs.js +1 -1
  423. package/lib/esm/components/Tab/index.js +1 -1
  424. package/lib/esm/components/Tab/styles.js +1 -1
  425. package/lib/esm/components/TabBar/TabBar.js +1 -1
  426. package/lib/esm/components/TabBar/index.js +1 -1
  427. package/lib/esm/components/TabBar/styles.js +1 -1
  428. package/lib/esm/components/Tag/Tag.js +1 -1
  429. package/lib/esm/components/Tag/index.js +1 -1
  430. package/lib/esm/components/Text/Text.js +1 -1
  431. package/lib/esm/components/Text/Viewable.js +1 -1
  432. package/lib/esm/components/Text/hooks/cloneContainer.js +1 -1
  433. package/lib/esm/components/Text/hooks/index.js +1 -1
  434. package/lib/esm/components/Text/hooks/loadFontFromFile.js +2 -2
  435. package/lib/esm/components/Text/hooks/loadFontFromFile.js.map +1 -1
  436. package/lib/esm/components/Text/index.js +1 -1
  437. package/lib/esm/components/Text/styles.js +1 -1
  438. package/lib/esm/components/TextField/TextField.js +1 -1
  439. package/lib/esm/components/TextField/index.js +1 -1
  440. package/lib/esm/components/TextField/styles.js +1 -1
  441. package/lib/esm/components/TextView/TextView.js +1 -1
  442. package/lib/esm/components/TextView/index.js +1 -1
  443. package/lib/esm/components/TextView/styles.js +1 -1
  444. package/lib/esm/components/Toast/Toast.js +1 -1
  445. package/lib/esm/components/Toast/api.js +1 -1
  446. package/lib/esm/components/Toast/index.js +1 -1
  447. package/lib/esm/components/Toast/styles.js +1 -1
  448. package/lib/esm/components/Uploader/Uploader.js +3 -3
  449. package/lib/esm/components/Uploader/Uploader.js.map +1 -1
  450. package/lib/esm/components/Uploader/index.js +2 -2
  451. package/lib/esm/components/Uploader/interface/index.js +2 -2
  452. package/lib/esm/components/Uploader/styles.js +2 -2
  453. package/lib/esm/components/Uploader/utils.js +1 -1
  454. package/lib/esm/index.js +5 -10
  455. package/lib/esm/index.js.map +1 -1
  456. package/lib/esm/pvCount/pvData.js +0 -1
  457. package/lib/esm/pvCount/pvData.js.map +1 -1
  458. package/lib/src/components/Image/queryCacheBatcher.d.ts +5 -0
  459. package/lib/src/components/Popover/Popover.d.ts +1 -1
  460. package/lib/src/components/Popover/interface/index.d.ts +1 -0
  461. package/lib/src/components/PullRefresh/PullRefresh.d.ts +2 -0
  462. package/lib/src/components/PullRefresh/interface/index.d.ts +5 -0
  463. package/lib/src/index.d.ts +0 -1
  464. package/lib/types/components/Image/queryCacheBatcher.d.ts +5 -0
  465. package/lib/types/components/Popover/Popover.d.ts +1 -1
  466. package/lib/types/components/Popover/interface/index.d.ts +1 -0
  467. package/lib/types/components/PullRefresh/PullRefresh.d.ts +2 -0
  468. package/lib/types/components/PullRefresh/interface/index.d.ts +5 -0
  469. package/lib/types/index.d.ts +0 -1
  470. package/package.json +1 -2
  471. package/src/components/Carousel/Carousel.tsx +15 -3
  472. package/src/components/Carousel/demo/index.tsx +14 -2
  473. package/src/components/Image/Image.tsx +53 -115
  474. package/src/components/Image/VisibilitySensor.tsx +1 -2
  475. package/src/components/Image/queryCacheBatcher.ts +84 -0
  476. package/src/components/Popover/Popover.tsx +4 -3
  477. package/src/components/Popover/doc/index.mdx +22 -21
  478. package/src/components/Popover/interface/index.ts +1 -0
  479. package/src/components/PullRefresh/PullRefresh.tsx +146 -55
  480. package/src/components/PullRefresh/doc/index.mdx +19 -16
  481. package/src/components/PullRefresh/interface/index.ts +6 -0
  482. package/src/components/Sheets/styles.ts +2 -2
  483. package/src/index.ts +0 -1
  484. package/lib/cjs/_chunks/CIr5S84J.js.map +0 -1
  485. package/lib/cjs/components/Swiper/LazyPage.js +0 -42
  486. package/lib/cjs/components/Swiper/LazyPage.js.map +0 -1
  487. package/lib/cjs/components/Swiper/Swiper.js +0 -27
  488. package/lib/cjs/components/Swiper/Swiper.js.map +0 -1
  489. package/lib/cjs/components/Swiper/SwiperFlatList.js +0 -227
  490. package/lib/cjs/components/Swiper/SwiperFlatList.js.map +0 -1
  491. package/lib/cjs/components/Swiper/SwiperPagerView.js +0 -231
  492. package/lib/cjs/components/Swiper/SwiperPagerView.js.map +0 -1
  493. package/lib/cjs/components/Swiper/index.js +0 -16
  494. package/lib/cjs/components/Swiper/index.js.map +0 -1
  495. package/lib/cjs/components/Swiper/types.js +0 -3
  496. package/lib/cjs/components/Swiper/types.js.map +0 -1
  497. package/lib/cjs/components/Swiper/utils.js +0 -73
  498. package/lib/cjs/components/Swiper/utils.js.map +0 -1
  499. package/lib/esm/_chunks/CZtagXcj.js.map +0 -1
  500. package/lib/esm/components/Swiper/LazyPage.js +0 -40
  501. package/lib/esm/components/Swiper/LazyPage.js.map +0 -1
  502. package/lib/esm/components/Swiper/Swiper.js +0 -25
  503. package/lib/esm/components/Swiper/Swiper.js.map +0 -1
  504. package/lib/esm/components/Swiper/SwiperFlatList.js +0 -225
  505. package/lib/esm/components/Swiper/SwiperFlatList.js.map +0 -1
  506. package/lib/esm/components/Swiper/SwiperPagerView.js +0 -229
  507. package/lib/esm/components/Swiper/SwiperPagerView.js.map +0 -1
  508. package/lib/esm/components/Swiper/index.js +0 -10
  509. package/lib/esm/components/Swiper/index.js.map +0 -1
  510. package/lib/esm/components/Swiper/types.js +0 -2
  511. package/lib/esm/components/Swiper/types.js.map +0 -1
  512. package/lib/esm/components/Swiper/utils.js +0 -68
  513. package/lib/esm/components/Swiper/utils.js.map +0 -1
  514. package/lib/src/components/Swiper/LazyPage.d.ts +0 -7
  515. package/lib/src/components/Swiper/Swiper.d.ts +0 -5
  516. package/lib/src/components/Swiper/SwiperFlatList.d.ts +0 -5
  517. package/lib/src/components/Swiper/SwiperPagerView.d.ts +0 -5
  518. package/lib/src/components/Swiper/index.d.ts +0 -24
  519. package/lib/src/components/Swiper/types.d.ts +0 -166
  520. package/lib/src/components/Swiper/utils.d.ts +0 -42
  521. package/lib/types/components/Swiper/LazyPage.d.ts +0 -7
  522. package/lib/types/components/Swiper/Swiper.d.ts +0 -5
  523. package/lib/types/components/Swiper/SwiperFlatList.d.ts +0 -5
  524. package/lib/types/components/Swiper/SwiperPagerView.d.ts +0 -5
  525. package/lib/types/components/Swiper/index.d.ts +0 -24
  526. package/lib/types/components/Swiper/types.d.ts +0 -166
  527. package/lib/types/components/Swiper/utils.d.ts +0 -42
  528. package/src/components/Swiper/LazyPage.tsx +0 -44
  529. package/src/components/Swiper/Swiper.tsx +0 -31
  530. package/src/components/Swiper/SwiperFlatList.tsx +0 -299
  531. package/src/components/Swiper/SwiperPagerView.tsx +0 -286
  532. package/src/components/Swiper/demo/index.tsx +0 -146
  533. package/src/components/Swiper/doc/index.mdx +0 -49
  534. package/src/components/Swiper/index.ts +0 -25
  535. package/src/components/Swiper/types.ts +0 -208
  536. package/src/components/Swiper/utils.ts +0 -133
@@ -1,7 +1,18 @@
1
1
  import React, { useState, useRef, useMemo, useEffect } from "react";
2
- import { View, StyleSheet, Animated, PanResponder, Easing, LayoutChangeEvent } from "react-native";
2
+ import {
3
+ View,
4
+ StyleSheet,
5
+ Animated,
6
+ PanResponder,
7
+ Easing,
8
+ LayoutChangeEvent,
9
+ Platform,
10
+ RefreshControl as RNRefreshControl,
11
+ } from "react-native";
3
12
  import { RedsPullRefresh, PullRefreshDefaultProps, PullState } from "./interface/index";
4
13
  import RefreshControl from "./component";
14
+ // alias to avoid confusion when reading diff
15
+ const CustomRefreshControl = RefreshControl;
5
16
  import useMounted from "../../pvCount/useUnmountedProcess";
6
17
  export default function PullRefresh(props: RedsPullRefresh) {
7
18
  useMounted("PullRefresh");
@@ -23,6 +34,11 @@ export default function PullRefresh(props: RedsPullRefresh) {
23
34
  // 是否在刷新中
24
35
  const [isRefreshing, setIsRefreshing] = useState<boolean>(false);
25
36
 
37
+ // 内部刷新状态(用于默认启用,特别是 Android 或未提供回调时)
38
+ const [internalRefreshing, setInternalRefreshing] = useState<boolean>(false);
39
+ // Android 自动结束计时器
40
+ const androidAutoEndRef = useRef<any>();
41
+
26
42
  // 组合动画
27
43
  const [animation, setAnimation] = useState<Animated.CompositeAnimation>();
28
44
 
@@ -76,6 +92,14 @@ export default function PullRefresh(props: RedsPullRefresh) {
76
92
  performInitRefresh();
77
93
  }
78
94
  }, [props.initRefresh, pullAnimHeight, hasInitRefreshed, isRefreshing, props.refresh]);
95
+ // 卸载清理:超时计时器
96
+ useEffect(() => {
97
+ return () => {
98
+ // @ts-ignore
99
+ if (pullTimeout) clearTimeout(pullTimeout);
100
+ if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);
101
+ };
102
+ }, [pullTimeout]);
79
103
 
80
104
  // 释放手指
81
105
  const onRelease = () => {
@@ -87,7 +111,17 @@ export default function PullRefresh(props: RedsPullRefresh) {
87
111
  if (panValue >= pullAnimHeight) {
88
112
  animatedTo(pullAnimHeight, () => {
89
113
  updatePullState(PullState.LOADING);
90
- props.onRequest && props.onRequest();
114
+ // 如果有回调则调用,否则走默认内部流程(iOS 默认也支持)
115
+ if (props.onRequest) {
116
+ props.onRequest();
117
+ } else {
118
+ setInternalRefreshing(true);
119
+ // 启动一个自动结束计时器,避免没有外部状态时卡住
120
+ if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);
121
+ androidAutoEndRef.current = setTimeout(() => {
122
+ setInternalRefreshing(false);
123
+ }, props?.msHoldingTime ?? 1000);
124
+ }
91
125
  });
92
126
  // 有拉动距离但是不够设定的下拉高度
93
127
  } else if (panValue > 0) {
@@ -173,6 +207,14 @@ export default function PullRefresh(props: RedsPullRefresh) {
173
207
 
174
208
  // 手势对象
175
209
  const panResponder = useMemo(() => {
210
+ if (Platform.OS !== "ios" && props.nativeAndroidPullRefresh) {
211
+ // Android 原生下拉时不启用自定义手势
212
+ return PanResponder.create({
213
+ onStartShouldSetPanResponder: () => false,
214
+ onMoveShouldSetPanResponder: () => false,
215
+ onPanResponderTerminationRequest: () => true,
216
+ });
217
+ }
176
218
  return PanResponder.create({
177
219
  onStartShouldSetPanResponder: canMove,
178
220
  onStartShouldSetPanResponderCapture: canMove,
@@ -209,22 +251,24 @@ export default function PullRefresh(props: RedsPullRefresh) {
209
251
  return true;
210
252
  },
211
253
  });
212
- }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight]);
254
+ }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh]);
213
255
 
214
- // 根据外层传递参数变化进行更新执行
256
+ // 根据外层传递参数变化进行更新执行(自定义实现启用时)
215
257
  useEffect(() => {
258
+ if (Platform.OS !== "ios" && props.nativeAndroidPullRefresh) return;
216
259
  if (pullState === PullState.PULLING && !props.initRefresh) {
217
260
  return;
218
261
  }
219
262
  // 加载中
220
- if (props.isRefreshing === true && !isRefreshing) {
263
+ const effectiveRefreshing = !!props.isRefreshing || internalRefreshing;
264
+ if (effectiveRefreshing === true && !isRefreshing) {
221
265
  animatedTo(pullAnimHeight);
222
266
  setIsRefreshing(true);
223
267
  updatePullState(PullState.LOADING);
224
268
  }
225
269
 
226
270
  // 外层加载结束 需要重置位置
227
- if (props.isRefreshing === false && isRefreshing) {
271
+ if (effectiveRefreshing === false && isRefreshing) {
228
272
  setIsPulling(false);
229
273
  updatePullState(PullState.HOLDING);
230
274
  setPullTimeout(
@@ -240,7 +284,7 @@ export default function PullRefresh(props: RedsPullRefresh) {
240
284
 
241
285
  setIsRefreshing(false);
242
286
  }
243
- }, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState]);
287
+ }, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState, internalRefreshing]);
244
288
 
245
289
  // RefreshControl组件初始化计算
246
290
  const onLayout = (evt: LayoutChangeEvent) => {
@@ -250,43 +294,84 @@ export default function PullRefresh(props: RedsPullRefresh) {
250
294
  setTop(-height);
251
295
  };
252
296
 
253
- // 重写ScrollView的onScroll事件
297
+ // 重写ScrollView的onScroll事件(自定义:用于手势门控/头部位置; Android 原生:注入 RefreshControl)
254
298
  const scrollContent = useMemo(() => {
255
299
  return React.Children.map(props.children, (child: any) =>
256
300
  React.cloneElement(child, {
257
301
  // 设置滚动响应频率
258
302
  scrollEventThrottle: 1,
259
- // 初始加载时禁用滚动
260
- scrollEnabled: !(props.initRefresh && !hasInitRefreshed && isRefreshing),
261
- onScroll: (evt: any) => {
262
- setScrollY(evt.nativeEvent.contentOffset.y);
263
- // iOS下拉刷新Loading时,ScrollView向上滑动的时候,refreshControl部分同样上滑
264
- if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {
265
- const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);
266
- viewRef.current &&
267
- viewRef.current.setNativeProps({
268
- style: {
269
- transform: [{ translateY: y }],
270
- },
271
- });
272
- animatedViewRef.current &&
273
- animatedViewRef.current.setNativeProps({
274
- style: {
275
- transform: [{ translateY: y }],
276
- },
277
- });
278
- }
279
- if (child.props.onScroll && typeof child.props.onScroll === "function") {
280
- child.props.onScroll(evt);
281
- }
282
- },
303
+ ...(Platform.OS === "android" && props.nativeAndroidPullRefresh
304
+ ? {
305
+ refreshControl: (
306
+ <RNRefreshControl
307
+ {...(props.androidRefreshProps || {})}
308
+ colors={((props.androidRefreshProps as any)?.colors ?? props.androidColors) as any}
309
+ refreshing={!!props.isRefreshing || internalRefreshing}
310
+ onRefresh={() => {
311
+ if (!!props.isRefreshing || internalRefreshing) return;
312
+ try {
313
+ props.onRequest && props.onRequest();
314
+ } finally {
315
+ // 默认启用:无回调或未受控时自动结束
316
+ if (!props.onRequest) {
317
+ setInternalRefreshing(true);
318
+ }
319
+ // 无论是否有回调,都启动一个兜底自动结束(避免卡住)
320
+ if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);
321
+ androidAutoEndRef.current = setTimeout(() => {
322
+ setInternalRefreshing(false);
323
+ }, props?.msHoldingTime ?? 1000);
324
+ }
325
+ }}
326
+ />
327
+ ),
328
+ onScroll: (evt: any) => {
329
+ if (child.props.onScroll && typeof child.props.onScroll === "function") {
330
+ child.props.onScroll(evt);
331
+ }
332
+ },
333
+ }
334
+ : {
335
+ onScroll: (evt: any) => {
336
+ setScrollY(evt.nativeEvent.contentOffset.y);
337
+ // iOS下拉刷新Loading时,ScrollView向上滑动的时候,refreshControl部分同样上滑
338
+ if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {
339
+ const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);
340
+ viewRef.current &&
341
+ viewRef.current.setNativeProps({
342
+ style: {
343
+ transform: [{ translateY: y }],
344
+ },
345
+ });
346
+ animatedViewRef.current &&
347
+ animatedViewRef.current.setNativeProps({
348
+ style: {
349
+ transform: [{ translateY: y }],
350
+ },
351
+ });
352
+ }
353
+ if (child.props.onScroll && typeof child.props.onScroll === "function") {
354
+ child.props.onScroll(evt);
355
+ }
356
+ },
357
+ }),
283
358
  }),
284
359
  );
285
- }, [pullState, props.children, props.initRefresh, hasInitRefreshed, isRefreshing, pullAnimHeight]);
286
-
287
- // 增加Animated.View控制ScrollView展示位置
360
+ }, [
361
+ pullState,
362
+ props.children,
363
+ pullAnimHeight,
364
+ internalRefreshing,
365
+ props.isRefreshing,
366
+ props.nativeAndroidPullRefresh,
367
+ ]);
368
+
369
+ // 增加Animated.View控制ScrollView展示位置(自定义)
288
370
  const content = useMemo(() => {
289
- // 默认
371
+ if (Platform.OS === "android" && props.nativeAndroidPullRefresh) {
372
+ // Android 直接返回内容(由 RN RefreshControl 控制)
373
+ return <>{scrollContent}</>;
374
+ }
290
375
  return (
291
376
  <Animated.View
292
377
  // @ts-ignore
@@ -299,27 +384,33 @@ export default function PullRefresh(props: RedsPullRefresh) {
299
384
  {scrollContent}
300
385
  </Animated.View>
301
386
  );
302
- }, [pan, scrollContent]);
387
+ }, [pan, scrollContent, props.nativeAndroidPullRefresh]);
303
388
 
304
389
  return (
305
- <View style={[styles.container, props.style]} {...panResponder.panHandlers} testID="refresh-container">
306
- <Animated.View
307
- // @ts-ignore
308
- ref={animatedViewRef}
309
- onLayout={onLayout}
310
- style={[
311
- styles.freshItem,
312
- {
313
- top: top,
314
- height: props.pullAnimHeight,
315
- transform: [{ translateY: pan }],
316
- },
317
- props.controlStyle,
318
- ]}
319
- >
320
- {/* @ts-ignore */}
321
- <RefreshControl ref={refreshControlRef} {...props} movePercent={movePercent} />
322
- </Animated.View>
390
+ <View
391
+ style={[styles.container, props.style]}
392
+ {...(Platform.OS === "ios" || !props.nativeAndroidPullRefresh ? panResponder.panHandlers : {})}
393
+ testID="refresh-container"
394
+ >
395
+ {Platform.OS === "ios" || !props.nativeAndroidPullRefresh ? (
396
+ <Animated.View
397
+ // @ts-ignore
398
+ ref={animatedViewRef}
399
+ onLayout={onLayout}
400
+ style={[
401
+ styles.freshItem,
402
+ {
403
+ top: top,
404
+ height: props.pullAnimHeight,
405
+ transform: [{ translateY: pan }],
406
+ },
407
+ props.controlStyle,
408
+ ]}
409
+ >
410
+ {/* @ts-ignore */}
411
+ <CustomRefreshControl ref={refreshControlRef} {...props} movePercent={movePercent} />
412
+ </Animated.View>
413
+ ) : null}
323
414
  {content}
324
415
  </View>
325
416
  );
@@ -10,22 +10,25 @@ import BaseDemo from "!!raw-loader!../demo/index.tsx";
10
10
 
11
11
  ### Props
12
12
 
13
- | 属性 | 描述 | 类型 | 默认值 |
14
- | --------------------- | ---------------------- | --------------- | --------- |
15
- | children | 下拉刷新容器的内容 | React.ReactNode | undefined |
16
- | pullAnimHeight | 下拉刷新组件高度 | number | 0 |
17
- | minPullDistance | 触发下拉刷新的最小距离 | number | 20 |
18
- | msHoldingTime | 下拉完成后的停留时间 | number | 1000 |
19
- | isRefreshing | 是否是加载数据中 | boolean | false |
20
- | pullDownToRefreshText | 下拉刷新文案 | string | |
21
- | releaseRefreshText | 松开刷新文案 | string | |
22
- | requestDataText | 请求数据中文案 | string | |
23
- | requestSuccessfulText | 请求成功文案 | string | |
24
- | style | 容器样式 | ViewStyle | |
25
- | controlStyle | refreshControl样式 | ViewStyle | |
26
- | showText | 是否展示文字 | boolean | true |
27
- | initRefresh | 是否初始刷新 | boolean | false |
28
- | refresh | 手动点击按钮控制刷新 | boolean | false |
13
+ | 属性 | 描述 | 类型 | 默认值 |
14
+ | ------------------------ | ------------------------------------------------------------------------------------------------------- | --------------- | --------- |
15
+ | children | 下拉刷新容器的内容 | React.ReactNode | undefined |
16
+ | pullAnimHeight | 下拉刷新组件高度 | number | 0 |
17
+ | minPullDistance | 触发下拉刷新的最小距离 | number | 20 |
18
+ | msHoldingTime | 下拉完成后的停留时间 | number | 1000 |
19
+ | isRefreshing | 是否是加载数据中 | boolean | false |
20
+ | pullDownToRefreshText | 下拉刷新文案 | string | |
21
+ | releaseRefreshText | 松开刷新文案 | string | |
22
+ | requestDataText | 请求数据中文案 | string | |
23
+ | requestSuccessfulText | 请求成功文案 | string | |
24
+ | style | 容器样式 | ViewStyle | |
25
+ | controlStyle | refreshControl样式 | ViewStyle | |
26
+ | showText | 是否展示文字 | boolean | true |
27
+ | initRefresh | 是否初始刷新 | boolean | false |
28
+ | refresh | 手动点击按钮控制刷新 | boolean | false |
29
+ | nativeAndroidPullRefresh | Android 使用原生 RefreshControl(仅 Android 生效) | boolean | false |
30
+ | androidRefreshProps | Android 原生 RefreshControl 配置(仅在开启原生下拉时生效),等同于 React Native RefreshControl 的 props | Object | `{}` |
31
+ | androidColors | Android 原生 RefreshControl 颜色(等同于 androidRefreshProps.colors) | string[] | |
29
32
 
30
33
  ### Events
31
34
 
@@ -1,3 +1,4 @@
1
+ import type { RefreshControlProps } from "react-native";
1
2
  import { ViewStyle } from "react-native";
2
3
  export interface RedsPullRefresh {
3
4
  children: React.ReactNode;
@@ -15,6 +16,9 @@ export interface RedsPullRefresh {
15
16
  showText?: boolean;
16
17
  initRefresh?: boolean;
17
18
  refresh?: boolean;
19
+ nativeAndroidPullRefresh?: boolean;
20
+ androidRefreshProps?: Object;
21
+ androidColors?: string[];
18
22
  }
19
23
 
20
24
  export enum PullState {
@@ -35,4 +39,6 @@ export const PullRefreshDefaultProps = {
35
39
  showText: true,
36
40
  initRefresh: false,
37
41
  refresh: false,
42
+ nativeAndroidPullRefresh: false,
43
+ androidRefreshProps: {},
38
44
  };
@@ -49,11 +49,11 @@ const styles = StyleSheet.create({
49
49
  borderTopRightRadius: 12,
50
50
  },
51
51
  cancel: {
52
- fontSize: typography.B1LooseFontSize,
52
+ fontSize: typography.B2LooseSwitchFontSize,
53
53
  fontWeight: typography.B1LooseFontWeight,
54
54
  },
55
55
  confirm: {
56
- fontSize: typography.B1LooseFontSize,
56
+ fontSize: typography.B2LooseSwitchFontSize,
57
57
  fontWeight: typography.T3FontWeight,
58
58
  },
59
59
  label: {
package/src/index.ts CHANGED
@@ -73,6 +73,5 @@ export * from "./components/SlimAlert";
73
73
  export * from "./components/SlimNavigationBar";
74
74
  export * from "./components/Search";
75
75
  export * from "./components/ActionablePopover";
76
- export * from "./components/Swiper";
77
76
  import "react-native-url-polyfill/auto";
78
77
  bindPushDataEvent(pushGlobalData);
@@ -1 +0,0 @@
1
- {"version":3,"file":"CIr5S84J.js","sources":["../../../src/components/PullRefresh/interface/index.ts"],"sourcesContent":["import { ViewStyle } from \"react-native\";\nexport interface RedsPullRefresh {\n children: React.ReactNode;\n pullAnimHeight?: number;\n minPullDistance?: number;\n msHoldingTime?: number;\n isRefreshing: boolean;\n pullDownToRefreshText?: string;\n releaseRefreshText?: string;\n requestDataText?: string;\n requestSuccessfulText?: string;\n style?: ViewStyle;\n controlStyle?: ViewStyle;\n onRequest?: () => void;\n showText?: boolean;\n initRefresh?: boolean;\n refresh?: boolean;\n}\n\nexport enum PullState {\n INIT, // 初始化\n FINISH, // 结束\n PULLING, // 下拉中\n LOADING, // 请求数据中\n HOLDING, // 请求完数据的停留状态\n}\n\nexport interface RedsPullRefreshEvent {}\nexport const PullRefreshDefaultProps = {\n children: undefined,\n pullAnimHeight: 0,\n minPullDistance: 20,\n msHoldingTime: 1000,\n isRefreshing: false,\n showText: true,\n initRefresh: false,\n refresh: false,\n};\n"],"names":["PullState","PullState2","PullRefreshDefaultProps","children","pullAnimHeight","minPullDistance","msHoldingTime","isRefreshing","showText","initRefresh","refresh"],"mappings":";;IAmBYA,SAAA,4BAAAA,UAAL,EAAA;EACLA,UAAA,CAAAC,UAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA,CAAA;EACAD,UAAA,CAAAC,UAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA,CAAA;EACAD,UAAA,CAAAC,UAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA;EACAD,UAAA,CAAAC,UAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA;EACAD,UAAA,CAAAC,UAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA;AALUD,EAAAA,OAAAA,UAAAA,CAAAA;AAAA,CAAA,CAAAA,SAAA,IAAA,EAAA,EAAA;AASL,IAAME,uBAA0B,GAAA;EACrCC,QAAU,EAAA,KAAA,CAAA;AACVC,EAAAA,cAAgB,EAAA,CAAA;AAChBC,EAAAA,eAAiB,EAAA,EAAA;AACjBC,EAAAA,aAAe,EAAA,GAAA;AACfC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,QAAU,EAAA,IAAA;AACVC,EAAAA,WAAa,EAAA,KAAA;AACbC,EAAAA,OAAS,EAAA,KAAA;AACX;;;;;;;;;;;;"}
@@ -1,42 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('../../_chunks/hnLc3Qom.js');
4
- var React = require('react');
5
- var reactNative = require('react-native');
6
-
7
- var LazyPage = function LazyPage(_ref) {
8
- var shouldMount = _ref.shouldMount,
9
- _ref$shouldUnmount = _ref.shouldUnmount,
10
- shouldUnmount = _ref$shouldUnmount === void 0 ? false : _ref$shouldUnmount,
11
- children = _ref.children,
12
- placeholder = _ref.placeholder,
13
- style = _ref.style;
14
- var _useState = React.useState(false),
15
- _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
16
- mounted = _useState2[0],
17
- setMounted = _useState2[1];
18
- React.useEffect(function () {
19
- if (shouldMount && !mounted) {
20
- setMounted(true);
21
- } else if (shouldUnmount && mounted) {
22
- setMounted(false);
23
- }
24
- }, [shouldMount, shouldUnmount, mounted]);
25
- return /* @__PURE__ */React.createElement(reactNative.View, {
26
- style: [styles.page, style]
27
- }, mounted ? children : placeholder || /* @__PURE__ */React.createElement(reactNative.View, {
28
- style: styles.placeholder
29
- }));
30
- };
31
- var styles = reactNative.StyleSheet.create({
32
- page: {
33
- flex: 1
34
- },
35
- placeholder: {
36
- flex: 1,
37
- backgroundColor: "transparent"
38
- }
39
- });
40
-
41
- exports.LazyPage = LazyPage;
42
- //# sourceMappingURL=LazyPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LazyPage.js","sources":["../../../../src/components/Swiper/LazyPage.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { View, StyleSheet, Dimensions } from \"react-native\";\nimport type { LazyPageProps } from \"./types\";\n\n/**\n * LazyPage component that conditionally mounts/unmounts content\n * based on proximity to current page\n */\nexport const LazyPage: React.FC<LazyPageProps> = ({\n shouldMount,\n shouldUnmount = false,\n children,\n placeholder,\n style,\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (shouldMount && !mounted) {\n // Mount the page when it enters the window\n setMounted(true);\n } else if (shouldUnmount && mounted) {\n // Unmount the page when it's far from current position\n // This helps free memory for large datasets\n setMounted(false);\n }\n // Note: By default (shouldUnmount=false), pages stay mounted for better UX\n // Enable shouldUnmount for aggressive memory management\n }, [shouldMount, shouldUnmount, mounted]);\n\n return (\n <View style={[styles.page, style]}>{mounted ? children : placeholder || <View style={styles.placeholder} />}</View>\n );\n};\n\nconst styles = StyleSheet.create({\n page: {\n flex: 1,\n },\n placeholder: {\n flex: 1,\n backgroundColor: \"transparent\",\n },\n});\n"],"names":["LazyPage","shouldMount","_ref","_ref$shouldUnmount","shouldUnmount","children","placeholder","style","_useState","useState","_useState2","_slicedToArray","mounted","setMounted","useEffect","View","styles","page","React","createElement","StyleSheet","create","flex","backgroundColor"],"mappings":";;;;;;IAQaA,WAAoC,SAApCA,eAMP;AAAA,EAAA,IALJC,WAAA,GAAAC,IAAA,CAAAD,WAAA;IAAAE,kBAAA,GAAAD,IAAA,CACAE,aAAgB;AAAhBA,IAAAA,aAAgB,GAAAD,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,kBAAA;IAChBE,QAAA,GAAAH,IAAA,CAAAG,QAAA;IACAC,WAAA,GAAAJ,IAAA,CAAAI,WAAA;IACAC,KAAA,GAAAL,IAAA,CAAAK,KAAA,CAAA;AAEA,EAAA,IAAAC,SAAA,GAA8BC,eAAS,KAAK,CAAA;IAAAC,UAAA,GAAAC,wCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAArCI,IAAAA,OAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAASG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1BI,EAAAA,eAAA,CAAU,YAAM;AACV,IAAA,IAAAb,WAAA,IAAe,CAACW,OAAS,EAAA;MAE3BC,UAAA,CAAW,IAAI,CAAA,CAAA;AACjB,KAAA,MAAA,IAAWT,iBAAiBQ,OAAS,EAAA;MAGnCC,UAAA,CAAW,KAAK,CAAA,CAAA;AAClB,KAAA;GAGC,EAAA,CAACZ,WAAa,EAAAG,aAAA,EAAeQ,OAAO,CAAC,CAAA,CAAA;AAExC,EAAA,0CACGG,gBAAK,EAAA;AAAAR,IAAAA,KAAA,EAAO,CAACS,MAAA,CAAOC,MAAMV,KAAK,CAAA;AAAA,GAAA,EAAIK,OAAU,GAAAP,QAAA,GAAWC,8BAAgBY,KAAA,CAAAC,aAAA,CAAAJ,gBAAA,EAAA;IAAKR,KAAO,EAAAS,MAAA,CAAOV,WAAAA;GAAa,CAAG,CAAA,CAAA;AAEhH,EAAA;AAEA,IAAMU,MAAA,GAASI,uBAAWC,MAAO,CAAA;AAC/BJ,EAAAA,IAAM,EAAA;AACJK,IAAAA,IAAM,EAAA,CAAA;GACR;AACAhB,EAAAA,WAAa,EAAA;AACXgB,IAAAA,IAAM,EAAA,CAAA;AACNC,IAAAA,eAAiB,EAAA,aAAA;AACnB,GAAA;AACF,CAAC,CAAA;;;;"}
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('../../_chunks/hnLc3Qom.js');
4
- var React = require('react');
5
- var components_Swiper_SwiperPagerView = require('./SwiperPagerView.js');
6
- var components_Swiper_SwiperFlatList = require('./SwiperFlatList.js');
7
- require('react-native');
8
- require('react-native-pager-view');
9
- require('./LazyPage.js');
10
- require('./utils.js');
11
-
12
- function SwiperComponent(props, ref) {
13
- var _props$implementation = props.implementation,
14
- implementation = _props$implementation === void 0 ? "pagerView" : _props$implementation;
15
- if (implementation === "flatlist") {
16
- return /* @__PURE__ */React.createElement(components_Swiper_SwiperFlatList.SwiperFlatList, _rollupPluginBabelHelpers._objectSpread2({
17
- ref: ref
18
- }, props));
19
- }
20
- return /* @__PURE__ */React.createElement(components_Swiper_SwiperPagerView.SwiperPagerView, _rollupPluginBabelHelpers._objectSpread2({
21
- ref: ref
22
- }, props));
23
- }
24
- var Swiper = /*#__PURE__*/React.forwardRef(SwiperComponent);
25
-
26
- exports.Swiper = Swiper;
27
- //# sourceMappingURL=Swiper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Swiper.js","sources":["../../../../src/components/Swiper/Swiper.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport type { SwiperProps, SwiperRef } from \"./types\";\nimport { SwiperPagerView } from \"./SwiperPagerView\";\nimport { SwiperFlatList } from \"./SwiperFlatList\";\n\n/**\n * Swiper Component - A performant, data-driven carousel with infinite scroll support\n *\n * Features:\n * - Two implementations: PagerView (default) and FlatList\n * - Lazy mounting for performance with large datasets\n * - Infinite/loop scrolling with seamless transitions\n * - Programmatic control via ref methods\n * - Event callbacks for page changes\n * - Nested scroll support\n * - TypeScript generic support for type-safe data\n */\nfunction SwiperComponent<T>(props: SwiperProps<T>, ref: React.Ref<SwiperRef>) {\n const { implementation = \"pagerView\" } = props;\n\n if (implementation === \"flatlist\") {\n return <SwiperFlatList ref={ref} {...props} />;\n }\n\n return <SwiperPagerView ref={ref} {...props} />;\n}\n\n// Export with generic type support\nexport const Swiper = forwardRef(SwiperComponent) as <T>(\n props: SwiperProps<T> & { ref?: React.Ref<SwiperRef> },\n) => React.ReactElement;\n"],"names":["SwiperComponent","props","ref","_props$implementation","implementation","React","createElement","SwiperFlatList","_objectSpread","SwiperPagerView","Swiper","forwardRef"],"mappings":";;;;;;;;;;;AAiBA,SAASA,eAAAA,CAAmBC,OAAuBC,GAA2B,EAAA;AACtE,EAAA,IAAAC,qBAAA,GAAmCF,KAAA,CAAjCG,cAAiB;AAAjBA,IAAAA,cAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,WAAA,GAAAA,qBAAA,CAAA;EAEzB,IAAIC,mBAAmB,UAAY,EAAA;AACjC,IAAA,sBAAQC,KAAA,CAAAC,aAAA,CAAAC,+CAAA,EAAAC,wCAAA,CAAA;AAAeN,MAAAA,GAAW,EAAXA,GAAAA;KAAcD,EAAAA,KAAO,CAAA,CAAA,CAAA;AAC9C,GAAA;AAEA,EAAA,sBAAQI,KAAA,CAAAC,aAAA,CAAAG,iDAAA,EAAAD,wCAAA,CAAA;AAAgBN,IAAAA,GAAW,EAAXA,GAAAA;GAAcD,EAAAA,KAAO,CAAA,CAAA,CAAA;AAC/C,CAAA;IAGaS,MAAA,gBAASC,iBAAWX,eAAe;;;;"}