@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.
@@ -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, TabBarIndicator } from 'react-native-tab-view';
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 activeColor = focusedOptions.tabBarActiveTintColor ?? colors.text;
48
- const inactiveColor = focusedOptions.tabBarInactiveTintColor ?? Color(activeColor)?.alpha(0.5).string() ?? (dark ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.5)');
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: focusedOptions.tabBarPressColor,
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: state,
182
+ renderIndicator: tabBarIndicator ? ({
183
+ navigationState: _,
179
184
  ...rest
180
- }) => {
181
- return focusedOptions.tabBarIndicator ? focusedOptions.tabBarIndicator({
182
- state: state,
183
- ...rest
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","TabBarIndicator","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","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","alpha","string","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","navigationState","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressColor","tabBarPressColor","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","primary","tabBarIndicatorStyle","gap","tabBarGap","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","card","tabBarStyle","onTabPress","preventDefault","event","emit","target","canPreventDefault","defaultPrevented","onTabLongPress","renderIndicator","tabBarIndicator","create","textAlign","fontSize","margin"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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","ignoreList":[]}
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":"AAoBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AA4BvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,2CAsLxB"}
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.29",
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.28",
50
- "react-native-tab-view": "^5.0.0-alpha.8"
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.25",
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.25",
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": "11b013e6d14d19aa56f1bcbd3255b4e19083cd6b"
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 ?? colors.text;
56
+ focusedOptions.tabBarActiveTintColor ??
57
+ (tabBarVariant === 'primary' ? colors.primary : colors.text);
58
+
63
59
  const inactiveColor: ColorValue =
64
60
  focusedOptions.tabBarInactiveTintColor ??
65
- Color(activeColor)?.alpha(0.5).string() ??
66
- (dark ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.5)');
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={focusedOptions.tabBarPressColor}
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={[{ backgroundColor: colors.card }, focusedOptions.tabBarStyle]}
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={({ navigationState: state, ...rest }) => {
225
- return focusedOptions.tabBarIndicator ? (
226
- focusedOptions.tabBarIndicator({
227
- state: state as TabNavigationState<ParamListBase>,
228
- ...rest,
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
  });