@react-navigation/bottom-tabs 7.0.0-rc.9 → 7.0.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.
Files changed (148) hide show
  1. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +2 -2
  2. package/lib/commonjs/index.js +9 -9
  3. package/lib/commonjs/navigators/createBottomTabNavigator.js +12 -12
  4. package/lib/commonjs/navigators/createBottomTabNavigator.js.map +1 -1
  5. package/lib/commonjs/package.json +1 -0
  6. package/lib/commonjs/utils/useBottomTabBarHeight.js +1 -1
  7. package/lib/commonjs/views/Badge.js +6 -4
  8. package/lib/commonjs/views/Badge.js.map +1 -1
  9. package/lib/commonjs/views/BottomTabBar.js +115 -93
  10. package/lib/commonjs/views/BottomTabBar.js.map +1 -1
  11. package/lib/commonjs/views/BottomTabItem.js +79 -52
  12. package/lib/commonjs/views/BottomTabItem.js.map +1 -1
  13. package/lib/commonjs/views/BottomTabView.js +124 -100
  14. package/lib/commonjs/views/BottomTabView.js.map +1 -1
  15. package/lib/commonjs/views/ScreenFallback.js +15 -9
  16. package/lib/commonjs/views/ScreenFallback.js.map +1 -1
  17. package/lib/commonjs/views/TabBarIcon.js +33 -28
  18. package/lib/commonjs/views/TabBarIcon.js.map +1 -1
  19. package/lib/module/TransitionConfigs/SceneStyleInterpolators.js +2 -0
  20. package/lib/module/TransitionConfigs/SceneStyleInterpolators.js.map +1 -1
  21. package/lib/module/TransitionConfigs/TransitionPresets.js +4 -2
  22. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
  23. package/lib/module/TransitionConfigs/TransitionSpecs.js +2 -0
  24. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
  25. package/lib/module/index.js +11 -9
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/navigators/createBottomTabNavigator.js +14 -10
  28. package/lib/module/navigators/createBottomTabNavigator.js.map +1 -1
  29. package/lib/module/package.json +1 -0
  30. package/lib/module/types.js +2 -0
  31. package/lib/module/utils/BottomTabBarHeightCallbackContext.js +2 -0
  32. package/lib/module/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
  33. package/lib/module/utils/BottomTabBarHeightContext.js +2 -0
  34. package/lib/module/utils/BottomTabBarHeightContext.js.map +1 -1
  35. package/lib/module/utils/useAnimatedHashMap.js +2 -0
  36. package/lib/module/utils/useAnimatedHashMap.js.map +1 -1
  37. package/lib/module/utils/useBottomTabBarHeight.js +3 -1
  38. package/lib/module/utils/useBottomTabBarHeight.js.map +1 -1
  39. package/lib/module/utils/useIsKeyboardShown.js +2 -0
  40. package/lib/module/utils/useIsKeyboardShown.js.map +1 -1
  41. package/lib/module/views/Badge.js +8 -4
  42. package/lib/module/views/Badge.js.map +1 -1
  43. package/lib/module/views/BottomTabBar.js +117 -93
  44. package/lib/module/views/BottomTabBar.js.map +1 -1
  45. package/lib/module/views/BottomTabItem.js +81 -52
  46. package/lib/module/views/BottomTabItem.js.map +1 -1
  47. package/lib/module/views/BottomTabView.js +126 -100
  48. package/lib/module/views/BottomTabView.js.map +1 -1
  49. package/lib/module/views/ScreenFallback.js +17 -9
  50. package/lib/module/views/ScreenFallback.js.map +1 -1
  51. package/lib/module/views/TabBarIcon.js +35 -28
  52. package/lib/module/views/TabBarIcon.js.map +1 -1
  53. package/lib/typescript/commonjs/package.json +1 -0
  54. package/lib/typescript/commonjs/src/TransitionConfigs/SceneStyleInterpolators.d.ts.map +1 -0
  55. package/lib/typescript/commonjs/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  56. package/lib/typescript/commonjs/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  57. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  58. package/lib/typescript/{src → commonjs/src}/navigators/createBottomTabNavigator.d.ts +3 -4
  59. package/lib/typescript/commonjs/src/navigators/createBottomTabNavigator.d.ts.map +1 -0
  60. package/lib/typescript/{src → commonjs/src}/types.d.ts +21 -4
  61. package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
  62. package/lib/typescript/commonjs/src/utils/BottomTabBarHeightCallbackContext.d.ts.map +1 -0
  63. package/lib/typescript/commonjs/src/utils/BottomTabBarHeightContext.d.ts.map +1 -0
  64. package/lib/typescript/commonjs/src/utils/useAnimatedHashMap.d.ts.map +1 -0
  65. package/lib/typescript/commonjs/src/utils/useBottomTabBarHeight.d.ts.map +1 -0
  66. package/lib/typescript/commonjs/src/utils/useIsKeyboardShown.d.ts.map +1 -0
  67. package/lib/typescript/{src → commonjs/src}/views/Badge.d.ts +1 -2
  68. package/lib/typescript/commonjs/src/views/Badge.d.ts.map +1 -0
  69. package/lib/typescript/{src → commonjs/src}/views/BottomTabBar.d.ts +1 -2
  70. package/lib/typescript/commonjs/src/views/BottomTabBar.d.ts.map +1 -0
  71. package/lib/typescript/{src → commonjs/src}/views/BottomTabItem.d.ts +5 -1
  72. package/lib/typescript/commonjs/src/views/BottomTabItem.d.ts.map +1 -0
  73. package/lib/typescript/{src → commonjs/src}/views/BottomTabView.d.ts +1 -2
  74. package/lib/typescript/commonjs/src/views/BottomTabView.d.ts.map +1 -0
  75. package/lib/typescript/{src → commonjs/src}/views/ScreenFallback.d.ts +2 -2
  76. package/lib/typescript/commonjs/src/views/ScreenFallback.d.ts.map +1 -0
  77. package/lib/typescript/{src → commonjs/src}/views/TabBarIcon.d.ts +2 -2
  78. package/lib/typescript/commonjs/src/views/TabBarIcon.d.ts.map +1 -0
  79. package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -0
  80. package/lib/typescript/module/package.json +1 -0
  81. package/lib/typescript/module/src/TransitionConfigs/SceneStyleInterpolators.d.ts +10 -0
  82. package/lib/typescript/module/src/TransitionConfigs/SceneStyleInterpolators.d.ts.map +1 -0
  83. package/lib/typescript/module/src/TransitionConfigs/TransitionPresets.d.ts +4 -0
  84. package/lib/typescript/module/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  85. package/lib/typescript/module/src/TransitionConfigs/TransitionSpecs.d.ts +4 -0
  86. package/lib/typescript/module/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  87. package/lib/typescript/module/src/index.d.ts +27 -0
  88. package/lib/typescript/module/src/index.d.ts.map +1 -0
  89. package/lib/typescript/module/src/navigators/createBottomTabNavigator.d.ts +17 -0
  90. package/lib/typescript/module/src/navigators/createBottomTabNavigator.d.ts.map +1 -0
  91. package/lib/typescript/module/src/types.d.ts +326 -0
  92. package/lib/typescript/module/src/types.d.ts.map +1 -0
  93. package/lib/typescript/module/src/utils/BottomTabBarHeightCallbackContext.d.ts +3 -0
  94. package/lib/typescript/module/src/utils/BottomTabBarHeightCallbackContext.d.ts.map +1 -0
  95. package/lib/typescript/module/src/utils/BottomTabBarHeightContext.d.ts +3 -0
  96. package/lib/typescript/module/src/utils/BottomTabBarHeightContext.d.ts.map +1 -0
  97. package/lib/typescript/module/src/utils/useAnimatedHashMap.d.ts +4 -0
  98. package/lib/typescript/module/src/utils/useAnimatedHashMap.d.ts.map +1 -0
  99. package/lib/typescript/module/src/utils/useBottomTabBarHeight.d.ts +2 -0
  100. package/lib/typescript/module/src/utils/useBottomTabBarHeight.d.ts.map +1 -0
  101. package/lib/typescript/module/src/utils/useIsKeyboardShown.d.ts +2 -0
  102. package/lib/typescript/module/src/utils/useIsKeyboardShown.d.ts.map +1 -0
  103. package/lib/typescript/module/src/views/Badge.d.ts +22 -0
  104. package/lib/typescript/module/src/views/Badge.d.ts.map +1 -0
  105. package/lib/typescript/module/src/views/BottomTabBar.d.ts +22 -0
  106. package/lib/typescript/module/src/views/BottomTabBar.d.ts.map +1 -0
  107. package/lib/typescript/module/src/views/BottomTabItem.d.ts +125 -0
  108. package/lib/typescript/module/src/views/BottomTabItem.d.ts.map +1 -0
  109. package/lib/typescript/module/src/views/BottomTabView.d.ts +10 -0
  110. package/lib/typescript/module/src/views/BottomTabView.d.ts.map +1 -0
  111. package/lib/typescript/module/src/views/ScreenFallback.d.ts +17 -0
  112. package/lib/typescript/module/src/views/ScreenFallback.d.ts.map +1 -0
  113. package/lib/typescript/module/src/views/TabBarIcon.d.ts +23 -0
  114. package/lib/typescript/module/src/views/TabBarIcon.d.ts.map +1 -0
  115. package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -0
  116. package/package.json +41 -17
  117. package/src/navigators/createBottomTabNavigator.tsx +6 -7
  118. package/src/types.tsx +20 -4
  119. package/src/views/BottomTabBar.tsx +56 -22
  120. package/src/views/BottomTabItem.tsx +90 -25
  121. package/src/views/BottomTabView.tsx +22 -4
  122. package/src/views/TabBarIcon.tsx +12 -11
  123. package/lib/typescript/src/TransitionConfigs/SceneStyleInterpolators.d.ts.map +0 -1
  124. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +0 -1
  125. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +0 -1
  126. package/lib/typescript/src/index.d.ts.map +0 -1
  127. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts.map +0 -1
  128. package/lib/typescript/src/types.d.ts.map +0 -1
  129. package/lib/typescript/src/utils/BottomTabBarHeightCallbackContext.d.ts.map +0 -1
  130. package/lib/typescript/src/utils/BottomTabBarHeightContext.d.ts.map +0 -1
  131. package/lib/typescript/src/utils/useAnimatedHashMap.d.ts.map +0 -1
  132. package/lib/typescript/src/utils/useBottomTabBarHeight.d.ts.map +0 -1
  133. package/lib/typescript/src/utils/useIsKeyboardShown.d.ts.map +0 -1
  134. package/lib/typescript/src/views/Badge.d.ts.map +0 -1
  135. package/lib/typescript/src/views/BottomTabBar.d.ts.map +0 -1
  136. package/lib/typescript/src/views/BottomTabItem.d.ts.map +0 -1
  137. package/lib/typescript/src/views/BottomTabView.d.ts.map +0 -1
  138. package/lib/typescript/src/views/ScreenFallback.d.ts.map +0 -1
  139. package/lib/typescript/src/views/TabBarIcon.d.ts.map +0 -1
  140. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/SceneStyleInterpolators.d.ts +0 -0
  141. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/TransitionPresets.d.ts +0 -0
  142. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/TransitionSpecs.d.ts +0 -0
  143. /package/lib/typescript/{src → commonjs/src}/index.d.ts +0 -0
  144. /package/lib/typescript/{src → commonjs/src}/utils/BottomTabBarHeightCallbackContext.d.ts +0 -0
  145. /package/lib/typescript/{src → commonjs/src}/utils/BottomTabBarHeightContext.d.ts +0 -0
  146. /package/lib/typescript/{src → commonjs/src}/utils/useAnimatedHashMap.d.ts +0 -0
  147. /package/lib/typescript/{src → commonjs/src}/utils/useBottomTabBarHeight.d.ts +0 -0
  148. /package/lib/typescript/{src → commonjs/src}/utils/useIsKeyboardShown.d.ts +0 -0
@@ -13,7 +13,6 @@ import {
13
13
  useLocale,
14
14
  useTheme,
15
15
  } from '@react-navigation/native';
16
- import Color from 'color';
17
16
  import React from 'react';
18
17
  import {
19
18
  Animated,
@@ -38,10 +37,11 @@ type Props = BottomTabBarProps & {
38
37
  style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;
39
38
  };
40
39
 
41
- const DEFAULT_TABBAR_HEIGHT = 49;
42
- const COMPACT_TABBAR_HEIGHT = 32;
40
+ const TABBAR_HEIGHT_UIKIT = 49;
41
+ const TABBAR_HEIGHT_UIKIT_COMPACT = 32;
42
+ const SPACING_UIKIT = 15;
43
+ const SPACING_MATERIAL = 12;
43
44
  const DEFAULT_MAX_TAB_ITEM_WIDTH = 125;
44
- const SPACING = 12;
45
45
 
46
46
  const useNativeDriver = Platform.OS !== 'web';
47
47
 
@@ -92,6 +92,17 @@ const shouldUseHorizontalLabels = ({
92
92
  };
93
93
 
94
94
  const isCompact = ({ state, descriptors, dimensions }: Options): boolean => {
95
+ const { tabBarPosition, tabBarVariant } =
96
+ descriptors[state.routes[state.index].key].options;
97
+
98
+ if (
99
+ tabBarPosition === 'left' ||
100
+ tabBarPosition === 'right' ||
101
+ tabBarVariant === 'material'
102
+ ) {
103
+ return false;
104
+ }
105
+
95
106
  const isLandscape = dimensions.width > dimensions.height;
96
107
  const horizontalLabels = shouldUseHorizontalLabels({
97
108
  state,
@@ -136,10 +147,10 @@ export const getTabBarHeight = ({
136
147
  const inset = insets[tabBarPosition === 'top' ? 'top' : 'bottom'];
137
148
 
138
149
  if (isCompact({ state, descriptors, dimensions })) {
139
- return COMPACT_TABBAR_HEIGHT + inset;
150
+ return TABBAR_HEIGHT_UIKIT_COMPACT + inset;
140
151
  }
141
152
 
142
- return DEFAULT_TABBAR_HEIGHT + inset;
153
+ return TABBAR_HEIGHT_UIKIT + inset;
143
154
  };
144
155
 
145
156
  export function BottomTabBar({
@@ -160,22 +171,38 @@ export function BottomTabBar({
160
171
  const {
161
172
  tabBarPosition = 'bottom',
162
173
  tabBarShowLabel,
174
+ tabBarLabelPosition,
163
175
  tabBarHideOnKeyboard = false,
164
176
  tabBarVisibilityAnimationConfig,
177
+ tabBarVariant = 'uikit',
165
178
  tabBarStyle,
166
179
  tabBarBackground,
167
180
  tabBarActiveTintColor,
168
181
  tabBarInactiveTintColor,
169
- tabBarActiveBackgroundColor = tabBarPosition !== 'bottom' &&
170
- tabBarPosition !== 'top'
171
- ? Color(tabBarActiveTintColor ?? colors.primary)
172
- .alpha(0.12)
173
- .rgb()
174
- .string()
175
- : undefined,
182
+ tabBarActiveBackgroundColor,
176
183
  tabBarInactiveBackgroundColor,
177
184
  } = focusedOptions;
178
185
 
186
+ if (
187
+ tabBarVariant === 'material' &&
188
+ tabBarPosition !== 'left' &&
189
+ tabBarPosition !== 'right'
190
+ ) {
191
+ throw new Error(
192
+ "The 'material' variant for tab bar is only supported when 'tabBarPosition' is set to 'left' or 'right'."
193
+ );
194
+ }
195
+
196
+ if (
197
+ tabBarLabelPosition === 'below-icon' &&
198
+ tabBarVariant === 'uikit' &&
199
+ (tabBarPosition === 'left' || tabBarPosition === 'right')
200
+ ) {
201
+ throw new Error(
202
+ "The 'below-icon' label position for tab bar is only supported when 'tabBarPosition' is set to 'top' or 'bottom' when using the 'uikit' variant."
203
+ );
204
+ }
205
+
179
206
  const dimensions = useSafeAreaFrame();
180
207
  const isKeyboardShown = useIsKeyboardShown();
181
208
 
@@ -217,6 +244,7 @@ export function BottomTabBar({
217
244
  }
218
245
  });
219
246
  } else {
247
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
220
248
  setIsTabBarHidden(true);
221
249
 
222
250
  const animation =
@@ -271,6 +299,8 @@ export function BottomTabBar({
271
299
 
272
300
  const compact = isCompact({ state, descriptors, dimensions });
273
301
  const sidebar = tabBarPosition === 'left' || tabBarPosition === 'right';
302
+ const spacing =
303
+ tabBarVariant === 'material' ? SPACING_MATERIAL : SPACING_UIKIT;
274
304
 
275
305
  const tabBarBackgroundElement = tabBarBackground?.();
276
306
 
@@ -307,13 +337,13 @@ export function BottomTabBar({
307
337
  sidebar
308
338
  ? {
309
339
  paddingTop:
310
- (hasHorizontalLabels ? SPACING : SPACING / 2) + insets.top,
340
+ (hasHorizontalLabels ? spacing : spacing / 2) + insets.top,
311
341
  paddingBottom:
312
- (hasHorizontalLabels ? SPACING : SPACING / 2) + insets.bottom,
342
+ (hasHorizontalLabels ? spacing : spacing / 2) + insets.bottom,
313
343
  paddingStart:
314
- SPACING + (tabBarPosition === 'left' ? insets.left : 0),
344
+ spacing + (tabBarPosition === 'left' ? insets.left : 0),
315
345
  paddingEnd:
316
- SPACING + (tabBarPosition === 'right' ? insets.right : 0),
346
+ spacing + (tabBarPosition === 'right' ? insets.right : 0),
317
347
  minWidth: hasHorizontalLabels
318
348
  ? getDefaultSidebarWidth(dimensions)
319
349
  : 0,
@@ -410,7 +440,8 @@ export function BottomTabBar({
410
440
  focused={focused}
411
441
  horizontal={hasHorizontalLabels}
412
442
  compact={compact}
413
- variant={sidebar ? 'material' : 'uikit'}
443
+ sidebar={sidebar}
444
+ variant={tabBarVariant}
414
445
  onPress={onPress}
415
446
  onLongPress={onLongPress}
416
447
  accessibilityLabel={accessibilityLabel}
@@ -435,7 +466,13 @@ export function BottomTabBar({
435
466
  iconStyle={options.tabBarIconStyle}
436
467
  style={[
437
468
  sidebar
438
- ? !hasHorizontalLabels && styles.sideItemVertical
469
+ ? {
470
+ marginVertical: hasHorizontalLabels
471
+ ? tabBarVariant === 'material'
472
+ ? 0
473
+ : 1
474
+ : spacing / 2,
475
+ }
439
476
  : styles.bottomItem,
440
477
  options.tabBarItemStyle,
441
478
  ]}
@@ -477,7 +514,4 @@ const styles = StyleSheet.create({
477
514
  bottomItem: {
478
515
  flex: 1,
479
516
  },
480
- sideItemVertical: {
481
- marginVertical: SPACING / 2,
482
- },
483
517
  });
@@ -94,6 +94,10 @@ type Props = {
94
94
  * Whether to render the icon and label in compact mode.
95
95
  */
96
96
  compact: boolean;
97
+ /**
98
+ * Whether the tab is an item in a side bar.
99
+ */
100
+ sidebar: boolean;
97
101
  /**
98
102
  * Variant of navigation bar styling
99
103
  * - `uikit`: iOS UIKit style
@@ -138,6 +142,10 @@ type Props = {
138
142
  style?: StyleProp<ViewStyle>;
139
143
  };
140
144
 
145
+ const renderButtonDefault = (props: BottomTabBarButtonProps) => (
146
+ <PlatformPressable {...props} />
147
+ );
148
+
141
149
  export function BottomTabItem({
142
150
  route,
143
151
  href,
@@ -147,17 +155,18 @@ export function BottomTabItem({
147
155
  icon,
148
156
  badge,
149
157
  badgeStyle,
150
- button = (props: BottomTabBarButtonProps) => <PlatformPressable {...props} />,
158
+ button = renderButtonDefault,
151
159
  accessibilityLabel,
152
160
  testID,
153
161
  onPress,
154
162
  onLongPress,
155
163
  horizontal,
156
164
  compact,
165
+ sidebar,
157
166
  variant,
158
167
  activeTintColor: customActiveTintColor,
159
168
  inactiveTintColor: customInactiveTintColor,
160
- activeBackgroundColor = 'transparent',
169
+ activeBackgroundColor: customActiveBackgroundColor,
161
170
  inactiveBackgroundColor = 'transparent',
162
171
  showLabel = true,
163
172
  allowFontScaling,
@@ -168,21 +177,47 @@ export function BottomTabItem({
168
177
  const { colors, fonts } = useTheme();
169
178
 
170
179
  const activeTintColor =
171
- customActiveTintColor === undefined
172
- ? colors.primary
173
- : customActiveTintColor;
180
+ customActiveTintColor ??
181
+ (variant === 'uikit' && sidebar && horizontal
182
+ ? Color(colors.primary).isDark()
183
+ ? 'white'
184
+ : Color(colors.primary).darken(0.71).string()
185
+ : colors.primary);
174
186
 
175
187
  const inactiveTintColor =
176
188
  customInactiveTintColor === undefined
177
- ? Color(colors.text).mix(Color(colors.card), 0.5).hex()
189
+ ? variant === 'material'
190
+ ? Color(colors.text).alpha(0.68).rgb().string()
191
+ : Color(colors.text).mix(Color(colors.card), 0.5).hex()
178
192
  : customInactiveTintColor;
179
193
 
194
+ const activeBackgroundColor =
195
+ customActiveBackgroundColor ??
196
+ (variant === 'material'
197
+ ? Color(activeTintColor).alpha(0.12).rgb().string()
198
+ : sidebar && horizontal
199
+ ? colors.primary
200
+ : 'transparent');
201
+
202
+ let labelInactiveTintColor = inactiveTintColor;
203
+ let iconInactiveTintColor = inactiveTintColor;
204
+
205
+ if (
206
+ variant === 'uikit' &&
207
+ sidebar &&
208
+ horizontal &&
209
+ customInactiveTintColor === undefined
210
+ ) {
211
+ iconInactiveTintColor = colors.primary;
212
+ labelInactiveTintColor = colors.text;
213
+ }
214
+
180
215
  const renderLabel = ({ focused }: { focused: boolean }) => {
181
216
  if (showLabel === false) {
182
217
  return null;
183
218
  }
184
219
 
185
- const color = focused ? activeTintColor : inactiveTintColor;
220
+ const color = focused ? activeTintColor : labelInactiveTintColor;
186
221
 
187
222
  if (typeof label !== 'string') {
188
223
  const { options } = descriptor;
@@ -211,15 +246,19 @@ export function BottomTabItem({
211
246
  horizontal
212
247
  ? [
213
248
  styles.labelBeside,
214
- { marginStart: icon !== undefined ? 16 : 0 },
215
249
  variant === 'material'
216
- ? styles.labelBesideMaterial
217
- : compact
218
- ? styles.labelBesideUikitCompact
219
- : styles.labelBesideUikit,
250
+ ? styles.labelSidebarMaterial
251
+ : sidebar
252
+ ? styles.labelSidebarUiKit
253
+ : compact
254
+ ? styles.labelBesideUikitCompact
255
+ : styles.labelBesideUikit,
256
+ icon == null && { marginStart: 0 },
220
257
  ]
221
258
  : styles.labelBeneath,
222
- compact ? fonts.regular : fonts.medium,
259
+ compact || (variant === 'uikit' && sidebar && horizontal)
260
+ ? fonts.regular
261
+ : fonts.medium,
223
262
  labelStyle,
224
263
  ]}
225
264
  allowFontScaling={allowFontScaling}
@@ -242,13 +281,13 @@ export function BottomTabItem({
242
281
  <TabBarIcon
243
282
  route={route}
244
283
  variant={variant}
245
- compact={compact}
284
+ size={compact ? 'compact' : 'regular'}
246
285
  badge={badge}
247
286
  badgeStyle={badgeStyle}
248
287
  activeOpacity={activeOpacity}
249
288
  inactiveOpacity={inactiveOpacity}
250
289
  activeTintColor={activeTintColor}
251
- inactiveTintColor={inactiveTintColor}
290
+ inactiveTintColor={iconInactiveTintColor}
252
291
  renderIcon={icon}
253
292
  style={iconStyle}
254
293
  />
@@ -262,7 +301,14 @@ export function BottomTabItem({
262
301
  : inactiveBackgroundColor;
263
302
 
264
303
  const { flex } = StyleSheet.flatten(style || {});
265
- const borderRadius = variant === 'material' ? (horizontal ? 56 : 16) : 0;
304
+ const borderRadius =
305
+ variant === 'material'
306
+ ? horizontal
307
+ ? 56
308
+ : 16
309
+ : sidebar && horizontal
310
+ ? 10
311
+ : 0;
266
312
 
267
313
  return (
268
314
  <View
@@ -288,18 +334,26 @@ export function BottomTabItem({
288
334
  accessibilityStates: focused ? ['selected'] : [],
289
335
  android_ripple: { borderless: true },
290
336
  hoverEffect:
291
- variant === 'material' ? { color: colors.text } : undefined,
337
+ variant === 'material' || (sidebar && horizontal)
338
+ ? { color: colors.text }
339
+ : undefined,
292
340
  pressOpacity: 1,
293
341
  style: [
294
342
  styles.tab,
295
343
  { flex, backgroundColor, borderRadius },
296
- horizontal
344
+ sidebar
297
345
  ? variant === 'material'
298
- ? styles.tabHorizontalMaterial
299
- : styles.tabHorizontalUiKit
346
+ ? horizontal
347
+ ? styles.tabBarSidebarMaterial
348
+ : styles.tabVerticalMaterial
349
+ : horizontal
350
+ ? styles.tabBarSidebarUiKit
351
+ : styles.tabVerticalUiKit
300
352
  : variant === 'material'
301
353
  ? styles.tabVerticalMaterial
302
- : styles.tabVerticalUiKit,
354
+ : horizontal
355
+ ? styles.tabHorizontalUiKit
356
+ : styles.tabVerticalUiKit,
303
357
  ],
304
358
  children: (
305
359
  <React.Fragment>
@@ -332,7 +386,14 @@ const styles = StyleSheet.create({
332
386
  flexDirection: 'row',
333
387
  padding: 5,
334
388
  },
335
- tabHorizontalMaterial: {
389
+ tabBarSidebarUiKit: {
390
+ justifyContent: 'flex-start',
391
+ alignItems: 'center',
392
+ flexDirection: 'row',
393
+ paddingVertical: 7,
394
+ paddingHorizontal: 5,
395
+ },
396
+ tabBarSidebarMaterial: {
336
397
  justifyContent: 'flex-start',
337
398
  alignItems: 'center',
338
399
  flexDirection: 'row',
@@ -340,6 +401,13 @@ const styles = StyleSheet.create({
340
401
  paddingStart: 16,
341
402
  paddingEnd: 24,
342
403
  },
404
+ labelSidebarMaterial: {
405
+ marginStart: 12,
406
+ },
407
+ labelSidebarUiKit: {
408
+ fontSize: 17,
409
+ marginStart: 10,
410
+ },
343
411
  labelBeneath: {
344
412
  fontSize: 10,
345
413
  },
@@ -347,9 +415,6 @@ const styles = StyleSheet.create({
347
415
  marginEnd: 12,
348
416
  lineHeight: 24,
349
417
  },
350
- labelBesideMaterial: {
351
- marginStart: 12,
352
- },
353
418
  labelBesideUikit: {
354
419
  fontSize: 13,
355
420
  marginStart: 5,
@@ -64,12 +64,16 @@ const hasAnimation = (options: BottomTabNavigationOptions) => {
64
64
  return animation !== 'none';
65
65
  }
66
66
 
67
- return !transitionSpec;
67
+ return Boolean(transitionSpec);
68
68
  };
69
69
 
70
+ const renderTabBarDefault = (props: BottomTabBarProps) => (
71
+ <BottomTabBar {...props} />
72
+ );
73
+
70
74
  export function BottomTabView(props: Props) {
71
75
  const {
72
- tabBar = (props: BottomTabBarProps) => <BottomTabBar {...props} />,
76
+ tabBar = renderTabBarDefault,
73
77
  state,
74
78
  navigation,
75
79
  descriptors,
@@ -77,7 +81,6 @@ export function BottomTabView(props: Props) {
77
81
  detachInactiveScreens = Platform.OS === 'web' ||
78
82
  Platform.OS === 'android' ||
79
83
  Platform.OS === 'ios',
80
- sceneContainerStyle,
81
84
  } = props;
82
85
 
83
86
  const focusedRouteKey = state.routes[state.index].key;
@@ -119,6 +122,13 @@ export function BottomTabView(props: Props) {
119
122
  }
120
123
 
121
124
  const animateToIndex = () => {
125
+ if (previousRouteKey !== focusedRouteKey) {
126
+ navigation.emit({
127
+ type: 'transitionStart',
128
+ target: focusedRouteKey,
129
+ });
130
+ }
131
+
122
132
  Animated.parallel(
123
133
  state.routes
124
134
  .map((route, index) => {
@@ -156,6 +166,13 @@ export function BottomTabView(props: Props) {
156
166
  if (finished && popToTopAction) {
157
167
  navigation.dispatch(popToTopAction);
158
168
  }
169
+
170
+ if (previousRouteKey !== focusedRouteKey) {
171
+ navigation.emit({
172
+ type: 'transitionEnd',
173
+ target: focusedRouteKey,
174
+ });
175
+ }
159
176
  });
160
177
  };
161
178
 
@@ -268,6 +285,7 @@ export function BottomTabView(props: Props) {
268
285
  headerShown,
269
286
  headerStatusBarHeight,
270
287
  headerTransparent,
288
+ sceneStyle: customSceneStyle,
271
289
  } = descriptor.options;
272
290
 
273
291
  const { sceneStyle } =
@@ -317,7 +335,7 @@ export function BottomTabView(props: Props) {
317
335
  descriptor.navigation as BottomTabNavigationProp<ParamListBase>,
318
336
  options: descriptor.options,
319
337
  })}
320
- style={[sceneContainerStyle, animationEnabled && sceneStyle]}
338
+ style={[customSceneStyle, animationEnabled && sceneStyle]}
321
339
  >
322
340
  {descriptor.render()}
323
341
  </Screen>
@@ -13,7 +13,7 @@ import { Badge } from './Badge';
13
13
  type Props = {
14
14
  route: Route<string>;
15
15
  variant: 'uikit' | 'material';
16
- compact: boolean;
16
+ size: 'compact' | 'regular';
17
17
  badge?: string | number;
18
18
  badgeStyle?: StyleProp<TextStyle>;
19
19
  activeOpacity: number;
@@ -43,7 +43,7 @@ const ICON_SIZE_MATERIAL = 24;
43
43
  export function TabBarIcon({
44
44
  route: _,
45
45
  variant,
46
- compact,
46
+ size,
47
47
  badge,
48
48
  badgeStyle,
49
49
  activeOpacity,
@@ -53,11 +53,12 @@ export function TabBarIcon({
53
53
  renderIcon,
54
54
  style,
55
55
  }: Props) {
56
- const size = compact
57
- ? ICON_SIZE_ROUND_COMPACT
58
- : variant === 'material'
56
+ const iconSize =
57
+ variant === 'material'
59
58
  ? ICON_SIZE_MATERIAL
60
- : ICON_SIZE_ROUND;
59
+ : size === 'compact'
60
+ ? ICON_SIZE_ROUND_COMPACT
61
+ : ICON_SIZE_ROUND;
61
62
 
62
63
  // We render the icon twice at the same position on top of each other:
63
64
  // active and inactive one, so we can fade between them.
@@ -66,7 +67,7 @@ export function TabBarIcon({
66
67
  style={[
67
68
  variant === 'material'
68
69
  ? styles.wrapperMaterial
69
- : compact
70
+ : size === 'compact'
70
71
  ? styles.wrapperUikitCompact
71
72
  : styles.wrapperUikit,
72
73
  style,
@@ -78,27 +79,27 @@ export function TabBarIcon({
78
79
  {
79
80
  opacity: activeOpacity,
80
81
  // Workaround for react-native >= 0.54 layout bug
81
- minWidth: size,
82
+ minWidth: iconSize,
82
83
  },
83
84
  ]}
84
85
  >
85
86
  {renderIcon({
86
87
  focused: true,
87
- size,
88
+ size: iconSize,
88
89
  color: activeTintColor,
89
90
  })}
90
91
  </View>
91
92
  <View style={[styles.icon, { opacity: inactiveOpacity }]}>
92
93
  {renderIcon({
93
94
  focused: false,
94
- size,
95
+ size: iconSize,
95
96
  color: inactiveTintColor,
96
97
  })}
97
98
  </View>
98
99
  <Badge
99
100
  visible={badge != null}
100
101
  style={[styles.badge, badgeStyle]}
101
- size={size * 0.75}
102
+ size={iconSize * 0.75}
102
103
  >
103
104
  {badge}
104
105
  </Badge>
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneStyleInterpolators.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/SceneStyleInterpolators.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,GACR,EAAE,gCAAgC,GAAG,+BAA+B,CASpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,GACR,EAAE,gCAAgC,GAAG,+BAA+B,CAiBpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransitionPresets.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/TransitionPresets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAI1D,eAAO,MAAM,cAAc,EAAE,yBAG5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,yBAG7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransitionSpecs.d.ts","sourceRoot":"","sources":["../../../../src/TransitionConfigs/TransitionSpecs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,QAAQ,EAAE,cAMtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,cAMvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,iBAAiB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AAEvE;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;GAEG;AACH,YAAY,EACV,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBottomTabNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigators/createBottomTabNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAGlB,KAAK,KAAK,GAAG,uBAAuB,CAClC,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,kBAAkB,CAAC,aAAa,CAAC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,CAAC,aAAa,CAAC,CACvC,GACC,gBAAgB,GAChB,yBAAyB,CAAC;AAE5B,iBAAS,kBAAkB,CAAC,EAC1B,EAAE,EACF,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,oCAAoC,EACpC,GAAG,IAAI,EACR,EAAE,KAAK,qBA8BP;AAED,wBAAgB,wBAAwB,CACtC,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAClD,OAAO,SAAS,oBAAoB,GAAG;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrC,aAAa,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,EAAE,2BAA2B,CAAC;IACtC,cAAc,EAAE;SACb,SAAS,IAAI,MAAM,SAAS,GAAG,uBAAuB,CACrD,SAAS,EACT,SAAS,EACT,WAAW,CACZ;KACF,CAAC;IACF,SAAS,EAAE,OAAO,kBAAkB,CAAC;CACtC,EACD,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAC5D,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAElD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BottomTabBarHeightCallbackContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/BottomTabBarHeightCallbackContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,iCAAiC,0BAClC,MAAM,KAAK,IAAI,cACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BottomTabBarHeightContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/BottomTabBarHeightContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,yBAAyB,mCAE1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAnimatedHashMap.d.ts","sourceRoot":"","sources":["../../../../src/utils/useAnimatedHashMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe,kCAoBpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBottomTabBarHeight.d.ts","sourceRoot":"","sources":["../../../../src/utils/useBottomTabBarHeight.tsx"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,WAUpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsKeyboardShown.d.ts","sourceRoot":"","sources":["../../../../src/utils/useIsKeyboardShown.tsx"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,YA2BjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/views/Badge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,OAAc,EACd,IAAS,EACT,GAAG,IAAI,EACR,EAAE,KAAK,4BAuEP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BottomTabBar.d.ts","sourceRoot":"","sources":["../../../../src/views/BottomTabBar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,UAAU,EAEhB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAK1E,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,KAAK,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;CAC1D,CAAC;AASF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,WAAW,EAAE,sBAAsB,CAAC;IACpC,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C,CAAC;AA8DF,eAAO,MAAM,eAAe,uDAMzB,OAAO,GAAG;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CACrE,WAoBA,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,UAAU,EACV,WAAW,EACX,MAAM,EACN,KAAK,GACN,EAAE,KAAK,qBA2SP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BottomTabItem.d.ts","sourceRoot":"","sources":["../../../../src/views/BottomTabItem.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BottomTabView.d.ts","sourceRoot":"","sources":["../../../../src/views/BottomTabView.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,kBAAkB,EAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAEV,sBAAsB,EAEtB,yBAAyB,EACzB,0BAA0B,EAG3B,MAAM,UAAU,CAAC;AAOlB,KAAK,KAAK,GAAG,yBAAyB,GAAG;IACvC,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,0BAA0B,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC,CAAC;AA6BF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,qBA0QzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScreenFallback.d.ts","sourceRoot":"","sources":["../../../../src/views/ScreenFallback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,KAAK,SAAS,EAEd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAUF,eAAO,MAAM,oBAAoB,yBAG9B,SAAS,GAAG;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,sBAMA,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,GAAG,KAAK,qBAQ1E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabBarIcon.d.ts","sourceRoot":"","sources":["../../../../src/views/TabBarIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,CAAC,KAAK,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC7B,CAAC;AAcF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EAAE,CAAC,EACR,OAAO,EACP,OAAO,EACP,KAAK,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,KAAK,GACN,EAAE,KAAK,qBAoDP"}
File without changes