@fountain-ui/lab 2.0.0-beta.6 → 2.0.0-beta.61

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 (520) hide show
  1. package/build/commonjs/AnimatedY/AnimatedY.js +10 -14
  2. package/build/commonjs/AnimatedY/AnimatedY.js.map +1 -1
  3. package/build/commonjs/AnimatedY/AnimatedYProps.js.map +1 -1
  4. package/build/commonjs/AnimatedY/index.js.map +1 -1
  5. package/build/commonjs/BottomSheet/BottomSheetNative.js +33 -8
  6. package/build/commonjs/BottomSheet/BottomSheetNative.js.map +1 -1
  7. package/build/commonjs/BottomSheet/BottomSheetProps.js.map +1 -1
  8. package/build/commonjs/BottomSheet/BottomSheetWeb.js +30 -16
  9. package/build/commonjs/BottomSheet/BottomSheetWeb.js.map +1 -1
  10. package/build/commonjs/BottomSheet/TransparentBackdrop.js +1 -1
  11. package/build/commonjs/BottomSheet/TransparentBackdrop.js.map +1 -1
  12. package/build/commonjs/BottomSheet/index.js.map +1 -1
  13. package/build/commonjs/BottomSheet/index.native.js.map +1 -1
  14. package/build/commonjs/BottomSheet/useDynamicSnapPoints.js +65 -0
  15. package/build/commonjs/BottomSheet/useDynamicSnapPoints.js.map +1 -0
  16. package/build/commonjs/Carousel/Carousel.js +130 -0
  17. package/build/commonjs/Carousel/Carousel.js.map +1 -0
  18. package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
  19. package/build/commonjs/Carousel/animation/animationUtils.js +9 -0
  20. package/build/commonjs/Carousel/animation/animationUtils.js.map +1 -0
  21. package/build/commonjs/Carousel/animation/createDefaultItemStyle.js +15 -0
  22. package/build/commonjs/Carousel/animation/createDefaultItemStyle.js.map +1 -0
  23. package/build/commonjs/Carousel/animation/createDefaultScrollAnimation.js +20 -0
  24. package/build/commonjs/Carousel/animation/createDefaultScrollAnimation.js.map +1 -0
  25. package/build/commonjs/Carousel/animation/index.js +40 -0
  26. package/build/commonjs/Carousel/animation/index.js.map +1 -0
  27. package/build/commonjs/Carousel/animation/normalItemStyleFactory.js +27 -0
  28. package/build/commonjs/Carousel/animation/normalItemStyleFactory.js.map +1 -0
  29. package/build/commonjs/Carousel/animation/parallaxItemStyleFactory.js +65 -0
  30. package/build/commonjs/Carousel/animation/parallaxItemStyleFactory.js.map +1 -0
  31. package/build/commonjs/Carousel/components/InternalContext.js +29 -0
  32. package/build/commonjs/Carousel/components/InternalContext.js.map +1 -0
  33. package/build/commonjs/Carousel/components/ItemView.js +66 -0
  34. package/build/commonjs/Carousel/components/ItemView.js.map +1 -0
  35. package/build/commonjs/Carousel/components/RootView.js +86 -0
  36. package/build/commonjs/Carousel/components/RootView.js.map +1 -0
  37. package/build/commonjs/Carousel/components/ScrollViewGesture.js +82 -0
  38. package/build/commonjs/Carousel/components/ScrollViewGesture.js.map +1 -0
  39. package/build/commonjs/Carousel/components/index.js +40 -0
  40. package/build/commonjs/Carousel/components/index.js.map +1 -0
  41. package/build/commonjs/Carousel/components/useItemInterpolation.js +65 -0
  42. package/build/commonjs/Carousel/components/useItemInterpolation.js.map +1 -0
  43. package/build/commonjs/Carousel/hooks/index.js +48 -0
  44. package/build/commonjs/Carousel/hooks/index.js.map +1 -0
  45. package/build/commonjs/Carousel/hooks/useAutoplayController.js +58 -0
  46. package/build/commonjs/Carousel/hooks/useAutoplayController.js.map +1 -0
  47. package/build/commonjs/Carousel/hooks/useIndexController.js +55 -0
  48. package/build/commonjs/Carousel/hooks/useIndexController.js.map +1 -0
  49. package/build/commonjs/Carousel/hooks/useItemVisibilityStore.js +95 -0
  50. package/build/commonjs/Carousel/hooks/useItemVisibilityStore.js.map +1 -0
  51. package/build/commonjs/Carousel/hooks/useLoopedData.js +33 -0
  52. package/build/commonjs/Carousel/hooks/useLoopedData.js.map +1 -0
  53. package/build/commonjs/Carousel/hooks/usePagingAnimator.js +205 -0
  54. package/build/commonjs/Carousel/hooks/usePagingAnimator.js.map +1 -0
  55. package/build/commonjs/Carousel/index.js +16 -2
  56. package/build/commonjs/Carousel/index.js.map +1 -1
  57. package/build/commonjs/Carousel/tick.js +16 -0
  58. package/build/commonjs/Carousel/tick.js.map +1 -0
  59. package/build/commonjs/Carousel/types.js +8 -0
  60. package/build/commonjs/Carousel/types.js.map +1 -0
  61. package/build/commonjs/ComicViewer/ComicViewer.js +215 -95
  62. package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -1
  63. package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -1
  64. package/build/commonjs/ComicViewer/EncodedTile.js +10 -0
  65. package/build/commonjs/ComicViewer/EncodedTile.js.map +1 -0
  66. package/build/commonjs/ComicViewer/FastScroll.js +176 -0
  67. package/build/commonjs/ComicViewer/FastScroll.js.map +1 -0
  68. package/build/commonjs/ComicViewer/{ComicViewerItemProps.js → FastScrollProps.js} +1 -1
  69. package/build/commonjs/ComicViewer/FastScrollProps.js.map +1 -0
  70. package/build/commonjs/ComicViewer/ReloadButton.js +48 -0
  71. package/build/commonjs/ComicViewer/ReloadButton.js.map +1 -0
  72. package/build/commonjs/ComicViewer/ViewerItem.js +53 -58
  73. package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -1
  74. package/build/commonjs/ComicViewer/index.js.map +1 -1
  75. package/build/commonjs/ComicViewer/util.js +27 -0
  76. package/build/commonjs/ComicViewer/util.js.map +1 -0
  77. package/build/commonjs/DateTimePicker/DateTimePicker.js +10 -1
  78. package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
  79. package/build/commonjs/DateTimePicker/DateTimePickerProps.js.map +1 -1
  80. package/build/commonjs/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  81. package/build/commonjs/DateTimePicker/YearPicker.js +21 -17
  82. package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
  83. package/build/commonjs/DateTimePicker/index.js +4 -4
  84. package/build/commonjs/DateTimePicker/index.js.map +1 -1
  85. package/build/commonjs/DateTimePicker/utils.js +2 -1
  86. package/build/commonjs/DateTimePicker/utils.js.map +1 -1
  87. package/build/commonjs/FlipCard/FlipCard.js +7 -13
  88. package/build/commonjs/FlipCard/FlipCard.js.map +1 -1
  89. package/build/commonjs/FlipCard/FlipCardProps.js.map +1 -1
  90. package/build/commonjs/FlipCard/index.js.map +1 -1
  91. package/build/commonjs/StatusBarProvider/Provider.js +1 -1
  92. package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
  93. package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
  94. package/build/commonjs/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  95. package/build/commonjs/StatusBarProvider/index.js.map +1 -1
  96. package/build/commonjs/ViewPager/FluxContext.js +13 -0
  97. package/build/commonjs/ViewPager/FluxContext.js.map +1 -0
  98. package/build/commonjs/ViewPager/InternalContext.js +17 -0
  99. package/build/commonjs/ViewPager/InternalContext.js.map +1 -0
  100. package/build/commonjs/ViewPager/PageStateContext.js +16 -0
  101. package/build/commonjs/ViewPager/PageStateContext.js.map +1 -0
  102. package/build/commonjs/ViewPager/ViewPager.js +81 -0
  103. package/build/commonjs/ViewPager/ViewPager.js.map +1 -0
  104. package/build/commonjs/ViewPager/ViewPager.native.js +152 -0
  105. package/build/commonjs/ViewPager/ViewPager.native.js.map +1 -0
  106. package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
  107. package/build/commonjs/ViewPager/components/ChildrenMemoizedPage.js +122 -0
  108. package/build/commonjs/ViewPager/components/ChildrenMemoizedPage.js.map +1 -0
  109. package/build/commonjs/ViewPager/components/FluxStoreProvider.js +37 -0
  110. package/build/commonjs/ViewPager/components/FluxStoreProvider.js.map +1 -0
  111. package/build/commonjs/ViewPager/components/index.js +24 -0
  112. package/build/commonjs/ViewPager/components/index.js.map +1 -0
  113. package/build/commonjs/ViewPager/hooks/index.js +64 -0
  114. package/build/commonjs/ViewPager/hooks/index.js.map +1 -0
  115. package/build/commonjs/ViewPager/hooks/useDispatch.js +22 -0
  116. package/build/commonjs/ViewPager/hooks/useDispatch.js.map +1 -0
  117. package/build/commonjs/ViewPager/hooks/useEagerState.js +24 -0
  118. package/build/commonjs/ViewPager/hooks/useEagerState.js.map +1 -0
  119. package/build/commonjs/ViewPager/hooks/useForceRender.js +16 -0
  120. package/build/commonjs/ViewPager/hooks/useForceRender.js.map +1 -0
  121. package/build/commonjs/ViewPager/hooks/useLazyState.js +45 -0
  122. package/build/commonjs/ViewPager/hooks/useLazyState.js.map +1 -0
  123. package/build/commonjs/ViewPager/hooks/usePageStore.js +35 -0
  124. package/build/commonjs/ViewPager/hooks/usePageStore.js.map +1 -0
  125. package/build/commonjs/ViewPager/hooks/useStore.js +26 -0
  126. package/build/commonjs/ViewPager/hooks/useStore.js.map +1 -0
  127. package/build/commonjs/ViewPager/hooks/useViewPagerPageState.js +19 -0
  128. package/build/commonjs/ViewPager/hooks/useViewPagerPageState.js.map +1 -0
  129. package/build/commonjs/ViewPager/index.js +42 -2
  130. package/build/commonjs/ViewPager/index.js.map +1 -1
  131. package/build/commonjs/ViewPager/types.js +2 -0
  132. package/build/commonjs/ViewPager/types.js.map +1 -0
  133. package/build/commonjs/ViewPager/utils.js +12 -43
  134. package/build/commonjs/ViewPager/utils.js.map +1 -1
  135. package/build/commonjs/ViewabilityTrackerView/Viewability.js +2 -0
  136. package/build/commonjs/ViewabilityTrackerView/Viewability.js.map +1 -0
  137. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerView.js +45 -0
  138. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerView.js.map +1 -0
  139. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerViewProps.js +2 -0
  140. package/build/commonjs/ViewabilityTrackerView/ViewabilityTrackerViewProps.js.map +1 -0
  141. package/build/commonjs/{Carousel/index.native.js → ViewabilityTrackerView/index.js} +3 -3
  142. package/build/commonjs/ViewabilityTrackerView/index.js.map +1 -0
  143. package/build/commonjs/ViewabilityTrackerView/measureViewability.js +42 -0
  144. package/build/commonjs/ViewabilityTrackerView/measureViewability.js.map +1 -0
  145. package/build/commonjs/ViewabilityTrackerView/useViewabilityTracker.js +88 -0
  146. package/build/commonjs/ViewabilityTrackerView/useViewabilityTracker.js.map +1 -0
  147. package/build/commonjs/hooks/index.js +16 -0
  148. package/build/commonjs/hooks/index.js.map +1 -1
  149. package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
  150. package/build/commonjs/hooks/useDeferredExecutor.js +45 -0
  151. package/build/commonjs/hooks/useDeferredExecutor.js.map +1 -0
  152. package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
  153. package/build/commonjs/hooks/useHeight.js +7 -6
  154. package/build/commonjs/hooks/useHeight.js.map +1 -1
  155. package/build/commonjs/hooks/useIsMounted.js +22 -0
  156. package/build/commonjs/hooks/useIsMounted.js.map +1 -0
  157. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +56 -57
  158. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  159. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js +9 -11
  160. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  161. package/build/commonjs/index.js +28 -7
  162. package/build/commonjs/index.js.map +1 -1
  163. package/build/module/AnimatedY/AnimatedY.js +11 -10
  164. package/build/module/AnimatedY/AnimatedY.js.map +1 -1
  165. package/build/module/AnimatedY/AnimatedYProps.js.map +1 -1
  166. package/build/module/AnimatedY/index.js.map +1 -1
  167. package/build/module/BottomSheet/BottomSheetNative.js +34 -10
  168. package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
  169. package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
  170. package/build/module/BottomSheet/BottomSheetWeb.js +28 -16
  171. package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
  172. package/build/module/BottomSheet/TransparentBackdrop.js +1 -1
  173. package/build/module/BottomSheet/TransparentBackdrop.js.map +1 -1
  174. package/build/module/BottomSheet/index.js.map +1 -1
  175. package/build/module/BottomSheet/index.native.js.map +1 -1
  176. package/build/module/BottomSheet/useDynamicSnapPoints.js +52 -0
  177. package/build/module/BottomSheet/useDynamicSnapPoints.js.map +1 -0
  178. package/build/module/Carousel/Carousel.js +109 -0
  179. package/build/module/Carousel/Carousel.js.map +1 -0
  180. package/build/module/Carousel/CarouselProps.js.map +1 -1
  181. package/build/module/Carousel/animation/animationUtils.js +2 -0
  182. package/build/module/Carousel/animation/animationUtils.js.map +1 -0
  183. package/build/module/Carousel/animation/createDefaultItemStyle.js +3 -0
  184. package/build/module/Carousel/animation/createDefaultItemStyle.js.map +1 -0
  185. package/build/module/Carousel/animation/createDefaultScrollAnimation.js +11 -0
  186. package/build/module/Carousel/animation/createDefaultScrollAnimation.js.map +1 -0
  187. package/build/module/Carousel/animation/index.js +5 -0
  188. package/build/module/Carousel/animation/index.js.map +1 -0
  189. package/build/module/Carousel/animation/normalItemStyleFactory.js +18 -0
  190. package/build/module/Carousel/animation/normalItemStyleFactory.js.map +1 -0
  191. package/build/module/Carousel/animation/parallaxItemStyleFactory.js +55 -0
  192. package/build/module/Carousel/animation/parallaxItemStyleFactory.js.map +1 -0
  193. package/build/module/Carousel/components/InternalContext.js +19 -0
  194. package/build/module/Carousel/components/InternalContext.js.map +1 -0
  195. package/build/module/Carousel/components/ItemView.js +46 -0
  196. package/build/module/Carousel/components/ItemView.js.map +1 -0
  197. package/build/module/Carousel/components/RootView.js +65 -0
  198. package/build/module/Carousel/components/RootView.js.map +1 -0
  199. package/build/module/Carousel/components/ScrollViewGesture.js +68 -0
  200. package/build/module/Carousel/components/ScrollViewGesture.js.map +1 -0
  201. package/build/module/Carousel/components/index.js +5 -0
  202. package/build/module/Carousel/components/index.js.map +1 -0
  203. package/build/module/Carousel/components/useItemInterpolation.js +51 -0
  204. package/build/module/Carousel/components/useItemInterpolation.js.map +1 -0
  205. package/build/module/Carousel/hooks/index.js +6 -0
  206. package/build/module/Carousel/hooks/index.js.map +1 -0
  207. package/build/module/Carousel/hooks/useAutoplayController.js +48 -0
  208. package/build/module/Carousel/hooks/useAutoplayController.js.map +1 -0
  209. package/build/module/Carousel/hooks/useIndexController.js +44 -0
  210. package/build/module/Carousel/hooks/useIndexController.js.map +1 -0
  211. package/build/module/Carousel/hooks/useItemVisibilityStore.js +86 -0
  212. package/build/module/Carousel/hooks/useItemVisibilityStore.js.map +1 -0
  213. package/build/module/Carousel/hooks/useLoopedData.js +24 -0
  214. package/build/module/Carousel/hooks/useLoopedData.js.map +1 -0
  215. package/build/module/Carousel/hooks/usePagingAnimator.js +195 -0
  216. package/build/module/Carousel/hooks/usePagingAnimator.js.map +1 -0
  217. package/build/module/Carousel/index.js +2 -1
  218. package/build/module/Carousel/index.js.map +1 -1
  219. package/build/module/Carousel/tick.js +6 -0
  220. package/build/module/Carousel/tick.js.map +1 -0
  221. package/build/module/Carousel/types.js +4 -0
  222. package/build/module/Carousel/types.js.map +1 -0
  223. package/build/module/ComicViewer/ComicViewer.js +214 -96
  224. package/build/module/ComicViewer/ComicViewer.js.map +1 -1
  225. package/build/module/ComicViewer/ComicViewerProps.js.map +1 -1
  226. package/build/module/ComicViewer/EncodedTile.js +3 -0
  227. package/build/module/ComicViewer/EncodedTile.js.map +1 -0
  228. package/build/module/ComicViewer/FastScroll.js +153 -0
  229. package/build/module/ComicViewer/FastScroll.js.map +1 -0
  230. package/build/module/ComicViewer/FastScrollProps.js +2 -0
  231. package/build/module/ComicViewer/FastScrollProps.js.map +1 -0
  232. package/build/module/ComicViewer/ReloadButton.js +33 -0
  233. package/build/module/ComicViewer/ReloadButton.js.map +1 -0
  234. package/build/module/ComicViewer/ViewerItem.js +53 -59
  235. package/build/module/ComicViewer/ViewerItem.js.map +1 -1
  236. package/build/module/ComicViewer/index.js.map +1 -1
  237. package/build/module/ComicViewer/util.js +15 -0
  238. package/build/module/ComicViewer/util.js.map +1 -0
  239. package/build/module/DateTimePicker/DateTimePicker.js +11 -2
  240. package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
  241. package/build/module/DateTimePicker/DateTimePickerProps.js.map +1 -1
  242. package/build/module/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  243. package/build/module/DateTimePicker/YearPicker.js +21 -17
  244. package/build/module/DateTimePicker/YearPicker.js.map +1 -1
  245. package/build/module/DateTimePicker/index.js.map +1 -1
  246. package/build/module/DateTimePicker/utils.js +2 -1
  247. package/build/module/DateTimePicker/utils.js.map +1 -1
  248. package/build/module/FlipCard/FlipCard.js +7 -7
  249. package/build/module/FlipCard/FlipCard.js.map +1 -1
  250. package/build/module/FlipCard/FlipCardProps.js.map +1 -1
  251. package/build/module/FlipCard/index.js.map +1 -1
  252. package/build/module/StatusBarProvider/Provider.js.map +1 -1
  253. package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
  254. package/build/module/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  255. package/build/module/StatusBarProvider/index.js.map +1 -1
  256. package/build/module/ViewPager/FluxContext.js +4 -0
  257. package/build/module/ViewPager/FluxContext.js.map +1 -0
  258. package/build/module/ViewPager/InternalContext.js +7 -0
  259. package/build/module/ViewPager/InternalContext.js.map +1 -0
  260. package/build/module/ViewPager/PageStateContext.js +7 -0
  261. package/build/module/ViewPager/PageStateContext.js.map +1 -0
  262. package/build/module/ViewPager/ViewPager.js +57 -0
  263. package/build/module/ViewPager/ViewPager.js.map +1 -0
  264. package/build/module/ViewPager/ViewPager.native.js +129 -0
  265. package/build/module/ViewPager/ViewPager.native.js.map +1 -0
  266. package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
  267. package/build/module/ViewPager/components/ChildrenMemoizedPage.js +101 -0
  268. package/build/module/ViewPager/components/ChildrenMemoizedPage.js.map +1 -0
  269. package/build/module/ViewPager/components/FluxStoreProvider.js +20 -0
  270. package/build/module/ViewPager/components/FluxStoreProvider.js.map +1 -0
  271. package/build/module/ViewPager/components/index.js +3 -0
  272. package/build/module/ViewPager/components/index.js.map +1 -0
  273. package/build/module/ViewPager/hooks/index.js +8 -0
  274. package/build/module/ViewPager/hooks/index.js.map +1 -0
  275. package/build/module/ViewPager/hooks/useDispatch.js +10 -0
  276. package/build/module/ViewPager/hooks/useDispatch.js.map +1 -0
  277. package/build/module/ViewPager/hooks/useEagerState.js +12 -0
  278. package/build/module/ViewPager/hooks/useEagerState.js.map +1 -0
  279. package/build/module/ViewPager/hooks/useForceRender.js +7 -0
  280. package/build/module/ViewPager/hooks/useForceRender.js.map +1 -0
  281. package/build/module/ViewPager/hooks/useLazyState.js +30 -0
  282. package/build/module/ViewPager/hooks/useLazyState.js.map +1 -0
  283. package/build/module/ViewPager/hooks/usePageStore.js +25 -0
  284. package/build/module/ViewPager/hooks/usePageStore.js.map +1 -0
  285. package/build/module/ViewPager/hooks/useStore.js +14 -0
  286. package/build/module/ViewPager/hooks/useStore.js.map +1 -0
  287. package/build/module/ViewPager/hooks/useViewPagerPageState.js +7 -0
  288. package/build/module/ViewPager/hooks/useViewPagerPageState.js.map +1 -0
  289. package/build/module/ViewPager/index.js +3 -1
  290. package/build/module/ViewPager/index.js.map +1 -1
  291. package/build/module/ViewPager/types.js +2 -0
  292. package/build/module/ViewPager/types.js.map +1 -0
  293. package/build/module/ViewPager/utils.js +6 -33
  294. package/build/module/ViewPager/utils.js.map +1 -1
  295. package/build/module/ViewabilityTrackerView/Viewability.js +2 -0
  296. package/build/module/ViewabilityTrackerView/Viewability.js.map +1 -0
  297. package/build/module/ViewabilityTrackerView/ViewabilityTrackerView.js +28 -0
  298. package/build/module/ViewabilityTrackerView/ViewabilityTrackerView.js.map +1 -0
  299. package/build/module/ViewabilityTrackerView/ViewabilityTrackerViewProps.js +2 -0
  300. package/build/module/ViewabilityTrackerView/ViewabilityTrackerViewProps.js.map +1 -0
  301. package/build/module/ViewabilityTrackerView/index.js +2 -0
  302. package/build/module/ViewabilityTrackerView/index.js.map +1 -0
  303. package/build/module/ViewabilityTrackerView/measureViewability.js +34 -0
  304. package/build/module/ViewabilityTrackerView/measureViewability.js.map +1 -0
  305. package/build/module/ViewabilityTrackerView/useViewabilityTracker.js +73 -0
  306. package/build/module/ViewabilityTrackerView/useViewabilityTracker.js.map +1 -0
  307. package/build/module/hooks/index.js +2 -0
  308. package/build/module/hooks/index.js.map +1 -1
  309. package/build/module/hooks/useAppbarStyles.js.map +1 -1
  310. package/build/module/hooks/useDeferredExecutor.js +33 -0
  311. package/build/module/hooks/useDeferredExecutor.js.map +1 -0
  312. package/build/module/hooks/useElevationStyle.js.map +1 -1
  313. package/build/module/hooks/useHeight.js +4 -4
  314. package/build/module/hooks/useHeight.js.map +1 -1
  315. package/build/module/hooks/useIsMounted.js +13 -0
  316. package/build/module/hooks/useIsMounted.js.map +1 -0
  317. package/build/module/hooks/useUnstableCollapsibleAppBar.js +56 -41
  318. package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  319. package/build/module/hooks/useUnstableToggleDisplayStyle.js +9 -7
  320. package/build/module/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  321. package/build/module/index.js +2 -0
  322. package/build/module/index.js.map +1 -1
  323. package/build/typescript/BottomSheet/BottomSheetProps.d.ts +28 -1
  324. package/build/typescript/BottomSheet/useDynamicSnapPoints.d.ts +12 -0
  325. package/build/typescript/Carousel/Carousel.d.ts +5 -0
  326. package/build/typescript/Carousel/CarouselProps.d.ts +33 -48
  327. package/build/typescript/Carousel/animation/animationUtils.d.ts +1 -0
  328. package/build/typescript/Carousel/animation/createDefaultItemStyle.d.ts +2 -0
  329. package/build/typescript/Carousel/animation/createDefaultScrollAnimation.d.ts +2 -0
  330. package/build/typescript/Carousel/animation/index.d.ts +4 -0
  331. package/build/typescript/Carousel/animation/normalItemStyleFactory.d.ts +2 -0
  332. package/build/typescript/Carousel/animation/parallaxItemStyleFactory.d.ts +9 -0
  333. package/build/typescript/Carousel/components/InternalContext.d.ts +14 -0
  334. package/build/typescript/Carousel/components/ItemView.d.ts +9 -0
  335. package/build/typescript/Carousel/components/RootView.d.ts +16 -0
  336. package/build/typescript/Carousel/components/ScrollViewGesture.d.ts +12 -0
  337. package/build/typescript/Carousel/components/index.d.ts +4 -0
  338. package/build/typescript/Carousel/components/useItemInterpolation.d.ts +2 -0
  339. package/build/typescript/Carousel/hooks/index.d.ts +5 -0
  340. package/build/typescript/Carousel/hooks/useAutoplayController.d.ts +7 -0
  341. package/build/typescript/Carousel/hooks/useIndexController.d.ts +10 -0
  342. package/build/typescript/Carousel/hooks/useItemVisibilityStore.d.ts +7 -0
  343. package/build/typescript/Carousel/hooks/useLoopedData.d.ts +1 -0
  344. package/build/typescript/Carousel/hooks/usePagingAnimator.d.ts +17 -0
  345. package/build/typescript/Carousel/index.d.ts +3 -1
  346. package/build/typescript/Carousel/tick.d.ts +2 -0
  347. package/build/typescript/Carousel/types.d.ts +91 -0
  348. package/build/typescript/ComicViewer/ComicViewer.d.ts +1 -1
  349. package/build/typescript/ComicViewer/ComicViewerProps.d.ts +56 -43
  350. package/build/typescript/ComicViewer/EncodedTile.d.ts +2 -0
  351. package/build/typescript/ComicViewer/FastScroll.d.ts +4 -0
  352. package/build/typescript/ComicViewer/FastScrollProps.d.ts +74 -0
  353. package/build/typescript/ComicViewer/ReloadButton.d.ts +7 -0
  354. package/build/typescript/ComicViewer/ViewerItem.d.ts +46 -7
  355. package/build/typescript/ComicViewer/index.d.ts +3 -2
  356. package/build/typescript/ComicViewer/util.d.ts +2 -0
  357. package/build/typescript/ViewPager/FluxContext.d.ts +5 -0
  358. package/build/typescript/ViewPager/InternalContext.d.ts +7 -0
  359. package/build/typescript/ViewPager/PageStateContext.d.ts +6 -0
  360. package/build/typescript/ViewPager/ViewPager.d.ts +5 -0
  361. package/build/typescript/ViewPager/ViewPager.native.d.ts +5 -0
  362. package/build/typescript/ViewPager/ViewPagerProps.d.ts +21 -27
  363. package/build/typescript/ViewPager/components/ChildrenMemoizedPage.d.ts +14 -0
  364. package/build/typescript/ViewPager/components/FluxStoreProvider.d.ts +6 -0
  365. package/build/typescript/ViewPager/components/index.d.ts +2 -0
  366. package/build/typescript/ViewPager/hooks/index.d.ts +7 -0
  367. package/build/typescript/ViewPager/hooks/useDispatch.d.ts +2 -0
  368. package/build/typescript/ViewPager/hooks/useEagerState.d.ts +1 -0
  369. package/build/typescript/ViewPager/hooks/useForceRender.d.ts +2 -0
  370. package/build/typescript/ViewPager/hooks/useLazyState.d.ts +2 -0
  371. package/build/typescript/ViewPager/hooks/usePageStore.d.ts +2 -0
  372. package/build/typescript/ViewPager/hooks/useStore.d.ts +2 -0
  373. package/build/typescript/ViewPager/hooks/useViewPagerPageState.d.ts +1 -0
  374. package/build/typescript/ViewPager/index.d.ts +4 -1
  375. package/build/typescript/ViewPager/types.d.ts +12 -0
  376. package/build/typescript/ViewPager/utils.d.ts +5 -20
  377. package/build/typescript/ViewabilityTrackerView/Viewability.d.ts +3 -0
  378. package/build/typescript/ViewabilityTrackerView/ViewabilityTrackerView.d.ts +3 -0
  379. package/build/typescript/ViewabilityTrackerView/ViewabilityTrackerViewProps.d.ts +22 -0
  380. package/build/typescript/ViewabilityTrackerView/index.d.ts +2 -0
  381. package/build/typescript/ViewabilityTrackerView/measureViewability.d.ts +11 -0
  382. package/build/typescript/ViewabilityTrackerView/useViewabilityTracker.d.ts +11 -0
  383. package/build/typescript/hooks/index.d.ts +2 -0
  384. package/build/typescript/hooks/useDeferredExecutor.d.ts +11 -0
  385. package/build/typescript/hooks/useIsMounted.d.ts +4 -0
  386. package/build/typescript/hooks/useUnstableCollapsibleAppBar.d.ts +2 -2
  387. package/build/typescript/hooks/useUnstableToggleDisplayStyle.d.ts +2 -2
  388. package/build/typescript/index.d.ts +2 -0
  389. package/package.json +13 -27
  390. package/src/AnimatedY/AnimatedY.tsx +13 -10
  391. package/src/BottomSheet/BottomSheetNative.tsx +35 -6
  392. package/src/BottomSheet/BottomSheetProps.ts +33 -1
  393. package/src/BottomSheet/BottomSheetWeb.tsx +36 -14
  394. package/src/BottomSheet/useDynamicSnapPoints.ts +73 -0
  395. package/src/Carousel/Carousel.tsx +135 -0
  396. package/src/Carousel/CarouselProps.ts +42 -53
  397. package/src/Carousel/animation/animationUtils.ts +1 -0
  398. package/src/Carousel/animation/createDefaultItemStyle.ts +3 -0
  399. package/src/Carousel/animation/createDefaultScrollAnimation.ts +13 -0
  400. package/src/Carousel/animation/index.ts +4 -0
  401. package/src/Carousel/animation/normalItemStyleFactory.ts +19 -0
  402. package/src/Carousel/animation/parallaxItemStyleFactory.ts +79 -0
  403. package/src/Carousel/components/InternalContext.ts +33 -0
  404. package/src/Carousel/components/ItemView.tsx +66 -0
  405. package/src/Carousel/components/RootView.tsx +79 -0
  406. package/src/Carousel/components/ScrollViewGesture.tsx +92 -0
  407. package/src/Carousel/components/index.ts +4 -0
  408. package/src/Carousel/components/useItemInterpolation.ts +107 -0
  409. package/src/Carousel/hooks/index.ts +5 -0
  410. package/src/Carousel/hooks/useAutoplayController.ts +57 -0
  411. package/src/Carousel/hooks/useIndexController.tsx +57 -0
  412. package/src/Carousel/hooks/useItemVisibilityStore.ts +107 -0
  413. package/src/Carousel/hooks/useLoopedData.ts +26 -0
  414. package/src/Carousel/hooks/usePagingAnimator.ts +260 -0
  415. package/src/Carousel/index.ts +4 -2
  416. package/src/Carousel/tick.ts +6 -0
  417. package/src/Carousel/types.ts +114 -0
  418. package/src/ComicViewer/ComicViewer.tsx +243 -107
  419. package/src/ComicViewer/ComicViewerProps.ts +60 -44
  420. package/src/ComicViewer/EncodedTile.ts +3 -0
  421. package/src/ComicViewer/FastScroll.tsx +176 -0
  422. package/src/ComicViewer/FastScrollProps.ts +88 -0
  423. package/src/ComicViewer/ReloadButton.tsx +36 -0
  424. package/src/ComicViewer/ViewerItem.tsx +104 -62
  425. package/src/ComicViewer/index.ts +8 -2
  426. package/src/ComicViewer/util.ts +15 -0
  427. package/src/DateTimePicker/DateTimePicker.tsx +9 -1
  428. package/src/FlipCard/FlipCard.tsx +8 -8
  429. package/src/ViewPager/FluxContext.ts +8 -0
  430. package/src/ViewPager/InternalContext.ts +13 -0
  431. package/src/ViewPager/PageStateContext.ts +11 -0
  432. package/src/ViewPager/ViewPager.native.tsx +152 -0
  433. package/src/ViewPager/ViewPager.tsx +69 -0
  434. package/src/ViewPager/ViewPagerProps.ts +25 -34
  435. package/src/ViewPager/components/ChildrenMemoizedPage.tsx +124 -0
  436. package/src/ViewPager/components/FluxStoreProvider.tsx +27 -0
  437. package/src/ViewPager/components/index.ts +2 -0
  438. package/src/ViewPager/hooks/index.ts +7 -0
  439. package/src/ViewPager/hooks/useDispatch.ts +11 -0
  440. package/src/ViewPager/hooks/useEagerState.ts +14 -0
  441. package/src/ViewPager/hooks/useForceRender.ts +7 -0
  442. package/src/ViewPager/hooks/useLazyState.ts +32 -0
  443. package/src/ViewPager/hooks/usePageStore.ts +30 -0
  444. package/src/ViewPager/hooks/useStore.ts +15 -0
  445. package/src/ViewPager/hooks/useViewPagerPageState.ts +6 -0
  446. package/src/ViewPager/index.ts +11 -2
  447. package/src/ViewPager/types.ts +15 -0
  448. package/src/ViewPager/utils.tsx +9 -56
  449. package/src/ViewabilityTrackerView/Viewability.ts +3 -0
  450. package/src/ViewabilityTrackerView/ViewabilityTrackerView.tsx +33 -0
  451. package/src/ViewabilityTrackerView/ViewabilityTrackerViewProps.ts +25 -0
  452. package/src/ViewabilityTrackerView/index.ts +2 -0
  453. package/src/ViewabilityTrackerView/measureViewability.ts +54 -0
  454. package/src/ViewabilityTrackerView/useViewabilityTracker.ts +85 -0
  455. package/src/hooks/index.ts +2 -0
  456. package/src/hooks/useDeferredExecutor.ts +46 -0
  457. package/src/hooks/useHeight.ts +3 -4
  458. package/src/hooks/useIsMounted.ts +19 -0
  459. package/src/hooks/useUnstableCollapsibleAppBar.ts +60 -38
  460. package/src/hooks/useUnstableToggleDisplayStyle.ts +8 -6
  461. package/src/index.ts +3 -0
  462. package/yarn-error.log +103 -0
  463. package/build/commonjs/Carousel/CarouselNative.js +0 -72
  464. package/build/commonjs/Carousel/CarouselNative.js.map +0 -1
  465. package/build/commonjs/Carousel/CarouselWeb.js +0 -237
  466. package/build/commonjs/Carousel/CarouselWeb.js.map +0 -1
  467. package/build/commonjs/Carousel/index.native.js.map +0 -1
  468. package/build/commonjs/Carousel/utils.js +0 -19
  469. package/build/commonjs/Carousel/utils.js.map +0 -1
  470. package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +0 -1
  471. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +0 -49
  472. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +0 -1
  473. package/build/commonjs/ViewPager/ViewPagerNative.js +0 -72
  474. package/build/commonjs/ViewPager/ViewPagerNative.js.map +0 -1
  475. package/build/commonjs/ViewPager/ViewPagerWeb.js +0 -55
  476. package/build/commonjs/ViewPager/ViewPagerWeb.js.map +0 -1
  477. package/build/commonjs/ViewPager/index.native.js +0 -16
  478. package/build/commonjs/ViewPager/index.native.js.map +0 -1
  479. package/build/commonjs/hooks/useWidth.js +0 -29
  480. package/build/commonjs/hooks/useWidth.js.map +0 -1
  481. package/build/module/Carousel/CarouselNative.js +0 -54
  482. package/build/module/Carousel/CarouselNative.js.map +0 -1
  483. package/build/module/Carousel/CarouselWeb.js +0 -215
  484. package/build/module/Carousel/CarouselWeb.js.map +0 -1
  485. package/build/module/Carousel/index.native.js +0 -2
  486. package/build/module/Carousel/index.native.js.map +0 -1
  487. package/build/module/Carousel/utils.js +0 -7
  488. package/build/module/Carousel/utils.js.map +0 -1
  489. package/build/module/ComicViewer/ComicViewerItemProps.js +0 -2
  490. package/build/module/ComicViewer/ComicViewerItemProps.js.map +0 -1
  491. package/build/module/ViewPager/ChildrenMemoizedPage.js +0 -37
  492. package/build/module/ViewPager/ChildrenMemoizedPage.js.map +0 -1
  493. package/build/module/ViewPager/ViewPagerNative.js +0 -53
  494. package/build/module/ViewPager/ViewPagerNative.js.map +0 -1
  495. package/build/module/ViewPager/ViewPagerWeb.js +0 -41
  496. package/build/module/ViewPager/ViewPagerWeb.js.map +0 -1
  497. package/build/module/ViewPager/index.native.js +0 -2
  498. package/build/module/ViewPager/index.native.js.map +0 -1
  499. package/build/module/hooks/useWidth.js +0 -15
  500. package/build/module/hooks/useWidth.js.map +0 -1
  501. package/build/typescript/Carousel/CarouselNative.d.ts +0 -3
  502. package/build/typescript/Carousel/CarouselWeb.d.ts +0 -4
  503. package/build/typescript/Carousel/index.native.d.ts +0 -1
  504. package/build/typescript/Carousel/utils.d.ts +0 -6
  505. package/build/typescript/ComicViewer/ComicViewerItemProps.d.ts +0 -12
  506. package/build/typescript/ViewPager/ChildrenMemoizedPage.d.ts +0 -4
  507. package/build/typescript/ViewPager/ViewPagerNative.d.ts +0 -3
  508. package/build/typescript/ViewPager/ViewPagerWeb.d.ts +0 -3
  509. package/build/typescript/ViewPager/index.native.d.ts +0 -1
  510. package/build/typescript/hooks/useWidth.d.ts +0 -2
  511. package/src/Carousel/CarouselNative.tsx +0 -67
  512. package/src/Carousel/CarouselWeb.tsx +0 -222
  513. package/src/Carousel/index.native.ts +0 -1
  514. package/src/Carousel/utils.ts +0 -11
  515. package/src/ComicViewer/ComicViewerItemProps.ts +0 -15
  516. package/src/ViewPager/ChildrenMemoizedPage.tsx +0 -36
  517. package/src/ViewPager/ViewPagerNative.tsx +0 -66
  518. package/src/ViewPager/ViewPagerWeb.tsx +0 -52
  519. package/src/ViewPager/index.native.ts +0 -1
  520. package/src/hooks/useWidth.ts +0 -17
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = AnimatedY;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
11
 
@@ -13,7 +13,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
13
13
 
14
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
15
 
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ const ANIMATION_CONFIG = {
17
+ duration: 150,
18
+ easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.exp)
19
+ };
17
20
 
18
21
  function AnimatedY(props) {
19
22
  const {
@@ -21,24 +24,17 @@ function AnimatedY(props) {
21
24
  translateY,
22
25
  style
23
26
  } = props;
24
-
25
- const animatedY = _reactNativeReanimated.default.useSharedValue(translateY);
26
-
27
- const animatedStyle = _reactNativeReanimated.default.useAnimatedStyle(() => ({
27
+ const animatedY = (0, _reactNativeReanimated.useSharedValue)(translateY);
28
+ const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
28
29
  transform: [{
29
30
  translateY: animatedY.value
30
31
  }]
31
- }));
32
-
33
- _react.default.useEffect(() => {
32
+ }), []);
33
+ (0, _react.useEffect)(() => {
34
34
  if (translateY >= 0) {
35
- animatedY.value = _reactNativeReanimated.default.withTiming(translateY, {
36
- duration: 150,
37
- easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.exp)
38
- });
35
+ animatedY.value = (0, _reactNativeReanimated.withTiming)(translateY, ANIMATION_CONFIG);
39
36
  }
40
37
  }, [translateY]);
41
-
42
38
  return /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
43
39
  children: children,
44
40
  style: [animatedStyle, style]
@@ -1 +1 @@
1
- {"version":3,"sources":["AnimatedY.tsx"],"names":["AnimatedY","props","children","translateY","style","animatedY","Animated","useSharedValue","animatedStyle","useAnimatedStyle","transform","value","React","useEffect","withTiming","duration","easing","Easing","out","exp"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAGe,SAASA,SAAT,CAAmBC,KAAnB,EAA0C;AACrD,QAAM;AACFC,IAAAA,QADE;AAEFC,IAAAA,UAFE;AAGFC,IAAAA;AAHE,MAIFH,KAJJ;;AAMA,QAAMI,SAAS,GAAGC,+BAASC,cAAT,CAAwBJ,UAAxB,CAAlB;;AACA,QAAMK,aAAa,GAAGF,+BAASG,gBAAT,CAA0B,OAAO;AACnDC,IAAAA,SAAS,EAAE,CAAC;AAAEP,MAAAA,UAAU,EAAEE,SAAS,CAACM;AAAxB,KAAD;AADwC,GAAP,CAA1B,CAAtB;;AAIAC,iBAAMC,SAAN,CAAgB,MAAM;AAClB,QAAIV,UAAU,IAAI,CAAlB,EAAqB;AACjBE,MAAAA,SAAS,CAACM,KAAV,GAAkBL,+BAASQ,UAAT,CAAoBX,UAApB,EAAgC;AAC9CY,QAAAA,QAAQ,EAAE,GADoC;AAE9CC,QAAAA,MAAM,EAAEC,8BAAOC,GAAP,CAAWD,8BAAOE,GAAlB;AAFsC,OAAhC,CAAlB;AAIH;AACJ,GAPD,EAOG,CAAChB,UAAD,CAPH;;AASA,sBACI,6BAAC,8BAAD,CAAU,IAAV;AACI,IAAA,QAAQ,EAAED,QADd;AAEI,IAAA,KAAK,EAAE,CACHM,aADG,EAEHJ,KAFG;AAFX,IADJ;AASH;;AAAA","sourcesContent":["import React from 'react';\nimport Animated, { Easing } from 'react-native-reanimated';\nimport type AnimatedYProps from './AnimatedYProps';\n\nexport default function AnimatedY(props: AnimatedYProps) {\n const {\n children,\n translateY,\n style,\n } = props;\n\n const animatedY = Animated.useSharedValue(translateY);\n const animatedStyle = Animated.useAnimatedStyle(() => ({\n transform: [{ translateY: animatedY.value }],\n }));\n\n React.useEffect(() => {\n if (translateY >= 0) {\n animatedY.value = Animated.withTiming(translateY, {\n duration: 150,\n easing: Easing.out(Easing.exp),\n });\n }\n }, [translateY]);\n\n return (\n <Animated.View\n children={children}\n style={[\n animatedStyle,\n style,\n ]}\n />\n );\n};\n"]}
1
+ {"version":3,"names":["ANIMATION_CONFIG","duration","easing","Easing","out","exp","AnimatedY","props","children","translateY","style","animatedY","useSharedValue","animatedStyle","useAnimatedStyle","transform","value","useEffect","withTiming"],"sources":["AnimatedY.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type { WithTimingConfig } from 'react-native-reanimated';\nimport Animated, { Easing, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type AnimatedYProps from './AnimatedYProps';\n\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = {\n duration: 150,\n easing: Easing.out(Easing.exp),\n};\n\nexport default function AnimatedY(props: AnimatedYProps) {\n const {\n children,\n translateY,\n style,\n } = props;\n\n const animatedY = useSharedValue(translateY);\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: animatedY.value }],\n }), []);\n\n useEffect(() => {\n if (translateY >= 0) {\n animatedY.value = withTiming(translateY, ANIMATION_CONFIG);\n }\n }, [translateY]);\n\n return (\n <Animated.View\n children={children}\n style={[\n animatedStyle,\n style,\n ]}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;;;;;AAGA,MAAMA,gBAA4C,GAAG;EACjDC,QAAQ,EAAE,GADuC;EAEjDC,MAAM,EAAEC,6BAAA,CAAOC,GAAP,CAAWD,6BAAA,CAAOE,GAAlB;AAFyC,CAArD;;AAKe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,QADE;IAEFC,UAFE;IAGFC;EAHE,IAIFH,KAJJ;EAMA,MAAMI,SAAS,GAAG,IAAAC,qCAAA,EAAeH,UAAf,CAAlB;EACA,MAAMI,aAAa,GAAG,IAAAC,uCAAA,EAAiB,OAAO;IAC1CC,SAAS,EAAE,CAAC;MAAEN,UAAU,EAAEE,SAAS,CAACK;IAAxB,CAAD;EAD+B,CAAP,CAAjB,EAElB,EAFkB,CAAtB;EAIA,IAAAC,gBAAA,EAAU,MAAM;IACZ,IAAIR,UAAU,IAAI,CAAlB,EAAqB;MACjBE,SAAS,CAACK,KAAV,GAAkB,IAAAE,iCAAA,EAAWT,UAAX,EAAuBT,gBAAvB,CAAlB;IACH;EACJ,CAJD,EAIG,CAACS,UAAD,CAJH;EAMA,oBACI,6BAAC,8BAAD,CAAU,IAAV;IACI,QAAQ,EAAED,QADd;IAEI,KAAK,EAAE,CACHK,aADG,EAEHH,KAFG;EAFX,EADJ;AASH;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["AnimatedYProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport default interface AnimatedYProps extends ComponentProps<{\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n\n /**\n * The translate y value of the component.\n */\n translateY: number;\n}> {}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default } from './AnimatedY';\nexport type { default as AnimatedYProps } from './AnimatedYProps';\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './AnimatedY';\nexport type { default as AnimatedYProps } from './AnimatedYProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
@@ -17,7 +17,7 @@ var _TransparentBackdrop = _interopRequireDefault(require("./TransparentBackdrop
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
- function _extends() { _extends = Object.assign || 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); }
20
+ 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); }
21
21
 
22
22
  const NoHandle = () => null;
23
23
 
@@ -25,15 +25,25 @@ function BottomSheet(props) {
25
25
  const {
26
26
  backdropOpacity = 0.5,
27
27
  children,
28
+ enableDynamicSizing = true,
29
+ header,
28
30
  index,
31
+ maxHeightNormalizedRatio = 0.9,
29
32
  onChange,
30
- snapPoints
33
+ snapPoints = [],
34
+ disableDefaultBackgroundColor = false,
35
+ disableDefaultShadow = false
31
36
  } = props;
32
37
 
33
38
  const indexRef = _react.default.useRef(-1);
34
39
 
35
40
  const bottomSheetRef = _react.default.useRef(null);
36
41
 
42
+ const {
43
+ height: windowHeight
44
+ } = (0, _reactNative.useWindowDimensions)();
45
+ const maxDynamicContentSize = Math.round(windowHeight * maxHeightNormalizedRatio);
46
+
37
47
  const handleChange = _react.default.useCallback(newIndex => {
38
48
  indexRef.current = newIndex;
39
49
 
@@ -71,21 +81,28 @@ function BottomSheet(props) {
71
81
  const shadow = theme.shadow[12];
72
82
  const modalStyle = {
73
83
  backgroundColor: '#ffffff00',
74
- ..._reactNative.Platform.select({
84
+ ...(disableDefaultShadow ? {} : _reactNative.Platform.select({
75
85
  android: shadow === null || shadow === void 0 ? void 0 : shadow.elevation,
76
86
  ios: shadow === null || shadow === void 0 ? void 0 : shadow.shadow,
77
87
  web: shadow === null || shadow === void 0 ? void 0 : shadow.boxShadow
78
- })
88
+ }))
79
89
  };
80
90
  const backgroundStyle = {
81
- backgroundColor: theme.palette.paper.default
91
+ backgroundColor: disableDefaultBackgroundColor ? '#ffffff00' : theme.palette.paper.default
92
+ };
93
+ const contentWrapperStyle = {
94
+ flex: 1,
95
+ borderTopLeftRadius: 15,
96
+ borderTopRightRadius: 15,
97
+ overflow: 'hidden'
82
98
  };
83
99
  const isBackdropTransparent = backdropOpacity <= 0;
84
100
 
85
101
  const OpacityAwareBackdrop = props => /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetBackdrop, _extends({}, props, {
86
102
  appearsOnIndex: 0,
87
103
  disappearsOnIndex: -1,
88
- opacity: backdropOpacity
104
+ opacity: backdropOpacity,
105
+ pressBehavior: onChange ? 'close' : 'none'
89
106
  }));
90
107
 
91
108
  return /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetModalProvider, null, /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetModal, {
@@ -98,8 +115,16 @@ function BottomSheet(props) {
98
115
  onDismiss: handleDismiss,
99
116
  ref: bottomSheetRef,
100
117
  snapPoints: snapPoints,
101
- style: modalStyle
102
- }, children));
118
+ style: modalStyle,
119
+ enablePanDownToClose: Boolean(onChange),
120
+ enableDynamicSizing: enableDynamicSizing,
121
+ maxDynamicContentSize: maxDynamicContentSize
122
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
123
+ style: contentWrapperStyle
124
+ }, /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetScrollView, {
125
+ bounces: false,
126
+ stickyHeaderIndices: header ? [0] : undefined
127
+ }, header, children))));
103
128
  }
104
129
 
105
130
  ;
@@ -1 +1 @@
1
- {"version":3,"sources":["BottomSheetNative.tsx"],"names":["NoHandle","BottomSheet","props","backdropOpacity","children","index","onChange","snapPoints","indexRef","React","useRef","bottomSheetRef","handleChange","useCallback","newIndex","current","handleDismiss","useEffect","present","dismiss","snapToIndex","theme","shadow","modalStyle","backgroundColor","Platform","select","android","elevation","ios","web","boxShadow","backgroundStyle","palette","paper","default","isBackdropTransparent","OpacityAwareBackdrop","TransparentBackdrop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from '@fountain-ui/styles';\nimport {\n BottomSheetBackdrop,\n BottomSheetBackdropProps,\n BottomSheetModal,\n BottomSheetModalProvider,\n} from '@gorhom/bottom-sheet';\nimport type BottomSheetProps from './BottomSheetProps';\nimport TransparentBackdrop from './TransparentBackdrop';\n\nconst NoHandle = () => null;\n\nexport default function BottomSheet(props: BottomSheetProps) {\n const {\n backdropOpacity = 0.5,\n children,\n index,\n onChange,\n snapPoints,\n } = props;\n\n const indexRef = React.useRef<number>(-1);\n const bottomSheetRef = React.useRef<BottomSheetModal | null>(null);\n\n const handleChange = React.useCallback((newIndex: number) => {\n indexRef.current = newIndex;\n\n if (onChange) {\n onChange(newIndex);\n }\n }, [onChange]);\n\n const handleDismiss = React.useCallback(() => {\n handleChange(-1);\n }, [handleChange]);\n\n React.useEffect(() => {\n if (index === indexRef.current) {\n return;\n }\n\n if (indexRef.current < 0 && index >= 0) {\n bottomSheetRef.current?.present();\n } else if (indexRef.current >= 0 && index < 0) {\n bottomSheetRef.current?.dismiss();\n } else {\n // @ts-ignore\n bottomSheetRef.current?.snapToIndex(index);\n }\n }, [index]);\n\n const theme = useTheme();\n const shadow = theme.shadow[12];\n const modalStyle = {\n backgroundColor: '#ffffff00',\n ...Platform.select<object>({\n android: shadow?.elevation,\n ios: shadow?.shadow,\n web: shadow?.boxShadow,\n }),\n };\n const backgroundStyle = {\n backgroundColor: theme.palette.paper.default,\n };\n\n const isBackdropTransparent = backdropOpacity <= 0;\n\n const OpacityAwareBackdrop = (props: BottomSheetBackdropProps) => (\n <BottomSheetBackdrop\n {...props}\n appearsOnIndex={0}\n disappearsOnIndex={-1}\n opacity={backdropOpacity}\n />\n );\n\n return (\n <BottomSheetModalProvider>\n <BottomSheetModal\n backdropComponent={isBackdropTransparent ? TransparentBackdrop : OpacityAwareBackdrop}\n // @ts-ignore\n backgroundStyle={backgroundStyle}\n index={index}\n handleComponent={NoHandle}\n onChange={handleChange}\n onDismiss={handleDismiss}\n ref={bottomSheetRef}\n snapPoints={snapPoints}\n style={modalStyle}\n >\n {children}\n </BottomSheetModal>\n </BottomSheetModalProvider>\n );\n};\n"]}
1
+ {"version":3,"names":["NoHandle","BottomSheet","props","backdropOpacity","children","enableDynamicSizing","header","index","maxHeightNormalizedRatio","onChange","snapPoints","disableDefaultBackgroundColor","disableDefaultShadow","indexRef","React","useRef","bottomSheetRef","height","windowHeight","useWindowDimensions","maxDynamicContentSize","Math","round","handleChange","useCallback","newIndex","current","handleDismiss","useEffect","present","dismiss","snapToIndex","theme","useTheme","shadow","modalStyle","backgroundColor","Platform","select","android","elevation","ios","web","boxShadow","backgroundStyle","palette","paper","default","contentWrapperStyle","flex","borderTopLeftRadius","borderTopRightRadius","overflow","isBackdropTransparent","OpacityAwareBackdrop","TransparentBackdrop","Boolean","undefined"],"sources":["BottomSheetNative.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, useWindowDimensions, View } from 'react-native';\nimport { useTheme } from '@fountain-ui/styles';\nimport {\n BottomSheetBackdrop,\n BottomSheetBackdropProps,\n BottomSheetModal,\n BottomSheetModalProvider,\n BottomSheetScrollView,\n} from '@gorhom/bottom-sheet';\nimport type BottomSheetProps from './BottomSheetProps';\nimport TransparentBackdrop from './TransparentBackdrop';\n\nconst NoHandle = () => null;\n\nexport default function BottomSheet(props: BottomSheetProps) {\n const {\n backdropOpacity = 0.5,\n children,\n enableDynamicSizing = true,\n header,\n index,\n maxHeightNormalizedRatio = 0.9,\n onChange,\n snapPoints = [],\n disableDefaultBackgroundColor = false,\n disableDefaultShadow = false,\n } = props;\n\n const indexRef = React.useRef<number>(-1);\n const bottomSheetRef = React.useRef<BottomSheetModal | null>(null);\n\n const { height: windowHeight } = useWindowDimensions();\n const maxDynamicContentSize = Math.round(windowHeight * maxHeightNormalizedRatio);\n\n const handleChange = React.useCallback((newIndex: number) => {\n indexRef.current = newIndex;\n\n if (onChange) {\n onChange(newIndex);\n }\n }, [onChange]);\n\n const handleDismiss = React.useCallback(() => {\n handleChange(-1);\n }, [handleChange]);\n\n React.useEffect(() => {\n if (index === indexRef.current) {\n return;\n }\n\n if (indexRef.current < 0 && index >= 0) {\n bottomSheetRef.current?.present();\n } else if (indexRef.current >= 0 && index < 0) {\n bottomSheetRef.current?.dismiss();\n } else {\n // @ts-ignore\n bottomSheetRef.current?.snapToIndex(index);\n }\n }, [index]);\n\n const theme = useTheme();\n const shadow = theme.shadow[12];\n const modalStyle = {\n backgroundColor: '#ffffff00',\n ...(disableDefaultShadow ? {} : Platform.select<object>({\n android: shadow?.elevation,\n ios: shadow?.shadow,\n web: shadow?.boxShadow,\n })),\n };\n const backgroundStyle = {\n backgroundColor: disableDefaultBackgroundColor ? '#ffffff00' : theme.palette.paper.default,\n };\n const contentWrapperStyle = {\n flex: 1,\n borderTopLeftRadius: 15,\n borderTopRightRadius: 15,\n overflow: 'hidden',\n };\n\n const isBackdropTransparent = backdropOpacity <= 0;\n\n const OpacityAwareBackdrop = (props: BottomSheetBackdropProps) => (\n <BottomSheetBackdrop\n {...props}\n appearsOnIndex={0}\n disappearsOnIndex={-1}\n opacity={backdropOpacity}\n pressBehavior={onChange ? 'close' : 'none'}\n />\n );\n\n return (\n <BottomSheetModalProvider>\n <BottomSheetModal\n backdropComponent={isBackdropTransparent ? TransparentBackdrop : OpacityAwareBackdrop}\n // @ts-ignore\n backgroundStyle={backgroundStyle}\n index={index}\n handleComponent={NoHandle}\n onChange={handleChange}\n onDismiss={handleDismiss}\n ref={bottomSheetRef}\n snapPoints={snapPoints}\n style={modalStyle}\n enablePanDownToClose={Boolean(onChange)}\n enableDynamicSizing={enableDynamicSizing}\n maxDynamicContentSize={maxDynamicContentSize}\n >\n {/* @ts-ignore */}\n <View style={contentWrapperStyle}>\n <BottomSheetScrollView\n bounces={false}\n stickyHeaderIndices={header ? [0] : undefined}\n >\n {header}\n\n {children}\n </BottomSheetScrollView>\n </View>\n </BottomSheetModal>\n </BottomSheetModalProvider>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["BottomSheetProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport default interface BottomSheetProps extends ComponentProps<{\n /**\n * Opacity for BackdropComponent\n * @default 0.5\n */\n backdropOpacity?: number;\n\n /**\n * BottomSheet children, usually the included sub-components.\n */\n children?: React.ReactNode;\n\n /**\n * Enable dynamic sizing for content size.\n * @default true\n */\n enableDynamicSizing?: boolean;\n\n /**\n * Area to be fixed on the top of the bottom sheet.\n */\n header?: React.ReactNode;\n\n /**\n * Snap index. You could also provide -1 to bottom sheet in closed state.\n */\n index: number;\n\n /**\n * Maximum height(normalized value) of dialog\n * ex. 30% => 0.3 / 90% => 0.9\n * @default 0.9\n */\n maxHeightNormalizedRatio?: number;\n\n /**\n * Callback fired when the index is changed.\n * Important! Use memoized value.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * Points for the bottom sheet to snap to, points should be sorted from bottom to top.\n * Important! Use memoized value.\n * Only number type or string type(~% format) can be used.\n * @default []\n */\n snapPoints?: Array<number | string>;\n\n /**\n * Disable default backgroundColor.\n * @default false\n */\n disableDefaultBackgroundColor?: boolean;\n\n /**\n * Disable default shadow.\n * @default false\n */\n disableDefaultShadow?: boolean;\n}> {}\n"],"mappings":""}
@@ -7,10 +7,14 @@ exports.default = BottomSheet;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _reactNative = require("react-native");
11
+
10
12
  var _core = require("@fountain-ui/core");
11
13
 
12
14
  var _AnimatedY = _interopRequireDefault(require("../AnimatedY"));
13
15
 
16
+ var _useDynamicSnapPoints = _interopRequireDefault(require("./useDynamicSnapPoints"));
17
+
14
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
19
 
16
20
  const useStyles = function () {
@@ -34,21 +38,18 @@ const useStyles = function () {
34
38
  };
35
39
  };
36
40
 
37
- const calculateHeight = points => {
38
- var _points;
39
-
40
- return (_points = points[points.length - 1]) !== null && _points !== void 0 ? _points : 0;
41
- };
42
-
43
41
  function BottomSheet(props) {
44
- var _snapPoints$index;
45
-
46
42
  const {
47
43
  backdropOpacity,
48
44
  children,
45
+ enableDynamicSizing = true,
46
+ header,
49
47
  index,
48
+ maxHeightNormalizedRatio = 0.9,
50
49
  onChange,
51
- snapPoints
50
+ snapPoints = [],
51
+ disableDefaultBackgroundColor = false,
52
+ disableDefaultShadow = false
52
53
  } = props;
53
54
  const styles = useStyles();
54
55
 
@@ -58,8 +59,19 @@ function BottomSheet(props) {
58
59
  }
59
60
  };
60
61
 
61
- const height = calculateHeight(snapPoints);
62
- const translateY = height - ((_snapPoints$index = snapPoints[index]) !== null && _snapPoints$index !== void 0 ? _snapPoints$index : 0);
62
+ const {
63
+ convertedSnapPoints,
64
+ handleContentSizeChange,
65
+ highestSnapPoint
66
+ } = (0, _useDynamicSnapPoints.default)({
67
+ enableDynamicSizing,
68
+ maxHeightNormalizedRatio,
69
+ snapPoints
70
+ });
71
+ const translateY = highestSnapPoint - (convertedSnapPoints[index] ?? 0);
72
+ const paperStyles = [styles.paper, {
73
+ height: highestSnapPoint
74
+ }];
63
75
  return /*#__PURE__*/_react.default.createElement(_core.Modal, {
64
76
  backdropOpacity: backdropOpacity,
65
77
  onClose: handleClose,
@@ -69,11 +81,13 @@ function BottomSheet(props) {
69
81
  style: styles.animated,
70
82
  translateY: translateY
71
83
  }, /*#__PURE__*/_react.default.createElement(_core.Paper, {
72
- elevation: 12,
73
- style: [styles.paper, {
74
- height
75
- }]
76
- }, children)));
84
+ elevation: disableDefaultShadow ? 0 : 12,
85
+ style: paperStyles,
86
+ colorValue: disableDefaultBackgroundColor ? '#ffffff00' : undefined
87
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
88
+ onContentSizeChange: handleContentSizeChange,
89
+ stickyHeaderIndices: header ? [0] : undefined
90
+ }, header, children))));
77
91
  }
78
92
 
79
93
  ;
@@ -1 +1 @@
1
- {"version":3,"sources":["BottomSheetWeb.tsx"],"names":["useStyles","theme","root","justifyContent","zIndex","dialog","animated","alignSelf","maxWidth","width","paper","borderBottomLeftRadius","borderBottomRightRadius","flexGrow","overflow","calculateHeight","points","length","BottomSheet","props","backdropOpacity","children","index","onChange","snapPoints","styles","handleClose","height","translateY","StyleSheet","absoluteFill"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAKA,MAAMA,SAAuC,GAAG,YAA+B;AAC3E,QAAMC,KAAK,GAAG,qBAAd;AAEA,SAAO;AACHC,IAAAA,IAAI,EAAE;AACFC,MAAAA,cAAc,EAAE,UADd;AAEFC,MAAAA,MAAM,EAAEH,KAAK,CAACG,MAAN,CAAaC;AAFnB,KADH;AAKHC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,SAAS,EAAE,QADL;AAENC,MAAAA,QAAQ,EAAE,GAFJ;AAGNC,MAAAA,KAAK,EAAE;AAHD,KALP;AAUHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,sBAAsB,EAAE,CADrB;AAEHC,MAAAA,uBAAuB,EAAE,CAFtB;AAGHC,MAAAA,QAAQ,EAAE,CAHP;AAIHC,MAAAA,QAAQ,EAAE;AAJP;AAVJ,GAAP;AAiBH,CApBD;;AAsBA,MAAMC,eAAe,GAAIC,MAAD,IAAoD;AAAA;;AACxE,oBAAOA,MAAM,CAACA,MAAM,CAACC,MAAP,GAAgB,CAAjB,CAAb,6CAAoC,CAApC;AACH,CAFD;;AAIe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;AAAA;;AACzD,QAAM;AACFC,IAAAA,eADE;AAEFC,IAAAA,QAFE;AAGFC,IAAAA,KAHE;AAIFC,IAAAA,QAJE;AAKFC,IAAAA;AALE,MAMFL,KANJ;AAQA,QAAMM,MAAM,GAAGzB,SAAS,EAAxB;;AAEA,QAAM0B,WAAW,GAAG,MAAM;AACtB,QAAIH,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAAC,CAAC,CAAF,CAAR;AACH;AACJ,GAJD;;AAMA,QAAMI,MAAM,GAAGZ,eAAe,CAACS,UAAD,CAA9B;AACA,QAAMI,UAAU,GAAGD,MAAM,yBAAIH,UAAU,CAACF,KAAD,CAAd,iEAAyB,CAAzB,CAAzB;AAEA,sBACI,6BAAC,WAAD;AACI,IAAA,eAAe,EAAEF,eADrB;AAEI,IAAA,OAAO,EAAEM,WAFb;AAGI,IAAA,OAAO,EAAEJ,KAAK,IAAI,CAHtB;AAII,IAAA,KAAK,EAAE,eAAI,CAACO,iBAAWC,YAAZ,EAA0BL,MAAM,CAACvB,IAAjC,CAAJ;AAJX,kBAMI,6BAAC,kBAAD;AACI,IAAA,KAAK,EAAEuB,MAAM,CAACnB,QADlB;AAEI,IAAA,UAAU,EAAEsB;AAFhB,kBAII,6BAAC,WAAD;AACI,IAAA,SAAS,EAAE,EADf;AAEI,IAAA,KAAK,EAAE,CACHH,MAAM,CAACf,KADJ,EAEH;AAAEiB,MAAAA;AAAF,KAFG;AAFX,KAOKN,QAPL,CAJJ,CANJ,CADJ;AAuBH;;AAAA","sourcesContent":["import React from 'react';\nimport { Modal, Paper, StyleSheet, css, useTheme } from '@fountain-ui/core';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport AnimatedY from '../AnimatedY';\nimport type BottomSheetProps from './BottomSheetProps';\n\ntype BottomSheetStyles = NamedStylesStringUnion<'root' | 'animated' | 'paper'>;\n\nconst useStyles: UseStyles<BottomSheetStyles> = function (): BottomSheetStyles {\n const theme = useTheme();\n\n return {\n root: {\n justifyContent: 'flex-end',\n zIndex: theme.zIndex.dialog\n },\n animated: {\n alignSelf: 'center',\n maxWidth: 720,\n width: '100%',\n },\n paper: {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n flexGrow: 1,\n overflow: 'hidden',\n },\n };\n};\n\nconst calculateHeight = (points: BottomSheetProps['snapPoints']): number => {\n return points[points.length - 1] ?? 0;\n};\n\nexport default function BottomSheet(props: BottomSheetProps) {\n const {\n backdropOpacity,\n children,\n index,\n onChange,\n snapPoints,\n } = props;\n\n const styles = useStyles();\n\n const handleClose = () => {\n if (onChange) {\n onChange(-1);\n }\n };\n\n const height = calculateHeight(snapPoints);\n const translateY = height - (snapPoints[index] ?? 0);\n\n return (\n <Modal\n backdropOpacity={backdropOpacity}\n onClose={handleClose}\n visible={index >= 0}\n style={css([StyleSheet.absoluteFill, styles.root])}\n >\n <AnimatedY\n style={styles.animated}\n translateY={translateY}\n >\n <Paper\n elevation={12}\n style={[\n styles.paper,\n { height },\n ]}\n >\n {children}\n </Paper>\n </AnimatedY>\n </Modal>\n );\n};\n"]}
1
+ {"version":3,"names":["useStyles","theme","useTheme","root","justifyContent","zIndex","dialog","animated","alignSelf","maxWidth","width","paper","borderBottomLeftRadius","borderBottomRightRadius","flexGrow","overflow","BottomSheet","props","backdropOpacity","children","enableDynamicSizing","header","index","maxHeightNormalizedRatio","onChange","snapPoints","disableDefaultBackgroundColor","disableDefaultShadow","styles","handleClose","convertedSnapPoints","handleContentSizeChange","highestSnapPoint","useDynamicSnapPoints","translateY","paperStyles","height","css","StyleSheet","absoluteFill","undefined"],"sources":["BottomSheetWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { Modal, Paper, StyleSheet, css, useTheme } from '@fountain-ui/core';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport AnimatedY from '../AnimatedY';\nimport type BottomSheetProps from './BottomSheetProps';\nimport useDynamicSnapPoints from './useDynamicSnapPoints';\n\ntype BottomSheetStyles = NamedStylesStringUnion<'root' | 'animated' | 'paper'>;\n\nconst useStyles: UseStyles<BottomSheetStyles> = function (): BottomSheetStyles {\n const theme = useTheme();\n\n return {\n root: {\n justifyContent: 'flex-end',\n zIndex: theme.zIndex.dialog,\n },\n animated: {\n alignSelf: 'center',\n maxWidth: 720,\n width: '100%',\n },\n paper: {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n flexGrow: 1,\n overflow: 'hidden',\n },\n };\n};\n\nexport default function BottomSheet(props: BottomSheetProps) {\n const {\n backdropOpacity,\n children,\n enableDynamicSizing = true,\n header,\n index,\n maxHeightNormalizedRatio = 0.9,\n onChange,\n snapPoints = [],\n disableDefaultBackgroundColor = false,\n disableDefaultShadow = false,\n } = props;\n\n const styles = useStyles();\n\n const handleClose = () => {\n if (onChange) {\n onChange(-1);\n }\n };\n\n const {\n convertedSnapPoints,\n handleContentSizeChange,\n highestSnapPoint,\n } = useDynamicSnapPoints({\n enableDynamicSizing,\n maxHeightNormalizedRatio,\n snapPoints,\n });\n\n const translateY = highestSnapPoint - (convertedSnapPoints[index] ?? 0);\n\n const paperStyles = [\n styles.paper,\n { height: highestSnapPoint },\n ];\n\n return (\n <Modal\n backdropOpacity={backdropOpacity}\n onClose={handleClose}\n visible={index >= 0}\n style={css([StyleSheet.absoluteFill, styles.root])}\n >\n <AnimatedY\n style={styles.animated}\n translateY={translateY}\n >\n <Paper\n elevation={disableDefaultShadow ? 0 : 12}\n style={paperStyles}\n colorValue={disableDefaultBackgroundColor ? '#ffffff00' : undefined}\n >\n <ScrollView\n onContentSizeChange={handleContentSizeChange}\n stickyHeaderIndices={header ? [0] : undefined}\n >\n {header}\n\n {children}\n </ScrollView>\n </Paper>\n </AnimatedY>\n </Modal>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAEA;;;;AAIA,MAAMA,SAAuC,GAAG,YAA+B;EAC3E,MAAMC,KAAK,GAAG,IAAAC,cAAA,GAAd;EAEA,OAAO;IACHC,IAAI,EAAE;MACFC,cAAc,EAAE,UADd;MAEFC,MAAM,EAAEJ,KAAK,CAACI,MAAN,CAAaC;IAFnB,CADH;IAKHC,QAAQ,EAAE;MACNC,SAAS,EAAE,QADL;MAENC,QAAQ,EAAE,GAFJ;MAGNC,KAAK,EAAE;IAHD,CALP;IAUHC,KAAK,EAAE;MACHC,sBAAsB,EAAE,CADrB;MAEHC,uBAAuB,EAAE,CAFtB;MAGHC,QAAQ,EAAE,CAHP;MAIHC,QAAQ,EAAE;IAJP;EAVJ,CAAP;AAiBH,CApBD;;AAsBe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,eADE;IAEFC,QAFE;IAGFC,mBAAmB,GAAG,IAHpB;IAIFC,MAJE;IAKFC,KALE;IAMFC,wBAAwB,GAAG,GANzB;IAOFC,QAPE;IAQFC,UAAU,GAAG,EARX;IASFC,6BAA6B,GAAG,KAT9B;IAUFC,oBAAoB,GAAG;EAVrB,IAWFV,KAXJ;EAaA,MAAMW,MAAM,GAAG5B,SAAS,EAAxB;;EAEA,MAAM6B,WAAW,GAAG,MAAM;IACtB,IAAIL,QAAJ,EAAc;MACVA,QAAQ,CAAC,CAAC,CAAF,CAAR;IACH;EACJ,CAJD;;EAMA,MAAM;IACFM,mBADE;IAEFC,uBAFE;IAGFC;EAHE,IAIF,IAAAC,6BAAA,EAAqB;IACrBb,mBADqB;IAErBG,wBAFqB;IAGrBE;EAHqB,CAArB,CAJJ;EAUA,MAAMS,UAAU,GAAGF,gBAAgB,IAAIF,mBAAmB,CAACR,KAAD,CAAnB,IAA8B,CAAlC,CAAnC;EAEA,MAAMa,WAAW,GAAG,CAChBP,MAAM,CAACjB,KADS,EAEhB;IAAEyB,MAAM,EAAEJ;EAAV,CAFgB,CAApB;EAKA,oBACI,6BAAC,WAAD;IACI,eAAe,EAAEd,eADrB;IAEI,OAAO,EAAEW,WAFb;IAGI,OAAO,EAAEP,KAAK,IAAI,CAHtB;IAII,KAAK,EAAE,IAAAe,SAAA,EAAI,CAACC,gBAAA,CAAWC,YAAZ,EAA0BX,MAAM,CAACzB,IAAjC,CAAJ;EAJX,gBAMI,6BAAC,kBAAD;IACI,KAAK,EAAEyB,MAAM,CAACrB,QADlB;IAEI,UAAU,EAAE2B;EAFhB,gBAII,6BAAC,WAAD;IACI,SAAS,EAAEP,oBAAoB,GAAG,CAAH,GAAO,EAD1C;IAEI,KAAK,EAAEQ,WAFX;IAGI,UAAU,EAAET,6BAA6B,GAAG,WAAH,GAAiBc;EAH9D,gBAKI,6BAAC,uBAAD;IACI,mBAAmB,EAAET,uBADzB;IAEI,mBAAmB,EAAEV,MAAM,GAAG,CAAC,CAAD,CAAH,GAASmB;EAFxC,GAIKnB,MAJL,EAMKF,QANL,CALJ,CAJJ,CANJ,CADJ;AA4BH;;AAAA"}
@@ -13,7 +13,7 @@ var _styles = require("@fountain-ui/styles");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- function _extends() { _extends = Object.assign || 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); }
16
+ 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); }
17
17
 
18
18
  function TransparentBackdrop(props) {
19
19
  // The reason that it did not use the opacity prop is that the close event is ignored in Android. (opacity < 0.1)
@@ -1 +1 @@
1
- {"version":3,"sources":["TransparentBackdrop.tsx"],"names":["TransparentBackdrop","props","backdropStyle","backgroundColor","bottom","left","position","right","top"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEe,SAASA,mBAAT,CAA6BC,KAA7B,EAA8D;AACzE;AACA,QAAMC,aAAa,GAAG,iBAAI,CACtB;AACIC,IAAAA,eAAe,EAAE,WADrB;AAEIC,IAAAA,MAAM,EAAE,CAFZ;AAGIC,IAAAA,IAAI,EAAE,CAHV;AAIIC,IAAAA,QAAQ,EAAE,UAJd;AAKIC,IAAAA,KAAK,EAAE,CALX;AAMIC,IAAAA,GAAG,EAAE;AANT,GADsB,CAAJ,CAAtB;AAWA,sBACI,6BAAC,gCAAD,eACQP,KADR;AAEI,IAAA,cAAc,EAAE,CAFpB;AAGI,IAAA,iBAAiB,EAAE,CAAC,CAHxB;AAII,IAAA,KAAK,EAAEC;AAJX,KADJ;AAQH;;AAAA","sourcesContent":["import React from 'react';\nimport { BottomSheetBackdrop, BottomSheetBackdropProps } from '@gorhom/bottom-sheet';\nimport { css } from '@fountain-ui/styles';\n\nexport default function TransparentBackdrop(props: BottomSheetBackdropProps) {\n // The reason that it did not use the opacity prop is that the close event is ignored in Android. (opacity < 0.1)\n const backdropStyle = css([\n {\n backgroundColor: '#ffffff00',\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n ]);\n\n return (\n <BottomSheetBackdrop\n {...props}\n appearsOnIndex={0}\n disappearsOnIndex={-1}\n style={backdropStyle}\n />\n );\n};"]}
1
+ {"version":3,"names":["TransparentBackdrop","props","backdropStyle","css","backgroundColor","bottom","left","position","right","top"],"sources":["TransparentBackdrop.tsx"],"sourcesContent":["import React from 'react';\nimport { BottomSheetBackdrop, BottomSheetBackdropProps } from '@gorhom/bottom-sheet';\nimport { css } from '@fountain-ui/styles';\n\nexport default function TransparentBackdrop(props: BottomSheetBackdropProps) {\n // The reason that it did not use the opacity prop is that the close event is ignored in Android. (opacity < 0.1)\n const backdropStyle = css([\n {\n backgroundColor: '#ffffff00',\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n ]);\n\n return (\n <BottomSheetBackdrop\n {...props}\n appearsOnIndex={0}\n disappearsOnIndex={-1}\n style={backdropStyle}\n />\n );\n};"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEe,SAASA,mBAAT,CAA6BC,KAA7B,EAA8D;EACzE;EACA,MAAMC,aAAa,GAAG,IAAAC,WAAA,EAAI,CACtB;IACIC,eAAe,EAAE,WADrB;IAEIC,MAAM,EAAE,CAFZ;IAGIC,IAAI,EAAE,CAHV;IAIIC,QAAQ,EAAE,UAJd;IAKIC,KAAK,EAAE,CALX;IAMIC,GAAG,EAAE;EANT,CADsB,CAAJ,CAAtB;EAWA,oBACI,6BAAC,gCAAD,eACQR,KADR;IAEI,cAAc,EAAE,CAFpB;IAGI,iBAAiB,EAAE,CAAC,CAHxB;IAII,KAAK,EAAEC;EAJX,GADJ;AAQH;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default } from './BottomSheetWeb';\nexport type { default as BottomSheetProps } from './BottomSheetProps';\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './BottomSheetWeb';\nexport type { default as BottomSheetProps } from './BottomSheetProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.native.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default } from './BottomSheetNative';\n"]}
1
+ {"version":3,"names":[],"sources":["index.native.ts"],"sourcesContent":["export { default } from './BottomSheetNative';\n"],"mappings":";;;;;;;;;;;;AAAA"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useDynamicSnapPoints;
7
+
8
+ var R = _interopRequireWildcard(require("ramda"));
9
+
10
+ var _react = require("react");
11
+
12
+ var _reactNative = require("react-native");
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ const convertSnapPoint = (snapPoint, windowHeight, maxDynamicContentSize) => {
19
+ if (typeof snapPoint === 'number') {
20
+ return Math.min(maxDynamicContentSize, snapPoint);
21
+ }
22
+
23
+ const percentageRegex = new RegExp(/^[0-9]+%$/);
24
+
25
+ if (percentageRegex.test(snapPoint)) {
26
+ const percentage = parseFloat(snapPoint) / 100;
27
+ return isNaN(percentage) ? 0 : Math.min(maxDynamicContentSize, Math.round(windowHeight * percentage));
28
+ }
29
+
30
+ return 0;
31
+ };
32
+
33
+ function useDynamicSnapPoints(params) {
34
+ const {
35
+ enableDynamicSizing,
36
+ maxHeightNormalizedRatio,
37
+ snapPoints
38
+ } = params;
39
+ const {
40
+ height: windowHeight
41
+ } = (0, _reactNative.useWindowDimensions)();
42
+ const [contentHeight, setContentHeight] = (0, _react.useState)(0);
43
+ const convertedSnapPoints = (0, _react.useMemo)(() => {
44
+ const maxDynamicContentSize = Math.round(windowHeight * maxHeightNormalizedRatio);
45
+ const convertedSnapPoints = snapPoints.map(snapPoint => {
46
+ return convertSnapPoint(snapPoint, windowHeight, maxDynamicContentSize);
47
+ });
48
+
49
+ if (enableDynamicSizing && contentHeight !== 0) {
50
+ convertedSnapPoints.push(convertSnapPoint(contentHeight, windowHeight, maxDynamicContentSize));
51
+ }
52
+
53
+ return Array.from(new Set(convertedSnapPoints)).sort((a, b) => a - b);
54
+ }, [contentHeight, snapPoints, windowHeight]);
55
+ const highestSnapPoint = R.last(convertedSnapPoints) ?? 0;
56
+ const handleContentSizeChange = (0, _react.useCallback)((_, height) => {
57
+ setContentHeight(height);
58
+ }, []);
59
+ return {
60
+ convertedSnapPoints,
61
+ handleContentSizeChange,
62
+ highestSnapPoint
63
+ };
64
+ }
65
+ //# sourceMappingURL=useDynamicSnapPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertSnapPoint","snapPoint","windowHeight","maxDynamicContentSize","Math","min","percentageRegex","RegExp","test","percentage","parseFloat","isNaN","round","useDynamicSnapPoints","params","enableDynamicSizing","maxHeightNormalizedRatio","snapPoints","height","useWindowDimensions","contentHeight","setContentHeight","useState","convertedSnapPoints","useMemo","map","push","Array","from","Set","sort","a","b","highestSnapPoint","R","last","handleContentSizeChange","useCallback","_"],"sources":["useDynamicSnapPoints.ts"],"sourcesContent":["import * as R from 'ramda';\nimport { useCallback, useMemo, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface UseDynamicSnapPointsParams {\n enableDynamicSizing: boolean;\n maxHeightNormalizedRatio: number;\n snapPoints: (number | string)[];\n}\n\ninterface UseDynamicSnapPointsReturns {\n convertedSnapPoints: number[];\n handleContentSizeChange: (w: number, h: number) => void;\n highestSnapPoint: number;\n}\n\nconst convertSnapPoint = (snapPoint: number | string, windowHeight: number, maxDynamicContentSize: number): number => {\n if (typeof snapPoint === 'number') {\n return Math.min(maxDynamicContentSize, snapPoint);\n }\n\n const percentageRegex = new RegExp(/^[0-9]+%$/);\n if (percentageRegex.test(snapPoint)) {\n const percentage = parseFloat(snapPoint) / 100;\n return isNaN(percentage) ? 0 : Math.min(maxDynamicContentSize, Math.round(windowHeight * percentage));\n }\n\n return 0;\n};\n\nexport default function useDynamicSnapPoints(params: UseDynamicSnapPointsParams): UseDynamicSnapPointsReturns {\n const {\n enableDynamicSizing,\n maxHeightNormalizedRatio,\n snapPoints,\n } = params;\n\n const { height: windowHeight } = useWindowDimensions();\n\n const [contentHeight, setContentHeight] = useState<number>(0);\n\n const convertedSnapPoints = useMemo(() => {\n const maxDynamicContentSize = Math.round(windowHeight * maxHeightNormalizedRatio);\n\n const convertedSnapPoints = snapPoints.map((snapPoint) => {\n return convertSnapPoint(snapPoint, windowHeight, maxDynamicContentSize);\n });\n\n if (enableDynamicSizing && contentHeight !== 0) {\n convertedSnapPoints.push(\n convertSnapPoint(contentHeight, windowHeight, maxDynamicContentSize),\n );\n }\n\n return Array.from(new Set(convertedSnapPoints)).sort((a, b) => a - b);\n }, [\n contentHeight,\n snapPoints,\n windowHeight,\n ]);\n\n const highestSnapPoint = R.last(convertedSnapPoints) ?? 0;\n\n const handleContentSizeChange = useCallback((_: number, height: number) => {\n setContentHeight(height);\n }, []);\n\n return {\n convertedSnapPoints,\n handleContentSizeChange,\n highestSnapPoint,\n };\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAcA,MAAMA,gBAAgB,GAAG,CAACC,SAAD,EAA6BC,YAA7B,EAAmDC,qBAAnD,KAA6F;EAClH,IAAI,OAAOF,SAAP,KAAqB,QAAzB,EAAmC;IAC/B,OAAOG,IAAI,CAACC,GAAL,CAASF,qBAAT,EAAgCF,SAAhC,CAAP;EACH;;EAED,MAAMK,eAAe,GAAG,IAAIC,MAAJ,CAAW,WAAX,CAAxB;;EACA,IAAID,eAAe,CAACE,IAAhB,CAAqBP,SAArB,CAAJ,EAAqC;IACjC,MAAMQ,UAAU,GAAGC,UAAU,CAACT,SAAD,CAAV,GAAwB,GAA3C;IACA,OAAOU,KAAK,CAACF,UAAD,CAAL,GAAoB,CAApB,GAAwBL,IAAI,CAACC,GAAL,CAASF,qBAAT,EAAgCC,IAAI,CAACQ,KAAL,CAAWV,YAAY,GAAGO,UAA1B,CAAhC,CAA/B;EACH;;EAED,OAAO,CAAP;AACH,CAZD;;AAce,SAASI,oBAAT,CAA8BC,MAA9B,EAA+F;EAC1G,MAAM;IACFC,mBADE;IAEFC,wBAFE;IAGFC;EAHE,IAIFH,MAJJ;EAMA,MAAM;IAAEI,MAAM,EAAEhB;EAAV,IAA2B,IAAAiB,gCAAA,GAAjC;EAEA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoC,IAAAC,eAAA,EAAiB,CAAjB,CAA1C;EAEA,MAAMC,mBAAmB,GAAG,IAAAC,cAAA,EAAQ,MAAM;IACtC,MAAMrB,qBAAqB,GAAGC,IAAI,CAACQ,KAAL,CAAWV,YAAY,GAAGc,wBAA1B,CAA9B;IAEA,MAAMO,mBAAmB,GAAGN,UAAU,CAACQ,GAAX,CAAgBxB,SAAD,IAAe;MACtD,OAAOD,gBAAgB,CAACC,SAAD,EAAYC,YAAZ,EAA0BC,qBAA1B,CAAvB;IACH,CAF2B,CAA5B;;IAIA,IAAIY,mBAAmB,IAAIK,aAAa,KAAK,CAA7C,EAAgD;MAC5CG,mBAAmB,CAACG,IAApB,CACI1B,gBAAgB,CAACoB,aAAD,EAAgBlB,YAAhB,EAA8BC,qBAA9B,CADpB;IAGH;;IAED,OAAOwB,KAAK,CAACC,IAAN,CAAW,IAAIC,GAAJ,CAAQN,mBAAR,CAAX,EAAyCO,IAAzC,CAA8C,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,GAAGC,CAA5D,CAAP;EACH,CAd2B,EAczB,CACCZ,aADD,EAECH,UAFD,EAGCf,YAHD,CAdyB,CAA5B;EAoBA,MAAM+B,gBAAgB,GAAGC,CAAC,CAACC,IAAF,CAAOZ,mBAAP,KAA+B,CAAxD;EAEA,MAAMa,uBAAuB,GAAG,IAAAC,kBAAA,EAAY,CAACC,CAAD,EAAYpB,MAAZ,KAA+B;IACvEG,gBAAgB,CAACH,MAAD,CAAhB;EACH,CAF+B,EAE7B,EAF6B,CAAhC;EAIA,OAAO;IACHK,mBADG;IAEHa,uBAFG;IAGHH;EAHG,CAAP;AAKH"}
@@ -0,0 +1,130 @@
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 _ViewabilityTrackerView = _interopRequireDefault(require("../ViewabilityTrackerView"));
11
+
12
+ var _hooks = require("./hooks");
13
+
14
+ var _animation = require("./animation");
15
+
16
+ var _components = require("./components");
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
+ const Carousel = /*#__PURE__*/(0, _react.forwardRef)(function Carousel(props, ref) {
25
+ const {
26
+ autoplay = false,
27
+ autoplayInterval = 3000,
28
+ createItemStyle = _animation.createDefaultItemStyle,
29
+ createScrollAnimation = _animation.createDefaultScrollAnimation,
30
+ data: originalData,
31
+ disableSmartAutoplay = false,
32
+ initialIndex = 0,
33
+ itemHeight,
34
+ itemWidth,
35
+ loop = false,
36
+ onIndexChange,
37
+ renderItem,
38
+ scrollEnabled = true,
39
+ style,
40
+ windowSize = 5
41
+ } = props;
42
+ const data = (0, _hooks.useLoopedData)(originalData, loop);
43
+ const [itemVisibilityStore, onPositionChange] = (0, _hooks.useItemVisibilityStore)({
44
+ initialIndex,
45
+ numberOfData: data.length,
46
+ windowSize
47
+ });
48
+ const indexController = (0, _hooks.useIndexController)({
49
+ initialIndex,
50
+ itemWidth,
51
+ numberOfData: data.length,
52
+ numberOfOriginalData: originalData.length,
53
+ onIndexChange,
54
+ onPositionChange
55
+ });
56
+ const {
57
+ getCurrentIndex
58
+ } = indexController;
59
+ const {
60
+ gestureTranslationX,
61
+ globalInterpolation,
62
+ interruptAnimation,
63
+ startPagingAnimation
64
+ } = (0, _hooks.usePagingAnimator)({
65
+ createScrollAnimation,
66
+ itemWidth,
67
+ indexController,
68
+ initialIndex,
69
+ loop,
70
+ numberOfData: data.length
71
+ });
72
+ const autoplayController = (0, _hooks.useAutoplayController)({
73
+ enabled: autoplay,
74
+ intervalMillis: autoplayInterval,
75
+ startPagingAnimation
76
+ });
77
+ (0, _react.useImperativeHandle)(ref, () => ({
78
+ getCurrentIndex,
79
+ next: () => startPagingAnimation('directional', {
80
+ direction: 'next'
81
+ }),
82
+ prev: () => startPagingAnimation('directional', {
83
+ direction: 'prev'
84
+ }),
85
+ scrollTo: option => startPagingAnimation('index', option)
86
+ }), [startPagingAnimation, getCurrentIndex]);
87
+ const contextValue = (0, _react.useMemo)(() => ({
88
+ createItemStyle,
89
+ data,
90
+ globalInterpolation,
91
+ itemHeight,
92
+ itemWidth,
93
+ itemVisibilityStore,
94
+ loop
95
+ }), [createItemStyle, data, globalInterpolation, itemHeight, itemWidth, itemVisibilityStore, loop]);
96
+ return /*#__PURE__*/_react.default.createElement(_components.InternalContext.Provider, {
97
+ value: contextValue
98
+ }, /*#__PURE__*/_react.default.createElement(_ViewabilityTrackerView.default, {
99
+ enabled: autoplay && !disableSmartAutoplay,
100
+ measurementIntervalMillis: Math.max(3000, autoplayInterval),
101
+ onViewabilityChange: _ref => {
102
+ let {
103
+ visible
104
+ } = _ref;
105
+
106
+ if (visible) {
107
+ autoplayController.resume();
108
+ } else {
109
+ autoplayController.pause();
110
+ }
111
+ }
112
+ }, /*#__PURE__*/_react.default.createElement(_components.ScrollViewGesture, {
113
+ autoplayController: autoplayController,
114
+ gestureTranslationX: gestureTranslationX,
115
+ interruptAnimation: interruptAnimation,
116
+ scrollEnabled: scrollEnabled,
117
+ startPagingAnimation: startPagingAnimation
118
+ }, /*#__PURE__*/_react.default.createElement(_components.RootView, {
119
+ data: data,
120
+ itemHeight: itemHeight,
121
+ originalData: originalData,
122
+ renderItem: renderItem,
123
+ style: style
124
+ }))));
125
+ });
126
+
127
+ var _default = /*#__PURE__*/(0, _react.memo)(Carousel);
128
+
129
+ exports.default = _default;
130
+ //# sourceMappingURL=Carousel.js.map
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
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"}