@react-navigation/material-top-tabs 6.5.3 → 7.0.0-alpha.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.
- package/lib/commonjs/navigators/createMaterialTopTabNavigator.js +2 -61
- package/lib/commonjs/navigators/createMaterialTopTabNavigator.js.map +1 -1
- package/lib/commonjs/views/MaterialTopTabBar.js +2 -1
- package/lib/commonjs/views/MaterialTopTabBar.js.map +1 -1
- package/lib/commonjs/views/MaterialTopTabView.js +7 -7
- package/lib/commonjs/views/MaterialTopTabView.js.map +1 -1
- package/lib/module/navigators/createMaterialTopTabNavigator.js +2 -61
- package/lib/module/navigators/createMaterialTopTabNavigator.js.map +1 -1
- package/lib/module/views/MaterialTopTabBar.js +2 -1
- package/lib/module/views/MaterialTopTabBar.js.map +1 -1
- package/lib/module/views/MaterialTopTabView.js +7 -7
- package/lib/module/views/MaterialTopTabView.js.map +1 -1
- package/lib/typescript/src/navigators/createMaterialTopTabNavigator.d.ts +8 -3
- package/lib/typescript/src/navigators/createMaterialTopTabNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +17 -11
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/MaterialTopTabBar.d.ts.map +1 -1
- package/lib/typescript/src/views/MaterialTopTabView.d.ts +1 -1
- package/lib/typescript/src/views/MaterialTopTabView.d.ts.map +1 -1
- package/package.json +12 -14
- package/src/navigators/createMaterialTopTabNavigator.tsx +1 -81
- package/src/types.tsx +14 -2
- package/src/views/MaterialTopTabBar.tsx +4 -1
- package/src/views/MaterialTopTabView.tsx +6 -7
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _warnOnce = _interopRequireDefault(require("warn-once"));
|
|
10
9
|
var _MaterialTopTabView = _interopRequireDefault(require("../views/MaterialTopTabView"));
|
|
11
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -20,65 +19,8 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
20
19
|
children,
|
|
21
20
|
screenListeners,
|
|
22
21
|
screenOptions,
|
|
23
|
-
...restWithDeprecated
|
|
24
|
-
} = _ref;
|
|
25
|
-
const {
|
|
26
|
-
// @ts-expect-error: swipeEnabled is deprecated
|
|
27
|
-
swipeEnabled,
|
|
28
|
-
// @ts-expect-error: lazy is deprecated
|
|
29
|
-
lazy,
|
|
30
|
-
// @ts-expect-error: lazyPlaceholder is deprecated
|
|
31
|
-
lazyPlaceholder,
|
|
32
|
-
// @ts-expect-error: lazyPreloadDistance is deprecated
|
|
33
|
-
lazyPreloadDistance,
|
|
34
|
-
// @ts-expect-error: tabBarOptions is deprecated
|
|
35
|
-
tabBarOptions,
|
|
36
22
|
...rest
|
|
37
|
-
} =
|
|
38
|
-
let defaultScreenOptions = {};
|
|
39
|
-
if (tabBarOptions) {
|
|
40
|
-
Object.assign(defaultScreenOptions, {
|
|
41
|
-
tabBarActiveTintColor: tabBarOptions.activeTintColor,
|
|
42
|
-
tabBarInactiveTintColor: tabBarOptions.inactiveTintColor,
|
|
43
|
-
tabBarPressColor: tabBarOptions.pressColor,
|
|
44
|
-
tabBarPressOpacity: tabBarOptions.pressOpacity,
|
|
45
|
-
tabBarShowLabel: tabBarOptions.showLabel,
|
|
46
|
-
tabBarShowIcon: tabBarOptions.showIcon,
|
|
47
|
-
tabBarAllowFontScaling: tabBarOptions.allowFontScaling,
|
|
48
|
-
tabBarBounces: tabBarOptions.bounces,
|
|
49
|
-
tabBarScrollEnabled: tabBarOptions.scrollEnabled,
|
|
50
|
-
tabBarIconStyle: tabBarOptions.iconStyle,
|
|
51
|
-
tabBarLabelStyle: tabBarOptions.labelStyle,
|
|
52
|
-
tabBarItemStyle: tabBarOptions.tabStyle,
|
|
53
|
-
tabBarBadge: tabBarOptions.renderBadge,
|
|
54
|
-
tabBarIndicator: tabBarOptions.renderIndicator,
|
|
55
|
-
tabBarIndicatorStyle: tabBarOptions.indicatorStyle,
|
|
56
|
-
tabBarIndicatorContainerStyle: tabBarOptions.indicatorContainerStyle,
|
|
57
|
-
tabBarContentContainerStyle: tabBarOptions.contentContainerStyle,
|
|
58
|
-
tabBarStyle: tabBarOptions.style
|
|
59
|
-
});
|
|
60
|
-
Object.keys(defaultScreenOptions).forEach(key => {
|
|
61
|
-
if (defaultScreenOptions[key] === undefined) {
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
63
|
-
delete defaultScreenOptions[key];
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
(0, _warnOnce.default)(tabBarOptions, `Material Top Tab Navigator: 'tabBarOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n${JSON.stringify(defaultScreenOptions, null, 2)}\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#options for more details.`);
|
|
67
|
-
}
|
|
68
|
-
const deprecatedProps = {
|
|
69
|
-
swipeEnabled,
|
|
70
|
-
lazy,
|
|
71
|
-
lazyPlaceholder,
|
|
72
|
-
lazyPreloadDistance
|
|
73
|
-
};
|
|
74
|
-
Object.entries(deprecatedProps).forEach(_ref2 => {
|
|
75
|
-
let [propName, propValue] = _ref2;
|
|
76
|
-
if (propValue !== undefined) {
|
|
77
|
-
// @ts-expect-error: Object.entries doesn't return strict types
|
|
78
|
-
defaultScreenOptions[propName] = propValue;
|
|
79
|
-
(0, _warnOnce.default)(true, `Material Top Tab Navigator: '${propName}' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#${propName.toLowerCase()} for more details.`);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
23
|
+
} = _ref;
|
|
82
24
|
const {
|
|
83
25
|
state,
|
|
84
26
|
descriptors,
|
|
@@ -90,8 +32,7 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
90
32
|
backBehavior,
|
|
91
33
|
children,
|
|
92
34
|
screenListeners,
|
|
93
|
-
screenOptions
|
|
94
|
-
defaultScreenOptions
|
|
35
|
+
screenOptions
|
|
95
36
|
});
|
|
96
37
|
return /*#__PURE__*/React.createElement(NavigationContent, null, /*#__PURE__*/React.createElement(_MaterialTopTabView.default, _extends({}, rest, {
|
|
97
38
|
state: state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MaterialTopTabNavigator","id","initialRouteName","backBehavior","children","screenListeners","screenOptions","
|
|
1
|
+
{"version":3,"names":["MaterialTopTabNavigator","id","initialRouteName","backBehavior","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","useNavigationBuilder","TabRouter","createNavigatorFactory"],"sourceRoot":"../../src","sources":["createMaterialTopTabNavigator.tsx"],"mappings":";;;;;;AAAA;AAUA;AAOA;AAA6D;AAAA;AAAA;AAAA;AAW7D,SAASA,uBAAuB,OAQtB;EAAA,IARuB;IAC/BC,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACb,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzD,IAAAC,4BAAoB,EAMlBC,iBAAS,EAAE;IACXZ,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC;EACF,CAAC,CAAC;EAEJ,oBACE,oBAAC,iBAAiB,qBAChB,oBAAC,2BAAkB,eACbC,IAAI;IACR,KAAK,EAAEC,KAAM;IACb,UAAU,EAAEE,UAAW;IACvB,WAAW,EAAED;EAAY,GACzB,CACgB;AAExB;AAAC,eAEc,IAAAK,8BAAsB,EAKnCd,uBAAuB,CAAC;AAAA"}
|
|
@@ -39,6 +39,7 @@ function TabBarTop(_ref) {
|
|
|
39
39
|
backgroundColor: colors.primary
|
|
40
40
|
}, focusedOptions.tabBarIndicatorStyle],
|
|
41
41
|
gap: focusedOptions.tabBarGap,
|
|
42
|
+
android_ripple: focusedOptions.tabBarAndroidRipple,
|
|
42
43
|
indicatorContainerStyle: focusedOptions.tabBarIndicatorContainerStyle,
|
|
43
44
|
contentContainerStyle: focusedOptions.tabBarContentContainerStyle,
|
|
44
45
|
style: [{
|
|
@@ -54,7 +55,7 @@ function TabBarTop(_ref) {
|
|
|
54
55
|
let {
|
|
55
56
|
route
|
|
56
57
|
} = _ref3;
|
|
57
|
-
return descriptors[route.key].options.
|
|
58
|
+
return descriptors[route.key].options.tabBarButtonTestID;
|
|
58
59
|
},
|
|
59
60
|
onTabPress: _ref4 => {
|
|
60
61
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TabBarTop","state","navigation","descriptors","rest","colors","useTheme","focusedOptions","routes","index","key","options","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","Color","alpha","rgb","string","tabBarScrollEnabled","tabBarBounces","tabBarPressColor","tabBarPressOpacity","tabBarItemStyle","backgroundColor","primary","tabBarIndicatorStyle","tabBarGap","tabBarIndicatorContainerStyle","tabBarContentContainerStyle","card","tabBarStyle","route","tabBarAccessibilityLabel","
|
|
1
|
+
{"version":3,"names":["TabBarTop","state","navigation","descriptors","rest","colors","useTheme","focusedOptions","routes","index","key","options","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","Color","alpha","rgb","string","tabBarScrollEnabled","tabBarBounces","tabBarPressColor","tabBarPressOpacity","tabBarItemStyle","backgroundColor","primary","tabBarIndicatorStyle","tabBarGap","tabBarAndroidRipple","tabBarIndicatorContainerStyle","tabBarContentContainerStyle","card","tabBarStyle","route","tabBarAccessibilityLabel","tabBarButtonTestID","preventDefault","event","emit","type","target","canPreventDefault","defaultPrevented","focused","color","tabBarShowIcon","tabBarIcon","undefined","icon","styles","tabBarIconStyle","tabBarShowLabel","label","tabBarLabel","title","name","tabBarLabelStyle","tabBarAllowFontScaling","children","tabBarBadge","navigationState","tabBarIndicator","StyleSheet","create","height","width","textAlign","textTransform","fontSize","margin"],"sourceRoot":"../../src","sources":["MaterialTopTabBar.tsx"],"mappings":";;;;;;AAAA;AAMA;AACA;AACA;AACA;AAAgE;AAAA;AAAA;AAAA;AAIjD,SAASA,SAAS,OAKN;EAAA,IALO;IAChCC,KAAK;IACLC,UAAU;IACVC,WAAW;IACX,GAAGC;EACmB,CAAC;EACvB,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,gBAAQ,GAAE;EAE7B,MAAMC,cAAc,GAAGJ,WAAW,CAACF,KAAK,CAACO,MAAM,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,OAAO;EAEzE,MAAMC,WAAW,GAAGL,cAAc,CAACM,qBAAqB,IAAIR,MAAM,CAACS,IAAI;EACvE,MAAMC,aAAa,GACjBR,cAAc,CAACS,uBAAuB,IACtC,IAAAC,cAAK,EAACL,WAAW,CAAC,CAACM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,CAACC,MAAM,EAAE;EAE9C,oBACE,oBAAC,0BAAM,eACDhB,IAAI;IACR,eAAe,EAAEH,KAAM;IACvB,aAAa,EAAEM,cAAc,CAACc,mBAAoB;IAClD,OAAO,EAAEd,cAAc,CAACe,aAAc;IACtC,WAAW,EAAEV,WAAY;IACzB,aAAa,EAAEG,aAAc;IAC7B,UAAU,EAAER,cAAc,CAACgB,gBAAiB;IAC5C,YAAY,EAAEhB,cAAc,CAACiB,kBAAmB;IAChD,QAAQ,EAAEjB,cAAc,CAACkB,eAAgB;IACzC,cAAc,EAAE,CACd;MAAEC,eAAe,EAAErB,MAAM,CAACsB;IAAQ,CAAC,EACnCpB,cAAc,CAACqB,oBAAoB,CACnC;IACF,GAAG,EAAErB,cAAc,CAACsB,SAAU;IAC9B,cAAc,EAAEtB,cAAc,CAACuB,mBAAoB;IACnD,uBAAuB,EAAEvB,cAAc,CAACwB,6BAA8B;IACtE,qBAAqB,EAAExB,cAAc,CAACyB,2BAA4B;IAClE,KAAK,EAAE,CAAC;MAAEN,eAAe,EAAErB,MAAM,CAAC4B;IAAK,CAAC,EAAE1B,cAAc,CAAC2B,WAAW,CAAE;IACtE,qBAAqB,EAAE;MAAA,IAAC;QAAEC;MAAM,CAAC;MAAA,OAC/BhC,WAAW,CAACgC,KAAK,CAACzB,GAAG,CAAC,CAACC,OAAO,CAACyB,wBAAwB;IAAA,CACxD;IACD,SAAS,EAAE;MAAA,IAAC;QAAED;MAAM,CAAC;MAAA,OACnBhC,WAAW,CAACgC,KAAK,CAACzB,GAAG,CAAC,CAACC,OAAO,CAAC0B,kBAAkB;IAAA,CAClD;IACD,UAAU,EAAE,SAA+B;MAAA,IAA9B;QAAEF,KAAK;QAAEG;MAAe,CAAC;MACpC,MAAMC,KAAK,GAAGrC,UAAU,CAACsC,IAAI,CAAC;QAC5BC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAEP,KAAK,CAACzB,GAAG;QACjBiC,iBAAiB,EAAE;MACrB,CAAC,CAAC;MAEF,IAAIJ,KAAK,CAACK,gBAAgB,EAAE;QAC1BN,cAAc,EAAE;MAClB;IACF,CAAE;IACF,cAAc,EAAE;MAAA,IAAC;QAAEH;MAAM,CAAC;MAAA,OACxBjC,UAAU,CAACsC,IAAI,CAAC;QACdC,IAAI,EAAE,cAAc;QACpBC,MAAM,EAAEP,KAAK,CAACzB;MAChB,CAAC,CAAC;IAAA,CACH;IACD,UAAU,EAAE,SAA+B;MAAA,IAA9B;QAAEyB,KAAK;QAAEU,OAAO;QAAEC;MAAM,CAAC;MACpC,MAAM;QAAEnC;MAAQ,CAAC,GAAGR,WAAW,CAACgC,KAAK,CAACzB,GAAG,CAAC;MAE1C,IAAIC,OAAO,CAACoC,cAAc,KAAK,KAAK,EAAE;QACpC,OAAO,IAAI;MACb;MAEA,IAAIpC,OAAO,CAACqC,UAAU,KAAKC,SAAS,EAAE;QACpC,MAAMC,IAAI,GAAGvC,OAAO,CAACqC,UAAU,CAAC;UAAEH,OAAO;UAAEC;QAAM,CAAC,CAAC;QAEnD,oBACE,oBAAC,iBAAI;UAAC,KAAK,EAAE,CAACK,MAAM,CAACD,IAAI,EAAEvC,OAAO,CAACyC,eAAe;QAAE,GAAEF,IAAI,CAAQ;MAEtE;MAEA,OAAO,IAAI;IACb,CAAE;IACF,WAAW,EAAE,SAA+B;MAAA,IAA9B;QAAEf,KAAK;QAAEU,OAAO;QAAEC;MAAM,CAAC;MACrC,MAAM;QAAEnC;MAAQ,CAAC,GAAGR,WAAW,CAACgC,KAAK,CAACzB,GAAG,CAAC;MAE1C,IAAIC,OAAO,CAAC0C,eAAe,KAAK,KAAK,EAAE;QACrC,OAAO,IAAI;MACb;MAEA,MAAMC,KAAK,GACT3C,OAAO,CAAC4C,WAAW,KAAKN,SAAS,GAC7BtC,OAAO,CAAC4C,WAAW,GACnB5C,OAAO,CAAC6C,KAAK,KAAKP,SAAS,GAC3BtC,OAAO,CAAC6C,KAAK,GACZrB,KAAK,CAAmBsB,IAAI;MAEnC,IAAI,OAAOH,KAAK,KAAK,QAAQ,EAAE;QAC7B,oBACE,oBAAC,iBAAI;UACH,KAAK,EAAE,CAACH,MAAM,CAACG,KAAK,EAAE;YAAER;UAAM,CAAC,EAAEnC,OAAO,CAAC+C,gBAAgB,CAAE;UAC3D,gBAAgB,EAAE/C,OAAO,CAACgD;QAAuB,GAEhDL,KAAK,CACD;MAEX;MAEA,MAAMM,QAAQ,GACZ,OAAOjD,OAAO,CAAC4C,WAAW,KAAK,QAAQ,GACnC5C,OAAO,CAAC4C,WAAW,GACnB5C,OAAO,CAAC6C,KAAK,KAAKP,SAAS,GAC3BtC,OAAO,CAAC6C,KAAK,GACbrB,KAAK,CAACsB,IAAI;MAEhB,OAAOH,KAAK,CAAC;QAAET,OAAO;QAAEC,KAAK;QAAEc;MAAS,CAAC,CAAC;IAC5C,CAAE;IACF,WAAW,EAAE,SAAe;MAAA,IAAd;QAAEzB;MAAM,CAAC;MACrB,MAAM;QAAE0B;MAAY,CAAC,GAAG1D,WAAW,CAACgC,KAAK,CAACzB,GAAG,CAAC,CAACC,OAAO;MAEtD,OAAO,CAAAkD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,EAAI,KAAI,IAAI;IAChC,CAAE;IACF,eAAe,EAAE,SAAyC;MAAA,IAAxC;QAAEC,eAAe,EAAE7D,KAAK;QAAE,GAAGG;MAAK,CAAC;MACnD,OAAOG,cAAc,CAACwD,eAAe,GACnCxD,cAAc,CAACwD,eAAe,CAAC;QAC7B9D,KAAK,EAAEA,KAA0C;QACjD,GAAGG;MACL,CAAC,CAAC,gBAEF,oBAAC,mCAAe;QAAC,eAAe,EAAEH;MAAM,GAAKG,IAAI,EAClD;IACH;EAAE,GACF;AAEN;AAEA,MAAM+C,MAAM,GAAGa,uBAAU,CAACC,MAAM,CAAC;EAC/Bf,IAAI,EAAE;IACJgB,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT,CAAC;EACDb,KAAK,EAAE;IACLc,SAAS,EAAE,QAAQ;IACnBC,aAAa,EAAE,WAAW;IAC1BC,QAAQ,EAAE,EAAE;IACZC,MAAM,EAAE,CAAC;IACT7C,eAAe,EAAE;EACnB;AACF,CAAC,CAAC"}
|
|
@@ -34,13 +34,13 @@ function MaterialTopTabView(_ref) {
|
|
|
34
34
|
};
|
|
35
35
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
36
36
|
return /*#__PURE__*/React.createElement(_reactNativeTabView.TabView, _extends({}, rest, {
|
|
37
|
-
onIndexChange: index =>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
37
|
+
onIndexChange: index => {
|
|
38
|
+
const route = state.routes[index];
|
|
39
|
+
navigation.dispatch({
|
|
40
|
+
..._native.CommonActions.navigate(route),
|
|
41
|
+
target: state.key
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
44
|
renderScene: _ref2 => {
|
|
45
45
|
let {
|
|
46
46
|
route
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MaterialTopTabView","tabBar","props","state","navigation","descriptors","sceneContainerStyle","rest","colors","useTheme","renderTabBar","focusedOptions","routes","index","key","options","dispatch","CommonActions","navigate","
|
|
1
|
+
{"version":3,"names":["MaterialTopTabView","tabBar","props","state","navigation","descriptors","sceneContainerStyle","rest","colors","useTheme","renderTabBar","focusedOptions","routes","index","key","options","route","dispatch","CommonActions","navigate","target","render","lazyPlaceholder","lazy","lazyPreloadDistance","swipeEnabled","animationEnabled","emit","type","backgroundColor","background"],"sourceRoot":"../../src","sources":["MaterialTopTabView.tsx"],"mappings":";;;;;;AAAA;AAOA;AACA;AAQA;AAAoD;AAAA;AAAA;AAAA;AAQrC,SAASA,kBAAkB,OAOhC;EAAA,IAPiC;IACzCC,MAAM,GAAIC,KAA6B,iBAAK,oBAAC,0BAAiB,EAAKA,KAAK,CAAI;IAC5EC,KAAK;IACLC,UAAU;IACVC,WAAW;IACXC,mBAAmB;IACnB,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,gBAAQ,GAAE;EAE7B,MAAMC,YAAY,GAAIR,KAAyB,IAAK;IAClD,OAAOD,MAAM,CAAC;MACZ,GAAGC,KAAK;MACRC,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,oBACE,oBAAC,2BAAO,eACFR,IAAI;IACR,aAAa,EAAGM,KAAK,IAAK;MACxB,MAAMG,KAAK,GAAGb,KAAK,CAACS,MAAM,CAACC,KAAK,CAAC;MAEjCT,UAAU,CAACa,QAAQ,CAAC;QAClB,GAAGC,qBAAa,CAACC,QAAQ,CAACH,KAAK,CAAC;QAChCI,MAAM,EAAEjB,KAAK,CAACW;MAChB,CAAC,CAAC;IACJ,CAAE;IACF,WAAW,EAAE;MAAA,IAAC;QAAEE;MAAM,CAAC;MAAA,OAAKX,WAAW,CAACW,KAAK,CAACF,GAAG,CAAC,CAACO,MAAM,EAAE;IAAA,CAAC;IAC5D,eAAe,EAAElB,KAAM;IACvB,YAAY,EAAEO,YAAa;IAC3B,qBAAqB,EAAE;MAAA;MAAA,IAAC;QAAEM;MAAM,CAAC;MAAA,OAC/B,oDAAAX,WAAW,CAACW,KAAK,CAACF,GAAG,CAAC,CAACC,OAAO,EAACO,eAAe,0DAA9C,kDAAkD,KAAI,IAAI;IAAA,CAC3D;IACD,IAAI,EAAE;MAAA,IAAC;QAAEN;MAAM,CAAC;MAAA,OAAKX,WAAW,CAACW,KAAK,CAACF,GAAG,CAAC,CAACC,OAAO,CAACQ,IAAI,KAAK,IAAI;IAAA,CAAC;IAClE,mBAAmB,EAAEZ,cAAc,CAACa,mBAAoB;IACxD,YAAY,EAAEb,cAAc,CAACc,YAAa;IAC1C,gBAAgB,EAAEd,cAAc,CAACe,gBAAiB;IAClD,YAAY,EAAE,MAAMtB,UAAU,CAACuB,IAAI,CAAC;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAE;IAC5D,UAAU,EAAE,MAAMxB,UAAU,CAACuB,IAAI,CAAC;MAAEC,IAAI,EAAE;IAAW,CAAC,CAAE;IACxD,mBAAmB,EAAE,CACnB;MAAEC,eAAe,EAAErB,MAAM,CAACsB;IAAW,CAAC,EACtCxB,mBAAmB;EACnB,GACF;AAEN"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
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); }
|
|
2
2
|
import { createNavigatorFactory, TabRouter, useNavigationBuilder } from '@react-navigation/native';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import warnOnce from 'warn-once';
|
|
5
4
|
import MaterialTopTabView from '../views/MaterialTopTabView';
|
|
6
5
|
function MaterialTopTabNavigator(_ref) {
|
|
7
6
|
let {
|
|
@@ -11,65 +10,8 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
11
10
|
children,
|
|
12
11
|
screenListeners,
|
|
13
12
|
screenOptions,
|
|
14
|
-
...restWithDeprecated
|
|
15
|
-
} = _ref;
|
|
16
|
-
const {
|
|
17
|
-
// @ts-expect-error: swipeEnabled is deprecated
|
|
18
|
-
swipeEnabled,
|
|
19
|
-
// @ts-expect-error: lazy is deprecated
|
|
20
|
-
lazy,
|
|
21
|
-
// @ts-expect-error: lazyPlaceholder is deprecated
|
|
22
|
-
lazyPlaceholder,
|
|
23
|
-
// @ts-expect-error: lazyPreloadDistance is deprecated
|
|
24
|
-
lazyPreloadDistance,
|
|
25
|
-
// @ts-expect-error: tabBarOptions is deprecated
|
|
26
|
-
tabBarOptions,
|
|
27
13
|
...rest
|
|
28
|
-
} =
|
|
29
|
-
let defaultScreenOptions = {};
|
|
30
|
-
if (tabBarOptions) {
|
|
31
|
-
Object.assign(defaultScreenOptions, {
|
|
32
|
-
tabBarActiveTintColor: tabBarOptions.activeTintColor,
|
|
33
|
-
tabBarInactiveTintColor: tabBarOptions.inactiveTintColor,
|
|
34
|
-
tabBarPressColor: tabBarOptions.pressColor,
|
|
35
|
-
tabBarPressOpacity: tabBarOptions.pressOpacity,
|
|
36
|
-
tabBarShowLabel: tabBarOptions.showLabel,
|
|
37
|
-
tabBarShowIcon: tabBarOptions.showIcon,
|
|
38
|
-
tabBarAllowFontScaling: tabBarOptions.allowFontScaling,
|
|
39
|
-
tabBarBounces: tabBarOptions.bounces,
|
|
40
|
-
tabBarScrollEnabled: tabBarOptions.scrollEnabled,
|
|
41
|
-
tabBarIconStyle: tabBarOptions.iconStyle,
|
|
42
|
-
tabBarLabelStyle: tabBarOptions.labelStyle,
|
|
43
|
-
tabBarItemStyle: tabBarOptions.tabStyle,
|
|
44
|
-
tabBarBadge: tabBarOptions.renderBadge,
|
|
45
|
-
tabBarIndicator: tabBarOptions.renderIndicator,
|
|
46
|
-
tabBarIndicatorStyle: tabBarOptions.indicatorStyle,
|
|
47
|
-
tabBarIndicatorContainerStyle: tabBarOptions.indicatorContainerStyle,
|
|
48
|
-
tabBarContentContainerStyle: tabBarOptions.contentContainerStyle,
|
|
49
|
-
tabBarStyle: tabBarOptions.style
|
|
50
|
-
});
|
|
51
|
-
Object.keys(defaultScreenOptions).forEach(key => {
|
|
52
|
-
if (defaultScreenOptions[key] === undefined) {
|
|
53
|
-
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
54
|
-
delete defaultScreenOptions[key];
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
warnOnce(tabBarOptions, `Material Top Tab Navigator: 'tabBarOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n${JSON.stringify(defaultScreenOptions, null, 2)}\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#options for more details.`);
|
|
58
|
-
}
|
|
59
|
-
const deprecatedProps = {
|
|
60
|
-
swipeEnabled,
|
|
61
|
-
lazy,
|
|
62
|
-
lazyPlaceholder,
|
|
63
|
-
lazyPreloadDistance
|
|
64
|
-
};
|
|
65
|
-
Object.entries(deprecatedProps).forEach(_ref2 => {
|
|
66
|
-
let [propName, propValue] = _ref2;
|
|
67
|
-
if (propValue !== undefined) {
|
|
68
|
-
// @ts-expect-error: Object.entries doesn't return strict types
|
|
69
|
-
defaultScreenOptions[propName] = propValue;
|
|
70
|
-
warnOnce(true, `Material Top Tab Navigator: '${propName}' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#${propName.toLowerCase()} for more details.`);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
14
|
+
} = _ref;
|
|
73
15
|
const {
|
|
74
16
|
state,
|
|
75
17
|
descriptors,
|
|
@@ -81,8 +23,7 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
81
23
|
backBehavior,
|
|
82
24
|
children,
|
|
83
25
|
screenListeners,
|
|
84
|
-
screenOptions
|
|
85
|
-
defaultScreenOptions
|
|
26
|
+
screenOptions
|
|
86
27
|
});
|
|
87
28
|
return /*#__PURE__*/React.createElement(NavigationContent, null, /*#__PURE__*/React.createElement(MaterialTopTabView, _extends({}, rest, {
|
|
88
29
|
state: state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createNavigatorFactory","TabRouter","useNavigationBuilder","React","
|
|
1
|
+
{"version":3,"names":["createNavigatorFactory","TabRouter","useNavigationBuilder","React","MaterialTopTabView","MaterialTopTabNavigator","id","initialRouteName","backBehavior","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent"],"sourceRoot":"../../src","sources":["createMaterialTopTabNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAKtBC,SAAS,EAETC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,OAAOC,kBAAkB,MAAM,6BAA6B;AAW5D,SAASC,uBAAuB,OAQtB;EAAA,IARuB;IAC/BC,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACb,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDd,oBAAoB,CAMlBD,SAAS,EAAE;IACXK,EAAE;IACFC,gBAAgB;IAChBC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC;EACF,CAAC,CAAC;EAEJ,oBACE,oBAAC,iBAAiB,qBAChB,oBAAC,kBAAkB,eACbC,IAAI;IACR,KAAK,EAAEC,KAAM;IACb,UAAU,EAAEE,UAAW;IACvB,WAAW,EAAED;EAAY,GACzB,CACgB;AAExB;AAEA,eAAed,sBAAsB,CAKnCK,uBAAuB,CAAC"}
|
|
@@ -30,6 +30,7 @@ export default function TabBarTop(_ref) {
|
|
|
30
30
|
backgroundColor: colors.primary
|
|
31
31
|
}, focusedOptions.tabBarIndicatorStyle],
|
|
32
32
|
gap: focusedOptions.tabBarGap,
|
|
33
|
+
android_ripple: focusedOptions.tabBarAndroidRipple,
|
|
33
34
|
indicatorContainerStyle: focusedOptions.tabBarIndicatorContainerStyle,
|
|
34
35
|
contentContainerStyle: focusedOptions.tabBarContentContainerStyle,
|
|
35
36
|
style: [{
|
|
@@ -45,7 +46,7 @@ export default function TabBarTop(_ref) {
|
|
|
45
46
|
let {
|
|
46
47
|
route
|
|
47
48
|
} = _ref3;
|
|
48
|
-
return descriptors[route.key].options.
|
|
49
|
+
return descriptors[route.key].options.tabBarButtonTestID;
|
|
49
50
|
},
|
|
50
51
|
onTabPress: _ref4 => {
|
|
51
52
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","Color","React","StyleSheet","Text","View","TabBar","TabBarIndicator","TabBarTop","state","navigation","descriptors","rest","colors","focusedOptions","routes","index","key","options","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","alpha","rgb","string","tabBarScrollEnabled","tabBarBounces","tabBarPressColor","tabBarPressOpacity","tabBarItemStyle","backgroundColor","primary","tabBarIndicatorStyle","tabBarGap","tabBarIndicatorContainerStyle","tabBarContentContainerStyle","card","tabBarStyle","route","tabBarAccessibilityLabel","
|
|
1
|
+
{"version":3,"names":["useTheme","Color","React","StyleSheet","Text","View","TabBar","TabBarIndicator","TabBarTop","state","navigation","descriptors","rest","colors","focusedOptions","routes","index","key","options","activeColor","tabBarActiveTintColor","text","inactiveColor","tabBarInactiveTintColor","alpha","rgb","string","tabBarScrollEnabled","tabBarBounces","tabBarPressColor","tabBarPressOpacity","tabBarItemStyle","backgroundColor","primary","tabBarIndicatorStyle","tabBarGap","tabBarAndroidRipple","tabBarIndicatorContainerStyle","tabBarContentContainerStyle","card","tabBarStyle","route","tabBarAccessibilityLabel","tabBarButtonTestID","preventDefault","event","emit","type","target","canPreventDefault","defaultPrevented","focused","color","tabBarShowIcon","tabBarIcon","undefined","icon","styles","tabBarIconStyle","tabBarShowLabel","label","tabBarLabel","title","name","tabBarLabelStyle","tabBarAllowFontScaling","children","tabBarBadge","navigationState","tabBarIndicator","create","height","width","textAlign","textTransform","fontSize","margin"],"sourceRoot":"../../src","sources":["MaterialTopTabBar.tsx"],"mappings":"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"}
|
|
@@ -25,13 +25,13 @@ export default function MaterialTopTabView(_ref) {
|
|
|
25
25
|
};
|
|
26
26
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
27
27
|
return /*#__PURE__*/React.createElement(TabView, _extends({}, rest, {
|
|
28
|
-
onIndexChange: index =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
28
|
+
onIndexChange: index => {
|
|
29
|
+
const route = state.routes[index];
|
|
30
|
+
navigation.dispatch({
|
|
31
|
+
...CommonActions.navigate(route),
|
|
32
|
+
target: state.key
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
35
|
renderScene: _ref2 => {
|
|
36
36
|
let {
|
|
37
37
|
route
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","useTheme","React","TabView","MaterialTopTabBar","MaterialTopTabView","tabBar","props","state","navigation","descriptors","sceneContainerStyle","rest","colors","renderTabBar","focusedOptions","routes","index","key","options","
|
|
1
|
+
{"version":3,"names":["CommonActions","useTheme","React","TabView","MaterialTopTabBar","MaterialTopTabView","tabBar","props","state","navigation","descriptors","sceneContainerStyle","rest","colors","renderTabBar","focusedOptions","routes","index","key","options","route","dispatch","navigate","target","render","lazyPlaceholder","lazy","lazyPreloadDistance","swipeEnabled","animationEnabled","emit","type","backgroundColor","background"],"sourceRoot":"../../src","sources":["MaterialTopTabView.tsx"],"mappings":";AAAA,SACEA,aAAa,EAIbC,QAAQ,QACH,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAA6BC,OAAO,QAAQ,uBAAuB;AAQnE,OAAOC,iBAAiB,MAAM,qBAAqB;AAQnD,eAAe,SAASC,kBAAkB,OAOhC;EAAA,IAPiC;IACzCC,MAAM,GAAIC,KAA6B,iBAAK,oBAAC,iBAAiB,EAAKA,KAAK,CAAI;IAC5EC,KAAK;IACLC,UAAU;IACVC,WAAW;IACXC,mBAAmB;IACnB,GAAGC;EACE,CAAC;EACN,MAAM;IAAEC;EAAO,CAAC,GAAGZ,QAAQ,EAAE;EAE7B,MAAMa,YAAY,GAAIP,KAAyB,IAAK;IAClD,OAAOD,MAAM,CAAC;MACZ,GAAGC,KAAK;MACRC,KAAK,EAAEA,KAAK;MACZC,UAAU,EAAEA,UAAU;MACtBC,WAAW,EAAEA;IACf,CAAC,CAAC;EACJ,CAAC;EAED,MAAMK,cAAc,GAAGL,WAAW,CAACF,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,OAAO;EAEzE,oBACE,oBAAC,OAAO,eACFP,IAAI;IACR,aAAa,EAAGK,KAAK,IAAK;MACxB,MAAMG,KAAK,GAAGZ,KAAK,CAACQ,MAAM,CAACC,KAAK,CAAC;MAEjCR,UAAU,CAACY,QAAQ,CAAC;QAClB,GAAGrB,aAAa,CAACsB,QAAQ,CAACF,KAAK,CAAC;QAChCG,MAAM,EAAEf,KAAK,CAACU;MAChB,CAAC,CAAC;IACJ,CAAE;IACF,WAAW,EAAE;MAAA,IAAC;QAAEE;MAAM,CAAC;MAAA,OAAKV,WAAW,CAACU,KAAK,CAACF,GAAG,CAAC,CAACM,MAAM,EAAE;IAAA,CAAC;IAC5D,eAAe,EAAEhB,KAAM;IACvB,YAAY,EAAEM,YAAa;IAC3B,qBAAqB,EAAE;MAAA;MAAA,IAAC;QAAEM;MAAM,CAAC;MAAA,OAC/B,oDAAAV,WAAW,CAACU,KAAK,CAACF,GAAG,CAAC,CAACC,OAAO,EAACM,eAAe,0DAA9C,kDAAkD,KAAI,IAAI;IAAA,CAC3D;IACD,IAAI,EAAE;MAAA,IAAC;QAAEL;MAAM,CAAC;MAAA,OAAKV,WAAW,CAACU,KAAK,CAACF,GAAG,CAAC,CAACC,OAAO,CAACO,IAAI,KAAK,IAAI;IAAA,CAAC;IAClE,mBAAmB,EAAEX,cAAc,CAACY,mBAAoB;IACxD,YAAY,EAAEZ,cAAc,CAACa,YAAa;IAC1C,gBAAgB,EAAEb,cAAc,CAACc,gBAAiB;IAClD,YAAY,EAAE,MAAMpB,UAAU,CAACqB,IAAI,CAAC;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAE;IAC5D,UAAU,EAAE,MAAMtB,UAAU,CAACqB,IAAI,CAAC;MAAEC,IAAI,EAAE;IAAW,CAAC,CAAE;IACxD,mBAAmB,EAAE,CACnB;MAAEC,eAAe,EAAEnB,MAAM,CAACoB;IAAW,CAAC,EACtCtB,mBAAmB;EACnB,GACF;AAEN"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DefaultNavigatorOptions, ParamListBase, TabNavigationState, TabRouterOptions } from '@react-navigation/native';
|
|
3
3
|
import type { MaterialTopTabNavigationConfig, MaterialTopTabNavigationEventMap, MaterialTopTabNavigationOptions } from '../types';
|
|
4
|
-
|
|
5
|
-
declare function MaterialTopTabNavigator({ id, initialRouteName, backBehavior, children, screenListeners, screenOptions, ...
|
|
6
|
-
declare const _default:
|
|
4
|
+
type Props = DefaultNavigatorOptions<ParamListBase, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap> & TabRouterOptions & MaterialTopTabNavigationConfig;
|
|
5
|
+
declare function MaterialTopTabNavigator({ id, initialRouteName, backBehavior, children, screenListeners, screenOptions, ...rest }: Props): JSX.Element;
|
|
6
|
+
declare const _default: {
|
|
7
|
+
<ParamList extends ParamListBase>(): import("@react-navigation/native").TypedNavigator<ParamList, TabNavigationState<ParamListBase>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap, typeof MaterialTopTabNavigator>;
|
|
8
|
+
<ParamList_1 extends ParamListBase, Config extends import("packages/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;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
7
12
|
export default _default;
|
|
8
13
|
//# 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,uBAAuB,EACvB,aAAa,EAEb,kBAAkB,EAElB,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"createMaterialTopTabNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigators/createMaterialTopTabNavigator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,uBAAuB,EACvB,aAAa,EAEb,kBAAkB,EAElB,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAGlC,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,eAAe,EACf,aAAa,EACb,GAAG,IAAI,EACR,EAAE,KAAK,eA2BP;;;;;;;AAED,wBAK2B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Descriptor, NavigationHelpers, NavigationProp, ParamListBase, Route, RouteProp, TabActionHelpers, TabNavigationState } from '@react-navigation/native';
|
|
2
2
|
import type React from 'react';
|
|
3
|
-
import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
3
|
+
import type { PressableAndroidRippleConfig, StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
4
4
|
import type { SceneRendererProps, TabBar, TabViewProps } from 'react-native-tab-view';
|
|
5
|
-
export
|
|
5
|
+
export type MaterialTopTabNavigationEventMap = {
|
|
6
6
|
/**
|
|
7
7
|
* Event which fires on tapping on the tab in the tab bar.
|
|
8
8
|
*/
|
|
@@ -29,13 +29,13 @@ export declare type MaterialTopTabNavigationEventMap = {
|
|
|
29
29
|
data: undefined;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export
|
|
32
|
+
export type MaterialTopTabNavigationHelpers = NavigationHelpers<ParamListBase, MaterialTopTabNavigationEventMap> & TabActionHelpers<ParamListBase>;
|
|
33
|
+
export type MaterialTopTabNavigationProp<ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList, NavigatorID extends string | undefined = undefined> = NavigationProp<ParamList, RouteName, NavigatorID, TabNavigationState<ParamList>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap> & TabActionHelpers<ParamList>;
|
|
34
|
+
export type MaterialTopTabScreenProps<ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList, NavigatorID extends string | undefined = undefined> = {
|
|
35
35
|
navigation: MaterialTopTabNavigationProp<ParamList, RouteName, NavigatorID>;
|
|
36
36
|
route: RouteProp<ParamList, RouteName>;
|
|
37
37
|
};
|
|
38
|
-
export
|
|
38
|
+
export type MaterialTopTabNavigationOptions = {
|
|
39
39
|
/**
|
|
40
40
|
* Title text for the screen.
|
|
41
41
|
*/
|
|
@@ -96,7 +96,7 @@ export declare type MaterialTopTabNavigationOptions = {
|
|
|
96
96
|
/**
|
|
97
97
|
* ID to locate this tab button in tests.
|
|
98
98
|
*/
|
|
99
|
-
|
|
99
|
+
tabBarButtonTestID?: string;
|
|
100
100
|
/**
|
|
101
101
|
* Color for the icon and label in the active tab.
|
|
102
102
|
*/
|
|
@@ -147,6 +147,12 @@ export declare type MaterialTopTabNavigationOptions = {
|
|
|
147
147
|
* Gap between tabs
|
|
148
148
|
*/
|
|
149
149
|
tabBarGap?: number;
|
|
150
|
+
/**
|
|
151
|
+
* Allows to customize the android ripple effect (Android >= 5.0 only).
|
|
152
|
+
*
|
|
153
|
+
* Default: `{ borderless: true }`
|
|
154
|
+
*/
|
|
155
|
+
tabBarAndroidRipple?: PressableAndroidRippleConfig;
|
|
150
156
|
/**
|
|
151
157
|
* Whether to enable swipe gestures when this screen is focused.
|
|
152
158
|
* Swipe gestures are enabled by default. Passing `false` will disable swipe gestures,
|
|
@@ -185,15 +191,15 @@ export declare type MaterialTopTabNavigationOptions = {
|
|
|
185
191
|
*/
|
|
186
192
|
lazyPlaceholder?: () => React.ReactNode;
|
|
187
193
|
};
|
|
188
|
-
export
|
|
189
|
-
export
|
|
190
|
-
export
|
|
194
|
+
export type MaterialTopTabDescriptor = Descriptor<MaterialTopTabNavigationOptions, MaterialTopTabNavigationProp<ParamListBase>, RouteProp<ParamListBase>>;
|
|
195
|
+
export type MaterialTopTabDescriptorMap = Record<string, MaterialTopTabDescriptor>;
|
|
196
|
+
export type MaterialTopTabNavigationConfig = Omit<TabViewProps<Route<string>>, 'navigationState' | 'onIndexChange' | 'onSwipeStart' | 'onSwipeEnd' | 'renderScene' | 'renderTabBar' | 'renderLazyPlaceholder' | 'swipeEnabled' | 'animationEnabled' | 'lazy' | 'lazyPreloadDistance' | 'lazyPlaceholder'> & {
|
|
191
197
|
/**
|
|
192
198
|
* Function that returns a React element to display as the tab bar.
|
|
193
199
|
*/
|
|
194
200
|
tabBar?: (props: MaterialTopTabBarProps) => React.ReactNode;
|
|
195
201
|
};
|
|
196
|
-
export
|
|
202
|
+
export type MaterialTopTabBarProps = SceneRendererProps & {
|
|
197
203
|
state: TabNavigationState<ParamListBase>;
|
|
198
204
|
navigation: NavigationHelpers<ParamListBase, MaterialTopTabNavigationEventMap>;
|
|
199
205
|
descriptors: MaterialTopTabDescriptorMap;
|
|
@@ -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,
|
|
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":";AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,eAyHxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ParamListBase, TabNavigationState } from '@react-navigation/native';
|
|
3
3
|
import type { MaterialTopTabDescriptorMap, MaterialTopTabNavigationConfig, MaterialTopTabNavigationHelpers } from '../types';
|
|
4
|
-
|
|
4
|
+
type Props = MaterialTopTabNavigationConfig & {
|
|
5
5
|
state: TabNavigationState<ParamListBase>;
|
|
6
6
|
navigation: MaterialTopTabNavigationHelpers;
|
|
7
7
|
descriptors: MaterialTopTabDescriptorMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTopTabView.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,aAAa,EAEb,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAEV,2BAA2B,EAC3B,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,UAAU,CAAC;AAGlB,
|
|
1
|
+
{"version":3,"file":"MaterialTopTabView.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,aAAa,EAEb,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAEV,2BAA2B,EAC3B,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,UAAU,CAAC;AAGlB,KAAK,KAAK,GAAG,8BAA8B,GAAG;IAC5C,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,+BAA+B,CAAC;IAC5C,WAAW,EAAE,2BAA2B,CAAC;CAC1C,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,MAA4E,EAC5E,KAAK,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,GAAG,IAAI,EACR,EAAE,KAAK,eA2CP"}
|
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": "
|
|
4
|
+
"version": "7.0.0-alpha.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -42,27 +42,25 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"color": "^4.2.3",
|
|
45
|
-
"
|
|
45
|
+
"react-native-tab-view": "^3.5.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@react-navigation/native": "^
|
|
48
|
+
"@react-navigation/native": "^7.0.0-alpha.0",
|
|
49
49
|
"@testing-library/react-native": "^11.5.0",
|
|
50
|
-
"@types/react": "~18.0.
|
|
51
|
-
"@types/react-native": "~0.
|
|
52
|
-
"del-cli": "^
|
|
53
|
-
"react": "18.
|
|
54
|
-
"react-native": "0.
|
|
50
|
+
"@types/react": "~18.0.26",
|
|
51
|
+
"@types/react-native": "~0.70.8",
|
|
52
|
+
"del-cli": "^5.0.0",
|
|
53
|
+
"react": "18.1.0",
|
|
54
|
+
"react-native": "0.70.5",
|
|
55
55
|
"react-native-builder-bob": "^0.20.3",
|
|
56
|
-
"react-native-pager-view": "
|
|
57
|
-
"
|
|
58
|
-
"typescript": "^4.7.4"
|
|
56
|
+
"react-native-pager-view": "6.0.1",
|
|
57
|
+
"typescript": "^4.9.4"
|
|
59
58
|
},
|
|
60
59
|
"peerDependencies": {
|
|
61
60
|
"@react-navigation/native": "^6.0.0",
|
|
62
61
|
"react": "*",
|
|
63
62
|
"react-native": "*",
|
|
64
|
-
"react-native-pager-view": ">= 4.0.0"
|
|
65
|
-
"react-native-tab-view": ">= 3.0.0"
|
|
63
|
+
"react-native-pager-view": ">= 4.0.0"
|
|
66
64
|
},
|
|
67
65
|
"react-native-builder-bob": {
|
|
68
66
|
"source": "src",
|
|
@@ -78,5 +76,5 @@
|
|
|
78
76
|
]
|
|
79
77
|
]
|
|
80
78
|
},
|
|
81
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "ad722b882e0c40b1d1bc025d70112ddb126f265e"
|
|
82
80
|
}
|
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
useNavigationBuilder,
|
|
10
10
|
} from '@react-navigation/native';
|
|
11
11
|
import * as React from 'react';
|
|
12
|
-
import warnOnce from 'warn-once';
|
|
13
12
|
|
|
14
13
|
import type {
|
|
15
14
|
MaterialTopTabNavigationConfig,
|
|
@@ -34,86 +33,8 @@ function MaterialTopTabNavigator({
|
|
|
34
33
|
children,
|
|
35
34
|
screenListeners,
|
|
36
35
|
screenOptions,
|
|
37
|
-
...
|
|
36
|
+
...rest
|
|
38
37
|
}: Props) {
|
|
39
|
-
const {
|
|
40
|
-
// @ts-expect-error: swipeEnabled is deprecated
|
|
41
|
-
swipeEnabled,
|
|
42
|
-
// @ts-expect-error: lazy is deprecated
|
|
43
|
-
lazy,
|
|
44
|
-
// @ts-expect-error: lazyPlaceholder is deprecated
|
|
45
|
-
lazyPlaceholder,
|
|
46
|
-
// @ts-expect-error: lazyPreloadDistance is deprecated
|
|
47
|
-
lazyPreloadDistance,
|
|
48
|
-
// @ts-expect-error: tabBarOptions is deprecated
|
|
49
|
-
tabBarOptions,
|
|
50
|
-
...rest
|
|
51
|
-
} = restWithDeprecated;
|
|
52
|
-
|
|
53
|
-
let defaultScreenOptions: MaterialTopTabNavigationOptions = {};
|
|
54
|
-
|
|
55
|
-
if (tabBarOptions) {
|
|
56
|
-
Object.assign(defaultScreenOptions, {
|
|
57
|
-
tabBarActiveTintColor: tabBarOptions.activeTintColor,
|
|
58
|
-
tabBarInactiveTintColor: tabBarOptions.inactiveTintColor,
|
|
59
|
-
tabBarPressColor: tabBarOptions.pressColor,
|
|
60
|
-
tabBarPressOpacity: tabBarOptions.pressOpacity,
|
|
61
|
-
tabBarShowLabel: tabBarOptions.showLabel,
|
|
62
|
-
tabBarShowIcon: tabBarOptions.showIcon,
|
|
63
|
-
tabBarAllowFontScaling: tabBarOptions.allowFontScaling,
|
|
64
|
-
tabBarBounces: tabBarOptions.bounces,
|
|
65
|
-
tabBarScrollEnabled: tabBarOptions.scrollEnabled,
|
|
66
|
-
tabBarIconStyle: tabBarOptions.iconStyle,
|
|
67
|
-
tabBarLabelStyle: tabBarOptions.labelStyle,
|
|
68
|
-
tabBarItemStyle: tabBarOptions.tabStyle,
|
|
69
|
-
tabBarBadge: tabBarOptions.renderBadge,
|
|
70
|
-
tabBarIndicator: tabBarOptions.renderIndicator,
|
|
71
|
-
tabBarIndicatorStyle: tabBarOptions.indicatorStyle,
|
|
72
|
-
tabBarIndicatorContainerStyle: tabBarOptions.indicatorContainerStyle,
|
|
73
|
-
tabBarContentContainerStyle: tabBarOptions.contentContainerStyle,
|
|
74
|
-
tabBarStyle: tabBarOptions.style,
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
(
|
|
78
|
-
Object.keys(
|
|
79
|
-
defaultScreenOptions
|
|
80
|
-
) as (keyof MaterialTopTabNavigationOptions)[]
|
|
81
|
-
).forEach((key) => {
|
|
82
|
-
if (defaultScreenOptions[key] === undefined) {
|
|
83
|
-
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
84
|
-
delete defaultScreenOptions[key];
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
warnOnce(
|
|
89
|
-
tabBarOptions,
|
|
90
|
-
`Material Top Tab Navigator: 'tabBarOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n${JSON.stringify(
|
|
91
|
-
defaultScreenOptions,
|
|
92
|
-
null,
|
|
93
|
-
2
|
|
94
|
-
)}\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#options for more details.`
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
const deprecatedProps = {
|
|
99
|
-
swipeEnabled,
|
|
100
|
-
lazy,
|
|
101
|
-
lazyPlaceholder,
|
|
102
|
-
lazyPreloadDistance,
|
|
103
|
-
} as const;
|
|
104
|
-
|
|
105
|
-
Object.entries(deprecatedProps).forEach(([propName, propValue]) => {
|
|
106
|
-
if (propValue !== undefined) {
|
|
107
|
-
// @ts-expect-error: Object.entries doesn't return strict types
|
|
108
|
-
defaultScreenOptions[propName] = propValue;
|
|
109
|
-
|
|
110
|
-
warnOnce(
|
|
111
|
-
true,
|
|
112
|
-
`Material Top Tab Navigator: '${propName}' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#${propName.toLowerCase()} for more details.`
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
|
|
117
38
|
const { state, descriptors, navigation, NavigationContent } =
|
|
118
39
|
useNavigationBuilder<
|
|
119
40
|
TabNavigationState<ParamListBase>,
|
|
@@ -128,7 +49,6 @@ function MaterialTopTabNavigator({
|
|
|
128
49
|
children,
|
|
129
50
|
screenListeners,
|
|
130
51
|
screenOptions,
|
|
131
|
-
defaultScreenOptions,
|
|
132
52
|
});
|
|
133
53
|
|
|
134
54
|
return (
|
package/src/types.tsx
CHANGED
|
@@ -9,7 +9,12 @@ import type {
|
|
|
9
9
|
TabNavigationState,
|
|
10
10
|
} from '@react-navigation/native';
|
|
11
11
|
import type React from 'react';
|
|
12
|
-
import type {
|
|
12
|
+
import type {
|
|
13
|
+
PressableAndroidRippleConfig,
|
|
14
|
+
StyleProp,
|
|
15
|
+
TextStyle,
|
|
16
|
+
ViewStyle,
|
|
17
|
+
} from 'react-native';
|
|
13
18
|
import type {
|
|
14
19
|
SceneRendererProps,
|
|
15
20
|
TabBar,
|
|
@@ -140,7 +145,7 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
140
145
|
/**
|
|
141
146
|
* ID to locate this tab button in tests.
|
|
142
147
|
*/
|
|
143
|
-
|
|
148
|
+
tabBarButtonTestID?: string;
|
|
144
149
|
|
|
145
150
|
/**
|
|
146
151
|
* Color for the icon and label in the active tab.
|
|
@@ -204,6 +209,13 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
204
209
|
*/
|
|
205
210
|
tabBarGap?: number;
|
|
206
211
|
|
|
212
|
+
/**
|
|
213
|
+
* Allows to customize the android ripple effect (Android >= 5.0 only).
|
|
214
|
+
*
|
|
215
|
+
* Default: `{ borderless: true }`
|
|
216
|
+
*/
|
|
217
|
+
tabBarAndroidRipple?: PressableAndroidRippleConfig;
|
|
218
|
+
|
|
207
219
|
/**
|
|
208
220
|
* Whether to enable swipe gestures when this screen is focused.
|
|
209
221
|
* Swipe gestures are enabled by default. Passing `false` will disable swipe gestures,
|
|
@@ -42,13 +42,16 @@ export default function TabBarTop({
|
|
|
42
42
|
focusedOptions.tabBarIndicatorStyle,
|
|
43
43
|
]}
|
|
44
44
|
gap={focusedOptions.tabBarGap}
|
|
45
|
+
android_ripple={focusedOptions.tabBarAndroidRipple}
|
|
45
46
|
indicatorContainerStyle={focusedOptions.tabBarIndicatorContainerStyle}
|
|
46
47
|
contentContainerStyle={focusedOptions.tabBarContentContainerStyle}
|
|
47
48
|
style={[{ backgroundColor: colors.card }, focusedOptions.tabBarStyle]}
|
|
48
49
|
getAccessibilityLabel={({ route }) =>
|
|
49
50
|
descriptors[route.key].options.tabBarAccessibilityLabel
|
|
50
51
|
}
|
|
51
|
-
getTestID={({ route }) =>
|
|
52
|
+
getTestID={({ route }) =>
|
|
53
|
+
descriptors[route.key].options.tabBarButtonTestID
|
|
54
|
+
}
|
|
52
55
|
onTabPress={({ route, preventDefault }) => {
|
|
53
56
|
const event = navigation.emit({
|
|
54
57
|
type: 'tabPress',
|
|
@@ -46,15 +46,14 @@ export default function MaterialTopTabView({
|
|
|
46
46
|
return (
|
|
47
47
|
<TabView<Route<string>>
|
|
48
48
|
{...rest}
|
|
49
|
-
onIndexChange={(index) =>
|
|
49
|
+
onIndexChange={(index) => {
|
|
50
|
+
const route = state.routes[index];
|
|
51
|
+
|
|
50
52
|
navigation.dispatch({
|
|
51
|
-
...CommonActions.navigate(
|
|
52
|
-
name: state.routes[index].name,
|
|
53
|
-
merge: true,
|
|
54
|
-
}),
|
|
53
|
+
...CommonActions.navigate(route),
|
|
55
54
|
target: state.key,
|
|
56
|
-
})
|
|
57
|
-
}
|
|
55
|
+
});
|
|
56
|
+
}}
|
|
58
57
|
renderScene={({ route }) => descriptors[route.key].render()}
|
|
59
58
|
navigationState={state}
|
|
60
59
|
renderTabBar={renderTabBar}
|