@react-navigation/stack 6.2.0 → 6.2.3
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/HeaderStyleInterpolators.js +5 -5
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/commonjs/utils/getInvertedMultiplier.js +2 -2
- package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +5 -5
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/utils/getInvertedMultiplier.js +2 -2
- package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
- package/package.json +14 -14
- package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +5 -5
- package/src/utils/getInvertedMultiplier.tsx +2 -2
|
@@ -57,7 +57,7 @@ function forUIKit(_ref) {
|
|
|
57
57
|
transform: [{
|
|
58
58
|
translateX: progress.interpolate({
|
|
59
59
|
inputRange: [0, 1, 2],
|
|
60
|
-
outputRange: _reactNative.I18nManager.isRTL ? [-rightOffset, 0, leftLabelOffset] : [leftLabelOffset, 0, -rightOffset]
|
|
60
|
+
outputRange: _reactNative.I18nManager.getConstants().isRTL ? [-rightOffset, 0, leftLabelOffset] : [leftLabelOffset, 0, -rightOffset]
|
|
61
61
|
})
|
|
62
62
|
}]
|
|
63
63
|
},
|
|
@@ -75,7 +75,7 @@ function forUIKit(_ref) {
|
|
|
75
75
|
transform: [{
|
|
76
76
|
translateX: progress.interpolate({
|
|
77
77
|
inputRange: [0.5, 1, 2],
|
|
78
|
-
outputRange: _reactNative.I18nManager.isRTL ? [-titleLeftOffset, 0, rightOffset] : [rightOffset, 0, -titleLeftOffset]
|
|
78
|
+
outputRange: _reactNative.I18nManager.getConstants().isRTL ? [-titleLeftOffset, 0, rightOffset] : [rightOffset, 0, -titleLeftOffset]
|
|
79
79
|
})
|
|
80
80
|
}]
|
|
81
81
|
},
|
|
@@ -83,7 +83,7 @@ function forUIKit(_ref) {
|
|
|
83
83
|
transform: [{
|
|
84
84
|
translateX: progress.interpolate({
|
|
85
85
|
inputRange: [0, 1, 2],
|
|
86
|
-
outputRange: _reactNative.I18nManager.isRTL ? [-layouts.screen.width, 0, layouts.screen.width] : [layouts.screen.width, 0, -layouts.screen.width]
|
|
86
|
+
outputRange: _reactNative.I18nManager.getConstants().isRTL ? [-layouts.screen.width, 0, layouts.screen.width] : [layouts.screen.width, 0, -layouts.screen.width]
|
|
87
87
|
})
|
|
88
88
|
}]
|
|
89
89
|
}
|
|
@@ -154,7 +154,7 @@ function forSlideLeft(_ref3) {
|
|
|
154
154
|
}) : 0);
|
|
155
155
|
const translateX = progress.interpolate({
|
|
156
156
|
inputRange: [0, 1, 2],
|
|
157
|
-
outputRange: _reactNative.I18nManager.isRTL ? [-screen.width, 0, screen.width] : [screen.width, 0, -screen.width]
|
|
157
|
+
outputRange: _reactNative.I18nManager.getConstants().isRTL ? [-screen.width, 0, screen.width] : [screen.width, 0, -screen.width]
|
|
158
158
|
});
|
|
159
159
|
const transform = [{
|
|
160
160
|
translateX
|
|
@@ -198,7 +198,7 @@ function forSlideRight(_ref4) {
|
|
|
198
198
|
}) : 0);
|
|
199
199
|
const translateX = progress.interpolate({
|
|
200
200
|
inputRange: [0, 1, 2],
|
|
201
|
-
outputRange: _reactNative.I18nManager.isRTL ? [screen.width, 0, -screen.width] : [-screen.width, 0, screen.width]
|
|
201
|
+
outputRange: _reactNative.I18nManager.getConstants().isRTL ? [screen.width, 0, -screen.width] : [-screen.width, 0, screen.width]
|
|
202
202
|
});
|
|
203
203
|
const transform = [{
|
|
204
204
|
translateX
|
|
@@ -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","getConstants","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.getConstants().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.getConstants().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.getConstants().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.getConstants().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.getConstants().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"]}
|
|
@@ -16,10 +16,10 @@ function getInvertedMultiplier(gestureDirection) {
|
|
|
16
16
|
return -1;
|
|
17
17
|
|
|
18
18
|
case 'horizontal':
|
|
19
|
-
return _reactNative.I18nManager.isRTL ? -1 : 1;
|
|
19
|
+
return _reactNative.I18nManager.getConstants().isRTL ? -1 : 1;
|
|
20
20
|
|
|
21
21
|
case 'horizontal-inverted':
|
|
22
|
-
return _reactNative.I18nManager.isRTL ? 1 : -1;
|
|
22
|
+
return _reactNative.I18nManager.getConstants().isRTL ? 1 : -1;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=getInvertedMultiplier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getInvertedMultiplier.tsx"],"names":["getInvertedMultiplier","gestureDirection","I18nManager","isRTL"],"mappings":";;;;;;;AAAA;;AAIe,SAASA,qBAAT,CACbC,gBADa,EAEL;AACR,UAAQA,gBAAR;AACE,SAAK,UAAL;AACE,aAAO,CAAP;;AACF,SAAK,mBAAL;AACE,aAAO,CAAC,CAAR;;AACF,SAAK,YAAL;AACE,aAAOC,yBAAYC,
|
|
1
|
+
{"version":3,"sources":["getInvertedMultiplier.tsx"],"names":["getInvertedMultiplier","gestureDirection","I18nManager","getConstants","isRTL"],"mappings":";;;;;;;AAAA;;AAIe,SAASA,qBAAT,CACbC,gBADa,EAEL;AACR,UAAQA,gBAAR;AACE,SAAK,UAAL;AACE,aAAO,CAAP;;AACF,SAAK,mBAAL;AACE,aAAO,CAAC,CAAR;;AACF,SAAK,YAAL;AACE,aAAOC,yBAAYC,YAAZ,GAA2BC,KAA3B,GAAmC,CAAC,CAApC,GAAwC,CAA/C;;AACF,SAAK,qBAAL;AACE,aAAOF,yBAAYC,YAAZ,GAA2BC,KAA3B,GAAmC,CAAnC,GAAuC,CAAC,CAA/C;AARJ;AAUD","sourcesContent":["import { I18nManager } from 'react-native';\n\nimport type { GestureDirection } from '../types';\n\nexport default function getInvertedMultiplier(\n gestureDirection: GestureDirection\n): 1 | -1 {\n switch (gestureDirection) {\n case 'vertical':\n return 1;\n case 'vertical-inverted':\n return -1;\n case 'horizontal':\n return I18nManager.getConstants().isRTL ? -1 : 1;\n case 'horizontal-inverted':\n return I18nManager.getConstants().isRTL ? 1 : -1;\n }\n}\n"]}
|
|
@@ -44,7 +44,7 @@ export function forUIKit(_ref) {
|
|
|
44
44
|
transform: [{
|
|
45
45
|
translateX: progress.interpolate({
|
|
46
46
|
inputRange: [0, 1, 2],
|
|
47
|
-
outputRange: I18nManager.isRTL ? [-rightOffset, 0, leftLabelOffset] : [leftLabelOffset, 0, -rightOffset]
|
|
47
|
+
outputRange: I18nManager.getConstants().isRTL ? [-rightOffset, 0, leftLabelOffset] : [leftLabelOffset, 0, -rightOffset]
|
|
48
48
|
})
|
|
49
49
|
}]
|
|
50
50
|
},
|
|
@@ -62,7 +62,7 @@ export function forUIKit(_ref) {
|
|
|
62
62
|
transform: [{
|
|
63
63
|
translateX: progress.interpolate({
|
|
64
64
|
inputRange: [0.5, 1, 2],
|
|
65
|
-
outputRange: I18nManager.isRTL ? [-titleLeftOffset, 0, rightOffset] : [rightOffset, 0, -titleLeftOffset]
|
|
65
|
+
outputRange: I18nManager.getConstants().isRTL ? [-titleLeftOffset, 0, rightOffset] : [rightOffset, 0, -titleLeftOffset]
|
|
66
66
|
})
|
|
67
67
|
}]
|
|
68
68
|
},
|
|
@@ -70,7 +70,7 @@ export function forUIKit(_ref) {
|
|
|
70
70
|
transform: [{
|
|
71
71
|
translateX: progress.interpolate({
|
|
72
72
|
inputRange: [0, 1, 2],
|
|
73
|
-
outputRange: I18nManager.isRTL ? [-layouts.screen.width, 0, layouts.screen.width] : [layouts.screen.width, 0, -layouts.screen.width]
|
|
73
|
+
outputRange: I18nManager.getConstants().isRTL ? [-layouts.screen.width, 0, layouts.screen.width] : [layouts.screen.width, 0, -layouts.screen.width]
|
|
74
74
|
})
|
|
75
75
|
}]
|
|
76
76
|
}
|
|
@@ -139,7 +139,7 @@ export function forSlideLeft(_ref3) {
|
|
|
139
139
|
}) : 0);
|
|
140
140
|
const translateX = progress.interpolate({
|
|
141
141
|
inputRange: [0, 1, 2],
|
|
142
|
-
outputRange: I18nManager.isRTL ? [-screen.width, 0, screen.width] : [screen.width, 0, -screen.width]
|
|
142
|
+
outputRange: I18nManager.getConstants().isRTL ? [-screen.width, 0, screen.width] : [screen.width, 0, -screen.width]
|
|
143
143
|
});
|
|
144
144
|
const transform = [{
|
|
145
145
|
translateX
|
|
@@ -182,7 +182,7 @@ export function forSlideRight(_ref4) {
|
|
|
182
182
|
}) : 0);
|
|
183
183
|
const translateX = progress.interpolate({
|
|
184
184
|
inputRange: [0, 1, 2],
|
|
185
|
-
outputRange: I18nManager.isRTL ? [screen.width, 0, -screen.width] : [-screen.width, 0, screen.width]
|
|
185
|
+
outputRange: I18nManager.getConstants().isRTL ? [screen.width, 0, -screen.width] : [-screen.width, 0, screen.width]
|
|
186
186
|
});
|
|
187
187
|
const transform = [{
|
|
188
188
|
translateX
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HeaderStyleInterpolators.tsx"],"names":["Animated","I18nManager","add","forUIKit","current","next","layouts","defaultOffset","leftSpacing","leftLabelOffset","leftLabel","screen","width","titleLeftOffset","title","rightOffset","progress","interpolate","inputRange","outputRange","extrapolate","leftButtonStyle","opacity","leftLabelStyle","transform","translateX","isRTL","rightButtonStyle","titleStyle","backgroundStyle","forFade","forSlideLeft","forSlideRight","forSlideUp","header","translateY","height","forNoAnimation"],"mappings":"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","sourcesContent":["import { Animated, I18nManager } from 'react-native';\n\nimport type {\n StackHeaderInterpolatedStyle,\n StackHeaderInterpolationProps,\n} from '../types';\n\nconst { add } = Animated;\n\n/**\n * Standard UIKit style animation for the header where the title fades into the back button label.\n */\nexport function forUIKit({\n current,\n next,\n layouts,\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const defaultOffset = 100;\n const leftSpacing = 27;\n\n // The title and back button title should cross-fade to each other\n // When screen is fully open, the title should be in center, and back title should be on left\n // When screen is closing, the previous title will animate to back title's position\n // And back title will animate to title's position\n // We achieve this by calculating the offsets needed to translate title to back title's position and vice-versa\n const leftLabelOffset = layouts.leftLabel\n ? (layouts.screen.width - layouts.leftLabel.width) / 2 - leftSpacing\n : defaultOffset;\n const titleLeftOffset = layouts.title\n ? (layouts.screen.width - layouts.title.width) / 2 - leftSpacing\n : defaultOffset;\n\n // When the current title is animating to right, it is centered in the right half of screen in middle of transition\n // The back title also animates in from this position\n const rightOffset = layouts.screen.width / 4;\n\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n return {\n leftButtonStyle: {\n opacity: progress.interpolate({\n inputRange: [0.3, 1, 1.5],\n outputRange: [0, 1, 0],\n }),\n },\n leftLabelStyle: {\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-rightOffset, 0, leftLabelOffset]\n : [leftLabelOffset, 0, -rightOffset],\n }),\n },\n ],\n },\n rightButtonStyle: {\n opacity: progress.interpolate({\n inputRange: [0.3, 1, 1.5],\n outputRange: [0, 1, 0],\n }),\n },\n titleStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 0.4, 1, 1.5],\n outputRange: [0, 0.1, 1, 0],\n }),\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0.5, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-titleLeftOffset, 0, rightOffset]\n : [rightOffset, 0, -titleLeftOffset],\n }),\n },\n ],\n },\n backgroundStyle: {\n transform: [\n {\n translateX: progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-layouts.screen.width, 0, layouts.screen.width]\n : [layouts.screen.width, 0, -layouts.screen.width],\n }),\n },\n ],\n },\n };\n}\n\n/**\n * Simple fade animation for the header elements.\n */\nexport function forFade({\n current,\n next,\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const opacity = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [0, 1, 0],\n });\n\n return {\n leftButtonStyle: { opacity },\n rightButtonStyle: { opacity },\n titleStyle: { opacity },\n backgroundStyle: {\n opacity: progress.interpolate({\n inputRange: [0, 1, 1.9, 2],\n outputRange: [0, 1, 1, 0],\n }),\n },\n };\n}\n\n/**\n * Simple translate animation to translate the header to left.\n */\nexport function forSlideLeft({\n current,\n next,\n layouts: { screen },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateX = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [-screen.width, 0, screen.width]\n : [screen.width, 0, -screen.width],\n });\n\n const transform = [{ translateX }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\n/**\n * Simple translate animation to translate the header to right.\n */\nexport function forSlideRight({\n current,\n next,\n layouts: { screen },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateX = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: I18nManager.isRTL\n ? [screen.width, 0, -screen.width]\n : [-screen.width, 0, screen.width],\n });\n\n const transform = [{ translateX }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\n/**\n * Simple translate animation to translate the header to slide up.\n */\nexport function forSlideUp({\n current,\n next,\n layouts: { header },\n}: StackHeaderInterpolationProps): StackHeaderInterpolatedStyle {\n const progress = add(\n current.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n }),\n next\n ? next.progress.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n })\n : 0\n );\n\n const translateY = progress.interpolate({\n inputRange: [0, 1, 2],\n outputRange: [-header.height, 0, -header.height],\n });\n\n const transform = [{ translateY }];\n\n return {\n leftButtonStyle: { transform },\n rightButtonStyle: { transform },\n titleStyle: { transform },\n backgroundStyle: { transform },\n };\n}\n\nexport function forNoAnimation(): StackHeaderInterpolatedStyle {\n return {};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["HeaderStyleInterpolators.tsx"],"names":["Animated","I18nManager","add","forUIKit","current","next","layouts","defaultOffset","leftSpacing","leftLabelOffset","leftLabel","screen","width","titleLeftOffset","title","rightOffset","progress","interpolate","inputRange","outputRange","extrapolate","leftButtonStyle","opacity","leftLabelStyle","transform","translateX","getConstants","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.getConstants().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.getConstants().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.getConstants().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.getConstants().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.getConstants().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"]}
|
|
@@ -8,10 +8,10 @@ export default function getInvertedMultiplier(gestureDirection) {
|
|
|
8
8
|
return -1;
|
|
9
9
|
|
|
10
10
|
case 'horizontal':
|
|
11
|
-
return I18nManager.isRTL ? -1 : 1;
|
|
11
|
+
return I18nManager.getConstants().isRTL ? -1 : 1;
|
|
12
12
|
|
|
13
13
|
case 'horizontal-inverted':
|
|
14
|
-
return I18nManager.isRTL ? 1 : -1;
|
|
14
|
+
return I18nManager.getConstants().isRTL ? 1 : -1;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=getInvertedMultiplier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getInvertedMultiplier.tsx"],"names":["I18nManager","getInvertedMultiplier","gestureDirection","isRTL"],"mappings":"AAAA,SAASA,WAAT,QAA4B,cAA5B;AAIA,eAAe,SAASC,qBAAT,CACbC,gBADa,EAEL;AACR,UAAQA,gBAAR;AACE,SAAK,UAAL;AACE,aAAO,CAAP;;AACF,SAAK,mBAAL;AACE,aAAO,CAAC,CAAR;;AACF,SAAK,YAAL;AACE,aAAOF,WAAW,CAACG,
|
|
1
|
+
{"version":3,"sources":["getInvertedMultiplier.tsx"],"names":["I18nManager","getInvertedMultiplier","gestureDirection","getConstants","isRTL"],"mappings":"AAAA,SAASA,WAAT,QAA4B,cAA5B;AAIA,eAAe,SAASC,qBAAT,CACbC,gBADa,EAEL;AACR,UAAQA,gBAAR;AACE,SAAK,UAAL;AACE,aAAO,CAAP;;AACF,SAAK,mBAAL;AACE,aAAO,CAAC,CAAR;;AACF,SAAK,YAAL;AACE,aAAOF,WAAW,CAACG,YAAZ,GAA2BC,KAA3B,GAAmC,CAAC,CAApC,GAAwC,CAA/C;;AACF,SAAK,qBAAL;AACE,aAAOJ,WAAW,CAACG,YAAZ,GAA2BC,KAA3B,GAAmC,CAAnC,GAAuC,CAAC,CAA/C;AARJ;AAUD","sourcesContent":["import { I18nManager } from 'react-native';\n\nimport type { GestureDirection } from '../types';\n\nexport default function getInvertedMultiplier(\n gestureDirection: GestureDirection\n): 1 | -1 {\n switch (gestureDirection) {\n case 'vertical':\n return 1;\n case 'vertical-inverted':\n return -1;\n case 'horizontal':\n return I18nManager.getConstants().isRTL ? -1 : 1;\n case 'horizontal-inverted':\n return I18nManager.getConstants().isRTL ? 1 : -1;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/stack",
|
|
3
3
|
"description": "Stack navigator component for iOS and Android with animated transitions and gestures",
|
|
4
|
-
"version": "6.2.
|
|
4
|
+
"version": "6.2.3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -36,28 +36,28 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
|
-
"
|
|
39
|
+
"prepack": "bob build",
|
|
40
40
|
"clean": "del lib"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@react-navigation/elements": "^1.3.
|
|
44
|
-
"color": "^
|
|
43
|
+
"@react-navigation/elements": "^1.3.5",
|
|
44
|
+
"color": "^4.2.3",
|
|
45
45
|
"warn-once": "^0.1.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@react-navigation/native": "^6.0.
|
|
48
|
+
"@react-navigation/native": "^6.0.12",
|
|
49
49
|
"@testing-library/react-native": "^7.2.0",
|
|
50
50
|
"@types/color": "^3.0.1",
|
|
51
|
-
"@types/react": "^17.0.
|
|
52
|
-
"@types/react-native": "~0.
|
|
51
|
+
"@types/react": "^17.0.47",
|
|
52
|
+
"@types/react-native": "~0.68.1",
|
|
53
53
|
"del-cli": "^3.0.1",
|
|
54
|
-
"react": "17.0.
|
|
55
|
-
"react-native": "~0.
|
|
54
|
+
"react": "17.0.2",
|
|
55
|
+
"react-native": "~0.68.2",
|
|
56
56
|
"react-native-builder-bob": "^0.18.1",
|
|
57
|
-
"react-native-gesture-handler": "~2.2.
|
|
58
|
-
"react-native-safe-area-context": "
|
|
59
|
-
"react-native-screens": "~3.
|
|
60
|
-
"typescript": "^4.
|
|
57
|
+
"react-native-gesture-handler": "~2.2.1",
|
|
58
|
+
"react-native-safe-area-context": "4.2.4",
|
|
59
|
+
"react-native-screens": "~3.11.1",
|
|
60
|
+
"typescript": "^4.7.4"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@react-navigation/native": "^6.0.0",
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
]
|
|
82
82
|
]
|
|
83
83
|
},
|
|
84
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "83aa392f1e13796d609c9df0afa44699ce4bacae"
|
|
85
85
|
}
|
|
@@ -61,7 +61,7 @@ export function forUIKit({
|
|
|
61
61
|
{
|
|
62
62
|
translateX: progress.interpolate({
|
|
63
63
|
inputRange: [0, 1, 2],
|
|
64
|
-
outputRange: I18nManager.isRTL
|
|
64
|
+
outputRange: I18nManager.getConstants().isRTL
|
|
65
65
|
? [-rightOffset, 0, leftLabelOffset]
|
|
66
66
|
: [leftLabelOffset, 0, -rightOffset],
|
|
67
67
|
}),
|
|
@@ -83,7 +83,7 @@ export function forUIKit({
|
|
|
83
83
|
{
|
|
84
84
|
translateX: progress.interpolate({
|
|
85
85
|
inputRange: [0.5, 1, 2],
|
|
86
|
-
outputRange: I18nManager.isRTL
|
|
86
|
+
outputRange: I18nManager.getConstants().isRTL
|
|
87
87
|
? [-titleLeftOffset, 0, rightOffset]
|
|
88
88
|
: [rightOffset, 0, -titleLeftOffset],
|
|
89
89
|
}),
|
|
@@ -95,7 +95,7 @@ export function forUIKit({
|
|
|
95
95
|
{
|
|
96
96
|
translateX: progress.interpolate({
|
|
97
97
|
inputRange: [0, 1, 2],
|
|
98
|
-
outputRange: I18nManager.isRTL
|
|
98
|
+
outputRange: I18nManager.getConstants().isRTL
|
|
99
99
|
? [-layouts.screen.width, 0, layouts.screen.width]
|
|
100
100
|
: [layouts.screen.width, 0, -layouts.screen.width],
|
|
101
101
|
}),
|
|
@@ -170,7 +170,7 @@ export function forSlideLeft({
|
|
|
170
170
|
|
|
171
171
|
const translateX = progress.interpolate({
|
|
172
172
|
inputRange: [0, 1, 2],
|
|
173
|
-
outputRange: I18nManager.isRTL
|
|
173
|
+
outputRange: I18nManager.getConstants().isRTL
|
|
174
174
|
? [-screen.width, 0, screen.width]
|
|
175
175
|
: [screen.width, 0, -screen.width],
|
|
176
176
|
});
|
|
@@ -210,7 +210,7 @@ export function forSlideRight({
|
|
|
210
210
|
|
|
211
211
|
const translateX = progress.interpolate({
|
|
212
212
|
inputRange: [0, 1, 2],
|
|
213
|
-
outputRange: I18nManager.isRTL
|
|
213
|
+
outputRange: I18nManager.getConstants().isRTL
|
|
214
214
|
? [screen.width, 0, -screen.width]
|
|
215
215
|
: [-screen.width, 0, screen.width],
|
|
216
216
|
});
|
|
@@ -11,8 +11,8 @@ export default function getInvertedMultiplier(
|
|
|
11
11
|
case 'vertical-inverted':
|
|
12
12
|
return -1;
|
|
13
13
|
case 'horizontal':
|
|
14
|
-
return I18nManager.isRTL ? -1 : 1;
|
|
14
|
+
return I18nManager.getConstants().isRTL ? -1 : 1;
|
|
15
15
|
case 'horizontal-inverted':
|
|
16
|
-
return I18nManager.isRTL ? 1 : -1;
|
|
16
|
+
return I18nManager.getConstants().isRTL ? 1 : -1;
|
|
17
17
|
}
|
|
18
18
|
}
|