@react-navigation/bottom-tabs 7.0.0-alpha.13 → 7.0.0-alpha.14

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.
@@ -29,7 +29,7 @@ const NAMED_TRANSITIONS_PRESETS = {
29
29
  transitionSpec: {
30
30
  animation: 'timing',
31
31
  config: {
32
- duration: 150
32
+ duration: 0
33
33
  }
34
34
  }
35
35
  }
@@ -64,8 +64,11 @@ function BottomTabView(props) {
64
64
  // Set the current tab to be loaded if it was not loaded before
65
65
  setLoaded([...loaded, focusedRouteKey]);
66
66
  }
67
+ const previousRouteKeyRef = React.useRef(focusedRouteKey);
67
68
  const tabAnims = (0, _useAnimatedHashMap.useAnimatedHashMap)(state);
68
69
  React.useEffect(() => {
70
+ const previousRouteKey = previousRouteKeyRef.current;
71
+ previousRouteKeyRef.current = focusedRouteKey;
69
72
  const animateToIndex = () => {
70
73
  _reactNative.Animated.parallel(state.routes.map((route, index) => {
71
74
  const {
@@ -73,18 +76,25 @@ function BottomTabView(props) {
73
76
  } = descriptors[route.key];
74
77
  const {
75
78
  animation = 'none',
76
- transitionSpec = NAMED_TRANSITIONS_PRESETS[animation].transitionSpec ?? NAMED_TRANSITIONS_PRESETS.none.transitionSpec
79
+ transitionSpec = NAMED_TRANSITIONS_PRESETS[animation].transitionSpec
77
80
  } = options;
81
+ let spec = transitionSpec;
82
+ if (route.key !== previousRouteKey && route.key !== focusedRouteKey) {
83
+ // Don't animate if the screen is not previous one or new one
84
+ // This will avoid flicker for screens not involved in the transition
85
+ spec = NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
86
+ }
87
+ spec = spec ?? NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
78
88
  const toValue = index === state.index ? 0 : index >= state.index ? 1 : -1;
79
- return _reactNative.Animated[transitionSpec.animation](tabAnims[route.key], {
80
- ...transitionSpec.config,
89
+ return _reactNative.Animated[spec.animation](tabAnims[route.key], {
90
+ ...spec.config,
81
91
  toValue,
82
92
  useNativeDriver: true
83
93
  });
84
94
  }).filter(Boolean)).start();
85
95
  };
86
96
  animateToIndex();
87
- }, [descriptors, state.index, state.routes, tabAnims]);
97
+ }, [descriptors, focusedRouteKey, state.index, state.routes, tabAnims]);
88
98
  const dimensions = _elements.SafeAreaProviderCompat.initialMetrics.frame;
89
99
  const [tabBarHeight, setTabBarHeight] = React.useState(() => (0, _BottomTabBar.getTabBarHeight)({
90
100
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["_elements","require","React","_interopRequireWildcard","_reactNative","_reactNativeSafeAreaContext","_TransitionPresets","_BottomTabBarHeightCallbackContext","_BottomTabBarHeightContext","_useAnimatedHashMap","_BottomTabBar","_ScreenFallback","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","NAMED_TRANSITIONS_PRESETS","fade","FadeTransition","shifting","ShiftingTransition","none","sceneStyleInterpolator","undefined","transitionSpec","animation","config","duration","hasAnimation","options","BottomTabView","props","tabBar","createElement","BottomTabBar","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","Platform","OS","sceneContainerStyle","focusedRouteKey","routes","index","loaded","setLoaded","useState","includes","tabAnims","useAnimatedHashMap","useEffect","animateToIndex","Animated","parallel","map","route","toValue","useNativeDriver","filter","Boolean","start","dimensions","SafeAreaProviderCompat","initialMetrics","frame","tabBarHeight","setTabBarHeight","getTabBarHeight","layout","width","height","insets","style","tabBarStyle","renderTabBar","SafeAreaInsetsContext","Consumer","top","right","bottom","left","hasTwoStates","some","tabBarPosition","styles","BottomTabBarHeightCallbackContext","Provider","value","MaybeScreenContainer","enabled","screens","descriptor","lazy","unmountOnBlur","isFocused","preloadedRouteKeys","freezeOnBlur","header","_ref","Header","title","getHeaderTitle","name","headerShown","headerStatusBarHeight","headerTransparent","sceneStyle","current","progress","animationEnabled","activityState","interpolate","inputRange","outputRange","extrapolate","MaybeScreen","StyleSheet","absoluteFill","zIndex","active","BottomTabBarHeightContext","Screen","focused","render","create","flexDirection","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_elements","require","React","_interopRequireWildcard","_reactNative","_reactNativeSafeAreaContext","_TransitionPresets","_BottomTabBarHeightCallbackContext","_BottomTabBarHeightContext","_useAnimatedHashMap","_BottomTabBar","_ScreenFallback","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","NAMED_TRANSITIONS_PRESETS","fade","FadeTransition","shifting","ShiftingTransition","none","sceneStyleInterpolator","undefined","transitionSpec","animation","config","duration","hasAnimation","options","BottomTabView","props","tabBar","createElement","BottomTabBar","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","Platform","OS","sceneContainerStyle","focusedRouteKey","routes","index","loaded","setLoaded","useState","includes","previousRouteKeyRef","useRef","tabAnims","useAnimatedHashMap","useEffect","previousRouteKey","current","animateToIndex","Animated","parallel","map","route","spec","toValue","useNativeDriver","filter","Boolean","start","dimensions","SafeAreaProviderCompat","initialMetrics","frame","tabBarHeight","setTabBarHeight","getTabBarHeight","layout","width","height","insets","style","tabBarStyle","renderTabBar","SafeAreaInsetsContext","Consumer","top","right","bottom","left","hasTwoStates","some","tabBarPosition","styles","BottomTabBarHeightCallbackContext","Provider","value","MaybeScreenContainer","enabled","screens","descriptor","lazy","unmountOnBlur","isFocused","preloadedRouteKeys","freezeOnBlur","header","_ref","Header","title","getHeaderTitle","name","headerShown","headerStatusBarHeight","headerTransparent","sceneStyle","progress","animationEnabled","activityState","interpolate","inputRange","outputRange","extrapolate","MaybeScreen","StyleSheet","absoluteFill","zIndex","active","BottomTabBarHeightContext","Screen","focused","render","create","flexDirection","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":"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"}
@@ -21,7 +21,7 @@ const NAMED_TRANSITIONS_PRESETS = {
21
21
  transitionSpec: {
22
22
  animation: 'timing',
23
23
  config: {
24
- duration: 150
24
+ duration: 0
25
25
  }
26
26
  }
27
27
  }
@@ -56,8 +56,11 @@ export function BottomTabView(props) {
56
56
  // Set the current tab to be loaded if it was not loaded before
57
57
  setLoaded([...loaded, focusedRouteKey]);
58
58
  }
59
+ const previousRouteKeyRef = React.useRef(focusedRouteKey);
59
60
  const tabAnims = useAnimatedHashMap(state);
60
61
  React.useEffect(() => {
62
+ const previousRouteKey = previousRouteKeyRef.current;
63
+ previousRouteKeyRef.current = focusedRouteKey;
61
64
  const animateToIndex = () => {
62
65
  Animated.parallel(state.routes.map((route, index) => {
63
66
  const {
@@ -65,18 +68,25 @@ export function BottomTabView(props) {
65
68
  } = descriptors[route.key];
66
69
  const {
67
70
  animation = 'none',
68
- transitionSpec = NAMED_TRANSITIONS_PRESETS[animation].transitionSpec ?? NAMED_TRANSITIONS_PRESETS.none.transitionSpec
71
+ transitionSpec = NAMED_TRANSITIONS_PRESETS[animation].transitionSpec
69
72
  } = options;
73
+ let spec = transitionSpec;
74
+ if (route.key !== previousRouteKey && route.key !== focusedRouteKey) {
75
+ // Don't animate if the screen is not previous one or new one
76
+ // This will avoid flicker for screens not involved in the transition
77
+ spec = NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
78
+ }
79
+ spec = spec ?? NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
70
80
  const toValue = index === state.index ? 0 : index >= state.index ? 1 : -1;
71
- return Animated[transitionSpec.animation](tabAnims[route.key], {
72
- ...transitionSpec.config,
81
+ return Animated[spec.animation](tabAnims[route.key], {
82
+ ...spec.config,
73
83
  toValue,
74
84
  useNativeDriver: true
75
85
  });
76
86
  }).filter(Boolean)).start();
77
87
  };
78
88
  animateToIndex();
79
- }, [descriptors, state.index, state.routes, tabAnims]);
89
+ }, [descriptors, focusedRouteKey, state.index, state.routes, tabAnims]);
80
90
  const dimensions = SafeAreaProviderCompat.initialMetrics.frame;
81
91
  const [tabBarHeight, setTabBarHeight] = React.useState(() => getTabBarHeight({
82
92
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","React","Animated","Platform","StyleSheet","SafeAreaInsetsContext","FadeTransition","ShiftingTransition","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useAnimatedHashMap","BottomTabBar","getTabBarHeight","MaybeScreen","MaybeScreenContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","NAMED_TRANSITIONS_PRESETS","fade","shifting","none","sceneStyleInterpolator","undefined","transitionSpec","animation","config","duration","hasAnimation","options","BottomTabView","props","tabBar","createElement","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","OS","sceneContainerStyle","focusedRouteKey","routes","index","key","loaded","setLoaded","useState","includes","tabAnims","useEffect","animateToIndex","parallel","map","route","toValue","useNativeDriver","filter","Boolean","start","dimensions","initialMetrics","frame","tabBarHeight","setTabBarHeight","layout","width","height","insets","style","tabBarStyle","renderTabBar","Consumer","top","right","bottom","left","hasTwoStates","some","tabBarPosition","styles","Provider","value","enabled","screens","descriptor","lazy","unmountOnBlur","isFocused","preloadedRouteKeys","freezeOnBlur","header","_ref","_extends","title","name","headerShown","headerStatusBarHeight","headerTransparent","sceneStyle","current","progress","animationEnabled","activityState","interpolate","inputRange","outputRange","extrapolate","absoluteFill","zIndex","active","focused","render","create","flexDirection","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","React","Animated","Platform","StyleSheet","SafeAreaInsetsContext","FadeTransition","ShiftingTransition","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useAnimatedHashMap","BottomTabBar","getTabBarHeight","MaybeScreen","MaybeScreenContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","NAMED_TRANSITIONS_PRESETS","fade","shifting","none","sceneStyleInterpolator","undefined","transitionSpec","animation","config","duration","hasAnimation","options","BottomTabView","props","tabBar","createElement","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","OS","sceneContainerStyle","focusedRouteKey","routes","index","key","loaded","setLoaded","useState","includes","previousRouteKeyRef","useRef","tabAnims","useEffect","previousRouteKey","current","animateToIndex","parallel","map","route","spec","toValue","useNativeDriver","filter","Boolean","start","dimensions","initialMetrics","frame","tabBarHeight","setTabBarHeight","layout","width","height","insets","style","tabBarStyle","renderTabBar","Consumer","top","right","bottom","left","hasTwoStates","some","tabBarPosition","styles","Provider","value","enabled","screens","descriptor","lazy","unmountOnBlur","isFocused","preloadedRouteKeys","freezeOnBlur","header","_ref","_extends","title","name","headerShown","headerStatusBarHeight","headerTransparent","sceneStyle","progress","animationEnabled","activityState","interpolate","inputRange","outputRange","extrapolate","absoluteFill","zIndex","active","focused","render","create","flexDirection","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomTabView.d.ts","sourceRoot":"","sources":["../../../../src/views/BottomTabView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAEV,sBAAsB,EAEtB,yBAAyB,EACzB,0BAA0B,EAG3B,MAAM,UAAU,CAAC;AAOlB,KAAK,KAAK,GAAG,yBAAyB,GAAG;IACvC,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,0BAA0B,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC,CAAC;AA6BF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,qBA8NzC"}
1
+ {"version":3,"file":"BottomTabView.d.ts","sourceRoot":"","sources":["../../../../src/views/BottomTabView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAEV,sBAAsB,EAEtB,yBAAyB,EACzB,0BAA0B,EAG3B,MAAM,UAAU,CAAC;AAOlB,KAAK,KAAK,GAAG,yBAAyB,GAAG;IACvC,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,0BAA0B,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC,CAAC;AA6BF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,qBA+OzC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/bottom-tabs",
3
3
  "description": "Bottom tab navigator following iOS design guidelines",
4
- "version": "7.0.0-alpha.13",
4
+ "version": "7.0.0-alpha.14",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -73,5 +73,5 @@
73
73
  ]
74
74
  ]
75
75
  },
76
- "gitHead": "4278a3d0a5deca93206771a1fa746aa03b86900e"
76
+ "gitHead": "41e512edadf02033756a0c07750a8faedc12250a"
77
77
  }
@@ -49,7 +49,7 @@ const NAMED_TRANSITIONS_PRESETS = {
49
49
  sceneStyleInterpolator: undefined,
50
50
  transitionSpec: {
51
51
  animation: 'timing',
52
- config: { duration: 150 },
52
+ config: { duration: 0 },
53
53
  },
54
54
  },
55
55
  } as const;
@@ -89,9 +89,14 @@ export function BottomTabView(props: Props) {
89
89
  setLoaded([...loaded, focusedRouteKey]);
90
90
  }
91
91
 
92
+ const previousRouteKeyRef = React.useRef(focusedRouteKey);
92
93
  const tabAnims = useAnimatedHashMap(state);
93
94
 
94
95
  React.useEffect(() => {
96
+ const previousRouteKey = previousRouteKeyRef.current;
97
+
98
+ previousRouteKeyRef.current = focusedRouteKey;
99
+
95
100
  const animateToIndex = () => {
96
101
  Animated.parallel(
97
102
  state.routes
@@ -100,15 +105,27 @@ export function BottomTabView(props: Props) {
100
105
  const {
101
106
  animation = 'none',
102
107
  transitionSpec = NAMED_TRANSITIONS_PRESETS[animation]
103
- .transitionSpec ??
104
- NAMED_TRANSITIONS_PRESETS.none.transitionSpec,
108
+ .transitionSpec,
105
109
  } = options;
106
110
 
111
+ let spec = transitionSpec;
112
+
113
+ if (
114
+ route.key !== previousRouteKey &&
115
+ route.key !== focusedRouteKey
116
+ ) {
117
+ // Don't animate if the screen is not previous one or new one
118
+ // This will avoid flicker for screens not involved in the transition
119
+ spec = NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
120
+ }
121
+
122
+ spec = spec ?? NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
123
+
107
124
  const toValue =
108
125
  index === state.index ? 0 : index >= state.index ? 1 : -1;
109
126
 
110
- return Animated[transitionSpec.animation](tabAnims[route.key], {
111
- ...transitionSpec.config,
127
+ return Animated[spec.animation](tabAnims[route.key], {
128
+ ...spec.config,
112
129
  toValue,
113
130
  useNativeDriver: true,
114
131
  });
@@ -118,7 +135,7 @@ export function BottomTabView(props: Props) {
118
135
  };
119
136
 
120
137
  animateToIndex();
121
- }, [descriptors, state.index, state.routes, tabAnims]);
138
+ }, [descriptors, focusedRouteKey, state.index, state.routes, tabAnims]);
122
139
 
123
140
  const dimensions = SafeAreaProviderCompat.initialMetrics.frame;
124
141
  const [tabBarHeight, setTabBarHeight] = React.useState(() =>