@fountain-ui/lab 2.0.0-beta.4 → 2.0.0-beta.7

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 (153) hide show
  1. package/build/commonjs/AnimatedY/AnimatedY.js +3 -5
  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 +1 -1
  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 +2 -6
  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/Carousel/CarouselNative.js.map +1 -1
  15. package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
  16. package/build/commonjs/Carousel/CarouselWeb.js +1 -1
  17. package/build/commonjs/Carousel/CarouselWeb.js.map +1 -1
  18. package/build/commonjs/Carousel/index.js.map +1 -1
  19. package/build/commonjs/Carousel/index.native.js.map +1 -1
  20. package/build/commonjs/Carousel/utils.js +1 -1
  21. package/build/commonjs/Carousel/utils.js.map +1 -1
  22. package/build/commonjs/ComicViewer/ComicViewer.js +16 -11
  23. package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -1
  24. package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +1 -1
  25. package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -1
  26. package/build/commonjs/ComicViewer/ViewerItem.js +4 -3
  27. package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -1
  28. package/build/commonjs/ComicViewer/index.js.map +1 -1
  29. package/build/commonjs/DateTimePicker/DateTimePicker.js +2 -2
  30. package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
  31. package/build/commonjs/DateTimePicker/DateTimePickerProps.js.map +1 -1
  32. package/build/commonjs/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  33. package/build/commonjs/DateTimePicker/YearPicker.js +21 -17
  34. package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
  35. package/build/commonjs/DateTimePicker/index.js +4 -4
  36. package/build/commonjs/DateTimePicker/index.js.map +1 -1
  37. package/build/commonjs/DateTimePicker/utils.js +2 -1
  38. package/build/commonjs/DateTimePicker/utils.js.map +1 -1
  39. package/build/commonjs/FlipCard/FlipCard.js +5 -11
  40. package/build/commonjs/FlipCard/FlipCard.js.map +1 -1
  41. package/build/commonjs/FlipCard/FlipCardProps.js.map +1 -1
  42. package/build/commonjs/FlipCard/index.js.map +1 -1
  43. package/build/commonjs/StatusBarProvider/Provider.js +1 -1
  44. package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
  45. package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
  46. package/build/commonjs/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  47. package/build/commonjs/StatusBarProvider/index.js.map +1 -1
  48. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +1 -1
  49. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +1 -1
  50. package/build/commonjs/ViewPager/ViewPagerNative.js.map +1 -1
  51. package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
  52. package/build/commonjs/ViewPager/ViewPagerWeb.js.map +1 -1
  53. package/build/commonjs/ViewPager/index.js.map +1 -1
  54. package/build/commonjs/ViewPager/index.native.js.map +1 -1
  55. package/build/commonjs/ViewPager/utils.js +13 -11
  56. package/build/commonjs/ViewPager/utils.js.map +1 -1
  57. package/build/commonjs/hooks/index.js.map +1 -1
  58. package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
  59. package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
  60. package/build/commonjs/hooks/useHeight.js +5 -4
  61. package/build/commonjs/hooks/useHeight.js.map +1 -1
  62. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +20 -33
  63. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  64. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js +7 -9
  65. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  66. package/build/commonjs/hooks/useWidth.js.map +1 -1
  67. package/build/commonjs/index.js +10 -10
  68. package/build/commonjs/index.js.map +1 -1
  69. package/build/module/AnimatedY/AnimatedY.js +4 -4
  70. package/build/module/AnimatedY/AnimatedY.js.map +1 -1
  71. package/build/module/AnimatedY/AnimatedYProps.js.map +1 -1
  72. package/build/module/AnimatedY/index.js.map +1 -1
  73. package/build/module/BottomSheet/BottomSheetNative.js +1 -1
  74. package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
  75. package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
  76. package/build/module/BottomSheet/BottomSheetWeb.js +2 -6
  77. package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
  78. package/build/module/BottomSheet/TransparentBackdrop.js +1 -1
  79. package/build/module/BottomSheet/TransparentBackdrop.js.map +1 -1
  80. package/build/module/BottomSheet/index.js.map +1 -1
  81. package/build/module/BottomSheet/index.native.js.map +1 -1
  82. package/build/module/Carousel/CarouselNative.js.map +1 -1
  83. package/build/module/Carousel/CarouselProps.js.map +1 -1
  84. package/build/module/Carousel/CarouselWeb.js +1 -1
  85. package/build/module/Carousel/CarouselWeb.js.map +1 -1
  86. package/build/module/Carousel/index.js.map +1 -1
  87. package/build/module/Carousel/index.native.js.map +1 -1
  88. package/build/module/Carousel/utils.js.map +1 -1
  89. package/build/module/ComicViewer/ComicViewer.js +16 -11
  90. package/build/module/ComicViewer/ComicViewer.js.map +1 -1
  91. package/build/module/ComicViewer/ComicViewerItemProps.js.map +1 -1
  92. package/build/module/ComicViewer/ComicViewerProps.js.map +1 -1
  93. package/build/module/ComicViewer/ViewerItem.js +4 -3
  94. package/build/module/ComicViewer/ViewerItem.js.map +1 -1
  95. package/build/module/ComicViewer/index.js.map +1 -1
  96. package/build/module/DateTimePicker/DateTimePicker.js +2 -2
  97. package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
  98. package/build/module/DateTimePicker/DateTimePickerProps.js.map +1 -1
  99. package/build/module/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  100. package/build/module/DateTimePicker/YearPicker.js +21 -17
  101. package/build/module/DateTimePicker/YearPicker.js.map +1 -1
  102. package/build/module/DateTimePicker/index.js.map +1 -1
  103. package/build/module/DateTimePicker/utils.js +2 -1
  104. package/build/module/DateTimePicker/utils.js.map +1 -1
  105. package/build/module/FlipCard/FlipCard.js +5 -5
  106. package/build/module/FlipCard/FlipCard.js.map +1 -1
  107. package/build/module/FlipCard/FlipCardProps.js.map +1 -1
  108. package/build/module/FlipCard/index.js.map +1 -1
  109. package/build/module/StatusBarProvider/Provider.js.map +1 -1
  110. package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
  111. package/build/module/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  112. package/build/module/StatusBarProvider/index.js.map +1 -1
  113. package/build/module/ViewPager/ChildrenMemoizedPage.js +1 -1
  114. package/build/module/ViewPager/ChildrenMemoizedPage.js.map +1 -1
  115. package/build/module/ViewPager/ViewPagerNative.js.map +1 -1
  116. package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
  117. package/build/module/ViewPager/ViewPagerWeb.js.map +1 -1
  118. package/build/module/ViewPager/index.js.map +1 -1
  119. package/build/module/ViewPager/index.native.js.map +1 -1
  120. package/build/module/ViewPager/utils.js +11 -10
  121. package/build/module/ViewPager/utils.js.map +1 -1
  122. package/build/module/hooks/index.js.map +1 -1
  123. package/build/module/hooks/useAppbarStyles.js.map +1 -1
  124. package/build/module/hooks/useElevationStyle.js.map +1 -1
  125. package/build/module/hooks/useHeight.js +4 -3
  126. package/build/module/hooks/useHeight.js.map +1 -1
  127. package/build/module/hooks/useUnstableCollapsibleAppBar.js +20 -23
  128. package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  129. package/build/module/hooks/useUnstableToggleDisplayStyle.js +7 -5
  130. package/build/module/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  131. package/build/module/hooks/useWidth.js.map +1 -1
  132. package/build/module/index.js.map +1 -1
  133. package/build/typescript/AnimatedY/AnimatedY.d.ts +0 -1
  134. package/build/typescript/BottomSheet/BottomSheetNative.d.ts +0 -1
  135. package/build/typescript/BottomSheet/BottomSheetWeb.d.ts +0 -1
  136. package/build/typescript/BottomSheet/TransparentBackdrop.d.ts +0 -1
  137. package/build/typescript/Carousel/CarouselNative.d.ts +0 -1
  138. package/build/typescript/ComicViewer/ComicViewer.d.ts +0 -1
  139. package/build/typescript/DateTimePicker/DateTimePicker.d.ts +0 -1
  140. package/build/typescript/DateTimePicker/YearPicker.d.ts +0 -1
  141. package/build/typescript/FlipCard/FlipCard.d.ts +0 -1
  142. package/build/typescript/StatusBarProvider/StatusBarProvider.d.ts +0 -1
  143. package/build/typescript/ViewPager/ViewPagerNative.d.ts +0 -1
  144. package/build/typescript/ViewPager/ViewPagerWeb.d.ts +0 -1
  145. package/build/typescript/hooks/useUnstableCollapsibleAppBar.d.ts +2 -3
  146. package/build/typescript/hooks/useUnstableToggleDisplayStyle.d.ts +2 -2
  147. package/package.json +6 -5
  148. package/src/AnimatedY/AnimatedY.tsx +4 -4
  149. package/src/DateTimePicker/DateTimePicker.tsx +2 -2
  150. package/src/FlipCard/FlipCard.tsx +6 -6
  151. package/src/hooks/useHeight.ts +2 -2
  152. package/src/hooks/useUnstableCollapsibleAppBar.ts +25 -23
  153. package/src/hooks/useUnstableToggleDisplayStyle.ts +6 -5
@@ -1,6 +1,13 @@
1
1
  import React, { useRef } from 'react';
2
2
  import { Falsy, Platform, RegisteredStyle, ScrollViewProps, ViewProps, ViewStyle } from 'react-native';
3
- import Animated from 'react-native-reanimated';
3
+ import type { SharedValue } from 'react-native-reanimated';
4
+ import {
5
+ useAnimatedScrollHandler,
6
+ useAnimatedStyle,
7
+ useDerivedValue,
8
+ useSharedValue,
9
+ withTiming,
10
+ } from 'react-native-reanimated';
4
11
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
12
  import useAppbarStyles from './useAppbarStyles';
6
13
  import useElevationStyle from './useElevationStyle';
@@ -22,13 +29,12 @@ export interface ContentInsets {
22
29
  }
23
30
 
24
31
  export interface Options {
25
- translucent?: boolean;
26
32
  shouldTranslateYReset?: boolean;
27
33
  }
28
34
 
29
35
  export interface CollapsibleAppBar {
30
36
  appBarStyle: ViewStyleProp;
31
- vectorY: Animated.SharedValue<number>;
37
+ vectorY: SharedValue<number>;
32
38
  onAppBarLayout: OnLayoutCallback;
33
39
  onCollapsibleToolbarLayout: OnLayoutCallback;
34
40
  onScroll: OnScroll;
@@ -37,7 +43,6 @@ export interface CollapsibleAppBar {
37
43
  }
38
44
 
39
45
  const defaultOptions: Required<Options> = {
40
- translucent: false,
41
46
  shouldTranslateYReset: false,
42
47
  };
43
48
 
@@ -57,10 +62,7 @@ function useLargerValueOfLastTwoValues(value: number) {
57
62
 
58
63
 
59
64
  export default function useUnstableCollapsibleAppBar(userOptions: Options = defaultOptions): CollapsibleAppBar {
60
- const {
61
- translucent,
62
- shouldTranslateYReset,
63
- }: Required<Options> = {
65
+ const { shouldTranslateYReset }: Required<Options> = {
64
66
  ...defaultOptions,
65
67
  ...userOptions,
66
68
  };
@@ -73,17 +75,17 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
73
75
  const appBarMaxHeight = useLargerValueOfLastTwoValues(appBarHeight);
74
76
  const [collapsibleToolbarHeight, onCollapsibleToolbarLayout] = useHeight();
75
77
 
76
- const maxTranslateY = Animated.useDerivedValue(() => -collapsibleToolbarHeight);
78
+ const maxTranslateY = useDerivedValue(() => -collapsibleToolbarHeight);
77
79
 
78
- const translateY = Animated.useSharedValue<number>(0);
79
- const lastTranslateY = Animated.useSharedValue<number>(0);
80
- const lastOffsetY = Animated.useSharedValue<number>(0);
81
- const prevOffsetY = Animated.useSharedValue<number>(0);
82
- const overlapped = Animated.useSharedValue<boolean>(false);
83
- const vectorY = Animated.useSharedValue<number>(0);
80
+ const translateY = useSharedValue<number>(0);
81
+ const lastTranslateY = useSharedValue<number>(0);
82
+ const lastOffsetY = useSharedValue<number>(0);
83
+ const prevOffsetY = useSharedValue<number>(0);
84
+ const overlapped = useSharedValue<boolean>(false);
85
+ const vectorY = useSharedValue<number>(0);
84
86
 
85
87
  const elevationStyle = useElevationStyle(4);
86
- const animatedStyle = Animated.useAnimatedStyle(() => {
88
+ const animatedStyle = useAnimatedStyle(() => {
87
89
  return Platform.OS === 'web' ? ({
88
90
  transform: [{ translateY: translateY.value }],
89
91
  boxShadow: overlapped.value ? elevationStyle?.boxShadow : 0,
@@ -104,7 +106,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
104
106
  const prevIndex = indexRef.current;
105
107
  if (prevIndex === nextIndex) {
106
108
  if (shouldTranslateYReset) {
107
- translateY.value = Animated.withTiming(0, {
109
+ translateY.value = withTiming(0, {
108
110
  duration: ANIMATION_DURATION_MILLIS,
109
111
  });
110
112
 
@@ -128,7 +130,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
128
130
 
129
131
  // If next ScrollView's offset is too short, expand app bar.
130
132
  if (translateY.value < 0 && savedOffsetY < appBarHeight) {
131
- translateY.value = Animated.withTiming(0, {
133
+ translateY.value = withTiming(0, {
132
134
  duration: ANIMATION_DURATION_MILLIS,
133
135
  });
134
136
 
@@ -136,7 +138,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
136
138
  }
137
139
  };
138
140
 
139
- const scrollHandler = Animated.useAnimatedScrollHandler({
141
+ const scrollHandler = useAnimatedScrollHandler({
140
142
  onBeginDrag: () => {
141
143
  lastTranslateY.value = translateY.value;
142
144
  },
@@ -162,13 +164,13 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
162
164
  } else {
163
165
  if (offsetY > -maxTy) {
164
166
  if (ty === 0) {
165
- translateY.value = Animated.withTiming(Math.min(Math.max(-offsetY, maxTy), 0), {
167
+ translateY.value = withTiming(Math.min(Math.max(-offsetY, maxTy), 0), {
166
168
  duration: ANIMATION_DURATION_MILLIS,
167
169
  });
168
170
  }
169
171
  } else {
170
172
  if (ty === maxTy) {
171
- translateY.value = Animated.withTiming(0, {
173
+ translateY.value = withTiming(0, {
172
174
  duration: ANIMATION_DURATION_MILLIS,
173
175
  });
174
176
  }
@@ -201,7 +203,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
201
203
 
202
204
  overlapped.value = offsetY + nextTranslateY > 0;
203
205
 
204
- translateY.value = Animated.withTiming(nextTranslateY, {
206
+ translateY.value = withTiming(nextTranslateY, {
205
207
  duration: ANIMATION_DURATION_MILLIS,
206
208
  });
207
209
  },
@@ -211,7 +213,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
211
213
 
212
214
  const appBarStyle = [
213
215
  animatedStyle,
214
- translucent ? { paddingTop: safeAreaInsets.top } : undefined,
216
+ { paddingTop: safeAreaInsets.top },
215
217
  hasCollapsible ? styles.floating : undefined,
216
218
  ];
217
219
 
@@ -1,13 +1,14 @@
1
- import Animated from 'react-native-reanimated';
1
+ import type { SharedValue } from 'react-native-reanimated';
2
+ import { useAnimatedReaction, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
2
3
 
3
4
  export default function useAnimatedDisplayStyle(
4
- vectorY: Animated.SharedValue<number>,
5
+ vectorY: SharedValue<number>,
5
6
  threshold: number = 200,
6
7
  defaultDisplay: 'flex' | 'none' = 'flex',
7
8
  ) {
8
- const display = Animated.useSharedValue(defaultDisplay);
9
+ const display = useSharedValue(defaultDisplay);
9
10
 
10
- Animated.useAnimatedReaction(
11
+ useAnimatedReaction(
11
12
  () => vectorY.value,
12
13
  (vy) => {
13
14
  if (vy >= threshold) {
@@ -18,7 +19,7 @@ export default function useAnimatedDisplayStyle(
18
19
  },
19
20
  );
20
21
 
21
- return Animated.useAnimatedStyle(() => ({
22
+ return useAnimatedStyle(() => ({
22
23
  display: display.value,
23
24
  }));
24
25
  };