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

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 +202 -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 +192 -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 +255 -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
@@ -1,47 +1,37 @@
1
- import React from 'react';
2
- import type { ViewProps } from 'react-native';
3
- import type { ComponentProps } from '@fountain-ui/core';
4
- export declare type KeyboardDismissMode = 'none' | 'on-drag';
5
- export declare type PageProps = React.PropsWithChildren<ViewProps> & {
6
- isNeighbor: boolean;
7
- isVisible: boolean;
8
- rerenderKey?: any;
9
- };
10
- export declare type PageComponent = React.ComponentType<PageProps>;
11
- export declare type Loading = 'lazy' | 'eager';
1
+ import type { ReactNode, Ref } from 'react';
2
+ import type { PageScrollStateChangedNativeEvent } from 'react-native-pager-view';
3
+ import type { ComponentProps, SyncAnimatedValue } from '@fountain-ui/core';
4
+ import type { KeyboardDismissMode, Loading, ViewPagerInstance } from './types';
12
5
  export default interface ViewPagerProps extends ComponentProps<{
6
+ ref?: Ref<ViewPagerInstance>;
13
7
  /**
14
8
  * Collection of ViewPager components.
15
9
  */
16
- children?: React.ReactNode;
10
+ children?: ReactNode;
17
11
  /**
18
- * If `true`, enable page visible hint.
19
- * @default false
12
+ * Index of initial page that should be selected.
13
+ * @default 0
20
14
  */
21
- enableVisibleHint?: boolean;
22
- /**
23
- * If `true`, Based on the current index, the pages on the left and right are also rerender.
24
- * @default false
25
- */
26
- enableNeighborPageRerender?: boolean;
27
- /**
28
- * A number representing the index of the active page.
29
- */
30
- index: number;
15
+ initialPage?: number;
31
16
  /**
32
17
  * Whether to load the page immediately (`eager`) or on an as-needed basis (`lazy`).
33
18
  * @default 'lazy'
34
19
  */
35
20
  loading?: Loading;
21
+ /**
22
+ * Mobile only. The number of pages that should be re-rendered to either side of the current page.
23
+ * Changing this value after the component mount has no effect.
24
+ * @default 0
25
+ */
26
+ offscreenPageRerenderLimit?: number;
36
27
  /**
37
28
  * Callback fired when an index is changed.
38
29
  */
39
30
  onChange?: (newIndex: number) => void;
40
31
  /**
41
- * The component used to render the wrapper of the page.
42
- * @default 'ChildrenMemoizedPage'
32
+ * Native only. This handler processes events that occur when the pager is scrolled horizontally.
43
33
  */
44
- pageComponent?: PageComponent;
34
+ onPageScrollStateChanged?: (event: PageScrollStateChangedNativeEvent) => void;
45
35
  /**
46
36
  * When this value is changed, page will be rerender.
47
37
  */
@@ -56,5 +46,9 @@ export default interface ViewPagerProps extends ComponentProps<{
56
46
  * @default 'on-drag'
57
47
  */
58
48
  keyboardDismissMode?: KeyboardDismissMode;
49
+ /**
50
+ * Unstable API.
51
+ */
52
+ UNSTABLE_sharedPage?: SyncAnimatedValue;
59
53
  }> {
60
54
  }
@@ -0,0 +1,14 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import React from 'react';
3
+ import type { ViewProps } from 'react-native';
4
+ import type { Loading } from '../types';
5
+ export declare type PageProps = PropsWithChildren<ViewProps> & {
6
+ index: number;
7
+ initialPage: number;
8
+ loading: Loading;
9
+ offscreenPageRerenderLimit: number;
10
+ rerenderKey?: any;
11
+ };
12
+ declare function Page(props: PageProps): JSX.Element;
13
+ declare const _default: React.MemoExoticComponent<typeof Page>;
14
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface FluxStoreProviderProps<State> {
3
+ children: React.ReactElement;
4
+ initialState: State;
5
+ }
6
+ export default function FluxStoreProvider<State>(props: FluxStoreProviderProps<State>): JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { default as ChildrenMemoizedPage } from './ChildrenMemoizedPage';
2
+ export { default as FluxStoreProvider } from './FluxStoreProvider';
@@ -0,0 +1,7 @@
1
+ export { default as useDispatch } from './useDispatch';
2
+ export { default as useEagerState } from './useEagerState';
3
+ export { default as useForceRender } from './useForceRender';
4
+ export { default as useLazyState } from './useLazyState';
5
+ export { default as usePageStore } from './usePageStore';
6
+ export { default as useStore } from './useStore';
7
+ export { default as useViewPagerPageState } from './useViewPagerPageState';
@@ -0,0 +1,2 @@
1
+ import type { DispatchAction } from '@fountain-ui/core';
2
+ export default function useDispatch<State>(): (action: DispatchAction<State>) => void;
@@ -0,0 +1 @@
1
+ export default function useEagerState<State>(): State;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function useForceRender(): import("react").DispatchWithoutAction;
@@ -0,0 +1,2 @@
1
+ import type { EqualityFunction } from '../types';
2
+ export default function useLazyState<State>(equalityFn?: EqualityFunction<State>): State;
@@ -0,0 +1,2 @@
1
+ import type { MonoStore, SyncAnimatedValue } from '@fountain-ui/core';
2
+ export default function usePageStore(value: SyncAnimatedValue): MonoStore<number>;
@@ -0,0 +1,2 @@
1
+ import type { FluxStore } from '../FluxContext';
2
+ export default function useStore<State>(): FluxStore<State>;
@@ -0,0 +1 @@
1
+ export default function useViewPagerPageState(): import("../PageStateContext").PageState;
@@ -1,2 +1,5 @@
1
- export { default } from './ViewPagerWeb';
1
+ export { default } from './ViewPager';
2
2
  export type { default as ViewPagerProps } from './ViewPagerProps';
3
+ export type { ViewPagerInstance } from './types';
4
+ export { useDispatch as useFluxDispatch, useEagerState, useStore as useFluxStore, useLazyState, useViewPagerPageState, } from './hooks';
5
+ export { FluxStoreProvider } from './components';
@@ -0,0 +1,12 @@
1
+ export declare type KeyboardDismissMode = 'none' | 'on-drag';
2
+ export declare type Loading = 'lazy' | 'eager';
3
+ export interface EqualityFunction<State> {
4
+ (a: State, b: State): boolean;
5
+ }
6
+ export interface ViewPagerInstance {
7
+ /**
8
+ * Function to scroll to a specific page in the ViewPager. Invalid index is ignored.
9
+ * @param index
10
+ */
11
+ setPage: (index: number) => void;
12
+ }
@@ -1,21 +1,6 @@
1
- import React from 'react';
2
- import ViewPagerProps, { Loading, PageComponent } from './ViewPagerProps';
3
- export interface PageState {
4
- visited?: boolean;
5
- }
6
- export interface PageRenderOption {
7
- enableVisibleHint: boolean;
8
- enableNeighborPageRerender: boolean;
9
- index: number;
10
- loading: Loading;
11
- pageComponent: PageComponent;
12
- pageForceRerenderKey?: any;
13
- }
14
- export interface PageRenderer {
15
- (children: ViewPagerProps['children']): React.ReactNode;
16
- }
17
- export declare const defaultEnableVisibleHint: boolean;
18
- export declare const defaultEnableNeighborPageRerender: boolean;
1
+ import type { EqualityFunction, Loading } from './types';
2
+ export declare const defaultInitialPage: number;
19
3
  export declare const defaultLoading: Loading;
20
- export declare const defaultPageComponent: PageComponent;
21
- export declare const usePageRenderer: ({ enableVisibleHint, index: currentIndex, loading, pageComponent: PageComponent, pageForceRerenderKey, enableNeighborPageRerender, }: PageRenderOption) => PageRenderer;
4
+ export declare const defaultOffscreenPageRerenderLimit: number;
5
+ export declare const refEqual: EqualityFunction<any>;
6
+ export declare function isValidPage(maybePage: number, numberOfPages: number): boolean;
@@ -0,0 +1,3 @@
1
+ export default interface Viewability {
2
+ visible: boolean;
3
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type ViewabilityTrackerViewProps from './ViewabilityTrackerViewProps';
3
+ export default function ViewabilityTrackerView(props: ViewabilityTrackerViewProps): JSX.Element;
@@ -0,0 +1,22 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import type { OverridableComponentProps } from '@fountain-ui/core';
3
+ import type Viewability from './Viewability';
4
+ export default interface ViewabilityTrackerViewProps extends OverridableComponentProps<ViewProps, {
5
+ /**
6
+ * @default true
7
+ */
8
+ enabled?: boolean;
9
+ /**
10
+ * @default 1000
11
+ */
12
+ measurementIntervalMillis?: number;
13
+ /**
14
+ *
15
+ */
16
+ onViewabilityChange?: (viewability: Viewability) => void;
17
+ /**
18
+ * @default 50
19
+ */
20
+ visiblePercentThreshold?: number;
21
+ }> {
22
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './ViewabilityTrackerView';
2
+ export type { default as ViewabilityTrackerViewProps } from './ViewabilityTrackerViewProps';
@@ -0,0 +1,11 @@
1
+ import type { View } from 'react-native';
2
+ export interface ViewabilityDetail {
3
+ visiblePercent: number;
4
+ }
5
+ export interface MeasureViewabilityParameters {
6
+ view: View;
7
+ windowWidth: number;
8
+ windowHeight: number;
9
+ onViewabilityDetailMeasured: (detail: ViewabilityDetail) => void;
10
+ }
11
+ export default function measureViewability({ view, windowWidth, windowHeight, onViewabilityDetailMeasured, }: MeasureViewabilityParameters): void;
@@ -0,0 +1,11 @@
1
+ import type { RefObject } from 'react';
2
+ import type { View } from 'react-native';
3
+ import type Viewability from './Viewability';
4
+ export interface ViewabilityTrackerConfig {
5
+ enabled: boolean;
6
+ measurementIntervalMillis: number;
7
+ onViewabilityChange?: (viewability: Viewability) => void;
8
+ viewRef: RefObject<View>;
9
+ visiblePercentThreshold: number;
10
+ }
11
+ export default function useViewabilityTracker(config: ViewabilityTrackerConfig): void;
@@ -1,2 +1,4 @@
1
+ export { default as useDeferredExecutor } from './useDeferredExecutor';
2
+ export { default as useIsMounted } from './useIsMounted';
1
3
  export { default as useUnstableCollapsibleAppBar } from './useUnstableCollapsibleAppBar';
2
4
  export { default as useUnstableToggleDisplayStyle } from './useUnstableToggleDisplayStyle';
@@ -0,0 +1,11 @@
1
+ export interface Runnable {
2
+ (): void;
3
+ }
4
+ export interface DeferredExecute {
5
+ (runnable: Runnable, delay?: number): void;
6
+ }
7
+ export interface DeferredExecutor {
8
+ cancel: () => void;
9
+ execute: DeferredExecute;
10
+ }
11
+ export default function useDeferredExecutor(): DeferredExecutor;
@@ -0,0 +1,4 @@
1
+ export interface UseIsMounted {
2
+ (): boolean;
3
+ }
4
+ export default function useIsMounted(): UseIsMounted;
@@ -1,5 +1,5 @@
1
1
  import { Falsy, RegisteredStyle, ScrollViewProps, ViewProps, ViewStyle } from 'react-native';
2
- import Animated from 'react-native-reanimated';
2
+ import type { SharedValue } from 'react-native-reanimated';
3
3
  declare type WebOnlyStyle = {
4
4
  boxShadow: any;
5
5
  };
@@ -17,7 +17,7 @@ export interface Options {
17
17
  }
18
18
  export interface CollapsibleAppBar {
19
19
  appBarStyle: ViewStyleProp;
20
- vectorY: Animated.SharedValue<number>;
20
+ vectorY: SharedValue<number>;
21
21
  onAppBarLayout: OnLayoutCallback;
22
22
  onCollapsibleToolbarLayout: OnLayoutCallback;
23
23
  onScroll: OnScroll;
@@ -1,4 +1,4 @@
1
- import Animated from 'react-native-reanimated';
2
- export default function useAnimatedDisplayStyle(vectorY: Animated.SharedValue<number>, threshold?: number, defaultDisplay?: 'flex' | 'none'): {
1
+ import type { SharedValue } from 'react-native-reanimated';
2
+ export default function useAnimatedDisplayStyle(vectorY: SharedValue<number>, threshold?: number, defaultDisplay?: 'flex' | 'none'): {
3
3
  display: "flex" | "none";
4
4
  };
@@ -12,4 +12,6 @@ export { default as ComicViewer } from './ComicViewer';
12
12
  export * from './ComicViewer';
13
13
  export { default as StatusBarProvider, useStatusBarContext } from './StatusBarProvider';
14
14
  export * from './StatusBarProvider';
15
+ export { default as ViewabilityTrackerView } from './ViewabilityTrackerView';
16
+ export * from './ViewabilityTrackerView';
15
17
  export * from './hooks';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fountain-ui/lab",
3
- "version": "2.0.0-beta.6",
3
+ "version": "2.0.0-beta.60",
4
4
  "private": false,
5
5
  "author": "Fountain-UI Team",
6
6
  "description": "Incubator for Fountain-UI React components.",
@@ -15,52 +15,38 @@
15
15
  "prepare": "bob build"
16
16
  },
17
17
  "dependencies": {
18
- "@emotion/react": "^11.4.1",
19
- "@emotion/styled": "^11.0.0",
20
- "@fountain-ui/icons": "^2.0.0-beta.6",
21
- "@fountain-ui/utils": "^2.0.0-beta.3",
18
+ "@emotion/react": "^11.10.0",
19
+ "@emotion/styled": "^11.10.0",
20
+ "@fountain-ui/icons": "2.0.0-beta.18",
21
+ "@fountain-ui/utils": "^2.0.0-beta.4",
22
22
  "react-native-calendars": "1.1267.0"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@fountain-ui/core": "^2.0.0-beta.3",
26
- "@gorhom/bottom-sheet": "^4.1.3",
27
- "@react-native-community/viewpager": "> 4.2.x",
26
+ "@gorhom/bottom-sheet": "^4.5.0",
28
27
  "date-fns": "^2.0.0",
29
28
  "react": "^16.8.0 || ^17.0.0",
30
29
  "react-dom": "^16.8.0 || ^17.0.0",
31
30
  "react-native": "^0.63.0",
32
- "react-native-snap-carousel": "^3.9.0",
33
- "react-slick": "^0.25.0"
31
+ "react-native-gesture-handler": "^2.0.0",
32
+ "react-native-pager-view": "^4.0.0"
34
33
  },
35
34
  "peerDependenciesMeta": {
36
35
  "@gorhom/bottom-sheet": {
37
36
  "optional": true
38
37
  },
39
- "@react-native-community/viewpager": {
40
- "optional": true
41
- },
42
38
  "react-dom": {
43
39
  "optional": true
44
40
  },
45
- "react-native": {
46
- "optional": true
47
- },
48
- "react-slick": {
49
- "optional": true
50
- },
51
- "react-native-snap-carousel": {
41
+ "react-native-pager-view": {
52
42
  "optional": true
53
43
  }
54
44
  },
55
45
  "devDependencies": {
56
- "@gorhom/bottom-sheet": "4.1.3",
57
- "@react-native-community/viewpager": "^4.2.2",
58
- "@types/react-native-snap-carousel": "^3.8.4",
59
- "@types/react-slick": "^0.23.5",
46
+ "@gorhom/bottom-sheet": "^4.5.0",
60
47
  "date-fns": "^2.23.0",
61
- "react-native-safe-area-context": "^3.3.2",
62
- "react-native-snap-carousel": "^3.9.1",
63
- "react-slick": "^0.28.1"
48
+ "react-native-pager-view": "^4.2.4",
49
+ "react-native-safe-area-context": "^4.0.0"
64
50
  },
65
51
  "react-native-builder-bob": {
66
52
  "source": "./src",
@@ -84,5 +70,5 @@
84
70
  "publishConfig": {
85
71
  "access": "public"
86
72
  },
87
- "gitHead": "10ec965daab032df7f6e7e09f793de59b9b5f787"
73
+ "gitHead": "4b6cd216dacf6364fc0752b1705f43b0d6331e88"
88
74
  }
@@ -1,7 +1,13 @@
1
- import React from 'react';
2
- import Animated, { Easing } from 'react-native-reanimated';
1
+ import React, { useEffect } from 'react';
2
+ import type { WithTimingConfig } from 'react-native-reanimated';
3
+ import Animated, { Easing, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
3
4
  import type AnimatedYProps from './AnimatedYProps';
4
5
 
6
+ const ANIMATION_CONFIG: Readonly<WithTimingConfig> = {
7
+ duration: 150,
8
+ easing: Easing.out(Easing.exp),
9
+ };
10
+
5
11
  export default function AnimatedY(props: AnimatedYProps) {
6
12
  const {
7
13
  children,
@@ -9,17 +15,14 @@ export default function AnimatedY(props: AnimatedYProps) {
9
15
  style,
10
16
  } = props;
11
17
 
12
- const animatedY = Animated.useSharedValue(translateY);
13
- const animatedStyle = Animated.useAnimatedStyle(() => ({
18
+ const animatedY = useSharedValue(translateY);
19
+ const animatedStyle = useAnimatedStyle(() => ({
14
20
  transform: [{ translateY: animatedY.value }],
15
- }));
21
+ }), []);
16
22
 
17
- React.useEffect(() => {
23
+ useEffect(() => {
18
24
  if (translateY >= 0) {
19
- animatedY.value = Animated.withTiming(translateY, {
20
- duration: 150,
21
- easing: Easing.out(Easing.exp),
22
- });
25
+ animatedY.value = withTiming(translateY, ANIMATION_CONFIG);
23
26
  }
24
27
  }, [translateY]);
25
28
 
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
- import { Platform } from 'react-native';
2
+ import { Platform, useWindowDimensions, View } from 'react-native';
3
3
  import { useTheme } from '@fountain-ui/styles';
4
4
  import {
5
5
  BottomSheetBackdrop,
6
6
  BottomSheetBackdropProps,
7
7
  BottomSheetModal,
8
8
  BottomSheetModalProvider,
9
+ BottomSheetScrollView,
9
10
  } from '@gorhom/bottom-sheet';
10
11
  import type BottomSheetProps from './BottomSheetProps';
11
12
  import TransparentBackdrop from './TransparentBackdrop';
@@ -16,14 +17,22 @@ export default function BottomSheet(props: BottomSheetProps) {
16
17
  const {
17
18
  backdropOpacity = 0.5,
18
19
  children,
20
+ enableDynamicSizing = true,
21
+ header,
19
22
  index,
23
+ maxHeightNormalizedRatio = 0.9,
20
24
  onChange,
21
- snapPoints,
25
+ snapPoints = [],
26
+ disableDefaultBackgroundColor = false,
27
+ disableDefaultShadow = false,
22
28
  } = props;
23
29
 
24
30
  const indexRef = React.useRef<number>(-1);
25
31
  const bottomSheetRef = React.useRef<BottomSheetModal | null>(null);
26
32
 
33
+ const { height: windowHeight } = useWindowDimensions();
34
+ const maxDynamicContentSize = Math.round(windowHeight * maxHeightNormalizedRatio);
35
+
27
36
  const handleChange = React.useCallback((newIndex: number) => {
28
37
  indexRef.current = newIndex;
29
38
 
@@ -55,14 +64,20 @@ export default function BottomSheet(props: BottomSheetProps) {
55
64
  const shadow = theme.shadow[12];
56
65
  const modalStyle = {
57
66
  backgroundColor: '#ffffff00',
58
- ...Platform.select<object>({
67
+ ...(disableDefaultShadow ? {} : Platform.select<object>({
59
68
  android: shadow?.elevation,
60
69
  ios: shadow?.shadow,
61
70
  web: shadow?.boxShadow,
62
- }),
71
+ })),
63
72
  };
64
73
  const backgroundStyle = {
65
- backgroundColor: theme.palette.paper.default,
74
+ backgroundColor: disableDefaultBackgroundColor ? '#ffffff00' : theme.palette.paper.default,
75
+ };
76
+ const contentWrapperStyle = {
77
+ flex: 1,
78
+ borderTopLeftRadius: 15,
79
+ borderTopRightRadius: 15,
80
+ overflow: 'hidden',
66
81
  };
67
82
 
68
83
  const isBackdropTransparent = backdropOpacity <= 0;
@@ -73,6 +88,7 @@ export default function BottomSheet(props: BottomSheetProps) {
73
88
  appearsOnIndex={0}
74
89
  disappearsOnIndex={-1}
75
90
  opacity={backdropOpacity}
91
+ pressBehavior={onChange ? 'close' : 'none'}
76
92
  />
77
93
  );
78
94
 
@@ -89,8 +105,21 @@ export default function BottomSheet(props: BottomSheetProps) {
89
105
  ref={bottomSheetRef}
90
106
  snapPoints={snapPoints}
91
107
  style={modalStyle}
108
+ enablePanDownToClose={Boolean(onChange)}
109
+ enableDynamicSizing={enableDynamicSizing}
110
+ maxDynamicContentSize={maxDynamicContentSize}
92
111
  >
93
- {children}
112
+ {/* @ts-ignore */}
113
+ <View style={contentWrapperStyle}>
114
+ <BottomSheetScrollView
115
+ bounces={false}
116
+ stickyHeaderIndices={header ? [0] : undefined}
117
+ >
118
+ {header}
119
+
120
+ {children}
121
+ </BottomSheetScrollView>
122
+ </View>
94
123
  </BottomSheetModal>
95
124
  </BottomSheetModalProvider>
96
125
  );
@@ -13,11 +13,29 @@ export default interface BottomSheetProps extends ComponentProps<{
13
13
  */
14
14
  children?: React.ReactNode;
15
15
 
16
+ /**
17
+ * Enable dynamic sizing for content size.
18
+ * @default true
19
+ */
20
+ enableDynamicSizing?: boolean;
21
+
22
+ /**
23
+ * Area to be fixed on the top of the bottom sheet.
24
+ */
25
+ header?: React.ReactNode;
26
+
16
27
  /**
17
28
  * Snap index. You could also provide -1 to bottom sheet in closed state.
18
29
  */
19
30
  index: number;
20
31
 
32
+ /**
33
+ * Maximum height(normalized value) of dialog
34
+ * ex. 30% => 0.3 / 90% => 0.9
35
+ * @default 0.9
36
+ */
37
+ maxHeightNormalizedRatio?: number;
38
+
21
39
  /**
22
40
  * Callback fired when the index is changed.
23
41
  * Important! Use memoized value.
@@ -27,6 +45,20 @@ export default interface BottomSheetProps extends ComponentProps<{
27
45
  /**
28
46
  * Points for the bottom sheet to snap to, points should be sorted from bottom to top.
29
47
  * Important! Use memoized value.
48
+ * Only number type or string type(~% format) can be used.
49
+ * @default []
50
+ */
51
+ snapPoints?: Array<number | string>;
52
+
53
+ /**
54
+ * Disable default backgroundColor.
55
+ * @default false
56
+ */
57
+ disableDefaultBackgroundColor?: boolean;
58
+
59
+ /**
60
+ * Disable default shadow.
61
+ * @default false
30
62
  */
31
- snapPoints: Array<number>;
63
+ disableDefaultShadow?: boolean;
32
64
  }> {}