@xhsreds/reds-rn-next 0.9.1-beta202510291556 → 0.9.1-feat-swiper202511031535

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 (499) 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-16.json +1 -1
  5. package/coverage/.tmp/coverage-17.json +1 -1
  6. package/coverage/.tmp/coverage-2.json +1 -1
  7. package/coverage/.tmp/coverage-21.json +1 -1
  8. package/coverage/.tmp/coverage-22.json +1 -1
  9. package/coverage/.tmp/coverage-26.json +1 -1
  10. package/coverage/.tmp/coverage-27.json +1 -1
  11. package/coverage/.tmp/coverage-29.json +1 -1
  12. package/coverage/.tmp/coverage-3.json +1 -1
  13. package/coverage/.tmp/coverage-30.json +1 -1
  14. package/coverage/.tmp/coverage-31.json +1 -1
  15. package/coverage/.tmp/coverage-32.json +1 -1
  16. package/coverage/.tmp/coverage-33.json +1 -1
  17. package/coverage/.tmp/coverage-34.json +1 -1
  18. package/coverage/.tmp/coverage-35.json +1 -1
  19. package/coverage/.tmp/coverage-36.json +1 -1
  20. package/coverage/.tmp/coverage-37.json +1 -1
  21. package/coverage/.tmp/coverage-38.json +1 -1
  22. package/coverage/.tmp/coverage-39.json +1 -1
  23. package/coverage/.tmp/coverage-4.json +1 -1
  24. package/coverage/.tmp/coverage-40.json +1 -1
  25. package/coverage/.tmp/coverage-41.json +1 -1
  26. package/coverage/.tmp/coverage-42.json +1 -1
  27. package/coverage/.tmp/coverage-5.json +1 -1
  28. package/coverage/.tmp/coverage-7.json +1 -1
  29. package/coverage/.tmp/coverage-8.json +1 -1
  30. package/coverage/.tmp/coverage-9.json +1 -1
  31. package/lib/cjs/_chunks/CwkpVXDI.js.map +1 -1
  32. package/lib/cjs/_chunks/{DNr-ZG4Y.js → Dn-t7SiM.js} +2 -2
  33. package/lib/cjs/_chunks/{DNr-ZG4Y.js.map → Dn-t7SiM.js.map} +1 -1
  34. package/lib/cjs/_chunks/{C9tZEm0t.js → hnLc3Qom.js} +8 -10
  35. package/lib/cjs/_chunks/{C9tZEm0t.js.map → hnLc3Qom.js.map} +1 -1
  36. package/lib/cjs/components/ActionSheets/ActionSheets.js +1 -1
  37. package/lib/cjs/components/ActionSheets/ActionSheetsItem.js +1 -1
  38. package/lib/cjs/components/ActionSheets/api.js +1 -1
  39. package/lib/cjs/components/ActionSheets/hooks.js +1 -1
  40. package/lib/cjs/components/ActionSheets/index.js +1 -1
  41. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +1 -1
  42. package/lib/cjs/components/ActionablePopover/index.js +1 -1
  43. package/lib/cjs/components/Alert/Alert.js +1 -1
  44. package/lib/cjs/components/Alert/hooks/alert.js +1 -1
  45. package/lib/cjs/components/Alert/index.js +1 -1
  46. package/lib/cjs/components/Alert/styles.js +1 -1
  47. package/lib/cjs/components/Avatar/Avatar.js +1 -1
  48. package/lib/cjs/components/Avatar/index.js +1 -1
  49. package/lib/cjs/components/Avatar/styles.js +1 -1
  50. package/lib/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
  51. package/lib/cjs/components/AvatarGroup/index.js +1 -1
  52. package/lib/cjs/components/Badge/Badge.js +1 -1
  53. package/lib/cjs/components/Badge/index.js +1 -1
  54. package/lib/cjs/components/Badge/styles.js +1 -1
  55. package/lib/cjs/components/BottomBar/BottomBar.js +1 -1
  56. package/lib/cjs/components/BottomBar/index.js +1 -1
  57. package/lib/cjs/components/Button/Button.js +1 -1
  58. package/lib/cjs/components/Button/Viewable.js +1 -1
  59. package/lib/cjs/components/Button/index.js +1 -1
  60. package/lib/cjs/components/Button/styleMap.js +1 -1
  61. package/lib/cjs/components/Carousel/Carousel.js +3 -10
  62. package/lib/cjs/components/Carousel/Carousel.js.map +1 -1
  63. package/lib/cjs/components/Carousel/index.js +1 -1
  64. package/lib/cjs/components/CheckBoxGroup/CheckBox.js +1 -1
  65. package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  66. package/lib/cjs/components/CheckBoxGroup/index.js +1 -1
  67. package/lib/cjs/components/CheckBoxGroup/styles.js +1 -1
  68. package/lib/cjs/components/Collapse/Collapse.js +1 -1
  69. package/lib/cjs/components/Collapse/Item/Item.js +1 -1
  70. package/lib/cjs/components/Collapse/Item/styles.js +1 -1
  71. package/lib/cjs/components/Collapse/index.js +1 -1
  72. package/lib/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  73. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  74. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  75. package/lib/cjs/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  76. package/lib/cjs/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  77. package/lib/cjs/components/ConfigProvider/index.js +1 -1
  78. package/lib/cjs/components/DatePicker/DatePicker.js +1 -1
  79. package/lib/cjs/components/DatePicker/api.js +1 -1
  80. package/lib/cjs/components/DatePicker/index.js +1 -1
  81. package/lib/cjs/components/Divider/Divider.js +1 -1
  82. package/lib/cjs/components/Divider/index.js +1 -1
  83. package/lib/cjs/components/Divider/styles.js +1 -1
  84. package/lib/cjs/components/DropDown/DropDown.js +1 -1
  85. package/lib/cjs/components/DropDown/DropDownItem.js +1 -1
  86. package/lib/cjs/components/DropDown/index.js +1 -1
  87. package/lib/cjs/components/Empty/Empty.js +1 -1
  88. package/lib/cjs/components/Empty/index.js +1 -1
  89. package/lib/cjs/components/Empty/styles.js +1 -1
  90. package/lib/cjs/components/FAB/FAB.js +1 -1
  91. package/lib/cjs/components/FAB/index.js +1 -1
  92. package/lib/cjs/components/Form/Form.js +1 -1
  93. package/lib/cjs/components/Form/FormItem.js +1 -1
  94. package/lib/cjs/components/Form/index.js +1 -1
  95. package/lib/cjs/components/Form/styles.js +1 -1
  96. package/lib/cjs/components/Image/Image.js +1 -1
  97. package/lib/cjs/components/Image/Image69.js +1 -1
  98. package/lib/cjs/components/Image/VisibilitySensor.js +1 -1
  99. package/lib/cjs/components/Image/hook/index.js +1 -1
  100. package/lib/cjs/components/Image/index.js +1 -1
  101. package/lib/cjs/components/Image/utils.js +1 -1
  102. package/lib/cjs/components/ImagePreview/ImagePreview.js +1 -1
  103. package/lib/cjs/components/ImagePreview/api.js +1 -1
  104. package/lib/cjs/components/ImagePreview/index.js +1 -1
  105. package/lib/cjs/components/LanguageProvider/hooks/useLanguage.js +1 -1
  106. package/lib/cjs/components/LanguageProvider/index.js +1 -1
  107. package/lib/cjs/components/List/List.js +1 -1
  108. package/lib/cjs/components/List/ListItem/ListItem.js +1 -1
  109. package/lib/cjs/components/List/index.js +1 -1
  110. package/lib/cjs/components/List/styles.js +1 -1
  111. package/lib/cjs/components/MiniSnackBar/MiniSnackBar.js +1 -1
  112. package/lib/cjs/components/MiniSnackBar/index.js +1 -1
  113. package/lib/cjs/components/MiniSnackBar/styles.js +1 -1
  114. package/lib/cjs/components/NavigationBar/NavigationBar.js +1 -1
  115. package/lib/cjs/components/NavigationBar/index.js +1 -1
  116. package/lib/cjs/components/NavigationBar/styles.js +1 -1
  117. package/lib/cjs/components/NoticeBar/NoticeBar.js +1 -1
  118. package/lib/cjs/components/NoticeBar/index.js +1 -1
  119. package/lib/cjs/components/Picker/Picker.js +1 -1
  120. package/lib/cjs/components/Picker/api.js +1 -1
  121. package/lib/cjs/components/Picker/index.js +1 -1
  122. package/lib/cjs/components/PickerView/PickerView.js +1 -1
  123. package/lib/cjs/components/PickerView/Wheel.js +1 -1
  124. package/lib/cjs/components/PickerView/index.js +1 -1
  125. package/lib/cjs/components/Popover/Popover.js +4 -5
  126. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  127. package/lib/cjs/components/Popover/index.js +1 -1
  128. package/lib/cjs/components/Portal/core/PortalProvider.js +1 -1
  129. package/lib/cjs/components/Portal/index.js +1 -1
  130. package/lib/cjs/components/Progress/Progress.js +1 -1
  131. package/lib/cjs/components/Progress/index.js +1 -1
  132. package/lib/cjs/components/Progress/styles.js +1 -1
  133. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +1 -1
  134. package/lib/cjs/components/ProgressIndicator/index.js +1 -1
  135. package/lib/cjs/components/ProgressIndicator/styles.js +1 -1
  136. package/lib/cjs/components/PullRefresh/PullRefresh.js +1 -1
  137. package/lib/cjs/components/PullRefresh/component.js +1 -1
  138. package/lib/cjs/components/PullRefresh/index.js +1 -1
  139. package/lib/cjs/components/Radio/Radio.js +8 -2
  140. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  141. package/lib/cjs/components/Radio/RadioGroup.js +1 -1
  142. package/lib/cjs/components/Radio/index.js +8 -2
  143. package/lib/cjs/components/Radio/index.js.map +1 -1
  144. package/lib/cjs/components/Radio/styles.js +1 -1
  145. package/lib/cjs/components/Rate/Rate.js +1 -1
  146. package/lib/cjs/components/Rate/index.js +1 -1
  147. package/lib/cjs/components/Result/Result.js +1 -1
  148. package/lib/cjs/components/Result/index.js +1 -1
  149. package/lib/cjs/components/Result/styles.js +1 -1
  150. package/lib/cjs/components/Search/Search.js +1 -1
  151. package/lib/cjs/components/Search/index.js +1 -1
  152. package/lib/cjs/components/Search/styles.js +1 -1
  153. package/lib/cjs/components/SegmentedControl/SegmentedControl.js +1 -1
  154. package/lib/cjs/components/SegmentedControl/index.js +1 -1
  155. package/lib/cjs/components/Sheets/AnimatedSheets.js +1 -1
  156. package/lib/cjs/components/Sheets/Sheets.js +1 -1
  157. package/lib/cjs/components/Sheets/api.js +1 -1
  158. package/lib/cjs/components/Sheets/index.js +1 -1
  159. package/lib/cjs/components/Sheets/styles.js +2 -2
  160. package/lib/cjs/components/Sheets/styles.js.map +1 -1
  161. package/lib/cjs/components/Skeleton/Item/SkeletonItem.js +1 -1
  162. package/lib/cjs/components/Skeleton/Item/SkeletonItem69.js +1 -1
  163. package/lib/cjs/components/Skeleton/Skeleton.js +1 -1
  164. package/lib/cjs/components/Skeleton/Skeleton69.js +1 -1
  165. package/lib/cjs/components/Skeleton/index.js +1 -1
  166. package/lib/cjs/components/Slider/Slider.js +1 -1
  167. package/lib/cjs/components/Slider/index.js +1 -1
  168. package/lib/cjs/components/SlimAlert/Alert.js +1 -1
  169. package/lib/cjs/components/SlimAlert/AlertContent.js +1 -1
  170. package/lib/cjs/components/SlimAlert/AlertFooter.js +1 -1
  171. package/lib/cjs/components/SlimAlert/index.js +1 -1
  172. package/lib/cjs/components/SlimAlert/styles.js +1 -1
  173. package/lib/cjs/components/SlimNavigationBar/NavigationBar.js +1 -1
  174. package/lib/cjs/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  175. package/lib/cjs/components/SlimNavigationBar/index.js +1 -1
  176. package/lib/cjs/components/SlimNavigationBar/styles.js +1 -1
  177. package/lib/cjs/components/SlimSheets/AnimatedSheets.js +1 -1
  178. package/lib/cjs/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  179. package/lib/cjs/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  180. package/lib/cjs/components/SlimSheets/DragAnimatedSheets.js +1 -1
  181. package/lib/cjs/components/SlimSheets/index.js +1 -1
  182. package/lib/cjs/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  183. package/lib/cjs/components/SlimTabs/SlimTab.js +1 -1
  184. package/lib/cjs/components/SlimTabs/SlimTabItem.js +1 -1
  185. package/lib/cjs/components/SlimTabs/SlimTabItemLabel.js +1 -1
  186. package/lib/cjs/components/SlimTabs/SlimTabItemValue.js +1 -1
  187. package/lib/cjs/components/SlimTabs/SlimTabList.js +1 -1
  188. package/lib/cjs/components/SlimTabs/index.js +1 -1
  189. package/lib/cjs/components/SlimTabs/styles.js +1 -1
  190. package/lib/cjs/components/SnackBar/SnackBar.js +1 -1
  191. package/lib/cjs/components/SnackBar/index.js +1 -1
  192. package/lib/cjs/components/SnackBar/styles.js +1 -1
  193. package/lib/cjs/components/Stepper/Stepper.js +1 -1
  194. package/lib/cjs/components/Stepper/index.js +1 -1
  195. package/lib/cjs/components/Swiper/LazyPage.js +42 -0
  196. package/lib/cjs/components/Swiper/LazyPage.js.map +1 -0
  197. package/lib/cjs/components/Swiper/Swiper.js +27 -0
  198. package/lib/cjs/components/Swiper/Swiper.js.map +1 -0
  199. package/lib/cjs/components/Swiper/SwiperFlatList.js +227 -0
  200. package/lib/cjs/components/Swiper/SwiperFlatList.js.map +1 -0
  201. package/lib/cjs/components/Swiper/SwiperPagerView.js +231 -0
  202. package/lib/cjs/components/Swiper/SwiperPagerView.js.map +1 -0
  203. package/lib/cjs/components/Swiper/index.js +16 -0
  204. package/lib/cjs/components/Swiper/index.js.map +1 -0
  205. package/lib/cjs/components/Swiper/types.js +3 -0
  206. package/lib/cjs/components/Swiper/types.js.map +1 -0
  207. package/lib/cjs/components/Swiper/utils.js +73 -0
  208. package/lib/cjs/components/Swiper/utils.js.map +1 -0
  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 +9 -2
  244. package/lib/cjs/index.js.map +1 -1
  245. package/lib/cjs/pvCount/pvData.js +1 -0
  246. package/lib/cjs/pvCount/pvData.js.map +1 -1
  247. package/lib/esm/_chunks/{CAkwE9ZD.js → CgvIDP0E.js} +8 -10
  248. package/lib/esm/_chunks/{CAkwE9ZD.js.map → CgvIDP0E.js.map} +1 -1
  249. package/lib/esm/_chunks/{eYElHgNc.js → DRgGcbc8.js} +2 -2
  250. package/lib/esm/_chunks/{eYElHgNc.js.map → DRgGcbc8.js.map} +1 -1
  251. package/lib/esm/_chunks/Da9cW8JG.js.map +1 -1
  252. package/lib/esm/components/ActionSheets/ActionSheets.js +1 -1
  253. package/lib/esm/components/ActionSheets/ActionSheetsItem.js +1 -1
  254. package/lib/esm/components/ActionSheets/api.js +1 -1
  255. package/lib/esm/components/ActionSheets/hooks.js +1 -1
  256. package/lib/esm/components/ActionSheets/index.js +1 -1
  257. package/lib/esm/components/ActionablePopover/ActionablePopover.js +1 -1
  258. package/lib/esm/components/ActionablePopover/index.js +1 -1
  259. package/lib/esm/components/Alert/Alert.js +1 -1
  260. package/lib/esm/components/Alert/hooks/alert.js +1 -1
  261. package/lib/esm/components/Alert/index.js +1 -1
  262. package/lib/esm/components/Alert/styles.js +1 -1
  263. package/lib/esm/components/Avatar/Avatar.js +1 -1
  264. package/lib/esm/components/Avatar/index.js +1 -1
  265. package/lib/esm/components/Avatar/styles.js +1 -1
  266. package/lib/esm/components/AvatarGroup/AvatarGroup.js +1 -1
  267. package/lib/esm/components/AvatarGroup/index.js +1 -1
  268. package/lib/esm/components/Badge/Badge.js +1 -1
  269. package/lib/esm/components/Badge/index.js +1 -1
  270. package/lib/esm/components/Badge/styles.js +1 -1
  271. package/lib/esm/components/BottomBar/BottomBar.js +1 -1
  272. package/lib/esm/components/BottomBar/index.js +1 -1
  273. package/lib/esm/components/Button/Button.js +1 -1
  274. package/lib/esm/components/Button/Viewable.js +1 -1
  275. package/lib/esm/components/Button/index.js +1 -1
  276. package/lib/esm/components/Button/styleMap.js +1 -1
  277. package/lib/esm/components/Carousel/Carousel.js +3 -10
  278. package/lib/esm/components/Carousel/Carousel.js.map +1 -1
  279. package/lib/esm/components/Carousel/index.js +1 -1
  280. package/lib/esm/components/CheckBoxGroup/CheckBox.js +1 -1
  281. package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  282. package/lib/esm/components/CheckBoxGroup/index.js +1 -1
  283. package/lib/esm/components/CheckBoxGroup/styles.js +1 -1
  284. package/lib/esm/components/Collapse/Collapse.js +1 -1
  285. package/lib/esm/components/Collapse/Item/Item.js +1 -1
  286. package/lib/esm/components/Collapse/Item/styles.js +1 -1
  287. package/lib/esm/components/Collapse/index.js +1 -1
  288. package/lib/esm/components/ConfigProvider/ConfigProvider.js +1 -1
  289. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  290. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  291. package/lib/esm/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  292. package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  293. package/lib/esm/components/ConfigProvider/index.js +1 -1
  294. package/lib/esm/components/DatePicker/DatePicker.js +1 -1
  295. package/lib/esm/components/DatePicker/api.js +1 -1
  296. package/lib/esm/components/DatePicker/index.js +1 -1
  297. package/lib/esm/components/Divider/Divider.js +1 -1
  298. package/lib/esm/components/Divider/index.js +1 -1
  299. package/lib/esm/components/Divider/styles.js +1 -1
  300. package/lib/esm/components/DropDown/DropDown.js +1 -1
  301. package/lib/esm/components/DropDown/DropDownItem.js +1 -1
  302. package/lib/esm/components/DropDown/index.js +1 -1
  303. package/lib/esm/components/Empty/Empty.js +1 -1
  304. package/lib/esm/components/Empty/index.js +1 -1
  305. package/lib/esm/components/Empty/styles.js +1 -1
  306. package/lib/esm/components/FAB/FAB.js +1 -1
  307. package/lib/esm/components/FAB/index.js +1 -1
  308. package/lib/esm/components/Form/Form.js +1 -1
  309. package/lib/esm/components/Form/FormItem.js +1 -1
  310. package/lib/esm/components/Form/index.js +1 -1
  311. package/lib/esm/components/Form/styles.js +1 -1
  312. package/lib/esm/components/Image/Image.js +1 -1
  313. package/lib/esm/components/Image/Image69.js +1 -1
  314. package/lib/esm/components/Image/VisibilitySensor.js +1 -1
  315. package/lib/esm/components/Image/hook/index.js +1 -1
  316. package/lib/esm/components/Image/index.js +1 -1
  317. package/lib/esm/components/Image/utils.js +1 -1
  318. package/lib/esm/components/ImagePreview/ImagePreview.js +1 -1
  319. package/lib/esm/components/ImagePreview/api.js +1 -1
  320. package/lib/esm/components/ImagePreview/index.js +1 -1
  321. package/lib/esm/components/LanguageProvider/hooks/useLanguage.js +1 -1
  322. package/lib/esm/components/LanguageProvider/index.js +1 -1
  323. package/lib/esm/components/List/List.js +1 -1
  324. package/lib/esm/components/List/ListItem/ListItem.js +1 -1
  325. package/lib/esm/components/List/index.js +1 -1
  326. package/lib/esm/components/List/styles.js +1 -1
  327. package/lib/esm/components/MiniSnackBar/MiniSnackBar.js +1 -1
  328. package/lib/esm/components/MiniSnackBar/index.js +1 -1
  329. package/lib/esm/components/MiniSnackBar/styles.js +1 -1
  330. package/lib/esm/components/NavigationBar/NavigationBar.js +1 -1
  331. package/lib/esm/components/NavigationBar/index.js +1 -1
  332. package/lib/esm/components/NavigationBar/styles.js +1 -1
  333. package/lib/esm/components/NoticeBar/NoticeBar.js +1 -1
  334. package/lib/esm/components/NoticeBar/index.js +1 -1
  335. package/lib/esm/components/Picker/Picker.js +1 -1
  336. package/lib/esm/components/Picker/api.js +1 -1
  337. package/lib/esm/components/Picker/index.js +1 -1
  338. package/lib/esm/components/PickerView/PickerView.js +1 -1
  339. package/lib/esm/components/PickerView/Wheel.js +1 -1
  340. package/lib/esm/components/PickerView/index.js +1 -1
  341. package/lib/esm/components/Popover/Popover.js +4 -5
  342. package/lib/esm/components/Popover/Popover.js.map +1 -1
  343. package/lib/esm/components/Popover/index.js +1 -1
  344. package/lib/esm/components/Portal/core/PortalProvider.js +1 -1
  345. package/lib/esm/components/Portal/index.js +1 -1
  346. package/lib/esm/components/Progress/Progress.js +1 -1
  347. package/lib/esm/components/Progress/index.js +1 -1
  348. package/lib/esm/components/Progress/styles.js +1 -1
  349. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +1 -1
  350. package/lib/esm/components/ProgressIndicator/index.js +1 -1
  351. package/lib/esm/components/ProgressIndicator/styles.js +1 -1
  352. package/lib/esm/components/PullRefresh/PullRefresh.js +1 -1
  353. package/lib/esm/components/PullRefresh/component.js +1 -1
  354. package/lib/esm/components/PullRefresh/index.js +1 -1
  355. package/lib/esm/components/Radio/Radio.js +8 -2
  356. package/lib/esm/components/Radio/Radio.js.map +1 -1
  357. package/lib/esm/components/Radio/RadioGroup.js +1 -1
  358. package/lib/esm/components/Radio/index.js +8 -2
  359. package/lib/esm/components/Radio/index.js.map +1 -1
  360. package/lib/esm/components/Radio/styles.js +1 -1
  361. package/lib/esm/components/Rate/Rate.js +1 -1
  362. package/lib/esm/components/Rate/index.js +1 -1
  363. package/lib/esm/components/Result/Result.js +1 -1
  364. package/lib/esm/components/Result/index.js +1 -1
  365. package/lib/esm/components/Result/styles.js +1 -1
  366. package/lib/esm/components/Search/Search.js +1 -1
  367. package/lib/esm/components/Search/index.js +1 -1
  368. package/lib/esm/components/Search/styles.js +1 -1
  369. package/lib/esm/components/SegmentedControl/SegmentedControl.js +1 -1
  370. package/lib/esm/components/SegmentedControl/index.js +1 -1
  371. package/lib/esm/components/Sheets/AnimatedSheets.js +1 -1
  372. package/lib/esm/components/Sheets/Sheets.js +1 -1
  373. package/lib/esm/components/Sheets/api.js +1 -1
  374. package/lib/esm/components/Sheets/index.js +1 -1
  375. package/lib/esm/components/Sheets/styles.js +2 -2
  376. package/lib/esm/components/Sheets/styles.js.map +1 -1
  377. package/lib/esm/components/Skeleton/Item/SkeletonItem.js +1 -1
  378. package/lib/esm/components/Skeleton/Item/SkeletonItem69.js +1 -1
  379. package/lib/esm/components/Skeleton/Skeleton.js +1 -1
  380. package/lib/esm/components/Skeleton/Skeleton69.js +1 -1
  381. package/lib/esm/components/Skeleton/index.js +1 -1
  382. package/lib/esm/components/Slider/Slider.js +1 -1
  383. package/lib/esm/components/Slider/index.js +1 -1
  384. package/lib/esm/components/SlimAlert/Alert.js +1 -1
  385. package/lib/esm/components/SlimAlert/AlertContent.js +1 -1
  386. package/lib/esm/components/SlimAlert/AlertFooter.js +1 -1
  387. package/lib/esm/components/SlimAlert/index.js +1 -1
  388. package/lib/esm/components/SlimAlert/styles.js +1 -1
  389. package/lib/esm/components/SlimNavigationBar/NavigationBar.js +1 -1
  390. package/lib/esm/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  391. package/lib/esm/components/SlimNavigationBar/index.js +1 -1
  392. package/lib/esm/components/SlimNavigationBar/styles.js +1 -1
  393. package/lib/esm/components/SlimSheets/AnimatedSheets.js +1 -1
  394. package/lib/esm/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  395. package/lib/esm/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  396. package/lib/esm/components/SlimSheets/DragAnimatedSheets.js +1 -1
  397. package/lib/esm/components/SlimSheets/index.js +1 -1
  398. package/lib/esm/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  399. package/lib/esm/components/SlimTabs/SlimTab.js +1 -1
  400. package/lib/esm/components/SlimTabs/SlimTabItem.js +1 -1
  401. package/lib/esm/components/SlimTabs/SlimTabItemLabel.js +1 -1
  402. package/lib/esm/components/SlimTabs/SlimTabItemValue.js +1 -1
  403. package/lib/esm/components/SlimTabs/SlimTabList.js +1 -1
  404. package/lib/esm/components/SlimTabs/index.js +1 -1
  405. package/lib/esm/components/SlimTabs/styles.js +1 -1
  406. package/lib/esm/components/SnackBar/SnackBar.js +1 -1
  407. package/lib/esm/components/SnackBar/index.js +1 -1
  408. package/lib/esm/components/SnackBar/styles.js +1 -1
  409. package/lib/esm/components/Stepper/Stepper.js +1 -1
  410. package/lib/esm/components/Stepper/index.js +1 -1
  411. package/lib/esm/components/Swiper/LazyPage.js +40 -0
  412. package/lib/esm/components/Swiper/LazyPage.js.map +1 -0
  413. package/lib/esm/components/Swiper/Swiper.js +25 -0
  414. package/lib/esm/components/Swiper/Swiper.js.map +1 -0
  415. package/lib/esm/components/Swiper/SwiperFlatList.js +225 -0
  416. package/lib/esm/components/Swiper/SwiperFlatList.js.map +1 -0
  417. package/lib/esm/components/Swiper/SwiperPagerView.js +229 -0
  418. package/lib/esm/components/Swiper/SwiperPagerView.js.map +1 -0
  419. package/lib/esm/components/Swiper/index.js +10 -0
  420. package/lib/esm/components/Swiper/index.js.map +1 -0
  421. package/lib/esm/components/Swiper/types.js +2 -0
  422. package/lib/esm/components/Swiper/types.js.map +1 -0
  423. package/lib/esm/components/Swiper/utils.js +68 -0
  424. package/lib/esm/components/Swiper/utils.js.map +1 -0
  425. package/lib/esm/components/Switch/Switch.js +1 -1
  426. package/lib/esm/components/Switch/index.js +1 -1
  427. package/lib/esm/components/Tab/Tabs.js +1 -1
  428. package/lib/esm/components/Tab/index.js +1 -1
  429. package/lib/esm/components/Tab/styles.js +1 -1
  430. package/lib/esm/components/TabBar/TabBar.js +1 -1
  431. package/lib/esm/components/TabBar/index.js +1 -1
  432. package/lib/esm/components/TabBar/styles.js +1 -1
  433. package/lib/esm/components/Tag/Tag.js +1 -1
  434. package/lib/esm/components/Tag/index.js +1 -1
  435. package/lib/esm/components/Text/Text.js +1 -1
  436. package/lib/esm/components/Text/Viewable.js +1 -1
  437. package/lib/esm/components/Text/hooks/cloneContainer.js +1 -1
  438. package/lib/esm/components/Text/hooks/index.js +1 -1
  439. package/lib/esm/components/Text/hooks/loadFontFromFile.js +2 -2
  440. package/lib/esm/components/Text/hooks/loadFontFromFile.js.map +1 -1
  441. package/lib/esm/components/Text/index.js +1 -1
  442. package/lib/esm/components/Text/styles.js +1 -1
  443. package/lib/esm/components/TextField/TextField.js +1 -1
  444. package/lib/esm/components/TextField/index.js +1 -1
  445. package/lib/esm/components/TextField/styles.js +1 -1
  446. package/lib/esm/components/TextView/TextView.js +1 -1
  447. package/lib/esm/components/TextView/index.js +1 -1
  448. package/lib/esm/components/TextView/styles.js +1 -1
  449. package/lib/esm/components/Toast/Toast.js +1 -1
  450. package/lib/esm/components/Toast/api.js +1 -1
  451. package/lib/esm/components/Toast/index.js +1 -1
  452. package/lib/esm/components/Toast/styles.js +1 -1
  453. package/lib/esm/components/Uploader/Uploader.js +3 -3
  454. package/lib/esm/components/Uploader/Uploader.js.map +1 -1
  455. package/lib/esm/components/Uploader/index.js +2 -2
  456. package/lib/esm/components/Uploader/interface/index.js +2 -2
  457. package/lib/esm/components/Uploader/styles.js +2 -2
  458. package/lib/esm/components/Uploader/utils.js +1 -1
  459. package/lib/esm/index.js +8 -2
  460. package/lib/esm/index.js.map +1 -1
  461. package/lib/esm/pvCount/pvData.js +1 -0
  462. package/lib/esm/pvCount/pvData.js.map +1 -1
  463. package/lib/src/components/Popover/Popover.d.ts +1 -1
  464. package/lib/src/components/Popover/interface/index.d.ts +0 -1
  465. package/lib/src/components/Swiper/LazyPage.d.ts +7 -0
  466. package/lib/src/components/Swiper/Swiper.d.ts +5 -0
  467. package/lib/src/components/Swiper/SwiperFlatList.d.ts +5 -0
  468. package/lib/src/components/Swiper/SwiperPagerView.d.ts +5 -0
  469. package/lib/src/components/Swiper/index.d.ts +24 -0
  470. package/lib/src/components/Swiper/types.d.ts +166 -0
  471. package/lib/src/components/Swiper/utils.d.ts +42 -0
  472. package/lib/src/index.d.ts +1 -0
  473. package/lib/types/components/Popover/Popover.d.ts +1 -1
  474. package/lib/types/components/Popover/interface/index.d.ts +0 -1
  475. package/lib/types/components/Swiper/LazyPage.d.ts +7 -0
  476. package/lib/types/components/Swiper/Swiper.d.ts +5 -0
  477. package/lib/types/components/Swiper/SwiperFlatList.d.ts +5 -0
  478. package/lib/types/components/Swiper/SwiperPagerView.d.ts +5 -0
  479. package/lib/types/components/Swiper/index.d.ts +24 -0
  480. package/lib/types/components/Swiper/types.d.ts +166 -0
  481. package/lib/types/components/Swiper/utils.d.ts +42 -0
  482. package/lib/types/index.d.ts +1 -0
  483. package/package.json +3 -2
  484. package/src/components/Carousel/Carousel.tsx +3 -15
  485. package/src/components/Carousel/demo/index.tsx +2 -14
  486. package/src/components/Popover/Popover.tsx +3 -4
  487. package/src/components/Popover/doc/index.mdx +21 -22
  488. package/src/components/Popover/interface/index.ts +0 -1
  489. package/src/components/Sheets/styles.ts +2 -2
  490. package/src/components/Swiper/LazyPage.tsx +44 -0
  491. package/src/components/Swiper/Swiper.tsx +31 -0
  492. package/src/components/Swiper/SwiperFlatList.tsx +299 -0
  493. package/src/components/Swiper/SwiperPagerView.tsx +286 -0
  494. package/src/components/Swiper/demo/index.tsx +146 -0
  495. package/src/components/Swiper/doc/index.mdx +49 -0
  496. package/src/components/Swiper/index.ts +25 -0
  497. package/src/components/Swiper/types.ts +208 -0
  498. package/src/components/Swiper/utils.ts +133 -0
  499. package/src/index.ts +1 -0
@@ -0,0 +1 @@
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,cAAA,CAAA;AAAeN,MAAAA,GAAW,EAAXA,GAAAA;KAAcD,EAAAA,KAAO,CAAA,CAAA,CAAA;AAC9C,GAAA;AAEA,EAAA,sBAAQI,KAAA,CAAAC,aAAA,CAAAG,eAAA,EAAAD,cAAA,CAAA;AAAgBN,IAAAA,GAAW,EAAXA,GAAAA;GAAcD,EAAAA,KAAO,CAAA,CAAA,CAAA;AAC/C,CAAA;IAGaS,MAAA,gBAASC,WAAWX,eAAe;;;;"}
@@ -0,0 +1,225 @@
1
+ import { _ as _slicedToArray } from '../../_chunks/CgvIDP0E.js';
2
+ import React, { forwardRef, useRef, useState, useMemo, useCallback, useImperativeHandle, useEffect } from 'react';
3
+ import { StyleSheet, View, FlatList } from 'react-native';
4
+ import { prepareInfiniteData, getDisplayIndex, getRealIndex } from './utils.js';
5
+
6
+ function SwiperFlatListComponent(props, ref) {
7
+ var data = props.data,
8
+ renderItem = props.renderItem,
9
+ _keyExtractor = props.keyExtractor,
10
+ _props$infinite = props.infinite,
11
+ infinite = _props$infinite === void 0 ? false : _props$infinite,
12
+ _props$initialPage = props.initialPage,
13
+ initialPage = _props$initialPage === void 0 ? 0 : _props$initialPage,
14
+ _props$cloneCount = props.cloneCount,
15
+ cloneCount = _props$cloneCount === void 0 ? 2 : _props$cloneCount,
16
+ onPageChange = props.onPageChange,
17
+ onNext = props.onNext,
18
+ onPrev = props.onPrev,
19
+ onScrollEndDrag = props.onScrollEndDrag,
20
+ onPageScrollStateChanged = props.onPageScrollStateChanged,
21
+ style = props.style;
22
+ var flatListRef = useRef(null);
23
+ var currentPageRef = useRef(initialPage);
24
+ var isJumpingRef = useRef(false);
25
+ useRef(false);
26
+ var _useState = useState(initialPage),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ currentPage = _useState2[0],
29
+ setCurrentPage = _useState2[1];
30
+ var _useState3 = useState(0),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ containerWidth = _useState4[0],
33
+ setContainerWidth = _useState4[1];
34
+ var _useMemo = useMemo(function () {
35
+ return prepareInfiniteData(data, infinite, cloneCount);
36
+ }, [data, infinite, cloneCount]),
37
+ displayData = _useMemo.displayData,
38
+ offset = _useMemo.offset,
39
+ actualCloneCount = _useMemo.cloneCount;
40
+ var adjustedInitialPage = useMemo(function () {
41
+ return infinite ? getDisplayIndex(initialPage, offset) : initialPage;
42
+ }, [infinite, initialPage, offset]);
43
+ var handleLayout = useCallback(function (event) {
44
+ var width = event.nativeEvent.layout.width;
45
+ if (width > 0) {
46
+ setContainerWidth(width);
47
+ }
48
+ }, []);
49
+ var handleScrollBeginDrag = useCallback(function () {
50
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged("dragging");
51
+ }, [onPageScrollStateChanged]);
52
+ var handleScrollEndDrag = useCallback(function (event) {
53
+ if (isJumpingRef.current || containerWidth === 0) {
54
+ return;
55
+ }
56
+ var offsetX = event.nativeEvent.contentOffset.x;
57
+ var newDisplayPage = Math.round(offsetX / containerWidth);
58
+ var realIndex = getRealIndex(newDisplayPage, offset, data.length);
59
+ onScrollEndDrag === null || onScrollEndDrag === void 0 || onScrollEndDrag(realIndex);
60
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged("settling");
61
+ }, [data.length, offset, onScrollEndDrag, onPageScrollStateChanged, containerWidth]);
62
+ var handleMomentumScrollEnd = useCallback(function (event) {
63
+ if (isJumpingRef.current || containerWidth === 0) {
64
+ return;
65
+ }
66
+ var offsetX = event.nativeEvent.contentOffset.x;
67
+ var newDisplayPage = Math.round(offsetX / containerWidth);
68
+ if (newDisplayPage === currentPageRef.current) {
69
+ return;
70
+ }
71
+ var prevPage = currentPageRef.current;
72
+ currentPageRef.current = newDisplayPage;
73
+ var realIndex = getRealIndex(newDisplayPage, offset, data.length);
74
+ setCurrentPage(realIndex);
75
+ onPageChange === null || onPageChange === void 0 || onPageChange(realIndex);
76
+ if (newDisplayPage > prevPage) {
77
+ onNext === null || onNext === void 0 || onNext(realIndex);
78
+ } else if (newDisplayPage < prevPage) {
79
+ onPrev === null || onPrev === void 0 || onPrev(realIndex);
80
+ }
81
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged("idle");
82
+ if (infinite && data.length >= 3) {
83
+ var threshold = Math.max(3, Math.min(5, Math.ceil(actualCloneCount / 5)));
84
+ offset + data.length + actualCloneCount;
85
+ if (newDisplayPage < offset + threshold && newDisplayPage < offset + data.length / 2) {
86
+ var dataIndex = actualCloneCount > data.length ? newDisplayPage % data.length : data.length - actualCloneCount + newDisplayPage;
87
+ var jumpTo = offset + dataIndex;
88
+ performJump(jumpTo);
89
+ } else if (newDisplayPage >= offset + data.length - threshold && newDisplayPage >= offset + data.length / 2) {
90
+ var offsetInCycle = (newDisplayPage - offset) % data.length;
91
+ var _jumpTo = offset + offsetInCycle;
92
+ performJump(_jumpTo);
93
+ }
94
+ }
95
+ }, [data.length, offset, actualCloneCount, infinite, onPageChange, onNext, onPrev, containerWidth]);
96
+ var performJump = useCallback(function (targetIndex) {
97
+ isJumpingRef.current = true;
98
+ requestAnimationFrame(function () {
99
+ var _flatListRef$current;
100
+ (_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 || _flatListRef$current.scrollToIndex({
101
+ index: targetIndex,
102
+ animated: false
103
+ });
104
+ currentPageRef.current = targetIndex;
105
+ requestAnimationFrame(function () {
106
+ isJumpingRef.current = false;
107
+ });
108
+ });
109
+ }, []);
110
+ var getItemLayout = useCallback(function (_, index) {
111
+ return {
112
+ length: containerWidth,
113
+ offset: containerWidth * index,
114
+ index: index
115
+ };
116
+ }, [containerWidth]);
117
+ var renderFlatListItem = useCallback(function (_ref) {
118
+ var item = _ref.item,
119
+ index = _ref.index;
120
+ var realIndex = getRealIndex(index, offset, data.length);
121
+ return /* @__PURE__ */React.createElement(View, {
122
+ style: [styles.page, {
123
+ width: containerWidth
124
+ }]
125
+ }, renderItem(item, realIndex));
126
+ }, [renderItem, offset, data.length, containerWidth]);
127
+ useImperativeHandle(ref, function () {
128
+ return {
129
+ goToPage: function goToPage(index) {
130
+ var _flatListRef$current2;
131
+ var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
132
+ var clampedIndex = Math.max(0, Math.min(index, data.length - 1));
133
+ var displayIndex = infinite ? getDisplayIndex(clampedIndex, offset) : clampedIndex;
134
+ (_flatListRef$current2 = flatListRef.current) === null || _flatListRef$current2 === void 0 || _flatListRef$current2.scrollToIndex({
135
+ index: displayIndex,
136
+ animated: animated
137
+ });
138
+ },
139
+ next: function next() {
140
+ var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
141
+ var nextPage = currentPageRef.current + 1;
142
+ if (nextPage < displayData.length) {
143
+ var _flatListRef$current3;
144
+ (_flatListRef$current3 = flatListRef.current) === null || _flatListRef$current3 === void 0 || _flatListRef$current3.scrollToIndex({
145
+ index: nextPage,
146
+ animated: animated
147
+ });
148
+ }
149
+ },
150
+ prev: function prev() {
151
+ var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
152
+ var prevPage = currentPageRef.current - 1;
153
+ if (prevPage >= 0) {
154
+ var _flatListRef$current4;
155
+ (_flatListRef$current4 = flatListRef.current) === null || _flatListRef$current4 === void 0 || _flatListRef$current4.scrollToIndex({
156
+ index: prevPage,
157
+ animated: animated
158
+ });
159
+ }
160
+ },
161
+ getCurrentPage: function getCurrentPage() {
162
+ return currentPage;
163
+ }
164
+ };
165
+ }, [currentPage, data.length, infinite, offset, displayData.length]);
166
+ useEffect(function () {
167
+ if (containerWidth > 0) {
168
+ var timer = setTimeout(function () {
169
+ var _flatListRef$current5;
170
+ (_flatListRef$current5 = flatListRef.current) === null || _flatListRef$current5 === void 0 || _flatListRef$current5.scrollToIndex({
171
+ index: adjustedInitialPage,
172
+ animated: false
173
+ });
174
+ }, 100);
175
+ return function () {
176
+ return clearTimeout(timer);
177
+ };
178
+ }
179
+ }, [adjustedInitialPage, containerWidth]);
180
+ if (data.length === 0) {
181
+ return null;
182
+ }
183
+ return /* @__PURE__ */React.createElement(View, {
184
+ style: [styles.container, style],
185
+ onLayout: handleLayout
186
+ }, containerWidth > 0 && /* @__PURE__ */React.createElement(FlatList, {
187
+ ref: flatListRef,
188
+ data: displayData,
189
+ renderItem: renderFlatListItem,
190
+ keyExtractor: function keyExtractor(item, index) {
191
+ var _keyExtractor2;
192
+ var realIndex = getRealIndex(index, offset, data.length);
193
+ return (_keyExtractor2 = _keyExtractor === null || _keyExtractor === void 0 ? void 0 : _keyExtractor(item, realIndex)) !== null && _keyExtractor2 !== void 0 ? _keyExtractor2 : "swiper-fl-".concat(index);
194
+ },
195
+ horizontal: true,
196
+ pagingEnabled: true,
197
+ showsHorizontalScrollIndicator: false,
198
+ onScrollBeginDrag: onPageScrollStateChanged ? handleScrollBeginDrag : void 0,
199
+ onScrollEndDrag: onScrollEndDrag || onPageScrollStateChanged ? handleScrollEndDrag : void 0,
200
+ onMomentumScrollEnd: handleMomentumScrollEnd,
201
+ getItemLayout: getItemLayout,
202
+ initialScrollIndex: adjustedInitialPage,
203
+ initialNumToRender: 10,
204
+ windowSize: 21,
205
+ maxToRenderPerBatch: 10,
206
+ updateCellsBatchingPeriod: 30,
207
+ removeClippedSubviews: false,
208
+ style: styles.flatList
209
+ }));
210
+ }
211
+ var styles = StyleSheet.create({
212
+ container: {
213
+ flex: 1
214
+ },
215
+ flatList: {
216
+ flex: 1
217
+ },
218
+ page: {
219
+ flex: 1
220
+ }
221
+ });
222
+ var SwiperFlatList = /*#__PURE__*/forwardRef(SwiperFlatListComponent);
223
+
224
+ export { SwiperFlatList };
225
+ //# sourceMappingURL=SwiperFlatList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwiperFlatList.js","sources":["../../../../src/components/Swiper/SwiperFlatList.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { FlatList, StyleSheet, View, LayoutChangeEvent } from \"react-native\";\nimport type { SwiperProps, SwiperRef } from \"./types\";\nimport { prepareInfiniteData, shouldJumpForInfinite, getRealIndex, getDisplayIndex } from \"./utils\";\n\n/**\n * FlatList-based Swiper implementation\n */\nfunction SwiperFlatListComponent<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 onPageChange,\n onNext,\n onPrev,\n onScrollEndDrag,\n onPageScrollStateChanged,\n style,\n } = props;\n\n // Refs\n const flatListRef = useRef<FlatList>(null);\n const currentPageRef = useRef<number>(initialPage);\n const isJumpingRef = useRef<boolean>(false);\n const scrollingRef = useRef<boolean>(false);\n\n // State\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [containerWidth, setContainerWidth] = useState(0);\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 * Handle layout to measure actual container width\n */\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n const { width } = event.nativeEvent.layout;\n if (width > 0) {\n setContainerWidth(width);\n }\n }, []);\n\n /**\n * Handle scroll begin drag - fires when user starts dragging\n */\n const handleScrollBeginDrag = useCallback(() => {\n onPageScrollStateChanged?.(\"dragging\");\n }, [onPageScrollStateChanged]);\n\n /**\n * Handle scroll end drag - fires when user releases finger\n */\n const handleScrollEndDrag = useCallback(\n (event: any) => {\n if (isJumpingRef.current || containerWidth === 0) {\n return;\n }\n\n const offsetX = event.nativeEvent.contentOffset.x;\n const newDisplayPage = Math.round(offsetX / containerWidth);\n\n const realIndex = getRealIndex(newDisplayPage, offset, data.length);\n\n // Call the callback if provided\n onScrollEndDrag?.(realIndex);\n\n // Transition to settling state (momentum begins)\n onPageScrollStateChanged?.(\"settling\");\n },\n [data.length, offset, onScrollEndDrag, onPageScrollStateChanged, containerWidth],\n );\n\n /**\n * Handle scroll end - detect which page we're on\n */\n const handleMomentumScrollEnd = useCallback(\n (event: any) => {\n if (isJumpingRef.current || containerWidth === 0) {\n return;\n }\n\n const offsetX = event.nativeEvent.contentOffset.x;\n const newDisplayPage = Math.round(offsetX / containerWidth);\n\n if (newDisplayPage === currentPageRef.current) {\n return;\n }\n\n const prevPage = currentPageRef.current;\n currentPageRef.current = newDisplayPage;\n\n const realIndex = getRealIndex(newDisplayPage, offset, data.length);\n setCurrentPage(realIndex);\n\n // Emit events\n onPageChange?.(realIndex);\n\n if (newDisplayPage > prevPage) {\n onNext?.(realIndex);\n } else if (newDisplayPage < prevPage) {\n onPrev?.(realIndex);\n }\n\n // Transition to idle state (scroll complete)\n onPageScrollStateChanged?.(\"idle\");\n\n // Handle infinite scroll jump - jump earlier to avoid hitting edge\n if (infinite && data.length >= 3) {\n // Use larger threshold for FlatList to jump before hitting edge\n const threshold = Math.max(3, Math.min(5, Math.ceil(actualCloneCount / 5)));\n const totalLength = offset + data.length + actualCloneCount;\n\n // Near start\n if (newDisplayPage < offset + threshold && newDisplayPage < offset + data.length / 2) {\n const dataIndex =\n actualCloneCount > data.length\n ? newDisplayPage % data.length\n : data.length - actualCloneCount + newDisplayPage;\n\n const jumpTo = offset + dataIndex;\n performJump(jumpTo);\n }\n // Near end\n else if (newDisplayPage >= offset + data.length - threshold && newDisplayPage >= offset + data.length / 2) {\n const offsetInCycle = (newDisplayPage - offset) % data.length;\n const jumpTo = offset + offsetInCycle;\n performJump(jumpTo);\n }\n }\n },\n [data.length, offset, actualCloneCount, infinite, onPageChange, onNext, onPrev, containerWidth],\n );\n\n /**\n * Perform jump without animation\n */\n const performJump = useCallback((targetIndex: number) => {\n isJumpingRef.current = true;\n\n requestAnimationFrame(() => {\n flatListRef.current?.scrollToIndex({\n index: targetIndex,\n animated: false,\n });\n currentPageRef.current = targetIndex;\n\n requestAnimationFrame(() => {\n isJumpingRef.current = false;\n });\n });\n }, []);\n\n /**\n * Get item layout for proper scrollToIndex\n */\n const getItemLayout = useCallback(\n (_: any, index: number) => ({\n length: containerWidth,\n offset: containerWidth * index,\n index,\n }),\n [containerWidth],\n );\n\n /**\n * Render each item\n */\n const renderFlatListItem = useCallback(\n ({ item, index }: { item: T; index: number }) => {\n const realIndex = getRealIndex(index, offset, data.length);\n return <View style={[styles.page, { width: containerWidth }]}>{renderItem(item, realIndex)}</View>;\n },\n [renderItem, offset, data.length, containerWidth],\n );\n\n /**\n * Expose ref methods\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 flatListRef.current?.scrollToIndex({\n index: displayIndex,\n animated,\n });\n },\n\n next: (animated = true) => {\n const nextPage = currentPageRef.current + 1;\n if (nextPage < displayData.length) {\n flatListRef.current?.scrollToIndex({\n index: nextPage,\n animated,\n });\n }\n },\n\n prev: (animated = true) => {\n const prevPage = currentPageRef.current - 1;\n if (prevPage >= 0) {\n flatListRef.current?.scrollToIndex({\n index: prevPage,\n animated,\n });\n }\n },\n\n getCurrentPage: () => currentPage,\n }),\n [currentPage, data.length, infinite, offset, displayData.length],\n );\n\n /**\n * Initialize to initial page after container width is measured\n */\n useEffect(() => {\n if (containerWidth > 0) {\n const timer = setTimeout(() => {\n flatListRef.current?.scrollToIndex({\n index: adjustedInitialPage,\n animated: false,\n });\n }, 100);\n\n return () => clearTimeout(timer);\n }\n }, [adjustedInitialPage, containerWidth]);\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <View style={[styles.container, style]} onLayout={handleLayout}>\n {containerWidth > 0 && (\n <FlatList\n ref={flatListRef}\n data={displayData}\n renderItem={renderFlatListItem}\n keyExtractor={(item, index) => {\n const realIndex = getRealIndex(index, offset, data.length);\n return keyExtractor?.(item, realIndex) ?? `swiper-fl-${index}`;\n }}\n horizontal\n pagingEnabled\n showsHorizontalScrollIndicator={false}\n onScrollBeginDrag={onPageScrollStateChanged ? handleScrollBeginDrag : undefined}\n onScrollEndDrag={onScrollEndDrag || onPageScrollStateChanged ? handleScrollEndDrag : undefined}\n onMomentumScrollEnd={handleMomentumScrollEnd}\n getItemLayout={getItemLayout}\n initialScrollIndex={adjustedInitialPage}\n // Optimized for fast scrolling with paging\n initialNumToRender={10}\n windowSize={21}\n maxToRenderPerBatch={10}\n updateCellsBatchingPeriod={30}\n removeClippedSubviews={false}\n style={styles.flatList}\n />\n )}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n flatList: {\n flex: 1,\n },\n page: {\n flex: 1,\n },\n});\n\nexport const SwiperFlatList = forwardRef(SwiperFlatListComponent) as <T>(\n props: SwiperProps<T> & { ref?: React.Ref<SwiperRef> },\n) => React.ReactElement;\n"],"names":["SwiperFlatListComponent","props","ref","data","renderItem","keyExtractor","_props$infinite","infinite","_props$initialPage","initialPage","_props$cloneCount","cloneCount","onPageChange","onNext","onPrev","onScrollEndDrag","onPageScrollStateChanged","style","flatListRef","useRef","currentPageRef","isJumpingRef","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","_useState3","_useState4","containerWidth","setContainerWidth","_useMemo","useMemo","prepareInfiniteData","displayData","offset","actualCloneCount","adjustedInitialPage","getDisplayIndex","handleLayout","useCallback","event","width","nativeEvent","layout","handleScrollBeginDrag","handleScrollEndDrag","current","offsetX","contentOffset","x","newDisplayPage","Math","round","realIndex","getRealIndex","length","handleMomentumScrollEnd","prevPage","threshold","max","min","ceil","dataIndex","jumpTo","performJump","offsetInCycle","targetIndex","requestAnimationFrame","_flatListRef$current","scrollToIndex","index","animated","getItemLayout","_","renderFlatListItem","_ref","item","React","createElement","View","styles","page","useImperativeHandle","goToPage","_flatListRef$current2","arguments","undefined","clampedIndex","displayIndex","next","nextPage","_flatListRef$current3","prev","_flatListRef$current4","getCurrentPage","useEffect","timer","setTimeout","_flatListRef$current5","clearTimeout","container","onLayout","FlatList","_keyExtractor2","concat","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onScrollBeginDrag","onMomentumScrollEnd","initialScrollIndex","initialNumToRender","windowSize","maxToRenderPerBatch","updateCellsBatchingPeriod","removeClippedSubviews","flatList","StyleSheet","create","flex","SwiperFlatList","forwardRef"],"mappings":"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"}
@@ -0,0 +1,229 @@
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
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
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