@react-navigation/stack 8.0.0-alpha.50 → 8.0.0-alpha.52
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/module/TransitionConfigs/CardStyleInterpolators.js +241 -83
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +11 -44
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionEasings.js +71 -0
- package/lib/module/TransitionConfigs/TransitionEasings.js.map +1 -0
- package/lib/module/TransitionConfigs/TransitionPresets.js +50 -10
- package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionSpecs.js +69 -34
- package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/module/navigators/createStackNavigator.js +25 -16
- package/lib/module/navigators/createStackNavigator.js.map +1 -1
- package/lib/module/views/Header/Header.js +2 -0
- package/lib/module/views/Header/Header.js.map +1 -1
- package/lib/module/views/Header/HeaderContainer.js +8 -3
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Header/HeaderSegment.js +3 -6
- package/lib/module/views/Header/HeaderSegment.js.map +1 -1
- package/lib/module/views/Stack/Card.js +64 -33
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardContainer.js +17 -2
- package/lib/module/views/Stack/CardContainer.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +24 -13
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +19 -11
- package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -1
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +3 -3
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
- package/lib/typescript/src/TransitionConfigs/TransitionEasings.d.ts +38 -0
- package/lib/typescript/src/TransitionConfigs/TransitionEasings.d.ts.map +1 -0
- package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +14 -2
- package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
- package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +43 -14
- package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +44 -28
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/Header.d.ts +1 -1
- package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts +1 -0
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/Card.d.ts +9 -3
- package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardContainer.d.ts +3 -1
- package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/TransitionConfigs/CardStyleInterpolators.tsx +351 -100
- package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +15 -46
- package/src/TransitionConfigs/TransitionEasings.tsx +90 -0
- package/src/TransitionConfigs/TransitionPresets.tsx +56 -10
- package/src/TransitionConfigs/TransitionSpecs.tsx +68 -34
- package/src/navigators/createStackNavigator.tsx +33 -24
- package/src/types.tsx +46 -29
- package/src/views/Header/Header.tsx +2 -0
- package/src/views/Header/HeaderContainer.tsx +10 -4
- package/src/views/Header/HeaderSegment.tsx +4 -4
- package/src/views/Stack/Card.tsx +89 -38
- package/src/views/Stack/CardContainer.tsx +17 -2
- package/src/views/Stack/CardStack.tsx +69 -14
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Easing } from 'react-native';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Exact piecewise path for Android's fast-out-extra-slow-in easing.
|
|
7
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/interpolator/fast_out_extra_slow_in.xml
|
|
8
|
+
*/
|
|
9
|
+
const FAST_OUT_EXTRA_SLOW_IN_INITIAL = Easing.bezier(0.3, 0, 0.8, 0.15);
|
|
10
|
+
const FAST_OUT_EXTRA_SLOW_IN_FINAL = Easing.bezier(0.05, 0.7, 0.1, 1);
|
|
11
|
+
export const FAST_OUT_EXTRA_SLOW_IN = t => {
|
|
12
|
+
const breakpoint = 1 / 6;
|
|
13
|
+
if (t < breakpoint) {
|
|
14
|
+
return 0.4 * FAST_OUT_EXTRA_SLOW_IN_INITIAL(t / breakpoint);
|
|
15
|
+
}
|
|
16
|
+
return 0.4 + 0.6 * FAST_OUT_EXTRA_SLOW_IN_FINAL((t - breakpoint) / (1 - breakpoint));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/core/res/res/interpolator/fast_out_slow_in.xml
|
|
21
|
+
*/
|
|
22
|
+
export const FAST_OUT_SLOW_IN = Easing.bezier(0.4, 0, 0.2, 1);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/core/res/res/interpolator/linear_out_slow_in.xml
|
|
26
|
+
*/
|
|
27
|
+
export const LINEAR_OUT_SLOW_IN = Easing.bezier(0, 0, 0.2, 1);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r47/core/res/res/interpolator/activity_close_dim.xml
|
|
31
|
+
*/
|
|
32
|
+
export const ACTIVITY_CLOSE_DIM = Easing.bezier(0.33, 0, 1, 1);
|
|
33
|
+
export const decelerate = (power, t) => 1 - (1 - t) ** power;
|
|
34
|
+
export const accelerate = (power, t) => t ** power;
|
|
35
|
+
export const clamp = value => Math.min(1, Math.max(0, value));
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Creates interpolation ranges for a property that follows its own timeline.
|
|
39
|
+
*
|
|
40
|
+
* @param options - Options for the property timeline.
|
|
41
|
+
* @param options.duration - Total transition duration in milliseconds.
|
|
42
|
+
* @param options.easing - Easing used by the transition.
|
|
43
|
+
* @param options.closing - Whether the transition is closing.
|
|
44
|
+
* @param options.stops - Times in milliseconds to include in the ranges.
|
|
45
|
+
* @param options.output - Returns the property value at a time in milliseconds.
|
|
46
|
+
*/
|
|
47
|
+
export function timeline({
|
|
48
|
+
duration,
|
|
49
|
+
easing,
|
|
50
|
+
closing = false,
|
|
51
|
+
stops = [],
|
|
52
|
+
output
|
|
53
|
+
}) {
|
|
54
|
+
const times = [...new Set([...Array.from({
|
|
55
|
+
length: Math.floor(duration / 10) + 1
|
|
56
|
+
}, (_, index) => index * 10), ...stops, duration])].sort((a, b) => a - b);
|
|
57
|
+
const points = times.map(time => ({
|
|
58
|
+
input: closing ? 1 - easing(time / duration) : easing(time / duration),
|
|
59
|
+
output: output(time)
|
|
60
|
+
})).sort((a, b) => a.input - b.input);
|
|
61
|
+
return {
|
|
62
|
+
inputRange: points.map(({
|
|
63
|
+
input
|
|
64
|
+
}) => input),
|
|
65
|
+
outputRange: points.map(({
|
|
66
|
+
output
|
|
67
|
+
}) => output),
|
|
68
|
+
extrapolate: 'clamp'
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=TransitionEasings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Easing","FAST_OUT_EXTRA_SLOW_IN_INITIAL","bezier","FAST_OUT_EXTRA_SLOW_IN_FINAL","FAST_OUT_EXTRA_SLOW_IN","t","breakpoint","FAST_OUT_SLOW_IN","LINEAR_OUT_SLOW_IN","ACTIVITY_CLOSE_DIM","decelerate","power","accelerate","clamp","value","Math","min","max","timeline","duration","easing","closing","stops","output","times","Set","Array","from","length","floor","_","index","sort","a","b","points","map","time","input","inputRange","outputRange","extrapolate"],"sourceRoot":"../../../src","sources":["TransitionConfigs/TransitionEasings.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
|
-
import { forBottomSheetAndroid, forFadeFromBottomAndroid, forFadeFromCenter
|
|
4
|
+
import { forBottomSheetAndroid, forCrossDissolveIOS, forDialogAndroid, forFadeFromBottomAndroid, forFadeFromCenter, forFadeFromRightAndroid, forFlipIOS, forHorizontalIOS, forModalPresentationIOS, forRevealFromBottomAndroid, forScaleFromCenterAndroid, forVerticalIOS } from "./CardStyleInterpolators.js";
|
|
5
5
|
import { forFade, forUIKit } from "./HeaderStyleInterpolators.js";
|
|
6
|
-
import { BottomSheetSlideInSpec, BottomSheetSlideOutSpec, FadeInFromBottomAndroidSpec, FadeOutToBottomAndroidSpec, RevealFromBottomAndroidSpec, ScaleFromCenterAndroidSpec, TransitionIOSSpec } from "./TransitionSpecs.js";
|
|
6
|
+
import { BottomSheetSlideInSpec, BottomSheetSlideOutSpec, DialogAndroidSpec, FadeInFromBottomAndroidSpec, FadeInFromRightAndroidSpec, FadeOutToBottomAndroidSpec, FadeOutToRightAndroidSpec, FlipIOSSpec, RevealFromBottomAndroidSpec, ScaleFromCenterAndroidSpec, TransitionIOSSpec } from "./TransitionSpecs.js";
|
|
7
7
|
const ANDROID_VERSION_PIE = 28;
|
|
8
8
|
const ANDROID_VERSION_10 = 29;
|
|
9
9
|
const ANDROID_VERSION_14 = 34;
|
|
@@ -60,6 +60,19 @@ export const FadeFromBottomAndroid = {
|
|
|
60
60
|
headerStyleInterpolator: forFade
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Standard Android dialog transition.
|
|
65
|
+
*/
|
|
66
|
+
export const DialogAndroid = {
|
|
67
|
+
gestureDirection: 'vertical',
|
|
68
|
+
transitionSpec: {
|
|
69
|
+
open: DialogAndroidSpec,
|
|
70
|
+
close: DialogAndroidSpec
|
|
71
|
+
},
|
|
72
|
+
cardStyleInterpolator: forDialogAndroid,
|
|
73
|
+
headerStyleInterpolator: forFade
|
|
74
|
+
};
|
|
75
|
+
|
|
63
76
|
/**
|
|
64
77
|
* Standard Android navigation transition when opening or closing an Activity on Android 9 (Pie).
|
|
65
78
|
*/
|
|
@@ -87,20 +100,20 @@ export const ScaleFromCenterAndroid = {
|
|
|
87
100
|
};
|
|
88
101
|
|
|
89
102
|
/**
|
|
90
|
-
* Standard Android navigation transition when opening or closing an Activity on Android 14.
|
|
103
|
+
* Standard Android navigation transition when opening or closing an Activity on Android 14 and later.
|
|
91
104
|
*/
|
|
92
105
|
export const FadeFromRightAndroid = {
|
|
93
106
|
gestureDirection: 'horizontal',
|
|
94
107
|
transitionSpec: {
|
|
95
|
-
open:
|
|
96
|
-
close:
|
|
108
|
+
open: FadeInFromRightAndroidSpec,
|
|
109
|
+
close: FadeOutToRightAndroidSpec
|
|
97
110
|
},
|
|
98
111
|
cardStyleInterpolator: forFadeFromRightAndroid,
|
|
99
112
|
headerStyleInterpolator: forFade
|
|
100
113
|
};
|
|
101
114
|
|
|
102
115
|
/**
|
|
103
|
-
* Standard bottom sheet
|
|
116
|
+
* Standard Material 3 bottom sheet transition.
|
|
104
117
|
*/
|
|
105
118
|
export const BottomSheetAndroid = {
|
|
106
119
|
gestureDirection: 'vertical',
|
|
@@ -118,10 +131,36 @@ export const BottomSheetAndroid = {
|
|
|
118
131
|
export const ModalFadeTransition = {
|
|
119
132
|
gestureDirection: 'vertical',
|
|
120
133
|
transitionSpec: {
|
|
121
|
-
open:
|
|
122
|
-
close:
|
|
134
|
+
open: TransitionIOSSpec,
|
|
135
|
+
close: TransitionIOSSpec
|
|
136
|
+
},
|
|
137
|
+
cardStyleInterpolator: forFadeFromCenter,
|
|
138
|
+
headerStyleInterpolator: forFade
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Standard iOS horizontal flip transition.
|
|
143
|
+
*/
|
|
144
|
+
export const ModalFlipIOS = {
|
|
145
|
+
gestureDirection: 'horizontal',
|
|
146
|
+
transitionSpec: {
|
|
147
|
+
open: FlipIOSSpec,
|
|
148
|
+
close: FlipIOSSpec
|
|
149
|
+
},
|
|
150
|
+
cardStyleInterpolator: forFlipIOS,
|
|
151
|
+
headerStyleInterpolator: forFade
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Standard iOS cross-dissolve transition.
|
|
156
|
+
*/
|
|
157
|
+
export const CrossDissolveIOS = {
|
|
158
|
+
gestureDirection: 'horizontal',
|
|
159
|
+
transitionSpec: {
|
|
160
|
+
open: TransitionIOSSpec,
|
|
161
|
+
close: TransitionIOSSpec
|
|
123
162
|
},
|
|
124
|
-
cardStyleInterpolator:
|
|
163
|
+
cardStyleInterpolator: forCrossDissolveIOS,
|
|
125
164
|
headerStyleInterpolator: forFade
|
|
126
165
|
};
|
|
127
166
|
|
|
@@ -147,6 +186,7 @@ export const ModalTransition = Platform.select({
|
|
|
147
186
|
*/
|
|
148
187
|
export const SlideFromLeftIOS = {
|
|
149
188
|
...SlideFromRightIOS,
|
|
150
|
-
|
|
189
|
+
gestureDirection: 'horizontal-inverted',
|
|
190
|
+
cardStyleInterpolator: forHorizontalIOS
|
|
151
191
|
};
|
|
152
192
|
//# sourceMappingURL=TransitionPresets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","forBottomSheetAndroid","
|
|
1
|
+
{"version":3,"names":["Platform","forBottomSheetAndroid","forCrossDissolveIOS","forDialogAndroid","forFadeFromBottomAndroid","forFadeFromCenter","forFadeFromRightAndroid","forFlipIOS","forHorizontalIOS","forModalPresentationIOS","forRevealFromBottomAndroid","forScaleFromCenterAndroid","forVerticalIOS","forFade","forUIKit","BottomSheetSlideInSpec","BottomSheetSlideOutSpec","DialogAndroidSpec","FadeInFromBottomAndroidSpec","FadeInFromRightAndroidSpec","FadeOutToBottomAndroidSpec","FadeOutToRightAndroidSpec","FlipIOSSpec","RevealFromBottomAndroidSpec","ScaleFromCenterAndroidSpec","TransitionIOSSpec","ANDROID_VERSION_PIE","ANDROID_VERSION_10","ANDROID_VERSION_14","SlideFromRightIOS","gestureDirection","transitionSpec","open","close","cardStyleInterpolator","headerStyleInterpolator","ModalSlideFromBottomIOS","ModalPresentationIOS","FadeFromBottomAndroid","DialogAndroid","RevealFromBottomAndroid","ScaleFromCenterAndroid","FadeFromRightAndroid","BottomSheetAndroid","ModalFadeTransition","ModalFlipIOS","CrossDissolveIOS","DefaultTransition","select","ios","android","Number","Version","default","ModalTransition","SlideFromLeftIOS"],"sourceRoot":"../../../src","sources":["TransitionConfigs/TransitionPresets.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Easing } from 'react-native';
|
|
4
|
+
import { FAST_OUT_EXTRA_SLOW_IN } from "./TransitionEasings.js";
|
|
5
|
+
|
|
4
6
|
/**
|
|
5
|
-
*
|
|
7
|
+
* Approximation of the standard iOS navigation transition.
|
|
6
8
|
*/
|
|
7
9
|
export const TransitionIOSSpec = {
|
|
8
10
|
animation: 'spring',
|
|
@@ -16,9 +18,21 @@ export const TransitionIOSSpec = {
|
|
|
16
18
|
}
|
|
17
19
|
};
|
|
18
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Configuration for the standard iOS horizontal flip transition.
|
|
23
|
+
*/
|
|
24
|
+
export const FlipIOSSpec = {
|
|
25
|
+
animation: 'timing',
|
|
26
|
+
config: {
|
|
27
|
+
duration: 700,
|
|
28
|
+
easing: Easing.inOut(Easing.ease)
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
19
32
|
/**
|
|
20
33
|
* Configuration for activity open animation from Android Nougat.
|
|
21
|
-
* See
|
|
34
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-7.1.2_r37/core/res/res/anim/activity_open_enter.xml
|
|
35
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-7.1.2_r37/core/res/res/anim/activity_open_exit.xml
|
|
22
36
|
*/
|
|
23
37
|
export const FadeInFromBottomAndroidSpec = {
|
|
24
38
|
animation: 'timing',
|
|
@@ -30,95 +44,116 @@ export const FadeInFromBottomAndroidSpec = {
|
|
|
30
44
|
|
|
31
45
|
/**
|
|
32
46
|
* Configuration for activity close animation from Android Nougat.
|
|
33
|
-
* See
|
|
47
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-7.1.2_r37/core/res/res/anim/activity_close_enter.xml
|
|
48
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-7.1.2_r37/core/res/res/anim/activity_close_exit.xml
|
|
34
49
|
*/
|
|
35
50
|
export const FadeOutToBottomAndroidSpec = {
|
|
36
51
|
animation: 'timing',
|
|
37
52
|
config: {
|
|
38
|
-
duration:
|
|
39
|
-
easing: Easing.in(Easing.
|
|
53
|
+
duration: 250,
|
|
54
|
+
easing: Easing.in(Easing.poly(4))
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Configuration for the standard Android dialog transition.
|
|
60
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/core/res/res/anim/dialog_enter.xml
|
|
61
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/core/res/res/anim/dialog_exit.xml
|
|
62
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/core/res/res/values/config.xml
|
|
63
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/core/res/res/values/themes_material.xml
|
|
64
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/services/core/java/com/android/server/wm/DimmerAnimationHelper.java
|
|
65
|
+
*/
|
|
66
|
+
export const DialogAndroidSpec = {
|
|
67
|
+
animation: 'timing',
|
|
68
|
+
config: {
|
|
69
|
+
duration: 220,
|
|
70
|
+
easing: Easing.out(Easing.poly(5))
|
|
40
71
|
}
|
|
41
72
|
};
|
|
42
73
|
|
|
43
74
|
/**
|
|
44
|
-
*
|
|
45
|
-
* See
|
|
75
|
+
* Configuration for activity open animation from Android Pie.
|
|
76
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r47/core/res/res/anim/activity_open_enter.xml
|
|
77
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r47/core/res/res/anim/activity_open_exit.xml
|
|
78
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r47/core/res/res/anim/activity_close_enter.xml
|
|
79
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r47/core/res/res/anim/activity_close_exit.xml
|
|
46
80
|
*/
|
|
47
81
|
export const RevealFromBottomAndroidSpec = {
|
|
48
82
|
animation: 'timing',
|
|
49
83
|
config: {
|
|
50
84
|
duration: 425,
|
|
51
|
-
|
|
52
|
-
// See http://aosp.opersys.com/xref/android-9.0.0_r47/xref/frameworks/base/core/res/res/interpolator/fast_out_extra_slow_in.xml
|
|
53
|
-
easing: Easing.bezier(0.20833, 0.82, 0.25, 1)
|
|
85
|
+
easing: FAST_OUT_EXTRA_SLOW_IN
|
|
54
86
|
}
|
|
55
87
|
};
|
|
56
88
|
|
|
57
89
|
/**
|
|
58
|
-
*
|
|
59
|
-
* See
|
|
90
|
+
* Configuration for activity open animation from Android Q.
|
|
91
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r2/core/res/res/anim/activity_open_enter.xml
|
|
92
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r2/core/res/res/anim/activity_open_exit.xml
|
|
93
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r2/core/res/res/anim/activity_close_enter.xml
|
|
94
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r2/core/res/res/anim/activity_close_exit.xml
|
|
60
95
|
*/
|
|
61
96
|
export const ScaleFromCenterAndroidSpec = {
|
|
62
97
|
animation: 'timing',
|
|
63
98
|
config: {
|
|
64
99
|
duration: 400,
|
|
65
|
-
|
|
66
|
-
// See http://aosp.opersys.com/xref/android-10.0.0_r2/xref/frameworks/base/core/res/res/interpolator/fast_out_extra_slow_in.xml
|
|
67
|
-
easing: Easing.bezier(0.20833, 0.82, 0.25, 1)
|
|
100
|
+
easing: FAST_OUT_EXTRA_SLOW_IN
|
|
68
101
|
}
|
|
69
102
|
};
|
|
70
103
|
|
|
71
104
|
/**
|
|
72
|
-
*
|
|
105
|
+
* Configuration for activity open animation from Android 14 and later.
|
|
73
106
|
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/anim/activity_open_enter.xml
|
|
107
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/anim/activity_open_exit.xml
|
|
74
108
|
*/
|
|
75
109
|
export const FadeInFromRightAndroidSpec = {
|
|
76
110
|
animation: 'timing',
|
|
77
111
|
config: {
|
|
78
112
|
duration: 450,
|
|
79
|
-
|
|
80
|
-
// See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/interpolator/fast_out_extra_slow_in.xml
|
|
81
|
-
easing: Easing.bezier(0.20833, 0.82, 0.25, 1)
|
|
113
|
+
easing: FAST_OUT_EXTRA_SLOW_IN
|
|
82
114
|
}
|
|
83
115
|
};
|
|
84
116
|
|
|
85
117
|
/**
|
|
86
|
-
*
|
|
118
|
+
* Configuration for activity close animation from Android 14 and later.
|
|
119
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/anim/activity_close_enter.xml
|
|
87
120
|
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/anim/activity_close_exit.xml
|
|
88
121
|
*/
|
|
89
|
-
export const
|
|
122
|
+
export const FadeOutToRightAndroidSpec = {
|
|
90
123
|
animation: 'timing',
|
|
91
124
|
config: {
|
|
92
125
|
duration: 450,
|
|
93
|
-
|
|
94
|
-
// See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r51/core/res/res/interpolator/fast_out_extra_slow_in.xml
|
|
95
|
-
easing: Easing.bezier(0.20833, 0.82, 0.25, 1)
|
|
126
|
+
easing: FAST_OUT_EXTRA_SLOW_IN
|
|
96
127
|
}
|
|
97
128
|
};
|
|
98
129
|
|
|
99
130
|
/**
|
|
100
|
-
* Configuration for bottom sheet slide in animation from Material
|
|
101
|
-
* See https://github.com/material-components/material-components-android/blob/
|
|
131
|
+
* Configuration for bottom sheet slide in animation from Material 3.
|
|
132
|
+
* See https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/bottomsheet/res/anim/m3_bottom_sheet_slide_in.xml
|
|
133
|
+
* See https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/motion/res/values/tokens.xml
|
|
134
|
+
* See https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/dialog/res/values/tokens.xml
|
|
135
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/services/core/java/com/android/server/wm/DimmerAnimationHelper.java
|
|
102
136
|
*/
|
|
103
137
|
export const BottomSheetSlideInSpec = {
|
|
104
138
|
animation: 'timing',
|
|
105
139
|
config: {
|
|
106
|
-
duration:
|
|
107
|
-
|
|
108
|
-
easing: t => Math.cos((t + 1) * Math.PI) / 2.0 + 0.5
|
|
140
|
+
duration: 400,
|
|
141
|
+
easing: FAST_OUT_EXTRA_SLOW_IN
|
|
109
142
|
}
|
|
110
143
|
};
|
|
111
144
|
|
|
112
145
|
/**
|
|
113
|
-
* Configuration for bottom sheet slide out animation from Material
|
|
114
|
-
* See https://github.com/material-components/material-components-android/blob/
|
|
146
|
+
* Configuration for bottom sheet slide out animation from Material 3.
|
|
147
|
+
* See https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/bottomsheet/res/anim/m3_bottom_sheet_slide_out.xml
|
|
148
|
+
* See https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/motion/res/values/tokens.xml
|
|
149
|
+
* See https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/dialog/res/values/tokens.xml
|
|
150
|
+
* See https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-17.0.0_r1/services/core/java/com/android/server/wm/DimmerAnimationHelper.java
|
|
115
151
|
*/
|
|
116
152
|
export const BottomSheetSlideOutSpec = {
|
|
117
153
|
animation: 'timing',
|
|
118
154
|
config: {
|
|
119
|
-
duration:
|
|
120
|
-
|
|
121
|
-
easing: t => t === 1.0 ? 1 : Math.pow(t, 2)
|
|
155
|
+
duration: 350,
|
|
156
|
+
easing: FAST_OUT_EXTRA_SLOW_IN
|
|
122
157
|
}
|
|
123
158
|
};
|
|
124
159
|
//# sourceMappingURL=TransitionSpecs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Easing","TransitionIOSSpec","animation","config","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","
|
|
1
|
+
{"version":3,"names":["Easing","FAST_OUT_EXTRA_SLOW_IN","TransitionIOSSpec","animation","config","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","FlipIOSSpec","duration","easing","inOut","ease","FadeInFromBottomAndroidSpec","out","poly","FadeOutToBottomAndroidSpec","in","DialogAndroidSpec","RevealFromBottomAndroidSpec","ScaleFromCenterAndroidSpec","FadeInFromRightAndroidSpec","FadeOutToRightAndroidSpec","BottomSheetSlideInSpec","BottomSheetSlideOutSpec"],"sourceRoot":"../../../src","sources":["TransitionConfigs/TransitionSpecs.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,cAAc;AAGrC,SAASC,sBAAsB,QAAQ,wBAAqB;;AAE5D;AACA;AACA;AACA,OAAO,MAAMC,iBAAiC,GAAG;EAC/CC,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNC,SAAS,EAAE,IAAI;IACfC,OAAO,EAAE,GAAG;IACZC,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE,IAAI;IACvBC,yBAAyB,EAAE,EAAE;IAC7BC,kBAAkB,EAAE;EACtB;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,WAA2B,GAAG;EACzCR,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEb,MAAM,CAACc,KAAK,CAACd,MAAM,CAACe,IAAI;EAClC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2C,GAAG;EACzDb,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEb,MAAM,CAACiB,GAAG,CAACjB,MAAM,CAACkB,IAAI,CAAC,CAAC,CAAC;EACnC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0C,GAAG;EACxDhB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEb,MAAM,CAACoB,EAAE,CAACpB,MAAM,CAACkB,IAAI,CAAC,CAAC,CAAC;EAClC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,iBAAiC,GAAG;EAC/ClB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEb,MAAM,CAACiB,GAAG,CAACjB,MAAM,CAACkB,IAAI,CAAC,CAAC,CAAC;EACnC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,2BAA2C,GAAG;EACzDnB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEZ;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsB,0BAA0C,GAAG;EACxDpB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEZ;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMuB,0BAA0C,GAAG;EACxDrB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEZ;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwB,yBAAyC,GAAG;EACvDtB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEZ;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMyB,sBAAsC,GAAG;EACpDvB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEZ;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM0B,uBAAuC,GAAG;EACrDxB,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;IACNQ,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEZ;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -33,24 +33,33 @@ function StackNavigator({
|
|
|
33
33
|
screenLayout,
|
|
34
34
|
router
|
|
35
35
|
});
|
|
36
|
-
React.useEffect(() =>
|
|
37
|
-
|
|
38
|
-
navigation.addListener?.('tabPress', e => {
|
|
39
|
-
const isFocused = navigation.isFocused();
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
let handle;
|
|
40
38
|
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
// @ts-expect-error: there may not be a tab navigator in parent
|
|
40
|
+
const unsubscribe = navigation.addListener?.('tabPress', e => {
|
|
41
|
+
const isFocused = navigation.isFocused();
|
|
42
|
+
cancelAnimationFrame(handle);
|
|
43
|
+
|
|
44
|
+
// Run the operation in the next frame so we're sure all listeners have been run
|
|
45
|
+
// This is necessary to know if preventDefault() has been called
|
|
46
|
+
handle = requestAnimationFrame(() => {
|
|
47
|
+
const currentState = navigation.getState();
|
|
48
|
+
if (isFocused && (currentState.index > 0 || currentState.routes[0]?.history?.length) && !e.defaultPrevented) {
|
|
49
|
+
// When user taps on already focused tab and we're inside the tab,
|
|
50
|
+
// reset the stack to replicate native behaviour
|
|
51
|
+
navigation.dispatch({
|
|
52
|
+
...StackActions.popToTop(),
|
|
53
|
+
target: currentState.key
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
52
57
|
});
|
|
53
|
-
|
|
58
|
+
return () => {
|
|
59
|
+
cancelAnimationFrame(handle);
|
|
60
|
+
unsubscribe?.();
|
|
61
|
+
};
|
|
62
|
+
}, [navigation]);
|
|
54
63
|
return /*#__PURE__*/_jsx(NavigationContent, {
|
|
55
64
|
children: /*#__PURE__*/_jsx(StackView, {
|
|
56
65
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createNavigatorFactory","createScreenFactory","StackActions","StackRouter","useLocale","useNavigationBuilder","React","StackView","jsx","_jsx","StackNavigator","initialRouteName","routeNamesChangeBehavior","children","layout","screenListeners","screenOptions","screenLayout","router","rest","direction","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createStackNavigator","createStackScreen"],"sourceRoot":"../../../src","sources":["navigators/createStackNavigator.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,mBAAmB,EAKnBC,YAAY,EAEZC,WAAW,EAEXC,SAAS,EACTC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,SAASC,SAAS,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErD,SAASC,cAAcA,CAAC;EACtBC,gBAAgB;EAChBC,wBAAwB;EACxBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,MAAM;EACN,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAM;IAAEC;EAAU,CAAC,GAAGhB,SAAS,CAAC,CAAC;EAEjC,MAAM;IAAEiB,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDnB,oBAAoB,CAMlBF,WAAW,EAAE;IACbQ,gBAAgB;IAChBC,wBAAwB;IACxBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,CAAC;EAEJZ,KAAK,CAACmB,SAAS,
|
|
1
|
+
{"version":3,"names":["createNavigatorFactory","createScreenFactory","StackActions","StackRouter","useLocale","useNavigationBuilder","React","StackView","jsx","_jsx","StackNavigator","initialRouteName","routeNamesChangeBehavior","children","layout","screenListeners","screenOptions","screenLayout","router","rest","direction","state","descriptors","navigation","NavigationContent","useEffect","handle","unsubscribe","addListener","e","isFocused","cancelAnimationFrame","requestAnimationFrame","currentState","getState","index","routes","history","length","defaultPrevented","dispatch","popToTop","target","key","createStackNavigator","createStackScreen"],"sourceRoot":"../../../src","sources":["navigators/createStackNavigator.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,mBAAmB,EAKnBC,YAAY,EAEZC,WAAW,EAEXC,SAAS,EACTC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,SAASC,SAAS,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErD,SAASC,cAAcA,CAAC;EACtBC,gBAAgB;EAChBC,wBAAwB;EACxBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,MAAM;EACN,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAM;IAAEC;EAAU,CAAC,GAAGhB,SAAS,CAAC,CAAC;EAEjC,MAAM;IAAEiB,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDnB,oBAAoB,CAMlBF,WAAW,EAAE;IACbQ,gBAAgB;IAChBC,wBAAwB;IACxBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,CAAC;EAEJZ,KAAK,CAACmB,SAAS,CAAC,MAAM;IACpB,IAAIC,MAA4D;;IAEhE;IACA,MAAMC,WAAW,GAAGJ,UAAU,CAACK,WAAW,GAAG,UAAU,EAAGC,CAAC,IAAK;MAC9D,MAAMC,SAAS,GAAGP,UAAU,CAACO,SAAS,CAAC,CAAC;MAExCC,oBAAoB,CAACL,MAAM,CAAC;;MAE5B;MACA;MACAA,MAAM,GAAGM,qBAAqB,CAAC,MAAM;QACnC,MAAMC,YAAY,GAAGV,UAAU,CAACW,QAAQ,CAAC,CAAC;QAE1C,IACEJ,SAAS,KACRG,YAAY,CAACE,KAAK,GAAG,CAAC,IAAIF,YAAY,CAACG,MAAM,CAAC,CAAC,CAAC,EAAEC,OAAO,EAAEC,MAAM,CAAC,IACnE,CAAET,CAAC,CAAgCU,gBAAgB,EACnD;UACA;UACA;UACAhB,UAAU,CAACiB,QAAQ,CAAC;YAClB,GAAGtC,YAAY,CAACuC,QAAQ,CAAC,CAAC;YAC1BC,MAAM,EAAET,YAAY,CAACU;UACvB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACXZ,oBAAoB,CAACL,MAAM,CAAC;MAC5BC,WAAW,GAAG,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACJ,UAAU,CAAC,CAAC;EAEhB,oBACEd,IAAA,CAACe,iBAAiB;IAAAX,QAAA,eAChBJ,IAAA,CAACF,SAAS;MAAA,GACJY,IAAI;MACRC,SAAS,EAAEA,SAAU;MACrBC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBC,UAAU,EAAEA;IAAW,CACxB;EAAC,CACe,CAAC;AAExB;AAUA,OAAO,MAAMqB,oBAAoB,GAC/B5C,sBAAsB,CAAeU,cAAc,CAAC;AAEtD,OAAO,MAAMmC,iBAAiB,GAAG5C,mBAAmB,CAAe,CAAC","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
11
11
|
export const Header = /*#__PURE__*/React.memo(function Header({
|
|
12
12
|
back,
|
|
13
13
|
progress,
|
|
14
|
+
inverted,
|
|
14
15
|
options,
|
|
15
16
|
route,
|
|
16
17
|
navigation,
|
|
@@ -41,6 +42,7 @@ export const Header = /*#__PURE__*/React.memo(function Header({
|
|
|
41
42
|
const statusBarHeight = options.headerStatusBarHeight !== undefined ? options.headerStatusBarHeight : isModal || isParentHeaderShown ? 0 : insets.top;
|
|
42
43
|
return /*#__PURE__*/_jsx(HeaderSegment, {
|
|
43
44
|
...options,
|
|
45
|
+
inverted: inverted,
|
|
44
46
|
title: getHeaderTitle(options, route.name),
|
|
45
47
|
progress: progress,
|
|
46
48
|
modal: isModal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderShownContext","StackActions","React","useSafeAreaInsets","ModalPresentationContext","throttle","HeaderSegment","jsx","_jsx","Header","memo","back","progress","options","route","navigation","styleInterpolator","insets","previousTitle","headerBackTitle","undefined","title","goBack","useCallback","isFocused","canGoBack","dispatch","pop","source","key","isModal","use","isParentHeaderShown","statusBarHeight","headerStatusBarHeight","top","name","modal","onGoBack","backHref","href"],"sourceRoot":"../../../../src","sources":["views/Header/Header.tsx"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,kBAAkB,QAAQ,4BAA4B;AAC/E,SAASC,YAAY,QAAQ,0BAA0B;AACvD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,gCAAgC;AAGlE,SAASC,wBAAwB,QAAQ,yCAAsC;AAC/E,SAASC,QAAQ,QAAQ,yBAAsB;AAC/C,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,OAAO,MAAMC,MAAM,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,MAAMA,CAAC;EAC/CE,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,UAAU;EACVC;AACgB,CAAC,EAAE;EACnB,MAAMC,MAAM,
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","HeaderShownContext","StackActions","React","useSafeAreaInsets","ModalPresentationContext","throttle","HeaderSegment","jsx","_jsx","Header","memo","back","progress","inverted","options","route","navigation","styleInterpolator","insets","previousTitle","headerBackTitle","undefined","title","goBack","useCallback","isFocused","canGoBack","dispatch","pop","source","key","isModal","use","isParentHeaderShown","statusBarHeight","headerStatusBarHeight","top","name","modal","onGoBack","backHref","href"],"sourceRoot":"../../../../src","sources":["views/Header/Header.tsx"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,kBAAkB,QAAQ,4BAA4B;AAC/E,SAASC,YAAY,QAAQ,0BAA0B;AACvD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,iBAAiB,QAAQ,gCAAgC;AAGlE,SAASC,wBAAwB,QAAQ,yCAAsC;AAC/E,SAASC,QAAQ,QAAQ,yBAAsB;AAC/C,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,OAAO,MAAMC,MAAM,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,MAAMA,CAAC;EAC/CE,IAAI;EACJC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,UAAU;EACVC;AACgB,CAAC,EAAE;EACnB,MAAMC,MAAM,GAAGf,iBAAiB,CAAC,CAAC;EAElC,IAAIgB,aAAa;;EAEjB;EACA;EACA,IAAIL,OAAO,CAACM,eAAe,KAAKC,SAAS,EAAE;IACzCF,aAAa,GAAGL,OAAO,CAACM,eAAe;EACzC,CAAC,MAAM,IAAIT,IAAI,EAAE;IACfQ,aAAa,GAAGR,IAAI,CAACW,KAAK;EAC5B;;EAEA;EACA,MAAMC,MAAM,GAAGrB,KAAK,CAACsB,WAAW,CAC9BnB,QAAQ,CAAC,MAAM;IACb,IAAIW,UAAU,CAACS,SAAS,CAAC,CAAC,IAAIT,UAAU,CAACU,SAAS,CAAC,CAAC,EAAE;MACpDV,UAAU,CAACW,QAAQ,CAAC;QAClB,GAAG1B,YAAY,CAAC2B,GAAG,CAAC,CAAC;QACrBC,MAAM,EAAEd,KAAK,CAACe;MAChB,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC,EACN,CAACd,UAAU,EAAED,KAAK,CAACe,GAAG,CACxB,CAAC;EAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,GAAG,CAAC5B,wBAAwB,CAAC;EACnD,MAAM6B,mBAAmB,GAAG/B,KAAK,CAAC8B,GAAG,CAAChC,kBAAkB,CAAC;EAEzD,MAAMkC,eAAe,GACnBpB,OAAO,CAACqB,qBAAqB,KAAKd,SAAS,GACvCP,OAAO,CAACqB,qBAAqB,GAC7BJ,OAAO,IAAIE,mBAAmB,GAC5B,CAAC,GACDf,MAAM,CAACkB,GAAG;EAElB,oBACE5B,IAAA,CAACF,aAAa;IAAA,GACRQ,OAAO;IACXD,QAAQ,EAAEA,QAAS;IACnBS,KAAK,EAAEvB,cAAc,CAACe,OAAO,EAAEC,KAAK,CAACsB,IAAI,CAAE;IAC3CzB,QAAQ,EAAEA,QAAS;IACnB0B,KAAK,EAAEP,OAAQ;IACfX,eAAe,EACbN,OAAO,CAACM,eAAe,KAAKC,SAAS,GACjCP,OAAO,CAACM,eAAe,GACvBD,aACL;IACDgB,qBAAqB,EAAED,eAAgB;IACvCK,QAAQ,EAAE5B,IAAI,GAAGY,MAAM,GAAGF,SAAU;IACpCmB,QAAQ,EAAE7B,IAAI,GAAGA,IAAI,CAAC8B,IAAI,GAAGpB,SAAU;IACvCJ,iBAAiB,EAAEA;EAAkB,CACtC,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { getHeaderTitle, HeaderBackContext } from '@react-navigation/elements';
|
|
4
4
|
import { ActivityView } from '@react-navigation/elements/internal';
|
|
5
|
-
import { NavigationProvider, useLinkBuilder } from '@react-navigation/native';
|
|
5
|
+
import { NavigationProvider, useLinkBuilder, useLocale } from '@react-navigation/native';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { StyleSheet, View } from 'react-native';
|
|
8
|
-
import { forNoAnimation, forSlideLeft,
|
|
8
|
+
import { forNoAnimation, forSlideLeft, forSlideUp } from "../../TransitionConfigs/HeaderStyleInterpolators.js";
|
|
9
|
+
import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js";
|
|
9
10
|
import { Header } from "./Header.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
export function HeaderContainer({
|
|
@@ -22,6 +23,9 @@ export function HeaderContainer({
|
|
|
22
23
|
const {
|
|
23
24
|
buildHref
|
|
24
25
|
} = useLinkBuilder();
|
|
26
|
+
const {
|
|
27
|
+
direction
|
|
28
|
+
} = useLocale();
|
|
25
29
|
return /*#__PURE__*/_jsx(View, {
|
|
26
30
|
style: [styles.container, style],
|
|
27
31
|
children: scenes.map((scene, i, self) => {
|
|
@@ -88,10 +92,11 @@ export function HeaderContainer({
|
|
|
88
92
|
const props = {
|
|
89
93
|
back: headerBack,
|
|
90
94
|
progress: scene.progress,
|
|
95
|
+
inverted: getInvertedMultiplier(isHeaderStatic && nextHeaderlessGestureDirection ? nextHeaderlessGestureDirection : scene.descriptor.options.gestureDirection, direction === 'rtl'),
|
|
91
96
|
options: scene.descriptor.options,
|
|
92
97
|
route: scene.descriptor.route,
|
|
93
98
|
navigation: scene.descriptor.navigation,
|
|
94
|
-
styleInterpolator: mode === 'float' ? isHeaderStatic ? nextHeaderlessGestureDirection === 'vertical' || nextHeaderlessGestureDirection === 'vertical-inverted' ? forSlideUp :
|
|
99
|
+
styleInterpolator: mode === 'float' ? isHeaderStatic ? nextHeaderlessGestureDirection === 'vertical' || nextHeaderlessGestureDirection === 'vertical-inverted' ? forSlideUp : forSlideLeft : headerStyleInterpolator : forNoAnimation
|
|
95
100
|
};
|
|
96
101
|
const onRef = node => {
|
|
97
102
|
node?.measure((_x, _y, _width, height) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderBackContext","ActivityView","NavigationProvider","useLinkBuilder","React","StyleSheet","View","forNoAnimation","forSlideLeft","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","HeaderBackContext","ActivityView","NavigationProvider","useLinkBuilder","useLocale","React","StyleSheet","View","forNoAnimation","forSlideLeft","forSlideUp","getInvertedMultiplier","Header","jsx","_jsx","HeaderContainer","mode","scenes","getPreviousScene","getFocusedRoute","contentHeight","onContentHeightChange","style","focusedRoute","parentHeaderBack","use","buildHref","direction","styles","container","children","map","scene","i","self","length","header","headerMode","headerShown","headerTransparent","headerStyleInterpolator","descriptor","options","isFocused","key","route","previousScene","headerBack","title","name","href","params","previousDescriptor","nextDescriptor","previousHeaderShown","previousHeaderMode","nextHeaderTransparent","nextHeaderlessScene","slice","find","currentHeaderShown","currentHeaderMode","gestureDirection","nextHeaderlessGestureDirection","isHeaderStatic","props","back","progress","inverted","navigation","styleInterpolator","onRef","node","measure","_x","_y","_width","height","measured","onLayout","e","nativeEvent","layout","absolute","minHeight","value","pointerEvents","ref","visible","undefined","create","position","top","start","end"],"sourceRoot":"../../../../src","sources":["views/Header/HeaderContainer.tsx"],"mappings":"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","ignoreList":[]}
|