@react-navigation/stack 6.0.11 → 6.2.0

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 (81) 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 +26 -21
  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 +26 -17
  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 +25 -20
  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 +26 -17
  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/navigators/createStackNavigator.d.ts +1 -1
  73. package/lib/typescript/src/types.d.ts +9 -5
  74. package/package.json +9 -9
  75. package/src/index.tsx +1 -0
  76. package/src/navigators/createStackNavigator.tsx +4 -1
  77. package/src/types.tsx +12 -4
  78. package/src/views/Header/HeaderSegment.tsx +16 -4
  79. package/src/views/Stack/Card.tsx +1 -1
  80. package/src/views/Stack/CardContainer.tsx +3 -2
  81. package/src/views/Stack/CardStack.tsx +19 -7
@@ -8,14 +8,15 @@ const {
8
8
  * Standard iOS-style slide in from the right.
9
9
  */
10
10
 
11
- export function forHorizontalIOS({
12
- current,
13
- next,
14
- inverted,
15
- layouts: {
16
- screen
17
- }
18
- }) {
11
+ export function forHorizontalIOS(_ref) {
12
+ let {
13
+ current,
14
+ next,
15
+ inverted,
16
+ layouts: {
17
+ screen
18
+ }
19
+ } = _ref;
19
20
  const translateFocused = multiply(current.progress.interpolate({
20
21
  inputRange: [0, 1],
21
22
  outputRange: [screen.width, 0],
@@ -58,13 +59,14 @@ export function forHorizontalIOS({
58
59
  * Standard iOS-style slide in from the bottom (used for modals).
59
60
  */
60
61
 
61
- export function forVerticalIOS({
62
- current,
63
- inverted,
64
- layouts: {
65
- screen
66
- }
67
- }) {
62
+ export function forVerticalIOS(_ref2) {
63
+ let {
64
+ current,
65
+ inverted,
66
+ layouts: {
67
+ screen
68
+ }
69
+ } = _ref2;
68
70
  const translateY = multiply(current.progress.interpolate({
69
71
  inputRange: [0, 1],
70
72
  outputRange: [screen.height, 0],
@@ -82,16 +84,17 @@ export function forVerticalIOS({
82
84
  * Standard iOS-style modal animation in iOS 13.
83
85
  */
84
86
 
85
- export function forModalPresentationIOS({
86
- index,
87
- current,
88
- next,
89
- inverted,
90
- layouts: {
91
- screen
92
- },
93
- insets
94
- }) {
87
+ export function forModalPresentationIOS(_ref3) {
88
+ let {
89
+ index,
90
+ current,
91
+ next,
92
+ inverted,
93
+ layouts: {
94
+ screen
95
+ },
96
+ insets
97
+ } = _ref3;
95
98
  const hasNotchIos = Platform.OS === 'ios' && !Platform.isPad && !Platform.isTVOS && insets.top > 20;
96
99
  const isLandscape = screen.width > screen.height;
97
100
  const topOffset = isLandscape ? 0 : 10;
@@ -149,14 +152,15 @@ export function forModalPresentationIOS({
149
152
  * Standard Android-style fade in from the bottom for Android Oreo.
150
153
  */
151
154
 
152
- export function forFadeFromBottomAndroid({
153
- current,
154
- inverted,
155
- layouts: {
156
- screen
157
- },
158
- closing
159
- }) {
155
+ export function forFadeFromBottomAndroid(_ref4) {
156
+ let {
157
+ current,
158
+ inverted,
159
+ layouts: {
160
+ screen
161
+ },
162
+ closing
163
+ } = _ref4;
160
164
  const translateY = multiply(current.progress.interpolate({
161
165
  inputRange: [0, 1],
162
166
  outputRange: [screen.height * 0.08, 0],
@@ -180,14 +184,15 @@ export function forFadeFromBottomAndroid({
180
184
  * Standard Android-style reveal from the bottom for Android Pie.
181
185
  */
182
186
 
183
- export function forRevealFromBottomAndroid({
184
- current,
185
- next,
186
- inverted,
187
- layouts: {
188
- screen
189
- }
190
- }) {
187
+ export function forRevealFromBottomAndroid(_ref5) {
188
+ let {
189
+ current,
190
+ next,
191
+ inverted,
192
+ layouts: {
193
+ screen
194
+ }
195
+ } = _ref5;
191
196
  const containerTranslateY = multiply(current.progress.interpolate({
192
197
  inputRange: [0, 1],
193
198
  outputRange: [screen.height, 0],
@@ -231,11 +236,12 @@ export function forRevealFromBottomAndroid({
231
236
  * Standard Android-style zoom for Android 10.
232
237
  */
233
238
 
234
- export function forScaleFromCenterAndroid({
235
- current,
236
- next,
237
- closing
238
- }) {
239
+ export function forScaleFromCenterAndroid(_ref6) {
240
+ let {
241
+ current,
242
+ next,
243
+ closing
244
+ } = _ref6;
239
245
  const progress = add(current.progress.interpolate({
240
246
  inputRange: [0, 1],
241
247
  outputRange: [0, 1],
@@ -270,14 +276,15 @@ export function forScaleFromCenterAndroid({
270
276
  * Standard bottom sheet slide in from the bottom for Android.
271
277
  */
272
278
 
273
- export function forBottomSheetAndroid({
274
- current,
275
- inverted,
276
- layouts: {
277
- screen
278
- },
279
- closing
280
- }) {
279
+ export function forBottomSheetAndroid(_ref7) {
280
+ let {
281
+ current,
282
+ inverted,
283
+ layouts: {
284
+ screen
285
+ },
286
+ closing
287
+ } = _ref7;
281
288
  const translateY = multiply(current.progress.interpolate({
282
289
  inputRange: [0, 1],
283
290
  outputRange: [screen.height * 0.8, 0],
@@ -309,11 +316,12 @@ export function forBottomSheetAndroid({
309
316
  * Simple fade animation for dialogs
310
317
  */
311
318
 
312
- export function forFadeFromCenter({
313
- current: {
314
- progress
315
- }
316
- }) {
319
+ export function forFadeFromCenter(_ref8) {
320
+ let {
321
+ current: {
322
+ progress
323
+ }
324
+ } = _ref8;
317
325
  return {
318
326
  cardStyle: {
319
327
  opacity: progress.interpolate({
@@ -1 +1 @@
1
- {"version":3,"sources":["CardStyleInterpolators.tsx"],"names":["Animated","Platform","conditional","add","multiply","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","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":["Animated","Platform","conditional","add","multiply","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","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"]}
@@ -6,11 +6,12 @@ const {
6
6
  * Standard UIKit style animation for the header where the title fades into the back button label.
7
7
  */
8
8
 
9
- export function forUIKit({
10
- current,
11
- next,
12
- layouts
13
- }) {
9
+ export function forUIKit(_ref) {
10
+ let {
11
+ current,
12
+ next,
13
+ layouts
14
+ } = _ref;
14
15
  const defaultOffset = 100;
15
16
  const leftSpacing = 27; // The title and back button title should cross-fade to each other
16
17
  // When screen is fully open, the title should be in center, and back title should be on left
@@ -79,10 +80,11 @@ export function forUIKit({
79
80
  * Simple fade animation for the header elements.
80
81
  */
81
82
 
82
- export function forFade({
83
- current,
84
- next
85
- }) {
83
+ export function forFade(_ref2) {
84
+ let {
85
+ current,
86
+ next
87
+ } = _ref2;
86
88
  const progress = add(current.progress.interpolate({
87
89
  inputRange: [0, 1],
88
90
  outputRange: [0, 1],
@@ -118,13 +120,14 @@ export function forFade({
118
120
  * Simple translate animation to translate the header to left.
119
121
  */
120
122
 
121
- export function forSlideLeft({
122
- current,
123
- next,
124
- layouts: {
125
- screen
126
- }
127
- }) {
123
+ export function forSlideLeft(_ref3) {
124
+ let {
125
+ current,
126
+ next,
127
+ layouts: {
128
+ screen
129
+ }
130
+ } = _ref3;
128
131
  const progress = add(current.progress.interpolate({
129
132
  inputRange: [0, 1],
130
133
  outputRange: [0, 1],
@@ -160,13 +163,14 @@ export function forSlideLeft({
160
163
  * Simple translate animation to translate the header to right.
161
164
  */
162
165
 
163
- export function forSlideRight({
164
- current,
165
- next,
166
- layouts: {
167
- screen
168
- }
169
- }) {
166
+ export function forSlideRight(_ref4) {
167
+ let {
168
+ current,
169
+ next,
170
+ layouts: {
171
+ screen
172
+ }
173
+ } = _ref4;
170
174
  const progress = add(current.progress.interpolate({
171
175
  inputRange: [0, 1],
172
176
  outputRange: [0, 1],
@@ -202,13 +206,14 @@ export function forSlideRight({
202
206
  * Simple translate animation to translate the header to slide up.
203
207
  */
204
208
 
205
- export function forSlideUp({
206
- current,
207
- next,
208
- layouts: {
209
- header
210
- }
211
- }) {
209
+ export function forSlideUp(_ref5) {
210
+ let {
211
+ current,
212
+ next,
213
+ layouts: {
214
+ header
215
+ }
216
+ } = _ref5;
212
217
  const progress = add(current.progress.interpolate({
213
218
  inputRange: [0, 1],
214
219
  outputRange: [0, 1],
@@ -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","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 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["CardStyleInterpolators","HeaderStyleInterpolators","TransitionPresets","TransitionSpecs","default","createStackNavigator","Header","StackView","CardAnimationContext","GestureHandlerRefContext","useCardAnimation","useGestureHandlerRef"],"mappings":"AAAA,OAAO,KAAKA,sBAAZ,MAAwC,4CAAxC;AACA,OAAO,KAAKC,wBAAZ,MAA0C,8CAA1C;AACA,OAAO,KAAKC,iBAAZ,MAAmC,uCAAnC;AACA,OAAO,KAAKC,eAAZ,MAAiC,qCAAjC;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,oBAApB,QAAgD,mCAAhD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,MAApB,QAAkC,uBAAlC;AACA,SAASF,OAAO,IAAIG,SAApB,QAAqC,yBAArC;AAEA;AACA;AACA;;AACA,SACEP,sBADF,EAEEC,wBAFF,EAGEC,iBAHF,EAIEC,eAJF;AAOA;AACA;AACA;;AACA,SAASC,OAAO,IAAII,oBAApB,QAAgD,8BAAhD;AACA,SAASJ,OAAO,IAAIK,wBAApB,QAAoD,kCAApD;AACA,SAASL,OAAO,IAAIM,gBAApB,QAA4C,0BAA5C;AACA,SAASN,OAAO,IAAIO,oBAApB,QAAgD,8BAAhD;AAEA;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":["CardStyleInterpolators","HeaderStyleInterpolators","TransitionPresets","TransitionSpecs","default","createStackNavigator","Header","StackView","CardAnimationContext","GestureHandlerRefContext","useCardAnimation","useGestureHandlerRef"],"mappings":"AAAA,OAAO,KAAKA,sBAAZ,MAAwC,4CAAxC;AACA,OAAO,KAAKC,wBAAZ,MAA0C,8CAA1C;AACA,OAAO,KAAKC,iBAAZ,MAAmC,uCAAnC;AACA,OAAO,KAAKC,eAAZ,MAAiC,qCAAjC;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,oBAApB,QAAgD,mCAAhD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,MAApB,QAAkC,uBAAlC;AACA,SAASF,OAAO,IAAIG,SAApB,QAAqC,yBAArC;AAEA;AACA;AACA;;AACA,SACEP,sBADF,EAEEC,wBAFF,EAGEC,iBAHF,EAIEC,eAJF;AAOA;AACA;AACA;;AACA,SAASC,OAAO,IAAII,oBAApB,QAAgD,8BAAhD;AACA,SAASJ,OAAO,IAAIK,wBAApB,QAAoD,kCAApD;AACA,SAASL,OAAO,IAAIM,gBAApB,QAA4C,0BAA5C;AACA,SAASN,OAAO,IAAIO,oBAApB,QAAgD,8BAAhD;AAEA;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"]}
@@ -5,13 +5,15 @@ import * as React from 'react';
5
5
  import warnOnce from 'warn-once';
6
6
  import StackView from '../views/Stack/StackView';
7
7
 
8
- function StackNavigator({
9
- initialRouteName,
10
- children,
11
- screenListeners,
12
- screenOptions,
13
- ...rest
14
- }) {
8
+ function StackNavigator(_ref) {
9
+ let {
10
+ id,
11
+ initialRouteName,
12
+ children,
13
+ screenListeners,
14
+ screenOptions,
15
+ ...rest
16
+ } = _ref;
15
17
  // @ts-expect-error: mode is deprecated
16
18
  const mode = rest.mode;
17
19
  warnOnce(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
@@ -34,6 +36,7 @@ function StackNavigator({
34
36
  navigation,
35
37
  NavigationContent
36
38
  } = useNavigationBuilder(StackRouter, {
39
+ id,
37
40
  initialRouteName,
38
41
  children,
39
42
  screenListeners,
@@ -43,20 +46,22 @@ function StackNavigator({
43
46
  React.useEffect(() => {
44
47
  var _navigation$addListen;
45
48
 
46
- return (_navigation$addListen = navigation.addListener) === null || _navigation$addListen === void 0 ? void 0 : _navigation$addListen.call(navigation, 'tabPress', e => {
47
- const isFocused = navigation.isFocused(); // Run the operation in the next frame so we're sure all listeners have been run
48
- // This is necessary to know if preventDefault() has been called
49
+ return (// @ts-expect-error: there may not be a tab navigator in parent
50
+ (_navigation$addListen = navigation.addListener) === null || _navigation$addListen === void 0 ? void 0 : _navigation$addListen.call(navigation, 'tabPress', e => {
51
+ const isFocused = navigation.isFocused(); // Run the operation in the next frame so we're sure all listeners have been run
52
+ // This is necessary to know if preventDefault() has been called
49
53
 
50
- requestAnimationFrame(() => {
51
- if (state.index > 0 && isFocused && !e.defaultPrevented) {
52
- // When user taps on already focused tab and we're inside the tab,
53
- // reset the stack to replicate native behaviour
54
- navigation.dispatch({ ...StackActions.popToTop(),
55
- target: state.key
56
- });
57
- }
58
- });
59
- });
54
+ requestAnimationFrame(() => {
55
+ if (state.index > 0 && isFocused && !e.defaultPrevented) {
56
+ // When user taps on already focused tab and we're inside the tab,
57
+ // reset the stack to replicate native behaviour
58
+ navigation.dispatch({ ...StackActions.popToTop(),
59
+ target: state.key
60
+ });
61
+ }
62
+ });
63
+ })
64
+ );
60
65
  }, [navigation, state.index, state.key]);
61
66
  return /*#__PURE__*/React.createElement(NavigationContent, null, /*#__PURE__*/React.createElement(StackView, _extends({}, rest, {
62
67
  state: state,
@@ -1 +1 @@
1
- {"version":3,"sources":["createStackNavigator.tsx"],"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","warnOnce","StackView","StackNavigator","initialRouteName","children","screenListeners","screenOptions","rest","mode","headerMode","keyboardHandlingEnabled","undefined","defaultScreenOptions","presentation","headerShown","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"mappings":";;AAAA,SACEA,sBADF,EAMEC,YANF,EAQEC,WARF,EAUEC,oBAVF,QAWO,0BAXP;AAYA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAqB,WAArB;AAQA,OAAOC,SAAP,MAAsB,0BAAtB;;AAWA,SAASC,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;AAEAR,EAAAA,QAAQ,CACNQ,IAAI,IAAI,IADF,EAEL,2BAA0BA,IAAK,yCAAwCA,IAAK,uHAFvE,CAAR,CAJQ,CASR;;AACA,QAAMC,UAAU,GAAGF,IAAI,CAACE,UAAxB;AAEAT,EAAAA,QAAQ,CACNS,UAAU,KAAK,MADT,EAEL,iMAFK,CAAR;AAKAT,EAAAA,QAAQ,CACNS,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK,MAD/B,EAEL,kMAFK,CAAR,CAjBQ,CAsBR;;AACA,QAAMC,uBAAuB,GAAGH,IAAI,CAACG,uBAArC;AAEAV,EAAAA,QAAQ,CACNU,uBAAuB,KAAKC,SADtB,EAEL,4NAFK,CAAR;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,MACJpB,oBAAoB,CAMlBD,WANkB,EAML;AACbM,IAAAA,gBADa;AAEbC,IAAAA,QAFa;AAGbC,IAAAA,eAHa;AAIbC,IAAAA,aAJa;AAKbM,IAAAA;AALa,GANK,CADtB;AAeAb,EAAAA,KAAK,CAACoB,SAAN,CACE;AAAA;;AAAA,oCACEF,UAAU,CAACG,WADb,0DACE,2BAAAH,UAAU,EAAe,UAAf,EAA4BI,CAAD,IAAO;AAC1C,YAAMC,SAAS,GAAGL,UAAU,CAACK,SAAX,EAAlB,CAD0C,CAG1C;AACA;;AACAC,MAAAA,qBAAqB,CAAC,MAAM;AAC1B,YACER,KAAK,CAACS,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;AACA;AACA;AACAR,UAAAA,UAAU,CAACS,QAAX,CAAoB,EAClB,GAAG9B,YAAY,CAAC+B,QAAb,EADe;AAElBC,YAAAA,MAAM,EAAEb,KAAK,CAACc;AAFI,WAApB;AAID;AACF,OAboB,CAArB;AAcD,KAnBS,CADZ;AAAA,GADF,EAsBE,CAACZ,UAAD,EAAaF,KAAK,CAACS,KAAnB,EAA0BT,KAAK,CAACc,GAAhC,CAtBF;AAyBA,sBACE,oBAAC,iBAAD,qBACE,oBAAC,SAAD,eACMtB,IADN;AAEE,IAAA,KAAK,EAAEQ,KAFT;AAGE,IAAA,WAAW,EAAEC,WAHf;AAIE,IAAA,UAAU,EAAEC;AAJd,KADF,CADF;AAUD;;AAED,eAAetB,sBAAsB,CAKnCO,cALmC,CAArC","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":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","warnOnce","StackView","StackNavigator","id","initialRouteName","children","screenListeners","screenOptions","rest","mode","headerMode","keyboardHandlingEnabled","undefined","defaultScreenOptions","presentation","headerShown","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"mappings":";;AAAA,SACEA,sBADF,EAMEC,YANF,EAQEC,WARF,EAUEC,oBAVF,QAWO,0BAXP;AAYA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAqB,WAArB;AAQA,OAAOC,SAAP,MAAsB,0BAAtB;;AAWA,SAASC,cAAT,OAOU;AAAA,MAPc;AACtBC,IAAAA,EADsB;AAEtBC,IAAAA,gBAFsB;AAGtBC,IAAAA,QAHsB;AAItBC,IAAAA,eAJsB;AAKtBC,IAAAA,aALsB;AAMtB,OAAGC;AANmB,GAOd;AACR;AACA,QAAMC,IAAI,GAAGD,IAAI,CAACC,IAAlB;AAEAT,EAAAA,QAAQ,CACNS,IAAI,IAAI,IADF,EAEL,2BAA0BA,IAAK,yCAAwCA,IAAK,uHAFvE,CAAR,CAJQ,CASR;;AACA,QAAMC,UAAU,GAAGF,IAAI,CAACE,UAAxB;AAEAV,EAAAA,QAAQ,CACNU,UAAU,KAAK,MADT,EAEL,iMAFK,CAAR;AAKAV,EAAAA,QAAQ,CACNU,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK,MAD/B,EAEL,kMAFK,CAAR,CAjBQ,CAsBR;;AACA,QAAMC,uBAAuB,GAAGH,IAAI,CAACG,uBAArC;AAEAX,EAAAA,QAAQ,CACNW,uBAAuB,KAAKC,SADtB,EAEL,4NAFK,CAAR;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,MACJrB,oBAAoB,CAMlBD,WANkB,EAML;AACbM,IAAAA,EADa;AAEbC,IAAAA,gBAFa;AAGbC,IAAAA,QAHa;AAIbC,IAAAA,eAJa;AAKbC,IAAAA,aALa;AAMbM,IAAAA;AANa,GANK,CADtB;AAgBAd,EAAAA,KAAK,CAACqB,SAAN,CACE;AAAA;;AAAA,WACE;AADF,+BAEEF,UAAU,CAACG,WAFb,0DAEE,2BAAAH,UAAU,EAAe,UAAf,EAA4BI,CAAD,IAAO;AAC1C,cAAMC,SAAS,GAAGL,UAAU,CAACK,SAAX,EAAlB,CAD0C,CAG1C;AACA;;AACAC,QAAAA,qBAAqB,CAAC,MAAM;AAC1B,cACER,KAAK,CAACS,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAA6CI,gBAHhD,EAIE;AACA;AACA;AACAR,YAAAA,UAAU,CAACS,QAAX,CAAoB,EAClB,GAAG/B,YAAY,CAACgC,QAAb,EADe;AAElBC,cAAAA,MAAM,EAAEb,KAAK,CAACc;AAFI,aAApB;AAID;AACF,SAboB,CAArB;AAcD,OAnBS;AAFZ;AAAA,GADF,EAuBE,CAACZ,UAAD,EAAaF,KAAK,CAACS,KAAnB,EAA0BT,KAAK,CAACc,GAAhC,CAvBF;AA0BA,sBACE,oBAAC,iBAAD,qBACE,oBAAC,SAAD,eACMtB,IADN;AAEE,IAAA,KAAK,EAAEQ,KAFT;AAGE,IAAA,WAAW,EAAEC,WAHf;AAIE,IAAA,UAAU,EAAEC;AAJd,KADF,CADF;AAUD;;AAED,eAAevB,sBAAsB,CAKnCO,cALmC,CAArC","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 id,\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 id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n defaultScreenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\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 unknown 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,7 +1,11 @@
1
1
  export default function debounce(func, duration) {
2
2
  let timeout;
3
- return function (...args) {
3
+ return function () {
4
4
  if (!timeout) {
5
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6
+ args[_key] = arguments[_key];
7
+ }
8
+
5
9
  // eslint-disable-next-line babel/no-invalid-this
6
10
  func.apply(this, args);
7
11
  timeout = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["debounce.tsx"],"names":["debounce","func","duration","timeout","args","apply","setTimeout","undefined"],"mappings":"AAAA,eAAe,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGV;AACH,MAAIC,OAAJ;AAEA,SAAO,UAAqB,GAAGC,IAAxB,EAA8B;AACnC,QAAI,CAACD,OAAL,EAAc;AACZ;AACAF,MAAAA,IAAI,CAACI,KAAL,CAAW,IAAX,EAAiBD,IAAjB;AAEAD,MAAAA,OAAO,GAAGG,UAAU,CAAC,MAAM;AACzBH,QAAAA,OAAO,GAAGI,SAAV;AACD,OAFmB,EAEjBL,QAFiB,CAApB;AAGD;AACF,GATD;AAUD","sourcesContent":["export default function debounce<T extends (...args: any[]) => void>(\n func: T,\n duration: number\n): T {\n let timeout: NodeJS.Timeout | number | undefined;\n\n return function (this: any, ...args) {\n if (!timeout) {\n // eslint-disable-next-line babel/no-invalid-this\n func.apply(this, args);\n\n timeout = setTimeout(() => {\n timeout = undefined;\n }, duration);\n }\n } as T;\n}\n"]}
1
+ {"version":3,"sources":["debounce.tsx"],"names":["debounce","func","duration","timeout","args","apply","setTimeout","undefined"],"mappings":"AAAA,eAAe,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGV;AACH,MAAIC,OAAJ;AAEA,SAAO,YAA8B;AACnC,QAAI,CAACA,OAAL,EAAc;AAAA,wCADeC,IACf;AADeA,QAAAA,IACf;AAAA;;AACZ;AACAH,MAAAA,IAAI,CAACI,KAAL,CAAW,IAAX,EAAiBD,IAAjB;AAEAD,MAAAA,OAAO,GAAGG,UAAU,CAAC,MAAM;AACzBH,QAAAA,OAAO,GAAGI,SAAV;AACD,OAFmB,EAEjBL,QAFiB,CAApB;AAGD;AACF,GATD;AAUD","sourcesContent":["export default function debounce<T extends (...args: any[]) => void>(\n func: T,\n duration: number\n): T {\n let timeout: NodeJS.Timeout | number | undefined;\n\n return function (this: any, ...args) {\n if (!timeout) {\n // eslint-disable-next-line babel/no-invalid-this\n func.apply(this, args);\n\n timeout = setTimeout(() => {\n timeout = undefined;\n }, duration);\n }\n } as T;\n}\n"]}
@@ -1,9 +1,13 @@
1
1
  export default function memoize(callback) {
2
2
  let previous;
3
3
  let result;
4
- return (...dependencies) => {
4
+ return function () {
5
5
  let hasChanged = false;
6
6
 
7
+ for (var _len = arguments.length, dependencies = new Array(_len), _key = 0; _key < _len; _key++) {
8
+ dependencies[_key] = arguments[_key];
9
+ }
10
+
7
11
  if (previous) {
8
12
  if (previous.length !== dependencies.length) {
9
13
  hasChanged = true;
@@ -1 +1 @@
1
- {"version":3,"sources":["memoize.tsx"],"names":["memoize","callback","previous","result","dependencies","hasChanged","length","i","undefined"],"mappings":"AAAA,eAAe,SAASA,OAAT,CACbC,QADa,EAEb;AACA,MAAIC,QAAJ;AACA,MAAIC,MAAJ;AAEA,SAAO,CAAC,GAAGC,YAAJ,KAAmC;AACxC,QAAIC,UAAU,GAAG,KAAjB;;AAEA,QAAIH,QAAJ,EAAc;AACZ,UAAIA,QAAQ,CAACI,MAAT,KAAoBF,YAAY,CAACE,MAArC,EAA6C;AAC3CD,QAAAA,UAAU,GAAG,IAAb;AACD,OAFD,MAEO;AACL,aAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,QAAQ,CAACI,MAA7B,EAAqCC,CAAC,EAAtC,EAA0C;AACxC,cAAIL,QAAQ,CAACK,CAAD,CAAR,KAAgBH,YAAY,CAACG,CAAD,CAAhC,EAAqC;AACnCF,YAAAA,UAAU,GAAG,IAAb;AACA;AACD;AACF;AACF;AACF,KAXD,MAWO;AACLA,MAAAA,UAAU,GAAG,IAAb;AACD;;AAEDH,IAAAA,QAAQ,GAAGE,YAAX;;AAEA,QAAIC,UAAU,IAAIF,MAAM,KAAKK,SAA7B,EAAwC;AACtCL,MAAAA,MAAM,GAAGF,QAAQ,CAAC,GAAGG,YAAJ,CAAjB;AACD;;AAED,WAAOD,MAAP;AACD,GAzBD;AA0BD","sourcesContent":["export default function memoize<Result, Deps extends readonly any[]>(\n callback: (...deps: Deps) => Result\n) {\n let previous: Deps | undefined;\n let result: Result | undefined;\n\n return (...dependencies: Deps): Result => {\n let hasChanged = false;\n\n if (previous) {\n if (previous.length !== dependencies.length) {\n hasChanged = true;\n } else {\n for (let i = 0; i < previous.length; i++) {\n if (previous[i] !== dependencies[i]) {\n hasChanged = true;\n break;\n }\n }\n }\n } else {\n hasChanged = true;\n }\n\n previous = dependencies;\n\n if (hasChanged || result === undefined) {\n result = callback(...dependencies);\n }\n\n return result;\n };\n}\n"]}
1
+ {"version":3,"sources":["memoize.tsx"],"names":["memoize","callback","previous","result","hasChanged","dependencies","length","i","undefined"],"mappings":"AAAA,eAAe,SAASA,OAAT,CACbC,QADa,EAEb;AACA,MAAIC,QAAJ;AACA,MAAIC,MAAJ;AAEA,SAAO,YAAmC;AACxC,QAAIC,UAAU,GAAG,KAAjB;;AADwC,sCAA/BC,YAA+B;AAA/BA,MAAAA,YAA+B;AAAA;;AAGxC,QAAIH,QAAJ,EAAc;AACZ,UAAIA,QAAQ,CAACI,MAAT,KAAoBD,YAAY,CAACC,MAArC,EAA6C;AAC3CF,QAAAA,UAAU,GAAG,IAAb;AACD,OAFD,MAEO;AACL,aAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,QAAQ,CAACI,MAA7B,EAAqCC,CAAC,EAAtC,EAA0C;AACxC,cAAIL,QAAQ,CAACK,CAAD,CAAR,KAAgBF,YAAY,CAACE,CAAD,CAAhC,EAAqC;AACnCH,YAAAA,UAAU,GAAG,IAAb;AACA;AACD;AACF;AACF;AACF,KAXD,MAWO;AACLA,MAAAA,UAAU,GAAG,IAAb;AACD;;AAEDF,IAAAA,QAAQ,GAAGG,YAAX;;AAEA,QAAID,UAAU,IAAID,MAAM,KAAKK,SAA7B,EAAwC;AACtCL,MAAAA,MAAM,GAAGF,QAAQ,CAAC,GAAGI,YAAJ,CAAjB;AACD;;AAED,WAAOF,MAAP;AACD,GAzBD;AA0BD","sourcesContent":["export default function memoize<Result, Deps extends readonly any[]>(\n callback: (...deps: Deps) => Result\n) {\n let previous: Deps | undefined;\n let result: Result | undefined;\n\n return (...dependencies: Deps): Result => {\n let hasChanged = false;\n\n if (previous) {\n if (previous.length !== dependencies.length) {\n hasChanged = true;\n } else {\n for (let i = 0; i < previous.length; i++) {\n if (previous[i] !== dependencies[i]) {\n hasChanged = true;\n break;\n }\n }\n }\n } else {\n hasChanged = true;\n }\n\n previous = dependencies;\n\n if (hasChanged || result === undefined) {\n result = callback(...dependencies);\n }\n\n return result;\n };\n}\n"]}