@react-navigation/stack 6.0.9 → 6.1.1
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.
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +72 -64
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +37 -32
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +1 -1
- package/lib/commonjs/index.js +13 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createStackNavigator.js +8 -7
- package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
- package/lib/commonjs/utils/debounce.js +5 -1
- package/lib/commonjs/utils/debounce.js.map +1 -1
- package/lib/commonjs/utils/memoize.js +5 -1
- package/lib/commonjs/utils/memoize.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.js +7 -4
- package/lib/commonjs/views/GestureHandler.js.map +1 -1
- package/lib/commonjs/views/GestureHandlerNative.js +1 -1
- package/lib/commonjs/views/Header/Header.js +10 -9
- package/lib/commonjs/views/Header/Header.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderContainer.js +10 -9
- package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderSegment.js +5 -0
- package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
- package/lib/commonjs/views/ModalStatusBarManager.js +11 -9
- package/lib/commonjs/views/ModalStatusBarManager.js.map +1 -1
- package/lib/commonjs/views/Screens.js +14 -10
- package/lib/commonjs/views/Screens.js.map +1 -1
- package/lib/commonjs/views/Stack/Card.js +32 -24
- package/lib/commonjs/views/Stack/Card.js.map +1 -1
- package/lib/commonjs/views/Stack/CardContainer.js +43 -40
- package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
- package/lib/commonjs/views/Stack/CardSheet.js +7 -6
- package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
- package/lib/commonjs/views/Stack/CardStack.js +19 -11
- package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
- package/lib/commonjs/views/Stack/StackView.js +62 -46
- package/lib/commonjs/views/Stack/StackView.js.map +1 -1
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js +67 -59
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +35 -30
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createStackNavigator.js +8 -7
- package/lib/module/navigators/createStackNavigator.js.map +1 -1
- package/lib/module/utils/debounce.js +5 -1
- package/lib/module/utils/debounce.js.map +1 -1
- package/lib/module/utils/memoize.js +5 -1
- package/lib/module/utils/memoize.js.map +1 -1
- package/lib/module/views/GestureHandler.js +6 -3
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/Header/Header.js +10 -9
- package/lib/module/views/Header/Header.js.map +1 -1
- package/lib/module/views/Header/HeaderContainer.js +10 -9
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Header/HeaderSegment.js +5 -0
- package/lib/module/views/Header/HeaderSegment.js.map +1 -1
- package/lib/module/views/ModalStatusBarManager.js +11 -9
- package/lib/module/views/ModalStatusBarManager.js.map +1 -1
- package/lib/module/views/Screens.js +13 -9
- package/lib/module/views/Screens.js.map +1 -1
- package/lib/module/views/Stack/Card.js +32 -24
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardContainer.js +43 -40
- package/lib/module/views/Stack/CardContainer.js.map +1 -1
- package/lib/module/views/Stack/CardSheet.js +7 -6
- package/lib/module/views/Stack/CardSheet.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +19 -11
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/module/views/Stack/StackView.js +62 -46
- package/lib/module/views/Stack/StackView.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/types.d.ts +6 -2
- package/package.json +9 -9
- package/src/index.tsx +1 -0
- package/src/types.tsx +6 -1
- package/src/views/Header/HeaderSegment.tsx +16 -4
- package/src/views/Stack/Card.tsx +1 -1
- package/src/views/Stack/CardContainer.tsx +3 -2
- package/src/views/Stack/CardStack.tsx +6 -1
|
@@ -8,14 +8,15 @@ const {
|
|
|
8
8
|
* Standard iOS-style slide in from the right.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export function forHorizontalIOS({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
11
|
+
export function forHorizontalIOS(_ref) {
|
|
12
|
+
let {
|
|
13
|
+
current,
|
|
14
|
+
next,
|
|
15
|
+
inverted,
|
|
16
|
+
layouts: {
|
|
17
|
+
screen
|
|
18
|
+
}
|
|
19
|
+
} = _ref;
|
|
19
20
|
const translateFocused = multiply(current.progress.interpolate({
|
|
20
21
|
inputRange: [0, 1],
|
|
21
22
|
outputRange: [screen.width, 0],
|
|
@@ -58,13 +59,14 @@ export function forHorizontalIOS({
|
|
|
58
59
|
* Standard iOS-style slide in from the bottom (used for modals).
|
|
59
60
|
*/
|
|
60
61
|
|
|
61
|
-
export function forVerticalIOS({
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
62
|
+
export function forVerticalIOS(_ref2) {
|
|
63
|
+
let {
|
|
64
|
+
current,
|
|
65
|
+
inverted,
|
|
66
|
+
layouts: {
|
|
67
|
+
screen
|
|
68
|
+
}
|
|
69
|
+
} = _ref2;
|
|
68
70
|
const translateY = multiply(current.progress.interpolate({
|
|
69
71
|
inputRange: [0, 1],
|
|
70
72
|
outputRange: [screen.height, 0],
|
|
@@ -82,16 +84,17 @@ export function forVerticalIOS({
|
|
|
82
84
|
* Standard iOS-style modal animation in iOS 13.
|
|
83
85
|
*/
|
|
84
86
|
|
|
85
|
-
export function forModalPresentationIOS({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
export function forModalPresentationIOS(_ref3) {
|
|
88
|
+
let {
|
|
89
|
+
index,
|
|
90
|
+
current,
|
|
91
|
+
next,
|
|
92
|
+
inverted,
|
|
93
|
+
layouts: {
|
|
94
|
+
screen
|
|
95
|
+
},
|
|
96
|
+
insets
|
|
97
|
+
} = _ref3;
|
|
95
98
|
const hasNotchIos = Platform.OS === 'ios' && !Platform.isPad && !Platform.isTVOS && insets.top > 20;
|
|
96
99
|
const isLandscape = screen.width > screen.height;
|
|
97
100
|
const topOffset = isLandscape ? 0 : 10;
|
|
@@ -149,14 +152,15 @@ export function forModalPresentationIOS({
|
|
|
149
152
|
* Standard Android-style fade in from the bottom for Android Oreo.
|
|
150
153
|
*/
|
|
151
154
|
|
|
152
|
-
export function forFadeFromBottomAndroid({
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
155
|
+
export function forFadeFromBottomAndroid(_ref4) {
|
|
156
|
+
let {
|
|
157
|
+
current,
|
|
158
|
+
inverted,
|
|
159
|
+
layouts: {
|
|
160
|
+
screen
|
|
161
|
+
},
|
|
162
|
+
closing
|
|
163
|
+
} = _ref4;
|
|
160
164
|
const translateY = multiply(current.progress.interpolate({
|
|
161
165
|
inputRange: [0, 1],
|
|
162
166
|
outputRange: [screen.height * 0.08, 0],
|
|
@@ -180,14 +184,15 @@ export function forFadeFromBottomAndroid({
|
|
|
180
184
|
* Standard Android-style reveal from the bottom for Android Pie.
|
|
181
185
|
*/
|
|
182
186
|
|
|
183
|
-
export function forRevealFromBottomAndroid({
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
187
|
+
export function forRevealFromBottomAndroid(_ref5) {
|
|
188
|
+
let {
|
|
189
|
+
current,
|
|
190
|
+
next,
|
|
191
|
+
inverted,
|
|
192
|
+
layouts: {
|
|
193
|
+
screen
|
|
194
|
+
}
|
|
195
|
+
} = _ref5;
|
|
191
196
|
const containerTranslateY = multiply(current.progress.interpolate({
|
|
192
197
|
inputRange: [0, 1],
|
|
193
198
|
outputRange: [screen.height, 0],
|
|
@@ -231,11 +236,12 @@ export function forRevealFromBottomAndroid({
|
|
|
231
236
|
* Standard Android-style zoom for Android 10.
|
|
232
237
|
*/
|
|
233
238
|
|
|
234
|
-
export function forScaleFromCenterAndroid({
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
+
export function forScaleFromCenterAndroid(_ref6) {
|
|
240
|
+
let {
|
|
241
|
+
current,
|
|
242
|
+
next,
|
|
243
|
+
closing
|
|
244
|
+
} = _ref6;
|
|
239
245
|
const progress = add(current.progress.interpolate({
|
|
240
246
|
inputRange: [0, 1],
|
|
241
247
|
outputRange: [0, 1],
|
|
@@ -270,14 +276,15 @@ export function forScaleFromCenterAndroid({
|
|
|
270
276
|
* Standard bottom sheet slide in from the bottom for Android.
|
|
271
277
|
*/
|
|
272
278
|
|
|
273
|
-
export function forBottomSheetAndroid({
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
export function forBottomSheetAndroid(_ref7) {
|
|
280
|
+
let {
|
|
281
|
+
current,
|
|
282
|
+
inverted,
|
|
283
|
+
layouts: {
|
|
284
|
+
screen
|
|
285
|
+
},
|
|
286
|
+
closing
|
|
287
|
+
} = _ref7;
|
|
281
288
|
const translateY = multiply(current.progress.interpolate({
|
|
282
289
|
inputRange: [0, 1],
|
|
283
290
|
outputRange: [screen.height * 0.8, 0],
|
|
@@ -309,11 +316,12 @@ export function forBottomSheetAndroid({
|
|
|
309
316
|
* Simple fade animation for dialogs
|
|
310
317
|
*/
|
|
311
318
|
|
|
312
|
-
export function forFadeFromCenter({
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}
|
|
319
|
+
export function forFadeFromCenter(_ref8) {
|
|
320
|
+
let {
|
|
321
|
+
current: {
|
|
322
|
+
progress
|
|
323
|
+
}
|
|
324
|
+
} = _ref8;
|
|
317
325
|
return {
|
|
318
326
|
cardStyle: {
|
|
319
327
|
opacity: progress.interpolate({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CardStyleInterpolators.tsx"],"names":["Animated","Platform","conditional","add","multiply","forHorizontalIOS","current","next","inverted","layouts","screen","translateFocused","progress","interpolate","inputRange","outputRange","width","extrapolate","translateUnfocused","overlayOpacity","shadowOpacity","cardStyle","transform","translateX","overlayStyle","opacity","shadowStyle","forVerticalIOS","translateY","height","forModalPresentationIOS","index","insets","hasNotchIos","OS","isPad","isTVOS","top","isLandscape","topOffset","statusBarHeight","aspectRatio","isFirst","scale","borderRadius","overflow","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","marginTop","marginBottom","forFadeFromBottomAndroid","closing","forRevealFromBottomAndroid","containerTranslateY","cardTranslateYFocused","cardTranslateYUnfocused","containerStyle","forScaleFromCenterAndroid","forBottomSheetAndroid","forFadeFromCenter","forNoAnimation"],"mappings":"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","sourcesContent":["import { Animated, Platform } from 'react-native';\n\nimport type {\n StackCardInterpolatedStyle,\n StackCardInterpolationProps,\n} from '../types';\nimport conditional from '../utils/conditional';\n\nconst { add, multiply } = Animated;\n\n/**\n * Standard iOS-style slide in from the right.\n */\nexport function forHorizontalIOS({\n current,\n next,\n inverted,\n layouts: { screen },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateFocused = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.width, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const translateUnfocused = next\n ? multiply(\n next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, screen.width * -0.3],\n extrapolate: 'clamp',\n }),\n inverted\n )\n : 0;\n\n const overlayOpacity = current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.07],\n extrapolate: 'clamp',\n });\n\n const shadowOpacity = current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.3],\n extrapolate: 'clamp',\n });\n\n return {\n cardStyle: {\n transform: [\n // Translation for the animation of the current card\n { translateX: translateFocused },\n // Translation for the animation of the card on top of this\n { translateX: translateUnfocused },\n ],\n },\n overlayStyle: { opacity: overlayOpacity },\n shadowStyle: { shadowOpacity },\n };\n}\n\n/**\n * Standard iOS-style slide in from the bottom (used for modals).\n */\nexport function forVerticalIOS({\n current,\n inverted,\n layouts: { screen },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n return {\n cardStyle: {\n transform: [{ translateY }],\n },\n };\n}\n\n/**\n * Standard iOS-style modal animation in iOS 13.\n */\nexport function forModalPresentationIOS({\n index,\n current,\n next,\n inverted,\n layouts: { screen },\n insets,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const hasNotchIos =\n Platform.OS === 'ios' &&\n !Platform.isPad &&\n !Platform.isTVOS &&\n insets.top > 20;\n const isLandscape = screen.width > screen.height;\n const topOffset = isLandscape ? 0 : 10;\n const statusBarHeight = insets.top;\n const aspectRatio = screen.height / screen.width;\n\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const isFirst = index === 0;\n\n const translateY = multiply(\n progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [\n screen.height,\n isFirst ? 0 : topOffset,\n (isFirst ? statusBarHeight : 0) - topOffset * aspectRatio,\n ],\n }),\n inverted\n );\n\n const overlayOpacity = progress.interpolate({\n inputRange: [0, 1, 1.0001, 2],\n outputRange: [0, 0.3, 1, 1],\n });\n\n const scale = isLandscape\n ? 1\n : progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [\n 1,\n 1,\n screen.width ? 1 - (topOffset * 2) / screen.width : 1,\n ],\n });\n\n const borderRadius = isLandscape\n ? 0\n : isFirst\n ? progress.interpolate({\n inputRange: [0, 1, 1.0001, 2],\n outputRange: [0, 0, hasNotchIos ? 38 : 0, 10],\n })\n : 10;\n\n return {\n cardStyle: {\n overflow: 'hidden',\n borderTopLeftRadius: borderRadius,\n borderTopRightRadius: borderRadius,\n // We don't need these for the animation\n // But different border radius for corners improves animation perf\n borderBottomLeftRadius: hasNotchIos ? borderRadius : 0,\n borderBottomRightRadius: hasNotchIos ? borderRadius : 0,\n marginTop: isFirst ? 0 : statusBarHeight,\n marginBottom: isFirst ? 0 : topOffset,\n transform: [{ translateY }, { scale }],\n },\n overlayStyle: { opacity: overlayOpacity },\n };\n}\n\n/**\n * Standard Android-style fade in from the bottom for Android Oreo.\n */\nexport function forFadeFromBottomAndroid({\n current,\n inverted,\n layouts: { screen },\n closing,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height * 0.08, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const opacity = conditional(\n closing,\n current.progress,\n current.progress.interpolate({\n inputRange: [0, 0.5, 0.9, 1],\n outputRange: [0, 0.25, 0.7, 1],\n extrapolate: 'clamp',\n })\n );\n\n return {\n cardStyle: {\n opacity,\n transform: [{ translateY }],\n },\n };\n}\n\n/**\n * Standard Android-style reveal from the bottom for Android Pie.\n */\nexport function forRevealFromBottomAndroid({\n current,\n next,\n inverted,\n layouts: { screen },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const containerTranslateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const cardTranslateYFocused = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height * (95.9 / 100) * -1, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const cardTranslateYUnfocused = next\n ? multiply(\n next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, screen.height * (2 / 100) * -1],\n extrapolate: 'clamp',\n }),\n inverted\n )\n : 0;\n\n const overlayOpacity = current.progress.interpolate({\n inputRange: [0, 0.36, 1],\n outputRange: [0, 0.1, 0.1],\n extrapolate: 'clamp',\n });\n\n return {\n containerStyle: {\n overflow: 'hidden',\n transform: [{ translateY: containerTranslateY }],\n },\n cardStyle: {\n transform: [\n { translateY: cardTranslateYFocused },\n { translateY: cardTranslateYUnfocused },\n ],\n },\n overlayStyle: { opacity: overlayOpacity },\n };\n}\n\n/**\n * Standard Android-style zoom for Android 10.\n */\nexport function forScaleFromCenterAndroid({\n current,\n next,\n closing,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const opacity = progress.interpolate({\n inputRange: [0, 0.75, 0.875, 1, 1.0825, 1.2075, 2],\n outputRange: [0, 0, 1, 1, 1, 1, 0],\n });\n\n const scale = conditional(\n closing,\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0.925, 1],\n extrapolate: 'clamp',\n }),\n progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [0.85, 1, 1.075],\n })\n );\n\n return {\n cardStyle: {\n opacity,\n transform: [{ scale }],\n },\n };\n}\n\n/**\n * Standard bottom sheet slide in from the bottom for Android.\n */\nexport function forBottomSheetAndroid({\n current,\n inverted,\n layouts: { screen },\n closing,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height * 0.8, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const opacity = conditional(\n closing,\n current.progress,\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n );\n\n const overlayOpacity = current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.3],\n extrapolate: 'clamp',\n });\n\n return {\n cardStyle: {\n opacity,\n transform: [{ translateY }],\n },\n overlayStyle: { opacity: overlayOpacity },\n };\n}\n\n/**\n * Simple fade animation for dialogs\n */\nexport function forFadeFromCenter({\n current: { progress },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n return {\n cardStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 0.5, 0.9, 1],\n outputRange: [0, 0.25, 0.7, 1],\n }),\n },\n overlayStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.5],\n extrapolate: 'clamp',\n }),\n },\n };\n}\n\nexport function forNoAnimation(): StackCardInterpolatedStyle {\n return {};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["CardStyleInterpolators.tsx"],"names":["Animated","Platform","conditional","add","multiply","forHorizontalIOS","current","next","inverted","layouts","screen","translateFocused","progress","interpolate","inputRange","outputRange","width","extrapolate","translateUnfocused","overlayOpacity","shadowOpacity","cardStyle","transform","translateX","overlayStyle","opacity","shadowStyle","forVerticalIOS","translateY","height","forModalPresentationIOS","index","insets","hasNotchIos","OS","isPad","isTVOS","top","isLandscape","topOffset","statusBarHeight","aspectRatio","isFirst","scale","borderRadius","overflow","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","marginTop","marginBottom","forFadeFromBottomAndroid","closing","forRevealFromBottomAndroid","containerTranslateY","cardTranslateYFocused","cardTranslateYUnfocused","containerStyle","forScaleFromCenterAndroid","forBottomSheetAndroid","forFadeFromCenter","forNoAnimation"],"mappings":"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","sourcesContent":["import { Animated, Platform } from 'react-native';\n\nimport type {\n StackCardInterpolatedStyle,\n StackCardInterpolationProps,\n} from '../types';\nimport conditional from '../utils/conditional';\n\nconst { add, multiply } = Animated;\n\n/**\n * Standard iOS-style slide in from the right.\n */\nexport function forHorizontalIOS({\n current,\n next,\n inverted,\n layouts: { screen },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateFocused = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.width, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const translateUnfocused = next\n ? multiply(\n next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, screen.width * -0.3],\n extrapolate: 'clamp',\n }),\n inverted\n )\n : 0;\n\n const overlayOpacity = current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.07],\n extrapolate: 'clamp',\n });\n\n const shadowOpacity = current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.3],\n extrapolate: 'clamp',\n });\n\n return {\n cardStyle: {\n transform: [\n // Translation for the animation of the current card\n { translateX: translateFocused },\n // Translation for the animation of the card on top of this\n { translateX: translateUnfocused },\n ],\n },\n overlayStyle: { opacity: overlayOpacity },\n shadowStyle: { shadowOpacity },\n };\n}\n\n/**\n * Standard iOS-style slide in from the bottom (used for modals).\n */\nexport function forVerticalIOS({\n current,\n inverted,\n layouts: { screen },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n return {\n cardStyle: {\n transform: [{ translateY }],\n },\n };\n}\n\n/**\n * Standard iOS-style modal animation in iOS 13.\n */\nexport function forModalPresentationIOS({\n index,\n current,\n next,\n inverted,\n layouts: { screen },\n insets,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const hasNotchIos =\n Platform.OS === 'ios' &&\n !Platform.isPad &&\n !Platform.isTVOS &&\n insets.top > 20;\n const isLandscape = screen.width > screen.height;\n const topOffset = isLandscape ? 0 : 10;\n const statusBarHeight = insets.top;\n const aspectRatio = screen.height / screen.width;\n\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const isFirst = index === 0;\n\n const translateY = multiply(\n progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [\n screen.height,\n isFirst ? 0 : topOffset,\n (isFirst ? statusBarHeight : 0) - topOffset * aspectRatio,\n ],\n }),\n inverted\n );\n\n const overlayOpacity = progress.interpolate({\n inputRange: [0, 1, 1.0001, 2],\n outputRange: [0, 0.3, 1, 1],\n });\n\n const scale = isLandscape\n ? 1\n : progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [\n 1,\n 1,\n screen.width ? 1 - (topOffset * 2) / screen.width : 1,\n ],\n });\n\n const borderRadius = isLandscape\n ? 0\n : isFirst\n ? progress.interpolate({\n inputRange: [0, 1, 1.0001, 2],\n outputRange: [0, 0, hasNotchIos ? 38 : 0, 10],\n })\n : 10;\n\n return {\n cardStyle: {\n overflow: 'hidden',\n borderTopLeftRadius: borderRadius,\n borderTopRightRadius: borderRadius,\n // We don't need these for the animation\n // But different border radius for corners improves animation perf\n borderBottomLeftRadius: hasNotchIos ? borderRadius : 0,\n borderBottomRightRadius: hasNotchIos ? borderRadius : 0,\n marginTop: isFirst ? 0 : statusBarHeight,\n marginBottom: isFirst ? 0 : topOffset,\n transform: [{ translateY }, { scale }],\n },\n overlayStyle: { opacity: overlayOpacity },\n };\n}\n\n/**\n * Standard Android-style fade in from the bottom for Android Oreo.\n */\nexport function forFadeFromBottomAndroid({\n current,\n inverted,\n layouts: { screen },\n closing,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height * 0.08, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const opacity = conditional(\n closing,\n current.progress,\n current.progress.interpolate({\n inputRange: [0, 0.5, 0.9, 1],\n outputRange: [0, 0.25, 0.7, 1],\n extrapolate: 'clamp',\n })\n );\n\n return {\n cardStyle: {\n opacity,\n transform: [{ translateY }],\n },\n };\n}\n\n/**\n * Standard Android-style reveal from the bottom for Android Pie.\n */\nexport function forRevealFromBottomAndroid({\n current,\n next,\n inverted,\n layouts: { screen },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const containerTranslateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const cardTranslateYFocused = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height * (95.9 / 100) * -1, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const cardTranslateYUnfocused = next\n ? multiply(\n next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, screen.height * (2 / 100) * -1],\n extrapolate: 'clamp',\n }),\n inverted\n )\n : 0;\n\n const overlayOpacity = current.progress.interpolate({\n inputRange: [0, 0.36, 1],\n outputRange: [0, 0.1, 0.1],\n extrapolate: 'clamp',\n });\n\n return {\n containerStyle: {\n overflow: 'hidden',\n transform: [{ translateY: containerTranslateY }],\n },\n cardStyle: {\n transform: [\n { translateY: cardTranslateYFocused },\n { translateY: cardTranslateYUnfocused },\n ],\n },\n overlayStyle: { opacity: overlayOpacity },\n };\n}\n\n/**\n * Standard Android-style zoom for Android 10.\n */\nexport function forScaleFromCenterAndroid({\n current,\n next,\n closing,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const opacity = progress.interpolate({\n inputRange: [0, 0.75, 0.875, 1, 1.0825, 1.2075, 2],\n outputRange: [0, 0, 1, 1, 1, 1, 0],\n });\n\n const scale = conditional(\n closing,\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0.925, 1],\n extrapolate: 'clamp',\n }),\n progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [0.85, 1, 1.075],\n })\n );\n\n return {\n cardStyle: {\n opacity,\n transform: [{ scale }],\n },\n };\n}\n\n/**\n * Standard bottom sheet slide in from the bottom for Android.\n */\nexport function forBottomSheetAndroid({\n current,\n inverted,\n layouts: { screen },\n closing,\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n const translateY = multiply(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [screen.height * 0.8, 0],\n extrapolate: 'clamp',\n }),\n inverted\n );\n\n const opacity = conditional(\n closing,\n current.progress,\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n );\n\n const overlayOpacity = current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.3],\n extrapolate: 'clamp',\n });\n\n return {\n cardStyle: {\n opacity,\n transform: [{ translateY }],\n },\n overlayStyle: { opacity: overlayOpacity },\n };\n}\n\n/**\n * Simple fade animation for dialogs\n */\nexport function forFadeFromCenter({\n current: { progress },\n}: StackCardInterpolationProps): StackCardInterpolatedStyle {\n return {\n cardStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 0.5, 0.9, 1],\n outputRange: [0, 0.25, 0.7, 1],\n }),\n },\n overlayStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.5],\n extrapolate: 'clamp',\n }),\n },\n };\n}\n\nexport function forNoAnimation(): StackCardInterpolatedStyle {\n return {};\n}\n"]}
|
|
@@ -6,11 +6,12 @@ const {
|
|
|
6
6
|
* Standard UIKit style animation for the header where the title fades into the back button label.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export function forUIKit({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
export function forUIKit(_ref) {
|
|
10
|
+
let {
|
|
11
|
+
current,
|
|
12
|
+
next,
|
|
13
|
+
layouts
|
|
14
|
+
} = _ref;
|
|
14
15
|
const defaultOffset = 100;
|
|
15
16
|
const leftSpacing = 27; // The title and back button title should cross-fade to each other
|
|
16
17
|
// When screen is fully open, the title should be in center, and back title should be on left
|
|
@@ -79,10 +80,11 @@ export function forUIKit({
|
|
|
79
80
|
* Simple fade animation for the header elements.
|
|
80
81
|
*/
|
|
81
82
|
|
|
82
|
-
export function forFade({
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
export function forFade(_ref2) {
|
|
84
|
+
let {
|
|
85
|
+
current,
|
|
86
|
+
next
|
|
87
|
+
} = _ref2;
|
|
86
88
|
const progress = add(current.progress.interpolate({
|
|
87
89
|
inputRange: [0, 1],
|
|
88
90
|
outputRange: [0, 1],
|
|
@@ -118,13 +120,14 @@ export function forFade({
|
|
|
118
120
|
* Simple translate animation to translate the header to left.
|
|
119
121
|
*/
|
|
120
122
|
|
|
121
|
-
export function forSlideLeft({
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
123
|
+
export function forSlideLeft(_ref3) {
|
|
124
|
+
let {
|
|
125
|
+
current,
|
|
126
|
+
next,
|
|
127
|
+
layouts: {
|
|
128
|
+
screen
|
|
129
|
+
}
|
|
130
|
+
} = _ref3;
|
|
128
131
|
const progress = add(current.progress.interpolate({
|
|
129
132
|
inputRange: [0, 1],
|
|
130
133
|
outputRange: [0, 1],
|
|
@@ -160,13 +163,14 @@ export function forSlideLeft({
|
|
|
160
163
|
* Simple translate animation to translate the header to right.
|
|
161
164
|
*/
|
|
162
165
|
|
|
163
|
-
export function forSlideRight({
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
166
|
+
export function forSlideRight(_ref4) {
|
|
167
|
+
let {
|
|
168
|
+
current,
|
|
169
|
+
next,
|
|
170
|
+
layouts: {
|
|
171
|
+
screen
|
|
172
|
+
}
|
|
173
|
+
} = _ref4;
|
|
170
174
|
const progress = add(current.progress.interpolate({
|
|
171
175
|
inputRange: [0, 1],
|
|
172
176
|
outputRange: [0, 1],
|
|
@@ -202,13 +206,14 @@ export function forSlideRight({
|
|
|
202
206
|
* Simple translate animation to translate the header to slide up.
|
|
203
207
|
*/
|
|
204
208
|
|
|
205
|
-
export function forSlideUp({
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
209
|
+
export function forSlideUp(_ref5) {
|
|
210
|
+
let {
|
|
211
|
+
current,
|
|
212
|
+
next,
|
|
213
|
+
layouts: {
|
|
214
|
+
header
|
|
215
|
+
}
|
|
216
|
+
} = _ref5;
|
|
212
217
|
const progress = add(current.progress.interpolate({
|
|
213
218
|
inputRange: [0, 1],
|
|
214
219
|
outputRange: [0, 1],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HeaderStyleInterpolators.tsx"],"names":["Animated","I18nManager","add","forUIKit","current","next","layouts","defaultOffset","leftSpacing","leftLabelOffset","leftLabel","screen","width","titleLeftOffset","title","rightOffset","progress","interpolate","inputRange","outputRange","extrapolate","leftButtonStyle","opacity","leftLabelStyle","transform","translateX","isRTL","rightButtonStyle","titleStyle","backgroundStyle","forFade","forSlideLeft","forSlideRight","forSlideUp","header","translateY","height","forNoAnimation"],"mappings":"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","sourcesContent":["import { Animated, I18nManager } from 'react-native';\n\nimport type {\n StackHeaderInterpolatedStyle,\n StackHeaderInterpolationProps,\n} from '../types';\n\nconst { add } = Animated;\n\n/**\n * Standard UIKit style animation for the header where the title fades into the back button label.\n */\nexport function forUIKit({\n current,\n next,\n layouts,\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const defaultOffset = 100;\n const leftSpacing = 27;\n\n // The title and back button title should cross-fade to each other\n // When screen is fully open, the title should be in center, and back title should be on left\n // When screen is closing, the previous title will animate to back title's position\n // And back title will animate to title's position\n // We achieve this by calculating the offsets needed to translate title to back title's position and vice-versa\n const leftLabelOffset = layouts.leftLabel\n ? (layouts.screen.width - layouts.leftLabel.width) / 2 - leftSpacing\n : defaultOffset;\n const titleLeftOffset = layouts.title\n ? (layouts.screen.width - layouts.title.width) / 2 - leftSpacing\n : defaultOffset;\n\n // When the current title is animating to right, it is centered in the right half of screen in middle of transition\n // The back title also animates in from this position\n const rightOffset = layouts.screen.width / 4;\n\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n return {\n leftButtonStyle: {\n opacity: progress.interpolate({\n inputRange: [0.3, 1, 1.5],\n outputRange: [0, 1, 0],\n }),\n },\n leftLabelStyle: {\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-rightOffset, 0, leftLabelOffset]\n : [leftLabelOffset, 0, -rightOffset],\n }),\n },\n ],\n },\n rightButtonStyle: {\n opacity: progress.interpolate({\n inputRange: [0.3, 1, 1.5],\n outputRange: [0, 1, 0],\n }),\n },\n titleStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 0.4, 1, 1.5],\n outputRange: [0, 0.1, 1, 0],\n }),\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0.5, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-titleLeftOffset, 0, rightOffset]\n : [rightOffset, 0, -titleLeftOffset],\n }),\n },\n ],\n },\n backgroundStyle: {\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-layouts.screen.width, 0, layouts.screen.width]\n : [layouts.screen.width, 0, -layouts.screen.width],\n }),\n },\n ],\n },\n };\n}\n\n/**\n * Simple fade animation for the header elements.\n */\nexport function forFade({\n current,\n next,\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const opacity = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [0, 1, 0],\n });\n\n return {\n leftButtonStyle: { opacity },\n rightButtonStyle: { opacity },\n titleStyle: { opacity },\n backgroundStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 1, 1.9, 2],\n outputRange: [0, 1, 1, 0],\n }),\n },\n };\n}\n\n/**\n * Simple translate animation to translate the header to left.\n */\nexport function forSlideLeft({\n current,\n next,\n layouts: { screen },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateX = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-screen.width, 0, screen.width]\n : [screen.width, 0, -screen.width],\n });\n\n const transform = [{ translateX }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\n/**\n * Simple translate animation to translate the header to right.\n */\nexport function forSlideRight({\n current,\n next,\n layouts: { screen },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateX = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [screen.width, 0, -screen.width]\n : [-screen.width, 0, screen.width],\n });\n\n const transform = [{ translateX }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\n/**\n * Simple translate animation to translate the header to slide up.\n */\nexport function forSlideUp({\n current,\n next,\n layouts: { header },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateY = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [-header.height, 0, -header.height],\n });\n\n const transform = [{ translateY }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\nexport function forNoAnimation(): StackHeaderInterpolatedStyle {\n return {};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["HeaderStyleInterpolators.tsx"],"names":["Animated","I18nManager","add","forUIKit","current","next","layouts","defaultOffset","leftSpacing","leftLabelOffset","leftLabel","screen","width","titleLeftOffset","title","rightOffset","progress","interpolate","inputRange","outputRange","extrapolate","leftButtonStyle","opacity","leftLabelStyle","transform","translateX","isRTL","rightButtonStyle","titleStyle","backgroundStyle","forFade","forSlideLeft","forSlideRight","forSlideUp","header","translateY","height","forNoAnimation"],"mappings":"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","sourcesContent":["import { Animated, I18nManager } from 'react-native';\n\nimport type {\n StackHeaderInterpolatedStyle,\n StackHeaderInterpolationProps,\n} from '../types';\n\nconst { add } = Animated;\n\n/**\n * Standard UIKit style animation for the header where the title fades into the back button label.\n */\nexport function forUIKit({\n current,\n next,\n layouts,\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const defaultOffset = 100;\n const leftSpacing = 27;\n\n // The title and back button title should cross-fade to each other\n // When screen is fully open, the title should be in center, and back title should be on left\n // When screen is closing, the previous title will animate to back title's position\n // And back title will animate to title's position\n // We achieve this by calculating the offsets needed to translate title to back title's position and vice-versa\n const leftLabelOffset = layouts.leftLabel\n ? (layouts.screen.width - layouts.leftLabel.width) / 2 - leftSpacing\n : defaultOffset;\n const titleLeftOffset = layouts.title\n ? (layouts.screen.width - layouts.title.width) / 2 - leftSpacing\n : defaultOffset;\n\n // When the current title is animating to right, it is centered in the right half of screen in middle of transition\n // The back title also animates in from this position\n const rightOffset = layouts.screen.width / 4;\n\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n return {\n leftButtonStyle: {\n opacity: progress.interpolate({\n inputRange: [0.3, 1, 1.5],\n outputRange: [0, 1, 0],\n }),\n },\n leftLabelStyle: {\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-rightOffset, 0, leftLabelOffset]\n : [leftLabelOffset, 0, -rightOffset],\n }),\n },\n ],\n },\n rightButtonStyle: {\n opacity: progress.interpolate({\n inputRange: [0.3, 1, 1.5],\n outputRange: [0, 1, 0],\n }),\n },\n titleStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 0.4, 1, 1.5],\n outputRange: [0, 0.1, 1, 0],\n }),\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0.5, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-titleLeftOffset, 0, rightOffset]\n : [rightOffset, 0, -titleLeftOffset],\n }),\n },\n ],\n },\n backgroundStyle: {\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-layouts.screen.width, 0, layouts.screen.width]\n : [layouts.screen.width, 0, -layouts.screen.width],\n }),\n },\n ],\n },\n };\n}\n\n/**\n * Simple fade animation for the header elements.\n */\nexport function forFade({\n current,\n next,\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const opacity = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [0, 1, 0],\n });\n\n return {\n leftButtonStyle: { opacity },\n rightButtonStyle: { opacity },\n titleStyle: { opacity },\n backgroundStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 1, 1.9, 2],\n outputRange: [0, 1, 1, 0],\n }),\n },\n };\n}\n\n/**\n * Simple translate animation to translate the header to left.\n */\nexport function forSlideLeft({\n current,\n next,\n layouts: { screen },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateX = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-screen.width, 0, screen.width]\n : [screen.width, 0, -screen.width],\n });\n\n const transform = [{ translateX }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\n/**\n * Simple translate animation to translate the header to right.\n */\nexport function forSlideRight({\n current,\n next,\n layouts: { screen },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateX = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [screen.width, 0, -screen.width]\n : [-screen.width, 0, screen.width],\n });\n\n const transform = [{ translateX }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\n/**\n * Simple translate animation to translate the header to slide up.\n */\nexport function forSlideUp({\n current,\n next,\n layouts: { header },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateY = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [-header.height, 0, -header.height],\n });\n\n const transform = [{ translateY }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\nexport function forNoAnimation(): StackHeaderInterpolatedStyle {\n return {};\n}\n"]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["CardStyleInterpolators","HeaderStyleInterpolators","TransitionPresets","TransitionSpecs","default","createStackNavigator","Header","StackView","CardAnimationContext","GestureHandlerRefContext","useCardAnimation","useGestureHandlerRef"],"mappings":"AAAA,OAAO,KAAKA,sBAAZ,MAAwC,4CAAxC;AACA,OAAO,KAAKC,wBAAZ,MAA0C,8CAA1C;AACA,OAAO,KAAKC,iBAAZ,MAAmC,uCAAnC;AACA,OAAO,KAAKC,eAAZ,MAAiC,qCAAjC;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,oBAApB,QAAgD,mCAAhD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,MAApB,QAAkC,uBAAlC;AACA,SAASF,OAAO,IAAIG,SAApB,QAAqC,yBAArC;AAEA;AACA;AACA;;AACA,SACEP,sBADF,EAEEC,wBAFF,EAGEC,iBAHF,EAIEC,eAJF;AAOA;AACA;AACA;;AACA,SAASC,OAAO,IAAII,oBAApB,QAAgD,8BAAhD;AACA,SAASJ,OAAO,IAAIK,wBAApB,QAAoD,kCAApD;AACA,SAASL,OAAO,IAAIM,gBAApB,QAA4C,0BAA5C;AACA,SAASN,OAAO,IAAIO,oBAApB,QAAgD,8BAAhD;AAEA;AACA;AACA","sourcesContent":["import * as CardStyleInterpolators from './TransitionConfigs/CardStyleInterpolators';\nimport * as HeaderStyleInterpolators from './TransitionConfigs/HeaderStyleInterpolators';\nimport * as TransitionPresets from './TransitionConfigs/TransitionPresets';\nimport * as TransitionSpecs from './TransitionConfigs/TransitionSpecs';\n\n/**\n * Navigators\n */\nexport { default as createStackNavigator } from './navigators/createStackNavigator';\n\n/**\n * Views\n */\nexport { default as Header } from './views/Header/Header';\nexport { default as StackView } from './views/Stack/StackView';\n\n/**\n * Transition presets\n */\nexport {\n CardStyleInterpolators,\n HeaderStyleInterpolators,\n TransitionPresets,\n TransitionSpecs,\n};\n\n/**\n * Utilities\n */\nexport { default as CardAnimationContext } from './utils/CardAnimationContext';\nexport { default as GestureHandlerRefContext } from './utils/GestureHandlerRefContext';\nexport { default as useCardAnimation } from './utils/useCardAnimation';\nexport { default as useGestureHandlerRef } from './utils/useGestureHandlerRef';\n\n/**\n * Types\n */\nexport type {\n StackCardInterpolatedStyle,\n StackCardInterpolationProps,\n StackCardStyleInterpolator,\n StackHeaderInterpolatedStyle,\n StackHeaderInterpolationProps,\n StackHeaderProps,\n StackHeaderStyleInterpolator,\n StackNavigationOptions,\n StackNavigationProp,\n StackScreenProps,\n TransitionPreset,\n} from './types';\n"]}
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["CardStyleInterpolators","HeaderStyleInterpolators","TransitionPresets","TransitionSpecs","default","createStackNavigator","Header","StackView","CardAnimationContext","GestureHandlerRefContext","useCardAnimation","useGestureHandlerRef"],"mappings":"AAAA,OAAO,KAAKA,sBAAZ,MAAwC,4CAAxC;AACA,OAAO,KAAKC,wBAAZ,MAA0C,8CAA1C;AACA,OAAO,KAAKC,iBAAZ,MAAmC,uCAAnC;AACA,OAAO,KAAKC,eAAZ,MAAiC,qCAAjC;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,oBAApB,QAAgD,mCAAhD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,MAApB,QAAkC,uBAAlC;AACA,SAASF,OAAO,IAAIG,SAApB,QAAqC,yBAArC;AAEA;AACA;AACA;;AACA,SACEP,sBADF,EAEEC,wBAFF,EAGEC,iBAHF,EAIEC,eAJF;AAOA;AACA;AACA;;AACA,SAASC,OAAO,IAAII,oBAApB,QAAgD,8BAAhD;AACA,SAASJ,OAAO,IAAIK,wBAApB,QAAoD,kCAApD;AACA,SAASL,OAAO,IAAIM,gBAApB,QAA4C,0BAA5C;AACA,SAASN,OAAO,IAAIO,oBAApB,QAAgD,8BAAhD;AAEA;AACA;AACA","sourcesContent":["import * as CardStyleInterpolators from './TransitionConfigs/CardStyleInterpolators';\nimport * as HeaderStyleInterpolators from './TransitionConfigs/HeaderStyleInterpolators';\nimport * as TransitionPresets from './TransitionConfigs/TransitionPresets';\nimport * as TransitionSpecs from './TransitionConfigs/TransitionSpecs';\n\n/**\n * Navigators\n */\nexport { default as createStackNavigator } from './navigators/createStackNavigator';\n\n/**\n * Views\n */\nexport { default as Header } from './views/Header/Header';\nexport { default as StackView } from './views/Stack/StackView';\n\n/**\n * Transition presets\n */\nexport {\n CardStyleInterpolators,\n HeaderStyleInterpolators,\n TransitionPresets,\n TransitionSpecs,\n};\n\n/**\n * Utilities\n */\nexport { default as CardAnimationContext } from './utils/CardAnimationContext';\nexport { default as GestureHandlerRefContext } from './utils/GestureHandlerRefContext';\nexport { default as useCardAnimation } from './utils/useCardAnimation';\nexport { default as useGestureHandlerRef } from './utils/useGestureHandlerRef';\n\n/**\n * Types\n */\nexport type {\n StackCardInterpolatedStyle,\n StackCardInterpolationProps,\n StackCardStyleInterpolator,\n StackHeaderInterpolatedStyle,\n StackHeaderInterpolationProps,\n StackHeaderProps,\n StackHeaderStyleInterpolator,\n StackNavigationEventMap,\n StackNavigationOptions,\n StackNavigationProp,\n StackScreenProps,\n TransitionPreset,\n} from './types';\n"]}
|
|
@@ -5,13 +5,14 @@ import * as React from 'react';
|
|
|
5
5
|
import warnOnce from 'warn-once';
|
|
6
6
|
import StackView from '../views/Stack/StackView';
|
|
7
7
|
|
|
8
|
-
function StackNavigator({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
function StackNavigator(_ref) {
|
|
9
|
+
let {
|
|
10
|
+
initialRouteName,
|
|
11
|
+
children,
|
|
12
|
+
screenListeners,
|
|
13
|
+
screenOptions,
|
|
14
|
+
...rest
|
|
15
|
+
} = _ref;
|
|
15
16
|
// @ts-expect-error: mode is deprecated
|
|
16
17
|
const mode = rest.mode;
|
|
17
18
|
warnOnce(mode != null, `Stack Navigator: 'mode="${mode}"' is deprecated. Use 'presentation: "${mode}"' in 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/stack-navigator#presentation for more details.`); // @ts-expect-error: headerMode='none' is deprecated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createStackNavigator.tsx"],"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","warnOnce","StackView","StackNavigator","initialRouteName","children","screenListeners","screenOptions","rest","mode","headerMode","keyboardHandlingEnabled","undefined","defaultScreenOptions","presentation","headerShown","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"mappings":";;AAAA,SACEA,sBADF,EAMEC,YANF,EAQEC,WARF,EAUEC,oBAVF,QAWO,0BAXP;AAYA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAqB,WAArB;AAQA,OAAOC,SAAP,MAAsB,0BAAtB;;AAWA,SAASC,cAAT,
|
|
1
|
+
{"version":3,"sources":["createStackNavigator.tsx"],"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","warnOnce","StackView","StackNavigator","initialRouteName","children","screenListeners","screenOptions","rest","mode","headerMode","keyboardHandlingEnabled","undefined","defaultScreenOptions","presentation","headerShown","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"mappings":";;AAAA,SACEA,sBADF,EAMEC,YANF,EAQEC,WARF,EAUEC,oBAVF,QAWO,0BAXP;AAYA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAqB,WAArB;AAQA,OAAOC,SAAP,MAAsB,0BAAtB;;AAWA,SAASC,cAAT,OAMU;AAAA,MANc;AACtBC,IAAAA,gBADsB;AAEtBC,IAAAA,QAFsB;AAGtBC,IAAAA,eAHsB;AAItBC,IAAAA,aAJsB;AAKtB,OAAGC;AALmB,GAMd;AACR;AACA,QAAMC,IAAI,GAAGD,IAAI,CAACC,IAAlB;AAEAR,EAAAA,QAAQ,CACNQ,IAAI,IAAI,IADF,EAEL,2BAA0BA,IAAK,yCAAwCA,IAAK,uHAFvE,CAAR,CAJQ,CASR;;AACA,QAAMC,UAAU,GAAGF,IAAI,CAACE,UAAxB;AAEAT,EAAAA,QAAQ,CACNS,UAAU,KAAK,MADT,EAEL,iMAFK,CAAR;AAKAT,EAAAA,QAAQ,CACNS,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK,MAD/B,EAEL,kMAFK,CAAR,CAjBQ,CAsBR;;AACA,QAAMC,uBAAuB,GAAGH,IAAI,CAACG,uBAArC;AAEAV,EAAAA,QAAQ,CACNU,uBAAuB,KAAKC,SADtB,EAEL,4NAFK,CAAR;AAKA,QAAMC,oBAA4C,GAAG;AACnDC,IAAAA,YAAY,EAAEL,IADqC;AAEnDM,IAAAA,WAAW,EAAEL,UAAU,GAAGA,UAAU,KAAK,MAAlB,GAA2B,IAFC;AAGnDA,IAAAA,UAAU,EAAEA,UAAU,IAAIA,UAAU,KAAK,MAA7B,GAAsCA,UAAtC,GAAmDE,SAHZ;AAInDD,IAAAA;AAJmD,GAArD;AAOA,QAAM;AAAEK,IAAAA,KAAF;AAASC,IAAAA,WAAT;AAAsBC,IAAAA,UAAtB;AAAkCC,IAAAA;AAAlC,MACJpB,oBAAoB,CAMlBD,WANkB,EAML;AACbM,IAAAA,gBADa;AAEbC,IAAAA,QAFa;AAGbC,IAAAA,eAHa;AAIbC,IAAAA,aAJa;AAKbM,IAAAA;AALa,GANK,CADtB;AAeAb,EAAAA,KAAK,CAACoB,SAAN,CACE;AAAA;;AAAA,oCACEF,UAAU,CAACG,WADb,0DACE,2BAAAH,UAAU,EAAe,UAAf,EAA4BI,CAAD,IAAO;AAC1C,YAAMC,SAAS,GAAGL,UAAU,CAACK,SAAX,EAAlB,CAD0C,CAG1C;AACA;;AACAC,MAAAA,qBAAqB,CAAC,MAAM;AAC1B,YACER,KAAK,CAACS,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;AACA;AACA;AACAR,UAAAA,UAAU,CAACS,QAAX,CAAoB,EAClB,GAAG9B,YAAY,CAAC+B,QAAb,EADe;AAElBC,YAAAA,MAAM,EAAEb,KAAK,CAACc;AAFI,WAApB;AAID;AACF,OAboB,CAArB;AAcD,KAnBS,CADZ;AAAA,GADF,EAsBE,CAACZ,UAAD,EAAaF,KAAK,CAACS,KAAnB,EAA0BT,KAAK,CAACc,GAAhC,CAtBF;AAyBA,sBACE,oBAAC,iBAAD,qBACE,oBAAC,SAAD,eACMtB,IADN;AAEE,IAAA,KAAK,EAAEQ,KAFT;AAGE,IAAA,WAAW,EAAEC,WAHf;AAIE,IAAA,UAAU,EAAEC;AAJd,KADF,CADF;AAUD;;AAED,eAAetB,sBAAsB,CAKnCO,cALmC,CAArC","sourcesContent":["import {\n createNavigatorFactory,\n DefaultNavigatorOptions,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport warnOnce from 'warn-once';\n\nimport type {\n StackHeaderMode,\n StackNavigationConfig,\n StackNavigationEventMap,\n StackNavigationOptions,\n} from '../types';\nimport StackView from '../views/Stack/StackView';\n\ntype Props = DefaultNavigatorOptions<\n ParamListBase,\n StackNavigationState<ParamListBase>,\n StackNavigationOptions,\n StackNavigationEventMap\n> &\n StackRouterOptions &\n StackNavigationConfig;\n\nfunction StackNavigator({\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: Props) {\n // @ts-expect-error: mode is deprecated\n const mode = rest.mode as 'card' | 'modal' | undefined;\n\n warnOnce(\n mode != null,\n `Stack Navigator: 'mode=\"${mode}\"' is deprecated. Use 'presentation: \"${mode}\"' in 'screenOptions' instead.\\n\\nSee https://reactnavigation.org/docs/stack-navigator#presentation for more details.`\n );\n\n // @ts-expect-error: headerMode='none' is deprecated\n const headerMode = rest.headerMode as StackHeaderMode | 'none' | undefined;\n\n warnOnce(\n headerMode === 'none',\n `Stack Navigator: 'headerMode=\"none\"' is deprecated. Use 'headerShown: false' in 'screenOptions' instead.\\n\\nSee https://reactnavigation.org/docs/stack-navigator/#headershown for more details.`\n );\n\n warnOnce(\n headerMode != null && headerMode !== 'none',\n `Stack Navigator: 'headerMode' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.\\n\\nSee https://reactnavigation.org/docs/stack-navigator/#headermode for more details.`\n );\n\n // @ts-expect-error: headerMode='none' is deprecated\n const keyboardHandlingEnabled = rest.keyboardHandlingEnabled;\n\n warnOnce(\n keyboardHandlingEnabled !== undefined,\n `Stack Navigator: 'keyboardHandlingEnabled' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.\\n\\nSee https://reactnavigation.org/docs/stack-navigator/#keyboardhandlingenabled for more details.`\n );\n\n const defaultScreenOptions: StackNavigationOptions = {\n presentation: mode,\n headerShown: headerMode ? headerMode !== 'none' : true,\n headerMode: headerMode && headerMode !== 'none' ? headerMode : undefined,\n keyboardHandlingEnabled,\n };\n\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n StackNavigationOptions,\n StackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n defaultScreenOptions,\n });\n\n React.useEffect(\n () =>\n navigation.addListener?.('tabPress', (e) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NavigationContent>\n <StackView\n {...rest}\n state={state}\n descriptors={descriptors}\n navigation={navigation}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n StackNavigationOptions,\n StackNavigationEventMap,\n typeof StackNavigator\n>(StackNavigator);\n"]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export default function debounce(func, duration) {
|
|
2
2
|
let timeout;
|
|
3
|
-
return function (
|
|
3
|
+
return function () {
|
|
4
4
|
if (!timeout) {
|
|
5
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
6
|
+
args[_key] = arguments[_key];
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
// eslint-disable-next-line babel/no-invalid-this
|
|
6
10
|
func.apply(this, args);
|
|
7
11
|
timeout = setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["debounce.tsx"],"names":["debounce","func","duration","timeout","args","apply","setTimeout","undefined"],"mappings":"AAAA,eAAe,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGV;AACH,MAAIC,OAAJ;AAEA,SAAO,
|
|
1
|
+
{"version":3,"sources":["debounce.tsx"],"names":["debounce","func","duration","timeout","args","apply","setTimeout","undefined"],"mappings":"AAAA,eAAe,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGV;AACH,MAAIC,OAAJ;AAEA,SAAO,YAA8B;AACnC,QAAI,CAACA,OAAL,EAAc;AAAA,wCADeC,IACf;AADeA,QAAAA,IACf;AAAA;;AACZ;AACAH,MAAAA,IAAI,CAACI,KAAL,CAAW,IAAX,EAAiBD,IAAjB;AAEAD,MAAAA,OAAO,GAAGG,UAAU,CAAC,MAAM;AACzBH,QAAAA,OAAO,GAAGI,SAAV;AACD,OAFmB,EAEjBL,QAFiB,CAApB;AAGD;AACF,GATD;AAUD","sourcesContent":["export default function debounce<T extends (...args: any[]) => void>(\n func: T,\n duration: number\n): T {\n let timeout: NodeJS.Timeout | number | undefined;\n\n return function (this: any, ...args) {\n if (!timeout) {\n // eslint-disable-next-line babel/no-invalid-this\n func.apply(this, args);\n\n timeout = setTimeout(() => {\n timeout = undefined;\n }, duration);\n }\n } as T;\n}\n"]}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export default function memoize(callback) {
|
|
2
2
|
let previous;
|
|
3
3
|
let result;
|
|
4
|
-
return (
|
|
4
|
+
return function () {
|
|
5
5
|
let hasChanged = false;
|
|
6
6
|
|
|
7
|
+
for (var _len = arguments.length, dependencies = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
8
|
+
dependencies[_key] = arguments[_key];
|
|
9
|
+
}
|
|
10
|
+
|
|
7
11
|
if (previous) {
|
|
8
12
|
if (previous.length !== dependencies.length) {
|
|
9
13
|
hasChanged = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["memoize.tsx"],"names":["memoize","callback","previous","result","
|
|
1
|
+
{"version":3,"sources":["memoize.tsx"],"names":["memoize","callback","previous","result","hasChanged","dependencies","length","i","undefined"],"mappings":"AAAA,eAAe,SAASA,OAAT,CACbC,QADa,EAEb;AACA,MAAIC,QAAJ;AACA,MAAIC,MAAJ;AAEA,SAAO,YAAmC;AACxC,QAAIC,UAAU,GAAG,KAAjB;;AADwC,sCAA/BC,YAA+B;AAA/BA,MAAAA,YAA+B;AAAA;;AAGxC,QAAIH,QAAJ,EAAc;AACZ,UAAIA,QAAQ,CAACI,MAAT,KAAoBD,YAAY,CAACC,MAArC,EAA6C;AAC3CF,QAAAA,UAAU,GAAG,IAAb;AACD,OAFD,MAEO;AACL,aAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,QAAQ,CAACI,MAA7B,EAAqCC,CAAC,EAAtC,EAA0C;AACxC,cAAIL,QAAQ,CAACK,CAAD,CAAR,KAAgBF,YAAY,CAACE,CAAD,CAAhC,EAAqC;AACnCH,YAAAA,UAAU,GAAG,IAAb;AACA;AACD;AACF;AACF;AACF,KAXD,MAWO;AACLA,MAAAA,UAAU,GAAG,IAAb;AACD;;AAEDF,IAAAA,QAAQ,GAAGG,YAAX;;AAEA,QAAID,UAAU,IAAID,MAAM,KAAKK,SAA7B,EAAwC;AACtCL,MAAAA,MAAM,GAAGF,QAAQ,CAAC,GAAGI,YAAJ,CAAjB;AACD;;AAED,WAAOF,MAAP;AACD,GAzBD;AA0BD","sourcesContent":["export default function memoize<Result, Deps extends readonly any[]>(\n callback: (...deps: Deps) => Result\n) {\n let previous: Deps | undefined;\n let result: Result | undefined;\n\n return (...dependencies: Deps): Result => {\n let hasChanged = false;\n\n if (previous) {\n if (previous.length !== dependencies.length) {\n hasChanged = true;\n } else {\n for (let i = 0; i < previous.length; i++) {\n if (previous[i] !== dependencies[i]) {\n hasChanged = true;\n break;\n }\n }\n }\n } else {\n hasChanged = true;\n }\n\n previous = dependencies;\n\n if (hasChanged || result === undefined) {\n result = callback(...dependencies);\n }\n\n return result;\n };\n}\n"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
|
|
4
|
-
const Dummy =
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const Dummy = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
children
|
|
7
|
+
} = _ref;
|
|
8
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
9
|
+
};
|
|
7
10
|
|
|
8
11
|
export const PanGestureHandler = Dummy;
|
|
9
12
|
export const GestureHandlerRootView = View;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GestureHandler.tsx"],"names":["React","View","Dummy","children","PanGestureHandler","GestureHandlerRootView","GestureState","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAqB,cAArB;;AAGA,MAAMC,KAAU,GAAG,
|
|
1
|
+
{"version":3,"sources":["GestureHandler.tsx"],"names":["React","View","Dummy","children","PanGestureHandler","GestureHandlerRootView","GestureState","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAqB,cAArB;;AAGA,MAAMC,KAAU,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,sBACjB,0CAAGA,QAAH,CADiB;AAAA,CAAnB;;AAIA,OAAO,MAAMC,iBAAiB,GAC5BF,KADK;AAGP,OAAO,MAAMG,sBAAsB,GAAGJ,IAA/B;AAEP,OAAO,MAAMK,YAAY,GAAG;AAC1BC,EAAAA,YAAY,EAAE,CADY;AAE1BC,EAAAA,MAAM,EAAE,CAFkB;AAG1BC,EAAAA,KAAK,EAAE,CAHmB;AAI1BC,EAAAA,SAAS,EAAE,CAJe;AAK1BC,EAAAA,MAAM,EAAE,CALkB;AAM1BC,EAAAA,GAAG,EAAE;AANqB,CAArB","sourcesContent":["import * as React from 'react';\nimport { View } from 'react-native';\nimport type { PanGestureHandlerProperties } from 'react-native-gesture-handler';\n\nconst Dummy: any = ({ children }: { children: React.ReactNode }) => (\n <>{children}</>\n);\n\nexport const PanGestureHandler =\n Dummy as React.ComponentType<PanGestureHandlerProperties>;\n\nexport const GestureHandlerRootView = View;\n\nexport const GestureState = {\n UNDETERMINED: 0,\n FAILED: 1,\n BEGAN: 2,\n CANCELLED: 3,\n ACTIVE: 4,\n END: 5,\n};\n\nexport type { PanGestureHandlerGestureEvent } from 'react-native-gesture-handler';\n"]}
|
|
@@ -7,15 +7,16 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
|
7
7
|
import debounce from '../../utils/debounce';
|
|
8
8
|
import ModalPresentationContext from '../../utils/ModalPresentationContext';
|
|
9
9
|
import HeaderSegment from './HeaderSegment';
|
|
10
|
-
export default /*#__PURE__*/React.memo(function Header({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
export default /*#__PURE__*/React.memo(function Header(_ref) {
|
|
11
|
+
let {
|
|
12
|
+
back,
|
|
13
|
+
layout,
|
|
14
|
+
progress,
|
|
15
|
+
options,
|
|
16
|
+
route,
|
|
17
|
+
navigation,
|
|
18
|
+
styleInterpolator
|
|
19
|
+
} = _ref;
|
|
19
20
|
const insets = useSafeAreaInsets();
|
|
20
21
|
let previousTitle; // The label for the left back button shows the title of the previous screen
|
|
21
22
|
// If a custom label is specified, we use it, otherwise use previous screen's title
|