@react-navigation/material-top-tabs 8.0.0-alpha.53 → 8.0.0-alpha.54

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.
@@ -129,10 +129,20 @@ export function MaterialTopTabBar({
129
129
  route,
130
130
  preventDefault
131
131
  }) => {
132
+ const {
133
+ tabBarRepeatedPressBehavior
134
+ } = descriptors[route.key]?.options ?? {};
135
+ const isRepeatedPress = focusedRoute.key === route.key;
132
136
  const event = navigation.emit({
133
137
  type: 'tabPress',
134
138
  target: route.key,
135
- canPreventDefault: true
139
+ canPreventDefault: true,
140
+ data: {
141
+ behavior: {
142
+ scrollToTop: isRepeatedPress && tabBarRepeatedPressBehavior?.scrollToTop !== false,
143
+ popToTop: isRepeatedPress && tabBarRepeatedPressBehavior?.popToTop !== false
144
+ }
145
+ }
136
146
  });
137
147
  if (event.defaultPrevented) {
138
148
  preventDefault();
@@ -1 +1 @@
1
- {"version":3,"names":["PlatformIcon","Text","Color","useLinkBuilder","useLocale","useTheme","React","StyleSheet","TabBar","useLatestCallback","jsx","_jsx","MaterialLabel","color","labelText","style","allowFontScaling","fonts","medium","styles","label","children","renderLabelDefault","props","MaterialTopTabBar","state","navigation","descriptors","rest","colors","dark","direction","buildHref","focusedRoute","routes","index","Error","focusedOptions","key","options","tabBarVariant","activeColor","tabBarActiveTintColor","primary","text","inactiveColor","tabBarInactiveTintColor","alpha","string","pressColor","tabBarPressColor","optionsCache","useRef","nextOptions","Object","fromEntries","map","route","title","tabBarLabel","tabBarButtonTestID","tabBarAccessibilityLabel","tabBarBadge","tabBarShowIcon","tabBarShowLabel","tabBarIcon","tabBarAllowFontScaling","tabBarLabelStyle","focused","href","name","params","previous","current","deps","hasOwn","length","every","dep","is","icon","size","iconValue","isValidElement","tabOptions","testID","accessibilityLabel","badge","undefined","labelAllowFontScaling","labelStyle","useInsertionEffect","onTabPress","preventDefault","event","emit","type","target","canPreventDefault","defaultPrevented","onTabLongPress","tabBarIndicator","navigationState","entries","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","tabBarIndicatorStyle","gap","tabBarGap","variant","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","card","borderBottomColor","border","tabBarStyle","renderIndicator","_","create","textAlign","fontSize"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,IAAI,QAAQ,4BAA4B;AAC/D,SAASC,KAAK,QAAQ,qCAAqC;AAC3D,SAASC,cAAc,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,0BAA0B;AAC9E,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAA0BC,UAAU,QAAQ,cAAc;AAC1D,SAEEC,MAAM,QAGD,uBAAuB;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAapD,MAAMC,aAAa,GAAGA,CAAC;EACrBC,KAAK;EACLC,SAAS;EACTC,KAAK;EACLC;AACkB,CAAC,KAAK;EACxB,MAAM;IAAEC;EAAM,CAAC,GAAGZ,QAAQ,CAAC,CAAC;EAE5B,oBACEM,IAAA,CAACV,IAAI;IACHc,KAAK,EAAE,CAAC;MAAEF;IAAM,CAAC,EAAEI,KAAK,CAACC,MAAM,EAAEC,MAAM,CAACC,KAAK,EAAEL,KAAK,CAAE;IACtDC,gBAAgB,EAAEA,gBAAiB;IAAAK,QAAA,EAElCP;EAAS,CACN,CAAC;AAEX,CAAC;AAED,MAAMQ,kBAAkB,GAAIC,KAAyB,iBACnDZ,IAAA,CAACC,aAAa;EAAA,GAAKW;AAAK,CAAG,CAC5B;AAED,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,UAAU;EACVC,WAAW;EACX,GAAGC;AACmB,CAAC,EAAE;EACzB,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGzB,QAAQ,CAAC,CAAC;EACnC,MAAM;IAAE0B;EAAU,CAAC,GAAG3B,SAAS,CAAC,CAAC;EACjC,MAAM;IAAE4B;EAAU,CAAC,GAAG7B,cAAc,CAAC,CAAC;EAEtC,MAAM8B,YAAY,GAAGR,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC;EAE9C,IAAIF,YAAY,IAAI,IAAI,EAAE;IACxB,MAAM,IAAIG,KAAK,CAAC,kCAAkCX,KAAK,CAACU,KAAK,GAAG,CAAC;EACnE;EAEA,MAAME,cAAc,GAAGV,WAAW,CAACM,YAAY,CAACK,GAAG,CAAC,EAAEC,OAAO,IAAI,CAAC,CAAC;EACnE,MAAMC,aAAa,GAAGH,cAAc,CAACG,aAAa,IAAI,SAAS;EAE/D,MAAMC,WAAuB,GAC3BJ,cAAc,CAACK,qBAAqB,KACnCF,aAAa,KAAK,SAAS,GAAGX,MAAM,CAACc,OAAO,GAAGd,MAAM,CAACe,IAAI,CAAC;EAE9D,MAAMC,aAAyB,GAC7BR,cAAc,CAACS,uBAAuB,IACtC5C,KAAK,CAAC2B,MAAM,CAACe,IAAI,CAAC,EAAEG,KAAK,CAAC,IAAI,CAAC,CAACC,MAAM,CAAC,CAAC,KACvClB,IAAI,GAAG,2BAA2B,GAAG,qBAAqB,CAAC;EAE9D,MAAMmB,UAAsB,GAC1BZ,cAAc,CAACa,gBAAgB,IAC/BhD,KAAK,CAACsC,aAAa,KAAK,SAAS,GAAGX,MAAM,CAACc,OAAO,GAAGd,MAAM,CAACe,IAAI,CAAC,EAC7DG,KAAK,CAAC,IAAI,CAAC,CACZC,MAAM,CAAC,CAAC,KACVlB,IAAI,GAAG,2BAA2B,GAAG,qBAAqB,CAAC;EAE9D,MAAMqB,YAAY,GAAG7C,KAAK,CAAC8C,MAAM,CAAgC,CAAC,CAAC,CAAC;EAEpE,MAAMC,WAAW,GAAGC,MAAM,CAACC,WAAW,CACpC9B,KAAK,CAACS,MAAM,CAACsB,GAAG,CAAEC,KAAK,IAAK;IAC1B,MAAM;MACJC,KAAK;MACLC,WAAW;MACXC,kBAAkB;MAClBC,wBAAwB;MACxBC,WAAW;MACXC,cAAc;MACdC,eAAe;MACfC,UAAU;MACVC,sBAAsB;MACtBC;IACF,CAAC,GAAGxC,WAAW,CAAC8B,KAAK,CAACnB,GAAG,CAAC,EAAEC,OAAO,IAAI,CAAC,CAAC;IAEzC,MAAM6B,OAAO,GAAGnC,YAAY,CAACK,GAAG,KAAKmB,KAAK,CAACnB,GAAG;IAC9C,MAAM+B,IAAI,GAAGrC,SAAS,CAACyB,KAAK,CAACa,IAAI,EAAEb,KAAK,CAACc,MAAM,CAAC;IAEhD,MAAMC,QAAQ,GAAGrB,YAAY,CAACsB,OAAO,CAAChB,KAAK,CAACnB,GAAG,CAAC;IAEhD,MAAMoC,IAAI,GAAG,CACXL,IAAI,EACJZ,KAAK,CAACa,IAAI,EACVZ,KAAK,EACLC,WAAW,EACXC,kBAAkB,EAClBC,wBAAwB,EACxBC,WAAW,EACXC,cAAc,EACdC,eAAe,EACfC,UAAU,EACVC,sBAAsB,EACtBC,gBAAgB,EAChB,OAAOR,WAAW,KAAK,UAAU,IAAIS,OAAO,CAC7C;IAED,IACEI,QAAQ,IACRlB,MAAM,CAACqB,MAAM,CAACxB,YAAY,CAACsB,OAAO,EAAEhB,KAAK,CAACnB,GAAG,CAAC,IAC9CkC,QAAQ,CAACE,IAAI,CAACE,MAAM,KAAKF,IAAI,CAACE,MAAM,IACpCF,IAAI,CAACG,KAAK,CAAC,CAACC,GAAG,EAAE3C,KAAK,KAAKmB,MAAM,CAACyB,EAAE,CAACD,GAAG,EAAEN,QAAQ,CAACE,IAAI,CAACvC,KAAK,CAAC,CAAC,CAAC,EAChE;MACA,OAAO,CAACsB,KAAK,CAACnB,GAAG,EAAEkC,QAAQ,CAAC;IAC9B;IAEA,IAAIQ,IAAI;IAER,IAAIjB,cAAc,KAAK,KAAK,IAAIE,UAAU,EAAE;MAC1Ce,IAAI,GAAGA,CAAC;QACNZ,OAAO;QACPvD,KAAK;QACLoE;MAKF,CAAC,KAAK;QACJ,MAAMC,SAAS,GACb,OAAOjB,UAAU,KAAK,UAAU,GAC5BA,UAAU,CAAC;UAAEG,OAAO;UAAEvD,KAAK;UAAEoE;QAAK,CAAC,CAAC,GACpChB,UAAU;QAEhB,iBAAI3D,KAAK,CAAC6E,cAAc,CAACD,SAAS,CAAC,EAAE;UACnC,OAAOA,SAAS;QAClB;QAEA,IACE,OAAOA,SAAS,KAAK,QAAQ,IAC7BA,SAAS,IAAI,IAAI,IACjB,MAAM,IAAIA,SAAS,EACnB;UACA,oBAAOvE,IAAA,CAACX,YAAY;YAACgF,IAAI,EAAEE,SAAU;YAACD,IAAI,EAAEA,IAAK;YAACpE,KAAK,EAAEA;UAAM,CAAE,CAAC;QACpE;QAEA,OAAO,IAAI;MACb,CAAC;IACH;IAEA,MAAMuE,UAAgC,GAAG;MACvCf,IAAI;MACJgB,MAAM,EAAEzB,kBAAkB;MAC1B0B,kBAAkB,EAAEzB,wBAAwB;MAC5C0B,KAAK,EAAEzB,WAAW;MAClBkB,IAAI;MACJ5D,KAAK,EACH4C,eAAe,KAAK,KAAK,GACrBwB,SAAS,GACT,OAAO7B,WAAW,KAAK,UAAU,GAC/B,CAAC;QAAE7C,SAAS;QAAED;MAA0B,CAAC,KACvC8C,WAAW,CAAC;QACVS,OAAO;QACPvD,KAAK;QACLQ,QAAQ,EAAEP,SAAS,IAAI2C,KAAK,CAACa;MAC/B,CAAC,CAAC,GACJhD,kBAAkB;MAC1BmE,qBAAqB,EAAEvB,sBAAsB;MAC7CwB,UAAU,EAAEvB,gBAAgB;MAC5BrD,SAAS,EACPkD,eAAe,KAAK,KAAK,GACrBwB,SAAS,GACT,OAAO7B,WAAW,KAAK,QAAQ,GAC7BA,WAAW,GACXD,KAAK,KAAK8B,SAAS,GACjB9B,KAAK,GACLD,KAAK,CAACa;IAClB,CAAC;IAED,OAAO,CAACb,KAAK,CAACnB,GAAG,EAAE;MAAEoC,IAAI;MAAEnC,OAAO,EAAE6C;IAAW,CAAC,CAAC;EACnD,CAAC,CACH,CAAC;EAED9E,KAAK,CAACqF,kBAAkB,CAAC,MAAM;IAC7BxC,YAAY,CAACsB,OAAO,GAAGpB,WAAW;EACpC,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAGnF,iBAAiB,CAElC,CAAC;IAAEgD,KAAK;IAAEoC;EAAe,CAAC,KAAK;IAC/B,MAAMC,KAAK,GAAGpE,UAAU,CAACqE,IAAI,CAAC;MAC5BC,IAAI,EAAE,UAAU;MAChBC,MAAM,EAAExC,KAAK,CAACnB,GAAG;MACjB4D,iBAAiB,EAAE;IACrB,CAAC,CAAC;IAEF,IAAIJ,KAAK,CAACK,gBAAgB,EAAE;MAC1BN,cAAc,CAAC,CAAC;IAClB;EACF,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAG3F,iBAAiB,CAEtC,CAAC;IAAEgD;EAAM,CAAC,KACV/B,UAAU,CAACqE,IAAI,CAAC;IACdC,IAAI,EAAE,cAAc;IACpBC,MAAM,EAAExC,KAAK,CAACnB;EAChB,CAAC,CACH,CAAC;EAED,MAAM+D,eAAe,GAAGhE,cAAc,CAACgE,eAAe;EAEtD,oBACE1F,IAAA,CAACH,MAAM;IAAA,GACDoB,IAAI;IACR0E,eAAe,EAAE7E,KAAM;IACvBc,OAAO,EAAEe,MAAM,CAACC,WAAW,CACzBD,MAAM,CAACiD,OAAO,CAAClD,WAAW,CAAC,CAACG,GAAG,CAAC,CAAC,CAAClB,GAAG,EAAE;MAAEC;IAAQ,CAAC,CAAC,KAAK,CAACD,GAAG,EAAEC,OAAO,CAAC,CACxE,CAAE;IACFR,SAAS,EAAEA,SAAU;IACrByE,aAAa,EAAEnE,cAAc,CAACoE,mBAAoB;IAClDC,OAAO,EAAErE,cAAc,CAACsE,aAAc;IACtClE,WAAW,EAAEA,WAAY;IACzBI,aAAa,EAAEA,aAAc;IAC7BI,UAAU,EAAEA,UAAW;IACvB2D,YAAY,EAAEvE,cAAc,CAACwE,kBAAmB;IAChDC,QAAQ,EAAEzE,cAAc,CAAC0E,eAAgB;IACzCC,cAAc,EAAE,CACd;MAAEC,eAAe,EAAEpF,MAAM,CAACc;IAAQ,CAAC,EACnCN,cAAc,CAAC6E,oBAAoB,CACnC;IACFC,GAAG,EAAE9E,cAAc,CAAC+E,SAAU;IAC9BC,OAAO,EAAE7E,aAAc;IACvB8E,cAAc,EAAEjF,cAAc,CAACkF,mBAAoB;IACnDC,uBAAuB,EAAEnF,cAAc,CAACoF,6BAA8B;IACtEC,qBAAqB,EAAErF,cAAc,CAACsF,2BAA4B;IAClE5G,KAAK,EAAE,CACL;MAAEkG,eAAe,EAAEpF,MAAM,CAAC+F,IAAI;MAAEC,iBAAiB,EAAEhG,MAAM,CAACiG;IAAO,CAAC,EAClEzF,cAAc,CAAC0F,WAAW,CAC1B;IACFnC,UAAU,EAAEA,UAAW;IACvBQ,cAAc,EAAEA,cAAe;IAC/B4B,eAAe,EACb3B,eAAe,GACX,CAAC;MAAEC,eAAe,EAAE2B,CAAC;MAAE,GAAGrG;IAAK,CAAC,KAC9ByE,eAAe,CAAC;MAAE,GAAGzE,IAAI;MAAEH;IAAM,CAAC,CAAC,GACrC+D;EACL,CACF,CAAC;AAEN;AAEA,MAAMrE,MAAM,GAAGZ,UAAU,CAAC2H,MAAM,CAAC;EAC/B9G,KAAK,EAAE;IACL+G,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE,EAAE;IACZnB,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["PlatformIcon","Text","Color","useLinkBuilder","useLocale","useTheme","React","StyleSheet","TabBar","useLatestCallback","jsx","_jsx","MaterialLabel","color","labelText","style","allowFontScaling","fonts","medium","styles","label","children","renderLabelDefault","props","MaterialTopTabBar","state","navigation","descriptors","rest","colors","dark","direction","buildHref","focusedRoute","routes","index","Error","focusedOptions","key","options","tabBarVariant","activeColor","tabBarActiveTintColor","primary","text","inactiveColor","tabBarInactiveTintColor","alpha","string","pressColor","tabBarPressColor","optionsCache","useRef","nextOptions","Object","fromEntries","map","route","title","tabBarLabel","tabBarButtonTestID","tabBarAccessibilityLabel","tabBarBadge","tabBarShowIcon","tabBarShowLabel","tabBarIcon","tabBarAllowFontScaling","tabBarLabelStyle","focused","href","name","params","previous","current","deps","hasOwn","length","every","dep","is","icon","size","iconValue","isValidElement","tabOptions","testID","accessibilityLabel","badge","undefined","labelAllowFontScaling","labelStyle","useInsertionEffect","onTabPress","preventDefault","tabBarRepeatedPressBehavior","isRepeatedPress","event","emit","type","target","canPreventDefault","data","behavior","scrollToTop","popToTop","defaultPrevented","onTabLongPress","tabBarIndicator","navigationState","entries","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","tabBarIndicatorStyle","gap","tabBarGap","variant","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","card","borderBottomColor","border","tabBarStyle","renderIndicator","_","create","textAlign","fontSize"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,9 +6,20 @@ import type { TabBar, TabBarProps, TabViewProps } from 'react-native-tab-view';
6
6
  export type MaterialTopTabNavigationEventMap = {
7
7
  /**
8
8
  * Event which fires on tapping on the tab in the tab bar.
9
+ *
10
+ * The `data` object contains the following properties:
11
+ * - `origin`: set to `native` when event originated from the native tab bar.
12
+ * - `behavior`: specifies how consumers of the event should handle the tab press:
13
+ * - `scrollToTop`: whether the content should scroll to top.
14
+ * - `popToTop`: whether the nested stack should pop to top.
9
15
  */
10
16
  tabPress: {
11
- data: undefined;
17
+ data: {
18
+ behavior: {
19
+ scrollToTop: boolean;
20
+ popToTop: boolean;
21
+ };
22
+ };
12
23
  canPreventDefault: true;
13
24
  };
14
25
  /**
@@ -75,7 +86,7 @@ export type MaterialTopTabNavigationOptions = {
75
86
  focused: boolean;
76
87
  color: ColorValue;
77
88
  size: number;
78
- }) => Icon | React.ReactNode);
89
+ }) => Icon | React.ReactNode) | undefined;
79
90
  /**
80
91
  * Whether the tab icon should be visible. Defaults to `false`.
81
92
  */
@@ -165,6 +176,18 @@ export type MaterialTopTabNavigationOptions = {
165
176
  * Default: `{ borderless: false, foreground: true }`
166
177
  */
167
178
  tabBarAndroidRipple?: PressableAndroidRippleConfig | undefined;
179
+ /**
180
+ * Behavior when pressing the tab in the tab bar while it's already focused.
181
+ *
182
+ * - `scrollToTop`: scroll the first scroll view in the screen to top
183
+ * - `popToTop`: pop a nested stack to its first screen
184
+ *
185
+ * Both default to `true`.
186
+ */
187
+ tabBarRepeatedPressBehavior?: {
188
+ scrollToTop?: boolean | undefined;
189
+ popToTop?: boolean | undefined;
190
+ } | undefined;
168
191
  /**
169
192
  * Whether to enable swipe gestures when this screen is focused.
170
193
  * Swipe gestures are enabled by default. Passing `false` will disable swipe gestures,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
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":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAU,CAAC;AAiCvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,qBAkNxB"}
1
+ {"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAU,CAAC;AAiCvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,qBAgOxB"}
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.53",
4
+ "version": "8.0.0-alpha.54",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -46,13 +46,13 @@
46
46
  "clean": "del lib"
47
47
  },
48
48
  "dependencies": {
49
- "@react-navigation/elements": "^3.0.0-alpha.52",
50
- "react-native-tab-view": "^5.0.0-alpha.16",
49
+ "@react-navigation/elements": "^3.0.0-alpha.53",
50
+ "react-native-tab-view": "^5.0.0-alpha.17",
51
51
  "use-latest-callback": "^0.3.5"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@jest/globals": "^30.4.1",
55
- "@react-navigation/native": "^8.0.0-alpha.48",
55
+ "@react-navigation/native": "^8.0.0-alpha.49",
56
56
  "@testing-library/react-native": "^14.0.0",
57
57
  "@types/react": "~19.2.17",
58
58
  "del-cli": "^7.0.0",
@@ -65,7 +65,7 @@
65
65
  "typescript": "^6.0.3"
66
66
  },
67
67
  "peerDependencies": {
68
- "@react-navigation/native": "^8.0.0-alpha.48",
68
+ "@react-navigation/native": "^8.0.0-alpha.49",
69
69
  "react": ">= 19.2.0",
70
70
  "react-native": "*",
71
71
  "react-native-pager-view": ">= 7.0.0",
@@ -89,5 +89,5 @@
89
89
  ]
90
90
  ]
91
91
  },
92
- "gitHead": "904ba65a2938924d87658b7009a95698f93c7731"
92
+ "gitHead": "110f8e897f476977b7227e5f0326996106a742f0"
93
93
  }
package/src/types.tsx CHANGED
@@ -26,8 +26,22 @@ import type { TabBar, TabBarProps, TabViewProps } from 'react-native-tab-view';
26
26
  export type MaterialTopTabNavigationEventMap = {
27
27
  /**
28
28
  * Event which fires on tapping on the tab in the tab bar.
29
- */
30
- tabPress: { data: undefined; canPreventDefault: true };
29
+ *
30
+ * The `data` object contains the following properties:
31
+ * - `origin`: set to `native` when event originated from the native tab bar.
32
+ * - `behavior`: specifies how consumers of the event should handle the tab press:
33
+ * - `scrollToTop`: whether the content should scroll to top.
34
+ * - `popToTop`: whether the nested stack should pop to top.
35
+ */
36
+ tabPress: {
37
+ data: {
38
+ behavior: {
39
+ scrollToTop: boolean;
40
+ popToTop: boolean;
41
+ };
42
+ };
43
+ canPreventDefault: true;
44
+ };
31
45
  /**
32
46
  * Event which fires on long press on the tab in the tab bar.
33
47
  */
@@ -122,7 +136,8 @@ export type MaterialTopTabNavigationOptions = {
122
136
  focused: boolean;
123
137
  color: ColorValue;
124
138
  size: number;
125
- }) => Icon | React.ReactNode);
139
+ }) => Icon | React.ReactNode)
140
+ | undefined;
126
141
 
127
142
  /**
128
143
  * Whether the tab icon should be visible. Defaults to `false`.
@@ -239,6 +254,21 @@ export type MaterialTopTabNavigationOptions = {
239
254
  */
240
255
  tabBarAndroidRipple?: PressableAndroidRippleConfig | undefined;
241
256
 
257
+ /**
258
+ * Behavior when pressing the tab in the tab bar while it's already focused.
259
+ *
260
+ * - `scrollToTop`: scroll the first scroll view in the screen to top
261
+ * - `popToTop`: pop a nested stack to its first screen
262
+ *
263
+ * Both default to `true`.
264
+ */
265
+ tabBarRepeatedPressBehavior?:
266
+ | {
267
+ scrollToTop?: boolean | undefined;
268
+ popToTop?: boolean | undefined;
269
+ }
270
+ | undefined;
271
+
242
272
  /**
243
273
  * Whether to enable swipe gestures when this screen is focused.
244
274
  * Swipe gestures are enabled by default. Passing `false` will disable swipe gestures,
@@ -199,10 +199,24 @@ export function MaterialTopTabBar({
199
199
  const onTabPress = useLatestCallback<
200
200
  NonNullable<TabBarProps<Route>['onTabPress']>
201
201
  >(({ route, preventDefault }) => {
202
+ const { tabBarRepeatedPressBehavior } =
203
+ descriptors[route.key]?.options ?? {};
204
+
205
+ const isRepeatedPress = focusedRoute.key === route.key;
206
+
202
207
  const event = navigation.emit({
203
208
  type: 'tabPress',
204
209
  target: route.key,
205
210
  canPreventDefault: true,
211
+ data: {
212
+ behavior: {
213
+ scrollToTop:
214
+ isRepeatedPress &&
215
+ tabBarRepeatedPressBehavior?.scrollToTop !== false,
216
+ popToTop:
217
+ isRepeatedPress && tabBarRepeatedPressBehavior?.popToTop !== false,
218
+ },
219
+ },
206
220
  });
207
221
 
208
222
  if (event.defaultPrevented) {