@amazon-devices/react-navigation__react-native-tab-view 7.0.1759135970 → 8.0.9000000000
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/README.md +2 -646
- package/SystemBundles/6f915df16edbc21a601928d99e844a99397b9428146027dcf0d86b2a798f21f4.bundle +8563 -0
- package/SystemBundles/6f915df16edbc21a601928d99e844a99397b9428146027dcf0d86b2a798f21f4.map +3217 -0
- package/SystemModules/amzn__react-navigation__react-native-tab-view-8.modules.txt +12 -0
- package/SystemModules/amzn__react-navigation__react-native-tab-view-8.private.modules.txt +63 -0
- package/SystemModules/keplerscript-system-bundle-config.json +4 -4
- package/kepler-compatibility.json +2 -2
- package/lib/module/Pager.android.js +3 -1
- package/lib/module/Pager.android.js.map +1 -1
- package/lib/module/Pager.ios.js +3 -1
- package/lib/module/Pager.ios.js.map +1 -1
- package/lib/module/Pager.js +3 -1
- package/lib/module/Pager.js.map +1 -1
- package/lib/module/PagerViewAdapter.js +29 -22
- package/lib/module/PagerViewAdapter.js.map +1 -1
- package/lib/module/PanResponderAdapter.js +46 -32
- package/lib/module/PanResponderAdapter.js.map +1 -1
- package/lib/module/PlatformPressable.js +38 -12
- package/lib/module/PlatformPressable.js.map +1 -1
- package/lib/module/SceneMap.js +7 -4
- package/lib/module/SceneMap.js.map +1 -1
- package/lib/module/SceneView.js +16 -14
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/TabBar.js +232 -156
- package/lib/module/TabBar.js.map +1 -1
- package/lib/module/TabBarIndicator.js +47 -26
- package/lib/module/TabBarIndicator.js.map +1 -1
- package/lib/module/TabBarItem.js +106 -107
- package/lib/module/TabBarItem.js.map +1 -1
- package/lib/module/TabBarItemLabel.js +33 -0
- package/lib/module/TabBarItemLabel.js.map +1 -0
- package/lib/module/TabView.js +91 -63
- package/lib/module/TabView.js.map +1 -1
- package/lib/module/index.js +7 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useAnimatedValue.js +4 -2
- package/lib/module/useAnimatedValue.js.map +1 -1
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/Pager.android.d.ts +1 -1
- package/lib/typescript/src/Pager.android.d.ts.map +1 -1
- package/lib/typescript/src/Pager.d.ts +1 -1
- package/lib/typescript/src/Pager.d.ts.map +1 -1
- package/lib/typescript/src/Pager.ios.d.ts +1 -1
- package/lib/typescript/src/Pager.ios.d.ts.map +1 -1
- package/lib/typescript/src/PagerViewAdapter.d.ts +4 -1
- package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -1
- package/lib/typescript/src/PanResponderAdapter.d.ts +4 -1
- package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -1
- package/lib/typescript/src/PlatformPressable.d.ts +6 -8
- package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
- package/lib/typescript/src/SceneMap.d.ts +2 -2
- package/lib/typescript/src/SceneMap.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.d.ts +2 -2
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/TabBar.d.ts +7 -19
- package/lib/typescript/src/TabBar.d.ts.map +1 -1
- package/lib/typescript/src/TabBarIndicator.d.ts +8 -6
- package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
- package/lib/typescript/src/TabBarItem.d.ts +4 -22
- package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
- package/lib/typescript/src/TabBarItemLabel.d.ts +11 -0
- package/lib/typescript/src/TabBarItemLabel.d.ts.map +1 -0
- package/lib/typescript/src/TabView.d.ts +14 -8
- package/lib/typescript/src/TabView.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +6 -6
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +29 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useAnimatedValue.d.ts +1 -1
- package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Pager.android.tsx +1 -1
- package/src/Pager.ios.tsx +1 -1
- package/src/Pager.tsx +1 -1
- package/src/PagerViewAdapter.tsx +26 -21
- package/src/PanResponderAdapter.tsx +32 -28
- package/src/PlatformPressable.tsx +59 -10
- package/src/SceneMap.tsx +3 -3
- package/src/SceneView.tsx +6 -7
- package/src/TabBar.tsx +282 -193
- package/src/TabBarIndicator.tsx +65 -28
- package/src/TabBarItem.tsx +119 -130
- package/src/TabBarItemLabel.tsx +42 -0
- package/src/TabView.tsx +59 -16
- package/src/index.tsx +11 -6
- package/src/types.tsx +29 -1
- package/src/useAnimatedValue.tsx +2 -2
- package/SystemBundles/0c296a88d0023a3995e190db70259767d1ef39c9da6cd47f3d76cd128687f1f6.bundle +0 -14497
- package/SystemBundles/0c296a88d0023a3995e190db70259767d1ef39c9da6cd47f3d76cd128687f1f6.map +0 -1
- package/SystemModules/amzn__react-navigation__react-native-tab-view-7.modules.txt +0 -41
- package/SystemModules/amzn__react-navigation__react-native-tab-view-7.private.modules.txt +0 -98
- package/THIRD_PARTY_NOTICES.txt +0 -24
- package/lib/commonjs/Pager.android.js +0 -14
- package/lib/commonjs/Pager.android.js.map +0 -1
- package/lib/commonjs/Pager.ios.js +0 -14
- package/lib/commonjs/Pager.ios.js.map +0 -1
- package/lib/commonjs/Pager.js +0 -14
- package/lib/commonjs/Pager.js.map +0 -1
- package/lib/commonjs/PagerViewAdapter.js +0 -132
- package/lib/commonjs/PagerViewAdapter.js.map +0 -1
- package/lib/commonjs/PanResponderAdapter.js +0 -204
- package/lib/commonjs/PanResponderAdapter.js.map +0 -1
- package/lib/commonjs/PlatformPressable.js +0 -43
- package/lib/commonjs/PlatformPressable.js.map +0 -1
- package/lib/commonjs/SceneMap.js +0 -29
- package/lib/commonjs/SceneMap.js.map +0 -1
- package/lib/commonjs/SceneView.js +0 -78
- package/lib/commonjs/SceneView.js.map +0 -1
- package/lib/commonjs/TabBar.js +0 -405
- package/lib/commonjs/TabBar.js.map +0 -1
- package/lib/commonjs/TabBarIndicator.js +0 -110
- package/lib/commonjs/TabBarIndicator.js.map +0 -1
- package/lib/commonjs/TabBarItem.js +0 -227
- package/lib/commonjs/TabBarItem.js.map +0 -1
- package/lib/commonjs/TabView.js +0 -122
- package/lib/commonjs/TabView.js.map +0 -1
- package/lib/commonjs/index.js +0 -42
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/types.js +0 -6
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/useAnimatedValue.js +0 -18
- package/lib/commonjs/useAnimatedValue.js.map +0 -1
|
@@ -1,29 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import * as React from 'react';
|
|
2
|
-
import { Animated, Easing,
|
|
3
|
-
import useAnimatedValue from
|
|
4
|
-
|
|
4
|
+
import { Animated, Easing, Platform, StyleSheet } from 'react-native';
|
|
5
|
+
import { useAnimatedValue } from "./useAnimatedValue.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const useNativeDriver = Platform.OS !== 'web';
|
|
8
|
+
const getTranslateX = (position, routes, getTabWidth, direction, gap, width) => {
|
|
5
9
|
const inputRange = routes.map((_, i) => i);
|
|
6
10
|
|
|
7
11
|
// every index contains widths at all previous indices
|
|
8
12
|
const outputRange = routes.reduce((acc, _, i) => {
|
|
9
|
-
if (
|
|
10
|
-
|
|
13
|
+
if (typeof width === 'number') {
|
|
14
|
+
if (i === 0) return [getTabWidth(i) / 2 - width / 2];
|
|
15
|
+
let sumTabWidth = 0;
|
|
16
|
+
for (let j = 0; j < i; j++) {
|
|
17
|
+
sumTabWidth += getTabWidth(j);
|
|
18
|
+
}
|
|
19
|
+
return [...acc, sumTabWidth + getTabWidth(i) / 2 + (gap ? gap * i : 0) - width / 2];
|
|
20
|
+
} else {
|
|
21
|
+
if (i === 0) return [0];
|
|
22
|
+
return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];
|
|
23
|
+
}
|
|
11
24
|
}, []);
|
|
12
25
|
const translateX = position.interpolate({
|
|
13
26
|
inputRange,
|
|
14
27
|
outputRange,
|
|
15
28
|
extrapolate: 'clamp'
|
|
16
29
|
});
|
|
17
|
-
return Animated.multiply(translateX,
|
|
30
|
+
return Animated.multiply(translateX, direction === 'rtl' ? -1 : 1);
|
|
18
31
|
};
|
|
19
|
-
export
|
|
32
|
+
export function TabBarIndicator({
|
|
20
33
|
getTabWidth,
|
|
21
34
|
layout,
|
|
22
35
|
navigationState,
|
|
23
36
|
position,
|
|
24
37
|
width,
|
|
38
|
+
direction,
|
|
25
39
|
gap,
|
|
26
|
-
style
|
|
40
|
+
style,
|
|
41
|
+
children
|
|
27
42
|
}) {
|
|
28
43
|
const isIndicatorShown = React.useRef(false);
|
|
29
44
|
const isWidthDynamic = width === 'auto';
|
|
@@ -39,7 +54,7 @@ export default function TabBarIndicator({
|
|
|
39
54
|
toValue: 1,
|
|
40
55
|
duration: 150,
|
|
41
56
|
easing: Easing.in(Easing.linear),
|
|
42
|
-
useNativeDriver
|
|
57
|
+
useNativeDriver
|
|
43
58
|
}).start();
|
|
44
59
|
}
|
|
45
60
|
};
|
|
@@ -51,7 +66,7 @@ export default function TabBarIndicator({
|
|
|
51
66
|
} = navigationState;
|
|
52
67
|
const transform = [];
|
|
53
68
|
if (layout.width) {
|
|
54
|
-
const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, gap) : 0;
|
|
69
|
+
const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, direction, gap, width) : 0;
|
|
55
70
|
transform.push({
|
|
56
71
|
translateX
|
|
57
72
|
});
|
|
@@ -66,35 +81,41 @@ export default function TabBarIndicator({
|
|
|
66
81
|
extrapolate: 'clamp'
|
|
67
82
|
}) : outputRange[0]
|
|
68
83
|
}, {
|
|
69
|
-
translateX: 0.5
|
|
84
|
+
translateX: direction === 'rtl' ? -0.5 : 0.5
|
|
70
85
|
});
|
|
71
86
|
}
|
|
72
|
-
|
|
73
|
-
|
|
87
|
+
const styleList = [];
|
|
88
|
+
|
|
89
|
+
// scaleX doesn't work properly on chrome and opera for linux and android
|
|
90
|
+
if (Platform.OS === 'web' && width === 'auto') {
|
|
91
|
+
styleList.push({
|
|
92
|
+
width: transform[1].scaleX
|
|
93
|
+
}, {
|
|
94
|
+
left: transform[0].translateX
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
styleList.push({
|
|
74
98
|
width: width === 'auto' ? 1 : width
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
// This avoids rendering delay until we are able to calculate translateX
|
|
78
|
-
// If platform is macos use `left` property as `transform` is broken at the moment.
|
|
79
|
-
// See: https://github.com/microsoft/react-native-macos/issues/280
|
|
80
|
-
layout.width && Platform.OS !== 'macos' ? {
|
|
81
|
-
left: 0
|
|
82
|
-
} : {
|
|
83
|
-
left: `${100 / routes.length * navigationState.index}%`
|
|
99
|
+
}, {
|
|
100
|
+
start: `${100 / routes.length * navigationState.index}%`
|
|
84
101
|
}, {
|
|
85
102
|
transform
|
|
86
|
-
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
106
|
+
style: [styles.indicator, styleList, width === 'auto' ? {
|
|
87
107
|
opacity: opacity
|
|
88
|
-
} : null, style]
|
|
108
|
+
} : null, style],
|
|
109
|
+
children: children
|
|
89
110
|
});
|
|
90
111
|
}
|
|
91
112
|
const styles = StyleSheet.create({
|
|
92
113
|
indicator: {
|
|
93
114
|
backgroundColor: '#ffeb3b',
|
|
94
115
|
position: 'absolute',
|
|
95
|
-
|
|
116
|
+
start: 0,
|
|
96
117
|
bottom: 0,
|
|
97
|
-
|
|
118
|
+
end: 0,
|
|
98
119
|
height: 2
|
|
99
120
|
}
|
|
100
121
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","Easing","
|
|
1
|
+
{"version":3,"names":["React","Animated","Easing","Platform","StyleSheet","useAnimatedValue","jsx","_jsx","useNativeDriver","OS","getTranslateX","position","routes","getTabWidth","direction","gap","width","inputRange","map","_","i","outputRange","reduce","acc","sumTabWidth","j","translateX","interpolate","extrapolate","multiply","TabBarIndicator","layout","navigationState","style","children","isIndicatorShown","useRef","isWidthDynamic","opacity","indicatorVisible","slice","index","every","r","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","in","linear","start","stopAnimation","transform","length","push","scaleX","styleList","left","View","styles","indicator","create","backgroundColor","bottom","end","height"],"sourceRoot":"../../src","sources":["TabBarIndicator.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/TabBarItem.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
2
3
|
import * as React from 'react';
|
|
3
|
-
import { Animated, StyleSheet, View } from 'react-native';
|
|
4
|
+
import { Animated, Platform, StyleSheet, View } from 'react-native';
|
|
4
5
|
import useLatestCallback from 'use-latest-callback';
|
|
5
|
-
import PlatformPressable from
|
|
6
|
+
import { PlatformPressable } from "./PlatformPressable.js";
|
|
7
|
+
import { TabBarItemLabel } from "./TabBarItemLabel.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
9
|
const DEFAULT_ACTIVE_COLOR = 'rgba(255, 255, 255, 1)';
|
|
7
10
|
const DEFAULT_INACTIVE_COLOR = 'rgba(255, 255, 255, 0.7)';
|
|
11
|
+
const ICON_SIZE = 24;
|
|
8
12
|
const getActiveOpacity = (position, routesLength, tabIndex) => {
|
|
9
13
|
if (routesLength > 1) {
|
|
10
14
|
const inputRange = Array.from({
|
|
@@ -31,16 +35,18 @@ const getInactiveOpacity = (position, routesLength, tabIndex) => {
|
|
|
31
35
|
return 0;
|
|
32
36
|
}
|
|
33
37
|
};
|
|
38
|
+
const ANDROID_RIPPLE_DEFAULT = {
|
|
39
|
+
borderless: true
|
|
40
|
+
};
|
|
34
41
|
const TabBarItemInternal = ({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
accessibilityLabel,
|
|
43
|
+
accessible,
|
|
44
|
+
label: customlabel,
|
|
45
|
+
testID,
|
|
39
46
|
onLongPress,
|
|
40
47
|
onPress,
|
|
41
48
|
isFocused,
|
|
42
49
|
position,
|
|
43
|
-
route,
|
|
44
50
|
style,
|
|
45
51
|
inactiveColor: inactiveColorCustom,
|
|
46
52
|
activeColor: activeColorCustom,
|
|
@@ -49,122 +55,112 @@ const TabBarItemInternal = ({
|
|
|
49
55
|
index: tabIndex,
|
|
50
56
|
pressColor,
|
|
51
57
|
pressOpacity,
|
|
52
|
-
renderBadge,
|
|
53
|
-
renderIcon,
|
|
54
58
|
defaultTabWidth,
|
|
59
|
+
icon: customIcon,
|
|
60
|
+
badge: customBadge,
|
|
61
|
+
href,
|
|
62
|
+
labelText,
|
|
55
63
|
routesLength,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
64
|
+
android_ripple = ANDROID_RIPPLE_DEFAULT,
|
|
65
|
+
labelAllowFontScaling,
|
|
66
|
+
route
|
|
60
67
|
}) => {
|
|
61
68
|
const labelColorFromStyle = StyleSheet.flatten(labelStyle || {}).color;
|
|
62
69
|
const activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_ACTIVE_COLOR;
|
|
63
70
|
const inactiveColor = inactiveColorCustom !== undefined ? inactiveColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_INACTIVE_COLOR;
|
|
64
71
|
const activeOpacity = getActiveOpacity(position, routesLength, tabIndex);
|
|
65
72
|
const inactiveOpacity = getInactiveOpacity(position, routesLength, tabIndex);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
focused: true,
|
|
72
|
-
color: activeColor
|
|
73
|
-
});
|
|
74
|
-
const inactiveIcon = renderIcon({
|
|
75
|
-
route,
|
|
73
|
+
const icon = React.useMemo(() => {
|
|
74
|
+
if (!customIcon) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const inactiveIcon = customIcon({
|
|
76
78
|
focused: false,
|
|
77
|
-
color: inactiveColor
|
|
79
|
+
color: inactiveColor,
|
|
80
|
+
size: ICON_SIZE,
|
|
81
|
+
route
|
|
82
|
+
});
|
|
83
|
+
const activeIcon = customIcon({
|
|
84
|
+
focused: true,
|
|
85
|
+
color: activeColor,
|
|
86
|
+
size: ICON_SIZE,
|
|
87
|
+
route
|
|
78
88
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
89
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
90
|
+
style: styles.icon,
|
|
91
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
83
92
|
style: {
|
|
84
93
|
opacity: inactiveOpacity
|
|
85
|
-
}
|
|
86
|
-
|
|
94
|
+
},
|
|
95
|
+
children: inactiveIcon
|
|
96
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
87
97
|
style: [StyleSheet.absoluteFill, {
|
|
88
98
|
opacity: activeOpacity
|
|
89
|
-
}]
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
const renderLabel = renderLabelCustom !== undefined ? renderLabelCustom : labelProps => {
|
|
94
|
-
const labelText = getLabelText({
|
|
95
|
-
route: labelProps.route
|
|
99
|
+
}],
|
|
100
|
+
children: activeIcon
|
|
101
|
+
})]
|
|
96
102
|
});
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
focused: true,
|
|
112
|
-
color: activeColor
|
|
113
|
-
});
|
|
114
|
-
const inactiveLabel = renderLabel({
|
|
115
|
-
route,
|
|
116
|
-
focused: false,
|
|
117
|
-
color: inactiveColor
|
|
118
|
-
});
|
|
119
|
-
label = /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Animated.View, {
|
|
120
|
-
style: {
|
|
121
|
-
opacity: inactiveOpacity
|
|
122
|
-
}
|
|
123
|
-
}, inactiveLabel), /*#__PURE__*/React.createElement(Animated.View, {
|
|
124
|
-
style: [StyleSheet.absoluteFill, {
|
|
125
|
-
opacity: activeOpacity
|
|
126
|
-
}]
|
|
127
|
-
}, activeLabel));
|
|
128
|
-
}
|
|
103
|
+
}, [activeColor, activeOpacity, customIcon, inactiveColor, inactiveOpacity, route]);
|
|
104
|
+
const renderLabel = React.useCallback(focused => customlabel ? customlabel({
|
|
105
|
+
focused,
|
|
106
|
+
color: focused ? activeColor : inactiveColor,
|
|
107
|
+
style: labelStyle,
|
|
108
|
+
labelText,
|
|
109
|
+
allowFontScaling: labelAllowFontScaling,
|
|
110
|
+
route
|
|
111
|
+
}) : /*#__PURE__*/_jsx(TabBarItemLabel, {
|
|
112
|
+
color: focused ? activeColor : inactiveColor,
|
|
113
|
+
icon: icon,
|
|
114
|
+
label: labelText,
|
|
115
|
+
style: labelStyle
|
|
116
|
+
}), [customlabel, activeColor, labelStyle, labelText, labelAllowFontScaling, route, inactiveColor, icon]);
|
|
129
117
|
const tabStyle = StyleSheet.flatten(style);
|
|
130
|
-
const isWidthSet =
|
|
118
|
+
const isWidthSet = tabStyle?.width !== undefined;
|
|
131
119
|
const tabContainerStyle = isWidthSet ? null : {
|
|
132
120
|
width: defaultTabWidth
|
|
133
121
|
};
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
};
|
|
137
|
-
let accessibilityLabel = getAccessibilityLabel(scene);
|
|
138
|
-
accessibilityLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : getLabelText(scene);
|
|
139
|
-
const badge = renderBadge ? renderBadge(scene) : null;
|
|
140
|
-
return /*#__PURE__*/React.createElement(PlatformPressable, {
|
|
122
|
+
const ariaLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : labelText;
|
|
123
|
+
return /*#__PURE__*/_jsx(PlatformPressable, {
|
|
141
124
|
android_ripple: android_ripple,
|
|
142
|
-
testID:
|
|
143
|
-
accessible:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
selected: isFocused
|
|
148
|
-
}
|
|
149
|
-
// @ts-ignore: this is to support older React Native versions
|
|
150
|
-
,
|
|
151
|
-
accessibilityStates: isFocused ? ['selected'] : [],
|
|
125
|
+
testID: testID,
|
|
126
|
+
accessible: accessible,
|
|
127
|
+
role: "tab",
|
|
128
|
+
"aria-label": ariaLabel,
|
|
129
|
+
"aria-selected": isFocused,
|
|
152
130
|
pressColor: pressColor,
|
|
153
131
|
pressOpacity: pressOpacity,
|
|
154
|
-
|
|
132
|
+
unstable_pressDelay: 0,
|
|
155
133
|
onLayout: onLayout,
|
|
156
134
|
onPress: onPress,
|
|
157
135
|
onLongPress: onLongPress,
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
136
|
+
href: href,
|
|
137
|
+
style: [styles.pressable, tabContainerStyle],
|
|
138
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
139
|
+
pointerEvents: "none",
|
|
140
|
+
style: [styles.item, tabStyle],
|
|
141
|
+
children: [icon, /*#__PURE__*/_jsxs(View, {
|
|
142
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
143
|
+
style: {
|
|
144
|
+
opacity: inactiveOpacity
|
|
145
|
+
},
|
|
146
|
+
children: renderLabel(false)
|
|
147
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
148
|
+
style: [StyleSheet.absoluteFill, {
|
|
149
|
+
opacity: activeOpacity
|
|
150
|
+
}],
|
|
151
|
+
children: renderLabel(true)
|
|
152
|
+
})]
|
|
153
|
+
}), customBadge != null ? /*#__PURE__*/_jsx(View, {
|
|
154
|
+
style: styles.badge,
|
|
155
|
+
children: customBadge({
|
|
156
|
+
route
|
|
157
|
+
})
|
|
158
|
+
}) : null]
|
|
159
|
+
})
|
|
160
|
+
});
|
|
165
161
|
};
|
|
166
162
|
const MemoizedTabBarItemInternal = /*#__PURE__*/React.memo(TabBarItemInternal);
|
|
167
|
-
function TabBarItem(props) {
|
|
163
|
+
export function TabBarItem(props) {
|
|
168
164
|
const {
|
|
169
165
|
onPress,
|
|
170
166
|
onLongPress,
|
|
@@ -177,7 +173,8 @@ function TabBarItem(props) {
|
|
|
177
173
|
const onLongPressLatest = useLatestCallback(onLongPress);
|
|
178
174
|
const onLayoutLatest = useLatestCallback(onLayout ? onLayout : () => {});
|
|
179
175
|
const tabIndex = navigationState.routes.indexOf(route);
|
|
180
|
-
return /*#__PURE__*/
|
|
176
|
+
return /*#__PURE__*/_jsx(MemoizedTabBarItemInternal, {
|
|
177
|
+
...rest,
|
|
181
178
|
onPress: onPressLatest,
|
|
182
179
|
onLayout: onLayoutLatest,
|
|
183
180
|
onLongPress: onLongPressLatest,
|
|
@@ -185,15 +182,9 @@ function TabBarItem(props) {
|
|
|
185
182
|
route: route,
|
|
186
183
|
index: tabIndex,
|
|
187
184
|
routesLength: navigationState.routes.length
|
|
188
|
-
})
|
|
185
|
+
});
|
|
189
186
|
}
|
|
190
|
-
export default TabBarItem;
|
|
191
187
|
const styles = StyleSheet.create({
|
|
192
|
-
label: {
|
|
193
|
-
margin: 4,
|
|
194
|
-
backgroundColor: 'transparent',
|
|
195
|
-
textTransform: 'uppercase'
|
|
196
|
-
},
|
|
197
188
|
icon: {
|
|
198
189
|
margin: 2
|
|
199
190
|
},
|
|
@@ -207,12 +198,20 @@ const styles = StyleSheet.create({
|
|
|
207
198
|
badge: {
|
|
208
199
|
position: 'absolute',
|
|
209
200
|
top: 0,
|
|
210
|
-
|
|
201
|
+
end: 0
|
|
211
202
|
},
|
|
212
203
|
pressable: {
|
|
213
204
|
// The label is not pressable on Windows
|
|
214
205
|
// Adding backgroundColor: 'transparent' seems to fix it
|
|
215
|
-
backgroundColor: 'transparent'
|
|
206
|
+
backgroundColor: 'transparent',
|
|
207
|
+
...Platform.select({
|
|
208
|
+
// Roundness for iPad hover effect
|
|
209
|
+
ios: {
|
|
210
|
+
borderRadius: 10,
|
|
211
|
+
borderCurve: 'continuous'
|
|
212
|
+
},
|
|
213
|
+
default: null
|
|
214
|
+
})
|
|
216
215
|
}
|
|
217
216
|
});
|
|
218
217
|
//# sourceMappingURL=TabBarItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","StyleSheet","View","useLatestCallback","PlatformPressable","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","
|
|
1
|
+
{"version":3,"names":["React","Animated","Platform","StyleSheet","View","useLatestCallback","PlatformPressable","TabBarItemLabel","jsx","_jsx","jsxs","_jsxs","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","ICON_SIZE","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","ANDROID_RIPPLE_DEFAULT","borderless","TabBarItemInternal","accessibilityLabel","accessible","label","customlabel","testID","onLongPress","onPress","isFocused","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onLayout","index","pressColor","pressOpacity","defaultTabWidth","icon","customIcon","badge","customBadge","href","labelText","android_ripple","labelAllowFontScaling","route","labelColorFromStyle","flatten","color","undefined","activeOpacity","inactiveOpacity","useMemo","inactiveIcon","focused","size","activeIcon","styles","children","opacity","absoluteFill","renderLabel","useCallback","allowFontScaling","tabStyle","isWidthSet","width","tabContainerStyle","ariaLabel","role","unstable_pressDelay","pressable","pointerEvents","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","rest","onPressLatest","onLongPressLatest","onLayoutLatest","routes","indexOf","create","margin","flex","alignItems","justifyContent","padding","minHeight","top","end","backgroundColor","select","ios","borderRadius","borderCurve","default"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Animated, StyleSheet } from 'react-native';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const TabBarItemLabel = /*#__PURE__*/React.memo(({
|
|
7
|
+
color,
|
|
8
|
+
label,
|
|
9
|
+
style,
|
|
10
|
+
icon
|
|
11
|
+
}) => {
|
|
12
|
+
if (!label) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return /*#__PURE__*/_jsx(Animated.Text, {
|
|
16
|
+
style: [styles.label, icon ? {
|
|
17
|
+
marginTop: 0
|
|
18
|
+
} : null, style, {
|
|
19
|
+
color: color
|
|
20
|
+
}],
|
|
21
|
+
children: label
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
TabBarItemLabel.displayName = 'TabBarItemLabel';
|
|
25
|
+
const styles = StyleSheet.create({
|
|
26
|
+
label: {
|
|
27
|
+
margin: 4,
|
|
28
|
+
fontSize: 14,
|
|
29
|
+
fontWeight: '500',
|
|
30
|
+
backgroundColor: 'transparent'
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=TabBarItemLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","jsx","_jsx","TabBarItemLabel","memo","color","label","style","icon","Text","styles","marginTop","children","displayName","create","margin","fontSize","fontWeight","backgroundColor"],"sourceRoot":"../../src","sources":["TabBarItemLabel.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASpD,OAAO,MAAMC,eAAe,gBAAGL,KAAK,CAACM,IAAI,CACvC,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAA2B,CAAC,KAAK;EACvD,IAAI,CAACF,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACH,QAAQ,CAACU,IAAI;IACZF,KAAK,EAAE,CACLG,MAAM,CAACJ,KAAK,EACZE,IAAI,GAAG;MAAEG,SAAS,EAAE;IAAE,CAAC,GAAG,IAAI,EAC9BJ,KAAK,EACL;MAAEF,KAAK,EAAEA;IAAM,CAAC,CAChB;IAAAO,QAAA,EAEDN;EAAK,CACO,CAAC;AAEpB,CACF,CAAC;AAEDH,eAAe,CAACU,WAAW,GAAG,iBAAiB;AAE/C,MAAMH,MAAM,GAAGV,UAAU,CAACc,MAAM,CAAC;EAC/BR,KAAK,EAAE;IACLS,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
|