@react-navigation/bottom-tabs 7.0.0-alpha.8 → 7.0.0-rc.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.
- package/lib/commonjs/TransitionConfigs/SceneStyleInterpolators.js +11 -13
- package/lib/commonjs/TransitionConfigs/SceneStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js +6 -6
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +3 -3
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/commonjs/index.js +4 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createBottomTabNavigator.js +20 -17
- package/lib/commonjs/navigators/createBottomTabNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/BottomTabBarHeightCallbackContext.js +1 -1
- package/lib/commonjs/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
- package/lib/commonjs/utils/BottomTabBarHeightContext.js +1 -1
- package/lib/commonjs/utils/BottomTabBarHeightContext.js.map +1 -1
- package/lib/commonjs/utils/useAnimatedHashMap.js +8 -10
- package/lib/commonjs/utils/useAnimatedHashMap.js.map +1 -1
- package/lib/commonjs/utils/useBottomTabBarHeight.js +1 -1
- package/lib/commonjs/utils/useBottomTabBarHeight.js.map +1 -1
- package/lib/commonjs/utils/useIsKeyboardShown.js +1 -1
- package/lib/commonjs/utils/useIsKeyboardShown.js.map +1 -1
- package/lib/commonjs/views/Badge.js +13 -15
- package/lib/commonjs/views/Badge.js.map +1 -1
- package/lib/commonjs/views/BottomTabBar.js +81 -82
- package/lib/commonjs/views/BottomTabBar.js.map +1 -1
- package/lib/commonjs/views/BottomTabItem.js +69 -59
- package/lib/commonjs/views/BottomTabItem.js.map +1 -1
- package/lib/commonjs/views/BottomTabView.js +76 -50
- package/lib/commonjs/views/BottomTabView.js.map +1 -1
- package/lib/commonjs/views/ScreenFallback.js +11 -13
- package/lib/commonjs/views/ScreenFallback.js.map +1 -1
- package/lib/commonjs/views/TabBarIcon.js +14 -15
- package/lib/commonjs/views/TabBarIcon.js.map +1 -1
- package/lib/module/TransitionConfigs/SceneStyleInterpolators.js +9 -11
- package/lib/module/TransitionConfigs/SceneStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionPresets.js +7 -7
- package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionSpecs.js +2 -2
- package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createBottomTabNavigator.js +18 -15
- package/lib/module/navigators/createBottomTabNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
- package/lib/module/utils/BottomTabBarHeightContext.js.map +1 -1
- package/lib/module/utils/useAnimatedHashMap.js +7 -9
- package/lib/module/utils/useAnimatedHashMap.js.map +1 -1
- package/lib/module/utils/useBottomTabBarHeight.js.map +1 -1
- package/lib/module/utils/useIsKeyboardShown.js.map +1 -1
- package/lib/module/views/Badge.js +11 -13
- package/lib/module/views/Badge.js.map +1 -1
- package/lib/module/views/BottomTabBar.js +82 -83
- package/lib/module/views/BottomTabBar.js.map +1 -1
- package/lib/module/views/BottomTabItem.js +68 -58
- package/lib/module/views/BottomTabItem.js.map +1 -1
- package/lib/module/views/BottomTabView.js +75 -49
- package/lib/module/views/BottomTabView.js.map +1 -1
- package/lib/module/views/ScreenFallback.js +10 -12
- package/lib/module/views/ScreenFallback.js.map +1 -1
- package/lib/module/views/TabBarIcon.js +13 -14
- package/lib/module/views/TabBarIcon.js.map +1 -1
- package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts +2 -2
- package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts.map +1 -1
- package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -1
- package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
- package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +2 -2
- package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts +14 -9
- package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +25 -12
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/BottomTabBar.d.ts +1 -5
- package/lib/typescript/src/views/BottomTabBar.d.ts.map +1 -1
- package/lib/typescript/src/views/BottomTabItem.d.ts +7 -1
- package/lib/typescript/src/views/BottomTabItem.d.ts.map +1 -1
- package/lib/typescript/src/views/BottomTabView.d.ts +1 -1
- package/lib/typescript/src/views/BottomTabView.d.ts.map +1 -1
- package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -1
- package/lib/typescript/src/views/TabBarIcon.d.ts +1 -1
- package/lib/typescript/src/views/TabBarIcon.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/TransitionConfigs/SceneStyleInterpolators.tsx +5 -5
- package/src/TransitionConfigs/TransitionPresets.tsx +7 -7
- package/src/TransitionConfigs/TransitionSpecs.tsx +2 -2
- package/src/index.tsx +3 -2
- package/src/navigators/createBottomTabNavigator.tsx +33 -7
- package/src/types.tsx +31 -11
- package/src/views/BottomTabBar.tsx +74 -58
- package/src/views/BottomTabItem.tsx +27 -3
- package/src/views/BottomTabView.tsx +116 -55
- package/src/views/TabBarIcon.tsx +1 -1
|
@@ -1,64 +1,63 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { getLabel, Label, PlatformPressable } from '@react-navigation/elements';
|
|
3
3
|
import { useTheme } from '@react-navigation/native';
|
|
4
4
|
import Color from 'color';
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { Platform, StyleSheet } from 'react-native';
|
|
7
7
|
import { TabBarIcon } from './TabBarIcon';
|
|
8
|
-
export function BottomTabItem(
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
export function BottomTabItem({
|
|
9
|
+
route,
|
|
10
|
+
href,
|
|
11
|
+
focused,
|
|
12
|
+
descriptor,
|
|
13
|
+
label,
|
|
14
|
+
icon,
|
|
15
|
+
badge,
|
|
16
|
+
badgeStyle,
|
|
17
|
+
button = ({
|
|
11
18
|
href,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
label,
|
|
15
|
-
icon,
|
|
16
|
-
badge,
|
|
17
|
-
badgeStyle,
|
|
18
|
-
button = _ref2 => {
|
|
19
|
-
let {
|
|
20
|
-
href,
|
|
21
|
-
children,
|
|
22
|
-
style,
|
|
23
|
-
onPress,
|
|
24
|
-
accessibilityRole,
|
|
25
|
-
...rest
|
|
26
|
-
} = _ref2;
|
|
27
|
-
return /*#__PURE__*/React.createElement(PlatformPressable, _extends({}, rest, {
|
|
28
|
-
android_ripple: {
|
|
29
|
-
borderless: true
|
|
30
|
-
},
|
|
31
|
-
pressOpacity: 1,
|
|
32
|
-
href: href,
|
|
33
|
-
accessibilityRole: accessibilityRole,
|
|
34
|
-
onPress: onPress,
|
|
35
|
-
style: style
|
|
36
|
-
}), children);
|
|
37
|
-
},
|
|
38
|
-
accessibilityLabel,
|
|
39
|
-
testID,
|
|
19
|
+
children,
|
|
20
|
+
style,
|
|
40
21
|
onPress,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
22
|
+
accessibilityRole,
|
|
23
|
+
...rest
|
|
24
|
+
}) => {
|
|
25
|
+
return /*#__PURE__*/React.createElement(PlatformPressable, _extends({}, rest, {
|
|
26
|
+
android_ripple: {
|
|
27
|
+
borderless: true
|
|
28
|
+
},
|
|
29
|
+
pressOpacity: 1,
|
|
30
|
+
href: href,
|
|
31
|
+
accessibilityRole: accessibilityRole,
|
|
32
|
+
onPress: onPress,
|
|
33
|
+
style: style
|
|
34
|
+
}), children);
|
|
35
|
+
},
|
|
36
|
+
accessibilityLabel,
|
|
37
|
+
testID,
|
|
38
|
+
onPress,
|
|
39
|
+
onLongPress,
|
|
40
|
+
horizontal,
|
|
41
|
+
variant,
|
|
42
|
+
activeTintColor: customActiveTintColor,
|
|
43
|
+
inactiveTintColor: customInactiveTintColor,
|
|
44
|
+
activeBackgroundColor = 'transparent',
|
|
45
|
+
inactiveBackgroundColor = 'transparent',
|
|
46
|
+
showLabel = true,
|
|
47
|
+
allowFontScaling,
|
|
48
|
+
labelStyle,
|
|
49
|
+
iconStyle,
|
|
50
|
+
style
|
|
51
|
+
}) {
|
|
53
52
|
const {
|
|
54
|
-
colors
|
|
53
|
+
colors,
|
|
54
|
+
fonts
|
|
55
55
|
} = useTheme();
|
|
56
56
|
const activeTintColor = customActiveTintColor === undefined ? colors.primary : customActiveTintColor;
|
|
57
57
|
const inactiveTintColor = customInactiveTintColor === undefined ? Color(colors.text).mix(Color(colors.card), 0.5).hex() : customInactiveTintColor;
|
|
58
|
-
const renderLabel =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
} = _ref3;
|
|
58
|
+
const renderLabel = ({
|
|
59
|
+
focused
|
|
60
|
+
}) => {
|
|
62
61
|
if (showLabel === false) {
|
|
63
62
|
return null;
|
|
64
63
|
}
|
|
@@ -79,15 +78,16 @@ export function BottomTabItem(_ref) {
|
|
|
79
78
|
});
|
|
80
79
|
}
|
|
81
80
|
return /*#__PURE__*/React.createElement(Label, {
|
|
82
|
-
style: [horizontal ? styles.labelBeside
|
|
81
|
+
style: [horizontal ? [styles.labelBeside, {
|
|
82
|
+
marginStart: icon !== undefined ? 16 : 0
|
|
83
|
+
}, variant === 'uikit' && styles.labelBesideUikit] : styles.labelBeneath, variant === 'material' && fonts.medium, labelStyle],
|
|
83
84
|
allowFontScaling: allowFontScaling,
|
|
84
85
|
tintColor: color
|
|
85
86
|
}, label);
|
|
86
87
|
};
|
|
87
|
-
const renderIcon =
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
} = _ref4;
|
|
88
|
+
const renderIcon = ({
|
|
89
|
+
focused
|
|
90
|
+
}) => {
|
|
91
91
|
if (icon === undefined) {
|
|
92
92
|
return null;
|
|
93
93
|
}
|
|
@@ -135,7 +135,9 @@ export function BottomTabItem(_ref) {
|
|
|
135
135
|
}
|
|
136
136
|
const styles = StyleSheet.create({
|
|
137
137
|
tab: {
|
|
138
|
-
alignItems: 'center'
|
|
138
|
+
alignItems: 'center',
|
|
139
|
+
// Roundness for iPad hover effect
|
|
140
|
+
borderRadius: 10
|
|
139
141
|
},
|
|
140
142
|
tabPortrait: {
|
|
141
143
|
justifyContent: 'flex-end',
|
|
@@ -143,14 +145,22 @@ const styles = StyleSheet.create({
|
|
|
143
145
|
},
|
|
144
146
|
tabLandscape: {
|
|
145
147
|
justifyContent: 'center',
|
|
146
|
-
flexDirection: 'row'
|
|
148
|
+
flexDirection: 'row',
|
|
149
|
+
paddingVertical: 12,
|
|
150
|
+
paddingStart: 16,
|
|
151
|
+
paddingEnd: 24
|
|
147
152
|
},
|
|
148
153
|
labelBeneath: {
|
|
149
154
|
fontSize: 10
|
|
150
155
|
},
|
|
151
156
|
labelBeside: {
|
|
152
|
-
|
|
153
|
-
|
|
157
|
+
marginEnd: 12,
|
|
158
|
+
marginVertical: 4,
|
|
159
|
+
lineHeight: 24,
|
|
160
|
+
marginStart: 20
|
|
161
|
+
},
|
|
162
|
+
labelBesideUikit: {
|
|
163
|
+
fontSize: 13
|
|
154
164
|
}
|
|
155
165
|
});
|
|
156
166
|
//# sourceMappingURL=BottomTabItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getLabel","Label","PlatformPressable","useTheme","Color","React","Platform","StyleSheet","TabBarIcon","BottomTabItem","
|
|
1
|
+
{"version":3,"names":["getLabel","Label","PlatformPressable","useTheme","Color","React","Platform","StyleSheet","TabBarIcon","BottomTabItem","route","href","focused","descriptor","label","icon","badge","badgeStyle","button","children","style","onPress","accessibilityRole","rest","createElement","_extends","android_ripple","borderless","pressOpacity","accessibilityLabel","testID","onLongPress","horizontal","variant","activeTintColor","customActiveTintColor","inactiveTintColor","customInactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","showLabel","allowFontScaling","labelStyle","iconStyle","colors","fonts","undefined","primary","text","mix","card","hex","renderLabel","color","options","tabBarLabel","title","name","position","styles","labelBeside","marginStart","labelBesideUikit","labelBeneath","medium","tintColor","renderIcon","activeOpacity","inactiveOpacity","scene","backgroundColor","select","ios","default","accessibilityState","selected","accessibilityStates","tab","tabLandscape","tabPortrait","Fragment","create","alignItems","borderRadius","justifyContent","flexDirection","paddingVertical","paddingStart","paddingEnd","fontSize","marginEnd","marginVertical","lineHeight"],"sourceRoot":"../../../src","sources":["views/BottomTabItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { getHeaderTitle, Header, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';
|
|
3
|
+
import { StackActions, useLocale } from '@react-navigation/native';
|
|
3
4
|
import * as React from 'react';
|
|
4
5
|
import { Animated, Platform, StyleSheet } from 'react-native';
|
|
5
6
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
|
7
|
+
import { FadeTransition, ShiftTransition } from '../TransitionConfigs/TransitionPresets';
|
|
6
8
|
import { BottomTabBarHeightCallbackContext } from '../utils/BottomTabBarHeightCallbackContext';
|
|
7
9
|
import { BottomTabBarHeightContext } from '../utils/BottomTabBarHeightContext';
|
|
8
10
|
import { useAnimatedHashMap } from '../utils/useAnimatedHashMap';
|
|
@@ -12,15 +14,28 @@ const EPSILON = 1e-5;
|
|
|
12
14
|
const STATE_INACTIVE = 0;
|
|
13
15
|
const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
|
|
14
16
|
const STATE_ON_TOP = 2;
|
|
17
|
+
const NAMED_TRANSITIONS_PRESETS = {
|
|
18
|
+
fade: FadeTransition,
|
|
19
|
+
shift: ShiftTransition,
|
|
20
|
+
none: {
|
|
21
|
+
sceneStyleInterpolator: undefined,
|
|
22
|
+
transitionSpec: {
|
|
23
|
+
animation: 'timing',
|
|
24
|
+
config: {
|
|
25
|
+
duration: 0
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
15
30
|
const hasAnimation = options => {
|
|
16
31
|
const {
|
|
17
|
-
|
|
32
|
+
animation,
|
|
18
33
|
transitionSpec
|
|
19
34
|
} = options;
|
|
20
|
-
if (
|
|
21
|
-
return
|
|
35
|
+
if (animation) {
|
|
36
|
+
return animation !== 'none';
|
|
22
37
|
}
|
|
23
|
-
return
|
|
38
|
+
return !transitionSpec;
|
|
24
39
|
};
|
|
25
40
|
export function BottomTabView(props) {
|
|
26
41
|
const {
|
|
@@ -33,6 +48,9 @@ export function BottomTabView(props) {
|
|
|
33
48
|
sceneContainerStyle
|
|
34
49
|
} = props;
|
|
35
50
|
const focusedRouteKey = state.routes[state.index].key;
|
|
51
|
+
const {
|
|
52
|
+
direction
|
|
53
|
+
} = useLocale();
|
|
36
54
|
|
|
37
55
|
/**
|
|
38
56
|
* List of loaded tabs, tabs will be loaded when navigated to.
|
|
@@ -42,43 +60,58 @@ export function BottomTabView(props) {
|
|
|
42
60
|
// Set the current tab to be loaded if it was not loaded before
|
|
43
61
|
setLoaded([...loaded, focusedRouteKey]);
|
|
44
62
|
}
|
|
63
|
+
const previousRouteKeyRef = React.useRef(focusedRouteKey);
|
|
45
64
|
const tabAnims = useAnimatedHashMap(state);
|
|
46
65
|
React.useEffect(() => {
|
|
66
|
+
const previousRouteKey = previousRouteKeyRef.current;
|
|
67
|
+
let popToTopAction;
|
|
68
|
+
if (previousRouteKey !== focusedRouteKey && descriptors[previousRouteKey]?.options.popToTopOnBlur) {
|
|
69
|
+
const prevRoute = state.routes.find(route => route.key === previousRouteKey);
|
|
70
|
+
if (prevRoute?.state?.type === 'stack' && prevRoute.state.key) {
|
|
71
|
+
popToTopAction = {
|
|
72
|
+
...StackActions.popToTop(),
|
|
73
|
+
target: prevRoute.state.key
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
47
77
|
const animateToIndex = () => {
|
|
48
78
|
Animated.parallel(state.routes.map((route, index) => {
|
|
49
79
|
const {
|
|
50
80
|
options
|
|
51
81
|
} = descriptors[route.key];
|
|
52
82
|
const {
|
|
53
|
-
|
|
83
|
+
animation = 'none',
|
|
84
|
+
transitionSpec = NAMED_TRANSITIONS_PRESETS[animation].transitionSpec
|
|
54
85
|
} = options;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
duration: 0,
|
|
61
|
-
useNativeDriver: true
|
|
62
|
-
});
|
|
86
|
+
let spec = transitionSpec;
|
|
87
|
+
if (route.key !== previousRouteKey && route.key !== focusedRouteKey) {
|
|
88
|
+
// Don't animate if the screen is not previous one or new one
|
|
89
|
+
// This will avoid flicker for screens not involved in the transition
|
|
90
|
+
spec = NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
|
|
63
91
|
}
|
|
64
|
-
|
|
65
|
-
|
|
92
|
+
spec = spec ?? NAMED_TRANSITIONS_PRESETS.none.transitionSpec;
|
|
93
|
+
const toValue = index === state.index ? 0 : index >= state.index ? 1 : -1;
|
|
94
|
+
return Animated[spec.animation](tabAnims[route.key], {
|
|
95
|
+
...spec.config,
|
|
66
96
|
toValue,
|
|
67
97
|
useNativeDriver: true
|
|
68
98
|
});
|
|
69
|
-
}).filter(Boolean)).start(
|
|
99
|
+
}).filter(Boolean)).start(({
|
|
100
|
+
finished
|
|
101
|
+
}) => {
|
|
102
|
+
if (finished && popToTopAction) {
|
|
103
|
+
navigation.dispatch(popToTopAction);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
70
106
|
};
|
|
71
107
|
animateToIndex();
|
|
72
|
-
|
|
108
|
+
previousRouteKeyRef.current = focusedRouteKey;
|
|
109
|
+
}, [descriptors, focusedRouteKey, navigation, state.index, state.routes, tabAnims]);
|
|
73
110
|
const dimensions = SafeAreaProviderCompat.initialMetrics.frame;
|
|
74
111
|
const [tabBarHeight, setTabBarHeight] = React.useState(() => getTabBarHeight({
|
|
75
112
|
state,
|
|
76
113
|
descriptors,
|
|
77
114
|
dimensions,
|
|
78
|
-
layout: {
|
|
79
|
-
width: dimensions.width,
|
|
80
|
-
height: 0
|
|
81
|
-
},
|
|
82
115
|
insets: {
|
|
83
116
|
...SafeAreaProviderCompat.initialMetrics.insets,
|
|
84
117
|
...props.safeAreaInsets
|
|
@@ -108,8 +141,12 @@ export function BottomTabView(props) {
|
|
|
108
141
|
tabBarPosition = 'bottom'
|
|
109
142
|
} = descriptors[focusedRouteKey].options;
|
|
110
143
|
return /*#__PURE__*/React.createElement(SafeAreaProviderCompat, {
|
|
111
|
-
style:
|
|
112
|
-
|
|
144
|
+
style: {
|
|
145
|
+
flexDirection: tabBarPosition === 'left' && direction === 'ltr' || tabBarPosition === 'right' && direction === 'rtl' ? 'row-reverse' : 'row'
|
|
146
|
+
}
|
|
147
|
+
}, tabBarPosition === 'top' ? /*#__PURE__*/React.createElement(BottomTabBarHeightCallbackContext.Provider, {
|
|
148
|
+
value: setTabBarHeight
|
|
149
|
+
}, renderTabBar()) : null, /*#__PURE__*/React.createElement(MaybeScreenContainer, {
|
|
113
150
|
enabled: detachInactiveScreens,
|
|
114
151
|
hasTwoStates: hasTwoStates,
|
|
115
152
|
style: styles.screens
|
|
@@ -117,29 +154,23 @@ export function BottomTabView(props) {
|
|
|
117
154
|
const descriptor = descriptors[route.key];
|
|
118
155
|
const {
|
|
119
156
|
lazy = true,
|
|
120
|
-
|
|
121
|
-
sceneStyleInterpolator
|
|
157
|
+
animation = 'none',
|
|
158
|
+
sceneStyleInterpolator = NAMED_TRANSITIONS_PRESETS[animation].sceneStyleInterpolator
|
|
122
159
|
} = descriptor.options;
|
|
123
160
|
const isFocused = state.index === index;
|
|
124
|
-
if (unmountOnBlur && !isFocused) {
|
|
125
|
-
return null;
|
|
126
|
-
}
|
|
127
161
|
if (lazy && !loaded.includes(route.key) && !isFocused && !state.preloadedRouteKeys.includes(route.key)) {
|
|
128
162
|
// Don't render a lazy screen if we've never navigated to it or it wasn't preloaded
|
|
129
163
|
return null;
|
|
130
164
|
}
|
|
131
165
|
const {
|
|
132
166
|
freezeOnBlur,
|
|
133
|
-
header =
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
title: getHeaderTitle(options, route.name)
|
|
141
|
-
}));
|
|
142
|
-
},
|
|
167
|
+
header = ({
|
|
168
|
+
layout,
|
|
169
|
+
options
|
|
170
|
+
}) => /*#__PURE__*/React.createElement(Header, _extends({}, options, {
|
|
171
|
+
layout: layout,
|
|
172
|
+
title: getHeaderTitle(options, route.name)
|
|
173
|
+
})),
|
|
143
174
|
headerShown,
|
|
144
175
|
headerStatusBarHeight,
|
|
145
176
|
headerTransparent
|
|
@@ -147,7 +178,9 @@ export function BottomTabView(props) {
|
|
|
147
178
|
const {
|
|
148
179
|
sceneStyle
|
|
149
180
|
} = sceneStyleInterpolator?.({
|
|
150
|
-
current:
|
|
181
|
+
current: {
|
|
182
|
+
progress: tabAnims[route.key]
|
|
183
|
+
}
|
|
151
184
|
}) ?? {};
|
|
152
185
|
const animationEnabled = hasAnimation(descriptor.options);
|
|
153
186
|
const activityState = isFocused ? STATE_ON_TOP // the screen is on top after the transition
|
|
@@ -158,7 +191,6 @@ export function BottomTabView(props) {
|
|
|
158
191
|
// screen visible during transition
|
|
159
192
|
STATE_TRANSITIONING_OR_BELOW_TOP, STATE_INACTIVE // the screen is detached after transition
|
|
160
193
|
],
|
|
161
|
-
|
|
162
194
|
extrapolate: 'extend'
|
|
163
195
|
}) : STATE_INACTIVE;
|
|
164
196
|
return /*#__PURE__*/React.createElement(MaybeScreen, {
|
|
@@ -186,17 +218,11 @@ export function BottomTabView(props) {
|
|
|
186
218
|
}),
|
|
187
219
|
style: [sceneContainerStyle, animationEnabled && sceneStyle]
|
|
188
220
|
}, descriptor.render())));
|
|
189
|
-
})), /*#__PURE__*/React.createElement(BottomTabBarHeightCallbackContext.Provider, {
|
|
221
|
+
})), tabBarPosition !== 'top' ? /*#__PURE__*/React.createElement(BottomTabBarHeightCallbackContext.Provider, {
|
|
190
222
|
value: setTabBarHeight
|
|
191
|
-
}, renderTabBar()));
|
|
223
|
+
}, renderTabBar()) : null);
|
|
192
224
|
}
|
|
193
225
|
const styles = StyleSheet.create({
|
|
194
|
-
left: {
|
|
195
|
-
flexDirection: 'row-reverse'
|
|
196
|
-
},
|
|
197
|
-
right: {
|
|
198
|
-
flexDirection: 'row'
|
|
199
|
-
},
|
|
200
226
|
screens: {
|
|
201
227
|
flex: 1,
|
|
202
228
|
overflow: 'hidden'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","React","Animated","Platform","StyleSheet","SafeAreaInsetsContext","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useAnimatedHashMap","BottomTabBar","getTabBarHeight","MaybeScreen","MaybeScreenContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","StackActions","useLocale","React","Animated","Platform","StyleSheet","SafeAreaInsetsContext","FadeTransition","ShiftTransition","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useAnimatedHashMap","BottomTabBar","getTabBarHeight","MaybeScreen","MaybeScreenContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","NAMED_TRANSITIONS_PRESETS","fade","shift","none","sceneStyleInterpolator","undefined","transitionSpec","animation","config","duration","hasAnimation","options","BottomTabView","props","tabBar","createElement","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","OS","sceneContainerStyle","focusedRouteKey","routes","index","key","direction","loaded","setLoaded","useState","includes","previousRouteKeyRef","useRef","tabAnims","useEffect","previousRouteKey","current","popToTopAction","popToTopOnBlur","prevRoute","find","route","type","popToTop","target","animateToIndex","parallel","map","spec","toValue","useNativeDriver","filter","Boolean","start","finished","dispatch","dimensions","initialMetrics","frame","tabBarHeight","setTabBarHeight","insets","style","tabBarStyle","renderTabBar","Consumer","top","right","bottom","left","hasTwoStates","some","tabBarPosition","flexDirection","Provider","value","enabled","styles","screens","descriptor","lazy","isFocused","preloadedRouteKeys","freezeOnBlur","header","layout","_extends","title","name","headerShown","headerStatusBarHeight","headerTransparent","sceneStyle","progress","animationEnabled","activityState","interpolate","inputRange","outputRange","extrapolate","absoluteFill","zIndex","active","focused","render","create","flex","overflow"],"sourceRoot":"../../../src","sources":["views/BottomTabView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { View } from 'react-native';
|
|
4
4
|
let Screens;
|
|
@@ -7,11 +7,10 @@ try {
|
|
|
7
7
|
} catch (e) {
|
|
8
8
|
// Ignore
|
|
9
9
|
}
|
|
10
|
-
export const MaybeScreenContainer =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
10
|
+
export const MaybeScreenContainer = ({
|
|
11
|
+
enabled,
|
|
12
|
+
...rest
|
|
13
|
+
}) => {
|
|
15
14
|
if (Screens?.screensEnabled?.()) {
|
|
16
15
|
return /*#__PURE__*/React.createElement(Screens.ScreenContainer, _extends({
|
|
17
16
|
enabled: enabled
|
|
@@ -19,12 +18,11 @@ export const MaybeScreenContainer = _ref => {
|
|
|
19
18
|
}
|
|
20
19
|
return /*#__PURE__*/React.createElement(View, rest);
|
|
21
20
|
};
|
|
22
|
-
export function MaybeScreen(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} = _ref2;
|
|
21
|
+
export function MaybeScreen({
|
|
22
|
+
enabled,
|
|
23
|
+
active,
|
|
24
|
+
...rest
|
|
25
|
+
}) {
|
|
28
26
|
if (Screens?.screensEnabled?.()) {
|
|
29
27
|
return /*#__PURE__*/React.createElement(Screens.Screen, _extends({
|
|
30
28
|
enabled: enabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Screens","require","e","MaybeScreenContainer","
|
|
1
|
+
{"version":3,"names":["React","View","Screens","require","e","MaybeScreenContainer","enabled","rest","screensEnabled","createElement","ScreenContainer","_extends","MaybeScreen","active","Screen","activityState"],"sourceRoot":"../../../src","sources":["views/ScreenFallback.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAGEC,IAAI,QAGC,cAAc;AAUrB,IAAIC,OAA0D;AAE9D,IAAI;EACFA,OAAO,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAC3C,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;AAAA;AAGF,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,OAAO;EACP,GAAGC;AAKL,CAAC,KAAK;EACJ,IAAIL,OAAO,EAAEM,cAAc,GAAG,CAAC,EAAE;IAC/B,oBAAOR,KAAA,CAAAS,aAAA,CAACP,OAAO,CAACQ,eAAe,EAAAC,QAAA;MAACL,OAAO,EAAEA;IAAQ,GAAKC,IAAI,CAAG,CAAC;EAChE;EAEA,oBAAOP,KAAA,CAAAS,aAAA,CAACR,IAAI,EAAKM,IAAO,CAAC;AAC3B,CAAC;AAED,OAAO,SAASK,WAAWA,CAAC;EAAEN,OAAO;EAAEO,MAAM;EAAE,GAAGN;AAAwB,CAAC,EAAE;EAC3E,IAAIL,OAAO,EAAEM,cAAc,GAAG,CAAC,EAAE;IAC/B,oBACER,KAAA,CAAAS,aAAA,CAACP,OAAO,CAACY,MAAM,EAAAH,QAAA;MAACL,OAAO,EAAEA,OAAQ;MAACS,aAAa,EAAEF;IAAO,GAAKN,IAAI,CAAG,CAAC;EAEzE;EAEA,oBAAOP,KAAA,CAAAS,aAAA,CAACR,IAAI,EAAKM,IAAO,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -2,19 +2,18 @@ import React from 'react';
|
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
3
|
import { Badge } from './Badge';
|
|
4
4
|
const ICON_SIZE = 25;
|
|
5
|
-
export function TabBarIcon(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} = _ref;
|
|
5
|
+
export function TabBarIcon({
|
|
6
|
+
route: _,
|
|
7
|
+
horizontal,
|
|
8
|
+
badge,
|
|
9
|
+
badgeStyle,
|
|
10
|
+
activeOpacity,
|
|
11
|
+
inactiveOpacity,
|
|
12
|
+
activeTintColor,
|
|
13
|
+
inactiveTintColor,
|
|
14
|
+
renderIcon,
|
|
15
|
+
style
|
|
16
|
+
}) {
|
|
18
17
|
// We render the icon twice at the same position on top of each other:
|
|
19
18
|
// active and inactive one, so we can fade between them.
|
|
20
19
|
return /*#__PURE__*/React.createElement(View, {
|
|
@@ -65,7 +64,7 @@ const styles = StyleSheet.create({
|
|
|
65
64
|
},
|
|
66
65
|
badge: {
|
|
67
66
|
position: 'absolute',
|
|
68
|
-
|
|
67
|
+
end: -5,
|
|
69
68
|
top: -5
|
|
70
69
|
}
|
|
71
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","Badge","ICON_SIZE","TabBarIcon","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","Badge","ICON_SIZE","TabBarIcon","route","_","horizontal","badge","badgeStyle","activeOpacity","inactiveOpacity","activeTintColor","inactiveTintColor","renderIcon","style","createElement","styles","iconHorizontal","iconVertical","icon","opacity","focused","size","color","visible","create","position","alignSelf","alignItems","justifyContent","height","width","minWidth","end","top"],"sourceRoot":"../../../src","sources":["views/TabBarIcon.tsx"],"mappings":"AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,UAAU,EAEVC,IAAI,QAEC,cAAc;AAErB,SAASC,KAAK,QAAQ,SAAS;AAmB/B,MAAMC,SAAS,GAAG,EAAE;AAEpB,OAAO,SAASC,UAAUA,CAAC;EACzBC,KAAK,EAAEC,CAAC;EACRC,UAAU;EACVC,KAAK;EACLC,UAAU;EACVC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,iBAAiB;EACjBC,UAAU;EACVC;AACK,CAAC,EAAE;EACR;EACA;EACA,oBACEhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;IACHc,KAAK,EAAE,CAACR,UAAU,GAAGU,MAAM,CAACC,cAAc,GAAGD,MAAM,CAACE,YAAY,EAAEJ,KAAK;EAAE,gBAEzEhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;IAACc,KAAK,EAAE,CAACE,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEX;IAAc,CAAC;EAAE,GACpDI,UAAU,CAAC;IACVQ,OAAO,EAAE,IAAI;IACbC,IAAI,EAAEpB,SAAS;IACfqB,KAAK,EAAEZ;EACT,CAAC,CACG,CAAC,eACPb,KAAA,CAAAiB,aAAA,CAACf,IAAI;IAACc,KAAK,EAAE,CAACE,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEV;IAAgB,CAAC;EAAE,GACtDG,UAAU,CAAC;IACVQ,OAAO,EAAE,KAAK;IACdC,IAAI,EAAEpB,SAAS;IACfqB,KAAK,EAAEX;EACT,CAAC,CACG,CAAC,eACPd,KAAA,CAAAiB,aAAA,CAACd,KAAK;IACJuB,OAAO,EAAEjB,KAAK,IAAI,IAAK;IACvBO,KAAK,EAAE,CAACE,MAAM,CAACT,KAAK,EAAEC,UAAU,CAAE;IAClCc,IAAI,EAAEpB,SAAS,GAAG;EAAK,GAEtBK,KACI,CACH,CAAC;AAEX;AAEA,MAAMS,MAAM,GAAGjB,UAAU,CAAC0B,MAAM,CAAC;EAC/BN,IAAI,EAAE;IACJ;IACA;IACA;IACAO,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE,MAAM;IACb;IACAC,QAAQ,EAAE9B;EACZ,CAAC;EACDgB,YAAY,EAAE;IACZa,KAAK,EAAE7B,SAAS;IAChB4B,MAAM,EAAE5B;EACV,CAAC;EACDe,cAAc,EAAE;IACdc,KAAK,EAAE7B,SAAS;IAChB4B,MAAM,EAAE5B;EACV,CAAC;EACDK,KAAK,EAAE;IACLmB,QAAQ,EAAE,UAAU;IACpBO,GAAG,EAAE,CAAC,CAAC;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,9 +2,9 @@ import type { BottomTabSceneInterpolatedStyle, BottomTabSceneInterpolationProps
|
|
|
2
2
|
/**
|
|
3
3
|
* Simple cross fade animation
|
|
4
4
|
*/
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function forFade({ current, }: BottomTabSceneInterpolationProps): BottomTabSceneInterpolatedStyle;
|
|
6
6
|
/**
|
|
7
7
|
* Animation where the screens slightly shift to left/right
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function forShift({ current, }: BottomTabSceneInterpolationProps): BottomTabSceneInterpolatedStyle;
|
|
10
10
|
//# sourceMappingURL=SceneStyleInterpolators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneStyleInterpolators.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/SceneStyleInterpolators.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"SceneStyleInterpolators.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/SceneStyleInterpolators.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,GACR,EAAE,gCAAgC,GAAG,+BAA+B,CASpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,GACR,EAAE,gCAAgC,GAAG,+BAA+B,CAiBpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { BottomTabTransitionPreset } from '../types';
|
|
2
2
|
export declare const FadeTransition: BottomTabTransitionPreset;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const ShiftTransition: BottomTabTransitionPreset;
|
|
4
4
|
//# sourceMappingURL=TransitionPresets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionPresets.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/TransitionPresets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAI1D,eAAO,MAAM,cAAc,EAAE,yBAG5B,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"TransitionPresets.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/TransitionPresets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAI1D,eAAO,MAAM,cAAc,EAAE,yBAG5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,yBAG7B,CAAC"}
|