@react-navigation/stack 6.2.2 → 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.
@@ -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,KAAZ,GAAoB,CAAC,CAArB,GAAyB,CAAhC;;AACF,SAAK,qBAAL;AACE,aAAOD,yBAAYC,KAAZ,GAAoB,CAApB,GAAwB,CAAC,CAAhC;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.isRTL ? -1 : 1;\n case 'horizontal-inverted':\n return I18nManager.isRTL ? 1 : -1;\n }\n}\n"]}
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,KAAZ,GAAoB,CAAC,CAArB,GAAyB,CAAhC;;AACF,SAAK,qBAAL;AACE,aAAOH,WAAW,CAACG,KAAZ,GAAoB,CAApB,GAAwB,CAAC,CAAhC;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.isRTL ? -1 : 1;\n case 'horizontal-inverted':\n return I18nManager.isRTL ? 1 : -1;\n }\n}\n"]}
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.2",
4
+ "version": "6.2.3",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -36,16 +36,16 @@
36
36
  "access": "public"
37
37
  },
38
38
  "scripts": {
39
- "prepare": "bob build",
39
+ "prepack": "bob build",
40
40
  "clean": "del lib"
41
41
  },
42
42
  "dependencies": {
43
- "@react-navigation/elements": "^1.3.4",
43
+ "@react-navigation/elements": "^1.3.5",
44
44
  "color": "^4.2.3",
45
45
  "warn-once": "^0.1.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@react-navigation/native": "^6.0.11",
48
+ "@react-navigation/native": "^6.0.12",
49
49
  "@testing-library/react-native": "^7.2.0",
50
50
  "@types/color": "^3.0.1",
51
51
  "@types/react": "^17.0.47",
@@ -80,5 +80,6 @@
80
80
  }
81
81
  ]
82
82
  ]
83
- }
83
+ },
84
+ "gitHead": "83aa392f1e13796d609c9df0afa44699ce4bacae"
84
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
  }