@fountain-ui/lab 2.0.0-beta.9 → 3.0.0-alpha.10

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 (480) hide show
  1. package/build/commonjs/BottomSheet/BottomSheetNative.js +97 -30
  2. package/build/commonjs/BottomSheet/BottomSheetNative.js.map +1 -1
  3. package/build/commonjs/BottomSheet/BottomSheetProps.js.map +1 -1
  4. package/build/commonjs/BottomSheet/BottomSheetWeb.js +64 -17
  5. package/build/commonjs/BottomSheet/BottomSheetWeb.js.map +1 -1
  6. package/build/commonjs/BottomSheet/useDynamicSnapPoints.js +79 -0
  7. package/build/commonjs/BottomSheet/useDynamicSnapPoints.js.map +1 -0
  8. package/build/commonjs/BottomSheet/useDynamicSnapPoints.native.js +22 -0
  9. package/build/commonjs/BottomSheet/useDynamicSnapPoints.native.js.map +1 -0
  10. package/build/commonjs/Carousel/Carousel.js +130 -0
  11. package/build/commonjs/Carousel/Carousel.js.map +1 -0
  12. package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
  13. package/build/commonjs/Carousel/animation/animationUtils.js +9 -0
  14. package/build/commonjs/Carousel/animation/animationUtils.js.map +1 -0
  15. package/build/commonjs/Carousel/animation/createDefaultItemStyle.js +15 -0
  16. package/build/commonjs/Carousel/animation/createDefaultItemStyle.js.map +1 -0
  17. package/build/commonjs/Carousel/animation/createDefaultScrollAnimation.js +26 -0
  18. package/build/commonjs/Carousel/animation/createDefaultScrollAnimation.js.map +1 -0
  19. package/build/commonjs/Carousel/animation/index.js +40 -0
  20. package/build/commonjs/Carousel/animation/index.js.map +1 -0
  21. package/build/commonjs/Carousel/animation/normalItemStyleFactory.js +27 -0
  22. package/build/commonjs/Carousel/animation/normalItemStyleFactory.js.map +1 -0
  23. package/build/commonjs/Carousel/animation/parallaxItemStyleFactory.js +65 -0
  24. package/build/commonjs/Carousel/animation/parallaxItemStyleFactory.js.map +1 -0
  25. package/build/commonjs/Carousel/components/InternalContext.js +29 -0
  26. package/build/commonjs/Carousel/components/InternalContext.js.map +1 -0
  27. package/build/commonjs/Carousel/components/ItemView.js +66 -0
  28. package/build/commonjs/Carousel/components/ItemView.js.map +1 -0
  29. package/build/commonjs/Carousel/components/RootView.js +86 -0
  30. package/build/commonjs/Carousel/components/RootView.js.map +1 -0
  31. package/build/commonjs/Carousel/components/ScrollViewGesture.js +84 -0
  32. package/build/commonjs/Carousel/components/ScrollViewGesture.js.map +1 -0
  33. package/build/commonjs/Carousel/components/index.js +40 -0
  34. package/build/commonjs/Carousel/components/index.js.map +1 -0
  35. package/build/commonjs/Carousel/components/useItemInterpolation.js +65 -0
  36. package/build/commonjs/Carousel/components/useItemInterpolation.js.map +1 -0
  37. package/build/commonjs/Carousel/hooks/index.js +48 -0
  38. package/build/commonjs/Carousel/hooks/index.js.map +1 -0
  39. package/build/commonjs/Carousel/hooks/useAutoplayController.js +58 -0
  40. package/build/commonjs/Carousel/hooks/useAutoplayController.js.map +1 -0
  41. package/build/commonjs/Carousel/hooks/useIndexController.js +55 -0
  42. package/build/commonjs/Carousel/hooks/useIndexController.js.map +1 -0
  43. package/build/commonjs/Carousel/hooks/useItemVisibilityStore.js +95 -0
  44. package/build/commonjs/Carousel/hooks/useItemVisibilityStore.js.map +1 -0
  45. package/build/commonjs/Carousel/hooks/useLoopedData.js +33 -0
  46. package/build/commonjs/Carousel/hooks/useLoopedData.js.map +1 -0
  47. package/build/commonjs/Carousel/hooks/usePagingAnimator.js +202 -0
  48. package/build/commonjs/Carousel/hooks/usePagingAnimator.js.map +1 -0
  49. package/build/commonjs/Carousel/index.js +16 -2
  50. package/build/commonjs/Carousel/index.js.map +1 -1
  51. package/build/commonjs/Carousel/tick.js +16 -0
  52. package/build/commonjs/Carousel/tick.js.map +1 -0
  53. package/build/commonjs/Carousel/types.js +8 -0
  54. package/build/commonjs/Carousel/types.js.map +1 -0
  55. package/build/commonjs/ComicViewer/ComicViewer.js +230 -92
  56. package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -1
  57. package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -1
  58. package/build/commonjs/ComicViewer/EncodedTile.js +10 -0
  59. package/build/commonjs/ComicViewer/EncodedTile.js.map +1 -0
  60. package/build/commonjs/ComicViewer/FastScroll.js +175 -0
  61. package/build/commonjs/ComicViewer/FastScroll.js.map +1 -0
  62. package/build/commonjs/ComicViewer/{ComicViewerItemProps.js → FastScrollProps.js} +1 -1
  63. package/build/commonjs/ComicViewer/FastScrollProps.js.map +1 -0
  64. package/build/commonjs/ComicViewer/ReloadButton.js +48 -0
  65. package/build/commonjs/ComicViewer/ReloadButton.js.map +1 -0
  66. package/build/commonjs/ComicViewer/ViewerItem.js +53 -59
  67. package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -1
  68. package/build/commonjs/ComicViewer/index.js.map +1 -1
  69. package/build/commonjs/ComicViewer/util.js +27 -0
  70. package/build/commonjs/ComicViewer/util.js.map +1 -0
  71. package/build/commonjs/DateTimePicker/DateTimePicker.js +12 -3
  72. package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
  73. package/build/commonjs/DateTimePicker/YearPicker.js +2 -2
  74. package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
  75. package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
  76. package/build/commonjs/StatusBarProvider/StatusBarProvider.js +111 -2
  77. package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
  78. package/build/commonjs/ViewPager/FluxContext.js +13 -0
  79. package/build/commonjs/ViewPager/FluxContext.js.map +1 -0
  80. package/build/commonjs/ViewPager/InternalContext.js +17 -0
  81. package/build/commonjs/ViewPager/InternalContext.js.map +1 -0
  82. package/build/commonjs/ViewPager/PageStateContext.js +14 -0
  83. package/build/commonjs/ViewPager/PageStateContext.js.map +1 -0
  84. package/build/commonjs/ViewPager/ViewPager.js +81 -0
  85. package/build/commonjs/ViewPager/ViewPager.js.map +1 -0
  86. package/build/commonjs/ViewPager/ViewPager.native.js +152 -0
  87. package/build/commonjs/ViewPager/ViewPager.native.js.map +1 -0
  88. package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
  89. package/build/commonjs/ViewPager/components/ChildrenMemoizedPage.js +122 -0
  90. package/build/commonjs/ViewPager/components/ChildrenMemoizedPage.js.map +1 -0
  91. package/build/commonjs/ViewPager/components/FluxStoreProvider.js +37 -0
  92. package/build/commonjs/ViewPager/components/FluxStoreProvider.js.map +1 -0
  93. package/build/commonjs/ViewPager/components/index.js +24 -0
  94. package/build/commonjs/ViewPager/components/index.js.map +1 -0
  95. package/build/commonjs/ViewPager/hooks/index.js +64 -0
  96. package/build/commonjs/ViewPager/hooks/index.js.map +1 -0
  97. package/build/commonjs/ViewPager/hooks/useDispatch.js +22 -0
  98. package/build/commonjs/ViewPager/hooks/useDispatch.js.map +1 -0
  99. package/build/commonjs/ViewPager/hooks/useEagerState.js +24 -0
  100. package/build/commonjs/ViewPager/hooks/useEagerState.js.map +1 -0
  101. package/build/commonjs/ViewPager/hooks/useForceRender.js +16 -0
  102. package/build/commonjs/ViewPager/hooks/useForceRender.js.map +1 -0
  103. package/build/commonjs/ViewPager/hooks/useLazyState.js +43 -0
  104. package/build/commonjs/ViewPager/hooks/useLazyState.js.map +1 -0
  105. package/build/commonjs/ViewPager/hooks/usePageStore.js +35 -0
  106. package/build/commonjs/ViewPager/hooks/usePageStore.js.map +1 -0
  107. package/build/commonjs/ViewPager/hooks/useStore.js +26 -0
  108. package/build/commonjs/ViewPager/hooks/useStore.js.map +1 -0
  109. package/build/commonjs/ViewPager/hooks/useViewPagerPageState.js +19 -0
  110. package/build/commonjs/ViewPager/hooks/useViewPagerPageState.js.map +1 -0
  111. package/build/commonjs/ViewPager/index.js +42 -2
  112. package/build/commonjs/ViewPager/index.js.map +1 -1
  113. package/build/commonjs/ViewPager/types.js +2 -0
  114. package/build/commonjs/ViewPager/types.js.map +1 -0
  115. package/build/commonjs/ViewPager/utils.js +12 -45
  116. package/build/commonjs/ViewPager/utils.js.map +1 -1
  117. package/build/commonjs/ViewabilityTrackerView/Viewability.js +2 -0
  118. package/build/commonjs/ViewabilityTrackerView/Viewability.js.map +1 -0
  119. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerView.js +45 -0
  120. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerView.js.map +1 -0
  121. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerViewProps.js +2 -0
  122. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerViewProps.js.map +1 -0
  123. package/build/commonjs/{Carousel/index.native.js → ViewabilityTrackerView/index.js} +3 -3
  124. package/build/commonjs/ViewabilityTrackerView/index.js.map +1 -0
  125. package/build/commonjs/ViewabilityTrackerView/measureViewability.js +42 -0
  126. package/build/commonjs/ViewabilityTrackerView/measureViewability.js.map +1 -0
  127. package/build/commonjs/ViewabilityTrackerView/useViewabilityTracker.js +88 -0
  128. package/build/commonjs/ViewabilityTrackerView/useViewabilityTracker.js.map +1 -0
  129. package/build/commonjs/hooks/index.js +16 -0
  130. package/build/commonjs/hooks/index.js.map +1 -1
  131. package/build/commonjs/hooks/useDeferredExecutor.js +45 -0
  132. package/build/commonjs/hooks/useDeferredExecutor.js.map +1 -0
  133. package/build/commonjs/hooks/useHeight.js +4 -4
  134. package/build/commonjs/hooks/useHeight.js.map +1 -1
  135. package/build/commonjs/hooks/useIsMounted.js +22 -0
  136. package/build/commonjs/hooks/useIsMounted.js.map +1 -0
  137. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +3 -5
  138. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  139. package/build/commonjs/index.js +22 -1
  140. package/build/commonjs/index.js.map +1 -1
  141. package/build/module/BottomSheet/BottomSheetNative.js +91 -25
  142. package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
  143. package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
  144. package/build/module/BottomSheet/BottomSheetWeb.js +59 -18
  145. package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
  146. package/build/module/BottomSheet/useDynamicSnapPoints.js +65 -0
  147. package/build/module/BottomSheet/useDynamicSnapPoints.js.map +1 -0
  148. package/build/module/BottomSheet/useDynamicSnapPoints.native.js +14 -0
  149. package/build/module/BottomSheet/useDynamicSnapPoints.native.js.map +1 -0
  150. package/build/module/Carousel/Carousel.js +109 -0
  151. package/build/module/Carousel/Carousel.js.map +1 -0
  152. package/build/module/Carousel/CarouselProps.js.map +1 -1
  153. package/build/module/Carousel/animation/animationUtils.js +2 -0
  154. package/build/module/Carousel/animation/animationUtils.js.map +1 -0
  155. package/build/module/Carousel/animation/createDefaultItemStyle.js +3 -0
  156. package/build/module/Carousel/animation/createDefaultItemStyle.js.map +1 -0
  157. package/build/module/Carousel/animation/createDefaultScrollAnimation.js +12 -0
  158. package/build/module/Carousel/animation/createDefaultScrollAnimation.js.map +1 -0
  159. package/build/module/Carousel/animation/index.js +5 -0
  160. package/build/module/Carousel/animation/index.js.map +1 -0
  161. package/build/module/Carousel/animation/normalItemStyleFactory.js +18 -0
  162. package/build/module/Carousel/animation/normalItemStyleFactory.js.map +1 -0
  163. package/build/module/Carousel/animation/parallaxItemStyleFactory.js +55 -0
  164. package/build/module/Carousel/animation/parallaxItemStyleFactory.js.map +1 -0
  165. package/build/module/Carousel/components/InternalContext.js +19 -0
  166. package/build/module/Carousel/components/InternalContext.js.map +1 -0
  167. package/build/module/Carousel/components/ItemView.js +46 -0
  168. package/build/module/Carousel/components/ItemView.js.map +1 -0
  169. package/build/module/Carousel/components/RootView.js +65 -0
  170. package/build/module/Carousel/components/RootView.js.map +1 -0
  171. package/build/module/Carousel/components/ScrollViewGesture.js +69 -0
  172. package/build/module/Carousel/components/ScrollViewGesture.js.map +1 -0
  173. package/build/module/Carousel/components/index.js +5 -0
  174. package/build/module/Carousel/components/index.js.map +1 -0
  175. package/build/module/Carousel/components/useItemInterpolation.js +51 -0
  176. package/build/module/Carousel/components/useItemInterpolation.js.map +1 -0
  177. package/build/module/Carousel/hooks/index.js +6 -0
  178. package/build/module/Carousel/hooks/index.js.map +1 -0
  179. package/build/module/Carousel/hooks/useAutoplayController.js +48 -0
  180. package/build/module/Carousel/hooks/useAutoplayController.js.map +1 -0
  181. package/build/module/Carousel/hooks/useIndexController.js +44 -0
  182. package/build/module/Carousel/hooks/useIndexController.js.map +1 -0
  183. package/build/module/Carousel/hooks/useItemVisibilityStore.js +86 -0
  184. package/build/module/Carousel/hooks/useItemVisibilityStore.js.map +1 -0
  185. package/build/module/Carousel/hooks/useLoopedData.js +24 -0
  186. package/build/module/Carousel/hooks/useLoopedData.js.map +1 -0
  187. package/build/module/Carousel/hooks/usePagingAnimator.js +192 -0
  188. package/build/module/Carousel/hooks/usePagingAnimator.js.map +1 -0
  189. package/build/module/Carousel/index.js +2 -1
  190. package/build/module/Carousel/index.js.map +1 -1
  191. package/build/module/Carousel/tick.js +6 -0
  192. package/build/module/Carousel/tick.js.map +1 -0
  193. package/build/module/Carousel/types.js +4 -0
  194. package/build/module/Carousel/types.js.map +1 -0
  195. package/build/module/ComicViewer/ComicViewer.js +229 -93
  196. package/build/module/ComicViewer/ComicViewer.js.map +1 -1
  197. package/build/module/ComicViewer/ComicViewerProps.js.map +1 -1
  198. package/build/module/ComicViewer/EncodedTile.js +3 -0
  199. package/build/module/ComicViewer/EncodedTile.js.map +1 -0
  200. package/build/module/ComicViewer/FastScroll.js +152 -0
  201. package/build/module/ComicViewer/FastScroll.js.map +1 -0
  202. package/build/module/ComicViewer/FastScrollProps.js +2 -0
  203. package/build/module/ComicViewer/FastScrollProps.js.map +1 -0
  204. package/build/module/ComicViewer/ReloadButton.js +33 -0
  205. package/build/module/ComicViewer/ReloadButton.js.map +1 -0
  206. package/build/module/ComicViewer/ViewerItem.js +53 -60
  207. package/build/module/ComicViewer/ViewerItem.js.map +1 -1
  208. package/build/module/ComicViewer/index.js.map +1 -1
  209. package/build/module/ComicViewer/util.js +15 -0
  210. package/build/module/ComicViewer/util.js.map +1 -0
  211. package/build/module/DateTimePicker/DateTimePicker.js +13 -4
  212. package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
  213. package/build/module/DateTimePicker/YearPicker.js +2 -2
  214. package/build/module/DateTimePicker/YearPicker.js.map +1 -1
  215. package/build/module/StatusBarProvider/Provider.js.map +1 -1
  216. package/build/module/StatusBarProvider/StatusBarProvider.js +105 -2
  217. package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
  218. package/build/module/ViewPager/FluxContext.js +4 -0
  219. package/build/module/ViewPager/FluxContext.js.map +1 -0
  220. package/build/module/ViewPager/InternalContext.js +7 -0
  221. package/build/module/ViewPager/InternalContext.js.map +1 -0
  222. package/build/module/ViewPager/PageStateContext.js +5 -0
  223. package/build/module/ViewPager/PageStateContext.js.map +1 -0
  224. package/build/module/ViewPager/ViewPager.js +57 -0
  225. package/build/module/ViewPager/ViewPager.js.map +1 -0
  226. package/build/module/ViewPager/ViewPager.native.js +129 -0
  227. package/build/module/ViewPager/ViewPager.native.js.map +1 -0
  228. package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
  229. package/build/module/ViewPager/components/ChildrenMemoizedPage.js +101 -0
  230. package/build/module/ViewPager/components/ChildrenMemoizedPage.js.map +1 -0
  231. package/build/module/ViewPager/components/FluxStoreProvider.js +20 -0
  232. package/build/module/ViewPager/components/FluxStoreProvider.js.map +1 -0
  233. package/build/module/ViewPager/components/index.js +3 -0
  234. package/build/module/ViewPager/components/index.js.map +1 -0
  235. package/build/module/ViewPager/hooks/index.js +8 -0
  236. package/build/module/ViewPager/hooks/index.js.map +1 -0
  237. package/build/module/ViewPager/hooks/useDispatch.js +10 -0
  238. package/build/module/ViewPager/hooks/useDispatch.js.map +1 -0
  239. package/build/module/ViewPager/hooks/useEagerState.js +12 -0
  240. package/build/module/ViewPager/hooks/useEagerState.js.map +1 -0
  241. package/build/module/ViewPager/hooks/useForceRender.js +7 -0
  242. package/build/module/ViewPager/hooks/useForceRender.js.map +1 -0
  243. package/build/module/ViewPager/hooks/useLazyState.js +28 -0
  244. package/build/module/ViewPager/hooks/useLazyState.js.map +1 -0
  245. package/build/module/ViewPager/hooks/usePageStore.js +25 -0
  246. package/build/module/ViewPager/hooks/usePageStore.js.map +1 -0
  247. package/build/module/ViewPager/hooks/useStore.js +14 -0
  248. package/build/module/ViewPager/hooks/useStore.js.map +1 -0
  249. package/build/module/ViewPager/hooks/useViewPagerPageState.js +7 -0
  250. package/build/module/ViewPager/hooks/useViewPagerPageState.js.map +1 -0
  251. package/build/module/ViewPager/index.js +3 -1
  252. package/build/module/ViewPager/index.js.map +1 -1
  253. package/build/module/ViewPager/types.js +2 -0
  254. package/build/module/ViewPager/types.js.map +1 -0
  255. package/build/module/ViewPager/utils.js +6 -34
  256. package/build/module/ViewPager/utils.js.map +1 -1
  257. package/build/module/ViewabilityTrackerView/Viewability.js +2 -0
  258. package/build/module/ViewabilityTrackerView/Viewability.js.map +1 -0
  259. package/build/module/ViewabilityTrackerView/ViewabilityTrackerView.js +28 -0
  260. package/build/module/ViewabilityTrackerView/ViewabilityTrackerView.js.map +1 -0
  261. package/build/module/ViewabilityTrackerView/ViewabilityTrackerViewProps.js +2 -0
  262. package/build/module/ViewabilityTrackerView/ViewabilityTrackerViewProps.js.map +1 -0
  263. package/build/module/ViewabilityTrackerView/index.js +2 -0
  264. package/build/module/ViewabilityTrackerView/index.js.map +1 -0
  265. package/build/module/ViewabilityTrackerView/measureViewability.js +34 -0
  266. package/build/module/ViewabilityTrackerView/measureViewability.js.map +1 -0
  267. package/build/module/ViewabilityTrackerView/useViewabilityTracker.js +73 -0
  268. package/build/module/ViewabilityTrackerView/useViewabilityTracker.js.map +1 -0
  269. package/build/module/hooks/index.js +2 -0
  270. package/build/module/hooks/index.js.map +1 -1
  271. package/build/module/hooks/useDeferredExecutor.js +33 -0
  272. package/build/module/hooks/useDeferredExecutor.js.map +1 -0
  273. package/build/module/hooks/useHeight.js +2 -3
  274. package/build/module/hooks/useHeight.js.map +1 -1
  275. package/build/module/hooks/useIsMounted.js +13 -0
  276. package/build/module/hooks/useIsMounted.js.map +1 -0
  277. package/build/module/hooks/useUnstableCollapsibleAppBar.js +4 -6
  278. package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  279. package/build/module/index.js +2 -0
  280. package/build/module/index.js.map +1 -1
  281. package/build/typescript/AnimatedY/AnimatedY.d.ts +1 -0
  282. package/build/typescript/BottomSheet/BottomSheetNative.d.ts +1 -0
  283. package/build/typescript/BottomSheet/BottomSheetProps.d.ts +31 -2
  284. package/build/typescript/BottomSheet/BottomSheetWeb.d.ts +1 -0
  285. package/build/typescript/BottomSheet/TransparentBackdrop.d.ts +1 -0
  286. package/build/typescript/BottomSheet/useDynamicSnapPoints.d.ts +13 -0
  287. package/build/typescript/BottomSheet/useDynamicSnapPoints.native.d.ts +21 -0
  288. package/build/typescript/Carousel/Carousel.d.ts +5 -0
  289. package/build/typescript/Carousel/CarouselProps.d.ts +33 -48
  290. package/build/typescript/Carousel/animation/animationUtils.d.ts +1 -0
  291. package/build/typescript/Carousel/animation/createDefaultItemStyle.d.ts +2 -0
  292. package/build/typescript/Carousel/animation/createDefaultScrollAnimation.d.ts +2 -0
  293. package/build/typescript/Carousel/animation/index.d.ts +4 -0
  294. package/build/typescript/Carousel/animation/normalItemStyleFactory.d.ts +2 -0
  295. package/build/typescript/Carousel/animation/parallaxItemStyleFactory.d.ts +9 -0
  296. package/build/typescript/Carousel/components/InternalContext.d.ts +14 -0
  297. package/build/typescript/Carousel/components/ItemView.d.ts +9 -0
  298. package/build/typescript/Carousel/components/RootView.d.ts +16 -0
  299. package/build/typescript/Carousel/components/ScrollViewGesture.d.ts +12 -0
  300. package/build/typescript/Carousel/components/index.d.ts +4 -0
  301. package/build/typescript/Carousel/components/useItemInterpolation.d.ts +2 -0
  302. package/build/typescript/Carousel/hooks/index.d.ts +5 -0
  303. package/build/typescript/Carousel/hooks/useAutoplayController.d.ts +7 -0
  304. package/build/typescript/Carousel/hooks/useIndexController.d.ts +10 -0
  305. package/build/typescript/Carousel/hooks/useItemVisibilityStore.d.ts +7 -0
  306. package/build/typescript/Carousel/hooks/useLoopedData.d.ts +1 -0
  307. package/build/typescript/Carousel/hooks/usePagingAnimator.d.ts +17 -0
  308. package/build/typescript/Carousel/index.d.ts +3 -1
  309. package/build/typescript/Carousel/tick.d.ts +2 -0
  310. package/build/typescript/Carousel/types.d.ts +91 -0
  311. package/build/typescript/ComicViewer/ComicViewer.d.ts +2 -1
  312. package/build/typescript/ComicViewer/ComicViewerProps.d.ts +61 -43
  313. package/build/typescript/ComicViewer/EncodedTile.d.ts +2 -0
  314. package/build/typescript/ComicViewer/FastScroll.d.ts +4 -0
  315. package/build/typescript/ComicViewer/FastScrollProps.d.ts +74 -0
  316. package/build/typescript/ComicViewer/ReloadButton.d.ts +7 -0
  317. package/build/typescript/ComicViewer/ViewerItem.d.ts +46 -7
  318. package/build/typescript/ComicViewer/index.d.ts +3 -2
  319. package/build/typescript/ComicViewer/util.d.ts +2 -0
  320. package/build/typescript/DateTimePicker/DateTimePicker.d.ts +1 -0
  321. package/build/typescript/DateTimePicker/YearPicker.d.ts +1 -0
  322. package/build/typescript/FlipCard/FlipCard.d.ts +1 -0
  323. package/build/typescript/StatusBarProvider/Provider.d.ts +13 -0
  324. package/build/typescript/StatusBarProvider/StatusBarProvider.d.ts +1 -0
  325. package/build/typescript/ViewPager/FluxContext.d.ts +5 -0
  326. package/build/typescript/ViewPager/InternalContext.d.ts +7 -0
  327. package/build/typescript/ViewPager/PageStateContext.d.ts +6 -0
  328. package/build/typescript/ViewPager/ViewPager.d.ts +5 -0
  329. package/build/typescript/ViewPager/ViewPager.native.d.ts +5 -0
  330. package/build/typescript/ViewPager/ViewPagerProps.d.ts +21 -27
  331. package/build/typescript/ViewPager/components/ChildrenMemoizedPage.d.ts +14 -0
  332. package/build/typescript/ViewPager/components/FluxStoreProvider.d.ts +6 -0
  333. package/build/typescript/ViewPager/components/index.d.ts +2 -0
  334. package/build/typescript/ViewPager/hooks/index.d.ts +7 -0
  335. package/build/typescript/ViewPager/hooks/useDispatch.d.ts +2 -0
  336. package/build/typescript/ViewPager/hooks/useEagerState.d.ts +1 -0
  337. package/build/typescript/ViewPager/hooks/useForceRender.d.ts +2 -0
  338. package/build/typescript/ViewPager/hooks/useLazyState.d.ts +2 -0
  339. package/build/typescript/ViewPager/hooks/usePageStore.d.ts +2 -0
  340. package/build/typescript/ViewPager/hooks/useStore.d.ts +2 -0
  341. package/build/typescript/ViewPager/hooks/useViewPagerPageState.d.ts +1 -0
  342. package/build/typescript/ViewPager/index.d.ts +4 -1
  343. package/build/typescript/ViewPager/types.d.ts +12 -0
  344. package/build/typescript/ViewPager/utils.d.ts +5 -20
  345. package/build/typescript/ViewabilityTrackerView/Viewability.d.ts +3 -0
  346. package/build/typescript/ViewabilityTrackerView/ViewabilityTrackerView.d.ts +3 -0
  347. package/build/typescript/ViewabilityTrackerView/ViewabilityTrackerViewProps.d.ts +22 -0
  348. package/build/typescript/ViewabilityTrackerView/index.d.ts +2 -0
  349. package/build/typescript/ViewabilityTrackerView/measureViewability.d.ts +11 -0
  350. package/build/typescript/ViewabilityTrackerView/useViewabilityTracker.d.ts +11 -0
  351. package/build/typescript/hooks/index.d.ts +2 -0
  352. package/build/typescript/hooks/useDeferredExecutor.d.ts +11 -0
  353. package/build/typescript/hooks/useIsMounted.d.ts +4 -0
  354. package/build/typescript/index.d.ts +2 -0
  355. package/package.json +10 -25
  356. package/src/BottomSheet/BottomSheetNative.tsx +103 -24
  357. package/src/BottomSheet/BottomSheetProps.ts +37 -2
  358. package/src/BottomSheet/BottomSheetWeb.tsx +69 -24
  359. package/src/BottomSheet/useDynamicSnapPoints.native.ts +15 -0
  360. package/src/BottomSheet/useDynamicSnapPoints.ts +87 -0
  361. package/src/Carousel/Carousel.tsx +135 -0
  362. package/src/Carousel/CarouselProps.ts +42 -53
  363. package/src/Carousel/animation/animationUtils.ts +1 -0
  364. package/src/Carousel/animation/createDefaultItemStyle.ts +3 -0
  365. package/src/Carousel/animation/createDefaultScrollAnimation.ts +14 -0
  366. package/src/Carousel/animation/index.ts +4 -0
  367. package/src/Carousel/animation/normalItemStyleFactory.ts +19 -0
  368. package/src/Carousel/animation/parallaxItemStyleFactory.ts +79 -0
  369. package/src/Carousel/components/InternalContext.ts +33 -0
  370. package/src/Carousel/components/ItemView.tsx +66 -0
  371. package/src/Carousel/components/RootView.tsx +79 -0
  372. package/src/Carousel/components/ScrollViewGesture.tsx +93 -0
  373. package/src/Carousel/components/index.ts +4 -0
  374. package/src/Carousel/components/useItemInterpolation.ts +107 -0
  375. package/src/Carousel/hooks/index.ts +5 -0
  376. package/src/Carousel/hooks/useAutoplayController.ts +57 -0
  377. package/src/Carousel/hooks/useIndexController.tsx +57 -0
  378. package/src/Carousel/hooks/useItemVisibilityStore.ts +107 -0
  379. package/src/Carousel/hooks/useLoopedData.ts +26 -0
  380. package/src/Carousel/hooks/usePagingAnimator.ts +255 -0
  381. package/src/Carousel/index.ts +4 -2
  382. package/src/Carousel/tick.ts +6 -0
  383. package/src/Carousel/types.ts +114 -0
  384. package/src/ComicViewer/ComicViewer.tsx +268 -106
  385. package/src/ComicViewer/ComicViewerProps.ts +66 -44
  386. package/src/ComicViewer/EncodedTile.ts +3 -0
  387. package/src/ComicViewer/FastScroll.tsx +176 -0
  388. package/src/ComicViewer/FastScrollProps.ts +88 -0
  389. package/src/ComicViewer/ReloadButton.tsx +36 -0
  390. package/src/ComicViewer/ViewerItem.tsx +104 -62
  391. package/src/ComicViewer/index.ts +8 -2
  392. package/src/ComicViewer/util.ts +15 -0
  393. package/src/DateTimePicker/DateTimePicker.tsx +11 -3
  394. package/src/DateTimePicker/YearPicker.tsx +2 -2
  395. package/src/StatusBarProvider/Provider.ts +14 -0
  396. package/src/StatusBarProvider/StatusBarProvider.tsx +103 -1
  397. package/src/ViewPager/FluxContext.ts +8 -0
  398. package/src/ViewPager/InternalContext.ts +13 -0
  399. package/src/ViewPager/PageStateContext.ts +11 -0
  400. package/src/ViewPager/ViewPager.native.tsx +152 -0
  401. package/src/ViewPager/ViewPager.tsx +69 -0
  402. package/src/ViewPager/ViewPagerProps.ts +25 -34
  403. package/src/ViewPager/components/ChildrenMemoizedPage.tsx +124 -0
  404. package/src/ViewPager/components/FluxStoreProvider.tsx +27 -0
  405. package/src/ViewPager/components/index.ts +2 -0
  406. package/src/ViewPager/hooks/index.ts +7 -0
  407. package/src/ViewPager/hooks/useDispatch.ts +11 -0
  408. package/src/ViewPager/hooks/useEagerState.ts +14 -0
  409. package/src/ViewPager/hooks/useForceRender.ts +7 -0
  410. package/src/ViewPager/hooks/useLazyState.ts +32 -0
  411. package/src/ViewPager/hooks/usePageStore.ts +30 -0
  412. package/src/ViewPager/hooks/useStore.ts +15 -0
  413. package/src/ViewPager/hooks/useViewPagerPageState.ts +6 -0
  414. package/src/ViewPager/index.ts +11 -2
  415. package/src/ViewPager/types.ts +15 -0
  416. package/src/ViewPager/utils.tsx +9 -56
  417. package/src/ViewabilityTrackerView/Viewability.ts +3 -0
  418. package/src/ViewabilityTrackerView/ViewabilityTrackerView.tsx +33 -0
  419. package/src/ViewabilityTrackerView/ViewabilityTrackerViewProps.ts +25 -0
  420. package/src/ViewabilityTrackerView/index.ts +2 -0
  421. package/src/ViewabilityTrackerView/measureViewability.ts +54 -0
  422. package/src/ViewabilityTrackerView/useViewabilityTracker.ts +85 -0
  423. package/src/hooks/index.ts +2 -0
  424. package/src/hooks/useDeferredExecutor.ts +46 -0
  425. package/src/hooks/useHeight.ts +3 -4
  426. package/src/hooks/useIsMounted.ts +19 -0
  427. package/src/hooks/useUnstableCollapsibleAppBar.ts +4 -4
  428. package/src/index.ts +3 -0
  429. package/build/commonjs/Carousel/CarouselNative.js +0 -72
  430. package/build/commonjs/Carousel/CarouselNative.js.map +0 -1
  431. package/build/commonjs/Carousel/CarouselWeb.js +0 -237
  432. package/build/commonjs/Carousel/CarouselWeb.js.map +0 -1
  433. package/build/commonjs/Carousel/index.native.js.map +0 -1
  434. package/build/commonjs/Carousel/utils.js +0 -19
  435. package/build/commonjs/Carousel/utils.js.map +0 -1
  436. package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +0 -1
  437. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +0 -49
  438. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +0 -1
  439. package/build/commonjs/ViewPager/ViewPagerNative.js +0 -75
  440. package/build/commonjs/ViewPager/ViewPagerNative.js.map +0 -1
  441. package/build/commonjs/ViewPager/ViewPagerWeb.js +0 -55
  442. package/build/commonjs/ViewPager/ViewPagerWeb.js.map +0 -1
  443. package/build/commonjs/ViewPager/index.native.js +0 -16
  444. package/build/commonjs/ViewPager/index.native.js.map +0 -1
  445. package/build/module/Carousel/CarouselNative.js +0 -54
  446. package/build/module/Carousel/CarouselNative.js.map +0 -1
  447. package/build/module/Carousel/CarouselWeb.js +0 -215
  448. package/build/module/Carousel/CarouselWeb.js.map +0 -1
  449. package/build/module/Carousel/index.native.js +0 -2
  450. package/build/module/Carousel/index.native.js.map +0 -1
  451. package/build/module/Carousel/utils.js +0 -7
  452. package/build/module/Carousel/utils.js.map +0 -1
  453. package/build/module/ComicViewer/ComicViewerItemProps.js +0 -2
  454. package/build/module/ComicViewer/ComicViewerItemProps.js.map +0 -1
  455. package/build/module/ViewPager/ChildrenMemoizedPage.js +0 -37
  456. package/build/module/ViewPager/ChildrenMemoizedPage.js.map +0 -1
  457. package/build/module/ViewPager/ViewPagerNative.js +0 -58
  458. package/build/module/ViewPager/ViewPagerNative.js.map +0 -1
  459. package/build/module/ViewPager/ViewPagerWeb.js +0 -41
  460. package/build/module/ViewPager/ViewPagerWeb.js.map +0 -1
  461. package/build/module/ViewPager/index.native.js +0 -2
  462. package/build/module/ViewPager/index.native.js.map +0 -1
  463. package/build/typescript/Carousel/CarouselNative.d.ts +0 -2
  464. package/build/typescript/Carousel/CarouselWeb.d.ts +0 -4
  465. package/build/typescript/Carousel/index.native.d.ts +0 -1
  466. package/build/typescript/Carousel/utils.d.ts +0 -6
  467. package/build/typescript/ComicViewer/ComicViewerItemProps.d.ts +0 -12
  468. package/build/typescript/ViewPager/ChildrenMemoizedPage.d.ts +0 -4
  469. package/build/typescript/ViewPager/ViewPagerNative.d.ts +0 -2
  470. package/build/typescript/ViewPager/ViewPagerWeb.d.ts +0 -2
  471. package/build/typescript/ViewPager/index.native.d.ts +0 -1
  472. package/src/Carousel/CarouselNative.tsx +0 -67
  473. package/src/Carousel/CarouselWeb.tsx +0 -222
  474. package/src/Carousel/index.native.ts +0 -1
  475. package/src/Carousel/utils.ts +0 -11
  476. package/src/ComicViewer/ComicViewerItemProps.ts +0 -15
  477. package/src/ViewPager/ChildrenMemoizedPage.tsx +0 -36
  478. package/src/ViewPager/ViewPagerNative.tsx +0 -73
  479. package/src/ViewPager/ViewPagerWeb.tsx +0 -52
  480. package/src/ViewPager/index.native.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Carousel","forwardRef","props","ref","autoplay","autoplayInterval","createItemStyle","createDefaultItemStyle","createScrollAnimation","createDefaultScrollAnimation","data","originalData","disableSmartAutoplay","initialIndex","itemHeight","itemWidth","loop","onIndexChange","renderItem","scrollEnabled","style","windowSize","useLoopedData","itemVisibilityStore","onPositionChange","useItemVisibilityStore","numberOfData","length","indexController","useIndexController","numberOfOriginalData","getCurrentIndex","gestureTranslationX","globalInterpolation","interruptAnimation","startPagingAnimation","usePagingAnimator","autoplayController","useAutoplayController","enabled","intervalMillis","useImperativeHandle","next","direction","prev","scrollTo","option","contextValue","useMemo","Math","max","visible","resume","pause","memo"],"sources":["Carousel.tsx"],"sourcesContent":["import React, { forwardRef, memo, useImperativeHandle, useMemo } from 'react';\nimport ViewabilityTrackerView from '../ViewabilityTrackerView';\nimport type CarouselProps from './CarouselProps';\nimport type { CarouselInstance } from './types';\nimport {\n useAutoplayController,\n useIndexController,\n useItemVisibilityStore,\n useLoopedData,\n usePagingAnimator,\n} from './hooks';\nimport { createDefaultItemStyle, createDefaultScrollAnimation } from './animation';\nimport { InternalContext, RootView, ScrollViewGesture } from './components';\n\nconst Carousel = forwardRef<CarouselInstance, CarouselProps>(function Carousel(props, ref) {\n const {\n autoplay = false,\n autoplayInterval = 3000,\n createItemStyle = createDefaultItemStyle,\n createScrollAnimation = createDefaultScrollAnimation,\n data: originalData,\n disableSmartAutoplay = false,\n initialIndex = 0,\n itemHeight,\n itemWidth,\n loop = false,\n onIndexChange,\n renderItem,\n scrollEnabled = true,\n style,\n windowSize = 5,\n } = props;\n\n const data = useLoopedData(originalData, loop);\n\n const [itemVisibilityStore, onPositionChange] = useItemVisibilityStore({\n initialIndex,\n numberOfData: data.length,\n windowSize,\n });\n\n const indexController = useIndexController({\n initialIndex,\n itemWidth,\n numberOfData: data.length,\n numberOfOriginalData: originalData.length,\n onIndexChange,\n onPositionChange,\n });\n\n const { getCurrentIndex } = indexController;\n\n const {\n gestureTranslationX,\n globalInterpolation,\n interruptAnimation,\n startPagingAnimation,\n } = usePagingAnimator({\n createScrollAnimation,\n itemWidth,\n indexController,\n initialIndex,\n loop,\n numberOfData: data.length,\n });\n\n const autoplayController = useAutoplayController({\n enabled: autoplay,\n intervalMillis: autoplayInterval,\n startPagingAnimation,\n });\n\n useImperativeHandle(\n ref,\n () => ({\n getCurrentIndex,\n next: () => startPagingAnimation('directional', { direction: 'next' }),\n prev: () => startPagingAnimation('directional', { direction: 'prev' }),\n scrollTo: (option) => startPagingAnimation('index', option),\n }),\n [startPagingAnimation, getCurrentIndex],\n );\n\n const contextValue = useMemo(() => ({\n createItemStyle,\n data,\n globalInterpolation,\n itemHeight,\n itemWidth,\n itemVisibilityStore,\n loop,\n }), [\n createItemStyle,\n data,\n globalInterpolation,\n itemHeight,\n itemWidth,\n itemVisibilityStore,\n loop,\n ]);\n\n return (\n <InternalContext.Provider value={contextValue}>\n <ViewabilityTrackerView\n enabled={autoplay && !disableSmartAutoplay}\n measurementIntervalMillis={Math.max(3000, autoplayInterval)}\n onViewabilityChange={({ visible }) => {\n if (visible) {\n autoplayController.resume();\n } else {\n autoplayController.pause();\n }\n }}\n >\n <ScrollViewGesture\n autoplayController={autoplayController}\n gestureTranslationX={gestureTranslationX}\n interruptAnimation={interruptAnimation}\n scrollEnabled={scrollEnabled}\n startPagingAnimation={startPagingAnimation}\n >\n <RootView\n data={data}\n itemHeight={itemHeight}\n originalData={originalData}\n renderItem={renderItem}\n style={style}\n />\n </ScrollViewGesture>\n </ViewabilityTrackerView>\n </InternalContext.Provider>\n );\n});\n\nexport default memo(Carousel);\n"],"mappings":";;;;;;;AAAA;;AACA;;AAGA;;AAOA;;AACA;;;;;;;;AAEA,MAAMA,QAAQ,gBAAG,IAAAC,iBAAA,EAA4C,SAASD,QAAT,CAAkBE,KAAlB,EAAyBC,GAAzB,EAA8B;EACvF,MAAM;IACFC,QAAQ,GAAG,KADT;IAEFC,gBAAgB,GAAG,IAFjB;IAGFC,eAAe,GAAGC,iCAHhB;IAIFC,qBAAqB,GAAGC,uCAJtB;IAKFC,IAAI,EAAEC,YALJ;IAMFC,oBAAoB,GAAG,KANrB;IAOFC,YAAY,GAAG,CAPb;IAQFC,UARE;IASFC,SATE;IAUFC,IAAI,GAAG,KAVL;IAWFC,aAXE;IAYFC,UAZE;IAaFC,aAAa,GAAG,IAbd;IAcFC,KAdE;IAeFC,UAAU,GAAG;EAfX,IAgBFnB,KAhBJ;EAkBA,MAAMQ,IAAI,GAAG,IAAAY,oBAAA,EAAcX,YAAd,EAA4BK,IAA5B,CAAb;EAEA,MAAM,CAACO,mBAAD,EAAsBC,gBAAtB,IAA0C,IAAAC,6BAAA,EAAuB;IACnEZ,YADmE;IAEnEa,YAAY,EAAEhB,IAAI,CAACiB,MAFgD;IAGnEN;EAHmE,CAAvB,CAAhD;EAMA,MAAMO,eAAe,GAAG,IAAAC,yBAAA,EAAmB;IACvChB,YADuC;IAEvCE,SAFuC;IAGvCW,YAAY,EAAEhB,IAAI,CAACiB,MAHoB;IAIvCG,oBAAoB,EAAEnB,YAAY,CAACgB,MAJI;IAKvCV,aALuC;IAMvCO;EANuC,CAAnB,CAAxB;EASA,MAAM;IAAEO;EAAF,IAAsBH,eAA5B;EAEA,MAAM;IACFI,mBADE;IAEFC,mBAFE;IAGFC,kBAHE;IAIFC;EAJE,IAKF,IAAAC,wBAAA,EAAkB;IAClB5B,qBADkB;IAElBO,SAFkB;IAGlBa,eAHkB;IAIlBf,YAJkB;IAKlBG,IALkB;IAMlBU,YAAY,EAAEhB,IAAI,CAACiB;EAND,CAAlB,CALJ;EAcA,MAAMU,kBAAkB,GAAG,IAAAC,4BAAA,EAAsB;IAC7CC,OAAO,EAAEnC,QADoC;IAE7CoC,cAAc,EAAEnC,gBAF6B;IAG7C8B;EAH6C,CAAtB,CAA3B;EAMA,IAAAM,0BAAA,EACItC,GADJ,EAEI,OAAO;IACH4B,eADG;IAEHW,IAAI,EAAE,MAAMP,oBAAoB,CAAC,aAAD,EAAgB;MAAEQ,SAAS,EAAE;IAAb,CAAhB,CAF7B;IAGHC,IAAI,EAAE,MAAMT,oBAAoB,CAAC,aAAD,EAAgB;MAAEQ,SAAS,EAAE;IAAb,CAAhB,CAH7B;IAIHE,QAAQ,EAAGC,MAAD,IAAYX,oBAAoB,CAAC,OAAD,EAAUW,MAAV;EAJvC,CAAP,CAFJ,EAQI,CAACX,oBAAD,EAAuBJ,eAAvB,CARJ;EAWA,MAAMgB,YAAY,GAAG,IAAAC,cAAA,EAAQ,OAAO;IAChC1C,eADgC;IAEhCI,IAFgC;IAGhCuB,mBAHgC;IAIhCnB,UAJgC;IAKhCC,SALgC;IAMhCQ,mBANgC;IAOhCP;EAPgC,CAAP,CAAR,EAQjB,CACAV,eADA,EAEAI,IAFA,EAGAuB,mBAHA,EAIAnB,UAJA,EAKAC,SALA,EAMAQ,mBANA,EAOAP,IAPA,CARiB,CAArB;EAkBA,oBACI,6BAAC,2BAAD,CAAiB,QAAjB;IAA0B,KAAK,EAAE+B;EAAjC,gBACI,6BAAC,+BAAD;IACI,OAAO,EAAE3C,QAAQ,IAAI,CAACQ,oBAD1B;IAEI,yBAAyB,EAAEqC,IAAI,CAACC,GAAL,CAAS,IAAT,EAAe7C,gBAAf,CAF/B;IAGI,mBAAmB,EAAE,QAAiB;MAAA,IAAhB;QAAE8C;MAAF,CAAgB;;MAClC,IAAIA,OAAJ,EAAa;QACTd,kBAAkB,CAACe,MAAnB;MACH,CAFD,MAEO;QACHf,kBAAkB,CAACgB,KAAnB;MACH;IACJ;EATL,gBAWI,6BAAC,6BAAD;IACI,kBAAkB,EAAEhB,kBADxB;IAEI,mBAAmB,EAAEL,mBAFzB;IAGI,kBAAkB,EAAEE,kBAHxB;IAII,aAAa,EAAEf,aAJnB;IAKI,oBAAoB,EAAEgB;EAL1B,gBAOI,6BAAC,oBAAD;IACI,IAAI,EAAEzB,IADV;IAEI,UAAU,EAAEI,UAFhB;IAGI,YAAY,EAAEH,YAHlB;IAII,UAAU,EAAEO,UAJhB;IAKI,KAAK,EAAEE;EALX,EAPJ,CAXJ,CADJ,CADJ;AA+BH,CAtHgB,CAAjB;;4BAwHe,IAAAkC,WAAA,EAAKtD,QAAL,C"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["CarouselProps.ts"],"sourcesContent":["import React, { RefObject } from 'react';\nimport type { ListRenderItemInfo } from 'react-native';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport default interface CarouselProps<ItemT = any> extends ComponentProps<{\n /**\n * If `true`, enable autoplay.\n * @default false\n */\n autoplay?: boolean;\n\n /**\n * Delay in ms until navigating to the next item.\n * @default 3000\n */\n autoplayInterval?: number;\n\n /**\n * Padding for center slide. If specified, `slidesToScroll` and `slidesToShow` set to 1.\n */\n centerSlidePadding?: number;\n\n /**\n * Delay in ms until navigating to the next item.\n */\n data: ReadonlyArray<ItemT>;\n\n /**\n * Value of the opacity effect applied to inactive slides.\n * @default 0.7\n */\n inactiveSlideOpacity?: number;\n\n /**\n * Value of the 'scale' transform applied to inactive slides.\n * @default 0.9\n */\n inactiveSlideScale?: number;\n\n /**\n * Web only. Value of the 'scale' transform applied to a active slide.\n * @default 0.990\n */\n activeSlideScale?: number;\n\n /**\n * A number representing the index of the active slide.\n */\n index: number;\n\n /**\n * Enable infinite loop mode.\n * @default false\n */\n infinite?: boolean;\n\n /**\n * Callback fired when an index is changed.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * Takes an item from data and renders it into the list.\n */\n renderItem: (info: Omit<ListRenderItemInfo<ItemT>, 'separators'>) => React.ReactElement | null;\n\n /**\n * Web only. Number of slides to scroll at once.\n * @default 1\n */\n slidesToScroll?: number;\n\n /**\n * Web only. Number of slides to display.\n * @default 1\n */\n slidesToShow?: number;\n\n /**\n * Web only. Enable items to display at the center.\n * @default true\n */\n centerMode?: boolean;\n\n /**\n * Web only. Enable arrows to display.\n * @default true\n */\n arrows?: boolean;\n\n /**\n * Web only. Style of arrows\n * @default true\n */\n arrowsStyle?: object;\n\n /**\n * Web only. Style of track\n * @default object\n */\n trackStyle?: object;\n\n /**\n * Only web. Refer slick object\n */\n ref?: RefObject<any>;\n}> {}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["CarouselProps.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport type { ComponentProps } from '@fountain-ui/core';\nimport type {\n CarouselInstance,\n CreateItemStyle,\n CreateScrollAnimation,\n ItemHeight,\n OnIndexChange,\n RenderItem,\n} from './types';\n\nexport default interface CarouselProps<ItemT = any> extends ComponentProps<{\n ref?: RefObject<CarouselInstance>;\n\n /**\n * If `true`, enable autoplay.\n * @default false\n */\n autoplay?: boolean;\n\n /**\n * Delay in ms until navigating to the next item.\n * @default 3000\n */\n autoplayInterval?: number;\n\n /**\n * The item style creator function.\n * @default createDefaultItemStyle\n */\n createItemStyle?: CreateItemStyle;\n\n /**\n * The scroll animation creator function.\n * @default createDefaultScrollAnimation\n */\n createScrollAnimation?: CreateScrollAnimation;\n\n /**\n * Data for render items.\n */\n data: ReadonlyArray<ItemT>;\n\n /**\n * If `true`, carousel will detect its own viewability and control autoplay automatically.\n * @default false\n */\n disableSmartAutoplay?: boolean;\n\n /**\n * Index of initial item that should be selected.\n * @default 0\n */\n initialIndex?: number;\n\n /**\n * The item height.\n * For a performance reason, always consider to provide a number value.\n */\n itemHeight: ItemHeight;\n\n /**\n * The item width.\n */\n itemWidth: number;\n\n /**\n * Enable infinite loop mode.\n * @default false\n */\n loop?: boolean;\n\n /**\n * Callback fired when an index is changed.\n */\n onIndexChange?: OnIndexChange;\n\n /**\n * Takes an item from data and renders it into the list.\n */\n renderItem: RenderItem<ItemT>;\n\n /**\n * Whether to enable scroll gesture.\n * @default true\n */\n scrollEnabled?: boolean;\n\n /**\n * The maximum number of items that can respond to pan gesture events.\n * Due to the nature of the `active` item, it accepts only odd number. (e.g. 1, 3, 5...)\n * 0 means all items will respond to pan gesture events.\n * @default 5\n */\n windowSize?: number;\n}> {}\n"],"mappings":""}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.itemInterpolationInputRange = void 0;
7
+ const itemInterpolationInputRange = [-1, 0, 1];
8
+ exports.itemInterpolationInputRange = itemInterpolationInputRange;
9
+ //# sourceMappingURL=animationUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["itemInterpolationInputRange"],"sources":["animationUtils.ts"],"sourcesContent":["export const itemInterpolationInputRange = [-1, 0, 1];\n"],"mappings":";;;;;;AAAO,MAAMA,2BAA2B,GAAG,CAAC,CAAC,CAAF,EAAK,CAAL,EAAQ,CAAR,CAApC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _normalItemStyleFactory = _interopRequireDefault(require("./normalItemStyleFactory"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = (0, _normalItemStyleFactory.default)();
13
+
14
+ exports.default = _default;
15
+ //# sourceMappingURL=createDefaultItemStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["normalItemStyleFactory"],"sources":["createDefaultItemStyle.ts"],"sourcesContent":["import normalItemStyleFactory from './normalItemStyleFactory';\n\nexport default normalItemStyleFactory();\n"],"mappings":";;;;;;;AAAA;;;;eAEe,IAAAA,+BAAA,G"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = createDefaultScrollAnimation;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var R = _interopRequireWildcard(require("ramda"));
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ function createDefaultScrollAnimation(animatedValue, toValue) {
17
+ return _reactNative.Animated.timing(animatedValue, {
18
+ toValue: toValue,
19
+ duration: 180,
20
+ easing: _reactNative.Easing.bezier(0.2, 0.2, 0.2, 1),
21
+ useNativeDriver: R.not(_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version === 31)
22
+ });
23
+ }
24
+
25
+ ;
26
+ //# sourceMappingURL=createDefaultScrollAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createDefaultScrollAnimation","animatedValue","toValue","Animated","timing","duration","easing","Easing","bezier","useNativeDriver","R","not","Platform","OS","Version"],"sources":["createDefaultScrollAnimation.ts"],"sourcesContent":["import { Animated, Easing, Platform } from 'react-native';\nimport * as R from 'ramda';\n\nexport default function createDefaultScrollAnimation(\n animatedValue: Animated.Value,\n toValue: number,\n): Animated.CompositeAnimation {\n return Animated.timing(animatedValue, {\n toValue: toValue,\n duration: 180,\n easing: Easing.bezier(0.2, 0.2, 0.2, 1),\n useNativeDriver: R.not(Platform.OS === 'android' && Platform.Version === 31),\n });\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEe,SAASA,4BAAT,CACXC,aADW,EAEXC,OAFW,EAGgB;EAC3B,OAAOC,qBAAA,CAASC,MAAT,CAAgBH,aAAhB,EAA+B;IAClCC,OAAO,EAAEA,OADyB;IAElCG,QAAQ,EAAE,GAFwB;IAGlCC,MAAM,EAAEC,mBAAA,CAAOC,MAAP,CAAc,GAAd,EAAmB,GAAnB,EAAwB,GAAxB,EAA6B,CAA7B,CAH0B;IAIlCC,eAAe,EAAEC,CAAC,CAACC,GAAF,CAAMC,qBAAA,CAASC,EAAT,KAAgB,SAAhB,IAA6BD,qBAAA,CAASE,OAAT,KAAqB,EAAxD;EAJiB,CAA/B,CAAP;AAMH;;AAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createDefaultItemStyle", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _createDefaultItemStyle.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createDefaultScrollAnimation", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _createDefaultScrollAnimation.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "normalItemStyleFactory", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _normalItemStyleFactory.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "parallaxItemStyleFactory", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _parallaxItemStyleFactory.default;
28
+ }
29
+ });
30
+
31
+ var _createDefaultItemStyle = _interopRequireDefault(require("./createDefaultItemStyle"));
32
+
33
+ var _createDefaultScrollAnimation = _interopRequireDefault(require("./createDefaultScrollAnimation"));
34
+
35
+ var _normalItemStyleFactory = _interopRequireDefault(require("./normalItemStyleFactory"));
36
+
37
+ var _parallaxItemStyleFactory = _interopRequireDefault(require("./parallaxItemStyleFactory"));
38
+
39
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default as createDefaultItemStyle } from './createDefaultItemStyle';\nexport { default as createDefaultScrollAnimation } from './createDefaultScrollAnimation';\nexport { default as normalItemStyleFactory } from './normalItemStyleFactory';\nexport { default as parallaxItemStyleFactory } from './parallaxItemStyleFactory';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = normalItemStyleFactory;
7
+
8
+ var _animationUtils = require("./animationUtils");
9
+
10
+ function normalItemStyleFactory() {
11
+ const createItemStyle = (itemInterpolation, itemWidth) => {
12
+ const translate = itemInterpolation.interpolate({
13
+ inputRange: _animationUtils.itemInterpolationInputRange,
14
+ outputRange: [-itemWidth, 0, itemWidth]
15
+ });
16
+ return {
17
+ transform: [{
18
+ translateX: translate
19
+ }]
20
+ };
21
+ };
22
+
23
+ return createItemStyle;
24
+ }
25
+
26
+ ;
27
+ //# sourceMappingURL=normalItemStyleFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["normalItemStyleFactory","createItemStyle","itemInterpolation","itemWidth","translate","interpolate","inputRange","itemInterpolationInputRange","outputRange","transform","translateX"],"sources":["normalItemStyleFactory.ts"],"sourcesContent":["import type { CreateItemStyle } from '../types';\nimport { itemInterpolationInputRange } from './animationUtils';\n\nexport default function normalItemStyleFactory() {\n const createItemStyle: CreateItemStyle = (itemInterpolation, itemWidth) => {\n const translate = itemInterpolation.interpolate({\n inputRange: itemInterpolationInputRange,\n outputRange: [\n -itemWidth,\n 0,\n itemWidth,\n ],\n });\n\n return { transform: [{ translateX: translate }] };\n };\n\n return createItemStyle;\n};\n"],"mappings":";;;;;;;AACA;;AAEe,SAASA,sBAAT,GAAkC;EAC7C,MAAMC,eAAgC,GAAG,CAACC,iBAAD,EAAoBC,SAApB,KAAkC;IACvE,MAAMC,SAAS,GAAGF,iBAAiB,CAACG,WAAlB,CAA8B;MAC5CC,UAAU,EAAEC,2CADgC;MAE5CC,WAAW,EAAE,CACT,CAACL,SADQ,EAET,CAFS,EAGTA,SAHS;IAF+B,CAA9B,CAAlB;IASA,OAAO;MAAEM,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEN;MAAd,CAAD;IAAb,CAAP;EACH,CAXD;;EAaA,OAAOH,eAAP;AACH;;AAAA"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = parallaxItemStyleFactory;
7
+
8
+ var _animationUtils = require("./animationUtils");
9
+
10
+ const defaultParallaxAnimationConfig = {
11
+ activeItemScale: 0.9,
12
+ activeItemOpacity: 1,
13
+ adjacentItemScale: Math.pow(0.9, 2),
14
+ adjacentItemOpacity: 0.5,
15
+ scrollingOffset: 50
16
+ };
17
+
18
+ function parallaxItemStyleFactory() {
19
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultParallaxAnimationConfig;
20
+ const {
21
+ activeItemOpacity,
22
+ activeItemScale,
23
+ adjacentItemOpacity,
24
+ adjacentItemScale,
25
+ scrollingOffset
26
+ } = { ...defaultParallaxAnimationConfig,
27
+ ...config
28
+ };
29
+
30
+ const createItemStyle = (itemInterpolation, itemWidth) => {
31
+ const translate = itemInterpolation.interpolate({
32
+ inputRange: _animationUtils.itemInterpolationInputRange,
33
+ outputRange: [-itemWidth + scrollingOffset, 0, itemWidth - scrollingOffset]
34
+ });
35
+ const zIndex = itemInterpolation.interpolate({
36
+ inputRange: _animationUtils.itemInterpolationInputRange,
37
+ outputRange: [0, itemWidth, 0],
38
+ extrapolate: 'clamp'
39
+ });
40
+ const scale = itemInterpolation.interpolate({
41
+ inputRange: _animationUtils.itemInterpolationInputRange,
42
+ outputRange: [adjacentItemScale, activeItemScale, adjacentItemScale],
43
+ extrapolate: 'clamp'
44
+ });
45
+ const opacity = itemInterpolation.interpolate({
46
+ inputRange: _animationUtils.itemInterpolationInputRange,
47
+ outputRange: [adjacentItemOpacity, activeItemOpacity, adjacentItemOpacity],
48
+ extrapolate: 'clamp'
49
+ });
50
+ return {
51
+ transform: [{
52
+ translateX: translate
53
+ }, {
54
+ scale
55
+ }],
56
+ zIndex,
57
+ opacity
58
+ };
59
+ };
60
+
61
+ return createItemStyle;
62
+ }
63
+
64
+ ;
65
+ //# sourceMappingURL=parallaxItemStyleFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultParallaxAnimationConfig","activeItemScale","activeItemOpacity","adjacentItemScale","Math","pow","adjacentItemOpacity","scrollingOffset","parallaxItemStyleFactory","config","createItemStyle","itemInterpolation","itemWidth","translate","interpolate","inputRange","itemInterpolationInputRange","outputRange","zIndex","extrapolate","scale","opacity","transform","translateX"],"sources":["parallaxItemStyleFactory.ts"],"sourcesContent":["import type { CreateItemStyle } from '../types';\nimport { itemInterpolationInputRange } from './animationUtils';\n\nexport interface ParallaxAnimationConfig {\n activeItemScale?: number;\n activeItemOpacity?: number;\n adjacentItemScale?: number;\n adjacentItemOpacity?: number;\n scrollingOffset?: number;\n}\n\nconst defaultParallaxAnimationConfig: Required<Readonly<ParallaxAnimationConfig>> = {\n activeItemScale: 0.9,\n activeItemOpacity: 1,\n adjacentItemScale: Math.pow(0.9, 2),\n adjacentItemOpacity: 0.5,\n scrollingOffset: 50,\n};\n\nexport default function parallaxItemStyleFactory(config: ParallaxAnimationConfig = defaultParallaxAnimationConfig) {\n const {\n activeItemOpacity,\n activeItemScale,\n adjacentItemOpacity,\n adjacentItemScale,\n scrollingOffset,\n }: Required<ParallaxAnimationConfig> = {\n ...defaultParallaxAnimationConfig,\n ...config,\n };\n\n const createItemStyle: CreateItemStyle = (itemInterpolation, itemWidth) => {\n const translate = itemInterpolation.interpolate({\n inputRange: itemInterpolationInputRange,\n outputRange: [\n -itemWidth + scrollingOffset,\n 0,\n itemWidth - scrollingOffset,\n ],\n });\n\n const zIndex = itemInterpolation.interpolate({\n inputRange: itemInterpolationInputRange,\n outputRange: [0, itemWidth, 0],\n extrapolate: 'clamp',\n });\n\n const scale = itemInterpolation.interpolate({\n inputRange: itemInterpolationInputRange,\n outputRange: [\n adjacentItemScale,\n activeItemScale,\n adjacentItemScale,\n ],\n extrapolate: 'clamp',\n });\n\n const opacity = itemInterpolation.interpolate({\n inputRange: itemInterpolationInputRange,\n outputRange: [\n adjacentItemOpacity,\n activeItemOpacity,\n adjacentItemOpacity,\n ],\n extrapolate: 'clamp',\n });\n\n return {\n transform: [\n { translateX: translate },\n { scale },\n ],\n zIndex,\n opacity,\n };\n };\n\n return createItemStyle;\n};\n"],"mappings":";;;;;;;AACA;;AAUA,MAAMA,8BAA2E,GAAG;EAChFC,eAAe,EAAE,GAD+D;EAEhFC,iBAAiB,EAAE,CAF6D;EAGhFC,iBAAiB,EAAEC,IAAI,CAACC,GAAL,CAAS,GAAT,EAAc,CAAd,CAH6D;EAIhFC,mBAAmB,EAAE,GAJ2D;EAKhFC,eAAe,EAAE;AAL+D,CAApF;;AAQe,SAASC,wBAAT,GAAoG;EAAA,IAAlEC,MAAkE,uEAAhCT,8BAAgC;EAC/G,MAAM;IACFE,iBADE;IAEFD,eAFE;IAGFK,mBAHE;IAIFH,iBAJE;IAKFI;EALE,IAMiC,EACnC,GAAGP,8BADgC;IAEnC,GAAGS;EAFgC,CANvC;;EAWA,MAAMC,eAAgC,GAAG,CAACC,iBAAD,EAAoBC,SAApB,KAAkC;IACvE,MAAMC,SAAS,GAAGF,iBAAiB,CAACG,WAAlB,CAA8B;MAC5CC,UAAU,EAAEC,2CADgC;MAE5CC,WAAW,EAAE,CACT,CAACL,SAAD,GAAaL,eADJ,EAET,CAFS,EAGTK,SAAS,GAAGL,eAHH;IAF+B,CAA9B,CAAlB;IASA,MAAMW,MAAM,GAAGP,iBAAiB,CAACG,WAAlB,CAA8B;MACzCC,UAAU,EAAEC,2CAD6B;MAEzCC,WAAW,EAAE,CAAC,CAAD,EAAIL,SAAJ,EAAe,CAAf,CAF4B;MAGzCO,WAAW,EAAE;IAH4B,CAA9B,CAAf;IAMA,MAAMC,KAAK,GAAGT,iBAAiB,CAACG,WAAlB,CAA8B;MACxCC,UAAU,EAAEC,2CAD4B;MAExCC,WAAW,EAAE,CACTd,iBADS,EAETF,eAFS,EAGTE,iBAHS,CAF2B;MAOxCgB,WAAW,EAAE;IAP2B,CAA9B,CAAd;IAUA,MAAME,OAAO,GAAGV,iBAAiB,CAACG,WAAlB,CAA8B;MAC1CC,UAAU,EAAEC,2CAD8B;MAE1CC,WAAW,EAAE,CACTX,mBADS,EAETJ,iBAFS,EAGTI,mBAHS,CAF6B;MAO1Ca,WAAW,EAAE;IAP6B,CAA9B,CAAhB;IAUA,OAAO;MACHG,SAAS,EAAE,CACP;QAAEC,UAAU,EAAEV;MAAd,CADO,EAEP;QAAEO;MAAF,CAFO,CADR;MAKHF,MALG;MAMHG;IANG,CAAP;EAQH,CA5CD;;EA8CA,OAAOX,eAAP;AACH;;AAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ const mockItemVisibilityStore = {
13
+ dispatch: () => void 0,
14
+ subscribe: () => () => void 0,
15
+ removeAllListeners: () => void 0
16
+ };
17
+ const initialValue = {
18
+ createItemStyle: () => ({}),
19
+ data: [],
20
+ globalInterpolation: _reactNative.Animated.add(new _reactNative.Animated.Value(0), 0),
21
+ itemHeight: 0,
22
+ itemWidth: 0,
23
+ itemVisibilityStore: mockItemVisibilityStore,
24
+ loop: false
25
+ };
26
+ const InternalContext = /*#__PURE__*/(0, _react.createContext)(initialValue);
27
+ var _default = InternalContext;
28
+ exports.default = _default;
29
+ //# sourceMappingURL=InternalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mockItemVisibilityStore","dispatch","subscribe","removeAllListeners","initialValue","createItemStyle","data","globalInterpolation","Animated","add","Value","itemHeight","itemWidth","itemVisibilityStore","loop","InternalContext","createContext"],"sources":["InternalContext.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { Animated } from 'react-native';\nimport type { CreateItemStyle, ItemHeight, ItemVisibilityStore } from '../types';\n\nexport interface InternalContextValue<ItemT> {\n createItemStyle: CreateItemStyle;\n data: ReadonlyArray<ItemT>;\n globalInterpolation: Animated.AnimatedInterpolation;\n itemHeight: ItemHeight;\n itemWidth: number;\n itemVisibilityStore: ItemVisibilityStore;\n loop: boolean;\n}\n\nconst mockItemVisibilityStore: ItemVisibilityStore = {\n dispatch: () => void 0,\n subscribe: () => () => void 0,\n removeAllListeners: () => void 0,\n};\n\nconst initialValue: Readonly<InternalContextValue<any>> = {\n createItemStyle: () => ({}),\n data: [],\n globalInterpolation: Animated.add(new Animated.Value(0), 0),\n itemHeight: 0,\n itemWidth: 0,\n itemVisibilityStore: mockItemVisibilityStore,\n loop: false,\n};\n\nconst InternalContext = createContext<InternalContextValue<any>>(initialValue);\n\nexport default InternalContext;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAaA,MAAMA,uBAA4C,GAAG;EACjDC,QAAQ,EAAE,MAAM,KAAK,CAD4B;EAEjDC,SAAS,EAAE,MAAM,MAAM,KAAK,CAFqB;EAGjDC,kBAAkB,EAAE,MAAM,KAAK;AAHkB,CAArD;AAMA,MAAMC,YAAiD,GAAG;EACtDC,eAAe,EAAE,OAAO,EAAP,CADqC;EAEtDC,IAAI,EAAE,EAFgD;EAGtDC,mBAAmB,EAAEC,qBAAA,CAASC,GAAT,CAAa,IAAID,qBAAA,CAASE,KAAb,CAAmB,CAAnB,CAAb,EAAoC,CAApC,CAHiC;EAItDC,UAAU,EAAE,CAJ0C;EAKtDC,SAAS,EAAE,CAL2C;EAMtDC,mBAAmB,EAAEb,uBANiC;EAOtDc,IAAI,EAAE;AAPgD,CAA1D;AAUA,MAAMC,eAAe,gBAAG,IAAAC,oBAAA,EAAyCZ,YAAzC,CAAxB;eAEeW,e"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ItemView;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _core = require("@fountain-ui/core");
13
+
14
+ var _useItemInterpolation = _interopRequireDefault(require("./useItemInterpolation"));
15
+
16
+ var _InternalContext = _interopRequireDefault(require("./InternalContext"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function ItemView(props) {
25
+ const {
26
+ children,
27
+ index,
28
+ onLayout
29
+ } = props;
30
+ const {
31
+ createItemStyle,
32
+ itemHeight,
33
+ itemWidth,
34
+ itemVisibilityStore
35
+ } = (0, _react.useContext)(_InternalContext.default);
36
+ const [visible, setVisible] = (0, _react.useState)(false);
37
+ const interpolation = (0, _useItemInterpolation.default)(index);
38
+ const itemStyle = (0, _react.useMemo)(() => createItemStyle(interpolation, itemWidth), [createItemStyle, interpolation, itemWidth]);
39
+ (0, _react.useEffect)(() => {
40
+ return itemVisibilityStore.subscribe(ranges => {
41
+ const nextVisible = ranges.some(_ref => {
42
+ let [from, to] = _ref;
43
+ return index >= from && index <= to;
44
+ });
45
+ setVisible(nextVisible);
46
+ });
47
+ }, [index, itemVisibilityStore]);
48
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
49
+ children: visible ? children(interpolation) : null,
50
+ onLayout: onLayout,
51
+ style: [{
52
+ width: itemWidth,
53
+ height: itemHeight !== 'auto' ? itemHeight : undefined
54
+ }, styles.absolute, // @ts-ignore
55
+ itemStyle]
56
+ });
57
+ }
58
+
59
+ ;
60
+
61
+ const styles = _core.StyleSheet.create({
62
+ absolute: {
63
+ position: 'absolute'
64
+ }
65
+ });
66
+ //# sourceMappingURL=ItemView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ItemView","props","children","index","onLayout","createItemStyle","itemHeight","itemWidth","itemVisibilityStore","useContext","InternalContext","visible","setVisible","useState","interpolation","useItemInterpolation","itemStyle","useMemo","useEffect","subscribe","ranges","nextVisible","some","from","to","width","height","undefined","styles","absolute","StyleSheet","create","position"],"sources":["ItemView.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { Animated } from 'react-native';\nimport { StyleSheet } from '@fountain-ui/core';\nimport useItemInterpolation from './useItemInterpolation';\nimport InternalContext from './InternalContext';\n\nexport interface ItemViewProps {\n children: (interpolation: Animated.AnimatedInterpolation) => ReactElement | null;\n index: number;\n onLayout?: ViewProps['onLayout'];\n}\n\nexport default function ItemView(props: ItemViewProps) {\n const {\n children,\n index,\n onLayout,\n } = props;\n\n const {\n createItemStyle,\n itemHeight,\n itemWidth,\n itemVisibilityStore,\n } = useContext(InternalContext);\n\n const [visible, setVisible] = useState(false);\n\n const interpolation = useItemInterpolation(index);\n\n const itemStyle = useMemo(\n () => createItemStyle(interpolation, itemWidth),\n [createItemStyle, interpolation, itemWidth],\n );\n\n useEffect(() => {\n return itemVisibilityStore.subscribe(ranges => {\n const nextVisible = ranges.some(([from, to]) => index >= from && index <= to);\n setVisible(nextVisible);\n });\n }, [index, itemVisibilityStore]);\n\n return (\n <Animated.View\n children={visible ? children(interpolation) : null}\n onLayout={onLayout}\n style={[\n {\n width: itemWidth,\n height: itemHeight !== 'auto' ? itemHeight : undefined,\n },\n styles.absolute,\n // @ts-ignore\n itemStyle,\n ]}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n absolute: {\n position: 'absolute',\n },\n});\n"],"mappings":";;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAQe,SAASA,QAAT,CAAkBC,KAAlB,EAAwC;EACnD,MAAM;IACFC,QADE;IAEFC,KAFE;IAGFC;EAHE,IAIFH,KAJJ;EAMA,MAAM;IACFI,eADE;IAEFC,UAFE;IAGFC,SAHE;IAIFC;EAJE,IAKF,IAAAC,iBAAA,EAAWC,wBAAX,CALJ;EAOA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwB,IAAAC,eAAA,EAAS,KAAT,CAA9B;EAEA,MAAMC,aAAa,GAAG,IAAAC,6BAAA,EAAqBZ,KAArB,CAAtB;EAEA,MAAMa,SAAS,GAAG,IAAAC,cAAA,EACd,MAAMZ,eAAe,CAACS,aAAD,EAAgBP,SAAhB,CADP,EAEd,CAACF,eAAD,EAAkBS,aAAlB,EAAiCP,SAAjC,CAFc,CAAlB;EAKA,IAAAW,gBAAA,EAAU,MAAM;IACZ,OAAOV,mBAAmB,CAACW,SAApB,CAA8BC,MAAM,IAAI;MAC3C,MAAMC,WAAW,GAAGD,MAAM,CAACE,IAAP,CAAY;QAAA,IAAC,CAACC,IAAD,EAAOC,EAAP,CAAD;QAAA,OAAgBrB,KAAK,IAAIoB,IAAT,IAAiBpB,KAAK,IAAIqB,EAA1C;MAAA,CAAZ,CAApB;MACAZ,UAAU,CAACS,WAAD,CAAV;IACH,CAHM,CAAP;EAIH,CALD,EAKG,CAAClB,KAAD,EAAQK,mBAAR,CALH;EAOA,oBACI,6BAAC,qBAAD,CAAU,IAAV;IACI,QAAQ,EAAEG,OAAO,GAAGT,QAAQ,CAACY,aAAD,CAAX,GAA6B,IADlD;IAEI,QAAQ,EAAEV,QAFd;IAGI,KAAK,EAAE,CACH;MACIqB,KAAK,EAAElB,SADX;MAEImB,MAAM,EAAEpB,UAAU,KAAK,MAAf,GAAwBA,UAAxB,GAAqCqB;IAFjD,CADG,EAKHC,MAAM,CAACC,QALJ,EAMH;IACAb,SAPG;EAHX,EADJ;AAeH;;AAAA;;AAED,MAAMY,MAAM,GAAGE,gBAAA,CAAWC,MAAX,CAAkB;EAC7BF,QAAQ,EAAE;IACNG,QAAQ,EAAE;EADJ;AADmB,CAAlB,CAAf"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _core = require("@fountain-ui/core");
13
+
14
+ var _ItemView = _interopRequireDefault(require("./ItemView"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+
24
+ const styles = _core.StyleSheet.create({
25
+ root: {
26
+ width: '100%',
27
+ justifyContent: 'center'
28
+ },
29
+ horizontal: {
30
+ flexDirection: 'row',
31
+ overflowX: 'hidden',
32
+ overflowY: 'visible'
33
+ }
34
+ });
35
+
36
+ const RootView = /*#__PURE__*/(0, _react.forwardRef)(function RootView(props, ref) {
37
+ const {
38
+ data,
39
+ itemHeight,
40
+ originalData,
41
+ renderItem,
42
+ style,
43
+ ...otherProps
44
+ } = props;
45
+ const [maxHeightOfRenderedItems, setMaxHeightOfRenderedItems] = (0, _react.useState)(0);
46
+
47
+ const handleItemLayout = e => {
48
+ const {
49
+ nativeEvent: {
50
+ layout: {
51
+ height
52
+ }
53
+ }
54
+ } = e;
55
+ const heightInt = Math.round(height);
56
+
57
+ if (heightInt > maxHeightOfRenderedItems) {
58
+ setMaxHeightOfRenderedItems(heightInt);
59
+ }
60
+ };
61
+
62
+ const renderItemView = (item, index) => /*#__PURE__*/_react.default.createElement(_ItemView.default, {
63
+ key: index,
64
+ index: index,
65
+ onLayout: itemHeight === 'auto' ? handleItemLayout : undefined
66
+ }, interpolation => renderItem({
67
+ item,
68
+ index: index % originalData.length,
69
+ interpolation
70
+ }));
71
+
72
+ const viewStyles = [styles.root, styles.horizontal, {
73
+ height: itemHeight === 'auto' ? maxHeightOfRenderedItems : itemHeight
74
+ }, style];
75
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, _extends({
76
+ ref: ref
77
+ }, otherProps, {
78
+ children: data.map(renderItemView),
79
+ style: viewStyles
80
+ }));
81
+ });
82
+
83
+ var _default = /*#__PURE__*/(0, _react.memo)(RootView);
84
+
85
+ exports.default = _default;
86
+ //# sourceMappingURL=RootView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["styles","StyleSheet","create","root","width","justifyContent","horizontal","flexDirection","overflowX","overflowY","RootView","forwardRef","props","ref","data","itemHeight","originalData","renderItem","style","otherProps","maxHeightOfRenderedItems","setMaxHeightOfRenderedItems","useState","handleItemLayout","e","nativeEvent","layout","height","heightInt","Math","round","renderItemView","item","index","undefined","interpolation","length","viewStyles","map","memo"],"sources":["RootView.tsx"],"sourcesContent":["import React, { forwardRef, memo, ReactElement, useState } from 'react';\nimport type { View, ViewProps, LayoutChangeEvent } from 'react-native';\nimport { Animated } from 'react-native';\nimport { StyleSheet } from '@fountain-ui/core';\nimport type { ItemHeight, RenderItem } from '../types';\nimport ItemView from './ItemView';\n\nconst styles = StyleSheet.create({\n root: {\n width: '100%',\n justifyContent: 'center',\n },\n horizontal: {\n flexDirection: 'row',\n overflowX: 'hidden',\n overflowY: 'visible',\n },\n});\n\nexport type RootViewProps<ItemT> = ViewProps & {\n data: ReadonlyArray<ItemT>;\n itemHeight: ItemHeight;\n originalData: ReadonlyArray<ItemT>;\n renderItem: RenderItem<ItemT>;\n};\n\nconst RootView = forwardRef<View, RootViewProps<any>>(function RootView(props, ref) {\n const {\n data,\n itemHeight,\n originalData,\n renderItem,\n style,\n ...otherProps\n } = props;\n\n const [maxHeightOfRenderedItems, setMaxHeightOfRenderedItems] = useState(0);\n\n const handleItemLayout = (e: LayoutChangeEvent) => {\n const { nativeEvent: { layout: { height } } } = e;\n\n const heightInt = Math.round(height);\n if (heightInt > maxHeightOfRenderedItems) {\n setMaxHeightOfRenderedItems(heightInt);\n }\n };\n\n const renderItemView = (item: any, index: number): ReactElement => (\n <ItemView\n key={index}\n index={index}\n onLayout={itemHeight === 'auto' ? handleItemLayout : undefined}\n >\n {(interpolation) => renderItem({\n item,\n index: index % originalData.length,\n interpolation,\n })}\n </ItemView>\n );\n\n const viewStyles = [\n styles.root,\n styles.horizontal,\n { height: itemHeight === 'auto' ? maxHeightOfRenderedItems : itemHeight },\n style,\n ];\n\n return (\n <Animated.View\n ref={ref}\n {...otherProps}\n children={data.map(renderItemView)}\n style={viewStyles}\n />\n );\n});\n\nexport default memo(RootView);\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;;;;;;;AAEA,MAAMA,MAAM,GAAGC,gBAAA,CAAWC,MAAX,CAAkB;EAC7BC,IAAI,EAAE;IACFC,KAAK,EAAE,MADL;IAEFC,cAAc,EAAE;EAFd,CADuB;EAK7BC,UAAU,EAAE;IACRC,aAAa,EAAE,KADP;IAERC,SAAS,EAAE,QAFH;IAGRC,SAAS,EAAE;EAHH;AALiB,CAAlB,CAAf;;AAmBA,MAAMC,QAAQ,gBAAG,IAAAC,iBAAA,EAAqC,SAASD,QAAT,CAAkBE,KAAlB,EAAyBC,GAAzB,EAA8B;EAChF,MAAM;IACFC,IADE;IAEFC,UAFE;IAGFC,YAHE;IAIFC,UAJE;IAKFC,KALE;IAMF,GAAGC;EAND,IAOFP,KAPJ;EASA,MAAM,CAACQ,wBAAD,EAA2BC,2BAA3B,IAA0D,IAAAC,eAAA,EAAS,CAAT,CAAhE;;EAEA,MAAMC,gBAAgB,GAAIC,CAAD,IAA0B;IAC/C,MAAM;MAAEC,WAAW,EAAE;QAAEC,MAAM,EAAE;UAAEC;QAAF;MAAV;IAAf,IAA0CH,CAAhD;IAEA,MAAMI,SAAS,GAAGC,IAAI,CAACC,KAAL,CAAWH,MAAX,CAAlB;;IACA,IAAIC,SAAS,GAAGR,wBAAhB,EAA0C;MACtCC,2BAA2B,CAACO,SAAD,CAA3B;IACH;EACJ,CAPD;;EASA,MAAMG,cAAc,GAAG,CAACC,IAAD,EAAYC,KAAZ,kBACnB,6BAAC,iBAAD;IACI,GAAG,EAAEA,KADT;IAEI,KAAK,EAAEA,KAFX;IAGI,QAAQ,EAAElB,UAAU,KAAK,MAAf,GAAwBQ,gBAAxB,GAA2CW;EAHzD,GAKMC,aAAD,IAAmBlB,UAAU,CAAC;IAC3Be,IAD2B;IAE3BC,KAAK,EAAEA,KAAK,GAAGjB,YAAY,CAACoB,MAFD;IAG3BD;EAH2B,CAAD,CALlC,CADJ;;EAcA,MAAME,UAAU,GAAG,CACfrC,MAAM,CAACG,IADQ,EAEfH,MAAM,CAACM,UAFQ,EAGf;IAAEqB,MAAM,EAAEZ,UAAU,KAAK,MAAf,GAAwBK,wBAAxB,GAAmDL;EAA7D,CAHe,EAIfG,KAJe,CAAnB;EAOA,oBACI,6BAAC,qBAAD,CAAU,IAAV;IACI,GAAG,EAAEL;EADT,GAEQM,UAFR;IAGI,QAAQ,EAAEL,IAAI,CAACwB,GAAL,CAASP,cAAT,CAHd;IAII,KAAK,EAAEM;EAJX,GADJ;AAQH,CAlDgB,CAAjB;;4BAoDe,IAAAE,WAAA,EAAK7B,QAAL,C"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ScrollViewGesture;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
13
+
14
+ var R = _interopRequireWildcard(require("ramda"));
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ const SCROLL_TO_ADJACENT_TX_THRESHOLD = 80;
21
+ const SCROLL_TO_ADJACENT_VX_THRESHOLD = 1000;
22
+ const ACTIVE_OFFSET_ABS_X = 5;
23
+ const activeOffsetX = [-ACTIVE_OFFSET_ABS_X, ACTIVE_OFFSET_ABS_X];
24
+ const endAnimationStates = [_reactNativeGestureHandler.State.CANCELLED, _reactNativeGestureHandler.State.END, _reactNativeGestureHandler.State.FAILED];
25
+
26
+ function shouldScrollToAdjacent(translationX, velocityX) {
27
+ const isSameDirection = translationX * velocityX > 0;
28
+ const isEnoughMovement = Math.abs(translationX) >= SCROLL_TO_ADJACENT_TX_THRESHOLD || Math.abs(velocityX) >= SCROLL_TO_ADJACENT_VX_THRESHOLD;
29
+ return isSameDirection && isEnoughMovement;
30
+ }
31
+
32
+ function ScrollViewGesture(props) {
33
+ const {
34
+ autoplayController,
35
+ children,
36
+ interruptAnimation,
37
+ gestureTranslationX,
38
+ scrollEnabled,
39
+ startPagingAnimation
40
+ } = props;
41
+ const {
42
+ pause: pauseAutoplay,
43
+ resume: resumeAutoplay
44
+ } = autoplayController;
45
+ const handleGestureBegin = (0, _react.useCallback)(() => {
46
+ pauseAutoplay();
47
+ interruptAnimation();
48
+ }, [interruptAnimation, pauseAutoplay]);
49
+ const handleGestureEvent = (0, _react.useCallback)(_reactNative.Animated.event([{
50
+ nativeEvent: {
51
+ translationX: gestureTranslationX
52
+ }
53
+ }], {
54
+ useNativeDriver: R.not(_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version === 31)
55
+ }), []);
56
+ const handleHandlerStateChange = (0, _react.useCallback)(event => {
57
+ const {
58
+ nativeEvent: {
59
+ translationX,
60
+ velocityX,
61
+ state
62
+ }
63
+ } = event;
64
+
65
+ if (endAnimationStates.includes(state)) {
66
+ const direction = shouldScrollToAdjacent(translationX, velocityX) ? translationX < 0 ? 'next' : 'prev' : 'stay';
67
+ startPagingAnimation('directional', {
68
+ direction: direction,
69
+ isOriginatedFromGesture: true,
70
+ lastGestureTranslationX: translationX
71
+ });
72
+ resumeAutoplay();
73
+ }
74
+ }, [startPagingAnimation, resumeAutoplay]);
75
+ return /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.PanGestureHandler, {
76
+ activeOffsetX: activeOffsetX,
77
+ children: children,
78
+ enabled: scrollEnabled,
79
+ onBegan: handleGestureBegin,
80
+ onGestureEvent: handleGestureEvent,
81
+ onHandlerStateChange: handleHandlerStateChange
82
+ });
83
+ }
84
+ //# sourceMappingURL=ScrollViewGesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SCROLL_TO_ADJACENT_TX_THRESHOLD","SCROLL_TO_ADJACENT_VX_THRESHOLD","ACTIVE_OFFSET_ABS_X","activeOffsetX","endAnimationStates","GestureHandlerState","CANCELLED","END","FAILED","shouldScrollToAdjacent","translationX","velocityX","isSameDirection","isEnoughMovement","Math","abs","ScrollViewGesture","props","autoplayController","children","interruptAnimation","gestureTranslationX","scrollEnabled","startPagingAnimation","pause","pauseAutoplay","resume","resumeAutoplay","handleGestureBegin","useCallback","handleGestureEvent","Animated","event","nativeEvent","useNativeDriver","R","not","Platform","OS","Version","handleHandlerStateChange","state","includes","direction","isOriginatedFromGesture","lastGestureTranslationX"],"sources":["ScrollViewGesture.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport React, { useCallback } from 'react';\nimport { Animated, Platform } from 'react-native';\nimport type { PanGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport { PanGestureHandler, State as GestureHandlerState } from 'react-native-gesture-handler';\nimport * as R from 'ramda';\nimport type { AutoplayController, PagingDirection, StartPagingAnimation } from '../types';\n\nexport interface ScrollViewGestureProps {\n autoplayController: AutoplayController;\n children: ReactNode;\n gestureTranslationX: Animated.Value,\n interruptAnimation: () => void;\n scrollEnabled: boolean;\n startPagingAnimation: StartPagingAnimation;\n}\n\nconst SCROLL_TO_ADJACENT_TX_THRESHOLD = 80;\nconst SCROLL_TO_ADJACENT_VX_THRESHOLD = 1000;\n\nconst ACTIVE_OFFSET_ABS_X = 5;\nconst activeOffsetX: number[] = [-ACTIVE_OFFSET_ABS_X, ACTIVE_OFFSET_ABS_X];\n\nconst endAnimationStates: Readonly<GestureHandlerState[]> = [\n GestureHandlerState.CANCELLED,\n GestureHandlerState.END,\n GestureHandlerState.FAILED,\n];\n\nfunction shouldScrollToAdjacent(translationX: number, velocityX: number): boolean {\n const isSameDirection = translationX * velocityX > 0;\n const isEnoughMovement =\n Math.abs(translationX) >= SCROLL_TO_ADJACENT_TX_THRESHOLD\n || Math.abs(velocityX) >= SCROLL_TO_ADJACENT_VX_THRESHOLD;\n\n return isSameDirection && isEnoughMovement;\n}\n\nexport default function ScrollViewGesture(props: ScrollViewGestureProps) {\n const {\n autoplayController,\n children,\n interruptAnimation,\n gestureTranslationX,\n scrollEnabled,\n startPagingAnimation,\n } = props;\n\n const { pause: pauseAutoplay, resume: resumeAutoplay } = autoplayController;\n\n const handleGestureBegin = useCallback(() => {\n pauseAutoplay();\n\n interruptAnimation();\n }, [interruptAnimation, pauseAutoplay]);\n\n const handleGestureEvent = useCallback(Animated.event(\n [{ nativeEvent: { translationX: gestureTranslationX } }],\n { useNativeDriver: R.not(Platform.OS === 'android' && Platform.Version === 31) },\n ), []);\n\n const handleHandlerStateChange = useCallback((event: PanGestureHandlerStateChangeEvent) => {\n const { nativeEvent: { translationX, velocityX, state } } = event;\n\n if (endAnimationStates.includes(state)) {\n const direction: PagingDirection = shouldScrollToAdjacent(translationX, velocityX)\n ? (translationX < 0 ? 'next' : 'prev')\n : 'stay';\n\n startPagingAnimation(\n 'directional',\n {\n direction: direction,\n isOriginatedFromGesture: true,\n lastGestureTranslationX: translationX,\n },\n );\n\n resumeAutoplay();\n }\n }, [startPagingAnimation, resumeAutoplay]);\n\n return (\n <PanGestureHandler\n activeOffsetX={activeOffsetX}\n children={children}\n enabled={scrollEnabled}\n onBegan={handleGestureBegin}\n onGestureEvent={handleGestureEvent}\n onHandlerStateChange={handleHandlerStateChange}\n />\n );\n}\n"],"mappings":";;;;;;;AACA;;AACA;;AAEA;;AACA;;;;;;AAYA,MAAMA,+BAA+B,GAAG,EAAxC;AACA,MAAMC,+BAA+B,GAAG,IAAxC;AAEA,MAAMC,mBAAmB,GAAG,CAA5B;AACA,MAAMC,aAAuB,GAAG,CAAC,CAACD,mBAAF,EAAuBA,mBAAvB,CAAhC;AAEA,MAAME,kBAAmD,GAAG,CACxDC,gCAAA,CAAoBC,SADoC,EAExDD,gCAAA,CAAoBE,GAFoC,EAGxDF,gCAAA,CAAoBG,MAHoC,CAA5D;;AAMA,SAASC,sBAAT,CAAgCC,YAAhC,EAAsDC,SAAtD,EAAkF;EAC9E,MAAMC,eAAe,GAAGF,YAAY,GAAGC,SAAf,GAA2B,CAAnD;EACA,MAAME,gBAAgB,GAClBC,IAAI,CAACC,GAAL,CAASL,YAAT,KAA0BV,+BAA1B,IACGc,IAAI,CAACC,GAAL,CAASJ,SAAT,KAAuBV,+BAF9B;EAIA,OAAOW,eAAe,IAAIC,gBAA1B;AACH;;AAEc,SAASG,iBAAT,CAA2BC,KAA3B,EAA0D;EACrE,MAAM;IACFC,kBADE;IAEFC,QAFE;IAGFC,kBAHE;IAIFC,mBAJE;IAKFC,aALE;IAMFC;EANE,IAOFN,KAPJ;EASA,MAAM;IAAEO,KAAK,EAAEC,aAAT;IAAwBC,MAAM,EAAEC;EAAhC,IAAmDT,kBAAzD;EAEA,MAAMU,kBAAkB,GAAG,IAAAC,kBAAA,EAAY,MAAM;IACzCJ,aAAa;IAEbL,kBAAkB;EACrB,CAJ0B,EAIxB,CAACA,kBAAD,EAAqBK,aAArB,CAJwB,CAA3B;EAMA,MAAMK,kBAAkB,GAAG,IAAAD,kBAAA,EAAYE,qBAAA,CAASC,KAAT,CACnC,CAAC;IAAEC,WAAW,EAAE;MAAEvB,YAAY,EAAEW;IAAhB;EAAf,CAAD,CADmC,EAEnC;IAAEa,eAAe,EAAEC,CAAC,CAACC,GAAF,CAAMC,qBAAA,CAASC,EAAT,KAAgB,SAAhB,IAA6BD,qBAAA,CAASE,OAAT,KAAqB,EAAxD;EAAnB,CAFmC,CAAZ,EAGxB,EAHwB,CAA3B;EAKA,MAAMC,wBAAwB,GAAG,IAAAX,kBAAA,EAAaG,KAAD,IAA8C;IACvF,MAAM;MAAEC,WAAW,EAAE;QAAEvB,YAAF;QAAgBC,SAAhB;QAA2B8B;MAA3B;IAAf,IAAsDT,KAA5D;;IAEA,IAAI5B,kBAAkB,CAACsC,QAAnB,CAA4BD,KAA5B,CAAJ,EAAwC;MACpC,MAAME,SAA0B,GAAGlC,sBAAsB,CAACC,YAAD,EAAeC,SAAf,CAAtB,GAC5BD,YAAY,GAAG,CAAf,GAAmB,MAAnB,GAA4B,MADA,GAE7B,MAFN;MAIAa,oBAAoB,CAChB,aADgB,EAEhB;QACIoB,SAAS,EAAEA,SADf;QAEIC,uBAAuB,EAAE,IAF7B;QAGIC,uBAAuB,EAAEnC;MAH7B,CAFgB,CAApB;MASAiB,cAAc;IACjB;EACJ,CAnBgC,EAmB9B,CAACJ,oBAAD,EAAuBI,cAAvB,CAnB8B,CAAjC;EAqBA,oBACI,6BAAC,4CAAD;IACI,aAAa,EAAExB,aADnB;IAEI,QAAQ,EAAEgB,QAFd;IAGI,OAAO,EAAEG,aAHb;IAII,OAAO,EAAEM,kBAJb;IAKI,cAAc,EAAEE,kBALpB;IAMI,oBAAoB,EAAEU;EAN1B,EADJ;AAUH"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "InternalContext", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _InternalContext.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ItemView", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ItemView.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "RootView", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _RootView.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ScrollViewGesture", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _ScrollViewGesture.default;
28
+ }
29
+ });
30
+
31
+ var _InternalContext = _interopRequireDefault(require("./InternalContext"));
32
+
33
+ var _ItemView = _interopRequireDefault(require("./ItemView"));
34
+
35
+ var _RootView = _interopRequireDefault(require("./RootView"));
36
+
37
+ var _ScrollViewGesture = _interopRequireDefault(require("./ScrollViewGesture"));
38
+
39
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default as InternalContext } from './InternalContext';\nexport { default as ItemView } from './ItemView';\nexport { default as RootView } from './RootView';\nexport { default as ScrollViewGesture } from './ScrollViewGesture';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA"}