@react-navigation/bottom-tabs 8.0.0-alpha.4 → 8.0.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/lib/module/index.js +1 -1
  2. package/lib/module/index.js.map +1 -1
  3. package/lib/module/navigators/createBottomTabNavigator.js +4 -25
  4. package/lib/module/navigators/createBottomTabNavigator.js.map +1 -1
  5. package/lib/module/utils/useBottomTabAnimation.js +1 -1
  6. package/lib/module/utils/useBottomTabAnimation.js.map +1 -1
  7. package/lib/module/utils/useBottomTabBarHeight.js +1 -1
  8. package/lib/module/utils/useBottomTabBarHeight.js.map +1 -1
  9. package/lib/module/views/BottomTabBar.js +40 -29
  10. package/lib/module/views/BottomTabBar.js.map +1 -1
  11. package/lib/module/views/BottomTabItem.js +2 -2
  12. package/lib/module/views/BottomTabItem.js.map +1 -1
  13. package/lib/module/views/{BottomTabViewCommon.js → BottomTabView.js} +1 -1
  14. package/lib/module/views/BottomTabView.js.map +1 -0
  15. package/lib/module/views/BottomTabViewCustom.js +90 -71
  16. package/lib/module/views/BottomTabViewCustom.js.map +1 -1
  17. package/lib/module/views/BottomTabViewNativeImpl.js +333 -115
  18. package/lib/module/views/BottomTabViewNativeImpl.js.map +1 -1
  19. package/lib/module/views/Deferred.js +41 -0
  20. package/lib/module/views/Deferred.js.map +1 -0
  21. package/lib/module/views/ScreenContent.js.map +1 -1
  22. package/lib/module/views/TabBarIcon.js +11 -48
  23. package/lib/module/views/TabBarIcon.js.map +1 -1
  24. package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts +1 -1
  25. package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts.map +1 -1
  26. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -1
  27. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
  28. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +1 -1
  29. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
  30. package/lib/typescript/src/index.d.ts +11 -11
  31. package/lib/typescript/src/index.d.ts.map +1 -1
  32. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts +9 -15
  33. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts.map +1 -1
  34. package/lib/typescript/src/types.d.ts +64 -102
  35. package/lib/typescript/src/types.d.ts.map +1 -1
  36. package/lib/typescript/src/utils/BottomTabAnimationContext.d.ts +1 -1
  37. package/lib/typescript/src/utils/BottomTabAnimationContext.d.ts.map +1 -1
  38. package/lib/typescript/src/utils/useAnimatedHashMap.d.ts +1 -1
  39. package/lib/typescript/src/utils/useAnimatedHashMap.d.ts.map +1 -1
  40. package/lib/typescript/src/utils/useBottomTabAnimation.d.ts +1 -1
  41. package/lib/typescript/src/utils/useBottomTabAnimation.d.ts.map +1 -1
  42. package/lib/typescript/src/utils/useTabBarPosition.d.ts +1 -1
  43. package/lib/typescript/src/utils/useTabBarPosition.d.ts.map +1 -1
  44. package/lib/typescript/src/views/BottomTabBar.d.ts +3 -2
  45. package/lib/typescript/src/views/BottomTabBar.d.ts.map +1 -1
  46. package/lib/typescript/src/views/BottomTabItem.d.ts +20 -20
  47. package/lib/typescript/src/views/BottomTabItem.d.ts.map +1 -1
  48. package/lib/typescript/src/views/{BottomTabViewCommon.d.ts → BottomTabView.d.ts} +3 -3
  49. package/lib/typescript/src/views/BottomTabView.d.ts.map +1 -0
  50. package/lib/typescript/src/views/BottomTabViewCustom.d.ts +3 -2
  51. package/lib/typescript/src/views/BottomTabViewCustom.d.ts.map +1 -1
  52. package/lib/typescript/src/views/BottomTabViewNative.android.d.ts +1 -1
  53. package/lib/typescript/src/views/BottomTabViewNative.android.d.ts.map +1 -1
  54. package/lib/typescript/src/views/BottomTabViewNative.d.ts +1 -1
  55. package/lib/typescript/src/views/BottomTabViewNative.d.ts.map +1 -1
  56. package/lib/typescript/src/views/BottomTabViewNative.ios.d.ts +1 -1
  57. package/lib/typescript/src/views/BottomTabViewNative.ios.d.ts.map +1 -1
  58. package/lib/typescript/src/views/BottomTabViewNativeImpl.d.ts +3 -2
  59. package/lib/typescript/src/views/BottomTabViewNativeImpl.d.ts.map +1 -1
  60. package/lib/typescript/src/views/Deferred.d.ts +31 -0
  61. package/lib/typescript/src/views/Deferred.d.ts.map +1 -0
  62. package/lib/typescript/src/views/ScreenContent.d.ts +4 -4
  63. package/lib/typescript/src/views/ScreenContent.d.ts.map +1 -1
  64. package/lib/typescript/src/views/TabBarIcon.d.ts +8 -8
  65. package/lib/typescript/src/views/TabBarIcon.d.ts.map +1 -1
  66. package/package.json +19 -22
  67. package/src/index.tsx +2 -2
  68. package/src/navigators/createBottomTabNavigator.tsx +10 -75
  69. package/src/types.tsx +64 -110
  70. package/src/utils/useAnimatedHashMap.tsx +1 -1
  71. package/src/utils/useBottomTabAnimation.tsx +1 -1
  72. package/src/utils/useBottomTabBarHeight.tsx +1 -1
  73. package/src/views/BottomTabBar.tsx +68 -25
  74. package/src/views/BottomTabItem.tsx +18 -20
  75. package/src/views/BottomTabViewCustom.tsx +155 -125
  76. package/src/views/BottomTabViewNativeImpl.tsx +470 -155
  77. package/src/views/Deferred.tsx +57 -0
  78. package/src/views/ScreenContent.tsx +1 -2
  79. package/src/views/TabBarIcon.tsx +13 -56
  80. package/lib/module/views/BottomTabViewCommon.js.map +0 -1
  81. package/lib/typescript/src/views/BottomTabViewCommon.d.ts.map +0 -1
  82. /package/src/views/{BottomTabViewCommon.tsx → BottomTabView.tsx} +0 -0
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  import { getLabel } from '@react-navigation/elements';
4
- import { Color, Lazy, SafeAreaProviderCompat } from '@react-navigation/elements/internal';
4
+ import { ActivityView, Color, SafeAreaProviderCompat } from '@react-navigation/elements/internal';
5
5
  import { CommonActions, MaterialSymbol, NavigationMetaContext, StackActions, useTheme } from '@react-navigation/native';
6
6
  import * as React from 'react';
7
- import { Animated, Platform, PlatformColor } from 'react-native';
7
+ import { Animated, Platform, PlatformColor, StyleSheet } from 'react-native';
8
8
  import { Tabs } from 'react-native-screens';
9
9
  import { BottomTabAnimationContext } from "../utils/BottomTabAnimationContext.js";
10
10
  import { BottomTabBarHeightContext } from "../utils/BottomTabBarHeightContext.js";
11
11
  import { useTabBarPosition } from "../utils/useTabBarPosition.js";
12
+ import { Deferred } from "./Deferred.js";
12
13
  import { ScreenContent } from "./ScreenContent.js";
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const ICON_SIZE = Platform.select({
@@ -18,6 +19,26 @@ const ICON_SIZE = Platform.select({
18
19
  const meta = {
19
20
  type: 'native-tabs'
20
21
  };
22
+ function reducer(state, action) {
23
+ switch (action.type) {
24
+ case 'TRACK_TRANSITION':
25
+ return {
26
+ ...state,
27
+ lastTransition: action.lastTransition,
28
+ confirmed: action.confirmed
29
+ };
30
+ case 'CLEAR_TRANSITION':
31
+ return state.lastTransition?.to === action.to ? {
32
+ ...state,
33
+ lastTransition: null
34
+ } : state;
35
+ case 'CONFIRM_STATE':
36
+ return state.confirmed.routeKey === action.confirmed.routeKey && state.confirmed.provenance === action.confirmed.provenance ? state : {
37
+ ...state,
38
+ confirmed: action.confirmed
39
+ };
40
+ }
41
+ }
21
42
  export function BottomTabViewNative({
22
43
  state,
23
44
  navigation,
@@ -29,7 +50,22 @@ export function BottomTabViewNative({
29
50
  colors,
30
51
  fonts
31
52
  } = useTheme();
32
- const focusedRouteKey = state.routes[state.index].key;
53
+ const focusedRoute = state.routes[state.index];
54
+ if (focusedRoute == null) {
55
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
56
+ }
57
+ const focusedRouteKey = focusedRoute.key;
58
+ const [loaded, setLoaded] = React.useState([focusedRouteKey]);
59
+ if (!loaded.includes(focusedRouteKey)) {
60
+ setLoaded([...loaded, focusedRouteKey]);
61
+ }
62
+ const [nativeState, dispatch] = React.useReducer(reducer, {
63
+ lastTransition: null,
64
+ confirmed: {
65
+ routeKey: focusedRouteKey,
66
+ provenance: 0
67
+ }
68
+ });
33
69
  const previousRouteKeyRef = React.useRef(focusedRouteKey);
34
70
  React.useEffect(() => {
35
71
  const previousRouteKey = previousRouteKeyRef.current;
@@ -44,8 +80,117 @@ export function BottomTabViewNative({
44
80
  }
45
81
  }
46
82
  previousRouteKeyRef.current = focusedRouteKey;
83
+
84
+ // We dispatch `popToTop` for unfocused tabs when `popToTopOnBlur` is true
85
+ // So we delay clearing `lastTransition` to keep the screen active for longer
86
+ // This gives time for the action to be handled before the screen is paused,
87
+ const timer = setTimeout(() => {
88
+ dispatch({
89
+ type: 'CLEAR_TRANSITION',
90
+ to: focusedRouteKey
91
+ });
92
+ }, 32);
93
+ return () => clearTimeout(timer);
47
94
  }, [descriptors, focusedRouteKey, navigation, state.index, state.routes]);
48
- const currentOptions = descriptors[state.routes[state.index].key]?.options;
95
+ const navigate = (route, confirmed) => {
96
+ dispatch({
97
+ type: 'TRACK_TRANSITION',
98
+ confirmed,
99
+ lastTransition: {
100
+ from: previousRouteKeyRef.current,
101
+ to: route.key
102
+ }
103
+ });
104
+ navigation.dispatch({
105
+ ...CommonActions.navigate(route.name, route.params),
106
+ target: state.key
107
+ });
108
+ };
109
+
110
+ // Native tabs are the source of truth for the selected tab.
111
+ // JS sends a requested tab with the native provenance it was based on.
112
+ // Native replies with the selected tab and its new provenance.
113
+ const onTabSelected = event => {
114
+ const {
115
+ selectedScreenKey,
116
+ provenance,
117
+ actionOrigin
118
+ } = event.nativeEvent;
119
+ const confirmed = {
120
+ routeKey: selectedScreenKey,
121
+ provenance
122
+ };
123
+ const route = state.routes.find(route => route.key === selectedScreenKey);
124
+ if (!route) {
125
+ console.error(`Received 'tabSelected' for route that doesn't exist: ${selectedScreenKey}`);
126
+ return;
127
+ }
128
+ if (actionOrigin === 'user') {
129
+ const event = navigation.emit({
130
+ type: 'tabPress',
131
+ target: route.key,
132
+ canPreventDefault: true
133
+ });
134
+ if (event.defaultPrevented) {
135
+ throw new Error("Preventing default for 'tabPress' is not supported with native tab bar. Use the 'tabBarSelectionEnabled: false' option instead.");
136
+ }
137
+ }
138
+ if (actionOrigin === 'programmatic-js' || focusedRouteKey === route.key) {
139
+ dispatch({
140
+ type: 'CONFIRM_STATE',
141
+ confirmed
142
+ });
143
+ return;
144
+ }
145
+ navigate(route, confirmed);
146
+ };
147
+
148
+ // If native rejects a JS request, keep native as the source of truth
149
+ // and move JS back to the tab that native says is selected.
150
+ const onTabSelectionRejected = event => {
151
+ const {
152
+ selectedScreenKey,
153
+ provenance
154
+ } = event.nativeEvent;
155
+ const confirmed = {
156
+ routeKey: selectedScreenKey,
157
+ provenance
158
+ };
159
+ const route = state.routes.find(route => route.key === selectedScreenKey);
160
+ if (!route) {
161
+ console.error(`Received 'tabSelectionRejected' for route that doesn't exist: ${selectedScreenKey}`);
162
+ return;
163
+ }
164
+ if (focusedRouteKey === route.key) {
165
+ dispatch({
166
+ type: 'CONFIRM_STATE',
167
+ confirmed
168
+ });
169
+ return;
170
+ }
171
+ navigate(route, confirmed);
172
+ };
173
+ const onTabSelectionPrevented = event => {
174
+ const {
175
+ selectedScreenKey,
176
+ provenance,
177
+ preventedScreenKey
178
+ } = event.nativeEvent;
179
+ const confirmed = {
180
+ routeKey: selectedScreenKey,
181
+ provenance
182
+ };
183
+ dispatch({
184
+ type: 'CONFIRM_STATE',
185
+ confirmed
186
+ });
187
+ navigation.emit({
188
+ type: 'tabPress',
189
+ target: preventedScreenKey,
190
+ canPreventDefault: true
191
+ });
192
+ };
193
+ const currentOptions = descriptors[focusedRouteKey]?.options ?? {};
49
194
  const {
50
195
  fontFamily = Platform.select({
51
196
  ios: fonts.medium.fontFamily,
@@ -56,14 +201,48 @@ export function BottomTabViewNative({
56
201
  default: fonts.regular.fontWeight
57
202
  }),
58
203
  fontSize,
59
- fontStyle
204
+ fontStyle,
205
+ color: fontColor
60
206
  } = currentOptions.tabBarLabelStyle || {};
61
- const activeTintColor = currentOptions.tabBarActiveTintColor ?? colors.primary;
62
- const inactiveTintColor = currentOptions.tabBarInactiveTintColor ?? Platform.select({
207
+ const backgroundColor = currentOptions.tabBarStyle?.backgroundColor ?? colors.background;
208
+ const shouldHideTabBar = currentOptions.tabBarStyle?.display === 'none';
209
+ let activeIndicatorColor = currentOptions?.tabBarActiveIndicatorColor;
210
+ let activeTintColor = currentOptions.tabBarActiveTintColor;
211
+ let inactiveTintColor = currentOptions.tabBarInactiveTintColor;
212
+
213
+ // Derive colors based on Material Design guidelines
214
+ // https://m3.material.io/components/navigation-bar/specs
215
+ if (Platform.OS === 'android') {
216
+ switch (getAndroidColorName(backgroundColor)) {
217
+ case 'system_surface_container_light':
218
+ case 'system_surface_container_high_light':
219
+ case 'system_surface_container_highest_light':
220
+ case 'system_surface_container_low_light':
221
+ case 'system_surface_container_lowest_light':
222
+ inactiveTintColor = inactiveTintColor ?? PlatformColor('@android:color/system_on_surface_variant_light');
223
+ activeTintColor = activeTintColor ?? PlatformColor('@android:color/system_on_secondary_container_light');
224
+ activeIndicatorColor = activeIndicatorColor ?? PlatformColor('@android:color/system_secondary_container_light');
225
+ break;
226
+ case 'system_surface_container_dark':
227
+ case 'system_surface_container_high_dark':
228
+ case 'system_surface_container_highest_dark':
229
+ case 'system_surface_container_low_dark':
230
+ case 'system_surface_container_lowest_dark':
231
+ inactiveTintColor = inactiveTintColor ?? PlatformColor('@android:color/system_on_surface_variant_dark');
232
+ activeTintColor = activeTintColor ?? PlatformColor('@android:color/system_on_secondary_container_dark');
233
+ activeIndicatorColor = activeIndicatorColor ?? PlatformColor('@android:color/system_secondary_container_dark');
234
+ break;
235
+ }
236
+ }
237
+ inactiveTintColor = inactiveTintColor ?? Platform.select({
63
238
  ios: PlatformColor('label'),
64
239
  default: colors.text
65
240
  });
66
- const activeIndicatorColor = currentOptions?.tabBarActiveIndicatorColor ?? Color(activeTintColor)?.alpha(0.1).string();
241
+ activeTintColor = activeTintColor ?? colors.primary;
242
+ activeIndicatorColor = activeIndicatorColor ?? Platform.select({
243
+ android: Color(activeTintColor)?.alpha(0.075).string(),
244
+ default: undefined
245
+ });
67
246
  const onTransitionStart = ({
68
247
  route
69
248
  }) => {
@@ -95,60 +274,45 @@ export function BottomTabViewNative({
95
274
  flexDirection: tabBarPosition === 'left' || tabBarPosition === 'right' ? 'row' : 'column'
96
275
  },
97
276
  children: [tabBarPosition === 'top' || tabBarPosition === 'left' ? tabBarElement : null, /*#__PURE__*/_jsx(Tabs.Host, {
98
- tabBarHidden: hasCustomTabBar,
99
- bottomAccessory: bottomAccessory ? environment => bottomAccessory({
100
- placement: environment
101
- }) : undefined,
102
- tabBarItemLabelVisibilityMode: currentOptions?.tabBarLabelVisibilityMode,
103
- tabBarControllerMode: tabBarControllerMode,
104
- tabBarMinimizeBehavior: tabBarMinimizeBehavior,
105
- tabBarTintColor: activeTintColor,
106
- tabBarItemIconColor: inactiveTintColor,
107
- tabBarItemIconColorActive: activeTintColor,
108
- tabBarItemTitleFontColor: inactiveTintColor,
109
- tabBarItemTitleFontColorActive: activeTintColor,
110
- tabBarItemTitleFontFamily: fontFamily,
111
- tabBarItemTitleFontWeight: fontWeight,
112
- tabBarItemTitleFontSize: fontSize,
113
- tabBarItemTitleFontSizeActive: fontSize,
114
- tabBarItemTitleFontStyle: fontStyle,
115
- tabBarBackgroundColor: currentOptions.tabBarStyle?.backgroundColor ?? colors.card,
116
- tabBarItemActiveIndicatorColor: activeIndicatorColor,
117
- tabBarItemActiveIndicatorEnabled: currentOptions?.tabBarActiveIndicatorEnabled,
118
- tabBarItemRippleColor: currentOptions?.tabBarRippleColor,
119
- experimentalControlNavigationStateInJS: false,
120
- onNativeFocusChange: e => {
121
- const route = state.routes.find(route => route.key === e.nativeEvent.tabKey);
122
- if (route) {
123
- const event = navigation.emit({
124
- type: 'tabPress',
125
- target: route.key,
126
- canPreventDefault: true
127
- });
128
- if (event.defaultPrevented) {
129
- throw new Error("Preventing default for 'tabPress' is not supported with native tab bar.");
130
- }
131
- const isFocused = state.index === state.routes.findIndex(r => r.key === route.key);
132
- if (!isFocused) {
133
- navigation.dispatch({
134
- ...CommonActions.navigate(route.name, route.params),
135
- target: state.key
136
- });
137
- }
138
- }
277
+ navStateRequest: {
278
+ selectedScreenKey: focusedRouteKey,
279
+ baseProvenance: nativeState.confirmed.provenance
280
+ },
281
+ rejectStaleNavStateUpdates: true,
282
+ onTabSelected: onTabSelected,
283
+ onTabSelectionRejected: onTabSelectionRejected,
284
+ onTabSelectionPrevented: onTabSelectionPrevented,
285
+ tabBarHidden: hasCustomTabBar || shouldHideTabBar,
286
+ colorScheme: dark ? 'dark' : 'light',
287
+ nativeContainerStyle: {
288
+ backgroundColor: colors.background
289
+ },
290
+ ios: {
291
+ bottomAccessory: bottomAccessory ? environment => bottomAccessory({
292
+ placement: environment
293
+ }) : undefined,
294
+ tabBarControllerMode,
295
+ tabBarMinimizeBehavior,
296
+ tabBarTintColor: activeTintColor
139
297
  },
140
298
  children: state.routes.map((route, index) => {
299
+ const descriptor = descriptors[route.key];
300
+ if (descriptor == null) {
301
+ throw new Error(`Couldn't find a descriptor for route '${route.key}'.`);
302
+ }
141
303
  const {
142
304
  options,
143
305
  render,
144
306
  navigation
145
- } = descriptors[route.key];
307
+ } = descriptor;
146
308
  const isFocused = state.index === index;
147
309
  const isPreloaded = state.preloadedRouteKeys.includes(route.key);
148
310
  const {
149
311
  title,
150
- lazy = true,
312
+ lazy = false,
313
+ inactiveBehavior = 'pause',
151
314
  tabBarLabel,
315
+ tabBarSelectionEnabled,
152
316
  tabBarBadgeStyle,
153
317
  tabBarIcon,
154
318
  tabBarBadge,
@@ -158,7 +322,7 @@ export function BottomTabViewNative({
158
322
  tabBarAccessibilityLabel,
159
323
  tabBarButtonTestID,
160
324
  sceneStyle,
161
- scrollEdgeEffects
325
+ overrideScrollViewContentInsetAdjustmentBehavior
162
326
  } = options;
163
327
  const {
164
328
  backgroundColor: tabBarBackgroundColor,
@@ -171,14 +335,25 @@ export function BottomTabViewNative({
171
335
  label: tabBarLabel,
172
336
  title
173
337
  }, route.name);
338
+ const badgeBackgroundColor = tabBarBadgeStyle?.backgroundColor ?? colors.notification;
339
+ const badgeTextColor = tabBarBadgeStyle?.color ?? Color.foreground(badgeBackgroundColor);
174
340
  const tabItemAppearance = {
175
341
  tabBarItemTitleFontFamily: fontFamily,
176
342
  tabBarItemTitleFontSize: fontSize,
177
343
  tabBarItemTitleFontWeight: fontWeight,
178
- tabBarItemTitleFontStyle: fontStyle
344
+ tabBarItemTitleFontStyle: fontStyle,
345
+ tabBarItemTitleFontColor: inactiveTintColor ?? fontColor,
346
+ tabBarItemIconColor: inactiveTintColor,
347
+ tabBarItemBadgeBackgroundColor: badgeBackgroundColor
348
+ };
349
+ const normalTabItemAppearance = {
350
+ tabBarItemTitleFontColor: inactiveTintColor ?? fontColor,
351
+ tabBarItemIconColor: inactiveTintColor
352
+ };
353
+ const selectedTabItemAppearance = {
354
+ tabBarItemTitleFontColor: activeTintColor,
355
+ tabBarItemIconColor: activeTintColor
179
356
  };
180
- const badgeBackgroundColor = tabBarBadgeStyle?.backgroundColor ?? colors.notification;
181
- const badgeTextColor = tabBarBadgeStyle?.color ?? (Color(badgeBackgroundColor)?.isLight() ? 'black' : 'white');
182
357
  const getIcon = selected => {
183
358
  if (typeof tabBarIcon === 'function') {
184
359
  const result = tabBarIcon({
@@ -198,8 +373,15 @@ export function BottomTabViewNative({
198
373
  }
199
374
  return undefined;
200
375
  };
201
- const icon = getIcon(false);
202
- const selectedIcon = getIcon(true);
376
+
377
+ // An error is thrown for React Elements in `getIcon`
378
+ // So we only call it when we actually render a native tab bar
379
+ const icon = hasCustomTabBar ? undefined : getIcon(false);
380
+ const selectedIcon = hasCustomTabBar ? undefined : getIcon(true);
381
+
382
+ // For preloaded screens and if lazy is false,
383
+ // Keep them active so that the effects can run
384
+ const isActive = inactiveBehavior === 'none' || isPreloaded || nativeState.lastTransition?.from === route.key || nativeState.lastTransition?.to === route.key || lazy === false && !loaded.includes(route.key);
203
385
  return /*#__PURE__*/_jsx(Tabs.Screen, {
204
386
  onWillAppear: () => onTransitionStart({
205
387
  route
@@ -207,40 +389,14 @@ export function BottomTabViewNative({
207
389
  onDidAppear: () => onTransitionEnd({
208
390
  route
209
391
  }),
210
- tabKey: route.key,
211
- icon: icon,
212
- selectedIcon: selectedIcon?.ios ?? selectedIcon?.shared,
213
- tabBarItemBadgeBackgroundColor: badgeBackgroundColor,
214
- tabBarItemBadgeTextColor: badgeTextColor,
392
+ screenKey: route.key,
215
393
  tabBarItemAccessibilityLabel: tabBarAccessibilityLabel,
216
394
  tabBarItemTestID: tabBarButtonTestID,
395
+ preventNativeSelection: tabBarSelectionEnabled === false,
217
396
  badgeValue: tabBarBadge?.toString(),
218
- systemItem: tabBarSystemItem,
219
- isFocused: isFocused,
220
397
  title: tabTitle,
221
- scrollEdgeEffects: {
222
- top: scrollEdgeEffects?.top === 'auto' ? 'automatic' : scrollEdgeEffects?.top,
223
- bottom: scrollEdgeEffects?.bottom === 'auto' ? 'automatic' : scrollEdgeEffects?.bottom,
224
- left: scrollEdgeEffects?.left === 'auto' ? 'automatic' : scrollEdgeEffects?.left,
225
- right: scrollEdgeEffects?.right === 'auto' ? 'automatic' : scrollEdgeEffects?.right
226
- }
227
- // FIXME: if this is not provided, ScrollView on lazy tabs glitches on iOS 18
228
- // For now we provide an empty object before adding proper support
229
- ,
230
- scrollEdgeAppearance: {},
231
- standardAppearance: {
232
- tabBarBackgroundColor,
233
- tabBarShadowColor,
234
- tabBarBlurEffect,
235
- stacked: {
236
- normal: tabItemAppearance
237
- },
238
- inline: {
239
- normal: tabItemAppearance
240
- },
241
- compactInline: {
242
- normal: tabItemAppearance
243
- }
398
+ nativeContainerStyle: {
399
+ backgroundColor: colors.background
244
400
  },
245
401
  specialEffects: {
246
402
  repeatedTabSelection: {
@@ -248,27 +404,89 @@ export function BottomTabViewNative({
248
404
  scrollToTop: true
249
405
  }
250
406
  },
251
- experimental_userInterfaceStyle: dark ? 'dark' : 'light',
252
- children: /*#__PURE__*/_jsx(Lazy, {
253
- enabled: lazy,
254
- visible: isFocused || isPreloaded,
255
- children: /*#__PURE__*/_jsx(ScreenContent, {
256
- isFocused: isFocused,
257
- route: route,
258
- navigation: navigation,
259
- options: options,
260
- style: sceneStyle,
261
- children: /*#__PURE__*/_jsx(AnimatedScreenContent, {
407
+ android: {
408
+ icon: icon?.android ?? icon?.shared,
409
+ selectedIcon: selectedIcon?.android ?? selectedIcon?.shared,
410
+ standardAppearance: {
411
+ tabBarBackgroundColor: tabBarBackgroundColor ?? backgroundColor,
412
+ tabBarItemRippleColor: currentOptions?.tabBarRippleColor,
413
+ tabBarItemLabelVisibilityMode: currentOptions?.tabBarLabelVisibilityMode,
414
+ normal: normalTabItemAppearance,
415
+ selected: selectedTabItemAppearance,
416
+ tabBarItemActiveIndicatorColor: activeIndicatorColor,
417
+ tabBarItemActiveIndicatorEnabled: currentOptions?.tabBarActiveIndicatorEnabled,
418
+ tabBarItemTitleFontFamily: fontFamily,
419
+ tabBarItemTitleFontWeight: fontWeight,
420
+ tabBarItemTitleSmallLabelFontSize: fontSize,
421
+ tabBarItemTitleLargeLabelFontSize: fontSize,
422
+ tabBarItemTitleFontStyle: fontStyle,
423
+ tabBarItemBadgeBackgroundColor: badgeBackgroundColor,
424
+ tabBarItemBadgeTextColor: badgeTextColor
425
+ }
426
+ },
427
+ ios: {
428
+ icon: icon?.ios ?? icon?.shared,
429
+ selectedIcon: selectedIcon?.ios ?? selectedIcon?.shared,
430
+ systemItem: tabBarSystemItem,
431
+ scrollEdgeAppearance: {
432
+ tabBarBackgroundColor,
433
+ tabBarShadowColor,
434
+ tabBarBlurEffect,
435
+ stacked: {
436
+ normal: tabItemAppearance
437
+ },
438
+ inline: {
439
+ normal: tabItemAppearance
440
+ },
441
+ compactInline: {
442
+ normal: tabItemAppearance
443
+ }
444
+ },
445
+ standardAppearance: {
446
+ tabBarBackgroundColor,
447
+ tabBarShadowColor,
448
+ tabBarBlurEffect,
449
+ stacked: {
450
+ normal: tabItemAppearance
451
+ },
452
+ inline: {
453
+ normal: tabItemAppearance
454
+ },
455
+ compactInline: {
456
+ normal: tabItemAppearance
457
+ }
458
+ },
459
+ overrideScrollViewContentInsetAdjustmentBehavior
460
+ },
461
+ children: /*#__PURE__*/_jsx(Deferred, {
462
+ lazy: lazy,
463
+ visible: isFocused || isPreloaded || loaded.includes(route.key),
464
+ children: /*#__PURE__*/_jsx(ActivityView, {
465
+ mode: isFocused ? 'normal' : isActive ? 'inert' : 'paused',
466
+ visible:
467
+ // We don't need to hide the content since it's handled natively
468
+ // Hiding may also cause flash due to lag after native tab switch
469
+ // So we leave it always visible
470
+ true,
471
+ style: StyleSheet.absoluteFill,
472
+ children: /*#__PURE__*/_jsx(ScreenContent, {
262
473
  isFocused: isFocused,
263
- children: /*#__PURE__*/_jsx(BottomTabBarHeightContext.Provider, {
264
- value: 0,
265
- children: /*#__PURE__*/_jsx(NavigationMetaContext.Provider, {
266
- value: meta,
267
- children: render()
474
+ route: route,
475
+ navigation: navigation,
476
+ options: options,
477
+ style: sceneStyle,
478
+ children: /*#__PURE__*/_jsx(AnimatedScreenContent, {
479
+ isFocused: isFocused,
480
+ children: /*#__PURE__*/_jsx(BottomTabBarHeightContext.Provider, {
481
+ value: 0,
482
+ children: /*#__PURE__*/_jsx(NavigationMetaContext.Provider, {
483
+ value: meta,
484
+ children: render()
485
+ })
268
486
  })
269
487
  })
270
488
  })
271
- })
489
+ }, route.key)
272
490
  })
273
491
  }, route.key);
274
492
  })
@@ -314,7 +532,10 @@ function getPlatformIcon(icon) {
314
532
  android: {
315
533
  type: 'imageSource',
316
534
  imageSource: MaterialSymbol.getImageSource({
317
- name: icon.name
535
+ name: icon.name,
536
+ variant: icon.variant,
537
+ weight: icon.weight,
538
+ size: ICON_SIZE
318
539
  })
319
540
  },
320
541
  shared: undefined
@@ -334,16 +555,6 @@ function getPlatformIcon(icon) {
334
555
  imageSource: icon.source
335
556
  }
336
557
  };
337
- case 'resource':
338
- return {
339
- // TODO: support xcasset once new version of react-native-screens is released
340
- ios: undefined,
341
- android: {
342
- type: 'drawableResource',
343
- name: icon.name
344
- },
345
- shared: undefined
346
- };
347
558
  default:
348
559
  {
349
560
  const _exhaustiveCheck = icon;
@@ -351,4 +562,11 @@ function getPlatformIcon(icon) {
351
562
  }
352
563
  }
353
564
  }
565
+ function getAndroidColorName(color) {
566
+ const value = color;
567
+ if (typeof value === 'object' && value != null && 'resource_paths' in value && Array.isArray(value.resource_paths) && typeof value.resource_paths[0] === 'string') {
568
+ return value.resource_paths[0].replace('@android:color/', '');
569
+ }
570
+ return null;
571
+ }
354
572
  //# sourceMappingURL=BottomTabViewNativeImpl.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getLabel","Color","Lazy","SafeAreaProviderCompat","CommonActions","MaterialSymbol","NavigationMetaContext","StackActions","useTheme","React","Animated","Platform","PlatformColor","Tabs","BottomTabAnimationContext","BottomTabBarHeightContext","useTabBarPosition","ScreenContent","jsx","_jsx","jsxs","_jsxs","ICON_SIZE","select","ios","default","meta","type","BottomTabViewNative","state","navigation","descriptors","tabBar","dark","colors","fonts","focusedRouteKey","routes","index","key","previousRouteKeyRef","useRef","useEffect","previousRouteKey","current","options","popToTopOnBlur","prevRoute","find","route","popToTopAction","popToTop","target","dispatch","currentOptions","fontFamily","medium","regular","fontWeight","fontSize","fontStyle","tabBarLabelStyle","activeTintColor","tabBarActiveTintColor","primary","inactiveTintColor","tabBarInactiveTintColor","text","activeIndicatorColor","tabBarActiveIndicatorColor","alpha","string","onTransitionStart","emit","onTransitionEnd","tabBarPosition","hasCustomTabBar","tabBarElement","tabBarControllerMode","tabBarMinimizeBehavior","bottomAccessory","style","flexDirection","children","Host","tabBarHidden","environment","placement","undefined","tabBarItemLabelVisibilityMode","tabBarLabelVisibilityMode","tabBarTintColor","tabBarItemIconColor","tabBarItemIconColorActive","tabBarItemTitleFontColor","tabBarItemTitleFontColorActive","tabBarItemTitleFontFamily","tabBarItemTitleFontWeight","tabBarItemTitleFontSize","tabBarItemTitleFontSizeActive","tabBarItemTitleFontStyle","tabBarBackgroundColor","tabBarStyle","backgroundColor","card","tabBarItemActiveIndicatorColor","tabBarItemActiveIndicatorEnabled","tabBarActiveIndicatorEnabled","tabBarItemRippleColor","tabBarRippleColor","experimentalControlNavigationStateInJS","onNativeFocusChange","e","nativeEvent","tabKey","event","canPreventDefault","defaultPrevented","Error","isFocused","findIndex","r","navigate","name","params","map","render","isPreloaded","preloadedRouteKeys","includes","title","lazy","tabBarLabel","tabBarBadgeStyle","tabBarIcon","tabBarBadge","tabBarSystemItem","tabBarBlurEffect","tabBarAccessibilityLabel","tabBarButtonTestID","sceneStyle","scrollEdgeEffects","shadowColor","tabBarShadowColor","tabTitle","OS","label","tabItemAppearance","badgeBackgroundColor","notification","badgeTextColor","color","isLight","getIcon","selected","result","focused","size","isValidElement","getPlatformIcon","icon","selectedIcon","Screen","onWillAppear","onDidAppear","shared","tabBarItemBadgeBackgroundColor","tabBarItemBadgeTextColor","tabBarItemAccessibilityLabel","tabBarItemTestID","badgeValue","toString","systemItem","top","bottom","left","right","scrollEdgeAppearance","standardAppearance","stacked","normal","inline","compactInline","specialEffects","repeatedTabSelection","popToRoot","scrollToTop","experimental_userInterfaceStyle","enabled","visible","AnimatedScreenContent","Provider","value","progress","useState","Value","useLayoutEffect","setValue","interpolationProps","useMemo","android","imageSource","getImageSource","tinted","source","templateSource","_exhaustiveCheck"],"sourceRoot":"../../../src","sources":["views/BottomTabViewNativeImpl.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getLabel","ActivityView","Color","SafeAreaProviderCompat","CommonActions","MaterialSymbol","NavigationMetaContext","StackActions","useTheme","React","Animated","Platform","PlatformColor","StyleSheet","Tabs","BottomTabAnimationContext","BottomTabBarHeightContext","useTabBarPosition","Deferred","ScreenContent","jsx","_jsx","jsxs","_jsxs","ICON_SIZE","select","ios","default","meta","type","reducer","state","action","lastTransition","confirmed","to","routeKey","provenance","BottomTabViewNative","navigation","descriptors","tabBar","dark","colors","fonts","focusedRoute","routes","index","Error","focusedRouteKey","key","loaded","setLoaded","useState","includes","nativeState","dispatch","useReducer","previousRouteKeyRef","useRef","useEffect","previousRouteKey","current","options","popToTopOnBlur","prevRoute","find","route","popToTopAction","popToTop","target","timer","setTimeout","clearTimeout","navigate","from","name","params","onTabSelected","event","selectedScreenKey","actionOrigin","nativeEvent","console","error","emit","canPreventDefault","defaultPrevented","onTabSelectionRejected","onTabSelectionPrevented","preventedScreenKey","currentOptions","fontFamily","medium","regular","fontWeight","fontSize","fontStyle","color","fontColor","tabBarLabelStyle","backgroundColor","tabBarStyle","background","shouldHideTabBar","display","activeIndicatorColor","tabBarActiveIndicatorColor","activeTintColor","tabBarActiveTintColor","inactiveTintColor","tabBarInactiveTintColor","OS","getAndroidColorName","text","primary","android","alpha","string","undefined","onTransitionStart","onTransitionEnd","tabBarPosition","hasCustomTabBar","tabBarElement","tabBarControllerMode","tabBarMinimizeBehavior","bottomAccessory","style","flexDirection","children","Host","navStateRequest","baseProvenance","rejectStaleNavStateUpdates","tabBarHidden","colorScheme","nativeContainerStyle","environment","placement","tabBarTintColor","map","descriptor","render","isFocused","isPreloaded","preloadedRouteKeys","title","lazy","inactiveBehavior","tabBarLabel","tabBarSelectionEnabled","tabBarBadgeStyle","tabBarIcon","tabBarBadge","tabBarSystemItem","tabBarBlurEffect","tabBarAccessibilityLabel","tabBarButtonTestID","sceneStyle","overrideScrollViewContentInsetAdjustmentBehavior","tabBarBackgroundColor","shadowColor","tabBarShadowColor","tabTitle","label","badgeBackgroundColor","notification","badgeTextColor","foreground","tabItemAppearance","tabBarItemTitleFontFamily","tabBarItemTitleFontSize","tabBarItemTitleFontWeight","tabBarItemTitleFontStyle","tabBarItemTitleFontColor","tabBarItemIconColor","tabBarItemBadgeBackgroundColor","normalTabItemAppearance","selectedTabItemAppearance","getIcon","selected","result","focused","size","isValidElement","getPlatformIcon","icon","selectedIcon","isActive","Screen","onWillAppear","onDidAppear","screenKey","tabBarItemAccessibilityLabel","tabBarItemTestID","preventNativeSelection","badgeValue","toString","specialEffects","repeatedTabSelection","popToRoot","scrollToTop","shared","standardAppearance","tabBarItemRippleColor","tabBarRippleColor","tabBarItemLabelVisibilityMode","tabBarLabelVisibilityMode","normal","tabBarItemActiveIndicatorColor","tabBarItemActiveIndicatorEnabled","tabBarActiveIndicatorEnabled","tabBarItemTitleSmallLabelFontSize","tabBarItemTitleLargeLabelFontSize","tabBarItemBadgeTextColor","systemItem","scrollEdgeAppearance","stacked","inline","compactInline","visible","mode","absoluteFill","AnimatedScreenContent","Provider","value","progress","Value","useLayoutEffect","setValue","interpolationProps","useMemo","imageSource","getImageSource","variant","weight","tinted","source","templateSource","_exhaustiveCheck","Array","isArray","resource_paths","replace"],"sourceRoot":"../../../src","sources":["views/BottomTabViewNativeImpl.tsx"],"mappings":"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","ignoreList":[]}