@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
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.forBottomSheetAndroid = forBottomSheetAndroid;
|
|
7
|
+
exports.forFadeFromBottomAndroid = forFadeFromBottomAndroid;
|
|
8
|
+
exports.forFadeFromCenter = forFadeFromCenter;
|
|
6
9
|
exports.forHorizontalIOS = forHorizontalIOS;
|
|
7
|
-
exports.forVerticalIOS = forVerticalIOS;
|
|
8
10
|
exports.forModalPresentationIOS = forModalPresentationIOS;
|
|
9
|
-
exports.
|
|
11
|
+
exports.forNoAnimation = forNoAnimation;
|
|
10
12
|
exports.forRevealFromBottomAndroid = forRevealFromBottomAndroid;
|
|
11
13
|
exports.forScaleFromCenterAndroid = forScaleFromCenterAndroid;
|
|
12
|
-
exports.
|
|
13
|
-
exports.forFadeFromCenter = forFadeFromCenter;
|
|
14
|
-
exports.forNoAnimation = forNoAnimation;
|
|
14
|
+
exports.forVerticalIOS = forVerticalIOS;
|
|
15
15
|
|
|
16
16
|
var _reactNative = require("react-native");
|
|
17
17
|
|
|
@@ -27,14 +27,15 @@ const {
|
|
|
27
27
|
* Standard iOS-style slide in from the right.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
function forHorizontalIOS({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
30
|
+
function forHorizontalIOS(_ref) {
|
|
31
|
+
let {
|
|
32
|
+
current,
|
|
33
|
+
next,
|
|
34
|
+
inverted,
|
|
35
|
+
layouts: {
|
|
36
|
+
screen
|
|
37
|
+
}
|
|
38
|
+
} = _ref;
|
|
38
39
|
const translateFocused = multiply(current.progress.interpolate({
|
|
39
40
|
inputRange: [0, 1],
|
|
40
41
|
outputRange: [screen.width, 0],
|
|
@@ -78,13 +79,14 @@ function forHorizontalIOS({
|
|
|
78
79
|
*/
|
|
79
80
|
|
|
80
81
|
|
|
81
|
-
function forVerticalIOS({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
82
|
+
function forVerticalIOS(_ref2) {
|
|
83
|
+
let {
|
|
84
|
+
current,
|
|
85
|
+
inverted,
|
|
86
|
+
layouts: {
|
|
87
|
+
screen
|
|
88
|
+
}
|
|
89
|
+
} = _ref2;
|
|
88
90
|
const translateY = multiply(current.progress.interpolate({
|
|
89
91
|
inputRange: [0, 1],
|
|
90
92
|
outputRange: [screen.height, 0],
|
|
@@ -103,16 +105,17 @@ function forVerticalIOS({
|
|
|
103
105
|
*/
|
|
104
106
|
|
|
105
107
|
|
|
106
|
-
function forModalPresentationIOS({
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
108
|
+
function forModalPresentationIOS(_ref3) {
|
|
109
|
+
let {
|
|
110
|
+
index,
|
|
111
|
+
current,
|
|
112
|
+
next,
|
|
113
|
+
inverted,
|
|
114
|
+
layouts: {
|
|
115
|
+
screen
|
|
116
|
+
},
|
|
117
|
+
insets
|
|
118
|
+
} = _ref3;
|
|
116
119
|
const hasNotchIos = _reactNative.Platform.OS === 'ios' && !_reactNative.Platform.isPad && !_reactNative.Platform.isTVOS && insets.top > 20;
|
|
117
120
|
const isLandscape = screen.width > screen.height;
|
|
118
121
|
const topOffset = isLandscape ? 0 : 10;
|
|
@@ -171,14 +174,15 @@ function forModalPresentationIOS({
|
|
|
171
174
|
*/
|
|
172
175
|
|
|
173
176
|
|
|
174
|
-
function forFadeFromBottomAndroid({
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
function forFadeFromBottomAndroid(_ref4) {
|
|
178
|
+
let {
|
|
179
|
+
current,
|
|
180
|
+
inverted,
|
|
181
|
+
layouts: {
|
|
182
|
+
screen
|
|
183
|
+
},
|
|
184
|
+
closing
|
|
185
|
+
} = _ref4;
|
|
182
186
|
const translateY = multiply(current.progress.interpolate({
|
|
183
187
|
inputRange: [0, 1],
|
|
184
188
|
outputRange: [screen.height * 0.08, 0],
|
|
@@ -203,14 +207,15 @@ function forFadeFromBottomAndroid({
|
|
|
203
207
|
*/
|
|
204
208
|
|
|
205
209
|
|
|
206
|
-
function forRevealFromBottomAndroid({
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
210
|
+
function forRevealFromBottomAndroid(_ref5) {
|
|
211
|
+
let {
|
|
212
|
+
current,
|
|
213
|
+
next,
|
|
214
|
+
inverted,
|
|
215
|
+
layouts: {
|
|
216
|
+
screen
|
|
217
|
+
}
|
|
218
|
+
} = _ref5;
|
|
214
219
|
const containerTranslateY = multiply(current.progress.interpolate({
|
|
215
220
|
inputRange: [0, 1],
|
|
216
221
|
outputRange: [screen.height, 0],
|
|
@@ -255,11 +260,12 @@ function forRevealFromBottomAndroid({
|
|
|
255
260
|
*/
|
|
256
261
|
|
|
257
262
|
|
|
258
|
-
function forScaleFromCenterAndroid({
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
+
function forScaleFromCenterAndroid(_ref6) {
|
|
264
|
+
let {
|
|
265
|
+
current,
|
|
266
|
+
next,
|
|
267
|
+
closing
|
|
268
|
+
} = _ref6;
|
|
263
269
|
const progress = add(current.progress.interpolate({
|
|
264
270
|
inputRange: [0, 1],
|
|
265
271
|
outputRange: [0, 1],
|
|
@@ -295,14 +301,15 @@ function forScaleFromCenterAndroid({
|
|
|
295
301
|
*/
|
|
296
302
|
|
|
297
303
|
|
|
298
|
-
function forBottomSheetAndroid({
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
304
|
+
function forBottomSheetAndroid(_ref7) {
|
|
305
|
+
let {
|
|
306
|
+
current,
|
|
307
|
+
inverted,
|
|
308
|
+
layouts: {
|
|
309
|
+
screen
|
|
310
|
+
},
|
|
311
|
+
closing
|
|
312
|
+
} = _ref7;
|
|
306
313
|
const translateY = multiply(current.progress.interpolate({
|
|
307
314
|
inputRange: [0, 1],
|
|
308
315
|
outputRange: [screen.height * 0.8, 0],
|
|
@@ -335,11 +342,12 @@ function forBottomSheetAndroid({
|
|
|
335
342
|
*/
|
|
336
343
|
|
|
337
344
|
|
|
338
|
-
function forFadeFromCenter({
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
}
|
|
345
|
+
function forFadeFromCenter(_ref8) {
|
|
346
|
+
let {
|
|
347
|
+
current: {
|
|
348
|
+
progress
|
|
349
|
+
}
|
|
350
|
+
} = _ref8;
|
|
343
351
|
return {
|
|
344
352
|
cardStyle: {
|
|
345
353
|
opacity: progress.interpolate({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CardStyleInterpolators.tsx"],"names":["add","multiply","Animated","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","Platform","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":["add","multiply","Animated","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","Platform","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"]}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.forUIKit = forUIKit;
|
|
7
6
|
exports.forFade = forFade;
|
|
7
|
+
exports.forNoAnimation = forNoAnimation;
|
|
8
8
|
exports.forSlideLeft = forSlideLeft;
|
|
9
9
|
exports.forSlideRight = forSlideRight;
|
|
10
10
|
exports.forSlideUp = forSlideUp;
|
|
11
|
-
exports.
|
|
11
|
+
exports.forUIKit = forUIKit;
|
|
12
12
|
|
|
13
13
|
var _reactNative = require("react-native");
|
|
14
14
|
|
|
@@ -19,11 +19,12 @@ const {
|
|
|
19
19
|
* Standard UIKit style animation for the header where the title fades into the back button label.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
function forUIKit({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
function forUIKit(_ref) {
|
|
23
|
+
let {
|
|
24
|
+
current,
|
|
25
|
+
next,
|
|
26
|
+
layouts
|
|
27
|
+
} = _ref;
|
|
27
28
|
const defaultOffset = 100;
|
|
28
29
|
const leftSpacing = 27; // The title and back button title should cross-fade to each other
|
|
29
30
|
// When screen is fully open, the title should be in center, and back title should be on left
|
|
@@ -93,10 +94,11 @@ function forUIKit({
|
|
|
93
94
|
*/
|
|
94
95
|
|
|
95
96
|
|
|
96
|
-
function forFade({
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
function forFade(_ref2) {
|
|
98
|
+
let {
|
|
99
|
+
current,
|
|
100
|
+
next
|
|
101
|
+
} = _ref2;
|
|
100
102
|
const progress = add(current.progress.interpolate({
|
|
101
103
|
inputRange: [0, 1],
|
|
102
104
|
outputRange: [0, 1],
|
|
@@ -133,13 +135,14 @@ function forFade({
|
|
|
133
135
|
*/
|
|
134
136
|
|
|
135
137
|
|
|
136
|
-
function forSlideLeft({
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
138
|
+
function forSlideLeft(_ref3) {
|
|
139
|
+
let {
|
|
140
|
+
current,
|
|
141
|
+
next,
|
|
142
|
+
layouts: {
|
|
143
|
+
screen
|
|
144
|
+
}
|
|
145
|
+
} = _ref3;
|
|
143
146
|
const progress = add(current.progress.interpolate({
|
|
144
147
|
inputRange: [0, 1],
|
|
145
148
|
outputRange: [0, 1],
|
|
@@ -176,13 +179,14 @@ function forSlideLeft({
|
|
|
176
179
|
*/
|
|
177
180
|
|
|
178
181
|
|
|
179
|
-
function forSlideRight({
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
182
|
+
function forSlideRight(_ref4) {
|
|
183
|
+
let {
|
|
184
|
+
current,
|
|
185
|
+
next,
|
|
186
|
+
layouts: {
|
|
187
|
+
screen
|
|
188
|
+
}
|
|
189
|
+
} = _ref4;
|
|
186
190
|
const progress = add(current.progress.interpolate({
|
|
187
191
|
inputRange: [0, 1],
|
|
188
192
|
outputRange: [0, 1],
|
|
@@ -219,13 +223,14 @@ function forSlideRight({
|
|
|
219
223
|
*/
|
|
220
224
|
|
|
221
225
|
|
|
222
|
-
function forSlideUp({
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}
|
|
226
|
+
function forSlideUp(_ref5) {
|
|
227
|
+
let {
|
|
228
|
+
current,
|
|
229
|
+
next,
|
|
230
|
+
layouts: {
|
|
231
|
+
header
|
|
232
|
+
}
|
|
233
|
+
} = _ref5;
|
|
229
234
|
const progress = add(current.progress.interpolate({
|
|
230
235
|
inputRange: [0, 1],
|
|
231
236
|
outputRange: [0, 1],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HeaderStyleInterpolators.tsx"],"names":["add","Animated","forUIKit","current","next","layouts","defaultOffset","leftSpacing","leftLabelOffset","leftLabel","screen","width","titleLeftOffset","title","rightOffset","progress","interpolate","inputRange","outputRange","extrapolate","leftButtonStyle","opacity","leftLabelStyle","transform","translateX","I18nManager","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":["add","Animated","forUIKit","current","next","layouts","defaultOffset","leftSpacing","leftLabelOffset","leftLabel","screen","width","titleLeftOffset","title","rightOffset","progress","interpolate","inputRange","outputRange","extrapolate","leftButtonStyle","opacity","leftLabelStyle","transform","translateX","I18nManager","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"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.SlideFromRightIOS = exports.ScaleFromCenterAndroid = exports.RevealFromBottomAndroid = exports.ModalTransition = exports.ModalSlideFromBottomIOS = exports.ModalPresentationIOS = exports.ModalFadeTransition = exports.FadeFromBottomAndroid = exports.DefaultTransition = exports.BottomSheetAndroid = void 0;
|
|
7
7
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.TransitionIOSSpec = exports.ScaleFromCenterAndroidSpec = exports.RevealFromBottomAndroidSpec = exports.FadeOutToBottomAndroidSpec = exports.FadeInFromBottomAndroidSpec = exports.BottomSheetSlideOutSpec = exports.BottomSheetSlideInSpec = void 0;
|
|
7
7
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,34 +3,37 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "CardAnimationContext", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return
|
|
9
|
+
return _CardAnimationContext.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
|
|
12
|
+
exports.CardStyleInterpolators = void 0;
|
|
13
|
+
Object.defineProperty(exports, "GestureHandlerRefContext", {
|
|
13
14
|
enumerable: true,
|
|
14
15
|
get: function () {
|
|
15
|
-
return
|
|
16
|
+
return _GestureHandlerRefContext.default;
|
|
16
17
|
}
|
|
17
18
|
});
|
|
18
|
-
Object.defineProperty(exports, "
|
|
19
|
+
Object.defineProperty(exports, "Header", {
|
|
19
20
|
enumerable: true,
|
|
20
21
|
get: function () {
|
|
21
|
-
return
|
|
22
|
+
return _Header.default;
|
|
22
23
|
}
|
|
23
24
|
});
|
|
24
|
-
|
|
25
|
+
exports.HeaderStyleInterpolators = void 0;
|
|
26
|
+
Object.defineProperty(exports, "StackView", {
|
|
25
27
|
enumerable: true,
|
|
26
28
|
get: function () {
|
|
27
|
-
return
|
|
29
|
+
return _StackView.default;
|
|
28
30
|
}
|
|
29
31
|
});
|
|
30
|
-
|
|
32
|
+
exports.TransitionSpecs = exports.TransitionPresets = void 0;
|
|
33
|
+
Object.defineProperty(exports, "createStackNavigator", {
|
|
31
34
|
enumerable: true,
|
|
32
35
|
get: function () {
|
|
33
|
-
return
|
|
36
|
+
return _createStackNavigator.default;
|
|
34
37
|
}
|
|
35
38
|
});
|
|
36
39
|
Object.defineProperty(exports, "useCardAnimation", {
|
|
@@ -45,7 +48,6 @@ Object.defineProperty(exports, "useGestureHandlerRef", {
|
|
|
45
48
|
return _useGestureHandlerRef.default;
|
|
46
49
|
}
|
|
47
50
|
});
|
|
48
|
-
exports.TransitionSpecs = exports.TransitionPresets = exports.HeaderStyleInterpolators = exports.CardStyleInterpolators = void 0;
|
|
49
51
|
|
|
50
52
|
var CardStyleInterpolators = _interopRequireWildcard(require("./TransitionConfigs/CardStyleInterpolators"));
|
|
51
53
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AAKA;;AAKA;;AACA;;AAeA;;AACA;;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"]}
|
|
@@ -21,13 +21,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
21
21
|
|
|
22
22
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
23
|
|
|
24
|
-
function StackNavigator({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
function StackNavigator(_ref) {
|
|
25
|
+
let {
|
|
26
|
+
initialRouteName,
|
|
27
|
+
children,
|
|
28
|
+
screenListeners,
|
|
29
|
+
screenOptions,
|
|
30
|
+
...rest
|
|
31
|
+
} = _ref;
|
|
31
32
|
// @ts-expect-error: mode is deprecated
|
|
32
33
|
const mode = rest.mode;
|
|
33
34
|
(0, _warnOnce.default)(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":["StackNavigator","initialRouteName","children","screenListeners","screenOptions","rest","mode","headerMode","keyboardHandlingEnabled","undefined","defaultScreenOptions","presentation","headerShown","state","descriptors","navigation","NavigationContent","StackRouter","React","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key"],"mappings":";;;;;;;AAAA;;AAYA;;AACA;;AAQA;;;;;;;;;;AAWA,SAASA,cAAT,
|
|
1
|
+
{"version":3,"sources":["createStackNavigator.tsx"],"names":["StackNavigator","initialRouteName","children","screenListeners","screenOptions","rest","mode","headerMode","keyboardHandlingEnabled","undefined","defaultScreenOptions","presentation","headerShown","state","descriptors","navigation","NavigationContent","StackRouter","React","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key"],"mappings":";;;;;;;AAAA;;AAYA;;AACA;;AAQA;;;;;;;;;;AAWA,SAASA,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;AAEA,yBACEA,IAAI,IAAI,IADV,EAEG,2BAA0BA,IAAK,yCAAwCA,IAAK,uHAF/E,EAJQ,CASR;;AACA,QAAMC,UAAU,GAAGF,IAAI,CAACE,UAAxB;AAEA,yBACEA,UAAU,KAAK,MADjB,EAEG,iMAFH;AAKA,yBACEA,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK,MADvC,EAEG,kMAFH,EAjBQ,CAsBR;;AACA,QAAMC,uBAAuB,GAAGH,IAAI,CAACG,uBAArC;AAEA,yBACEA,uBAAuB,KAAKC,SAD9B,EAEG,4NAFH;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,MACJ,kCAMEC,mBANF,EAMe;AACbhB,IAAAA,gBADa;AAEbC,IAAAA,QAFa;AAGbC,IAAAA,eAHa;AAIbC,IAAAA,aAJa;AAKbM,IAAAA;AALa,GANf,CADF;AAeAQ,EAAAA,KAAK,CAACC,SAAN,CACE;AAAA;;AAAA,oCACEJ,UAAU,CAACK,WADb,0DACE,2BAAAL,UAAU,EAAe,UAAf,EAA4BM,CAAD,IAAO;AAC1C,YAAMC,SAAS,GAAGP,UAAU,CAACO,SAAX,EAAlB,CAD0C,CAG1C;AACA;;AACAC,MAAAA,qBAAqB,CAAC,MAAM;AAC1B,YACEV,KAAK,CAACW,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;AACA;AACA;AACAV,UAAAA,UAAU,CAACW,QAAX,CAAoB,EAClB,GAAGC,qBAAaC,QAAb,EADe;AAElBC,YAAAA,MAAM,EAAEhB,KAAK,CAACiB;AAFI,WAApB;AAID;AACF,OAboB,CAArB;AAcD,KAnBS,CADZ;AAAA,GADF,EAsBE,CAACf,UAAD,EAAaF,KAAK,CAACW,KAAnB,EAA0BX,KAAK,CAACiB,GAAhC,CAtBF;AAyBA,sBACE,oBAAC,iBAAD,qBACE,oBAAC,kBAAD,eACMzB,IADN;AAEE,IAAA,KAAK,EAAEQ,KAFT;AAGE,IAAA,WAAW,EAAEC,WAHf;AAIE,IAAA,UAAU,EAAEC;AAJd,KADF,CADF;AAUD;;eAEc,oCAKbf,cALa,C","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"]}
|