@react-navigation/material-top-tabs 8.0.0-alpha.29 → 8.0.0-alpha.30
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/module/views/MaterialTopTabBar.js +16 -17
- package/lib/module/views/MaterialTopTabBar.js.map +1 -1
- package/lib/typescript/src/types.d.ts +12 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/MaterialTopTabBar.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/types.tsx +13 -1
- package/src/views/MaterialTopTabBar.tsx +28 -24
|
@@ -5,7 +5,7 @@ import { Color } from '@react-navigation/elements/internal';
|
|
|
5
5
|
import { MaterialSymbol, SFSymbol, useLinkBuilder, useLocale, useTheme } from '@react-navigation/native';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { Image, StyleSheet } from 'react-native';
|
|
8
|
-
import { TabBar
|
|
8
|
+
import { TabBar } from 'react-native-tab-view';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
const MaterialLabel = ({
|
|
11
11
|
color,
|
|
@@ -44,8 +44,10 @@ export function MaterialTopTabBar({
|
|
|
44
44
|
buildHref
|
|
45
45
|
} = useLinkBuilder();
|
|
46
46
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
47
|
-
const
|
|
48
|
-
const
|
|
47
|
+
const tabBarVariant = focusedOptions.tabBarVariant ?? 'primary';
|
|
48
|
+
const activeColor = focusedOptions.tabBarActiveTintColor ?? (tabBarVariant === 'primary' ? colors.primary : colors.text);
|
|
49
|
+
const inactiveColor = focusedOptions.tabBarInactiveTintColor ?? Color(colors.text)?.alpha(0.68).string() ?? (dark ? 'rgba(255, 255, 255, 0.68)' : 'rgba(0, 0, 0, 0.68)');
|
|
50
|
+
const pressColor = focusedOptions.tabBarPressColor ?? Color(tabBarVariant === 'primary' ? colors.primary : colors.text)?.alpha(0.12).string() ?? (dark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(0, 0, 0, 0.12)');
|
|
49
51
|
const tabBarOptions = Object.fromEntries(state.routes.map(route => {
|
|
50
52
|
const {
|
|
51
53
|
options
|
|
@@ -133,6 +135,7 @@ export function MaterialTopTabBar({
|
|
|
133
135
|
labelText: options.tabBarShowLabel === false ? undefined : typeof tabBarLabel === 'string' ? tabBarLabel : title !== undefined ? title : route.name
|
|
134
136
|
}];
|
|
135
137
|
}));
|
|
138
|
+
const tabBarIndicator = focusedOptions.tabBarIndicator;
|
|
136
139
|
return /*#__PURE__*/_jsx(TabBar, {
|
|
137
140
|
...rest,
|
|
138
141
|
navigationState: state,
|
|
@@ -142,18 +145,20 @@ export function MaterialTopTabBar({
|
|
|
142
145
|
bounces: focusedOptions.tabBarBounces,
|
|
143
146
|
activeColor: activeColor,
|
|
144
147
|
inactiveColor: inactiveColor,
|
|
145
|
-
pressColor:
|
|
148
|
+
pressColor: pressColor,
|
|
146
149
|
pressOpacity: focusedOptions.tabBarPressOpacity,
|
|
147
150
|
tabStyle: focusedOptions.tabBarItemStyle,
|
|
148
151
|
indicatorStyle: [{
|
|
149
152
|
backgroundColor: colors.primary
|
|
150
153
|
}, focusedOptions.tabBarIndicatorStyle],
|
|
151
154
|
gap: focusedOptions.tabBarGap,
|
|
155
|
+
variant: tabBarVariant,
|
|
152
156
|
android_ripple: focusedOptions.tabBarAndroidRipple,
|
|
153
157
|
indicatorContainerStyle: focusedOptions.tabBarIndicatorContainerStyle,
|
|
154
158
|
contentContainerStyle: focusedOptions.tabBarContentContainerStyle,
|
|
155
159
|
style: [{
|
|
156
|
-
backgroundColor: colors.card
|
|
160
|
+
backgroundColor: colors.card,
|
|
161
|
+
borderBottomColor: colors.border
|
|
157
162
|
}, focusedOptions.tabBarStyle],
|
|
158
163
|
onTabPress: ({
|
|
159
164
|
route,
|
|
@@ -174,25 +179,19 @@ export function MaterialTopTabBar({
|
|
|
174
179
|
type: 'tabLongPress',
|
|
175
180
|
target: route.key
|
|
176
181
|
}),
|
|
177
|
-
renderIndicator: ({
|
|
178
|
-
navigationState:
|
|
182
|
+
renderIndicator: tabBarIndicator ? ({
|
|
183
|
+
navigationState: _,
|
|
179
184
|
...rest
|
|
180
|
-
}) => {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}) : /*#__PURE__*/_jsx(TabBarIndicator, {
|
|
185
|
-
navigationState: state,
|
|
186
|
-
...rest
|
|
187
|
-
});
|
|
188
|
-
}
|
|
185
|
+
}) => tabBarIndicator({
|
|
186
|
+
...rest,
|
|
187
|
+
state
|
|
188
|
+
}) : undefined
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
const styles = StyleSheet.create({
|
|
192
192
|
label: {
|
|
193
193
|
textAlign: 'center',
|
|
194
194
|
fontSize: 14,
|
|
195
|
-
margin: 4,
|
|
196
195
|
backgroundColor: 'transparent'
|
|
197
196
|
}
|
|
198
197
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","Color","MaterialSymbol","SFSymbol","useLinkBuilder","useLocale","useTheme","React","Image","StyleSheet","TabBar","
|
|
1
|
+
{"version":3,"names":["Text","Color","MaterialSymbol","SFSymbol","useLinkBuilder","useLocale","useTheme","React","Image","StyleSheet","TabBar","jsx","_jsx","MaterialLabel","color","labelText","style","allowFontScaling","fonts","medium","styles","label","children","renderLabelDefault","props","MaterialTopTabBar","state","navigation","descriptors","rest","colors","dark","direction","buildHref","focusedOptions","routes","index","key","options","tabBarVariant","activeColor","tabBarActiveTintColor","primary","text","inactiveColor","tabBarInactiveTintColor","alpha","string","pressColor","tabBarPressColor","tabBarOptions","Object","fromEntries","map","route","title","tabBarLabel","tabBarButtonTestID","tabBarAccessibilityLabel","tabBarBadge","tabBarShowIcon","tabBarShowLabel","tabBarIcon","tabBarAllowFontScaling","tabBarLabelStyle","icon","undefined","focused","size","iconValue","isValidElement","type","source","width","height","tintColor","tinted","name","variant","weight","_exhaustiveCheck","href","params","testID","accessibilityLabel","badge","labelAllowFontScaling","labelStyle","tabBarIndicator","navigationState","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","tabBarIndicatorStyle","gap","tabBarGap","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","card","borderBottomColor","border","tabBarStyle","onTabPress","preventDefault","event","emit","target","canPreventDefault","defaultPrevented","onTabLongPress","renderIndicator","_","create","textAlign","fontSize"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -90,6 +90,17 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
90
90
|
tabBarIndicator?: ((props: Omit<Parameters<NonNullable<React.ComponentProps<typeof TabBar>['renderIndicator']>>[0], 'navigationState'> & {
|
|
91
91
|
state: TabNavigationState<ParamListBase>;
|
|
92
92
|
}) => React.ReactNode) | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Variant of the tab bar.
|
|
95
|
+
*
|
|
96
|
+
* The following variants are available:
|
|
97
|
+
*
|
|
98
|
+
* - `primary`: the indicator matches the label & icon width and is centered under the tab.
|
|
99
|
+
* - `secondary`: the indicator spans the full tab width.
|
|
100
|
+
*
|
|
101
|
+
* Defaults to `primary`.
|
|
102
|
+
*/
|
|
103
|
+
tabBarVariant?: 'primary' | 'secondary' | undefined;
|
|
93
104
|
/**
|
|
94
105
|
* Style object for the tab bar indicator.
|
|
95
106
|
*/
|
|
@@ -151,7 +162,7 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
151
162
|
/**
|
|
152
163
|
* Allows to customize the android ripple effect (Android >= 5.0 only).
|
|
153
164
|
*
|
|
154
|
-
* Default: `{ borderless: true }`
|
|
165
|
+
* Default: `{ borderless: false, foreground: true }`
|
|
155
166
|
*/
|
|
156
167
|
tabBarAndroidRipple?: PressableAndroidRippleConfig | undefined;
|
|
157
168
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,iBAAiB,EAAE,IAAI,CAAA;KAAE,CAAC;IACvD;;OAEG;IACH,YAAY,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,iBAAiB,CAC7D,aAAa,EACb,gCAAgC,CACjC,GACC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAElC,MAAM,MAAM,4BAA4B,CACtC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,cAAc,CAChB,SAAS,EACT,SAAS,EACT,kBAAkB,CAAC,SAAS,CAAC,EAC7B,+BAA+B,EAC/B,gCAAgC,EAChC,gBAAgB,CAAC,SAAS,CAAC,CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD;IACF,UAAU,EAAE,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IACpD,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EACR,MAAM,GACN,CAAC,CAAC,KAAK,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,KAAK,CAAC,SAAS,CAAC,GACtB,SAAS,CAAC;IAEd;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,UAAU,CAAC,EACP,IAAI,GACJ,CAAC,CAAC,KAAK,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAErC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAErD;;OAEG;IACH,eAAe,CAAC,EACZ,CAAC,CACC,KAAK,EAAE,IAAI,CACT,UAAU,CACR,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CACpE,CAAC,CAAC,CAAC,EACJ,iBAAiB,CAClB,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;KAAE,KAC7C,KAAK,CAAC,SAAS,CAAC,GACrB,SAAS,CAAC;IAEd;;OAEG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAExD;;OAEG;IACH,6BAA6B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEjE;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,qBAAqB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE/C;;OAEG;IACH,uBAAuB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAEjD;;OAEG;IACH,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEnD;;OAEG;IACH,2BAA2B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE/D;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE/C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAE/D;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE3B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEtD;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C,+BAA+B,EAC/B,4BAA4B,CAAC,aAAa,CAAC,EAC3C,SAAS,CAAC,aAAa,CAAC,CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACzB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,YAAY,GACZ,aAAa,GACb,cAAc,GACd,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,MAAM,GACN,qBAAqB,GACrB,iBAAiB,CACpB,GAAG;IACF;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC1E;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1B,UAAU,GAAG,WAAW,GAAG,QAAQ,CACpC,GAAG;IACF,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,iBAAiB,CAC3B,aAAa,EACb,gCAAgC,CACjC,CAAC;IACF,WAAW,EAAE,2BAA2B,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,CAChE,aAAa,EACb,kBAAkB,CAAC,aAAa,CAAC,EACjC,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,CAAC,aAAa,CAAC,CAC5C,GACC,gBAAgB,GAChB,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AA4BvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,2CAkMxB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/material-top-tabs",
|
|
3
3
|
"description": "Integration for the animated tab view component from react-native-tab-view",
|
|
4
|
-
"version": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.30",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"clean": "del lib"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@react-navigation/elements": "^3.0.0-alpha.
|
|
50
|
-
"react-native-tab-view": "^5.0.0-alpha.
|
|
49
|
+
"@react-navigation/elements": "^3.0.0-alpha.29",
|
|
50
|
+
"react-native-tab-view": "^5.0.0-alpha.9"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@jest/globals": "^30.3.0",
|
|
54
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
54
|
+
"@react-navigation/native": "^8.0.0-alpha.26",
|
|
55
55
|
"@testing-library/react-native": "^13.3.3",
|
|
56
56
|
"@types/react": "~19.2.2",
|
|
57
57
|
"del-cli": "^7.0.0",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"typescript": "^6.0.2"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
67
|
+
"@react-navigation/native": "^8.0.0-alpha.26",
|
|
68
68
|
"react": ">= 19.2.0",
|
|
69
69
|
"react-native": "*",
|
|
70
70
|
"react-native-pager-view": ">= 7.0.0",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
]
|
|
89
89
|
]
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "f7b2582ce8d3c3fbe4188b271dd194f46f773654"
|
|
92
92
|
}
|
package/src/types.tsx
CHANGED
|
@@ -147,6 +147,18 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
147
147
|
) => React.ReactNode)
|
|
148
148
|
| undefined;
|
|
149
149
|
|
|
150
|
+
/**
|
|
151
|
+
* Variant of the tab bar.
|
|
152
|
+
*
|
|
153
|
+
* The following variants are available:
|
|
154
|
+
*
|
|
155
|
+
* - `primary`: the indicator matches the label & icon width and is centered under the tab.
|
|
156
|
+
* - `secondary`: the indicator spans the full tab width.
|
|
157
|
+
*
|
|
158
|
+
* Defaults to `primary`.
|
|
159
|
+
*/
|
|
160
|
+
tabBarVariant?: 'primary' | 'secondary' | undefined;
|
|
161
|
+
|
|
150
162
|
/**
|
|
151
163
|
* Style object for the tab bar indicator.
|
|
152
164
|
*/
|
|
@@ -222,7 +234,7 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
222
234
|
/**
|
|
223
235
|
* Allows to customize the android ripple effect (Android >= 5.0 only).
|
|
224
236
|
*
|
|
225
|
-
* Default: `{ borderless: true }`
|
|
237
|
+
* Default: `{ borderless: false, foreground: true }`
|
|
226
238
|
*/
|
|
227
239
|
tabBarAndroidRipple?: PressableAndroidRippleConfig | undefined;
|
|
228
240
|
|
|
@@ -2,21 +2,14 @@ import { Text } from '@react-navigation/elements';
|
|
|
2
2
|
import { Color } from '@react-navigation/elements/internal';
|
|
3
3
|
import {
|
|
4
4
|
MaterialSymbol,
|
|
5
|
-
type ParamListBase,
|
|
6
5
|
SFSymbol,
|
|
7
|
-
type TabNavigationState,
|
|
8
6
|
useLinkBuilder,
|
|
9
7
|
useLocale,
|
|
10
8
|
useTheme,
|
|
11
9
|
} from '@react-navigation/native';
|
|
12
10
|
import React from 'react';
|
|
13
11
|
import { type ColorValue, Image, StyleSheet } from 'react-native';
|
|
14
|
-
import {
|
|
15
|
-
type Route,
|
|
16
|
-
TabBar,
|
|
17
|
-
TabBarIndicator,
|
|
18
|
-
type TabDescriptor,
|
|
19
|
-
} from 'react-native-tab-view';
|
|
12
|
+
import { type Route, TabBar, type TabDescriptor } from 'react-native-tab-view';
|
|
20
13
|
|
|
21
14
|
import type { MaterialTopTabBarProps } from '../types';
|
|
22
15
|
|
|
@@ -57,13 +50,23 @@ export function MaterialTopTabBar({
|
|
|
57
50
|
const { buildHref } = useLinkBuilder();
|
|
58
51
|
|
|
59
52
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
53
|
+
const tabBarVariant = focusedOptions.tabBarVariant ?? 'primary';
|
|
60
54
|
|
|
61
55
|
const activeColor: ColorValue =
|
|
62
|
-
focusedOptions.tabBarActiveTintColor ??
|
|
56
|
+
focusedOptions.tabBarActiveTintColor ??
|
|
57
|
+
(tabBarVariant === 'primary' ? colors.primary : colors.text);
|
|
58
|
+
|
|
63
59
|
const inactiveColor: ColorValue =
|
|
64
60
|
focusedOptions.tabBarInactiveTintColor ??
|
|
65
|
-
Color(
|
|
66
|
-
(dark ? 'rgba(255, 255, 255, 0.
|
|
61
|
+
Color(colors.text)?.alpha(0.68).string() ??
|
|
62
|
+
(dark ? 'rgba(255, 255, 255, 0.68)' : 'rgba(0, 0, 0, 0.68)');
|
|
63
|
+
|
|
64
|
+
const pressColor: ColorValue =
|
|
65
|
+
focusedOptions.tabBarPressColor ??
|
|
66
|
+
Color(tabBarVariant === 'primary' ? colors.primary : colors.text)
|
|
67
|
+
?.alpha(0.12)
|
|
68
|
+
.string() ??
|
|
69
|
+
(dark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(0, 0, 0, 0.12)');
|
|
67
70
|
|
|
68
71
|
const tabBarOptions = Object.fromEntries(
|
|
69
72
|
state.routes.map((route) => {
|
|
@@ -182,6 +185,8 @@ export function MaterialTopTabBar({
|
|
|
182
185
|
})
|
|
183
186
|
);
|
|
184
187
|
|
|
188
|
+
const tabBarIndicator = focusedOptions.tabBarIndicator;
|
|
189
|
+
|
|
185
190
|
return (
|
|
186
191
|
<TabBar
|
|
187
192
|
{...rest}
|
|
@@ -192,7 +197,7 @@ export function MaterialTopTabBar({
|
|
|
192
197
|
bounces={focusedOptions.tabBarBounces}
|
|
193
198
|
activeColor={activeColor}
|
|
194
199
|
inactiveColor={inactiveColor}
|
|
195
|
-
pressColor={
|
|
200
|
+
pressColor={pressColor}
|
|
196
201
|
pressOpacity={focusedOptions.tabBarPressOpacity}
|
|
197
202
|
tabStyle={focusedOptions.tabBarItemStyle}
|
|
198
203
|
indicatorStyle={[
|
|
@@ -200,10 +205,14 @@ export function MaterialTopTabBar({
|
|
|
200
205
|
focusedOptions.tabBarIndicatorStyle,
|
|
201
206
|
]}
|
|
202
207
|
gap={focusedOptions.tabBarGap}
|
|
208
|
+
variant={tabBarVariant}
|
|
203
209
|
android_ripple={focusedOptions.tabBarAndroidRipple}
|
|
204
210
|
indicatorContainerStyle={focusedOptions.tabBarIndicatorContainerStyle}
|
|
205
211
|
contentContainerStyle={focusedOptions.tabBarContentContainerStyle}
|
|
206
|
-
style={[
|
|
212
|
+
style={[
|
|
213
|
+
{ backgroundColor: colors.card, borderBottomColor: colors.border },
|
|
214
|
+
focusedOptions.tabBarStyle,
|
|
215
|
+
]}
|
|
207
216
|
onTabPress={({ route, preventDefault }) => {
|
|
208
217
|
const event = navigation.emit({
|
|
209
218
|
type: 'tabPress',
|
|
@@ -221,16 +230,12 @@ export function MaterialTopTabBar({
|
|
|
221
230
|
target: route.key,
|
|
222
231
|
})
|
|
223
232
|
}
|
|
224
|
-
renderIndicator={
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
) : (
|
|
231
|
-
<TabBarIndicator navigationState={state} {...rest} />
|
|
232
|
-
);
|
|
233
|
-
}}
|
|
233
|
+
renderIndicator={
|
|
234
|
+
tabBarIndicator
|
|
235
|
+
? ({ navigationState: _, ...rest }) =>
|
|
236
|
+
tabBarIndicator({ ...rest, state })
|
|
237
|
+
: undefined
|
|
238
|
+
}
|
|
234
239
|
/>
|
|
235
240
|
);
|
|
236
241
|
}
|
|
@@ -239,7 +244,6 @@ const styles = StyleSheet.create({
|
|
|
239
244
|
label: {
|
|
240
245
|
textAlign: 'center',
|
|
241
246
|
fontSize: 14,
|
|
242
|
-
margin: 4,
|
|
243
247
|
backgroundColor: 'transparent',
|
|
244
248
|
},
|
|
245
249
|
});
|