@react-navigation/material-top-tabs 8.0.0-alpha.52 → 8.0.0-alpha.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/views/MaterialTopTabBar.js +11 -1
- package/lib/module/views/MaterialTopTabBar.js.map +1 -1
- package/lib/typescript/src/types.d.ts +27 -4
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/MaterialTopTabBar.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/types.tsx +35 -3
- package/src/views/MaterialTopTabBar.tsx +14 -0
|
@@ -129,10 +129,20 @@ export function MaterialTopTabBar({
|
|
|
129
129
|
route,
|
|
130
130
|
preventDefault
|
|
131
131
|
}) => {
|
|
132
|
+
const {
|
|
133
|
+
tabBarRepeatedPressBehavior
|
|
134
|
+
} = descriptors[route.key]?.options ?? {};
|
|
135
|
+
const isRepeatedPress = focusedRoute.key === route.key;
|
|
132
136
|
const event = navigation.emit({
|
|
133
137
|
type: 'tabPress',
|
|
134
138
|
target: route.key,
|
|
135
|
-
canPreventDefault: true
|
|
139
|
+
canPreventDefault: true,
|
|
140
|
+
data: {
|
|
141
|
+
behavior: {
|
|
142
|
+
scrollToTop: isRepeatedPress && tabBarRepeatedPressBehavior?.scrollToTop !== false,
|
|
143
|
+
popToTop: isRepeatedPress && tabBarRepeatedPressBehavior?.popToTop !== false
|
|
144
|
+
}
|
|
145
|
+
}
|
|
136
146
|
});
|
|
137
147
|
if (event.defaultPrevented) {
|
|
138
148
|
preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PlatformIcon","Text","Color","useLinkBuilder","useLocale","useTheme","React","StyleSheet","TabBar","useLatestCallback","jsx","_jsx","MaterialLabel","color","labelText","style","allowFontScaling","fonts","medium","styles","label","children","renderLabelDefault","props","MaterialTopTabBar","state","navigation","descriptors","rest","colors","dark","direction","buildHref","focusedRoute","routes","index","Error","focusedOptions","key","options","tabBarVariant","activeColor","tabBarActiveTintColor","primary","text","inactiveColor","tabBarInactiveTintColor","alpha","string","pressColor","tabBarPressColor","optionsCache","useRef","nextOptions","Object","fromEntries","map","route","title","tabBarLabel","tabBarButtonTestID","tabBarAccessibilityLabel","tabBarBadge","tabBarShowIcon","tabBarShowLabel","tabBarIcon","tabBarAllowFontScaling","tabBarLabelStyle","focused","href","name","params","previous","current","deps","hasOwn","length","every","dep","is","icon","size","iconValue","isValidElement","tabOptions","testID","accessibilityLabel","badge","undefined","labelAllowFontScaling","labelStyle","useInsertionEffect","onTabPress","preventDefault","event","emit","type","target","canPreventDefault","defaultPrevented","onTabLongPress","tabBarIndicator","navigationState","entries","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","tabBarIndicatorStyle","gap","tabBarGap","variant","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","card","borderBottomColor","border","tabBarStyle","renderIndicator","_","create","textAlign","fontSize"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["PlatformIcon","Text","Color","useLinkBuilder","useLocale","useTheme","React","StyleSheet","TabBar","useLatestCallback","jsx","_jsx","MaterialLabel","color","labelText","style","allowFontScaling","fonts","medium","styles","label","children","renderLabelDefault","props","MaterialTopTabBar","state","navigation","descriptors","rest","colors","dark","direction","buildHref","focusedRoute","routes","index","Error","focusedOptions","key","options","tabBarVariant","activeColor","tabBarActiveTintColor","primary","text","inactiveColor","tabBarInactiveTintColor","alpha","string","pressColor","tabBarPressColor","optionsCache","useRef","nextOptions","Object","fromEntries","map","route","title","tabBarLabel","tabBarButtonTestID","tabBarAccessibilityLabel","tabBarBadge","tabBarShowIcon","tabBarShowLabel","tabBarIcon","tabBarAllowFontScaling","tabBarLabelStyle","focused","href","name","params","previous","current","deps","hasOwn","length","every","dep","is","icon","size","iconValue","isValidElement","tabOptions","testID","accessibilityLabel","badge","undefined","labelAllowFontScaling","labelStyle","useInsertionEffect","onTabPress","preventDefault","tabBarRepeatedPressBehavior","isRepeatedPress","event","emit","type","target","canPreventDefault","data","behavior","scrollToTop","popToTop","defaultPrevented","onTabLongPress","tabBarIndicator","navigationState","entries","scrollEnabled","tabBarScrollEnabled","bounces","tabBarBounces","pressOpacity","tabBarPressOpacity","tabStyle","tabBarItemStyle","indicatorStyle","backgroundColor","tabBarIndicatorStyle","gap","tabBarGap","variant","android_ripple","tabBarAndroidRipple","indicatorContainerStyle","tabBarIndicatorContainerStyle","contentContainerStyle","tabBarContentContainerStyle","card","borderBottomColor","border","tabBarStyle","renderIndicator","_","create","textAlign","fontSize"],"sourceRoot":"../../../src","sources":["views/MaterialTopTabBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,9 +6,20 @@ import type { TabBar, TabBarProps, TabViewProps } from 'react-native-tab-view';
|
|
|
6
6
|
export type MaterialTopTabNavigationEventMap = {
|
|
7
7
|
/**
|
|
8
8
|
* Event which fires on tapping on the tab in the tab bar.
|
|
9
|
+
*
|
|
10
|
+
* The `data` object contains the following properties:
|
|
11
|
+
* - `origin`: set to `native` when event originated from the native tab bar.
|
|
12
|
+
* - `behavior`: specifies how consumers of the event should handle the tab press:
|
|
13
|
+
* - `scrollToTop`: whether the content should scroll to top.
|
|
14
|
+
* - `popToTop`: whether the nested stack should pop to top.
|
|
9
15
|
*/
|
|
10
16
|
tabPress: {
|
|
11
|
-
data:
|
|
17
|
+
data: {
|
|
18
|
+
behavior: {
|
|
19
|
+
scrollToTop: boolean;
|
|
20
|
+
popToTop: boolean;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
12
23
|
canPreventDefault: true;
|
|
13
24
|
};
|
|
14
25
|
/**
|
|
@@ -30,7 +41,7 @@ export type MaterialTopTabNavigationEventMap = {
|
|
|
30
41
|
data: undefined;
|
|
31
42
|
};
|
|
32
43
|
};
|
|
33
|
-
export type MaterialTopTabNavigationHelpers = NavigationHelpers<ParamListBase, MaterialTopTabNavigationEventMap> & TabActionHelpers<ParamListBase>;
|
|
44
|
+
export type MaterialTopTabNavigationHelpers = NavigationHelpers<ParamListBase, TabNavigationState<ParamListBase>, MaterialTopTabNavigationEventMap> & TabActionHelpers<ParamListBase>;
|
|
34
45
|
export type MaterialTopTabNavigationProp<ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList> = NavigationProp<ParamList, RouteName, TabNavigationState<ParamList>, MaterialTopTabNavigationOptions, MaterialTopTabNavigationEventMap, TabActionHelpers<ParamList>>;
|
|
35
46
|
export type MaterialTopTabScreenProps<ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList> = {
|
|
36
47
|
navigation: MaterialTopTabNavigationProp<ParamList, RouteName>;
|
|
@@ -75,7 +86,7 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
75
86
|
focused: boolean;
|
|
76
87
|
color: ColorValue;
|
|
77
88
|
size: number;
|
|
78
|
-
}) => Icon | React.ReactNode);
|
|
89
|
+
}) => Icon | React.ReactNode) | undefined;
|
|
79
90
|
/**
|
|
80
91
|
* Whether the tab icon should be visible. Defaults to `false`.
|
|
81
92
|
*/
|
|
@@ -165,6 +176,18 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
165
176
|
* Default: `{ borderless: false, foreground: true }`
|
|
166
177
|
*/
|
|
167
178
|
tabBarAndroidRipple?: PressableAndroidRippleConfig | undefined;
|
|
179
|
+
/**
|
|
180
|
+
* Behavior when pressing the tab in the tab bar while it's already focused.
|
|
181
|
+
*
|
|
182
|
+
* - `scrollToTop`: scroll the first scroll view in the screen to top
|
|
183
|
+
* - `popToTop`: pop a nested stack to its first screen
|
|
184
|
+
*
|
|
185
|
+
* Both default to `true`.
|
|
186
|
+
*/
|
|
187
|
+
tabBarRepeatedPressBehavior?: {
|
|
188
|
+
scrollToTop?: boolean | undefined;
|
|
189
|
+
popToTop?: boolean | undefined;
|
|
190
|
+
} | undefined;
|
|
168
191
|
/**
|
|
169
192
|
* Whether to enable swipe gestures when this screen is focused.
|
|
170
193
|
* Swipe gestures are enabled by default. Passing `false` will disable swipe gestures,
|
|
@@ -233,7 +256,7 @@ export type MaterialTopTabNavigationConfig = Omit<TabViewProps<Route<string>>, '
|
|
|
233
256
|
};
|
|
234
257
|
export type MaterialTopTabBarProps = Pick<TabBarProps<Route<string>>, 'position' | 'subscribe' | 'jumpTo'> & {
|
|
235
258
|
state: TabNavigationState<ParamListBase>;
|
|
236
|
-
navigation: NavigationHelpers<ParamListBase, MaterialTopTabNavigationEventMap>;
|
|
259
|
+
navigation: NavigationHelpers<ParamListBase, TabNavigationState<ParamListBase>, MaterialTopTabNavigationEventMap>;
|
|
237
260
|
descriptors: MaterialTopTabDescriptorMap;
|
|
238
261
|
};
|
|
239
262
|
export type MaterialTopTabAnimationContext = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,MAAM,gCAAgC,GAAG;IAC7C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;;;;;;;OAQG;IACH,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,QAAQ,EAAE;gBACR,WAAW,EAAE,OAAO,CAAC;gBACrB,QAAQ,EAAE,OAAO,CAAC;aACnB,CAAC;SACH,CAAC;QACF,iBAAiB,EAAE,IAAI,CAAC;KACzB,CAAC;IACF;;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,kBAAkB,CAAC,aAAa,CAAC,EACjC,gCAAgC,CACjC,GACC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAElC,MAAM,MAAM,4BAA4B,CACtC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,cAAc,CAChB,SAAS,EACT,SAAS,EACT,kBAAkB,CAAC,SAAS,CAAC,EAC7B,+BAA+B,EAC/B,gCAAgC,EAChC,gBAAgB,CAAC,SAAS,CAAC,CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD;IACF,UAAU,EAAE,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IACpD,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EACR,MAAM,GACN,CAAC,CAAC,KAAK,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,KAAK,CAAC,SAAS,CAAC,GACtB,SAAS,CAAC;IAEd;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,UAAU,CAAC,EACP,IAAI,GACJ,CAAC,CAAC,KAAK,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAC7B,SAAS,CAAC;IAEd;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAErC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAErD;;OAEG;IACH,eAAe,CAAC,EACZ,CAAC,CACC,KAAK,EAAE,IAAI,CACT,UAAU,CACR,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CACpE,CAAC,CAAC,CAAC,EACJ,iBAAiB,CAClB,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;KAAE,KAC7C,KAAK,CAAC,SAAS,CAAC,GACrB,SAAS,CAAC;IAEd;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAExD;;OAEG;IACH,6BAA6B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEjE;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,qBAAqB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE/C;;OAEG;IACH,uBAAuB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAEjD;;OAEG;IACH,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEnD;;OAEG;IACH,2BAA2B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE/D;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE/C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAE/D;;;;;;;OAOG;IACH,2BAA2B,CAAC,EACxB;QACE,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAChC,GACD,SAAS,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE3B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEtD;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C,+BAA+B,EAC/B,4BAA4B,CAAC,aAAa,CAAC,EAC3C,SAAS,CAAC,aAAa,CAAC,CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACzB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,YAAY,GACZ,aAAa,GACb,cAAc,GACd,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,MAAM,GACN,qBAAqB,GACrB,iBAAiB,CACpB,GAAG;IACF;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC1E;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1B,UAAU,GAAG,WAAW,GAAG,QAAQ,CACpC,GAAG;IACF,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,iBAAiB,CAC3B,aAAa,EACb,kBAAkB,CAAC,aAAa,CAAC,EACjC,gCAAgC,CACjC,CAAC;IACF,WAAW,EAAE,2BAA2B,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,CAChE,aAAa,EACb,kBAAkB,CAAC,aAAa,CAAC,EACjC,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,CAAC,aAAa,CAAC,CAC5C,GACC,gBAAgB,GAChB,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAU,CAAC;AAiCvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"MaterialTopTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/MaterialTopTabBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAU,CAAC;AAiCvD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,qBAgOxB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/material-top-tabs",
|
|
3
3
|
"description": "Integration for the animated tab view component from react-native-tab-view",
|
|
4
|
-
"version": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.54",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
"clean": "del lib"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@react-navigation/elements": "^3.0.0-alpha.
|
|
50
|
-
"react-native-tab-view": "^5.0.0-alpha.
|
|
49
|
+
"@react-navigation/elements": "^3.0.0-alpha.53",
|
|
50
|
+
"react-native-tab-view": "^5.0.0-alpha.17",
|
|
51
51
|
"use-latest-callback": "^0.3.5"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@jest/globals": "^30.4.1",
|
|
55
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
55
|
+
"@react-navigation/native": "^8.0.0-alpha.49",
|
|
56
56
|
"@testing-library/react-native": "^14.0.0",
|
|
57
57
|
"@types/react": "~19.2.17",
|
|
58
58
|
"del-cli": "^7.0.0",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"typescript": "^6.0.3"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
68
|
+
"@react-navigation/native": "^8.0.0-alpha.49",
|
|
69
69
|
"react": ">= 19.2.0",
|
|
70
70
|
"react-native": "*",
|
|
71
71
|
"react-native-pager-view": ">= 7.0.0",
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
]
|
|
90
90
|
]
|
|
91
91
|
},
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "110f8e897f476977b7227e5f0326996106a742f0"
|
|
93
93
|
}
|
package/src/types.tsx
CHANGED
|
@@ -26,8 +26,22 @@ import type { TabBar, TabBarProps, TabViewProps } from 'react-native-tab-view';
|
|
|
26
26
|
export type MaterialTopTabNavigationEventMap = {
|
|
27
27
|
/**
|
|
28
28
|
* Event which fires on tapping on the tab in the tab bar.
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
*
|
|
30
|
+
* The `data` object contains the following properties:
|
|
31
|
+
* - `origin`: set to `native` when event originated from the native tab bar.
|
|
32
|
+
* - `behavior`: specifies how consumers of the event should handle the tab press:
|
|
33
|
+
* - `scrollToTop`: whether the content should scroll to top.
|
|
34
|
+
* - `popToTop`: whether the nested stack should pop to top.
|
|
35
|
+
*/
|
|
36
|
+
tabPress: {
|
|
37
|
+
data: {
|
|
38
|
+
behavior: {
|
|
39
|
+
scrollToTop: boolean;
|
|
40
|
+
popToTop: boolean;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
canPreventDefault: true;
|
|
44
|
+
};
|
|
31
45
|
/**
|
|
32
46
|
* Event which fires on long press on the tab in the tab bar.
|
|
33
47
|
*/
|
|
@@ -44,6 +58,7 @@ export type MaterialTopTabNavigationEventMap = {
|
|
|
44
58
|
|
|
45
59
|
export type MaterialTopTabNavigationHelpers = NavigationHelpers<
|
|
46
60
|
ParamListBase,
|
|
61
|
+
TabNavigationState<ParamListBase>,
|
|
47
62
|
MaterialTopTabNavigationEventMap
|
|
48
63
|
> &
|
|
49
64
|
TabActionHelpers<ParamListBase>;
|
|
@@ -121,7 +136,8 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
121
136
|
focused: boolean;
|
|
122
137
|
color: ColorValue;
|
|
123
138
|
size: number;
|
|
124
|
-
}) => Icon | React.ReactNode)
|
|
139
|
+
}) => Icon | React.ReactNode)
|
|
140
|
+
| undefined;
|
|
125
141
|
|
|
126
142
|
/**
|
|
127
143
|
* Whether the tab icon should be visible. Defaults to `false`.
|
|
@@ -238,6 +254,21 @@ export type MaterialTopTabNavigationOptions = {
|
|
|
238
254
|
*/
|
|
239
255
|
tabBarAndroidRipple?: PressableAndroidRippleConfig | undefined;
|
|
240
256
|
|
|
257
|
+
/**
|
|
258
|
+
* Behavior when pressing the tab in the tab bar while it's already focused.
|
|
259
|
+
*
|
|
260
|
+
* - `scrollToTop`: scroll the first scroll view in the screen to top
|
|
261
|
+
* - `popToTop`: pop a nested stack to its first screen
|
|
262
|
+
*
|
|
263
|
+
* Both default to `true`.
|
|
264
|
+
*/
|
|
265
|
+
tabBarRepeatedPressBehavior?:
|
|
266
|
+
| {
|
|
267
|
+
scrollToTop?: boolean | undefined;
|
|
268
|
+
popToTop?: boolean | undefined;
|
|
269
|
+
}
|
|
270
|
+
| undefined;
|
|
271
|
+
|
|
241
272
|
/**
|
|
242
273
|
* Whether to enable swipe gestures when this screen is focused.
|
|
243
274
|
* Swipe gestures are enabled by default. Passing `false` will disable swipe gestures,
|
|
@@ -343,6 +374,7 @@ export type MaterialTopTabBarProps = Pick<
|
|
|
343
374
|
state: TabNavigationState<ParamListBase>;
|
|
344
375
|
navigation: NavigationHelpers<
|
|
345
376
|
ParamListBase,
|
|
377
|
+
TabNavigationState<ParamListBase>,
|
|
346
378
|
MaterialTopTabNavigationEventMap
|
|
347
379
|
>;
|
|
348
380
|
descriptors: MaterialTopTabDescriptorMap;
|
|
@@ -199,10 +199,24 @@ export function MaterialTopTabBar({
|
|
|
199
199
|
const onTabPress = useLatestCallback<
|
|
200
200
|
NonNullable<TabBarProps<Route>['onTabPress']>
|
|
201
201
|
>(({ route, preventDefault }) => {
|
|
202
|
+
const { tabBarRepeatedPressBehavior } =
|
|
203
|
+
descriptors[route.key]?.options ?? {};
|
|
204
|
+
|
|
205
|
+
const isRepeatedPress = focusedRoute.key === route.key;
|
|
206
|
+
|
|
202
207
|
const event = navigation.emit({
|
|
203
208
|
type: 'tabPress',
|
|
204
209
|
target: route.key,
|
|
205
210
|
canPreventDefault: true,
|
|
211
|
+
data: {
|
|
212
|
+
behavior: {
|
|
213
|
+
scrollToTop:
|
|
214
|
+
isRepeatedPress &&
|
|
215
|
+
tabBarRepeatedPressBehavior?.scrollToTop !== false,
|
|
216
|
+
popToTop:
|
|
217
|
+
isRepeatedPress && tabBarRepeatedPressBehavior?.popToTop !== false,
|
|
218
|
+
},
|
|
219
|
+
},
|
|
206
220
|
});
|
|
207
221
|
|
|
208
222
|
if (event.defaultPrevented) {
|