@react-navigation/material-top-tabs 6.6.2 → 7.0.0-alpha.1
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/index.js +6 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createMaterialTopTabNavigator.js +7 -67
- package/lib/commonjs/navigators/createMaterialTopTabNavigator.js.map +1 -1
- package/lib/commonjs/views/MaterialTopTabBar.js +7 -6
- package/lib/commonjs/views/MaterialTopTabBar.js.map +1 -1
- package/lib/commonjs/views/MaterialTopTabView.js +10 -11
- package/lib/commonjs/views/MaterialTopTabView.js.map +1 -1
- package/lib/module/index.js +3 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createMaterialTopTabNavigator.js +4 -63
- package/lib/module/navigators/createMaterialTopTabNavigator.js.map +1 -1
- package/lib/module/views/MaterialTopTabBar.js +6 -5
- package/lib/module/views/MaterialTopTabBar.js.map +1 -1
- package/lib/module/views/MaterialTopTabView.js +9 -9
- package/lib/module/views/MaterialTopTabView.js.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createMaterialTopTabNavigator.d.ts +9 -4
- package/lib/typescript/src/navigators/createMaterialTopTabNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +10 -10
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/MaterialTopTabBar.d.ts +1 -1
- package/lib/typescript/src/views/MaterialTopTabBar.d.ts.map +1 -1
- package/lib/typescript/src/views/MaterialTopTabView.d.ts +2 -2
- package/lib/typescript/src/views/MaterialTopTabView.d.ts.map +1 -1
- package/package.json +12 -14
- package/src/index.tsx +3 -3
- package/src/navigators/createMaterialTopTabNavigator.tsx +3 -83
- package/src/types.tsx +1 -1
- package/src/views/MaterialTopTabBar.tsx +11 -4
- package/src/views/MaterialTopTabView.tsx +8 -9
package/lib/commonjs/index.js
CHANGED
|
@@ -6,23 +6,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "MaterialTopTabBar", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return _MaterialTopTabBar.
|
|
9
|
+
return _MaterialTopTabBar.MaterialTopTabBar;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "MaterialTopTabView", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return _MaterialTopTabView.
|
|
15
|
+
return _MaterialTopTabView.MaterialTopTabView;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "createMaterialTopTabNavigator", {
|
|
19
19
|
enumerable: true,
|
|
20
20
|
get: function () {
|
|
21
|
-
return _createMaterialTopTabNavigator.
|
|
21
|
+
return _createMaterialTopTabNavigator.createMaterialTopTabNavigator;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
var _createMaterialTopTabNavigator =
|
|
25
|
-
var _MaterialTopTabBar =
|
|
26
|
-
var _MaterialTopTabView =
|
|
27
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
+
var _createMaterialTopTabNavigator = require("./navigators/createMaterialTopTabNavigator");
|
|
25
|
+
var _MaterialTopTabBar = require("./views/MaterialTopTabBar");
|
|
26
|
+
var _MaterialTopTabView = require("./views/MaterialTopTabView");
|
|
28
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AAKA;AACA
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AAKA;AACA"}
|
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.createMaterialTopTabNavigator = void 0;
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
10
|
-
var _MaterialTopTabView = _interopRequireDefault(require("../views/MaterialTopTabView"));
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var _MaterialTopTabView = require("../views/MaterialTopTabView");
|
|
12
10
|
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); }
|
|
13
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
12
|
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); }
|
|
@@ -20,65 +18,8 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
20
18
|
children,
|
|
21
19
|
screenListeners,
|
|
22
20
|
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
21
|
...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
|
-
});
|
|
22
|
+
} = _ref;
|
|
82
23
|
const {
|
|
83
24
|
state,
|
|
84
25
|
descriptors,
|
|
@@ -90,15 +31,14 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
90
31
|
backBehavior,
|
|
91
32
|
children,
|
|
92
33
|
screenListeners,
|
|
93
|
-
screenOptions
|
|
94
|
-
defaultScreenOptions
|
|
34
|
+
screenOptions
|
|
95
35
|
});
|
|
96
|
-
return /*#__PURE__*/React.createElement(NavigationContent, null, /*#__PURE__*/React.createElement(_MaterialTopTabView.
|
|
36
|
+
return /*#__PURE__*/React.createElement(NavigationContent, null, /*#__PURE__*/React.createElement(_MaterialTopTabView.MaterialTopTabView, _extends({}, rest, {
|
|
97
37
|
state: state,
|
|
98
38
|
navigation: navigation,
|
|
99
39
|
descriptors: descriptors
|
|
100
40
|
})));
|
|
101
41
|
}
|
|
102
|
-
|
|
103
|
-
exports.
|
|
42
|
+
const createMaterialTopTabNavigator = (0, _native.createNavigatorFactory)(MaterialTopTabNavigator);
|
|
43
|
+
exports.createMaterialTopTabNavigator = createMaterialTopTabNavigator;
|
|
104
44
|
//# sourceMappingURL=createMaterialTopTabNavigator.js.map
|
|
@@ -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","createMaterialTopTabNavigator","createNavigatorFactory"],"sourceRoot":"../../../src","sources":["navigators/createMaterialTopTabNavigator.tsx"],"mappings":";;;;;;AAAA;AAUA;AAOA;AAAiE;AAAA;AAAA;AAWjE,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,sCAAkB,eACbC,IAAI;IACR,KAAK,EAAEC,KAAM;IACb,UAAU,EAAEE,UAAW;IACvB,WAAW,EAAED;EAAY,GACzB,CACgB;AAExB;AAEO,MAAMK,6BAA6B,GAAG,IAAAC,8BAAsB,EAKjEf,uBAAuB,CAAC;AAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.MaterialTopTabBar = MaterialTopTabBar;
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var _color = _interopRequireDefault(require("color"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -13,7 +13,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
13
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
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); }
|
|
16
|
-
function
|
|
16
|
+
function MaterialTopTabBar(_ref) {
|
|
17
17
|
let {
|
|
18
18
|
state,
|
|
19
19
|
navigation,
|
|
@@ -21,7 +21,8 @@ function TabBarTop(_ref) {
|
|
|
21
21
|
...rest
|
|
22
22
|
} = _ref;
|
|
23
23
|
const {
|
|
24
|
-
colors
|
|
24
|
+
colors,
|
|
25
|
+
fonts
|
|
25
26
|
} = (0, _native.useTheme)();
|
|
26
27
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
27
28
|
const activeColor = focusedOptions.tabBarActiveTintColor ?? colors.text;
|
|
@@ -55,7 +56,7 @@ function TabBarTop(_ref) {
|
|
|
55
56
|
let {
|
|
56
57
|
route
|
|
57
58
|
} = _ref3;
|
|
58
|
-
return descriptors[route.key].options.
|
|
59
|
+
return descriptors[route.key].options.tabBarButtonTestID;
|
|
59
60
|
},
|
|
60
61
|
onTabPress: _ref4 => {
|
|
61
62
|
let {
|
|
@@ -118,9 +119,9 @@ function TabBarTop(_ref) {
|
|
|
118
119
|
const label = options.tabBarLabel !== undefined ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
|
|
119
120
|
if (typeof label === 'string') {
|
|
120
121
|
return /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
121
|
-
style: [
|
|
122
|
+
style: [{
|
|
122
123
|
color
|
|
123
|
-
}, options.tabBarLabelStyle],
|
|
124
|
+
}, fonts.regular, styles.label, options.tabBarLabelStyle],
|
|
124
125
|
allowFontScaling: options.tabBarAllowFontScaling
|
|
125
126
|
}, label);
|
|
126
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["MaterialTopTabBar","state","navigation","descriptors","rest","colors","fonts","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","regular","tabBarLabelStyle","tabBarAllowFontScaling","children","tabBarBadge","navigationState","tabBarIndicator","StyleSheet","create","height","width","textAlign","textTransform","fontSize","margin"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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"}
|
|
@@ -3,18 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.MaterialTopTabView = MaterialTopTabView;
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _reactNativeTabView = require("react-native-tab-view");
|
|
10
|
-
var _MaterialTopTabBar =
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
var _MaterialTopTabBar = require("./MaterialTopTabBar");
|
|
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); }
|
|
13
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
13
|
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); }
|
|
15
14
|
function MaterialTopTabView(_ref) {
|
|
16
15
|
let {
|
|
17
|
-
tabBar = props => /*#__PURE__*/React.createElement(_MaterialTopTabBar.
|
|
16
|
+
tabBar = props => /*#__PURE__*/React.createElement(_MaterialTopTabBar.MaterialTopTabBar, props),
|
|
18
17
|
state,
|
|
19
18
|
navigation,
|
|
20
19
|
descriptors,
|
|
@@ -34,13 +33,13 @@ function MaterialTopTabView(_ref) {
|
|
|
34
33
|
};
|
|
35
34
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
36
35
|
return /*#__PURE__*/React.createElement(_reactNativeTabView.TabView, _extends({}, rest, {
|
|
37
|
-
onIndexChange: index =>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
36
|
+
onIndexChange: index => {
|
|
37
|
+
const route = state.routes[index];
|
|
38
|
+
navigation.dispatch({
|
|
39
|
+
..._native.CommonActions.navigate(route),
|
|
40
|
+
target: state.key
|
|
41
|
+
});
|
|
42
|
+
},
|
|
44
43
|
renderScene: _ref2 => {
|
|
45
44
|
let {
|
|
46
45
|
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":["views/MaterialTopTabView.tsx"],"mappings":";;;;;;AAAA;AAOA;AACA;AAQA;AAAwD;AAAA;AAAA;AAQjD,SAASA,kBAAkB,OAOxB;EAAA,IAPyB;IACjCC,MAAM,GAAIC,KAA6B,iBAAK,oBAAC,oCAAiB,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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Navigators
|
|
3
3
|
*/
|
|
4
|
-
export {
|
|
4
|
+
export { createMaterialTopTabNavigator } from './navigators/createMaterialTopTabNavigator';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Views
|
|
8
8
|
*/
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
9
|
+
export { MaterialTopTabBar } from './views/MaterialTopTabBar';
|
|
10
|
+
export { MaterialTopTabView } from './views/MaterialTopTabView';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Types
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createMaterialTopTabNavigator","MaterialTopTabBar","MaterialTopTabView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,6BAA6B,QAAQ,4CAA4C;;AAE1F;AACA;AACA;AACA,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,kBAAkB,QAAQ,4BAA4B;;AAE/D;AACA;AACA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
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
|
|
5
|
-
import MaterialTopTabView from '../views/MaterialTopTabView';
|
|
4
|
+
import { MaterialTopTabView } from '../views/MaterialTopTabView';
|
|
6
5
|
function MaterialTopTabNavigator(_ref) {
|
|
7
6
|
let {
|
|
8
7
|
id,
|
|
@@ -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,
|
|
@@ -90,5 +31,5 @@ function MaterialTopTabNavigator(_ref) {
|
|
|
90
31
|
descriptors: descriptors
|
|
91
32
|
})));
|
|
92
33
|
}
|
|
93
|
-
export
|
|
34
|
+
export const createMaterialTopTabNavigator = createNavigatorFactory(MaterialTopTabNavigator);
|
|
94
35
|
//# sourceMappingURL=createMaterialTopTabNavigator.js.map
|
|
@@ -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","createMaterialTopTabNavigator"],"sourceRoot":"../../../src","sources":["navigators/createMaterialTopTabNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAKtBC,SAAS,EAETC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,SAASC,kBAAkB,QAAQ,6BAA6B;AAWhE,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,OAAO,MAAMG,6BAA6B,GAAGjB,sBAAsB,CAKjEK,uBAAuB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import Color from 'color';
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { StyleSheet, Text, View } from 'react-native';
|
|
6
6
|
import { TabBar, TabBarIndicator } from 'react-native-tab-view';
|
|
7
|
-
export
|
|
7
|
+
export function MaterialTopTabBar(_ref) {
|
|
8
8
|
let {
|
|
9
9
|
state,
|
|
10
10
|
navigation,
|
|
@@ -12,7 +12,8 @@ export default function TabBarTop(_ref) {
|
|
|
12
12
|
...rest
|
|
13
13
|
} = _ref;
|
|
14
14
|
const {
|
|
15
|
-
colors
|
|
15
|
+
colors,
|
|
16
|
+
fonts
|
|
16
17
|
} = useTheme();
|
|
17
18
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
18
19
|
const activeColor = focusedOptions.tabBarActiveTintColor ?? colors.text;
|
|
@@ -46,7 +47,7 @@ export default function TabBarTop(_ref) {
|
|
|
46
47
|
let {
|
|
47
48
|
route
|
|
48
49
|
} = _ref3;
|
|
49
|
-
return descriptors[route.key].options.
|
|
50
|
+
return descriptors[route.key].options.tabBarButtonTestID;
|
|
50
51
|
},
|
|
51
52
|
onTabPress: _ref4 => {
|
|
52
53
|
let {
|
|
@@ -109,9 +110,9 @@ export default function TabBarTop(_ref) {
|
|
|
109
110
|
const label = options.tabBarLabel !== undefined ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
|
|
110
111
|
if (typeof label === 'string') {
|
|
111
112
|
return /*#__PURE__*/React.createElement(Text, {
|
|
112
|
-
style: [
|
|
113
|
+
style: [{
|
|
113
114
|
color
|
|
114
|
-
}, options.tabBarLabelStyle],
|
|
115
|
+
}, fonts.regular, styles.label, options.tabBarLabelStyle],
|
|
115
116
|
allowFontScaling: options.tabBarAllowFontScaling
|
|
116
117
|
}, label);
|
|
117
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","Color","React","StyleSheet","Text","View","TabBar","TabBarIndicator","
|
|
1
|
+
{"version":3,"names":["useTheme","Color","React","StyleSheet","Text","View","TabBar","TabBarIndicator","MaterialTopTabBar","state","navigation","descriptors","rest","colors","fonts","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","regular","tabBarLabelStyle","tabBarAllowFontScaling","children","tabBarBadge","navigationState","tabBarIndicator","create","height","width","textAlign","textTransform","fontSize","margin"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":";AAAA,SAIEA,QAAQ,QACH,0BAA0B;AACjC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACrD,SAASC,MAAM,EAAEC,eAAe,QAAQ,uBAAuB;AAI/D,OAAO,SAASC,iBAAiB,OAKN;EAAA,IALO;IAChCC,KAAK;IACLC,UAAU;IACVC,WAAW;IACX,GAAGC;EACmB,CAAC;EACvB,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGd,QAAQ,EAAE;EAEpC,MAAMe,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,IACtCvB,KAAK,CAACmB,WAAW,CAAC,CAACK,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,CAACC,MAAM,EAAE;EAE9C,oBACE,oBAAC,MAAM,eACDf,IAAI;IACR,eAAe,EAAEH,KAAM;IACvB,aAAa,EAAEM,cAAc,CAACa,mBAAoB;IAClD,OAAO,EAAEb,cAAc,CAACc,aAAc;IACtC,WAAW,EAAET,WAAY;IACzB,aAAa,EAAEG,aAAc;IAC7B,UAAU,EAAER,cAAc,CAACe,gBAAiB;IAC5C,YAAY,EAAEf,cAAc,CAACgB,kBAAmB;IAChD,QAAQ,EAAEhB,cAAc,CAACiB,eAAgB;IACzC,cAAc,EAAE,CACd;MAAEC,eAAe,EAAEpB,MAAM,CAACqB;IAAQ,CAAC,EACnCnB,cAAc,CAACoB,oBAAoB,CACnC;IACF,GAAG,EAAEpB,cAAc,CAACqB,SAAU;IAC9B,cAAc,EAAErB,cAAc,CAACsB,mBAAoB;IACnD,uBAAuB,EAAEtB,cAAc,CAACuB,6BAA8B;IACtE,qBAAqB,EAAEvB,cAAc,CAACwB,2BAA4B;IAClE,KAAK,EAAE,CAAC;MAAEN,eAAe,EAAEpB,MAAM,CAAC2B;IAAK,CAAC,EAAEzB,cAAc,CAAC0B,WAAW,CAAE;IACtE,qBAAqB,EAAE;MAAA,IAAC;QAAEC;MAAM,CAAC;MAAA,OAC/B/B,WAAW,CAAC+B,KAAK,CAACxB,GAAG,CAAC,CAACC,OAAO,CAACwB,wBAAwB;IAAA,CACxD;IACD,SAAS,EAAE;MAAA,IAAC;QAAED;MAAM,CAAC;MAAA,OACnB/B,WAAW,CAAC+B,KAAK,CAACxB,GAAG,CAAC,CAACC,OAAO,CAACyB,kBAAkB;IAAA,CAClD;IACD,UAAU,EAAE,SAA+B;MAAA,IAA9B;QAAEF,KAAK;QAAEG;MAAe,CAAC;MACpC,MAAMC,KAAK,GAAGpC,UAAU,CAACqC,IAAI,CAAC;QAC5BC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAEP,KAAK,CAACxB,GAAG;QACjBgC,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,OACxBhC,UAAU,CAACqC,IAAI,CAAC;QACdC,IAAI,EAAE,cAAc;QACpBC,MAAM,EAAEP,KAAK,CAACxB;MAChB,CAAC,CAAC;IAAA,CACH;IACD,UAAU,EAAE,SAA+B;MAAA,IAA9B;QAAEwB,KAAK;QAAEU,OAAO;QAAEC;MAAM,CAAC;MACpC,MAAM;QAAElC;MAAQ,CAAC,GAAGR,WAAW,CAAC+B,KAAK,CAACxB,GAAG,CAAC;MAE1C,IAAIC,OAAO,CAACmC,cAAc,KAAK,KAAK,EAAE;QACpC,OAAO,IAAI;MACb;MAEA,IAAInC,OAAO,CAACoC,UAAU,KAAKC,SAAS,EAAE;QACpC,MAAMC,IAAI,GAAGtC,OAAO,CAACoC,UAAU,CAAC;UAAEH,OAAO;UAAEC;QAAM,CAAC,CAAC;QAEnD,oBACE,oBAAC,IAAI;UAAC,KAAK,EAAE,CAACK,MAAM,CAACD,IAAI,EAAEtC,OAAO,CAACwC,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;QAAElC;MAAQ,CAAC,GAAGR,WAAW,CAAC+B,KAAK,CAACxB,GAAG,CAAC;MAE1C,IAAIC,OAAO,CAACyC,eAAe,KAAK,KAAK,EAAE;QACrC,OAAO,IAAI;MACb;MAEA,MAAMC,KAAK,GACT1C,OAAO,CAAC2C,WAAW,KAAKN,SAAS,GAC7BrC,OAAO,CAAC2C,WAAW,GACnB3C,OAAO,CAAC4C,KAAK,KAAKP,SAAS,GAC3BrC,OAAO,CAAC4C,KAAK,GACZrB,KAAK,CAAmBsB,IAAI;MAEnC,IAAI,OAAOH,KAAK,KAAK,QAAQ,EAAE;QAC7B,oBACE,oBAAC,IAAI;UACH,KAAK,EAAE,CACL;YAAER;UAAM,CAAC,EACTvC,KAAK,CAACmD,OAAO,EACbP,MAAM,CAACG,KAAK,EACZ1C,OAAO,CAAC+C,gBAAgB,CACxB;UACF,gBAAgB,EAAE/C,OAAO,CAACgD;QAAuB,GAEhDN,KAAK,CACD;MAEX;MAEA,MAAMO,QAAQ,GACZ,OAAOjD,OAAO,CAAC2C,WAAW,KAAK,QAAQ,GACnC3C,OAAO,CAAC2C,WAAW,GACnB3C,OAAO,CAAC4C,KAAK,KAAKP,SAAS,GAC3BrC,OAAO,CAAC4C,KAAK,GACbrB,KAAK,CAACsB,IAAI;MAEhB,OAAOH,KAAK,CAAC;QAAET,OAAO;QAAEC,KAAK;QAAEe;MAAS,CAAC,CAAC;IAC5C,CAAE;IACF,WAAW,EAAE,SAAe;MAAA,IAAd;QAAE1B;MAAM,CAAC;MACrB,MAAM;QAAE2B;MAAY,CAAC,GAAG1D,WAAW,CAAC+B,KAAK,CAACxB,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,eAAe;QAAC,eAAe,EAAEH;MAAM,GAAKG,IAAI,EAClD;IACH;EAAE,GACF;AAEN;AAEA,MAAM8C,MAAM,GAAGvD,UAAU,CAACqE,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"}
|
|
@@ -2,8 +2,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2
2
|
import { CommonActions, useTheme } from '@react-navigation/native';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { TabView } from 'react-native-tab-view';
|
|
5
|
-
import MaterialTopTabBar from './MaterialTopTabBar';
|
|
6
|
-
export
|
|
5
|
+
import { MaterialTopTabBar } from './MaterialTopTabBar';
|
|
6
|
+
export function MaterialTopTabView(_ref) {
|
|
7
7
|
let {
|
|
8
8
|
tabBar = props => /*#__PURE__*/React.createElement(MaterialTopTabBar, props),
|
|
9
9
|
state,
|
|
@@ -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":["views/MaterialTopTabView.tsx"],"mappings":";AAAA,SACEA,aAAa,EAIbC,QAAQ,QACH,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAA6BC,OAAO,QAAQ,uBAAuB;AAQnE,SAASC,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,SAASC,kBAAkB,OAOxB;EAAA,IAPyB;IACjCC,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,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Navigators
|
|
3
3
|
*/
|
|
4
|
-
export {
|
|
4
|
+
export { createMaterialTopTabNavigator } from './navigators/createMaterialTopTabNavigator';
|
|
5
5
|
/**
|
|
6
6
|
* Views
|
|
7
7
|
*/
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
8
|
+
export { MaterialTopTabBar } from './views/MaterialTopTabBar';
|
|
9
|
+
export { MaterialTopTabView } from './views/MaterialTopTabView';
|
|
10
10
|
/**
|
|
11
11
|
* Types
|
|
12
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,
|
|
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,YAAY,EACV,sBAAsB,EACtB,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
@@ -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
|
|
7
|
-
|
|
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
|
+
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("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
|
+
};
|
|
12
|
+
export {};
|
|
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,eAAO,MAAM,6BAA6B;;;;;CAKhB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { Descriptor, NavigationHelpers, NavigationProp, ParamListBase, Rout
|
|
|
2
2
|
import type React from 'react';
|
|
3
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
|
*/
|
|
@@ -191,15 +191,15 @@ export declare type MaterialTopTabNavigationOptions = {
|
|
|
191
191
|
*/
|
|
192
192
|
lazyPlaceholder?: () => React.ReactNode;
|
|
193
193
|
};
|
|
194
|
-
export
|
|
195
|
-
export
|
|
196
|
-
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'> & {
|
|
197
197
|
/**
|
|
198
198
|
* Function that returns a React element to display as the tab bar.
|
|
199
199
|
*/
|
|
200
200
|
tabBar?: (props: MaterialTopTabBarProps) => React.ReactNode;
|
|
201
201
|
};
|
|
202
|
-
export
|
|
202
|
+
export type MaterialTopTabBarProps = SceneRendererProps & {
|
|
203
203
|
state: TabNavigationState<ParamListBase>;
|
|
204
204
|
navigation: NavigationHelpers<ParamListBase, MaterialTopTabNavigationEventMap>;
|
|
205
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,EACV,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,
|
|
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,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { MaterialTopTabBarProps } from '../types';
|
|
3
|
-
export
|
|
3
|
+
export declare function MaterialTopTabBar({ state, navigation, descriptors, ...rest }: MaterialTopTabBarProps): JSX.Element;
|
|
4
4
|
//# sourceMappingURL=MaterialTopTabBar.d.ts.map
|
|
@@ -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,
|
|
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,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,eA8HxB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
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;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export declare function MaterialTopTabView({ tabBar, state, navigation, descriptors, sceneContainerStyle, ...rest }: Props): JSX.Element;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=MaterialTopTabView.d.ts.map
|
|
@@ -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,wBAAgB,kBAAkB,CAAC,EACjC,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.1",
|
|
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.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@react-navigation/native": "^
|
|
48
|
+
"@react-navigation/native": "^7.0.0-alpha.1",
|
|
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.4",
|
|
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": "230c09deeeb886929a15cb4cdcb496372a9496e1"
|
|
82
80
|
}
|
package/src/index.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Navigators
|
|
3
3
|
*/
|
|
4
|
-
export {
|
|
4
|
+
export { createMaterialTopTabNavigator } from './navigators/createMaterialTopTabNavigator';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Views
|
|
8
8
|
*/
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
9
|
+
export { MaterialTopTabBar } from './views/MaterialTopTabBar';
|
|
10
|
+
export { MaterialTopTabView } from './views/MaterialTopTabView';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Types
|
|
@@ -9,14 +9,13 @@ 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,
|
|
16
15
|
MaterialTopTabNavigationEventMap,
|
|
17
16
|
MaterialTopTabNavigationOptions,
|
|
18
17
|
} from '../types';
|
|
19
|
-
import MaterialTopTabView from '../views/MaterialTopTabView';
|
|
18
|
+
import { MaterialTopTabView } from '../views/MaterialTopTabView';
|
|
20
19
|
|
|
21
20
|
type Props = DefaultNavigatorOptions<
|
|
22
21
|
ParamListBase,
|
|
@@ -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 (
|
|
@@ -143,7 +63,7 @@ function MaterialTopTabNavigator({
|
|
|
143
63
|
);
|
|
144
64
|
}
|
|
145
65
|
|
|
146
|
-
export
|
|
66
|
+
export const createMaterialTopTabNavigator = createNavigatorFactory<
|
|
147
67
|
TabNavigationState<ParamListBase>,
|
|
148
68
|
MaterialTopTabNavigationOptions,
|
|
149
69
|
MaterialTopTabNavigationEventMap,
|
package/src/types.tsx
CHANGED
|
@@ -11,13 +11,13 @@ import { TabBar, TabBarIndicator } from 'react-native-tab-view';
|
|
|
11
11
|
|
|
12
12
|
import type { MaterialTopTabBarProps } from '../types';
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export function MaterialTopTabBar({
|
|
15
15
|
state,
|
|
16
16
|
navigation,
|
|
17
17
|
descriptors,
|
|
18
18
|
...rest
|
|
19
19
|
}: MaterialTopTabBarProps) {
|
|
20
|
-
const { colors } = useTheme();
|
|
20
|
+
const { colors, fonts } = useTheme();
|
|
21
21
|
|
|
22
22
|
const focusedOptions = descriptors[state.routes[state.index].key].options;
|
|
23
23
|
|
|
@@ -49,7 +49,9 @@ export default function TabBarTop({
|
|
|
49
49
|
getAccessibilityLabel={({ route }) =>
|
|
50
50
|
descriptors[route.key].options.tabBarAccessibilityLabel
|
|
51
51
|
}
|
|
52
|
-
getTestID={({ route }) =>
|
|
52
|
+
getTestID={({ route }) =>
|
|
53
|
+
descriptors[route.key].options.tabBarButtonTestID
|
|
54
|
+
}
|
|
53
55
|
onTabPress={({ route, preventDefault }) => {
|
|
54
56
|
const event = navigation.emit({
|
|
55
57
|
type: 'tabPress',
|
|
@@ -101,7 +103,12 @@ export default function TabBarTop({
|
|
|
101
103
|
if (typeof label === 'string') {
|
|
102
104
|
return (
|
|
103
105
|
<Text
|
|
104
|
-
style={[
|
|
106
|
+
style={[
|
|
107
|
+
{ color },
|
|
108
|
+
fonts.regular,
|
|
109
|
+
styles.label,
|
|
110
|
+
options.tabBarLabelStyle,
|
|
111
|
+
]}
|
|
105
112
|
allowFontScaling={options.tabBarAllowFontScaling}
|
|
106
113
|
>
|
|
107
114
|
{label}
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
MaterialTopTabNavigationConfig,
|
|
15
15
|
MaterialTopTabNavigationHelpers,
|
|
16
16
|
} from '../types';
|
|
17
|
-
import MaterialTopTabBar from './MaterialTopTabBar';
|
|
17
|
+
import { MaterialTopTabBar } from './MaterialTopTabBar';
|
|
18
18
|
|
|
19
19
|
type Props = MaterialTopTabNavigationConfig & {
|
|
20
20
|
state: TabNavigationState<ParamListBase>;
|
|
@@ -22,7 +22,7 @@ type Props = MaterialTopTabNavigationConfig & {
|
|
|
22
22
|
descriptors: MaterialTopTabDescriptorMap;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
export
|
|
25
|
+
export function MaterialTopTabView({
|
|
26
26
|
tabBar = (props: MaterialTopTabBarProps) => <MaterialTopTabBar {...props} />,
|
|
27
27
|
state,
|
|
28
28
|
navigation,
|
|
@@ -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}
|