@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,42 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('../../_chunks/hnLc3Qom.js');
4
+ var React = require('react');
5
+ var reactNative = require('react-native');
6
+
7
+ var LazyPage = function LazyPage(_ref) {
8
+ var shouldMount = _ref.shouldMount,
9
+ _ref$shouldUnmount = _ref.shouldUnmount,
10
+ shouldUnmount = _ref$shouldUnmount === void 0 ? false : _ref$shouldUnmount,
11
+ children = _ref.children,
12
+ placeholder = _ref.placeholder,
13
+ style = _ref.style;
14
+ var _useState = React.useState(false),
15
+ _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
16
+ mounted = _useState2[0],
17
+ setMounted = _useState2[1];
18
+ React.useEffect(function () {
19
+ if (shouldMount && !mounted) {
20
+ setMounted(true);
21
+ } else if (shouldUnmount && mounted) {
22
+ setMounted(false);
23
+ }
24
+ }, [shouldMount, shouldUnmount, mounted]);
25
+ return /* @__PURE__ */React.createElement(reactNative.View, {
26
+ style: [styles.page, style]
27
+ }, mounted ? children : placeholder || /* @__PURE__ */React.createElement(reactNative.View, {
28
+ style: styles.placeholder
29
+ }));
30
+ };
31
+ var styles = reactNative.StyleSheet.create({
32
+ page: {
33
+ flex: 1
34
+ },
35
+ placeholder: {
36
+ flex: 1,
37
+ backgroundColor: "transparent"
38
+ }
39
+ });
40
+
41
+ exports.LazyPage = LazyPage;
42
+ //# sourceMappingURL=LazyPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LazyPage.js","sources":["../../../../src/components/Swiper/LazyPage.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { View, StyleSheet, Dimensions } from \"react-native\";\nimport type { LazyPageProps } from \"./types\";\n\n/**\n * LazyPage component that conditionally mounts/unmounts content\n * based on proximity to current page\n */\nexport const LazyPage: React.FC<LazyPageProps> = ({\n shouldMount,\n shouldUnmount = false,\n children,\n placeholder,\n style,\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (shouldMount && !mounted) {\n // Mount the page when it enters the window\n setMounted(true);\n } else if (shouldUnmount && mounted) {\n // Unmount the page when it's far from current position\n // This helps free memory for large datasets\n setMounted(false);\n }\n // Note: By default (shouldUnmount=false), pages stay mounted for better UX\n // Enable shouldUnmount for aggressive memory management\n }, [shouldMount, shouldUnmount, mounted]);\n\n return (\n <View style={[styles.page, style]}>{mounted ? children : placeholder || <View style={styles.placeholder} />}</View>\n );\n};\n\nconst styles = StyleSheet.create({\n page: {\n flex: 1,\n },\n placeholder: {\n flex: 1,\n backgroundColor: \"transparent\",\n },\n});\n"],"names":["LazyPage","shouldMount","_ref","_ref$shouldUnmount","shouldUnmount","children","placeholder","style","_useState","useState","_useState2","_slicedToArray","mounted","setMounted","useEffect","View","styles","page","React","createElement","StyleSheet","create","flex","backgroundColor"],"mappings":";;;;;;IAQaA,WAAoC,SAApCA,eAMP;AAAA,EAAA,IALJC,WAAA,GAAAC,IAAA,CAAAD,WAAA;IAAAE,kBAAA,GAAAD,IAAA,CACAE,aAAgB;AAAhBA,IAAAA,aAAgB,GAAAD,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,kBAAA;IAChBE,QAAA,GAAAH,IAAA,CAAAG,QAAA;IACAC,WAAA,GAAAJ,IAAA,CAAAI,WAAA;IACAC,KAAA,GAAAL,IAAA,CAAAK,KAAA,CAAA;AAEA,EAAA,IAAAC,SAAA,GAA8BC,eAAS,KAAK,CAAA;IAAAC,UAAA,GAAAC,wCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAArCI,IAAAA,OAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAASG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1BI,EAAAA,eAAA,CAAU,YAAM;AACV,IAAA,IAAAb,WAAA,IAAe,CAACW,OAAS,EAAA;MAE3BC,UAAA,CAAW,IAAI,CAAA,CAAA;AACjB,KAAA,MAAA,IAAWT,iBAAiBQ,OAAS,EAAA;MAGnCC,UAAA,CAAW,KAAK,CAAA,CAAA;AAClB,KAAA;GAGC,EAAA,CAACZ,WAAa,EAAAG,aAAA,EAAeQ,OAAO,CAAC,CAAA,CAAA;AAExC,EAAA,0CACGG,gBAAK,EAAA;AAAAR,IAAAA,KAAA,EAAO,CAACS,MAAA,CAAOC,MAAMV,KAAK,CAAA;AAAA,GAAA,EAAIK,OAAU,GAAAP,QAAA,GAAWC,8BAAgBY,KAAA,CAAAC,aAAA,CAAAJ,gBAAA,EAAA;IAAKR,KAAO,EAAAS,MAAA,CAAOV,WAAAA;GAAa,CAAG,CAAA,CAAA;AAEhH,EAAA;AAEA,IAAMU,MAAA,GAASI,uBAAWC,MAAO,CAAA;AAC/BJ,EAAAA,IAAM,EAAA;AACJK,IAAAA,IAAM,EAAA,CAAA;GACR;AACAhB,EAAAA,WAAa,EAAA;AACXgB,IAAAA,IAAM,EAAA,CAAA;AACNC,IAAAA,eAAiB,EAAA,aAAA;AACnB,GAAA;AACF,CAAC,CAAA;;;;"}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('../../_chunks/hnLc3Qom.js');
4
+ var React = require('react');
5
+ var components_Swiper_SwiperPagerView = require('./SwiperPagerView.js');
6
+ var components_Swiper_SwiperFlatList = require('./SwiperFlatList.js');
7
+ require('react-native');
8
+ require('react-native-pager-view');
9
+ require('./LazyPage.js');
10
+ require('./utils.js');
11
+
12
+ function SwiperComponent(props, ref) {
13
+ var _props$implementation = props.implementation,
14
+ implementation = _props$implementation === void 0 ? "pagerView" : _props$implementation;
15
+ if (implementation === "flatlist") {
16
+ return /* @__PURE__ */React.createElement(components_Swiper_SwiperFlatList.SwiperFlatList, _rollupPluginBabelHelpers._objectSpread2({
17
+ ref: ref
18
+ }, props));
19
+ }
20
+ return /* @__PURE__ */React.createElement(components_Swiper_SwiperPagerView.SwiperPagerView, _rollupPluginBabelHelpers._objectSpread2({
21
+ ref: ref
22
+ }, props));
23
+ }
24
+ var Swiper = /*#__PURE__*/React.forwardRef(SwiperComponent);
25
+
26
+ exports.Swiper = Swiper;
27
+ //# sourceMappingURL=Swiper.js.map
@@ -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,wCAAA,CAAA;AAAeN,MAAAA,GAAW,EAAXA,GAAAA;KAAcD,EAAAA,KAAO,CAAA,CAAA,CAAA;AAC9C,GAAA;AAEA,EAAA,sBAAQI,KAAA,CAAAC,aAAA,CAAAG,iDAAA,EAAAD,wCAAA,CAAA;AAAgBN,IAAAA,GAAW,EAAXA,GAAAA;GAAcD,EAAAA,KAAO,CAAA,CAAA,CAAA;AAC/C,CAAA;IAGaS,MAAA,gBAASC,iBAAWX,eAAe;;;;"}
@@ -0,0 +1,227 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('../../_chunks/hnLc3Qom.js');
4
+ var React = require('react');
5
+ var reactNative = require('react-native');
6
+ var components_Swiper_utils = require('./utils.js');
7
+
8
+ function SwiperFlatListComponent(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
+ onPageChange = props.onPageChange,
19
+ onNext = props.onNext,
20
+ onPrev = props.onPrev,
21
+ onScrollEndDrag = props.onScrollEndDrag,
22
+ onPageScrollStateChanged = props.onPageScrollStateChanged,
23
+ style = props.style;
24
+ var flatListRef = React.useRef(null);
25
+ var currentPageRef = React.useRef(initialPage);
26
+ var isJumpingRef = React.useRef(false);
27
+ React.useRef(false);
28
+ var _useState = React.useState(initialPage),
29
+ _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
30
+ currentPage = _useState2[0],
31
+ setCurrentPage = _useState2[1];
32
+ var _useState3 = React.useState(0),
33
+ _useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2),
34
+ containerWidth = _useState4[0],
35
+ setContainerWidth = _useState4[1];
36
+ var _useMemo = React.useMemo(function () {
37
+ return components_Swiper_utils.prepareInfiniteData(data, infinite, cloneCount);
38
+ }, [data, infinite, cloneCount]),
39
+ displayData = _useMemo.displayData,
40
+ offset = _useMemo.offset,
41
+ actualCloneCount = _useMemo.cloneCount;
42
+ var adjustedInitialPage = React.useMemo(function () {
43
+ return infinite ? components_Swiper_utils.getDisplayIndex(initialPage, offset) : initialPage;
44
+ }, [infinite, initialPage, offset]);
45
+ var handleLayout = React.useCallback(function (event) {
46
+ var width = event.nativeEvent.layout.width;
47
+ if (width > 0) {
48
+ setContainerWidth(width);
49
+ }
50
+ }, []);
51
+ var handleScrollBeginDrag = React.useCallback(function () {
52
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged("dragging");
53
+ }, [onPageScrollStateChanged]);
54
+ var handleScrollEndDrag = React.useCallback(function (event) {
55
+ if (isJumpingRef.current || containerWidth === 0) {
56
+ return;
57
+ }
58
+ var offsetX = event.nativeEvent.contentOffset.x;
59
+ var newDisplayPage = Math.round(offsetX / containerWidth);
60
+ var realIndex = components_Swiper_utils.getRealIndex(newDisplayPage, offset, data.length);
61
+ onScrollEndDrag === null || onScrollEndDrag === void 0 || onScrollEndDrag(realIndex);
62
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged("settling");
63
+ }, [data.length, offset, onScrollEndDrag, onPageScrollStateChanged, containerWidth]);
64
+ var handleMomentumScrollEnd = React.useCallback(function (event) {
65
+ if (isJumpingRef.current || containerWidth === 0) {
66
+ return;
67
+ }
68
+ var offsetX = event.nativeEvent.contentOffset.x;
69
+ var newDisplayPage = Math.round(offsetX / containerWidth);
70
+ if (newDisplayPage === currentPageRef.current) {
71
+ return;
72
+ }
73
+ var prevPage = currentPageRef.current;
74
+ currentPageRef.current = newDisplayPage;
75
+ var realIndex = components_Swiper_utils.getRealIndex(newDisplayPage, offset, data.length);
76
+ setCurrentPage(realIndex);
77
+ onPageChange === null || onPageChange === void 0 || onPageChange(realIndex);
78
+ if (newDisplayPage > prevPage) {
79
+ onNext === null || onNext === void 0 || onNext(realIndex);
80
+ } else if (newDisplayPage < prevPage) {
81
+ onPrev === null || onPrev === void 0 || onPrev(realIndex);
82
+ }
83
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged("idle");
84
+ if (infinite && data.length >= 3) {
85
+ var threshold = Math.max(3, Math.min(5, Math.ceil(actualCloneCount / 5)));
86
+ offset + data.length + actualCloneCount;
87
+ if (newDisplayPage < offset + threshold && newDisplayPage < offset + data.length / 2) {
88
+ var dataIndex = actualCloneCount > data.length ? newDisplayPage % data.length : data.length - actualCloneCount + newDisplayPage;
89
+ var jumpTo = offset + dataIndex;
90
+ performJump(jumpTo);
91
+ } else if (newDisplayPage >= offset + data.length - threshold && newDisplayPage >= offset + data.length / 2) {
92
+ var offsetInCycle = (newDisplayPage - offset) % data.length;
93
+ var _jumpTo = offset + offsetInCycle;
94
+ performJump(_jumpTo);
95
+ }
96
+ }
97
+ }, [data.length, offset, actualCloneCount, infinite, onPageChange, onNext, onPrev, containerWidth]);
98
+ var performJump = React.useCallback(function (targetIndex) {
99
+ isJumpingRef.current = true;
100
+ requestAnimationFrame(function () {
101
+ var _flatListRef$current;
102
+ (_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 || _flatListRef$current.scrollToIndex({
103
+ index: targetIndex,
104
+ animated: false
105
+ });
106
+ currentPageRef.current = targetIndex;
107
+ requestAnimationFrame(function () {
108
+ isJumpingRef.current = false;
109
+ });
110
+ });
111
+ }, []);
112
+ var getItemLayout = React.useCallback(function (_, index) {
113
+ return {
114
+ length: containerWidth,
115
+ offset: containerWidth * index,
116
+ index: index
117
+ };
118
+ }, [containerWidth]);
119
+ var renderFlatListItem = React.useCallback(function (_ref) {
120
+ var item = _ref.item,
121
+ index = _ref.index;
122
+ var realIndex = components_Swiper_utils.getRealIndex(index, offset, data.length);
123
+ return /* @__PURE__ */React.createElement(reactNative.View, {
124
+ style: [styles.page, {
125
+ width: containerWidth
126
+ }]
127
+ }, renderItem(item, realIndex));
128
+ }, [renderItem, offset, data.length, containerWidth]);
129
+ React.useImperativeHandle(ref, function () {
130
+ return {
131
+ goToPage: function goToPage(index) {
132
+ var _flatListRef$current2;
133
+ var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
134
+ var clampedIndex = Math.max(0, Math.min(index, data.length - 1));
135
+ var displayIndex = infinite ? components_Swiper_utils.getDisplayIndex(clampedIndex, offset) : clampedIndex;
136
+ (_flatListRef$current2 = flatListRef.current) === null || _flatListRef$current2 === void 0 || _flatListRef$current2.scrollToIndex({
137
+ index: displayIndex,
138
+ animated: animated
139
+ });
140
+ },
141
+ next: function next() {
142
+ var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
143
+ var nextPage = currentPageRef.current + 1;
144
+ if (nextPage < displayData.length) {
145
+ var _flatListRef$current3;
146
+ (_flatListRef$current3 = flatListRef.current) === null || _flatListRef$current3 === void 0 || _flatListRef$current3.scrollToIndex({
147
+ index: nextPage,
148
+ animated: animated
149
+ });
150
+ }
151
+ },
152
+ prev: function prev() {
153
+ var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
154
+ var prevPage = currentPageRef.current - 1;
155
+ if (prevPage >= 0) {
156
+ var _flatListRef$current4;
157
+ (_flatListRef$current4 = flatListRef.current) === null || _flatListRef$current4 === void 0 || _flatListRef$current4.scrollToIndex({
158
+ index: prevPage,
159
+ animated: animated
160
+ });
161
+ }
162
+ },
163
+ getCurrentPage: function getCurrentPage() {
164
+ return currentPage;
165
+ }
166
+ };
167
+ }, [currentPage, data.length, infinite, offset, displayData.length]);
168
+ React.useEffect(function () {
169
+ if (containerWidth > 0) {
170
+ var timer = setTimeout(function () {
171
+ var _flatListRef$current5;
172
+ (_flatListRef$current5 = flatListRef.current) === null || _flatListRef$current5 === void 0 || _flatListRef$current5.scrollToIndex({
173
+ index: adjustedInitialPage,
174
+ animated: false
175
+ });
176
+ }, 100);
177
+ return function () {
178
+ return clearTimeout(timer);
179
+ };
180
+ }
181
+ }, [adjustedInitialPage, containerWidth]);
182
+ if (data.length === 0) {
183
+ return null;
184
+ }
185
+ return /* @__PURE__ */React.createElement(reactNative.View, {
186
+ style: [styles.container, style],
187
+ onLayout: handleLayout
188
+ }, containerWidth > 0 && /* @__PURE__ */React.createElement(reactNative.FlatList, {
189
+ ref: flatListRef,
190
+ data: displayData,
191
+ renderItem: renderFlatListItem,
192
+ keyExtractor: function keyExtractor(item, index) {
193
+ var _keyExtractor2;
194
+ var realIndex = components_Swiper_utils.getRealIndex(index, offset, data.length);
195
+ return (_keyExtractor2 = _keyExtractor === null || _keyExtractor === void 0 ? void 0 : _keyExtractor(item, realIndex)) !== null && _keyExtractor2 !== void 0 ? _keyExtractor2 : "swiper-fl-".concat(index);
196
+ },
197
+ horizontal: true,
198
+ pagingEnabled: true,
199
+ showsHorizontalScrollIndicator: false,
200
+ onScrollBeginDrag: onPageScrollStateChanged ? handleScrollBeginDrag : void 0,
201
+ onScrollEndDrag: onScrollEndDrag || onPageScrollStateChanged ? handleScrollEndDrag : void 0,
202
+ onMomentumScrollEnd: handleMomentumScrollEnd,
203
+ getItemLayout: getItemLayout,
204
+ initialScrollIndex: adjustedInitialPage,
205
+ initialNumToRender: 10,
206
+ windowSize: 21,
207
+ maxToRenderPerBatch: 10,
208
+ updateCellsBatchingPeriod: 30,
209
+ removeClippedSubviews: false,
210
+ style: styles.flatList
211
+ }));
212
+ }
213
+ var styles = reactNative.StyleSheet.create({
214
+ container: {
215
+ flex: 1
216
+ },
217
+ flatList: {
218
+ flex: 1
219
+ },
220
+ page: {
221
+ flex: 1
222
+ }
223
+ });
224
+ var SwiperFlatList = /*#__PURE__*/React.forwardRef(SwiperFlatListComponent);
225
+
226
+ exports.SwiperFlatList = SwiperFlatList;
227
+ //# 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,231 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('../../_chunks/hnLc3Qom.js');
4
+ var React = require('react');
5
+ var reactNative = require('react-native');
6
+ var PagerView = require('react-native-pager-view');
7
+ var components_Swiper_LazyPage = require('./LazyPage.js');
8
+ var components_Swiper_utils = require('./utils.js');
9
+
10
+ function SwiperPagerViewComponent(props, ref) {
11
+ var data = props.data,
12
+ renderItem = props.renderItem,
13
+ keyExtractor = props.keyExtractor,
14
+ _props$infinite = props.infinite,
15
+ infinite = _props$infinite === void 0 ? false : _props$infinite,
16
+ _props$initialPage = props.initialPage,
17
+ initialPage = _props$initialPage === void 0 ? 0 : _props$initialPage,
18
+ _props$cloneCount = props.cloneCount,
19
+ cloneCount = _props$cloneCount === void 0 ? 2 : _props$cloneCount,
20
+ _props$lazyMountWindo = props.lazyMountWindow,
21
+ lazyMountWindow = _props$lazyMountWindo === void 0 ? 2 : _props$lazyMountWindo,
22
+ _props$removeClippedP = props.removeClippedPages,
23
+ removeClippedPages = _props$removeClippedP === void 0 ? false : _props$removeClippedP,
24
+ unmountThreshold = props.unmountThreshold,
25
+ onPageChange = props.onPageChange,
26
+ onNext = props.onNext,
27
+ onPrev = props.onPrev,
28
+ onPageScrollStateChanged = props.onPageScrollStateChanged,
29
+ style = props.style,
30
+ pageMargin = props.pageMargin,
31
+ offscreenPageLimit = props.offscreenPageLimit,
32
+ _props$scrollEnabled = props.scrollEnabled,
33
+ scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,
34
+ overdrag = props.overdrag,
35
+ renderPlaceholder = props.renderPlaceholder;
36
+ var pagerRef = React.useRef(null);
37
+ var currentPageRef = React.useRef(initialPage);
38
+ var isJumpingRef = React.useRef(false);
39
+ var pendingJumpRef = React.useRef(null);
40
+ var scrollStateRef = React.useRef("idle");
41
+ var _useState = React.useState(initialPage),
42
+ _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
43
+ currentPage = _useState2[0],
44
+ setCurrentPage = _useState2[1];
45
+ var _useState3 = React.useState(/* @__PURE__ */new Set()),
46
+ _useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2),
47
+ mountedPages = _useState4[0],
48
+ setMountedPages = _useState4[1];
49
+ var _useState5 = React.useState(/* @__PURE__ */new Set()),
50
+ _useState6 = _rollupPluginBabelHelpers._slicedToArray(_useState5, 2),
51
+ unmountPages = _useState6[0],
52
+ setUnmountPages = _useState6[1];
53
+ var _useMemo = React.useMemo(function () {
54
+ return components_Swiper_utils.prepareInfiniteData(data, infinite, cloneCount);
55
+ }, [data, infinite, cloneCount]),
56
+ displayData = _useMemo.displayData,
57
+ offset = _useMemo.offset,
58
+ actualCloneCount = _useMemo.cloneCount;
59
+ var adjustedInitialPage = React.useMemo(function () {
60
+ return infinite ? components_Swiper_utils.getDisplayIndex(initialPage, offset) : initialPage;
61
+ }, [infinite, initialPage, offset]);
62
+ var updateMountedPages = React.useCallback(function (centerPage) {
63
+ var newMounted = /* @__PURE__ */new Set();
64
+ var newUnmount = /* @__PURE__ */new Set();
65
+ var effectiveMountWindow = Math.max(lazyMountWindow, Math.min(10, Math.ceil(actualCloneCount / 10)));
66
+ var effectiveUnmountThreshold = unmountThreshold !== null && unmountThreshold !== void 0 ? unmountThreshold : effectiveMountWindow * 3;
67
+ for (var i = centerPage - effectiveMountWindow; i <= centerPage + effectiveMountWindow; i++) {
68
+ if (i >= 0 && i < displayData.length) {
69
+ newMounted.add(i);
70
+ }
71
+ }
72
+ if (removeClippedPages) {
73
+ for (var _i = 0; _i < displayData.length; _i++) {
74
+ var distance = Math.abs(_i - centerPage);
75
+ if (distance > effectiveUnmountThreshold) {
76
+ newUnmount.add(_i);
77
+ }
78
+ }
79
+ }
80
+ console.log("Mounted pages:", Array.from(newMounted));
81
+ console.log("Unmount pages:", Array.from(newUnmount));
82
+ setMountedPages(newMounted);
83
+ setUnmountPages(newUnmount);
84
+ }, [lazyMountWindow, displayData.length, actualCloneCount, unmountThreshold, removeClippedPages]);
85
+ var handlePageSelected = React.useCallback(function (event) {
86
+ var newDisplayPage = event.nativeEvent.position;
87
+ if (isJumpingRef.current) {
88
+ return;
89
+ }
90
+ var realIndex = components_Swiper_utils.getRealIndex(newDisplayPage, offset, data.length);
91
+ var prevDisplayPage = currentPageRef.current;
92
+ setCurrentPage(realIndex);
93
+ currentPageRef.current = newDisplayPage;
94
+ updateMountedPages(newDisplayPage);
95
+ onPageChange === null || onPageChange === void 0 || onPageChange(realIndex);
96
+ if (newDisplayPage > prevDisplayPage) {
97
+ onNext === null || onNext === void 0 || onNext(realIndex);
98
+ } else if (newDisplayPage < prevDisplayPage) {
99
+ onPrev === null || onPrev === void 0 || onPrev(realIndex);
100
+ }
101
+ if (infinite && data.length >= 3) {
102
+ var jumpResult = components_Swiper_utils.shouldJumpForInfinite(newDisplayPage, data.length, offset, actualCloneCount);
103
+ if (jumpResult.shouldJump && jumpResult.jumpTo !== void 0) {
104
+ pendingJumpRef.current = jumpResult.jumpTo;
105
+ }
106
+ }
107
+ }, [data.length, offset, actualCloneCount, infinite, onPageChange, onNext, onPrev, updateMountedPages]);
108
+ var handlePageScrollStateChanged = React.useCallback(function (event) {
109
+ var state = event.nativeEvent.pageScrollState;
110
+ scrollStateRef.current = state;
111
+ onPageScrollStateChanged === null || onPageScrollStateChanged === void 0 || onPageScrollStateChanged(state);
112
+ if (state === "idle" && pendingJumpRef.current !== null) {
113
+ var targetPage = pendingJumpRef.current;
114
+ pendingJumpRef.current = null;
115
+ isJumpingRef.current = true;
116
+ requestAnimationFrame(function () {
117
+ var _pagerRef$current;
118
+ (_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 || _pagerRef$current.setPageWithoutAnimation(targetPage);
119
+ currentPageRef.current = targetPage;
120
+ setTimeout(function () {
121
+ isJumpingRef.current = false;
122
+ }, 50);
123
+ });
124
+ }
125
+ }, [onPageScrollStateChanged]);
126
+ React.useEffect(function () {
127
+ updateMountedPages(adjustedInitialPage);
128
+ }, [adjustedInitialPage, updateMountedPages]);
129
+ React.useImperativeHandle(ref, function () {
130
+ return {
131
+ goToPage: function goToPage(index) {
132
+ var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
133
+ var clampedIndex = Math.max(0, Math.min(index, data.length - 1));
134
+ var displayIndex = infinite ? components_Swiper_utils.getDisplayIndex(clampedIndex, offset) : clampedIndex;
135
+ if (animated) {
136
+ var _pagerRef$current2;
137
+ (_pagerRef$current2 = pagerRef.current) === null || _pagerRef$current2 === void 0 || _pagerRef$current2.setPage(displayIndex);
138
+ } else {
139
+ var _pagerRef$current3;
140
+ (_pagerRef$current3 = pagerRef.current) === null || _pagerRef$current3 === void 0 || _pagerRef$current3.setPageWithoutAnimation(displayIndex);
141
+ }
142
+ },
143
+ next: function next() {
144
+ var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
145
+ var nextPage = currentPage + 1;
146
+ if (infinite) {
147
+ components_Swiper_utils.getDisplayIndex(nextPage % data.length, offset);
148
+ if (animated) {
149
+ var _pagerRef$current4;
150
+ (_pagerRef$current4 = pagerRef.current) === null || _pagerRef$current4 === void 0 || _pagerRef$current4.setPage(currentPageRef.current + 1);
151
+ } else {
152
+ var _pagerRef$current5;
153
+ (_pagerRef$current5 = pagerRef.current) === null || _pagerRef$current5 === void 0 || _pagerRef$current5.setPageWithoutAnimation(currentPageRef.current + 1);
154
+ }
155
+ } else {
156
+ if (nextPage < data.length) {
157
+ if (animated) {
158
+ var _pagerRef$current6;
159
+ (_pagerRef$current6 = pagerRef.current) === null || _pagerRef$current6 === void 0 || _pagerRef$current6.setPage(nextPage);
160
+ } else {
161
+ var _pagerRef$current7;
162
+ (_pagerRef$current7 = pagerRef.current) === null || _pagerRef$current7 === void 0 || _pagerRef$current7.setPageWithoutAnimation(nextPage);
163
+ }
164
+ }
165
+ }
166
+ },
167
+ prev: function prev() {
168
+ var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
169
+ var prevPage = currentPage - 1;
170
+ if (infinite) {
171
+ components_Swiper_utils.getDisplayIndex((prevPage + data.length) % data.length, offset);
172
+ if (animated) {
173
+ var _pagerRef$current8;
174
+ (_pagerRef$current8 = pagerRef.current) === null || _pagerRef$current8 === void 0 || _pagerRef$current8.setPage(currentPageRef.current - 1);
175
+ } else {
176
+ var _pagerRef$current9;
177
+ (_pagerRef$current9 = pagerRef.current) === null || _pagerRef$current9 === void 0 || _pagerRef$current9.setPageWithoutAnimation(currentPageRef.current - 1);
178
+ }
179
+ } else {
180
+ if (prevPage >= 0) {
181
+ if (animated) {
182
+ var _pagerRef$current0;
183
+ (_pagerRef$current0 = pagerRef.current) === null || _pagerRef$current0 === void 0 || _pagerRef$current0.setPage(prevPage);
184
+ } else {
185
+ var _pagerRef$current1;
186
+ (_pagerRef$current1 = pagerRef.current) === null || _pagerRef$current1 === void 0 || _pagerRef$current1.setPageWithoutAnimation(prevPage);
187
+ }
188
+ }
189
+ }
190
+ },
191
+ getCurrentPage: function getCurrentPage() {
192
+ return currentPage;
193
+ }
194
+ };
195
+ }, [currentPage, data.length, infinite, offset]);
196
+ if (data.length === 0) {
197
+ return null;
198
+ }
199
+ return /* @__PURE__ */React.createElement(PagerView, {
200
+ ref: pagerRef,
201
+ style: [styles.pager, style],
202
+ initialPage: adjustedInitialPage,
203
+ onPageSelected: handlePageSelected,
204
+ onPageScrollStateChanged: handlePageScrollStateChanged,
205
+ pageMargin: pageMargin,
206
+ offscreenPageLimit: offscreenPageLimit,
207
+ scrollEnabled: scrollEnabled,
208
+ overdrag: overdrag
209
+ }, displayData.map(function (item, displayIndex) {
210
+ var _keyExtractor;
211
+ var realIndex = components_Swiper_utils.getRealIndex(displayIndex, offset, data.length);
212
+ var shouldMount = mountedPages.has(displayIndex);
213
+ var shouldUnmount = unmountPages.has(displayIndex);
214
+ var key = (_keyExtractor = keyExtractor === null || keyExtractor === void 0 ? void 0 : keyExtractor(item, realIndex)) !== null && _keyExtractor !== void 0 ? _keyExtractor : "swiper-page-".concat(displayIndex);
215
+ return /* @__PURE__ */React.createElement(components_Swiper_LazyPage.LazyPage, {
216
+ key: key,
217
+ shouldMount: shouldMount,
218
+ shouldUnmount: shouldUnmount,
219
+ placeholder: renderPlaceholder === null || renderPlaceholder === void 0 ? void 0 : renderPlaceholder(realIndex)
220
+ }, renderItem(item, realIndex));
221
+ }));
222
+ }
223
+ var styles = reactNative.StyleSheet.create({
224
+ pager: {
225
+ flex: 1
226
+ }
227
+ });
228
+ var SwiperPagerView = /*#__PURE__*/React.forwardRef(SwiperPagerViewComponent);
229
+
230
+ exports.SwiperPagerView = SwiperPagerView;
231
+ //# 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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"}