@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.
Files changed (79) hide show
  1. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +72 -64
  2. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  3. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +37 -32
  4. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  5. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +1 -1
  6. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +1 -1
  7. package/lib/commonjs/index.js +13 -11
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/navigators/createStackNavigator.js +8 -7
  10. package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
  11. package/lib/commonjs/utils/debounce.js +5 -1
  12. package/lib/commonjs/utils/debounce.js.map +1 -1
  13. package/lib/commonjs/utils/memoize.js +5 -1
  14. package/lib/commonjs/utils/memoize.js.map +1 -1
  15. package/lib/commonjs/views/GestureHandler.js +7 -4
  16. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  17. package/lib/commonjs/views/GestureHandlerNative.js +1 -1
  18. package/lib/commonjs/views/Header/Header.js +10 -9
  19. package/lib/commonjs/views/Header/Header.js.map +1 -1
  20. package/lib/commonjs/views/Header/HeaderContainer.js +10 -9
  21. package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
  22. package/lib/commonjs/views/Header/HeaderSegment.js +5 -0
  23. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
  24. package/lib/commonjs/views/ModalStatusBarManager.js +11 -9
  25. package/lib/commonjs/views/ModalStatusBarManager.js.map +1 -1
  26. package/lib/commonjs/views/Screens.js +14 -10
  27. package/lib/commonjs/views/Screens.js.map +1 -1
  28. package/lib/commonjs/views/Stack/Card.js +32 -24
  29. package/lib/commonjs/views/Stack/Card.js.map +1 -1
  30. package/lib/commonjs/views/Stack/CardContainer.js +43 -40
  31. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
  32. package/lib/commonjs/views/Stack/CardSheet.js +7 -6
  33. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
  34. package/lib/commonjs/views/Stack/CardStack.js +19 -11
  35. package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
  36. package/lib/commonjs/views/Stack/StackView.js +62 -46
  37. package/lib/commonjs/views/Stack/StackView.js.map +1 -1
  38. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +67 -59
  39. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  40. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +35 -30
  41. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  42. package/lib/module/index.js.map +1 -1
  43. package/lib/module/navigators/createStackNavigator.js +8 -7
  44. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  45. package/lib/module/utils/debounce.js +5 -1
  46. package/lib/module/utils/debounce.js.map +1 -1
  47. package/lib/module/utils/memoize.js +5 -1
  48. package/lib/module/utils/memoize.js.map +1 -1
  49. package/lib/module/views/GestureHandler.js +6 -3
  50. package/lib/module/views/GestureHandler.js.map +1 -1
  51. package/lib/module/views/Header/Header.js +10 -9
  52. package/lib/module/views/Header/Header.js.map +1 -1
  53. package/lib/module/views/Header/HeaderContainer.js +10 -9
  54. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  55. package/lib/module/views/Header/HeaderSegment.js +5 -0
  56. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  57. package/lib/module/views/ModalStatusBarManager.js +11 -9
  58. package/lib/module/views/ModalStatusBarManager.js.map +1 -1
  59. package/lib/module/views/Screens.js +13 -9
  60. package/lib/module/views/Screens.js.map +1 -1
  61. package/lib/module/views/Stack/Card.js +32 -24
  62. package/lib/module/views/Stack/Card.js.map +1 -1
  63. package/lib/module/views/Stack/CardContainer.js +43 -40
  64. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  65. package/lib/module/views/Stack/CardSheet.js +7 -6
  66. package/lib/module/views/Stack/CardSheet.js.map +1 -1
  67. package/lib/module/views/Stack/CardStack.js +19 -11
  68. package/lib/module/views/Stack/CardStack.js.map +1 -1
  69. package/lib/module/views/Stack/StackView.js +62 -46
  70. package/lib/module/views/Stack/StackView.js.map +1 -1
  71. package/lib/typescript/src/index.d.ts +1 -1
  72. package/lib/typescript/src/types.d.ts +6 -2
  73. package/package.json +9 -9
  74. package/src/index.tsx +1 -0
  75. package/src/types.tsx +6 -1
  76. package/src/views/Header/HeaderSegment.tsx +16 -4
  77. package/src/views/Stack/Card.tsx +1 -1
  78. package/src/views/Stack/CardContainer.tsx +3 -2
  79. 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.forFadeFromBottomAndroid = forFadeFromBottomAndroid;
11
+ exports.forNoAnimation = forNoAnimation;
10
12
  exports.forRevealFromBottomAndroid = forRevealFromBottomAndroid;
11
13
  exports.forScaleFromCenterAndroid = forScaleFromCenterAndroid;
12
- exports.forBottomSheetAndroid = forBottomSheetAndroid;
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
- current,
32
- next,
33
- inverted,
34
- layouts: {
35
- screen
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
- current,
83
- inverted,
84
- layouts: {
85
- screen
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
- index,
108
- current,
109
- next,
110
- inverted,
111
- layouts: {
112
- screen
113
- },
114
- insets
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
- current,
176
- inverted,
177
- layouts: {
178
- screen
179
- },
180
- closing
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
- current,
208
- next,
209
- inverted,
210
- layouts: {
211
- screen
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
- current,
260
- next,
261
- closing
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
- current,
300
- inverted,
301
- layouts: {
302
- screen
303
- },
304
- closing
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
- current: {
340
- progress
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.forNoAnimation = forNoAnimation;
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
- current,
24
- next,
25
- layouts
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
- current,
98
- next
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
- current,
138
- next,
139
- layouts: {
140
- screen
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
- current,
181
- next,
182
- layouts: {
183
- screen
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
- current,
224
- next,
225
- layouts: {
226
- header
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.ModalTransition = exports.DefaultTransition = exports.ModalFadeTransition = exports.BottomSheetAndroid = exports.ScaleFromCenterAndroid = exports.RevealFromBottomAndroid = exports.FadeFromBottomAndroid = exports.ModalPresentationIOS = exports.ModalSlideFromBottomIOS = exports.SlideFromRightIOS = void 0;
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.BottomSheetSlideOutSpec = exports.BottomSheetSlideInSpec = exports.ScaleFromCenterAndroidSpec = exports.RevealFromBottomAndroidSpec = exports.FadeOutToBottomAndroidSpec = exports.FadeInFromBottomAndroidSpec = exports.TransitionIOSSpec = void 0;
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
 
@@ -3,34 +3,37 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "createStackNavigator", {
6
+ Object.defineProperty(exports, "CardAnimationContext", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _createStackNavigator.default;
9
+ return _CardAnimationContext.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "Header", {
12
+ exports.CardStyleInterpolators = void 0;
13
+ Object.defineProperty(exports, "GestureHandlerRefContext", {
13
14
  enumerable: true,
14
15
  get: function () {
15
- return _Header.default;
16
+ return _GestureHandlerRefContext.default;
16
17
  }
17
18
  });
18
- Object.defineProperty(exports, "StackView", {
19
+ Object.defineProperty(exports, "Header", {
19
20
  enumerable: true,
20
21
  get: function () {
21
- return _StackView.default;
22
+ return _Header.default;
22
23
  }
23
24
  });
24
- Object.defineProperty(exports, "CardAnimationContext", {
25
+ exports.HeaderStyleInterpolators = void 0;
26
+ Object.defineProperty(exports, "StackView", {
25
27
  enumerable: true,
26
28
  get: function () {
27
- return _CardAnimationContext.default;
29
+ return _StackView.default;
28
30
  }
29
31
  });
30
- Object.defineProperty(exports, "GestureHandlerRefContext", {
32
+ exports.TransitionSpecs = exports.TransitionPresets = void 0;
33
+ Object.defineProperty(exports, "createStackNavigator", {
31
34
  enumerable: true,
32
35
  get: function () {
33
- return _GestureHandlerRefContext.default;
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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 StackNavigationOptions,\n StackNavigationProp,\n StackScreenProps,\n TransitionPreset,\n} from './types';\n"]}
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
- initialRouteName,
26
- children,
27
- screenListeners,
28
- screenOptions,
29
- ...rest
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,CAAwB;AACtBC,EAAAA,gBADsB;AAEtBC,EAAAA,QAFsB;AAGtBC,EAAAA,eAHsB;AAItBC,EAAAA,aAJsB;AAKtB,KAAGC;AALmB,CAAxB,EAMU;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"]}
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"]}