| 
1 |  | -diff --git a/node_modules/@react-navigation/bottom-tabs/lib/commonjs/views/BottomTabBar.js b/node_modules/@react-navigation/bottom-tabs/lib/commonjs/views/BottomTabBar.js  | 
2 |  | -index 8f0fb1c..bfc1cfc 100644  | 
3 |  | ---- a/node_modules/@react-navigation/bottom-tabs/lib/commonjs/views/BottomTabBar.js  | 
4 |  | -+++ b/node_modules/@react-navigation/bottom-tabs/lib/commonjs/views/BottomTabBar.js  | 
5 |  | -@@ -131,6 +131,7 @@ function BottomTabBar({  | 
6 |  | -     tabBarShowLabel,  | 
7 |  | -     tabBarLabelPosition,  | 
8 |  | -     tabBarHideOnKeyboard = false,  | 
9 |  | -+    tabBarVisible = false,  | 
10 |  | -     tabBarVisibilityAnimationConfig,  | 
11 |  | -     tabBarVariant = 'uikit',  | 
12 |  | -     tabBarStyle,  | 
13 |  | -@@ -149,7 +150,7 @@ function BottomTabBar({  | 
14 |  | -   const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();  | 
15 |  | -   const isKeyboardShown = (0, _useIsKeyboardShown.useIsKeyboardShown)();  | 
16 |  | -   const onHeightChange = _react.default.useContext(_BottomTabBarHeightCallbackContext.BottomTabBarHeightCallbackContext);  | 
17 |  | --  const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);  | 
18 |  | -+  const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown) && !tabBarVisible;  | 
19 |  | -   const visibilityAnimationConfigRef = _react.default.useRef(tabBarVisibilityAnimationConfig);  | 
20 |  | -   _react.default.useEffect(() => {  | 
21 |  | -     visibilityAnimationConfigRef.current = tabBarVisibilityAnimationConfig;  | 
22 |  | -@@ -251,6 +252,10 @@ function BottomTabBar({  | 
23 |  | -           outputRange: [layout.height + insets[tabBarPosition === 'top' ? 'top' : 'bottom'] + _reactNative.StyleSheet.hairlineWidth, 0]  | 
24 |  | -         })  | 
25 |  | -       }],  | 
26 |  | -+      opacity: visible.interpolate({  | 
27 |  | -+        inputRange: [0, 1],  | 
28 |  | -+        outputRange: [0, 1]  | 
29 |  | -+      }),  | 
30 |  | -       // Absolutely position the tab bar so that the content is below it  | 
31 |  | -       // This is needed to avoid gap at bottom when the tab bar is hidden  | 
32 |  | -       position: isTabBarHidden ? 'absolute' : undefined  | 
33 | 1 | diff --git a/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabBar.js b/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabBar.js  | 
34 |  | -index dbde384..ec63cde 100644  | 
 | 2 | +index cb4e310..ecacb80 100644  | 
35 | 3 | --- a/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabBar.js  | 
36 | 4 | +++ b/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabBar.js  | 
37 |  | -@@ -124,6 +124,7 @@ export function BottomTabBar({  | 
 | 5 | +@@ -123,6 +123,7 @@ export function BottomTabBar({  | 
38 | 6 |      tabBarShowLabel,  | 
39 | 7 |      tabBarLabelPosition,  | 
40 | 8 |      tabBarHideOnKeyboard = false,  | 
41 | 9 | +    tabBarVisible = false,  | 
42 | 10 |      tabBarVisibilityAnimationConfig,  | 
43 | 11 |      tabBarVariant = 'uikit',  | 
44 | 12 |      tabBarStyle,  | 
45 |  | -@@ -142,7 +143,7 @@ export function BottomTabBar({  | 
46 |  | -   const dimensions = useSafeAreaFrame();  | 
 | 13 | +@@ -140,7 +141,7 @@ export function BottomTabBar({  | 
 | 14 | +   }  | 
47 | 15 |    const isKeyboardShown = useIsKeyboardShown();  | 
48 | 16 |    const onHeightChange = React.useContext(BottomTabBarHeightCallbackContext);  | 
49 | 17 | -  const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);  | 
50 | 18 | +  const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown) && !tabBarVisible;  | 
51 | 19 |    const visibilityAnimationConfigRef = React.useRef(tabBarVisibilityAnimationConfig);  | 
52 | 20 |    React.useEffect(() => {  | 
53 | 21 |      visibilityAnimationConfigRef.current = tabBarVisibilityAnimationConfig;  | 
54 |  | -@@ -244,6 +245,10 @@ export function BottomTabBar({  | 
 | 22 | +@@ -241,8 +242,12 @@ export function BottomTabBar({  | 
 | 23 | +         translateY: visible.interpolate({  | 
 | 24 | +           inputRange: [0, 1],  | 
55 | 25 |            outputRange: [layout.height + insets[tabBarPosition === 'top' ? 'top' : 'bottom'] + StyleSheet.hairlineWidth, 0]  | 
56 |  | -         })  | 
 | 26 | +-        })  | 
 | 27 | ++        }),  | 
57 | 28 |        }],  | 
58 | 29 | +      opacity: visible.interpolate({  | 
59 | 30 | +        inputRange: [0, 1],  | 
60 | 31 | +        outputRange: [0, 1]  | 
61 |  | -+      }),  | 
 | 32 | ++     }),  | 
62 | 33 |        // Absolutely position the tab bar so that the content is below it  | 
63 | 34 |        // This is needed to avoid gap at bottom when the tab bar is hidden  | 
64 | 35 |        position: isTabBarHidden ? 'absolute' : undefined  | 
65 | 36 | diff --git a/node_modules/@react-navigation/bottom-tabs/src/types.tsx b/node_modules/@react-navigation/bottom-tabs/src/types.tsx  | 
66 |  | -index 02f7119..01dfabc 100644  | 
 | 37 | +index 2438b03..eaa6d4b 100644  | 
67 | 38 | --- a/node_modules/@react-navigation/bottom-tabs/src/types.tsx  | 
68 | 39 | +++ b/node_modules/@react-navigation/bottom-tabs/src/types.tsx  | 
69 |  | -@@ -224,6 +224,11 @@ export type BottomTabNavigationOptions = HeaderOptions & {  | 
 | 40 | +@@ -239,6 +239,11 @@ export type BottomTabNavigationOptions = HeaderOptions & {  | 
70 | 41 |     */  | 
71 |  | -   tabBarHideOnKeyboard?: boolean;  | 
 | 42 | +   tabBarVariant?: Variant;  | 
72 | 43 | 
 
  | 
73 | 44 | +  /**  | 
74 | 45 | +   * Whether the tab bar gets hidden when the screen is focused. Defaults to `false`.  | 
75 | 46 | +   */  | 
76 | 47 | +  tabBarVisible?: boolean;  | 
77 | 48 | +  | 
78 | 49 |    /**  | 
79 |  | -    * Animation config for showing and hiding the tab bar when the keyboard is shown/hidden.  | 
 | 50 | +    * Style object for the tab bar container.  | 
80 | 51 |     */  | 
 | 52 | +diff --git a/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabBar.tsx b/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabBar.tsx  | 
 | 53 | +index 55b9c8f..816b028 100644  | 
 | 54 | +--- a/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabBar.tsx  | 
 | 55 | ++++ b/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabBar.tsx  | 
 | 56 | +@@ -175,6 +175,7 @@ export function BottomTabBar({  | 
 | 57 | +     tabBarVariant = 'uikit',  | 
 | 58 | +     tabBarStyle,  | 
 | 59 | +     tabBarBackground,  | 
 | 60 | ++    tabBarVisible = false,  | 
 | 61 | +     tabBarActiveTintColor,  | 
 | 62 | +     tabBarInactiveTintColor,  | 
 | 63 | +     tabBarActiveBackgroundColor,  | 
 | 64 | +@@ -205,7 +206,7 @@ export function BottomTabBar({  | 
 | 65 | +   | 
 | 66 | +   const onHeightChange = React.useContext(BottomTabBarHeightCallbackContext);  | 
 | 67 | +   | 
 | 68 | +-  const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);  | 
 | 69 | ++  const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown) && !tabBarVisible  | 
 | 70 | +   | 
 | 71 | +   const visibilityAnimationConfigRef = React.useRef(  | 
 | 72 | +     tabBarVisibilityAnimationConfig  | 
 | 73 | +@@ -367,6 +368,10 @@ export function BottomTabBar({  | 
 | 74 | +                         0,  | 
 | 75 | +                       ],  | 
 | 76 | +                     }),  | 
 | 77 | ++                    opacity: visible.interpolate({  | 
 | 78 | ++                      inputRange: [0, 1],  | 
 | 79 | ++                      outputRange: [0, 1],  | 
 | 80 | ++                    }),  | 
 | 81 | +                   },  | 
 | 82 | +                 ],  | 
 | 83 | +                 // Absolutely position the tab bar so that the content is below it  | 
0 commit comments