@react-navigation/material-top-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.
Files changed (34) hide show
  1. package/lib/commonjs/index.js.map +1 -1
  2. package/lib/commonjs/navigators/createMaterialTopTabNavigator.js +20 -17
  3. package/lib/commonjs/navigators/createMaterialTopTabNavigator.js.map +1 -1
  4. package/lib/commonjs/types.js.map +1 -1
  5. package/lib/commonjs/utils/TabAnimationContext.js +1 -1
  6. package/lib/commonjs/utils/TabAnimationContext.js.map +1 -1
  7. package/lib/commonjs/utils/useTabAnimation.js +1 -1
  8. package/lib/commonjs/utils/useTabAnimation.js.map +1 -1
  9. package/lib/commonjs/views/MaterialTopTabBar.js +60 -107
  10. package/lib/commonjs/views/MaterialTopTabBar.js.map +1 -1
  11. package/lib/commonjs/views/MaterialTopTabView.js +23 -33
  12. package/lib/commonjs/views/MaterialTopTabView.js.map +1 -1
  13. package/lib/module/index.js.map +1 -1
  14. package/lib/module/navigators/createMaterialTopTabNavigator.js +18 -15
  15. package/lib/module/navigators/createMaterialTopTabNavigator.js.map +1 -1
  16. package/lib/module/types.js.map +1 -1
  17. package/lib/module/utils/TabAnimationContext.js.map +1 -1
  18. package/lib/module/utils/useTabAnimation.js.map +1 -1
  19. package/lib/module/views/MaterialTopTabBar.js +60 -107
  20. package/lib/module/views/MaterialTopTabBar.js.map +1 -1
  21. package/lib/module/views/MaterialTopTabView.js +22 -32
  22. package/lib/module/views/MaterialTopTabView.js.map +1 -1
  23. package/lib/typescript/src/index.d.ts +1 -1
  24. package/lib/typescript/src/index.d.ts.map +1 -1
  25. package/lib/typescript/src/navigators/createMaterialTopTabNavigator.d.ts +14 -9
  26. package/lib/typescript/src/navigators/createMaterialTopTabNavigator.d.ts.map +1 -1
  27. package/lib/typescript/src/types.d.ts +6 -7
  28. package/lib/typescript/src/types.d.ts.map +1 -1
  29. package/lib/typescript/src/views/MaterialTopTabBar.d.ts.map +1 -1
  30. package/package.json +13 -13
  31. package/src/index.tsx +1 -0
  32. package/src/navigators/createMaterialTopTabNavigator.tsx +33 -7
  33. package/src/types.tsx +14 -7
  34. package/src/views/MaterialTopTabBar.tsx +59 -70
@@ -1,28 +1,63 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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 { Text } from '@react-navigation/elements';
3
- import { useLocale, useTheme } from '@react-navigation/native';
3
+ import { useLinkBuilder, useLocale, useTheme } from '@react-navigation/native';
4
4
  import Color from 'color';
5
5
  import * as React from 'react';
6
- import { StyleSheet, View } from 'react-native';
6
+ import { StyleSheet } from 'react-native';
7
7
  import { TabBar, TabBarIndicator } from 'react-native-tab-view';
8
- export function MaterialTopTabBar(_ref) {
9
- let {
10
- state,
11
- navigation,
12
- descriptors,
13
- ...rest
14
- } = _ref;
8
+ const MaterialLabel = ({
9
+ color,
10
+ labelText,
11
+ labelStyle,
12
+ allowScaling
13
+ }) => {
14
+ return /*#__PURE__*/React.createElement(Text, {
15
+ style: [{
16
+ color
17
+ }, styles.label, labelStyle],
18
+ allowFontScaling: allowScaling
19
+ }, labelText);
20
+ };
21
+ const renderLabel = props => {
22
+ return /*#__PURE__*/React.createElement(MaterialLabel, props);
23
+ };
24
+ export function MaterialTopTabBar({
25
+ state,
26
+ navigation,
27
+ descriptors,
28
+ ...rest
29
+ }) {
15
30
  const {
16
31
  colors
17
32
  } = useTheme();
18
33
  const {
19
34
  direction
20
35
  } = useLocale();
36
+ const {
37
+ buildHref
38
+ } = useLinkBuilder();
21
39
  const focusedOptions = descriptors[state.routes[state.index].key].options;
22
40
  const activeColor = focusedOptions.tabBarActiveTintColor ?? colors.text;
23
41
  const inactiveColor = focusedOptions.tabBarInactiveTintColor ?? Color(activeColor).alpha(0.5).rgb().string();
42
+ const tabBarOptions = Object.fromEntries(state.routes.map(route => {
43
+ const {
44
+ options
45
+ } = descriptors[route.key];
46
+ return [route.key, {
47
+ href: buildHref(route.name, route.params),
48
+ testID: options.tabBarButtonTestID,
49
+ accessibilityLabel: options.tabBarAccessibilityLabel,
50
+ badge: options.tabBarBadge,
51
+ icon: options.tabBarShowIcon === false ? undefined : options.tabBarIcon,
52
+ label: options.tabBarShowLabel === false ? undefined : renderLabel,
53
+ labelAllowFontScaling: options.tabBarAllowFontScaling,
54
+ labelStyle: options.tabBarLabelStyle,
55
+ labelText: options.tabBarShowLabel === false ? undefined : options.title !== undefined ? options.title : route.name
56
+ }];
57
+ }));
24
58
  return /*#__PURE__*/React.createElement(TabBar, _extends({}, rest, {
25
59
  navigationState: state,
60
+ options: tabBarOptions,
26
61
  direction: direction,
27
62
  scrollEnabled: focusedOptions.tabBarScrollEnabled,
28
63
  bounces: focusedOptions.tabBarBounces,
@@ -41,23 +76,10 @@ export function MaterialTopTabBar(_ref) {
41
76
  style: [{
42
77
  backgroundColor: colors.card
43
78
  }, focusedOptions.tabBarStyle],
44
- getAccessibilityLabel: _ref2 => {
45
- let {
46
- route
47
- } = _ref2;
48
- return descriptors[route.key].options.tabBarAccessibilityLabel;
49
- },
50
- getTestID: _ref3 => {
51
- let {
52
- route
53
- } = _ref3;
54
- return descriptors[route.key].options.tabBarButtonTestID;
55
- },
56
- onTabPress: _ref4 => {
57
- let {
58
- route,
59
- preventDefault
60
- } = _ref4;
79
+ onTabPress: ({
80
+ route,
81
+ preventDefault
82
+ }) => {
61
83
  const event = navigation.emit({
62
84
  type: 'tabPress',
63
85
  target: route.key,
@@ -67,80 +89,16 @@ export function MaterialTopTabBar(_ref) {
67
89
  preventDefault();
68
90
  }
69
91
  },
70
- onTabLongPress: _ref5 => {
71
- let {
72
- route
73
- } = _ref5;
74
- return navigation.emit({
75
- type: 'tabLongPress',
76
- target: route.key
77
- });
78
- },
79
- renderIcon: _ref6 => {
80
- let {
81
- route,
82
- focused,
83
- color
84
- } = _ref6;
85
- const {
86
- options
87
- } = descriptors[route.key];
88
- if (options.tabBarShowIcon === false) {
89
- return null;
90
- }
91
- if (options.tabBarIcon !== undefined) {
92
- const icon = options.tabBarIcon({
93
- focused,
94
- color
95
- });
96
- return /*#__PURE__*/React.createElement(View, {
97
- style: [styles.icon, options.tabBarIconStyle]
98
- }, icon);
99
- }
100
- return null;
101
- },
102
- renderLabel: _ref7 => {
103
- let {
104
- route,
105
- focused,
106
- color
107
- } = _ref7;
108
- const {
109
- options
110
- } = descriptors[route.key];
111
- if (options.tabBarShowLabel === false) {
112
- return null;
113
- }
114
- const label = options.tabBarLabel !== undefined ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
115
- if (typeof label === 'string') {
116
- return /*#__PURE__*/React.createElement(Text, {
117
- style: [{
118
- color
119
- }, styles.label, options.tabBarLabelStyle],
120
- allowFontScaling: options.tabBarAllowFontScaling
121
- }, label);
122
- }
123
- const children = typeof options.tabBarLabel === 'string' ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
124
- return label({
125
- focused,
126
- color,
127
- children
128
- });
129
- },
130
- renderBadge: _ref8 => {
131
- let {
132
- route
133
- } = _ref8;
134
- const {
135
- tabBarBadge
136
- } = descriptors[route.key].options;
137
- return tabBarBadge?.() ?? null;
138
- },
139
- renderIndicator: _ref9 => {
140
- let {
141
- navigationState: state,
142
- ...rest
143
- } = _ref9;
92
+ onTabLongPress: ({
93
+ route
94
+ }) => navigation.emit({
95
+ type: 'tabLongPress',
96
+ target: route.key
97
+ }),
98
+ renderIndicator: ({
99
+ navigationState: state,
100
+ ...rest
101
+ }) => {
144
102
  return focusedOptions.tabBarIndicator ? focusedOptions.tabBarIndicator({
145
103
  state: state,
146
104
  ...rest
@@ -151,14 +109,9 @@ export function MaterialTopTabBar(_ref) {
151
109
  }));
152
110
  }
153
111
  const styles = StyleSheet.create({
154
- icon: {
155
- height: 24,
156
- width: 24
157
- },
158
112
  label: {
159
113
  textAlign: 'center',
160
- textTransform: 'uppercase',
161
- fontSize: 13,
114
+ fontSize: 14,
162
115
  margin: 4,
163
116
  backgroundColor: 'transparent'
164
117
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Text","useLocale","useTheme","Color","React","StyleSheet","View","TabBar","TabBarIndicator","MaterialTopTabBar","_ref","state","navigation","descriptors","rest","colors","direction","focusedOptions","routes","index","key","options","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","alpha","rgb","string","createElement","_extends","navigationState","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressColor","tabBarPressColor","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","primary","tabBarIndicatorStyle","gap","tabBarGap","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","style","card","tabBarStyle","getAccessibilityLabel","_ref2","route","tabBarAccessibilityLabel","getTestID","_ref3","tabBarButtonTestID","onTabPress","_ref4","preventDefault","event","emit","type","target","canPreventDefault","defaultPrevented","onTabLongPress","_ref5","renderIcon","_ref6","focused","color","tabBarShowIcon","tabBarIcon","undefined","icon","styles","tabBarIconStyle","renderLabel","_ref7","tabBarShowLabel","label","tabBarLabel","title","name","tabBarLabelStyle","allowFontScaling","tabBarAllowFontScaling","children","renderBadge","_ref8","tabBarBadge","renderIndicator","_ref9","tabBarIndicator","create","height","width","textAlign","textTransform","fontSize","margin"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Text","useLinkBuilder","useLocale","useTheme","Color","React","StyleSheet","TabBar","TabBarIndicator","MaterialLabel","color","labelText","labelStyle","allowScaling","createElement","style","styles","label","allowFontScaling","renderLabel","props","MaterialTopTabBar","state","navigation","descriptors","rest","colors","direction","buildHref","focusedOptions","routes","index","key","options","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","alpha","rgb","string","tabBarOptions","Object","fromEntries","map","route","href","name","params","testID","tabBarButtonTestID","accessibilityLabel","tabBarAccessibilityLabel","badge","tabBarBadge","icon","tabBarShowIcon","undefined","tabBarIcon","tabBarShowLabel","labelAllowFontScaling","tabBarAllowFontScaling","tabBarLabelStyle","title","_extends","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","type","target","canPreventDefault","defaultPrevented","onTabLongPress","renderIndicator","tabBarIndicator","create","textAlign","fontSize","margin"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,17 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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 { CommonActions, useLocale, useTheme } from '@react-navigation/native';
3
3
  import * as React from 'react';
4
4
  import { TabView } from 'react-native-tab-view';
5
5
  import { TabAnimationContext } from '../utils/TabAnimationContext';
6
6
  import { MaterialTopTabBar } from './MaterialTopTabBar';
7
- export function MaterialTopTabView(_ref) {
8
- let {
9
- tabBar = props => /*#__PURE__*/React.createElement(MaterialTopTabBar, props),
10
- state,
11
- navigation,
12
- descriptors,
13
- sceneContainerStyle,
14
- ...rest
15
- } = _ref;
7
+ export function MaterialTopTabView({
8
+ tabBar = props => /*#__PURE__*/React.createElement(MaterialTopTabBar, props),
9
+ state,
10
+ navigation,
11
+ descriptors,
12
+ sceneContainerStyle,
13
+ ...rest
14
+ }) {
16
15
  const {
17
16
  colors
18
17
  } = useTheme();
@@ -36,31 +35,22 @@ export function MaterialTopTabView(_ref) {
36
35
  target: state.key
37
36
  });
38
37
  },
39
- renderScene: _ref2 => {
40
- let {
41
- route,
38
+ renderScene: ({
39
+ route,
40
+ position
41
+ }) => /*#__PURE__*/React.createElement(TabAnimationContext.Provider, {
42
+ value: {
42
43
  position
43
- } = _ref2;
44
- return /*#__PURE__*/React.createElement(TabAnimationContext.Provider, {
45
- value: {
46
- position
47
- }
48
- }, descriptors[route.key].render());
49
- },
44
+ }
45
+ }, descriptors[route.key].render()),
50
46
  navigationState: state,
51
47
  renderTabBar: renderTabBar,
52
- renderLazyPlaceholder: _ref3 => {
53
- let {
54
- route
55
- } = _ref3;
56
- return descriptors[route.key].options.lazyPlaceholder?.() ?? null;
57
- },
58
- lazy: _ref4 => {
59
- let {
60
- route
61
- } = _ref4;
62
- return descriptors[route.key].options.lazy === true && !state.preloadedRouteKeys.includes(route.key);
63
- },
48
+ renderLazyPlaceholder: ({
49
+ route
50
+ }) => descriptors[route.key].options.lazyPlaceholder?.() ?? null,
51
+ lazy: ({
52
+ route
53
+ }) => descriptors[route.key].options.lazy === true && !state.preloadedRouteKeys.includes(route.key),
64
54
  lazyPreloadDistance: focusedOptions.lazyPreloadDistance,
65
55
  swipeEnabled: focusedOptions.swipeEnabled,
66
56
  animationEnabled: focusedOptions.animationEnabled,
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","useLocale","useTheme","React","TabView","TabAnimationContext","MaterialTopTabBar","MaterialTopTabView","_ref","tabBar","props","createElement","state","navigation","descriptors","sceneContainerStyle","rest","colors","direction","renderTabBar","focusedOptions","routes","index","key","options","_extends","onIndexChange","route","dispatch","navigate","target","renderScene","_ref2","position","Provider","value","render","navigationState","renderLazyPlaceholder","_ref3","lazyPlaceholder","lazy","_ref4","preloadedRouteKeys","includes","lazyPreloadDistance","swipeEnabled","animationEnabled","onSwipeStart","emit","type","onSwipeEnd","backgroundColor","background"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabView.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["CommonActions","useLocale","useTheme","React","TabView","TabAnimationContext","MaterialTopTabBar","MaterialTopTabView","tabBar","props","createElement","state","navigation","descriptors","sceneContainerStyle","rest","colors","direction","renderTabBar","focusedOptions","routes","index","key","options","_extends","onIndexChange","route","dispatch","navigate","target","renderScene","position","Provider","value","render","navigationState","renderLazyPlaceholder","lazyPlaceholder","lazy","preloadedRouteKeys","includes","lazyPreloadDistance","swipeEnabled","animationEnabled","onSwipeStart","emit","type","onSwipeEnd","backgroundColor","background"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabView.tsx"],"mappings":";AAAA,SACEA,aAAa,EAIbC,SAAS,EACTC,QAAQ,QACH,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAAkCC,OAAO,QAAQ,uBAAuB;AAQxE,SAASC,mBAAmB,QAAQ,8BAA8B;AAClE,SAASC,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,MAAM,GAAIC,KAA6B,iBAAKN,KAAA,CAAAO,aAAA,CAACJ,iBAAiB,EAAKG,KAAQ,CAAC;EAC5EE,KAAK;EACLC,UAAU;EACVC,WAAW;EACXC,mBAAmB;EACnB,GAAGC;AACE,CAAC,EAAE;EACR,MAAM;IAAEC;EAAO,CAAC,GAAGd,QAAQ,CAAC,CAAC;EAC7B,MAAM;IAAEe;EAAU,CAAC,GAAGhB,SAAS,CAAC,CAAC;EAEjC,MAAMiB,YAAY,GAAIT,KAAyB,IAAK;IAClD,OAAOD,MAAM,CAAC;MACZ,GAAGC,KAAK;MACRE,KAAK,EAAEA,KAAK;MACZC,UAAU,EAAEA,UAAU;MACtBC,WAAW,EAAEA;IACf,CAAC,CAAC;EACJ,CAAC;EAED,MAAMM,cAAc,GAAGN,WAAW,CAACF,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,OAAO;EAEzE,oBACEpB,KAAA,CAAAO,aAAA,CAACN,OAAO,EAAAoB,QAAA,KACFT,IAAI;IACRU,aAAa,EAAGJ,KAAK,IAAK;MACxB,MAAMK,KAAK,GAAGf,KAAK,CAACS,MAAM,CAACC,KAAK,CAAC;MAEjCT,UAAU,CAACe,QAAQ,CAAC;QAClB,GAAG3B,aAAa,CAAC4B,QAAQ,CAACF,KAAK,CAAC;QAChCG,MAAM,EAAElB,KAAK,CAACW;MAChB,CAAC,CAAC;IACJ,CAAE;IACFQ,WAAW,EAAEA,CAAC;MAAEJ,KAAK;MAAEK;IAAS,CAAC,kBAC/B5B,KAAA,CAAAO,aAAA,CAACL,mBAAmB,CAAC2B,QAAQ;MAACC,KAAK,EAAE;QAAEF;MAAS;IAAE,GAC/ClB,WAAW,CAACa,KAAK,CAACJ,GAAG,CAAC,CAACY,MAAM,CAAC,CACH,CAC9B;IACFC,eAAe,EAAExB,KAAM;IACvBO,YAAY,EAAEA,YAAa;IAC3BkB,qBAAqB,EAAEA,CAAC;MAAEV;IAAM,CAAC,KAC/Bb,WAAW,CAACa,KAAK,CAACJ,GAAG,CAAC,CAACC,OAAO,CAACc,eAAe,GAAG,CAAC,IAAI,IACvD;IACDC,IAAI,EAAEA,CAAC;MAAEZ;IAAM,CAAC,KACdb,WAAW,CAACa,KAAK,CAACJ,GAAG,CAAC,CAACC,OAAO,CAACe,IAAI,KAAK,IAAI,IAC5C,CAAC3B,KAAK,CAAC4B,kBAAkB,CAACC,QAAQ,CAACd,KAAK,CAACJ,GAAG,CAC7C;IACDmB,mBAAmB,EAAEtB,cAAc,CAACsB,mBAAoB;IACxDC,YAAY,EAAEvB,cAAc,CAACuB,YAAa;IAC1CC,gBAAgB,EAAExB,cAAc,CAACwB,gBAAiB;IAClDC,YAAY,EAAEA,CAAA,KAAMhC,UAAU,CAACiC,IAAI,CAAC;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAE;IAC5DC,UAAU,EAAEA,CAAA,KAAMnC,UAAU,CAACiC,IAAI,CAAC;MAAEC,IAAI,EAAE;IAAW,CAAC,CAAE;IACxDhC,mBAAmB,EAAE,CACnB;MAAEkC,eAAe,EAAEhC,MAAM,CAACiC;IAAW,CAAC,EACtCnC,mBAAmB,CACnB;IACFG,SAAS,EAAEA;EAAU,EACtB,CAAC;AAEN","ignoreList":[]}
@@ -14,5 +14,5 @@ export { useTabAnimation } from './utils/useTabAnimation';
14
14
  /**
15
15
  * Types
16
16
  */
17
- export type { MaterialTopTabBarProps, MaterialTopTabNavigationEventMap, MaterialTopTabNavigationOptions, MaterialTopTabNavigationProp, MaterialTopTabScreenProps, } from './types';
17
+ export type { MaterialTopTabBarProps, MaterialTopTabNavigationEventMap, MaterialTopTabNavigationOptions, MaterialTopTabNavigationProp, MaterialTopTabOptionsArgs, MaterialTopTabScreenProps, } from './types';
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAE3F;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,YAAY,EACV,sBAAsB,EACtB,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAE3F;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,YAAY,EACV,sBAAsB,EACtB,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
@@ -1,13 +1,18 @@
1
- import { type DefaultNavigatorOptions, type ParamListBase, type TabNavigationState, type TabRouterOptions } from '@react-navigation/native';
1
+ import { type DefaultNavigatorOptions, type NavigatorTypeBagBase, type ParamListBase, type StaticConfig, type TabNavigationState, type TabRouterOptions, type TypedNavigator } from '@react-navigation/native';
2
2
  import * as React from 'react';
3
- import type { MaterialTopTabNavigationConfig, MaterialTopTabNavigationEventMap, MaterialTopTabNavigationOptions } from '../types';
4
- type Props = DefaultNavigatorOptions<ParamListBase, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap> & TabRouterOptions & MaterialTopTabNavigationConfig;
5
- declare function MaterialTopTabNavigator({ id, initialRouteName, backBehavior, children, layout, screenListeners, screenOptions, screenLayout, ...rest }: Props): React.JSX.Element;
6
- export declare const createMaterialTopTabNavigator: {
7
- <ParamList extends ParamListBase>(): import("@react-navigation/native").TypedNavigator<ParamList, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap, typeof MaterialTopTabNavigator>;
8
- <ParamList_1 extends ParamListBase, Config extends import("@react-navigation/core/lib/typescript/src/StaticNavigation").StaticConfig<ParamList_1, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap, typeof MaterialTopTabNavigator>>(config: Config): import("@react-navigation/native").TypedNavigator<ParamList_1, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap, typeof MaterialTopTabNavigator> & {
9
- config: Config;
3
+ import type { MaterialTopTabNavigationConfig, MaterialTopTabNavigationEventMap, MaterialTopTabNavigationOptions, MaterialTopTabNavigationProp } from '../types';
4
+ type Props = DefaultNavigatorOptions<ParamListBase, string | undefined, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap, MaterialTopTabNavigationProp<ParamListBase>> & TabRouterOptions & MaterialTopTabNavigationConfig;
5
+ declare function MaterialTopTabNavigator({ id, initialRouteName, backBehavior, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_getStateForRouteNamesChange, ...rest }: Props): React.JSX.Element;
6
+ export declare function createMaterialTopTabNavigator<ParamList extends ParamListBase, NavigatorID extends string | undefined = undefined, TypeBag extends NavigatorTypeBagBase = {
7
+ ParamList: ParamList;
8
+ NavigatorID: NavigatorID;
9
+ State: TabNavigationState<ParamList>;
10
+ ScreenOptions: MaterialTopTabNavigationOptions;
11
+ EventMap: MaterialTopTabNavigationEventMap;
12
+ NavigationList: {
13
+ [RouteName in keyof ParamList]: MaterialTopTabNavigationProp<ParamList, RouteName, NavigatorID>;
10
14
  };
11
- };
15
+ Navigator: typeof MaterialTopTabNavigator;
16
+ }, Config extends StaticConfig<TypeBag> | undefined = StaticConfig<TypeBag> | undefined>(config?: Config): TypedNavigator<TypeBag, Config>;
12
17
  export {};
13
18
  //# sourceMappingURL=createMaterialTopTabNavigator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMaterialTopTabNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigators/createMaterialTopTabNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAElB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,UAAU,CAAC;AAGlB,KAAK,KAAK,GAAG,uBAAuB,CAClC,aAAa,EACb,kBAAkB,CAAC,aAAa,CAAC,EACjC,+BAA+B,EAC/B,gCAAgC,CACjC,GACC,gBAAgB,GAChB,8BAA8B,CAAC;AAEjC,iBAAS,uBAAuB,CAAC,EAC/B,EAAE,EACF,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,eAAe,EACf,aAAa,EACb,YAAY,EACZ,GAAG,IAAI,EACR,EAAE,KAAK,qBA6BP;AAED,eAAO,MAAM,6BAA6B;;;;;CAKhB,CAAC"}
1
+ {"version":3,"file":"createMaterialTopTabNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigators/createMaterialTopTabNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAGlB,KAAK,KAAK,GAAG,uBAAuB,CAClC,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,kBAAkB,CAAC,aAAa,CAAC,EACjC,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,CAAC,aAAa,CAAC,CAC5C,GACC,gBAAgB,GAChB,8BAA8B,CAAC;AAEjC,iBAAS,uBAAuB,CAAC,EAC/B,EAAE,EACF,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,eAAe,EACf,aAAa,EACb,YAAY,EACZ,oCAAoC,EACpC,GAAG,IAAI,EACR,EAAE,KAAK,qBA8BP;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAClD,OAAO,SAAS,oBAAoB,GAAG;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrC,aAAa,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,EAAE,gCAAgC,CAAC;IAC3C,cAAc,EAAE;SACb,SAAS,IAAI,MAAM,SAAS,GAAG,4BAA4B,CAC1D,SAAS,EACT,SAAS,EACT,WAAW,CACZ;KACF,CAAC;IACF,SAAS,EAAE,OAAO,uBAAuB,CAAC;CAC3C,EACD,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC5C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,EACb,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAElD"}
@@ -1,4 +1,4 @@
1
- import type { Descriptor, NavigationHelpers, NavigationProp, ParamListBase, Route, RouteProp, TabActionHelpers, TabNavigationState } from '@react-navigation/native';
1
+ import type { Descriptor, NavigationHelpers, NavigationProp, ParamListBase, Route, RouteProp, TabActionHelpers, TabNavigationState, Theme } from '@react-navigation/native';
2
2
  import type React from 'react';
3
3
  import type { Animated, PressableAndroidRippleConfig, StyleProp, TextStyle, ViewStyle } from 'react-native';
4
4
  import type { SceneRendererProps, TabBar, TabViewProps } from 'react-native-tab-view';
@@ -35,6 +35,9 @@ export type MaterialTopTabScreenProps<ParamList extends ParamListBase, RouteName
35
35
  navigation: MaterialTopTabNavigationProp<ParamList, RouteName, NavigatorID>;
36
36
  route: RouteProp<ParamList, RouteName>;
37
37
  };
38
+ export type MaterialTopTabOptionsArgs<ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList, NavigatorID extends string | undefined = undefined> = MaterialTopTabScreenProps<ParamList, RouteName, NavigatorID> & {
39
+ theme: Theme;
40
+ };
38
41
  export type MaterialTopTabNavigationOptions = {
39
42
  /**
40
43
  * Title text for the screen.
@@ -70,7 +73,7 @@ export type MaterialTopTabNavigationOptions = {
70
73
  tabBarIcon?: (props: {
71
74
  focused: boolean;
72
75
  color: string;
73
- }) => React.ReactNode;
76
+ }) => React.ReactElement;
74
77
  /**
75
78
  * Whether the tab icon should be visible. Defaults to `false`.
76
79
  */
@@ -78,7 +81,7 @@ export type MaterialTopTabNavigationOptions = {
78
81
  /**
79
82
  * Function that returns a React element to use as a badge for the tab.
80
83
  */
81
- tabBarBadge?: () => React.ReactNode;
84
+ tabBarBadge?: () => React.ReactElement;
82
85
  /**
83
86
  * Function that returns a React element as the tab bar indicator.
84
87
  */
@@ -123,10 +126,6 @@ export type MaterialTopTabNavigationOptions = {
123
126
  * If you set this to `true`, you should also specify a width in `tabBarItemStyle` to improve the performance of initial render.
124
127
  */
125
128
  tabBarScrollEnabled?: boolean;
126
- /**
127
- * Style object for the tab icon container.
128
- */
129
- tabBarIconStyle?: StyleProp<ViewStyle>;
130
129
  /**
131
130
  * Style object for the tab label.
132
131
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,YAAY,EACb,MAAM,uBAAuB,CAAC;AAE/B,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,EACnD,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IAChD,cAAc,CAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,kBAAkB,CAAC,SAAS,CAAC,EAC7B,+BAA+B,EAC/B,gCAAgC,CACjC,GACC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE9B,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,EACnD,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IAChD;IACF,UAAU,EAAE,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5E,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,WAAW,CAAC,EACR,MAAM,GACN,CAAC,CAAC,KAAK,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAE7E;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAEpC;;OAEG;IACH,eAAe,CAAC,EAAE,CAChB,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;IAErB;;OAEG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE5C;;OAEG;IACH,6BAA6B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAErD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEvC;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAExC;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEvC;;OAEG;IACH,2BAA2B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnD;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IAEnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CACzC,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,cAAc,GACd,kBAAkB,GAClB,MAAM,GACN,qBAAqB,GACrB,iBAAiB,CACpB,GAAG;IACF;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACxD,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"}
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":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,qBA2HxB"}
1
+ {"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AA6BvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,qBA0FxB"}
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": "7.0.0-alpha.8",
4
+ "version": "7.0.0-rc.0",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -41,26 +41,26 @@
41
41
  "clean": "del lib"
42
42
  },
43
43
  "dependencies": {
44
- "@react-navigation/elements": "^2.0.0-alpha.6",
44
+ "@react-navigation/elements": "^2.0.0-rc.0",
45
45
  "color": "^4.2.3",
46
- "react-native-tab-view": "^4.0.0-alpha.4"
46
+ "react-native-tab-view": "^4.0.0-rc.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@react-navigation/native": "^7.0.0-alpha.8",
49
+ "@react-navigation/native": "^7.0.0-rc.0",
50
50
  "@testing-library/react-native": "^12.4.3",
51
- "@types/react": "~18.2.45",
51
+ "@types/react": "~18.2.79",
52
52
  "del-cli": "^5.1.0",
53
53
  "react": "18.2.0",
54
- "react-native": "0.73.2",
54
+ "react-native": "0.74.2",
55
55
  "react-native-builder-bob": "^0.23.2",
56
- "react-native-pager-view": "6.2.3",
57
- "typescript": "^5.3.3"
56
+ "react-native-pager-view": "6.3.0",
57
+ "typescript": "^5.5.2"
58
58
  },
59
59
  "peerDependencies": {
60
- "@react-navigation/native": "^7.0.0-alpha.8",
61
- "react": "*",
62
- "react-native": "0.73.2",
63
- "react-native-pager-view": "6.2.3"
60
+ "@react-navigation/native": "^7.0.0-rc.0",
61
+ "react": ">= 18.2.0",
62
+ "react-native": ">= 0.72.0",
63
+ "react-native-pager-view": ">= 6.0.0"
64
64
  },
65
65
  "react-native-builder-bob": {
66
66
  "source": "src",
@@ -76,5 +76,5 @@
76
76
  ]
77
77
  ]
78
78
  },
79
- "gitHead": "e4e445810a3a958c35cc34486b5499baa595500e"
79
+ "gitHead": "2a1d67089eea2a3d87e38a870ccee35a79c55d7d"
80
80
  }
package/src/index.tsx CHANGED
@@ -22,5 +22,6 @@ export type {
22
22
  MaterialTopTabNavigationEventMap,
23
23
  MaterialTopTabNavigationOptions,
24
24
  MaterialTopTabNavigationProp,
25
+ MaterialTopTabOptionsArgs,
25
26
  MaterialTopTabScreenProps,
26
27
  } from './types';
@@ -1,11 +1,14 @@
1
1
  import {
2
2
  createNavigatorFactory,
3
3
  type DefaultNavigatorOptions,
4
+ type NavigatorTypeBagBase,
4
5
  type ParamListBase,
6
+ type StaticConfig,
5
7
  type TabActionHelpers,
6
8
  type TabNavigationState,
7
9
  TabRouter,
8
10
  type TabRouterOptions,
11
+ type TypedNavigator,
9
12
  useNavigationBuilder,
10
13
  } from '@react-navigation/native';
11
14
  import * as React from 'react';
@@ -14,14 +17,17 @@ import type {
14
17
  MaterialTopTabNavigationConfig,
15
18
  MaterialTopTabNavigationEventMap,
16
19
  MaterialTopTabNavigationOptions,
20
+ MaterialTopTabNavigationProp,
17
21
  } from '../types';
18
22
  import { MaterialTopTabView } from '../views/MaterialTopTabView';
19
23
 
20
24
  type Props = DefaultNavigatorOptions<
21
25
  ParamListBase,
26
+ string | undefined,
22
27
  TabNavigationState<ParamListBase>,
23
28
  MaterialTopTabNavigationOptions,
24
- MaterialTopTabNavigationEventMap
29
+ MaterialTopTabNavigationEventMap,
30
+ MaterialTopTabNavigationProp<ParamListBase>
25
31
  > &
26
32
  TabRouterOptions &
27
33
  MaterialTopTabNavigationConfig;
@@ -35,6 +41,7 @@ function MaterialTopTabNavigator({
35
41
  screenListeners,
36
42
  screenOptions,
37
43
  screenLayout,
44
+ UNSTABLE_getStateForRouteNamesChange,
38
45
  ...rest
39
46
  }: Props) {
40
47
  const { state, descriptors, navigation, NavigationContent } =
@@ -53,6 +60,7 @@ function MaterialTopTabNavigator({
53
60
  screenListeners,
54
61
  screenOptions,
55
62
  screenLayout,
63
+ UNSTABLE_getStateForRouteNamesChange,
56
64
  });
57
65
 
58
66
  return (
@@ -67,9 +75,27 @@ function MaterialTopTabNavigator({
67
75
  );
68
76
  }
69
77
 
70
- export const createMaterialTopTabNavigator = createNavigatorFactory<
71
- TabNavigationState<ParamListBase>,
72
- MaterialTopTabNavigationOptions,
73
- MaterialTopTabNavigationEventMap,
74
- typeof MaterialTopTabNavigator
75
- >(MaterialTopTabNavigator);
78
+ export function createMaterialTopTabNavigator<
79
+ ParamList extends ParamListBase,
80
+ NavigatorID extends string | undefined = undefined,
81
+ TypeBag extends NavigatorTypeBagBase = {
82
+ ParamList: ParamList;
83
+ NavigatorID: NavigatorID;
84
+ State: TabNavigationState<ParamList>;
85
+ ScreenOptions: MaterialTopTabNavigationOptions;
86
+ EventMap: MaterialTopTabNavigationEventMap;
87
+ NavigationList: {
88
+ [RouteName in keyof ParamList]: MaterialTopTabNavigationProp<
89
+ ParamList,
90
+ RouteName,
91
+ NavigatorID
92
+ >;
93
+ };
94
+ Navigator: typeof MaterialTopTabNavigator;
95
+ },
96
+ Config extends StaticConfig<TypeBag> | undefined =
97
+ | StaticConfig<TypeBag>
98
+ | undefined,
99
+ >(config?: Config): TypedNavigator<TypeBag, Config> {
100
+ return createNavigatorFactory(MaterialTopTabNavigator)(config);
101
+ }