@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,229 +0,0 @@
1
- import { _ as _slicedToArray } from '../../_chunks/CgvIDP0E.js';
2
- import React, { forwardRef, useRef, useState, useMemo, useCallback, useEffect, useImperativeHandle } from 'react';
3
- import { StyleSheet } from 'react-native';
4
- import PagerView from 'react-native-pager-view';
5
- import { LazyPage } from './LazyPage.js';
6
- import { prepareInfiniteData, getDisplayIndex, getRealIndex, shouldJumpForInfinite } from './utils.js';
7
-
8
- function SwiperPagerViewComponent(props, ref) {
9
- var data = props.data,
10
- renderItem = props.renderItem,
11
- keyExtractor = props.keyExtractor,
12
- _props$infinite = props.infinite,
13
- infinite = _props$infinite === void 0 ? false : _props$infinite,
14
- _props$initialPage = props.initialPage,
15
- initialPage = _props$initialPage === void 0 ? 0 : _props$initialPage,
16
- _props$cloneCount = props.cloneCount,
17
- cloneCount = _props$cloneCount === void 0 ? 2 : _props$cloneCount,
18
- _props$lazyMountWindo = props.lazyMountWindow,
19
- lazyMountWindow = _props$lazyMountWindo === void 0 ? 2 : _props$lazyMountWindo,
20
- _props$removeClippedP = props.removeClippedPages,
21
- removeClippedPages = _props$removeClippedP === void 0 ? false : _props$removeClippedP,
22
- unmountThreshold = props.unmountThreshold,
23
- onPageChange = props.onPageChange,
24
- onNext = props.onNext,
25
- onPrev = props.onPrev,
26
- onPageScrollStateChanged = props.onPageScrollStateChanged,
27
- style = props.style,
28
- pageMargin = props.pageMargin,
29
- offscreenPageLimit = props.offscreenPageLimit,
30
- _props$scrollEnabled = props.scrollEnabled,
31
- scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,
32
- overdrag = props.overdrag,
33
- renderPlaceholder = props.renderPlaceholder;
34
- var pagerRef = useRef(null);
35
- var currentPageRef = useRef(initialPage);
36
- var isJumpingRef = useRef(false);
37
- var pendingJumpRef = useRef(null);
38
- var scrollStateRef = useRef("idle");
39
- var _useState = useState(initialPage),
40
- _useState2 = _slicedToArray(_useState, 2),
41
- currentPage = _useState2[0],
42
- setCurrentPage = _useState2[1];
43
- var _useState3 = useState(/* @__PURE__ */new Set()),
44
- _useState4 = _slicedToArray(_useState3, 2),
45
- mountedPages = _useState4[0],
46
- setMountedPages = _useState4[1];
47
- var _useState5 = useState(/* @__PURE__ */new Set()),
48
- _useState6 = _slicedToArray(_useState5, 2),
49
- unmountPages = _useState6[0],
50
- setUnmountPages = _useState6[1];
51
- var _useMemo = useMemo(function () {
52
- return prepareInfiniteData(data, infinite, cloneCount);
53
- }, [data, infinite, cloneCount]),
54
- displayData = _useMemo.displayData,
55
- offset = _useMemo.offset,
56
- actualCloneCount = _useMemo.cloneCount;
57
- var adjustedInitialPage = useMemo(function () {
58
- return infinite ? getDisplayIndex(initialPage, offset) : initialPage;
59
- }, [infinite, initialPage, offset]);
60
- var updateMountedPages = useCallback(function (centerPage) {
61
- var newMounted = /* @__PURE__ */new Set();
62
- var newUnmount = /* @__PURE__ */new Set();
63
- var effectiveMountWindow = Math.max(lazyMountWindow, Math.min(10, Math.ceil(actualCloneCount / 10)));
64
- var effectiveUnmountThreshold = unmountThreshold !== null && unmountThreshold !== void 0 ? unmountThreshold : effectiveMountWindow * 3;
65
- for (var i = centerPage - effectiveMountWindow; i <= centerPage + effectiveMountWindow; i++) {
66
- if (i >= 0 && i < displayData.length) {
67
- newMounted.add(i);
68
- }
69
- }
70
- if (removeClippedPages) {
71
- for (var _i = 0; _i < displayData.length; _i++) {
72
- var distance = Math.abs(_i - centerPage);
73
- if (distance > effectiveUnmountThreshold) {
74
- newUnmount.add(_i);
75
- }
76
- }
77
- }
78
- console.log("Mounted pages:", Array.from(newMounted));
79
- console.log("Unmount pages:", Array.from(newUnmount));
80
- setMountedPages(newMounted);
81
- setUnmountPages(newUnmount);
82
- }, [lazyMountWindow, displayData.length, actualCloneCount, unmountThreshold, removeClippedPages]);
83
- var handlePageSelected = useCallback(function (event) {
84
- var newDisplayPage = event.nativeEvent.position;
85
- if (isJumpingRef.current) {
86
- return;
87
- }
88
- var realIndex = getRealIndex(newDisplayPage, offset, data.length);
89
- var prevDisplayPage = currentPageRef.current;
90
- setCurrentPage(realIndex);
91
- currentPageRef.current = newDisplayPage;
92
- updateMountedPages(newDisplayPage);
93
- onPageChange === null || onPageChange === void 0 || onPageChange(realIndex);
94
- if (newDisplayPage > prevDisplayPage) {
95
- onNext === null || onNext === void 0 || onNext(realIndex);
96
- } else if (newDisplayPage < prevDisplayPage) {
97
- onPrev === null || onPrev === void 0 || onPrev(realIndex);
98
- }
99
- if (infinite && data.length >= 3) {
100
- var jumpResult = shouldJumpForInfinite(newDisplayPage, data.length, offset, actualCloneCount);
101
- if (jumpResult.shouldJump && jumpResult.jumpTo !== void 0) {
102
- pendingJumpRef.current = jumpResult.jumpTo;
103
- }
104
- }
105
- }, [data.length, offset, actualCloneCount, infinite, onPageChange, onNext, onPrev, updateMountedPages]);
106
- var handlePageScrollStateChanged = useCallback(function (event) {
107
- var state = event.nativeEvent.pageScrollState;
108
- scrollStateRef.current = state;
109
- onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged(state);
110
- if (state === "idle" && pendingJumpRef.current !== null) {
111
- var targetPage = pendingJumpRef.current;
112
- pendingJumpRef.current = null;
113
- isJumpingRef.current = true;
114
- requestAnimationFrame(function () {
115
- var _pagerRef$current;
116
- (_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 || _pagerRef$current.setPageWithoutAnimation(targetPage);
117
- currentPageRef.current = targetPage;
118
- setTimeout(function () {
119
- isJumpingRef.current = false;
120
- }, 50);
121
- });
122
- }
123
- }, [onPageScrollStateChanged]);
124
- useEffect(function () {
125
- updateMountedPages(adjustedInitialPage);
126
- }, [adjustedInitialPage, updateMountedPages]);
127
- useImperativeHandle(ref, function () {
128
- return {
129
- goToPage: function goToPage(index) {
130
- var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
131
- var clampedIndex = Math.max(0, Math.min(index, data.length - 1));
132
- var displayIndex = infinite ? getDisplayIndex(clampedIndex, offset) : clampedIndex;
133
- if (animated) {
134
- var _pagerRef$current2;
135
- (_pagerRef$current2 = pagerRef.current) === null || _pagerRef$current2 === void 0 || _pagerRef$current2.setPage(displayIndex);
136
- } else {
137
- var _pagerRef$current3;
138
- (_pagerRef$current3 = pagerRef.current) === null || _pagerRef$current3 === void 0 || _pagerRef$current3.setPageWithoutAnimation(displayIndex);
139
- }
140
- },
141
- next: function next() {
142
- var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
143
- var nextPage = currentPage + 1;
144
- if (infinite) {
145
- getDisplayIndex(nextPage % data.length, offset);
146
- if (animated) {
147
- var _pagerRef$current4;
148
- (_pagerRef$current4 = pagerRef.current) === null || _pagerRef$current4 === void 0 || _pagerRef$current4.setPage(currentPageRef.current + 1);
149
- } else {
150
- var _pagerRef$current5;
151
- (_pagerRef$current5 = pagerRef.current) === null || _pagerRef$current5 === void 0 || _pagerRef$current5.setPageWithoutAnimation(currentPageRef.current + 1);
152
- }
153
- } else {
154
- if (nextPage < data.length) {
155
- if (animated) {
156
- var _pagerRef$current6;
157
- (_pagerRef$current6 = pagerRef.current) === null || _pagerRef$current6 === void 0 || _pagerRef$current6.setPage(nextPage);
158
- } else {
159
- var _pagerRef$current7;
160
- (_pagerRef$current7 = pagerRef.current) === null || _pagerRef$current7 === void 0 || _pagerRef$current7.setPageWithoutAnimation(nextPage);
161
- }
162
- }
163
- }
164
- },
165
- prev: function prev() {
166
- var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
167
- var prevPage = currentPage - 1;
168
- if (infinite) {
169
- getDisplayIndex((prevPage + data.length) % data.length, offset);
170
- if (animated) {
171
- var _pagerRef$current8;
172
- (_pagerRef$current8 = pagerRef.current) === null || _pagerRef$current8 === void 0 || _pagerRef$current8.setPage(currentPageRef.current - 1);
173
- } else {
174
- var _pagerRef$current9;
175
- (_pagerRef$current9 = pagerRef.current) === null || _pagerRef$current9 === void 0 || _pagerRef$current9.setPageWithoutAnimation(currentPageRef.current - 1);
176
- }
177
- } else {
178
- if (prevPage >= 0) {
179
- if (animated) {
180
- var _pagerRef$current0;
181
- (_pagerRef$current0 = pagerRef.current) === null || _pagerRef$current0 === void 0 || _pagerRef$current0.setPage(prevPage);
182
- } else {
183
- var _pagerRef$current1;
184
- (_pagerRef$current1 = pagerRef.current) === null || _pagerRef$current1 === void 0 || _pagerRef$current1.setPageWithoutAnimation(prevPage);
185
- }
186
- }
187
- }
188
- },
189
- getCurrentPage: function getCurrentPage() {
190
- return currentPage;
191
- }
192
- };
193
- }, [currentPage, data.length, infinite, offset]);
194
- if (data.length === 0) {
195
- return null;
196
- }
197
- return /* @__PURE__ */React.createElement(PagerView, {
198
- ref: pagerRef,
199
- style: [styles.pager, style],
200
- initialPage: adjustedInitialPage,
201
- onPageSelected: handlePageSelected,
202
- onPageScrollStateChanged: handlePageScrollStateChanged,
203
- pageMargin: pageMargin,
204
- offscreenPageLimit: offscreenPageLimit,
205
- scrollEnabled: scrollEnabled,
206
- overdrag: overdrag
207
- }, displayData.map(function (item, displayIndex) {
208
- var _keyExtractor;
209
- var realIndex = getRealIndex(displayIndex, offset, data.length);
210
- var shouldMount = mountedPages.has(displayIndex);
211
- var shouldUnmount = unmountPages.has(displayIndex);
212
- var key = (_keyExtractor = keyExtractor === null || keyExtractor === void 0 ? void 0 : keyExtractor(item, realIndex)) !== null && _keyExtractor !== void 0 ? _keyExtractor : "swiper-page-".concat(displayIndex);
213
- return /* @__PURE__ */React.createElement(LazyPage, {
214
- key: key,
215
- shouldMount: shouldMount,
216
- shouldUnmount: shouldUnmount,
217
- placeholder: renderPlaceholder === null || renderPlaceholder === void 0 ? void 0 : renderPlaceholder(realIndex)
218
- }, renderItem(item, realIndex));
219
- }));
220
- }
221
- var styles = StyleSheet.create({
222
- pager: {
223
- flex: 1
224
- }
225
- });
226
- var SwiperPagerView = /*#__PURE__*/forwardRef(SwiperPagerViewComponent);
227
-
228
- export { SwiperPagerView };
229
- //# sourceMappingURL=SwiperPagerView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SwiperPagerView.js","sources":["../../../../src/components/Swiper/SwiperPagerView.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport PagerView from \"react-native-pager-view\";\nimport type { PagerViewOnPageSelectedEvent, PageScrollStateChangedNativeEvent } from \"react-native-pager-view\";\nimport { LazyPage } from \"./LazyPage\";\nimport type { SwiperProps, SwiperRef } from \"./types\";\nimport { prepareInfiniteData, shouldJumpForInfinite, getRealIndex, getDisplayIndex } from \"./utils\";\n\n/**\n * PagerView-based Swiper implementation\n */\nfunction SwiperPagerViewComponent<T>(props: SwiperProps<T>, ref: React.Ref<SwiperRef>) {\n const {\n data,\n renderItem,\n keyExtractor,\n infinite = false,\n initialPage = 0,\n cloneCount = 2,\n lazyMountWindow = 2,\n removeClippedPages = false,\n unmountThreshold,\n onPageChange,\n onNext,\n onPrev,\n onPageScrollStateChanged,\n style,\n pageMargin,\n offscreenPageLimit,\n scrollEnabled = true,\n overdrag,\n renderPlaceholder,\n } = props;\n\n // Refs\n const pagerRef = useRef<PagerView>(null);\n const currentPageRef = useRef<number>(initialPage);\n const isJumpingRef = useRef<boolean>(false);\n const pendingJumpRef = useRef<number | null>(null);\n const scrollStateRef = useRef<\"idle\" | \"dragging\" | \"settling\">(\"idle\");\n\n // State\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [mountedPages, setMountedPages] = useState<Set<number>>(new Set());\n const [unmountPages, setUnmountPages] = useState<Set<number>>(new Set());\n\n // Prepare data for infinite scrolling\n const {\n displayData,\n offset,\n cloneCount: actualCloneCount,\n } = useMemo(() => {\n return prepareInfiniteData(data, infinite, cloneCount);\n }, [data, infinite, cloneCount]);\n\n // Calculate adjusted initial page for infinite mode\n const adjustedInitialPage = useMemo(() => {\n return infinite ? getDisplayIndex(initialPage, offset) : initialPage;\n }, [infinite, initialPage, offset]);\n\n /**\n * Update which pages should be mounted/unmounted based on current page\n */\n const updateMountedPages = useCallback(\n (centerPage: number) => {\n const newMounted = new Set<number>();\n const newUnmount = new Set<number>();\n\n // Scale mount window with clone count for better fast scrolling\n const effectiveMountWindow = Math.max(lazyMountWindow, Math.min(10, Math.ceil(actualCloneCount / 10)));\n\n // Calculate unmount threshold (default: 3x mount window)\n const effectiveUnmountThreshold = unmountThreshold ?? effectiveMountWindow * 3;\n\n // Mount pages within the window\n for (let i = centerPage - effectiveMountWindow; i <= centerPage + effectiveMountWindow; i++) {\n if (i >= 0 && i < displayData.length) {\n newMounted.add(i);\n }\n }\n\n // Mark pages for unmounting if removeClippedPages is enabled\n if (removeClippedPages) {\n for (let i = 0; i < displayData.length; i++) {\n const distance = Math.abs(i - centerPage);\n if (distance > effectiveUnmountThreshold) {\n newUnmount.add(i);\n }\n }\n }\n\n console.log(\"Mounted pages:\", Array.from(newMounted));\n console.log(\"Unmount pages:\", Array.from(newUnmount));\n\n setMountedPages(newMounted);\n setUnmountPages(newUnmount);\n },\n [lazyMountWindow, displayData.length, actualCloneCount, unmountThreshold, removeClippedPages],\n );\n\n /**\n * Handle page selection from PagerView\n */\n const handlePageSelected = useCallback(\n (event: PagerViewOnPageSelectedEvent) => {\n const newDisplayPage = event.nativeEvent.position;\n\n if (isJumpingRef.current) {\n return;\n }\n\n const realIndex = getRealIndex(newDisplayPage, offset, data.length);\n const prevDisplayPage = currentPageRef.current;\n\n setCurrentPage(realIndex);\n currentPageRef.current = newDisplayPage;\n\n updateMountedPages(newDisplayPage);\n\n onPageChange?.(realIndex);\n\n if (newDisplayPage > prevDisplayPage) {\n onNext?.(realIndex);\n } else if (newDisplayPage < prevDisplayPage) {\n onPrev?.(realIndex);\n }\n\n // Handle infinite scroll jump\n if (infinite && data.length >= 3) {\n const jumpResult = shouldJumpForInfinite(newDisplayPage, data.length, offset, actualCloneCount);\n\n if (jumpResult.shouldJump && jumpResult.jumpTo !== undefined) {\n pendingJumpRef.current = jumpResult.jumpTo;\n }\n }\n },\n [data.length, offset, actualCloneCount, infinite, onPageChange, onNext, onPrev, updateMountedPages],\n );\n\n /**\n * Handle scroll state changes\n */\n const handlePageScrollStateChanged = useCallback(\n (event: PageScrollStateChangedNativeEvent) => {\n const state = event.nativeEvent.pageScrollState;\n scrollStateRef.current = state;\n onPageScrollStateChanged?.(state);\n\n // Execute pending jump when scroll becomes idle\n if (state === \"idle\" && pendingJumpRef.current !== null) {\n const targetPage = pendingJumpRef.current;\n pendingJumpRef.current = null;\n\n isJumpingRef.current = true;\n\n requestAnimationFrame(() => {\n pagerRef.current?.setPageWithoutAnimation(targetPage);\n currentPageRef.current = targetPage;\n\n setTimeout(() => {\n isJumpingRef.current = false;\n }, 50);\n });\n }\n },\n [onPageScrollStateChanged],\n );\n\n /**\n * Initialize mounted pages on mount\n */\n useEffect(() => {\n updateMountedPages(adjustedInitialPage);\n }, [adjustedInitialPage, updateMountedPages]);\n\n /**\n * Expose ref methods for programmatic control\n */\n useImperativeHandle(\n ref,\n () => ({\n goToPage: (index: number, animated = true) => {\n const clampedIndex = Math.max(0, Math.min(index, data.length - 1));\n const displayIndex = infinite ? getDisplayIndex(clampedIndex, offset) : clampedIndex;\n\n if (animated) {\n pagerRef.current?.setPage(displayIndex);\n } else {\n pagerRef.current?.setPageWithoutAnimation(displayIndex);\n }\n },\n\n next: (animated = true) => {\n const nextPage = currentPage + 1;\n\n if (infinite) {\n const displayIndex = getDisplayIndex(nextPage % data.length, offset);\n if (animated) {\n pagerRef.current?.setPage(currentPageRef.current + 1);\n } else {\n pagerRef.current?.setPageWithoutAnimation(currentPageRef.current + 1);\n }\n } else {\n if (nextPage < data.length) {\n if (animated) {\n pagerRef.current?.setPage(nextPage);\n } else {\n pagerRef.current?.setPageWithoutAnimation(nextPage);\n }\n }\n }\n },\n\n prev: (animated = true) => {\n const prevPage = currentPage - 1;\n\n if (infinite) {\n const displayIndex = getDisplayIndex((prevPage + data.length) % data.length, offset);\n if (animated) {\n pagerRef.current?.setPage(currentPageRef.current - 1);\n } else {\n pagerRef.current?.setPageWithoutAnimation(currentPageRef.current - 1);\n }\n } else {\n if (prevPage >= 0) {\n if (animated) {\n pagerRef.current?.setPage(prevPage);\n } else {\n pagerRef.current?.setPageWithoutAnimation(prevPage);\n }\n }\n }\n },\n\n getCurrentPage: () => currentPage,\n }),\n [currentPage, data.length, infinite, offset],\n );\n\n // Handle empty data\n if (data.length === 0) {\n return null;\n }\n\n return (\n <PagerView\n ref={pagerRef}\n style={[styles.pager, style]}\n initialPage={adjustedInitialPage}\n onPageSelected={handlePageSelected}\n onPageScrollStateChanged={handlePageScrollStateChanged}\n pageMargin={pageMargin}\n offscreenPageLimit={offscreenPageLimit}\n scrollEnabled={scrollEnabled}\n overdrag={overdrag}\n >\n {displayData.map((item, displayIndex) => {\n const realIndex = getRealIndex(displayIndex, offset, data.length);\n const shouldMount = mountedPages.has(displayIndex);\n const shouldUnmount = unmountPages.has(displayIndex);\n const key = keyExtractor?.(item, realIndex) ?? `swiper-page-${displayIndex}`;\n\n return (\n <LazyPage\n key={key}\n shouldMount={shouldMount}\n shouldUnmount={shouldUnmount}\n placeholder={renderPlaceholder?.(realIndex)}\n >\n {renderItem(item, realIndex)}\n </LazyPage>\n );\n })}\n </PagerView>\n );\n}\n\nconst styles = StyleSheet.create({\n pager: {\n flex: 1,\n },\n});\n\nexport const SwiperPagerView = forwardRef(SwiperPagerViewComponent) as <T>(\n props: SwiperProps<T> & { ref?: React.Ref<SwiperRef> },\n) => React.ReactElement;\n"],"names":["SwiperPagerViewComponent","props","ref","data","renderItem","keyExtractor","_props$infinite","infinite","_props$initialPage","initialPage","_props$cloneCount","cloneCount","_props$lazyMountWindo","lazyMountWindow","_props$removeClippedP","removeClippedPages","unmountThreshold","onPageChange","onNext","onPrev","onPageScrollStateChanged","style","pageMargin","offscreenPageLimit","_props$scrollEnabled","scrollEnabled","overdrag","renderPlaceholder","pagerRef","useRef","currentPageRef","isJumpingRef","pendingJumpRef","scrollStateRef","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","_useState3","Set","_useState4","mountedPages","setMountedPages","_useState5","_useState6","unmountPages","setUnmountPages","_useMemo","useMemo","prepareInfiniteData","displayData","offset","actualCloneCount","adjustedInitialPage","getDisplayIndex","updateMountedPages","useCallback","centerPage","newMounted","newUnmount","effectiveMountWindow","Math","max","min","ceil","effectiveUnmountThreshold","i","length","add","distance","abs","console","log","Array","from","handlePageSelected","event","newDisplayPage","nativeEvent","position","current","realIndex","getRealIndex","prevDisplayPage","jumpResult","shouldJumpForInfinite","shouldJump","jumpTo","handlePageScrollStateChanged","state","pageScrollState","targetPage","requestAnimationFrame","_pagerRef$current","setPageWithoutAnimation","setTimeout","useEffect","useImperativeHandle","goToPage","index","animated","arguments","undefined","clampedIndex","displayIndex","_pagerRef$current2","setPage","_pagerRef$current3","next","nextPage","_pagerRef$current4","_pagerRef$current5","_pagerRef$current6","_pagerRef$current7","prev","prevPage","_pagerRef$current8","_pagerRef$current9","_pagerRef$current0","_pagerRef$current1","getCurrentPage","React","createElement","PagerView","styles","pager","onPageSelected","map","item","_keyExtractor","shouldMount","has","shouldUnmount","key","concat","LazyPage","placeholder","StyleSheet","create","flex","SwiperPagerView","forwardRef"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export { Swiper } from './Swiper.js';
2
- import '../../_chunks/CgvIDP0E.js';
3
- import 'react';
4
- import './SwiperPagerView.js';
5
- import 'react-native';
6
- import 'react-native-pager-view';
7
- import './LazyPage.js';
8
- import './utils.js';
9
- import './SwiperFlatList.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- import { b as _toConsumableArray } from '../../_chunks/CgvIDP0E.js';
2
-
3
- function prepareInfiniteData(data, infinite) {
4
- var cloneCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
5
- if (!infinite || data.length < 3) {
6
- return {
7
- displayData: data,
8
- offset: 0,
9
- cloneCount: 0
10
- };
11
- }
12
- var actualCloneCount = cloneCount;
13
- var firstClones = data.slice(-actualCloneCount);
14
- var lastClones = data.slice(0, actualCloneCount);
15
- var leftClones = [];
16
- var rightClones = [];
17
- if (actualCloneCount > data.length) {
18
- var repeatCount = Math.ceil(actualCloneCount / data.length);
19
- for (var i = 0; i < repeatCount; i++) {
20
- var _leftClones, _rightClones;
21
- (_leftClones = leftClones).push.apply(_leftClones, _toConsumableArray(data));
22
- (_rightClones = rightClones).push.apply(_rightClones, _toConsumableArray(data));
23
- }
24
- leftClones = leftClones.slice(-actualCloneCount);
25
- rightClones = rightClones.slice(0, actualCloneCount);
26
- } else {
27
- leftClones = firstClones;
28
- rightClones = lastClones;
29
- }
30
- return {
31
- displayData: [].concat(_toConsumableArray(leftClones), _toConsumableArray(data), _toConsumableArray(rightClones)),
32
- offset: actualCloneCount,
33
- // Real data starts at this index
34
- cloneCount: actualCloneCount
35
- };
36
- }
37
- function shouldJumpForInfinite(newPage, dataLength, offset, cloneCount) {
38
- var threshold = Math.min(2, Math.max(1, Math.floor(cloneCount / 10)));
39
- if (newPage < threshold) {
40
- var dataIndex = cloneCount > dataLength ? newPage % dataLength : dataLength - cloneCount + newPage;
41
- return {
42
- shouldJump: true,
43
- jumpTo: offset + dataIndex
44
- };
45
- }
46
- var totalLength = offset + dataLength + cloneCount;
47
- if (newPage >= totalLength - threshold) {
48
- var offsetInCycle = (newPage - offset - dataLength) % dataLength;
49
- return {
50
- shouldJump: true,
51
- jumpTo: offset + offsetInCycle
52
- };
53
- }
54
- return {
55
- shouldJump: false
56
- };
57
- }
58
- function getRealIndex(displayIndex, offset, dataLength) {
59
- if (dataLength === 0) return 0;
60
- var adjusted = displayIndex - offset;
61
- return (adjusted % dataLength + dataLength) % dataLength;
62
- }
63
- function getDisplayIndex(realIndex, offset) {
64
- return realIndex + offset;
65
- }
66
-
67
- export { getDisplayIndex, getRealIndex, prepareInfiniteData, shouldJumpForInfinite };
68
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/components/Swiper/utils.ts"],"sourcesContent":["import type { InfiniteDataResult, JumpResult } from \"./types\";\n\n/**\n * Prepare data array for infinite scrolling by cloning boundary items\n *\n * @param data Original data array\n * @param infinite Whether infinite scroll is enabled\n * @param cloneCount Number of items to clone on each end (default: 2)\n * Can exceed data.length - will repeat entire array multiple times\n * @returns Object with displayData (with clones), offset, and cloneCount\n *\n * @example\n * // With data=[A,B,C] and cloneCount=2: [B,C,A,B,C,A,B]\n * // With data=[A,B,C] and cloneCount=5: [A,B,C,A,B,C,A,B,C,A,B]\n */\nexport function prepareInfiniteData<T>(data: T[], infinite: boolean, cloneCount: number = 2): InfiniteDataResult<T> {\n // Don't enable infinite for small datasets or when disabled\n if (!infinite || data.length < 3) {\n return {\n displayData: data,\n offset: 0,\n cloneCount: 0,\n };\n }\n\n // If cloneCount exceeds data length, we'll clone entire array multiple times\n // This provides maximum buffering for fast scrolling\n const actualCloneCount = cloneCount;\n\n // Clone items for seamless looping\n // If cloneCount > data.length, this will repeat the entire array\n const firstClones = data.slice(-actualCloneCount); // Last N items (or full array if N > length)\n const lastClones = data.slice(0, actualCloneCount); // First N items (or full array if N > length)\n\n // Handle case where cloneCount > data.length by repeating the array\n let leftClones: T[] = [];\n let rightClones: T[] = [];\n\n if (actualCloneCount > data.length) {\n // Repeat entire array multiple times\n const repeatCount = Math.ceil(actualCloneCount / data.length);\n for (let i = 0; i < repeatCount; i++) {\n leftClones.push(...data);\n rightClones.push(...data);\n }\n // Trim to exact clone count\n leftClones = leftClones.slice(-actualCloneCount);\n rightClones = rightClones.slice(0, actualCloneCount);\n } else {\n leftClones = firstClones;\n rightClones = lastClones;\n }\n\n // Structure: [leftClones, ...original, rightClones]\n // This allows seamless transition in both directions\n return {\n displayData: [...leftClones, ...data, ...rightClones],\n offset: actualCloneCount, // Real data starts at this index\n cloneCount: actualCloneCount,\n };\n}\n\n/**\n * Calculate if a jump is needed after page change for infinite scroll\n *\n * @param newPage Current display page index\n * @param dataLength Length of original data array\n * @param offset Offset where real data starts\n * @param cloneCount Number of clones on each side\n * @returns Object indicating if jump is needed and target index\n */\nexport function shouldJumpForInfinite(\n newPage: number,\n dataLength: number,\n offset: number,\n cloneCount: number,\n): JumpResult {\n // Only jump when within threshold of absolute edges\n // This prevents jumping too eagerly when cloneCount is large\n const threshold = Math.min(2, Math.max(1, Math.floor(cloneCount / 10)));\n\n // Near absolute start (left edge)\n if (newPage < threshold) {\n // Calculate position in the data cycle\n const dataIndex = cloneCount > dataLength ? newPage % dataLength : dataLength - cloneCount + newPage;\n\n return {\n shouldJump: true,\n jumpTo: offset + dataIndex,\n };\n }\n\n // Near absolute end (right edge)\n const totalLength = offset + dataLength + cloneCount;\n if (newPage >= totalLength - threshold) {\n // Calculate position in the data cycle\n const offsetInCycle = (newPage - offset - dataLength) % dataLength;\n\n return {\n shouldJump: true,\n jumpTo: offset + offsetInCycle,\n };\n }\n\n return { shouldJump: false };\n}\n\n/**\n * Convert display index to real data index\n *\n * @param displayIndex Index in the display array (with clones)\n * @param offset Offset where real data starts\n * @param dataLength Length of original data array\n * @returns Real index in original data array\n */\nexport function getRealIndex(displayIndex: number, offset: number, dataLength: number): number {\n if (dataLength === 0) return 0;\n\n // Adjust for offset and wrap around\n const adjusted = displayIndex - offset;\n return ((adjusted % dataLength) + dataLength) % dataLength;\n}\n\n/**\n * Get display index from real data index\n *\n * @param realIndex Index in original data array\n * @param offset Offset where real data starts\n * @returns Display index in display array (with clones)\n */\nexport function getDisplayIndex(realIndex: number, offset: number): number {\n return realIndex + offset;\n}\n"],"names":["prepareInfiniteData","data","infinite","cloneCount","arguments","length","undefined","displayData","offset","actualCloneCount","firstClones","slice","lastClones","leftClones","rightClones","repeatCount","Math","ceil","i","_leftClones","_rightClones","push","apply","_toConsumableArray","shouldJumpForInfinite","newPage","dataLength","threshold","min","max","floor","dataIndex","shouldJump","jumpTo","totalLength","offsetInCycle","getRealIndex","displayIndex","adjusted","getDisplayIndex","realIndex"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import type { LazyPageProps } from "./types";
3
- /**
4
- * LazyPage component that conditionally mounts/unmounts content
5
- * based on proximity to current page
6
- */
7
- export declare const LazyPage: React.FC<LazyPageProps>;
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- import type { SwiperProps, SwiperRef } from "./types";
3
- export declare const Swiper: <T>(props: SwiperProps<T> & {
4
- ref?: React.Ref<SwiperRef>;
5
- }) => React.ReactElement;
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- import type { SwiperProps, SwiperRef } from "./types";
3
- export declare const SwiperFlatList: <T>(props: SwiperProps<T> & {
4
- ref?: React.Ref<SwiperRef>;
5
- }) => React.ReactElement;
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- import type { SwiperProps, SwiperRef } from "./types";
3
- export declare const SwiperPagerView: <T>(props: SwiperProps<T> & {
4
- ref?: React.Ref<SwiperRef>;
5
- }) => React.ReactElement;
@@ -1,24 +0,0 @@
1
- /**
2
- * Swiper - A performant, data-driven carousel component
3
- *
4
- * @example
5
- * ```tsx
6
- * import { Swiper, SwiperRef } from '@/components/Swiper'
7
- *
8
- * const swiperRef = useRef<SwiperRef>(null)
9
- *
10
- * <Swiper
11
- * ref={swiperRef}
12
- * data={items}
13
- * renderItem={(item, index) => <ItemCard item={item} />}
14
- * infinite
15
- * onPageChange={(index) => console.log('Page:', index)}
16
- * />
17
- *
18
- * // Programmatic control
19
- * swiperRef.current?.next()
20
- * swiperRef.current?.goToPage(5)
21
- * ```
22
- */
23
- export { Swiper } from "./Swiper";
24
- export type { SwiperProps, SwiperRef } from "./types";
@@ -1,166 +0,0 @@
1
- import { ReactNode } from "react";
2
- import { StyleProp, ViewStyle } from "react-native";
3
- /**
4
- * Props for the Swiper component
5
- */
6
- export interface SwiperProps<T> {
7
- /** Array of data items to render */
8
- data: T[];
9
- /** Function to render each item */
10
- renderItem: (item: T, index: number) => ReactNode;
11
- /** Optional key extractor for list items */
12
- keyExtractor?: (item: T, index: number) => string;
13
- /** Enable infinite/loop scrolling */
14
- infinite?: boolean;
15
- /** Initial page index to display */
16
- initialPage?: number;
17
- /**
18
- * Choose implementation: 'pagerView' or 'flatlist'
19
- *
20
- * PagerView (default):
21
- * - Native ViewPager (Android) / UIPageViewController (iOS)
22
- * - Smooth 60fps gestures
23
- * - Better UX for small-medium datasets
24
- *
25
- * FlatList:
26
- * - Built-in virtualization (better for large datasets)
27
- * - removeClippedSubviews support
28
- * - More predictable behavior across platforms
29
- *
30
- * Default: 'pagerView'
31
- */
32
- implementation?: "pagerView" | "flatlist";
33
- /**
34
- * Number of items to clone on each end for infinite scroll (default: 2)
35
- *
36
- * Can be set larger than array length for maximum buffering.
37
- * Higher values = smoother fast scrolling, but more memory usage.
38
- *
39
- * Examples:
40
- * - cloneCount=2: Default, good for most cases
41
- * - cloneCount=5-10: Better for fast scrolling
42
- * - cloneCount=20+: Maximum buffer for very fast scrolling
43
- */
44
- cloneCount?: number;
45
- /**
46
- * Number of pages to mount on each side of current page (default: 2)
47
- *
48
- * Note: When cloneCount is large, the effective mount window will
49
- * automatically scale up to prevent blank pages during fast scrolling.
50
- * Effective window = max(lazyMountWindow, cloneCount/10, capped at 10)
51
- */
52
- lazyMountWindow?: number;
53
- /**
54
- * Enable aggressive memory management by unmounting pages far from current position
55
- *
56
- * When true, pages beyond unmountThreshold will be unmounted to free memory.
57
- * When false (default), pages stay mounted once loaded for better UX.
58
- *
59
- * Recommended: true for large datasets with heavy content (images/videos)
60
- */
61
- removeClippedPages?: boolean;
62
- /**
63
- * Distance from current page before unmounting (default: lazyMountWindow * 3)
64
- * Only applies when removeClippedPages is true
65
- */
66
- unmountThreshold?: number;
67
- /** Callback when page changes */
68
- onPageChange?: (index: number) => void;
69
- /** Callback when swiping to next page */
70
- onNext?: (index: number) => void;
71
- /** Callback when swiping to previous page */
72
- onPrev?: (index: number) => void;
73
- /** Callback when scroll state changes */
74
- onPageScrollStateChanged?: (state: "idle" | "dragging" | "settling") => void;
75
- /**
76
- * Callback when user releases drag (before momentum scroll begins)
77
- *
78
- * FlatList implementation only.
79
- * Fires when user lifts finger after dragging, before momentum animation starts.
80
- * Useful for immediate UI updates (e.g., updating active indicator)
81
- * while deferring expensive operations (e.g., data fetching) to onPageChange.
82
- *
83
- * @param index - The page index where drag ended (real index, not display index)
84
- *
85
- * @example
86
- * <Swiper
87
- * implementation="flatlist"
88
- * onScrollEndDrag={(index) => updateActiveIndex(index)} // Fast UI update
89
- * onPageChange={(index) => fetchData(index)} // Slower data fetch
90
- * />
91
- */
92
- onScrollEndDrag?: (index: number) => void;
93
- /** Style for the pager container */
94
- style?: StyleProp<ViewStyle>;
95
- /** Margin between pages (Android only) */
96
- pageMargin?: number;
97
- /** Enable/disable scrolling */
98
- scrollEnabled?: boolean;
99
- /** Allow overdrag effect */
100
- overdrag?: boolean;
101
- /**
102
- * Number of pages to keep off-screen on each side (Android only)
103
- *
104
- * This is a NATIVE Android API that destroys/recreates views automatically.
105
- * More efficient than our JS-based removeClippedPages approach.
106
- *
107
- * Note: iOS doesn't support this - all pages stay in memory on iOS
108
- *
109
- * Examples:
110
- * - offscreenPageLimit=1: Keep 1 page on each side (3 total in memory)
111
- * - offscreenPageLimit=2: Keep 2 pages on each side (5 total in memory)
112
- *
113
- * Default: Android default is 1, but PagerView doesn't set a default
114
- */
115
- offscreenPageLimit?: number;
116
- /** Custom placeholder component for unmounted pages */
117
- renderPlaceholder?: (index: number) => ReactNode;
118
- }
119
- /**
120
- * Ref methods exposed by Swiper component
121
- */
122
- export interface SwiperRef {
123
- /** Navigate to specific page */
124
- goToPage: (index: number, animated?: boolean) => void;
125
- /** Go to next page */
126
- next: (animated?: boolean) => void;
127
- /** Go to previous page */
128
- prev: (animated?: boolean) => void;
129
- /** Get current page index */
130
- getCurrentPage: () => number;
131
- }
132
- /**
133
- * Props for LazyPage component
134
- */
135
- export interface LazyPageProps {
136
- /** Whether this page should be mounted */
137
- shouldMount: boolean;
138
- /** Whether this page should be unmounted if far away */
139
- shouldUnmount?: boolean;
140
- /** Content to render when mounted */
141
- children: ReactNode;
142
- /** Optional placeholder when not mounted */
143
- placeholder?: ReactNode;
144
- /** Style for page container */
145
- style?: StyleProp<ViewStyle>;
146
- }
147
- /**
148
- * Return type for infinite data preparation
149
- */
150
- export interface InfiniteDataResult<T> {
151
- /** Data array with clones added */
152
- displayData: T[];
153
- /** Offset where real data starts */
154
- offset: number;
155
- /** Number of clones on each side */
156
- cloneCount: number;
157
- }
158
- /**
159
- * Return type for jump calculation
160
- */
161
- export interface JumpResult {
162
- /** Whether a jump is needed */
163
- shouldJump: boolean;
164
- /** Target index to jump to (if shouldJump is true) */
165
- jumpTo?: number;
166
- }
@@ -1,42 +0,0 @@
1
- import type { InfiniteDataResult, JumpResult } from "./types";
2
- /**
3
- * Prepare data array for infinite scrolling by cloning boundary items
4
- *
5
- * @param data Original data array
6
- * @param infinite Whether infinite scroll is enabled
7
- * @param cloneCount Number of items to clone on each end (default: 2)
8
- * Can exceed data.length - will repeat entire array multiple times
9
- * @returns Object with displayData (with clones), offset, and cloneCount
10
- *
11
- * @example
12
- * // With data=[A,B,C] and cloneCount=2: [B,C,A,B,C,A,B]
13
- * // With data=[A,B,C] and cloneCount=5: [A,B,C,A,B,C,A,B,C,A,B]
14
- */
15
- export declare function prepareInfiniteData<T>(data: T[], infinite: boolean, cloneCount?: number): InfiniteDataResult<T>;
16
- /**
17
- * Calculate if a jump is needed after page change for infinite scroll
18
- *
19
- * @param newPage Current display page index
20
- * @param dataLength Length of original data array
21
- * @param offset Offset where real data starts
22
- * @param cloneCount Number of clones on each side
23
- * @returns Object indicating if jump is needed and target index
24
- */
25
- export declare function shouldJumpForInfinite(newPage: number, dataLength: number, offset: number, cloneCount: number): JumpResult;
26
- /**
27
- * Convert display index to real data index
28
- *
29
- * @param displayIndex Index in the display array (with clones)
30
- * @param offset Offset where real data starts
31
- * @param dataLength Length of original data array
32
- * @returns Real index in original data array
33
- */
34
- export declare function getRealIndex(displayIndex: number, offset: number, dataLength: number): number;
35
- /**
36
- * Get display index from real data index
37
- *
38
- * @param realIndex Index in original data array
39
- * @param offset Offset where real data starts
40
- * @returns Display index in display array (with clones)
41
- */
42
- export declare function getDisplayIndex(realIndex: number, offset: number): number;