@fountain-ui/lab 1.21.0 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/commonjs/AnimatedY/AnimatedY.js +10 -14
  3. package/build/commonjs/AnimatedY/AnimatedY.js.map +1 -1
  4. package/build/commonjs/AnimatedY/AnimatedYProps.js.map +1 -1
  5. package/build/commonjs/AnimatedY/index.js.map +1 -1
  6. package/build/commonjs/BottomSheet/BottomSheetNative.js +8 -2
  7. package/build/commonjs/BottomSheet/BottomSheetNative.js.map +1 -1
  8. package/build/commonjs/BottomSheet/BottomSheetProps.js.map +1 -1
  9. package/build/commonjs/BottomSheet/BottomSheetWeb.js +2 -6
  10. package/build/commonjs/BottomSheet/BottomSheetWeb.js.map +1 -1
  11. package/build/commonjs/BottomSheet/TransparentBackdrop.js +1 -1
  12. package/build/commonjs/BottomSheet/TransparentBackdrop.js.map +1 -1
  13. package/build/commonjs/BottomSheet/index.js.map +1 -1
  14. package/build/commonjs/BottomSheet/index.native.js.map +1 -1
  15. package/build/commonjs/Carousel/CarouselNative.js.map +1 -1
  16. package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
  17. package/build/commonjs/Carousel/CarouselWeb.js +1 -1
  18. package/build/commonjs/Carousel/CarouselWeb.js.map +1 -1
  19. package/build/commonjs/Carousel/index.js.map +1 -1
  20. package/build/commonjs/Carousel/index.native.js.map +1 -1
  21. package/build/commonjs/Carousel/utils.js +1 -1
  22. package/build/commonjs/Carousel/utils.js.map +1 -1
  23. package/build/commonjs/ComicViewer/ComicViewer.js +168 -0
  24. package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -0
  25. package/build/commonjs/ComicViewer/ComicViewerItemProps.js +6 -0
  26. package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +1 -0
  27. package/build/commonjs/ComicViewer/ComicViewerProps.js +2 -0
  28. package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -0
  29. package/build/commonjs/ComicViewer/ViewerItem.js +88 -0
  30. package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -0
  31. package/build/commonjs/ComicViewer/index.js +16 -0
  32. package/build/commonjs/ComicViewer/index.js.map +1 -0
  33. package/build/commonjs/DateTimePicker/DateTimePicker.js +7 -1
  34. package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
  35. package/build/commonjs/DateTimePicker/DateTimePickerProps.js.map +1 -1
  36. package/build/commonjs/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  37. package/build/commonjs/DateTimePicker/YearPicker.js +22 -17
  38. package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
  39. package/build/commonjs/DateTimePicker/index.js +4 -4
  40. package/build/commonjs/DateTimePicker/index.js.map +1 -1
  41. package/build/commonjs/DateTimePicker/utils.js +2 -1
  42. package/build/commonjs/DateTimePicker/utils.js.map +1 -1
  43. package/build/commonjs/FlipCard/FlipCard.js +7 -13
  44. package/build/commonjs/FlipCard/FlipCard.js.map +1 -1
  45. package/build/commonjs/FlipCard/FlipCardProps.js.map +1 -1
  46. package/build/commonjs/FlipCard/index.js.map +1 -1
  47. package/build/commonjs/StatusBarProvider/Provider.js +1 -1
  48. package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
  49. package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
  50. package/build/commonjs/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  51. package/build/commonjs/StatusBarProvider/index.js.map +1 -1
  52. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +1 -1
  53. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +1 -1
  54. package/build/commonjs/ViewPager/ViewPagerNative.js +19 -16
  55. package/build/commonjs/ViewPager/ViewPagerNative.js.map +1 -1
  56. package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
  57. package/build/commonjs/ViewPager/ViewPagerWeb.js.map +1 -1
  58. package/build/commonjs/ViewPager/index.js.map +1 -1
  59. package/build/commonjs/ViewPager/index.native.js.map +1 -1
  60. package/build/commonjs/ViewPager/utils.js +13 -11
  61. package/build/commonjs/ViewPager/utils.js.map +1 -1
  62. package/build/commonjs/hooks/index.js.map +1 -1
  63. package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
  64. package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
  65. package/build/commonjs/hooks/useHeight.js +5 -4
  66. package/build/commonjs/hooks/useHeight.js.map +1 -1
  67. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +56 -57
  68. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  69. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js +9 -11
  70. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  71. package/build/commonjs/index.js +25 -4
  72. package/build/commonjs/index.js.map +1 -1
  73. package/build/module/AnimatedY/AnimatedY.js +11 -10
  74. package/build/module/AnimatedY/AnimatedY.js.map +1 -1
  75. package/build/module/AnimatedY/AnimatedYProps.js.map +1 -1
  76. package/build/module/AnimatedY/index.js.map +1 -1
  77. package/build/module/BottomSheet/BottomSheetNative.js +8 -2
  78. package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
  79. package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
  80. package/build/module/BottomSheet/BottomSheetWeb.js +2 -6
  81. package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
  82. package/build/module/BottomSheet/TransparentBackdrop.js +1 -1
  83. package/build/module/BottomSheet/TransparentBackdrop.js.map +1 -1
  84. package/build/module/BottomSheet/index.js.map +1 -1
  85. package/build/module/BottomSheet/index.native.js.map +1 -1
  86. package/build/module/Carousel/CarouselNative.js.map +1 -1
  87. package/build/module/Carousel/CarouselProps.js.map +1 -1
  88. package/build/module/Carousel/CarouselWeb.js +1 -1
  89. package/build/module/Carousel/CarouselWeb.js.map +1 -1
  90. package/build/module/Carousel/index.js.map +1 -1
  91. package/build/module/Carousel/index.native.js.map +1 -1
  92. package/build/module/Carousel/utils.js.map +1 -1
  93. package/build/module/ComicViewer/ComicViewer.js +151 -0
  94. package/build/module/ComicViewer/ComicViewer.js.map +1 -0
  95. package/build/module/ComicViewer/ComicViewerItemProps.js +2 -0
  96. package/build/module/ComicViewer/ComicViewerItemProps.js.map +1 -0
  97. package/build/module/ComicViewer/ComicViewerProps.js +2 -0
  98. package/build/module/ComicViewer/ComicViewerProps.js.map +1 -0
  99. package/build/module/ComicViewer/ViewerItem.js +72 -0
  100. package/build/module/ComicViewer/ViewerItem.js.map +1 -0
  101. package/build/module/ComicViewer/index.js +2 -0
  102. package/build/module/ComicViewer/index.js.map +1 -0
  103. package/build/module/DateTimePicker/DateTimePicker.js +7 -1
  104. package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
  105. package/build/module/DateTimePicker/DateTimePickerProps.js.map +1 -1
  106. package/build/module/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  107. package/build/module/DateTimePicker/YearPicker.js +22 -17
  108. package/build/module/DateTimePicker/YearPicker.js.map +1 -1
  109. package/build/module/DateTimePicker/index.js.map +1 -1
  110. package/build/module/DateTimePicker/utils.js +2 -1
  111. package/build/module/DateTimePicker/utils.js.map +1 -1
  112. package/build/module/FlipCard/FlipCard.js +7 -7
  113. package/build/module/FlipCard/FlipCard.js.map +1 -1
  114. package/build/module/FlipCard/FlipCardProps.js.map +1 -1
  115. package/build/module/FlipCard/index.js.map +1 -1
  116. package/build/module/StatusBarProvider/Provider.js.map +1 -1
  117. package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
  118. package/build/module/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  119. package/build/module/StatusBarProvider/index.js.map +1 -1
  120. package/build/module/ViewPager/ChildrenMemoizedPage.js +1 -1
  121. package/build/module/ViewPager/ChildrenMemoizedPage.js.map +1 -1
  122. package/build/module/ViewPager/ViewPagerNative.js +14 -9
  123. package/build/module/ViewPager/ViewPagerNative.js.map +1 -1
  124. package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
  125. package/build/module/ViewPager/ViewPagerWeb.js.map +1 -1
  126. package/build/module/ViewPager/index.js.map +1 -1
  127. package/build/module/ViewPager/index.native.js.map +1 -1
  128. package/build/module/ViewPager/utils.js +11 -10
  129. package/build/module/ViewPager/utils.js.map +1 -1
  130. package/build/module/hooks/index.js.map +1 -1
  131. package/build/module/hooks/useAppbarStyles.js.map +1 -1
  132. package/build/module/hooks/useElevationStyle.js.map +1 -1
  133. package/build/module/hooks/useHeight.js +4 -3
  134. package/build/module/hooks/useHeight.js.map +1 -1
  135. package/build/module/hooks/useUnstableCollapsibleAppBar.js +58 -43
  136. package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  137. package/build/module/hooks/useUnstableToggleDisplayStyle.js +9 -7
  138. package/build/module/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  139. package/build/module/index.js +2 -0
  140. package/build/module/index.js.map +1 -1
  141. package/build/typescript/AnimatedY/AnimatedY.d.ts +0 -1
  142. package/build/typescript/BottomSheet/BottomSheetNative.d.ts +0 -1
  143. package/build/typescript/BottomSheet/BottomSheetWeb.d.ts +0 -1
  144. package/build/typescript/BottomSheet/TransparentBackdrop.d.ts +0 -1
  145. package/build/typescript/Carousel/CarouselNative.d.ts +0 -1
  146. package/build/typescript/ComicViewer/ComicViewer.d.ts +2 -0
  147. package/build/typescript/ComicViewer/ComicViewerItemProps.d.ts +12 -0
  148. package/build/typescript/ComicViewer/ComicViewerProps.d.ts +76 -0
  149. package/build/typescript/ComicViewer/ViewerItem.d.ts +7 -0
  150. package/build/typescript/ComicViewer/index.d.ts +3 -0
  151. package/build/typescript/DateTimePicker/DateTimePicker.d.ts +0 -1
  152. package/build/typescript/DateTimePicker/YearPicker.d.ts +0 -1
  153. package/build/typescript/FlipCard/FlipCard.d.ts +0 -1
  154. package/build/typescript/StatusBarProvider/StatusBarProvider.d.ts +0 -1
  155. package/build/typescript/ViewPager/ViewPagerNative.d.ts +0 -1
  156. package/build/typescript/ViewPager/ViewPagerWeb.d.ts +0 -1
  157. package/build/typescript/hooks/useUnstableCollapsibleAppBar.d.ts +2 -3
  158. package/build/typescript/hooks/useUnstableToggleDisplayStyle.d.ts +2 -2
  159. package/build/typescript/index.d.ts +2 -0
  160. package/package.json +13 -13
  161. package/src/AnimatedY/AnimatedY.tsx +13 -10
  162. package/src/BottomSheet/BottomSheetNative.tsx +6 -0
  163. package/src/ComicViewer/ComicViewer.tsx +162 -0
  164. package/src/ComicViewer/ComicViewerItemProps.ts +15 -0
  165. package/src/ComicViewer/ComicViewerProps.ts +90 -0
  166. package/src/ComicViewer/ViewerItem.tsx +76 -0
  167. package/src/ComicViewer/index.ts +3 -0
  168. package/src/DateTimePicker/DateTimePicker.tsx +6 -0
  169. package/src/DateTimePicker/YearPicker.tsx +2 -1
  170. package/src/FlipCard/FlipCard.tsx +8 -8
  171. package/src/ViewPager/ViewPagerNative.tsx +16 -9
  172. package/src/hooks/useHeight.ts +2 -2
  173. package/src/hooks/useUnstableCollapsibleAppBar.ts +59 -42
  174. package/src/hooks/useUnstableToggleDisplayStyle.ts +8 -6
  175. package/src/index.ts +3 -0
  176. package/build/commonjs/hooks/useWidth.js +0 -29
  177. package/build/commonjs/hooks/useWidth.js.map +0 -1
  178. package/build/module/hooks/useWidth.js +0 -15
  179. package/build/module/hooks/useWidth.js.map +0 -1
  180. package/build/typescript/hooks/useWidth.d.ts +0 -2
  181. package/src/hooks/useWidth.ts +0 -17
@@ -1,6 +1,13 @@
1
- import React, { useRef } from 'react';
1
+ import { 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
 
@@ -45,7 +50,6 @@ const ANIMATION_DURATION_MILLIS = 100;
45
50
 
46
51
  const SUPPORTS_DRAG_DETECTION = Platform.OS !== 'web';
47
52
 
48
-
49
53
  function useLargerValueOfLastTwoValues(value: number) {
50
54
  const refLatestTwoValues = useRef([0, 0]);
51
55
 
@@ -55,12 +59,8 @@ function useLargerValueOfLastTwoValues(value: number) {
55
59
  return Math.max(...refLatestTwoValues.current);
56
60
  }
57
61
 
58
-
59
62
  export default function useUnstableCollapsibleAppBar(userOptions: Options = defaultOptions): CollapsibleAppBar {
60
- const {
61
- translucent,
62
- shouldTranslateYReset,
63
- }: Required<Options> = {
63
+ const { shouldTranslateYReset }: Required<Options> = {
64
64
  ...defaultOptions,
65
65
  ...userOptions,
66
66
  };
@@ -73,38 +73,55 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
73
73
  const appBarMaxHeight = useLargerValueOfLastTwoValues(appBarHeight);
74
74
  const [collapsibleToolbarHeight, onCollapsibleToolbarLayout] = useHeight();
75
75
 
76
- const maxTranslateY = Animated.useDerivedValue(() => -collapsibleToolbarHeight);
76
+ const maxTranslateY = useDerivedValue(() => -collapsibleToolbarHeight, [collapsibleToolbarHeight]);
77
77
 
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);
78
+ const translateY = useSharedValue<number>(0);
79
+ const lastTranslateY = useSharedValue<number>(0);
80
+ const lastOffsetY = useSharedValue<number>(0);
81
+ const prevOffsetY = useSharedValue<number>(0);
82
+ const overlapped = useSharedValue<boolean>(false);
83
+ const vectorY = useSharedValue<number>(0);
84
84
 
85
85
  const elevationStyle = useElevationStyle(4);
86
- const animatedStyle = Animated.useAnimatedStyle(() => {
87
- return Platform.OS === 'web' ? ({
88
- transform: [{ translateY: translateY.value }],
89
- boxShadow: overlapped.value ? elevationStyle?.boxShadow : 0,
90
- }) : ({
91
- transform: [{ translateY: translateY.value }],
92
- elevation: overlapped.value ? elevationStyle?.elevation : 0,
93
- shadowColor: elevationStyle?.shadowColor,
94
- shadowOffset: elevationStyle?.shadowOffset,
95
- shadowRadius: elevationStyle?.shadowRadius,
96
- shadowOpacity: overlapped.value ? elevationStyle?.shadowOpacity : 0,
97
- });
98
- });
99
-
100
- const indexRef = React.useRef<number>(0);
101
- const offsetsRef = React.useRef<Array<number>>([]);
86
+ const animatedStyle = useAnimatedStyle(() => {
87
+ const transform = [{ translateY: translateY.value }];
88
+
89
+ if (Platform.OS === 'web') {
90
+ return {
91
+ transform,
92
+ boxShadow: overlapped.value ? elevationStyle?.boxShadow : 0,
93
+ };
94
+ }
95
+ if (Platform.OS === 'android') {
96
+ return {
97
+ transform,
98
+ elevation: overlapped.value ? elevationStyle?.elevation : 0,
99
+ };
100
+ }
101
+ if (Platform.OS === 'ios') {
102
+ return {
103
+ transform,
104
+ shadowColor: elevationStyle?.shadowColor,
105
+ shadowOffset: elevationStyle?.shadowOffset,
106
+ shadowRadius: elevationStyle?.shadowRadius,
107
+ shadowOpacity: overlapped.value ? elevationStyle?.shadowOpacity : 0,
108
+ };
109
+ }
110
+ return {};
111
+ }, [
112
+ /**
113
+ * FIXME: Consider add `elevationStyle` to dependencies.
114
+ */
115
+ ]);
116
+
117
+ const indexRef = useRef<number>(0);
118
+ const offsetsRef = useRef<Array<number>>([]);
102
119
 
103
120
  const onScrollViewChanged = (nextIndex: number) => {
104
121
  const prevIndex = indexRef.current;
105
122
  if (prevIndex === nextIndex) {
106
123
  if (shouldTranslateYReset) {
107
- translateY.value = Animated.withTiming(0, {
124
+ translateY.value = withTiming(0, {
108
125
  duration: ANIMATION_DURATION_MILLIS,
109
126
  });
110
127
 
@@ -128,7 +145,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
128
145
 
129
146
  // If next ScrollView's offset is too short, expand app bar.
130
147
  if (translateY.value < 0 && savedOffsetY < appBarHeight) {
131
- translateY.value = Animated.withTiming(0, {
148
+ translateY.value = withTiming(0, {
132
149
  duration: ANIMATION_DURATION_MILLIS,
133
150
  });
134
151
 
@@ -136,7 +153,7 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
136
153
  }
137
154
  };
138
155
 
139
- const scrollHandler = Animated.useAnimatedScrollHandler({
156
+ const scrollHandler = useAnimatedScrollHandler({
140
157
  onBeginDrag: () => {
141
158
  lastTranslateY.value = translateY.value;
142
159
  },
@@ -162,13 +179,13 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
162
179
  } else {
163
180
  if (offsetY > -maxTy) {
164
181
  if (ty === 0) {
165
- translateY.value = Animated.withTiming(Math.min(Math.max(-offsetY, maxTy), 0), {
182
+ translateY.value = withTiming(Math.min(Math.max(-offsetY, maxTy), 0), {
166
183
  duration: ANIMATION_DURATION_MILLIS,
167
184
  });
168
185
  }
169
186
  } else {
170
187
  if (ty === maxTy) {
171
- translateY.value = Animated.withTiming(0, {
188
+ translateY.value = withTiming(0, {
172
189
  duration: ANIMATION_DURATION_MILLIS,
173
190
  });
174
191
  }
@@ -201,17 +218,17 @@ export default function useUnstableCollapsibleAppBar(userOptions: Options = defa
201
218
 
202
219
  overlapped.value = offsetY + nextTranslateY > 0;
203
220
 
204
- translateY.value = Animated.withTiming(nextTranslateY, {
221
+ translateY.value = withTiming(nextTranslateY, {
205
222
  duration: ANIMATION_DURATION_MILLIS,
206
223
  });
207
224
  },
208
- });
225
+ }, []);
209
226
 
210
227
  const hasCollapsible = collapsibleToolbarHeight > 0;
211
228
 
212
229
  const appBarStyle = [
213
230
  animatedStyle,
214
- translucent ? { paddingTop: safeAreaInsets.top } : undefined,
231
+ { paddingTop: safeAreaInsets.top },
215
232
  hasCollapsible ? styles.floating : undefined,
216
233
  ];
217
234
 
@@ -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) {
@@ -16,9 +17,10 @@ export default function useAnimatedDisplayStyle(
16
17
  display.value = 'flex';
17
18
  }
18
19
  },
20
+ [threshold],
19
21
  );
20
22
 
21
- return Animated.useAnimatedStyle(() => ({
23
+ return useAnimatedStyle(() => ({
22
24
  display: display.value,
23
- }));
25
+ }), []);
24
26
  };
package/src/index.ts CHANGED
@@ -13,6 +13,9 @@ export * from './FlipCard';
13
13
  export { default as ViewPager } from './ViewPager';
14
14
  export * from './ViewPager';
15
15
 
16
+ export { default as ComicViewer } from './ComicViewer';
17
+ export * from './ComicViewer';
18
+
16
19
  export { default as StatusBarProvider, useStatusBarContext } from './StatusBarProvider';
17
20
  export * from './StatusBarProvider';
18
21
 
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useWidth;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _reactNative = require("react-native");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function useWidth() {
15
- const window = (0, _reactNative.useWindowDimensions)();
16
-
17
- const [width, setWidth] = _react.default.useState(window.width);
18
-
19
- const onLayout = _react.default.useCallback(e => {
20
- const newWidth = e.nativeEvent.layout.width;
21
-
22
- if (newWidth > 0 && Math.round(newWidth) !== Math.round(width)) {
23
- setWidth(newWidth);
24
- }
25
- }, []);
26
-
27
- return [width, onLayout];
28
- }
29
- //# sourceMappingURL=useWidth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["useWidth.ts"],"names":["useWidth","window","width","setWidth","React","useState","onLayout","useCallback","e","newWidth","nativeEvent","layout","Math","round"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEe,SAASA,QAAT,GAAqD;AAChE,QAAMC,MAAM,GAAG,uCAAf;;AACA,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoBC,eAAMC,QAAN,CAAeJ,MAAM,CAACC,KAAtB,CAA1B;;AAEA,QAAMI,QAAQ,GAAGF,eAAMG,WAAN,CAAmBC,CAAD,IAA0B;AACzD,UAAMC,QAAQ,GAAGD,CAAC,CAACE,WAAF,CAAcC,MAAd,CAAqBT,KAAtC;;AAEA,QAAIO,QAAQ,GAAG,CAAX,IAAgBG,IAAI,CAACC,KAAL,CAAWJ,QAAX,MAAyBG,IAAI,CAACC,KAAL,CAAWX,KAAX,CAA7C,EAAgE;AAC5DC,MAAAA,QAAQ,CAACM,QAAD,CAAR;AACH;AACJ,GANgB,EAMd,EANc,CAAjB;;AAQA,SAAO,CAACP,KAAD,EAAQI,QAAR,CAAP;AACH","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, useWindowDimensions, ViewProps } from 'react-native';\n\nexport default function useWidth(): [number, ViewProps['onLayout']] {\n const window = useWindowDimensions();\n const [width, setWidth] = React.useState(window.width);\n\n const onLayout = React.useCallback((e: LayoutChangeEvent) => {\n const newWidth = e.nativeEvent.layout.width;\n\n if (newWidth > 0 && Math.round(newWidth) !== Math.round(width)) {\n setWidth(newWidth);\n }\n }, []);\n\n return [width, onLayout];\n}"]}
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { useWindowDimensions } from 'react-native';
3
- export default function useWidth() {
4
- const window = useWindowDimensions();
5
- const [width, setWidth] = React.useState(window.width);
6
- const onLayout = React.useCallback(e => {
7
- const newWidth = e.nativeEvent.layout.width;
8
-
9
- if (newWidth > 0 && Math.round(newWidth) !== Math.round(width)) {
10
- setWidth(newWidth);
11
- }
12
- }, []);
13
- return [width, onLayout];
14
- }
15
- //# sourceMappingURL=useWidth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["useWidth.ts"],"names":["React","useWindowDimensions","useWidth","window","width","setWidth","useState","onLayout","useCallback","e","newWidth","nativeEvent","layout","Math","round"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAA4BC,mBAA5B,QAAkE,cAAlE;AAEA,eAAe,SAASC,QAAT,GAAqD;AAChE,QAAMC,MAAM,GAAGF,mBAAmB,EAAlC;AACA,QAAM,CAACG,KAAD,EAAQC,QAAR,IAAoBL,KAAK,CAACM,QAAN,CAAeH,MAAM,CAACC,KAAtB,CAA1B;AAEA,QAAMG,QAAQ,GAAGP,KAAK,CAACQ,WAAN,CAAmBC,CAAD,IAA0B;AACzD,UAAMC,QAAQ,GAAGD,CAAC,CAACE,WAAF,CAAcC,MAAd,CAAqBR,KAAtC;;AAEA,QAAIM,QAAQ,GAAG,CAAX,IAAgBG,IAAI,CAACC,KAAL,CAAWJ,QAAX,MAAyBG,IAAI,CAACC,KAAL,CAAWV,KAAX,CAA7C,EAAgE;AAC5DC,MAAAA,QAAQ,CAACK,QAAD,CAAR;AACH;AACJ,GANgB,EAMd,EANc,CAAjB;AAQA,SAAO,CAACN,KAAD,EAAQG,QAAR,CAAP;AACH","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, useWindowDimensions, ViewProps } from 'react-native';\n\nexport default function useWidth(): [number, ViewProps['onLayout']] {\n const window = useWindowDimensions();\n const [width, setWidth] = React.useState(window.width);\n\n const onLayout = React.useCallback((e: LayoutChangeEvent) => {\n const newWidth = e.nativeEvent.layout.width;\n\n if (newWidth > 0 && Math.round(newWidth) !== Math.round(width)) {\n setWidth(newWidth);\n }\n }, []);\n\n return [width, onLayout];\n}"]}
@@ -1,2 +0,0 @@
1
- import { ViewProps } from 'react-native';
2
- export default function useWidth(): [number, ViewProps['onLayout']];
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { LayoutChangeEvent, useWindowDimensions, ViewProps } from 'react-native';
3
-
4
- export default function useWidth(): [number, ViewProps['onLayout']] {
5
- const window = useWindowDimensions();
6
- const [width, setWidth] = React.useState(window.width);
7
-
8
- const onLayout = React.useCallback((e: LayoutChangeEvent) => {
9
- const newWidth = e.nativeEvent.layout.width;
10
-
11
- if (newWidth > 0 && Math.round(newWidth) !== Math.round(width)) {
12
- setWidth(newWidth);
13
- }
14
- }, []);
15
-
16
- return [width, onLayout];
17
- }