@react-navigation/bottom-tabs 6.4.3 → 6.5.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 (79) hide show
  1. package/lib/commonjs/index.js +0 -7
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/navigators/createBottomTabNavigator.js +1 -17
  4. package/lib/commonjs/navigators/createBottomTabNavigator.js.map +1 -1
  5. package/lib/commonjs/types.js.map +1 -1
  6. package/lib/commonjs/utils/BottomTabBarHeightCallbackContext.js +0 -5
  7. package/lib/commonjs/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
  8. package/lib/commonjs/utils/BottomTabBarHeightContext.js +0 -5
  9. package/lib/commonjs/utils/BottomTabBarHeightContext.js.map +1 -1
  10. package/lib/commonjs/utils/useBottomTabBarHeight.js +2 -10
  11. package/lib/commonjs/utils/useBottomTabBarHeight.js.map +1 -1
  12. package/lib/commonjs/utils/useIsKeyboardShown.js +0 -9
  13. package/lib/commonjs/utils/useIsKeyboardShown.js.map +1 -1
  14. package/lib/commonjs/views/Badge.js +2 -16
  15. package/lib/commonjs/views/Badge.js.map +1 -1
  16. package/lib/commonjs/views/BottomTabBar.js +5 -51
  17. package/lib/commonjs/views/BottomTabBar.js.map +1 -1
  18. package/lib/commonjs/views/BottomTabItem.js +9 -21
  19. package/lib/commonjs/views/BottomTabItem.js.map +1 -1
  20. package/lib/commonjs/views/BottomTabView.js +15 -39
  21. package/lib/commonjs/views/BottomTabView.js.map +1 -1
  22. package/lib/commonjs/views/ScreenFallback.js +2 -18
  23. package/lib/commonjs/views/ScreenFallback.js.map +1 -1
  24. package/lib/commonjs/views/TabBarIcon.js +3 -8
  25. package/lib/commonjs/views/TabBarIcon.js.map +1 -1
  26. package/lib/module/index.js +3 -2
  27. package/lib/module/index.js.map +1 -1
  28. package/lib/module/navigators/createBottomTabNavigator.js +1 -9
  29. package/lib/module/navigators/createBottomTabNavigator.js.map +1 -1
  30. package/lib/module/types.js.map +1 -1
  31. package/lib/module/utils/BottomTabBarHeightCallbackContext.js.map +1 -1
  32. package/lib/module/utils/BottomTabBarHeightContext.js.map +1 -1
  33. package/lib/module/utils/useBottomTabBarHeight.js +1 -3
  34. package/lib/module/utils/useBottomTabBarHeight.js.map +1 -1
  35. package/lib/module/utils/useIsKeyboardShown.js +0 -4
  36. package/lib/module/utils/useIsKeyboardShown.js.map +1 -1
  37. package/lib/module/views/Badge.js +2 -6
  38. package/lib/module/views/Badge.js.map +1 -1
  39. package/lib/module/views/BottomTabBar.js +5 -29
  40. package/lib/module/views/BottomTabBar.js.map +1 -1
  41. package/lib/module/views/BottomTabItem.js +9 -13
  42. package/lib/module/views/BottomTabItem.js.map +1 -1
  43. package/lib/module/views/BottomTabView.js +15 -26
  44. package/lib/module/views/BottomTabView.js.map +1 -1
  45. package/lib/module/views/ScreenFallback.js +2 -10
  46. package/lib/module/views/ScreenFallback.js.map +1 -1
  47. package/lib/module/views/TabBarIcon.js +3 -2
  48. package/lib/module/views/TabBarIcon.js.map +1 -1
  49. package/lib/typescript/src/index.d.ts +1 -0
  50. package/lib/typescript/src/index.d.ts.map +1 -0
  51. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts +1 -0
  52. package/lib/typescript/src/navigators/createBottomTabNavigator.d.ts.map +1 -0
  53. package/lib/typescript/src/types.d.ts +3 -1
  54. package/lib/typescript/src/types.d.ts.map +1 -0
  55. package/lib/typescript/src/utils/BottomTabBarHeightCallbackContext.d.ts +1 -0
  56. package/lib/typescript/src/utils/BottomTabBarHeightCallbackContext.d.ts.map +1 -0
  57. package/lib/typescript/src/utils/BottomTabBarHeightContext.d.ts +1 -0
  58. package/lib/typescript/src/utils/BottomTabBarHeightContext.d.ts.map +1 -0
  59. package/lib/typescript/src/utils/useBottomTabBarHeight.d.ts +2 -1
  60. package/lib/typescript/src/utils/useBottomTabBarHeight.d.ts.map +1 -0
  61. package/lib/typescript/src/utils/useIsKeyboardShown.d.ts +1 -0
  62. package/lib/typescript/src/utils/useIsKeyboardShown.d.ts.map +1 -0
  63. package/lib/typescript/src/views/Badge.d.ts +1 -0
  64. package/lib/typescript/src/views/Badge.d.ts.map +1 -0
  65. package/lib/typescript/src/views/BottomTabBar.d.ts +1 -0
  66. package/lib/typescript/src/views/BottomTabBar.d.ts.map +1 -0
  67. package/lib/typescript/src/views/BottomTabItem.d.ts +8 -2
  68. package/lib/typescript/src/views/BottomTabItem.d.ts.map +1 -0
  69. package/lib/typescript/src/views/BottomTabView.d.ts +1 -0
  70. package/lib/typescript/src/views/BottomTabView.d.ts.map +1 -0
  71. package/lib/typescript/src/views/ScreenFallback.d.ts +1 -0
  72. package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -0
  73. package/lib/typescript/src/views/TabBarIcon.d.ts +1 -0
  74. package/lib/typescript/src/views/TabBarIcon.d.ts.map +1 -0
  75. package/package.json +5 -5
  76. package/src/types.tsx +2 -1
  77. package/src/utils/useBottomTabBarHeight.tsx +1 -1
  78. package/src/views/BottomTabBar.tsx +1 -0
  79. package/src/views/BottomTabItem.tsx +20 -1
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_TABBAR_HEIGHT","COMPACT_TABBAR_HEIGHT","DEFAULT_MAX_TAB_ITEM_WIDTH","useNativeDriver","Platform","OS","shouldUseHorizontalLabels","state","descriptors","layout","dimensions","tabBarLabelPosition","routes","index","key","options","width","maxTabWidth","reduce","acc","route","tabBarItemStyle","flattenedStyle","StyleSheet","flatten","maxWidth","height","getPaddingBottom","insets","Math","max","bottom","select","ios","default","getTabBarHeight","style","rest","customHeight","isLandscape","horizontalLabels","paddingBottom","isPad","BottomTabBar","navigation","colors","useTheme","buildLink","useLinkBuilder","focusedRoute","focusedDescriptor","focusedOptions","tabBarShowLabel","tabBarHideOnKeyboard","tabBarVisibilityAnimationConfig","tabBarStyle","tabBarBackground","tabBarActiveTintColor","tabBarInactiveTintColor","tabBarActiveBackgroundColor","tabBarInactiveBackgroundColor","useSafeAreaFrame","isKeyboardShown","useIsKeyboardShown","onHeightChange","React","useContext","BottomTabBarHeightCallbackContext","shouldShowTabBar","visibilityAnimationConfigRef","useRef","useEffect","current","isTabBarHidden","setIsTabBarHidden","useState","visible","Animated","Value","visibilityAnimationConfig","animation","show","spring","timing","toValue","duration","config","start","finished","hide","stopAnimation","setLayout","handleLayout","e","nativeEvent","tabBarHeight","hasHorizontalLabels","tabBarBackgroundElement","styles","tabBar","backgroundColor","card","borderTopColor","border","transform","translateY","interpolate","inputRange","outputRange","hairlineWidth","position","paddingHorizontal","left","right","absoluteFill","content","map","focused","onPress","event","emit","type","target","canPreventDefault","defaultPrevented","dispatch","CommonActions","navigate","name","merge","onLongPress","label","tabBarLabel","undefined","title","accessibilityLabel","tabBarAccessibilityLabel","length","params","tabBarTestID","tabBarAllowFontScaling","tabBarButton","tabBarIcon","color","size","tabBarBadge","tabBarBadgeStyle","tabBarLabelStyle","tabBarIconStyle","create","borderTopWidth","elevation","flex","flexDirection"],"sources":["BottomTabBar.tsx"],"sourcesContent":["import { MissingIcon } from '@react-navigation/elements';\nimport {\n CommonActions,\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n TabNavigationState,\n useLinkBuilder,\n useTheme,\n} from '@react-navigation/native';\nimport React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport { EdgeInsets, useSafeAreaFrame } from 'react-native-safe-area-context';\n\nimport type { BottomTabBarProps, BottomTabDescriptorMap } from '../types';\nimport BottomTabBarHeightCallbackContext from '../utils/BottomTabBarHeightCallbackContext';\nimport useIsKeyboardShown from '../utils/useIsKeyboardShown';\nimport BottomTabItem from './BottomTabItem';\n\ntype Props = BottomTabBarProps & {\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n};\n\nconst DEFAULT_TABBAR_HEIGHT = 49;\nconst COMPACT_TABBAR_HEIGHT = 32;\nconst DEFAULT_MAX_TAB_ITEM_WIDTH = 125;\n\nconst useNativeDriver = Platform.OS !== 'web';\n\ntype Options = {\n state: TabNavigationState<ParamListBase>;\n descriptors: BottomTabDescriptorMap;\n layout: { height: number; width: number };\n dimensions: { height: number; width: number };\n};\n\nconst shouldUseHorizontalLabels = ({\n state,\n descriptors,\n layout,\n dimensions,\n}: Options) => {\n const { tabBarLabelPosition } =\n descriptors[state.routes[state.index].key].options;\n\n if (tabBarLabelPosition) {\n switch (tabBarLabelPosition) {\n case 'beside-icon':\n return true;\n case 'below-icon':\n return false;\n }\n }\n\n if (layout.width >= 768) {\n // Screen size matches a tablet\n const maxTabWidth = state.routes.reduce((acc, route) => {\n const { tabBarItemStyle } = descriptors[route.key].options;\n const flattenedStyle = StyleSheet.flatten(tabBarItemStyle);\n\n if (flattenedStyle) {\n if (typeof flattenedStyle.width === 'number') {\n return acc + flattenedStyle.width;\n } else if (typeof flattenedStyle.maxWidth === 'number') {\n return acc + flattenedStyle.maxWidth;\n }\n }\n\n return acc + DEFAULT_MAX_TAB_ITEM_WIDTH;\n }, 0);\n\n return maxTabWidth <= layout.width;\n } else {\n return dimensions.width > dimensions.height;\n }\n};\n\nconst getPaddingBottom = (insets: EdgeInsets) =>\n Math.max(insets.bottom - Platform.select({ ios: 4, default: 0 }), 0);\n\nexport const getTabBarHeight = ({\n state,\n descriptors,\n dimensions,\n insets,\n style,\n ...rest\n}: Options & {\n insets: EdgeInsets;\n style: Animated.WithAnimatedValue<StyleProp<ViewStyle>> | undefined;\n}) => {\n // @ts-ignore\n const customHeight = StyleSheet.flatten(style)?.height;\n\n if (typeof customHeight === 'number') {\n return customHeight;\n }\n\n const isLandscape = dimensions.width > dimensions.height;\n const horizontalLabels = shouldUseHorizontalLabels({\n state,\n descriptors,\n dimensions,\n ...rest,\n });\n const paddingBottom = getPaddingBottom(insets);\n\n if (\n Platform.OS === 'ios' &&\n !Platform.isPad &&\n isLandscape &&\n horizontalLabels\n ) {\n return COMPACT_TABBAR_HEIGHT + paddingBottom;\n }\n\n return DEFAULT_TABBAR_HEIGHT + paddingBottom;\n};\n\nexport default function BottomTabBar({\n state,\n navigation,\n descriptors,\n insets,\n style,\n}: Props) {\n const { colors } = useTheme();\n const buildLink = useLinkBuilder();\n\n const focusedRoute = state.routes[state.index];\n const focusedDescriptor = descriptors[focusedRoute.key];\n const focusedOptions = focusedDescriptor.options;\n\n const {\n tabBarShowLabel,\n tabBarHideOnKeyboard = false,\n tabBarVisibilityAnimationConfig,\n tabBarStyle,\n tabBarBackground,\n tabBarActiveTintColor,\n tabBarInactiveTintColor,\n tabBarActiveBackgroundColor,\n tabBarInactiveBackgroundColor,\n } = focusedOptions;\n\n const dimensions = useSafeAreaFrame();\n const isKeyboardShown = useIsKeyboardShown();\n\n const onHeightChange = React.useContext(BottomTabBarHeightCallbackContext);\n\n const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);\n\n const visibilityAnimationConfigRef = React.useRef(\n tabBarVisibilityAnimationConfig\n );\n\n React.useEffect(() => {\n visibilityAnimationConfigRef.current = tabBarVisibilityAnimationConfig;\n });\n\n const [isTabBarHidden, setIsTabBarHidden] = React.useState(!shouldShowTabBar);\n\n const [visible] = React.useState(\n () => new Animated.Value(shouldShowTabBar ? 1 : 0)\n );\n\n React.useEffect(() => {\n const visibilityAnimationConfig = visibilityAnimationConfigRef.current;\n\n if (shouldShowTabBar) {\n const animation =\n visibilityAnimationConfig?.show?.animation === 'spring'\n ? Animated.spring\n : Animated.timing;\n\n animation(visible, {\n toValue: 1,\n useNativeDriver,\n duration: 250,\n ...visibilityAnimationConfig?.show?.config,\n }).start(({ finished }) => {\n if (finished) {\n setIsTabBarHidden(false);\n }\n });\n } else {\n setIsTabBarHidden(true);\n\n const animation =\n visibilityAnimationConfig?.hide?.animation === 'spring'\n ? Animated.spring\n : Animated.timing;\n\n animation(visible, {\n toValue: 0,\n useNativeDriver,\n duration: 200,\n ...visibilityAnimationConfig?.hide?.config,\n }).start();\n }\n\n return () => visible.stopAnimation();\n }, [visible, shouldShowTabBar]);\n\n const [layout, setLayout] = React.useState({\n height: 0,\n width: dimensions.width,\n });\n\n const handleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n onHeightChange?.(height);\n\n setLayout((layout) => {\n if (height === layout.height && width === layout.width) {\n return layout;\n } else {\n return {\n height,\n width,\n };\n }\n });\n };\n\n const { routes } = state;\n\n const paddingBottom = getPaddingBottom(insets);\n const tabBarHeight = getTabBarHeight({\n state,\n descriptors,\n insets,\n dimensions,\n layout,\n style: [tabBarStyle, style],\n });\n\n const hasHorizontalLabels = shouldUseHorizontalLabels({\n state,\n descriptors,\n dimensions,\n layout,\n });\n\n const tabBarBackgroundElement = tabBarBackground?.();\n\n return (\n <Animated.View\n style={[\n styles.tabBar,\n {\n backgroundColor:\n tabBarBackgroundElement != null ? 'transparent' : colors.card,\n borderTopColor: colors.border,\n },\n {\n transform: [\n {\n translateY: visible.interpolate({\n inputRange: [0, 1],\n outputRange: [\n layout.height + paddingBottom + StyleSheet.hairlineWidth,\n 0,\n ],\n }),\n },\n ],\n // Absolutely position the tab bar so that the content is below it\n // This is needed to avoid gap at bottom when the tab bar is hidden\n position: isTabBarHidden ? 'absolute' : (null as any),\n },\n {\n height: tabBarHeight,\n paddingBottom,\n paddingHorizontal: Math.max(insets.left, insets.right),\n },\n tabBarStyle,\n ]}\n pointerEvents={isTabBarHidden ? 'none' : 'auto'}\n onLayout={handleLayout}\n >\n <View pointerEvents=\"none\" style={StyleSheet.absoluteFill}>\n {tabBarBackgroundElement}\n </View>\n <View accessibilityRole=\"tablist\" style={styles.content}>\n {routes.map((route, index) => {\n const focused = index === state.index;\n const { options } = descriptors[route.key];\n\n const onPress = () => {\n const event = navigation.emit({\n type: 'tabPress',\n target: route.key,\n canPreventDefault: true,\n });\n\n if (!focused && !event.defaultPrevented) {\n navigation.dispatch({\n ...CommonActions.navigate({ name: route.name, merge: true }),\n target: state.key,\n });\n }\n };\n\n const onLongPress = () => {\n navigation.emit({\n type: 'tabLongPress',\n target: route.key,\n });\n };\n\n const label =\n options.tabBarLabel !== undefined\n ? options.tabBarLabel\n : options.title !== undefined\n ? options.title\n : route.name;\n\n const accessibilityLabel =\n options.tabBarAccessibilityLabel !== undefined\n ? options.tabBarAccessibilityLabel\n : typeof label === 'string' && Platform.OS === 'ios'\n ? `${label}, tab, ${index + 1} of ${routes.length}`\n : undefined;\n\n return (\n <NavigationContext.Provider\n key={route.key}\n value={descriptors[route.key].navigation}\n >\n <NavigationRouteContext.Provider value={route}>\n <BottomTabItem\n route={route}\n focused={focused}\n horizontal={hasHorizontalLabels}\n onPress={onPress}\n onLongPress={onLongPress}\n accessibilityLabel={accessibilityLabel}\n to={buildLink(route.name, route.params)}\n testID={options.tabBarTestID}\n allowFontScaling={options.tabBarAllowFontScaling}\n activeTintColor={tabBarActiveTintColor}\n inactiveTintColor={tabBarInactiveTintColor}\n activeBackgroundColor={tabBarActiveBackgroundColor}\n inactiveBackgroundColor={tabBarInactiveBackgroundColor}\n button={options.tabBarButton}\n icon={\n options.tabBarIcon ??\n (({ color, size }) => (\n <MissingIcon color={color} size={size} />\n ))\n }\n badge={options.tabBarBadge}\n badgeStyle={options.tabBarBadgeStyle}\n label={label}\n showLabel={tabBarShowLabel}\n labelStyle={options.tabBarLabelStyle}\n iconStyle={options.tabBarIconStyle}\n style={options.tabBarItemStyle}\n />\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n );\n })}\n </View>\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n tabBar: {\n left: 0,\n right: 0,\n bottom: 0,\n borderTopWidth: StyleSheet.hairlineWidth,\n elevation: 8,\n },\n content: {\n flex: 1,\n flexDirection: 'row',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["DEFAULT_TABBAR_HEIGHT","COMPACT_TABBAR_HEIGHT","DEFAULT_MAX_TAB_ITEM_WIDTH","useNativeDriver","Platform","OS","shouldUseHorizontalLabels","state","descriptors","layout","dimensions","tabBarLabelPosition","routes","index","key","options","width","maxTabWidth","reduce","acc","route","tabBarItemStyle","flattenedStyle","StyleSheet","flatten","maxWidth","height","getPaddingBottom","insets","Math","max","bottom","select","ios","default","getTabBarHeight","style","rest","customHeight","isLandscape","horizontalLabels","paddingBottom","isPad","BottomTabBar","navigation","colors","useTheme","buildLink","useLinkBuilder","focusedRoute","focusedDescriptor","focusedOptions","tabBarShowLabel","tabBarHideOnKeyboard","tabBarVisibilityAnimationConfig","tabBarStyle","tabBarBackground","tabBarActiveTintColor","tabBarInactiveTintColor","tabBarActiveBackgroundColor","tabBarInactiveBackgroundColor","useSafeAreaFrame","isKeyboardShown","useIsKeyboardShown","onHeightChange","React","useContext","BottomTabBarHeightCallbackContext","shouldShowTabBar","visibilityAnimationConfigRef","useRef","useEffect","current","isTabBarHidden","setIsTabBarHidden","useState","visible","Animated","Value","visibilityAnimationConfig","animation","show","spring","timing","toValue","duration","config","start","finished","hide","stopAnimation","setLayout","handleLayout","e","nativeEvent","tabBarHeight","hasHorizontalLabels","tabBarBackgroundElement","styles","tabBar","backgroundColor","card","borderTopColor","border","transform","translateY","interpolate","inputRange","outputRange","hairlineWidth","position","paddingHorizontal","left","right","absoluteFill","content","map","focused","onPress","event","emit","type","target","canPreventDefault","defaultPrevented","dispatch","CommonActions","navigate","name","merge","onLongPress","label","tabBarLabel","undefined","title","accessibilityLabel","tabBarAccessibilityLabel","length","params","tabBarTestID","tabBarAllowFontScaling","tabBarButton","tabBarIcon","color","size","tabBarBadge","tabBarBadgeStyle","tabBarLabelStyle","tabBarIconStyle","create","borderTopWidth","elevation","flex","flexDirection"],"sourceRoot":"../../src","sources":["BottomTabBar.tsx"],"mappings":";;;;;;;AAAA;AACA;AASA;AACA;AASA;AAGA;AACA;AACA;AAA4C;AAM5C,MAAMA,qBAAqB,GAAG,EAAE;AAChC,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,0BAA0B,GAAG,GAAG;AAEtC,MAAMC,eAAe,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AAS7C,MAAMC,yBAAyB,GAAG,QAKnB;EAAA,IALoB;IACjCC,KAAK;IACLC,WAAW;IACXC,MAAM;IACNC;EACO,CAAC;EACR,MAAM;IAAEC;EAAoB,CAAC,GAC3BH,WAAW,CAACD,KAAK,CAACK,MAAM,CAACL,KAAK,CAACM,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,OAAO;EAEpD,IAAIJ,mBAAmB,EAAE;IACvB,QAAQA,mBAAmB;MACzB,KAAK,aAAa;QAChB,OAAO,IAAI;MACb,KAAK,YAAY;QACf,OAAO,KAAK;IAAC;EAEnB;EAEA,IAAIF,MAAM,CAACO,KAAK,IAAI,GAAG,EAAE;IACvB;IACA,MAAMC,WAAW,GAAGV,KAAK,CAACK,MAAM,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;MACtD,MAAM;QAAEC;MAAgB,CAAC,GAAGb,WAAW,CAACY,KAAK,CAACN,GAAG,CAAC,CAACC,OAAO;MAC1D,MAAMO,cAAc,GAAGC,uBAAU,CAACC,OAAO,CAACH,eAAe,CAAC;MAE1D,IAAIC,cAAc,EAAE;QAClB,IAAI,OAAOA,cAAc,CAACN,KAAK,KAAK,QAAQ,EAAE;UAC5C,OAAOG,GAAG,GAAGG,cAAc,CAACN,KAAK;QACnC,CAAC,MAAM,IAAI,OAAOM,cAAc,CAACG,QAAQ,KAAK,QAAQ,EAAE;UACtD,OAAON,GAAG,GAAGG,cAAc,CAACG,QAAQ;QACtC;MACF;MAEA,OAAON,GAAG,GAAGjB,0BAA0B;IACzC,CAAC,EAAE,CAAC,CAAC;IAEL,OAAOe,WAAW,IAAIR,MAAM,CAACO,KAAK;EACpC,CAAC,MAAM;IACL,OAAON,UAAU,CAACM,KAAK,GAAGN,UAAU,CAACgB,MAAM;EAC7C;AACF,CAAC;AAED,MAAMC,gBAAgB,GAAIC,MAAkB,IAC1CC,IAAI,CAACC,GAAG,CAACF,MAAM,CAACG,MAAM,GAAG3B,qBAAQ,CAAC4B,MAAM,CAAC;EAAEC,GAAG,EAAE,CAAC;EAAEC,OAAO,EAAE;AAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAMC,eAAe,GAAG,SAUzB;EAAA;EAAA,IAV0B;IAC9B5B,KAAK;IACLC,WAAW;IACXE,UAAU;IACVkB,MAAM;IACNQ,KAAK;IACL,GAAGC;EAIL,CAAC;EACC;EACA,MAAMC,YAAY,0BAAGf,uBAAU,CAACC,OAAO,CAACY,KAAK,CAAC,wDAAzB,oBAA2BV,MAAM;EAEtD,IAAI,OAAOY,YAAY,KAAK,QAAQ,EAAE;IACpC,OAAOA,YAAY;EACrB;EAEA,MAAMC,WAAW,GAAG7B,UAAU,CAACM,KAAK,GAAGN,UAAU,CAACgB,MAAM;EACxD,MAAMc,gBAAgB,GAAGlC,yBAAyB,CAAC;IACjDC,KAAK;IACLC,WAAW;IACXE,UAAU;IACV,GAAG2B;EACL,CAAC,CAAC;EACF,MAAMI,aAAa,GAAGd,gBAAgB,CAACC,MAAM,CAAC;EAE9C,IACExB,qBAAQ,CAACC,EAAE,KAAK,KAAK,IACrB,CAACD,qBAAQ,CAACsC,KAAK,IACfH,WAAW,IACXC,gBAAgB,EAChB;IACA,OAAOvC,qBAAqB,GAAGwC,aAAa;EAC9C;EAEA,OAAOzC,qBAAqB,GAAGyC,aAAa;AAC9C,CAAC;AAAC;AAEa,SAASE,YAAY,QAM1B;EAAA,IAN2B;IACnCpC,KAAK;IACLqC,UAAU;IACVpC,WAAW;IACXoB,MAAM;IACNQ;EACK,CAAC;EACN,MAAM;IAAES;EAAO,CAAC,GAAG,IAAAC,gBAAQ,GAAE;EAC7B,MAAMC,SAAS,GAAG,IAAAC,sBAAc,GAAE;EAElC,MAAMC,YAAY,GAAG1C,KAAK,CAACK,MAAM,CAACL,KAAK,CAACM,KAAK,CAAC;EAC9C,MAAMqC,iBAAiB,GAAG1C,WAAW,CAACyC,YAAY,CAACnC,GAAG,CAAC;EACvD,MAAMqC,cAAc,GAAGD,iBAAiB,CAACnC,OAAO;EAEhD,MAAM;IACJqC,eAAe;IACfC,oBAAoB,GAAG,KAAK;IAC5BC,+BAA+B;IAC/BC,WAAW;IACXC,gBAAgB;IAChBC,qBAAqB;IACrBC,uBAAuB;IACvBC,2BAA2B;IAC3BC;EACF,CAAC,GAAGT,cAAc;EAElB,MAAMzC,UAAU,GAAG,IAAAmD,4CAAgB,GAAE;EACrC,MAAMC,eAAe,GAAG,IAAAC,2BAAkB,GAAE;EAE5C,MAAMC,cAAc,GAAGC,cAAK,CAACC,UAAU,CAACC,0CAAiC,CAAC;EAE1E,MAAMC,gBAAgB,GAAG,EAAEf,oBAAoB,IAAIS,eAAe,CAAC;EAEnE,MAAMO,4BAA4B,GAAGJ,cAAK,CAACK,MAAM,CAC/ChB,+BAA+B,CAChC;EAEDW,cAAK,CAACM,SAAS,CAAC,MAAM;IACpBF,4BAA4B,CAACG,OAAO,GAAGlB,+BAA+B;EACxE,CAAC,CAAC;EAEF,MAAM,CAACmB,cAAc,EAAEC,iBAAiB,CAAC,GAAGT,cAAK,CAACU,QAAQ,CAAC,CAACP,gBAAgB,CAAC;EAE7E,MAAM,CAACQ,OAAO,CAAC,GAAGX,cAAK,CAACU,QAAQ,CAC9B,MAAM,IAAIE,qBAAQ,CAACC,KAAK,CAACV,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC,CACnD;EAEDH,cAAK,CAACM,SAAS,CAAC,MAAM;IACpB,MAAMQ,yBAAyB,GAAGV,4BAA4B,CAACG,OAAO;IAEtE,IAAIJ,gBAAgB,EAAE;MAAA;MACpB,MAAMY,SAAS,GACb,CAAAD,yBAAyB,aAAzBA,yBAAyB,gDAAzBA,yBAAyB,CAAEE,IAAI,0DAA/B,sBAAiCD,SAAS,MAAK,QAAQ,GACnDH,qBAAQ,CAACK,MAAM,GACfL,qBAAQ,CAACM,MAAM;MAErBH,SAAS,CAACJ,OAAO,EAAE;QACjBQ,OAAO,EAAE,CAAC;QACVjF,eAAe;QACfkF,QAAQ,EAAE,GAAG;QACb,IAAGN,yBAAyB,aAAzBA,yBAAyB,iDAAzBA,yBAAyB,CAAEE,IAAI,2DAA/B,uBAAiCK,MAAM;MAC5C,CAAC,CAAC,CAACC,KAAK,CAAC,SAAkB;QAAA,IAAjB;UAAEC;QAAS,CAAC;QACpB,IAAIA,QAAQ,EAAE;UACZd,iBAAiB,CAAC,KAAK,CAAC;QAC1B;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MAAA;MACLA,iBAAiB,CAAC,IAAI,CAAC;MAEvB,MAAMM,SAAS,GACb,CAAAD,yBAAyB,aAAzBA,yBAAyB,iDAAzBA,yBAAyB,CAAEU,IAAI,2DAA/B,uBAAiCT,SAAS,MAAK,QAAQ,GACnDH,qBAAQ,CAACK,MAAM,GACfL,qBAAQ,CAACM,MAAM;MAErBH,SAAS,CAACJ,OAAO,EAAE;QACjBQ,OAAO,EAAE,CAAC;QACVjF,eAAe;QACfkF,QAAQ,EAAE,GAAG;QACb,IAAGN,yBAAyB,aAAzBA,yBAAyB,iDAAzBA,yBAAyB,CAAEU,IAAI,2DAA/B,uBAAiCH,MAAM;MAC5C,CAAC,CAAC,CAACC,KAAK,EAAE;IACZ;IAEA,OAAO,MAAMX,OAAO,CAACc,aAAa,EAAE;EACtC,CAAC,EAAE,CAACd,OAAO,EAAER,gBAAgB,CAAC,CAAC;EAE/B,MAAM,CAAC3D,MAAM,EAAEkF,SAAS,CAAC,GAAG1B,cAAK,CAACU,QAAQ,CAAC;IACzCjD,MAAM,EAAE,CAAC;IACTV,KAAK,EAAEN,UAAU,CAACM;EACpB,CAAC,CAAC;EAEF,MAAM4E,YAAY,GAAIC,CAAoB,IAAK;IAC7C,MAAM;MAAEnE,MAAM;MAAEV;IAAM,CAAC,GAAG6E,CAAC,CAACC,WAAW,CAACrF,MAAM;IAE9CuD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGtC,MAAM,CAAC;IAExBiE,SAAS,CAAElF,MAAM,IAAK;MACpB,IAAIiB,MAAM,KAAKjB,MAAM,CAACiB,MAAM,IAAIV,KAAK,KAAKP,MAAM,CAACO,KAAK,EAAE;QACtD,OAAOP,MAAM;MACf,CAAC,MAAM;QACL,OAAO;UACLiB,MAAM;UACNV;QACF,CAAC;MACH;IACF,CAAC,CAAC;EACJ,CAAC;EAED,MAAM;IAAEJ;EAAO,CAAC,GAAGL,KAAK;EAExB,MAAMkC,aAAa,GAAGd,gBAAgB,CAACC,MAAM,CAAC;EAC9C,MAAMmE,YAAY,GAAG5D,eAAe,CAAC;IACnC5B,KAAK;IACLC,WAAW;IACXoB,MAAM;IACNlB,UAAU;IACVD,MAAM;IACN2B,KAAK,EAAE,CAACmB,WAAW,EAAEnB,KAAK;EAC5B,CAAC,CAAC;EAEF,MAAM4D,mBAAmB,GAAG1F,yBAAyB,CAAC;IACpDC,KAAK;IACLC,WAAW;IACXE,UAAU;IACVD;EACF,CAAC,CAAC;EAEF,MAAMwF,uBAAuB,GAAGzC,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,EAAI;EAEpD,oBACE,6BAAC,qBAAQ,CAAC,IAAI;IACZ,KAAK,EAAE,CACL0C,MAAM,CAACC,MAAM,EACb;MACEC,eAAe,EACbH,uBAAuB,IAAI,IAAI,GAAG,aAAa,GAAGpD,MAAM,CAACwD,IAAI;MAC/DC,cAAc,EAAEzD,MAAM,CAAC0D;IACzB,CAAC,EACD;MACEC,SAAS,EAAE,CACT;QACEC,UAAU,EAAE7B,OAAO,CAAC8B,WAAW,CAAC;UAC9BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UAClBC,WAAW,EAAE,CACXnG,MAAM,CAACiB,MAAM,GAAGe,aAAa,GAAGlB,uBAAU,CAACsF,aAAa,EACxD,CAAC;QAEL,CAAC;MACH,CAAC,CACF;MACD;MACA;MACAC,QAAQ,EAAErC,cAAc,GAAG,UAAU,GAAI;IAC3C,CAAC,EACD;MACE/C,MAAM,EAAEqE,YAAY;MACpBtD,aAAa;MACbsE,iBAAiB,EAAElF,IAAI,CAACC,GAAG,CAACF,MAAM,CAACoF,IAAI,EAAEpF,MAAM,CAACqF,KAAK;IACvD,CAAC,EACD1D,WAAW,CACX;IACF,aAAa,EAAEkB,cAAc,GAAG,MAAM,GAAG,MAAO;IAChD,QAAQ,EAAEmB;EAAa,gBAEvB,6BAAC,iBAAI;IAAC,aAAa,EAAC,MAAM;IAAC,KAAK,EAAErE,uBAAU,CAAC2F;EAAa,GACvDjB,uBAAuB,CACnB,eACP,6BAAC,iBAAI;IAAC,iBAAiB,EAAC,SAAS;IAAC,KAAK,EAAEC,MAAM,CAACiB;EAAQ,GACrDvG,MAAM,CAACwG,GAAG,CAAC,CAAChG,KAAK,EAAEP,KAAK,KAAK;IAC5B,MAAMwG,OAAO,GAAGxG,KAAK,KAAKN,KAAK,CAACM,KAAK;IACrC,MAAM;MAAEE;IAAQ,CAAC,GAAGP,WAAW,CAACY,KAAK,CAACN,GAAG,CAAC;IAE1C,MAAMwG,OAAO,GAAG,MAAM;MACpB,MAAMC,KAAK,GAAG3E,UAAU,CAAC4E,IAAI,CAAC;QAC5BC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAEtG,KAAK,CAACN,GAAG;QACjB6G,iBAAiB,EAAE;MACrB,CAAC,CAAC;MAEF,IAAI,CAACN,OAAO,IAAI,CAACE,KAAK,CAACK,gBAAgB,EAAE;QACvChF,UAAU,CAACiF,QAAQ,CAAC;UAClB,GAAGC,qBAAa,CAACC,QAAQ,CAAC;YAAEC,IAAI,EAAE5G,KAAK,CAAC4G,IAAI;YAAEC,KAAK,EAAE;UAAK,CAAC,CAAC;UAC5DP,MAAM,EAAEnH,KAAK,CAACO;QAChB,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAMoH,WAAW,GAAG,MAAM;MACxBtF,UAAU,CAAC4E,IAAI,CAAC;QACdC,IAAI,EAAE,cAAc;QACpBC,MAAM,EAAEtG,KAAK,CAACN;MAChB,CAAC,CAAC;IACJ,CAAC;IAED,MAAMqH,KAAK,GACTpH,OAAO,CAACqH,WAAW,KAAKC,SAAS,GAC7BtH,OAAO,CAACqH,WAAW,GACnBrH,OAAO,CAACuH,KAAK,KAAKD,SAAS,GAC3BtH,OAAO,CAACuH,KAAK,GACblH,KAAK,CAAC4G,IAAI;IAEhB,MAAMO,kBAAkB,GACtBxH,OAAO,CAACyH,wBAAwB,KAAKH,SAAS,GAC1CtH,OAAO,CAACyH,wBAAwB,GAChC,OAAOL,KAAK,KAAK,QAAQ,IAAI/H,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACjD,GAAE8H,KAAM,UAAStH,KAAK,GAAG,CAAE,OAAMD,MAAM,CAAC6H,MAAO,EAAC,GACjDJ,SAAS;IAEf,oBACE,6BAAC,yBAAiB,CAAC,QAAQ;MACzB,GAAG,EAAEjH,KAAK,CAACN,GAAI;MACf,KAAK,EAAEN,WAAW,CAACY,KAAK,CAACN,GAAG,CAAC,CAAC8B;IAAW,gBAEzC,6BAAC,8BAAsB,CAAC,QAAQ;MAAC,KAAK,EAAExB;IAAM,gBAC5C,6BAAC,sBAAa;MACZ,KAAK,EAAEA,KAAM;MACb,UAAU,EAAEZ,WAAW,CAACY,KAAK,CAACN,GAAG,CAAE;MACnC,OAAO,EAAEuG,OAAQ;MACjB,UAAU,EAAErB,mBAAoB;MAChC,OAAO,EAAEsB,OAAQ;MACjB,WAAW,EAAEY,WAAY;MACzB,kBAAkB,EAAEK,kBAAmB;MACvC,EAAE,EAAExF,SAAS,CAAC3B,KAAK,CAAC4G,IAAI,EAAE5G,KAAK,CAACsH,MAAM,CAAE;MACxC,MAAM,EAAE3H,OAAO,CAAC4H,YAAa;MAC7B,gBAAgB,EAAE5H,OAAO,CAAC6H,sBAAuB;MACjD,eAAe,EAAEnF,qBAAsB;MACvC,iBAAiB,EAAEC,uBAAwB;MAC3C,qBAAqB,EAAEC,2BAA4B;MACnD,uBAAuB,EAAEC,6BAA8B;MACvD,MAAM,EAAE7C,OAAO,CAAC8H,YAAa;MAC7B,IAAI,EACF9H,OAAO,CAAC+H,UAAU,KACjB;QAAA,IAAC;UAAEC,KAAK;UAAEC;QAAK,CAAC;QAAA,oBACf,6BAAC,qBAAW;UAAC,KAAK,EAAED,KAAM;UAAC,IAAI,EAAEC;QAAK,EAAG;MAAA,CAC1C,CACF;MACD,KAAK,EAAEjI,OAAO,CAACkI,WAAY;MAC3B,UAAU,EAAElI,OAAO,CAACmI,gBAAiB;MACrC,KAAK,EAAEf,KAAM;MACb,SAAS,EAAE/E,eAAgB;MAC3B,UAAU,EAAErC,OAAO,CAACoI,gBAAiB;MACrC,SAAS,EAAEpI,OAAO,CAACqI,eAAgB;MACnC,KAAK,EAAErI,OAAO,CAACM;IAAgB,EAC/B,CAC8B,CACP;EAEjC,CAAC,CAAC,CACG,CACO;AAEpB;AAEA,MAAM6E,MAAM,GAAG3E,uBAAU,CAAC8H,MAAM,CAAC;EAC/BlD,MAAM,EAAE;IACNa,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRlF,MAAM,EAAE,CAAC;IACTuH,cAAc,EAAE/H,uBAAU,CAACsF,aAAa;IACxC0C,SAAS,EAAE;EACb,CAAC;EACDpC,OAAO,EAAE;IACPqC,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC"}
@@ -4,25 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = BottomTabBarItem;
7
-
8
7
  var _native = require("@react-navigation/native");
9
-
10
8
  var _color = _interopRequireDefault(require("color"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _reactNative = require("react-native");
15
-
16
11
  var _TabBarIcon = _interopRequireDefault(require("./TabBarIcon"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
-
22
14
  function BottomTabBarItem(_ref) {
23
15
  let {
24
16
  focused,
25
17
  route,
18
+ descriptor,
26
19
  label,
27
20
  icon,
28
21
  badge,
@@ -37,7 +30,6 @@ function BottomTabBarItem(_ref) {
37
30
  accessibilityRole,
38
31
  ...rest
39
32
  } = _ref2;
40
-
41
33
  if (_reactNative.Platform.OS === 'web' && to) {
42
34
  // React Native Web doesn't forward `onClick` if we use `TouchableWithoutFeedback`.
43
35
  // We need to use `onClick` to be able to prevent default browser handling of links.
@@ -45,7 +37,8 @@ function BottomTabBarItem(_ref) {
45
37
  to: to,
46
38
  style: [styles.button, style],
47
39
  onPress: e => {
48
- if (!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && ( // ignore clicks with modifier keys
40
+ if (!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && (
41
+ // ignore clicks with modifier keys
49
42
  e.button == null || e.button === 0) // ignore everything but left clicks
50
43
  ) {
51
44
  e.preventDefault();
@@ -81,18 +74,14 @@ function BottomTabBarItem(_ref) {
81
74
  } = (0, _native.useTheme)();
82
75
  const activeTintColor = customActiveTintColor === undefined ? colors.primary : customActiveTintColor;
83
76
  const inactiveTintColor = customInactiveTintColor === undefined ? (0, _color.default)(colors.text).mix((0, _color.default)(colors.card), 0.5).hex() : customInactiveTintColor;
84
-
85
77
  const renderLabel = _ref3 => {
86
78
  let {
87
79
  focused
88
80
  } = _ref3;
89
-
90
81
  if (showLabel === false) {
91
82
  return null;
92
83
  }
93
-
94
84
  const color = focused ? activeTintColor : inactiveTintColor;
95
-
96
85
  if (typeof label === 'string') {
97
86
  return /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
98
87
  numberOfLines: 1,
@@ -102,23 +91,24 @@ function BottomTabBarItem(_ref) {
102
91
  allowFontScaling: allowFontScaling
103
92
  }, label);
104
93
  }
105
-
94
+ const {
95
+ options
96
+ } = descriptor;
97
+ const children = typeof options.tabBarLabel === 'string' ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
106
98
  return label({
107
99
  focused,
108
100
  color,
109
- position: horizontal ? 'beside-icon' : 'below-icon'
101
+ position: horizontal ? 'beside-icon' : 'below-icon',
102
+ children
110
103
  });
111
104
  };
112
-
113
105
  const renderIcon = _ref4 => {
114
106
  let {
115
107
  focused
116
108
  } = _ref4;
117
-
118
109
  if (icon === undefined) {
119
110
  return null;
120
111
  }
121
-
122
112
  const activeOpacity = focused ? 1 : 0;
123
113
  const inactiveOpacity = focused ? 0 : 1;
124
114
  return /*#__PURE__*/_react.default.createElement(_TabBarIcon.default, {
@@ -134,7 +124,6 @@ function BottomTabBarItem(_ref) {
134
124
  style: iconStyle
135
125
  });
136
126
  };
137
-
138
127
  const scene = {
139
128
  route,
140
129
  focused
@@ -162,7 +151,6 @@ function BottomTabBarItem(_ref) {
162
151
  children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderIcon(scene), renderLabel(scene))
163
152
  });
164
153
  }
165
-
166
154
  const styles = _reactNative.StyleSheet.create({
167
155
  tab: {
168
156
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["BottomTabBarItem","focused","route","label","icon","badge","badgeStyle","to","button","children","style","onPress","accessibilityRole","rest","Platform","OS","styles","e","metaKey","altKey","ctrlKey","shiftKey","preventDefault","accessibilityLabel","testID","onLongPress","horizontal","activeTintColor","customActiveTintColor","inactiveTintColor","customInactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","showLabel","allowFontScaling","labelStyle","iconStyle","colors","useTheme","undefined","primary","Color","text","mix","card","hex","renderLabel","color","labelBeside","labelBeneath","position","renderIcon","activeOpacity","inactiveOpacity","scene","backgroundColor","select","ios","default","accessibilityState","selected","accessibilityStates","tab","tabLandscape","tabPortrait","StyleSheet","create","flex","alignItems","justifyContent","flexDirection","textAlign","fontSize","marginLeft","marginTop","display"],"sources":["BottomTabItem.tsx"],"sourcesContent":["import { Link, Route, useTheme } from '@react-navigation/native';\nimport Color from 'color';\nimport React from 'react';\nimport {\n GestureResponderEvent,\n Platform,\n Pressable,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n ViewStyle,\n} from 'react-native';\n\nimport type { BottomTabBarButtonProps, LabelPosition } from '../types';\nimport TabBarIcon from './TabBarIcon';\n\ntype Props = {\n /**\n * Whether the tab is focused.\n */\n focused: boolean;\n /**\n * The route object which should be specified by the tab.\n */\n route: Route<string>;\n /**\n * The label text of the tab.\n */\n label:\n | string\n | ((props: {\n focused: boolean;\n color: string;\n position: LabelPosition;\n }) => React.ReactNode);\n /**\n * Icon to display for the tab.\n */\n icon: (props: {\n focused: boolean;\n size: number;\n color: string;\n }) => React.ReactNode;\n /**\n * Text to show in a badge on the tab icon.\n */\n badge?: number | string;\n /**\n * Custom style for the badge.\n */\n badgeStyle?: StyleProp<TextStyle>;\n /**\n * URL to use for the link to the tab.\n */\n to?: string;\n /**\n * The button for the tab. Uses a `TouchableWithoutFeedback` by default.\n */\n button?: (props: BottomTabBarButtonProps) => React.ReactNode;\n /**\n * The accessibility label for the tab.\n */\n accessibilityLabel?: string;\n /**\n * An unique ID for testing for the tab.\n */\n testID?: string;\n /**\n * Function to execute on press in React Native.\n * On the web, this will use onClick.\n */\n onPress: (\n e: React.MouseEvent<HTMLElement, MouseEvent> | GestureResponderEvent\n ) => void;\n /**\n * Function to execute on long press.\n */\n onLongPress: (e: GestureResponderEvent) => void;\n /**\n * Whether the label should be aligned with the icon horizontally.\n */\n horizontal: boolean;\n /**\n * Color for the icon and label when the item is active.\n */\n activeTintColor?: string;\n /**\n * Color for the icon and label when the item is inactive.\n */\n inactiveTintColor?: string;\n /**\n * Background color for item when its active.\n */\n activeBackgroundColor?: string;\n /**\n * Background color for item when its inactive.\n */\n inactiveBackgroundColor?: string;\n /**\n * Whether to show the label text for the tab.\n */\n showLabel?: boolean;\n /**\n * Whether to allow scaling the font for the label for accessibility purposes.\n */\n allowFontScaling?: boolean;\n /**\n * Style object for the label element.\n */\n labelStyle?: StyleProp<TextStyle>;\n /**\n * Style object for the icon element.\n */\n iconStyle?: StyleProp<ViewStyle>;\n /**\n * Style object for the wrapper element.\n */\n style?: StyleProp<ViewStyle>;\n};\n\nexport default function BottomTabBarItem({\n focused,\n route,\n label,\n icon,\n badge,\n badgeStyle,\n to,\n button = ({\n children,\n style,\n onPress,\n to,\n accessibilityRole,\n ...rest\n }: BottomTabBarButtonProps) => {\n if (Platform.OS === 'web' && to) {\n // React Native Web doesn't forward `onClick` if we use `TouchableWithoutFeedback`.\n // We need to use `onClick` to be able to prevent default browser handling of links.\n return (\n <Link\n {...rest}\n to={to}\n style={[styles.button, style]}\n onPress={(e: any) => {\n if (\n !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && // ignore clicks with modifier keys\n (e.button == null || e.button === 0) // ignore everything but left clicks\n ) {\n e.preventDefault();\n onPress?.(e);\n }\n }}\n >\n {children}\n </Link>\n );\n } else {\n return (\n <Pressable\n {...rest}\n accessibilityRole={accessibilityRole}\n onPress={onPress}\n style={style}\n >\n {children}\n </Pressable>\n );\n }\n },\n accessibilityLabel,\n testID,\n onPress,\n onLongPress,\n horizontal,\n activeTintColor: customActiveTintColor,\n inactiveTintColor: customInactiveTintColor,\n activeBackgroundColor = 'transparent',\n inactiveBackgroundColor = 'transparent',\n showLabel = true,\n allowFontScaling,\n labelStyle,\n iconStyle,\n style,\n}: Props) {\n const { colors } = useTheme();\n\n const activeTintColor =\n customActiveTintColor === undefined\n ? colors.primary\n : customActiveTintColor;\n\n const inactiveTintColor =\n customInactiveTintColor === undefined\n ? Color(colors.text).mix(Color(colors.card), 0.5).hex()\n : customInactiveTintColor;\n\n const renderLabel = ({ focused }: { focused: boolean }) => {\n if (showLabel === false) {\n return null;\n }\n\n const color = focused ? activeTintColor : inactiveTintColor;\n\n if (typeof label === 'string') {\n return (\n <Text\n numberOfLines={1}\n style={[\n styles.label,\n { color },\n horizontal ? styles.labelBeside : styles.labelBeneath,\n labelStyle,\n ]}\n allowFontScaling={allowFontScaling}\n >\n {label}\n </Text>\n );\n }\n\n return label({\n focused,\n color,\n position: horizontal ? 'beside-icon' : 'below-icon',\n });\n };\n\n const renderIcon = ({ focused }: { focused: boolean }) => {\n if (icon === undefined) {\n return null;\n }\n\n const activeOpacity = focused ? 1 : 0;\n const inactiveOpacity = focused ? 0 : 1;\n\n return (\n <TabBarIcon\n route={route}\n horizontal={horizontal}\n badge={badge}\n badgeStyle={badgeStyle}\n activeOpacity={activeOpacity}\n inactiveOpacity={inactiveOpacity}\n activeTintColor={activeTintColor}\n inactiveTintColor={inactiveTintColor}\n renderIcon={icon}\n style={iconStyle}\n />\n );\n };\n\n const scene = { route, focused };\n\n const backgroundColor = focused\n ? activeBackgroundColor\n : inactiveBackgroundColor;\n\n return button({\n to,\n onPress,\n onLongPress,\n testID,\n accessibilityLabel,\n // FIXME: accessibilityRole: 'tab' doesn't seem to work as expected on iOS\n accessibilityRole: Platform.select({ ios: 'button', default: 'tab' }),\n accessibilityState: { selected: focused },\n // @ts-expect-error: keep for compatibility with older React Native versions\n accessibilityStates: focused ? ['selected'] : [],\n style: [\n styles.tab,\n { backgroundColor },\n horizontal ? styles.tabLandscape : styles.tabPortrait,\n style,\n ],\n children: (\n <React.Fragment>\n {renderIcon(scene)}\n {renderLabel(scene)}\n </React.Fragment>\n ),\n }) as React.ReactElement;\n}\n\nconst styles = StyleSheet.create({\n tab: {\n flex: 1,\n alignItems: 'center',\n },\n tabPortrait: {\n justifyContent: 'flex-end',\n flexDirection: 'column',\n },\n tabLandscape: {\n justifyContent: 'center',\n flexDirection: 'row',\n },\n label: {\n textAlign: 'center',\n backgroundColor: 'transparent',\n },\n labelBeneath: {\n fontSize: 10,\n },\n labelBeside: {\n fontSize: 13,\n marginLeft: 20,\n marginTop: 3,\n },\n button: {\n display: 'flex',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["BottomTabBarItem","focused","route","descriptor","label","icon","badge","badgeStyle","to","button","children","style","onPress","accessibilityRole","rest","Platform","OS","styles","e","metaKey","altKey","ctrlKey","shiftKey","preventDefault","accessibilityLabel","testID","onLongPress","horizontal","activeTintColor","customActiveTintColor","inactiveTintColor","customInactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","showLabel","allowFontScaling","labelStyle","iconStyle","colors","useTheme","undefined","primary","Color","text","mix","card","hex","renderLabel","color","labelBeside","labelBeneath","options","tabBarLabel","title","name","position","renderIcon","activeOpacity","inactiveOpacity","scene","backgroundColor","select","ios","default","accessibilityState","selected","accessibilityStates","tab","tabLandscape","tabPortrait","StyleSheet","create","flex","alignItems","justifyContent","flexDirection","textAlign","fontSize","marginLeft","marginTop","display"],"sourceRoot":"../../src","sources":["BottomTabItem.tsx"],"mappings":"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"}
@@ -4,31 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = BottomTabView;
7
-
8
7
  var _elements = require("@react-navigation/elements");
9
-
10
8
  var React = _interopRequireWildcard(require("react"));
11
-
12
9
  var _reactNative = require("react-native");
13
-
14
10
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
15
-
16
11
  var _BottomTabBarHeightCallbackContext = _interopRequireDefault(require("../utils/BottomTabBarHeightCallbackContext"));
17
-
18
12
  var _BottomTabBarHeightContext = _interopRequireDefault(require("../utils/BottomTabBarHeightContext"));
19
-
20
13
  var _BottomTabBar = _interopRequireWildcard(require("./BottomTabBar"));
21
-
22
14
  var _ScreenFallback = require("./ScreenFallback");
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
-
32
19
  function BottomTabView(props) {
33
20
  const {
34
21
  tabBar = props => /*#__PURE__*/React.createElement(_BottomTabBar.default, props),
@@ -41,11 +28,9 @@ function BottomTabView(props) {
41
28
  } = props;
42
29
  const focusedRouteKey = state.routes[state.index].key;
43
30
  const [loaded, setLoaded] = React.useState([focusedRouteKey]);
44
-
45
31
  if (!loaded.includes(focusedRouteKey)) {
46
32
  setLoaded([...loaded, focusedRouteKey]);
47
33
  }
48
-
49
34
  const dimensions = _elements.SafeAreaProviderCompat.initialMetrics.frame;
50
35
  const [tabBarHeight, setTabBarHeight] = React.useState(() => (0, _BottomTabBar.getTabBarHeight)({
51
36
  state,
@@ -55,30 +40,25 @@ function BottomTabView(props) {
55
40
  width: dimensions.width,
56
41
  height: 0
57
42
  },
58
- insets: { ..._elements.SafeAreaProviderCompat.initialMetrics.insets,
43
+ insets: {
44
+ ..._elements.SafeAreaProviderCompat.initialMetrics.insets,
59
45
  ...props.safeAreaInsets
60
46
  },
61
47
  style: descriptors[state.routes[state.index].key].options.tabBarStyle
62
48
  }));
63
-
64
49
  const renderTabBar = () => {
65
- return /*#__PURE__*/React.createElement(_reactNativeSafeAreaContext.SafeAreaInsetsContext.Consumer, null, insets => {
66
- var _ref, _safeAreaInsets$top, _ref2, _safeAreaInsets$right, _ref3, _safeAreaInsets$botto, _ref4, _safeAreaInsets$left;
67
-
68
- return tabBar({
69
- state: state,
70
- descriptors: descriptors,
71
- navigation: navigation,
72
- insets: {
73
- top: (_ref = (_safeAreaInsets$top = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _safeAreaInsets$top !== void 0 ? _safeAreaInsets$top : insets === null || insets === void 0 ? void 0 : insets.top) !== null && _ref !== void 0 ? _ref : 0,
74
- right: (_ref2 = (_safeAreaInsets$right = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.right) !== null && _safeAreaInsets$right !== void 0 ? _safeAreaInsets$right : insets === null || insets === void 0 ? void 0 : insets.right) !== null && _ref2 !== void 0 ? _ref2 : 0,
75
- bottom: (_ref3 = (_safeAreaInsets$botto = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.bottom) !== null && _safeAreaInsets$botto !== void 0 ? _safeAreaInsets$botto : insets === null || insets === void 0 ? void 0 : insets.bottom) !== null && _ref3 !== void 0 ? _ref3 : 0,
76
- left: (_ref4 = (_safeAreaInsets$left = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.left) !== null && _safeAreaInsets$left !== void 0 ? _safeAreaInsets$left : insets === null || insets === void 0 ? void 0 : insets.left) !== null && _ref4 !== void 0 ? _ref4 : 0
77
- }
78
- });
79
- });
50
+ return /*#__PURE__*/React.createElement(_reactNativeSafeAreaContext.SafeAreaInsetsContext.Consumer, null, insets => tabBar({
51
+ state: state,
52
+ descriptors: descriptors,
53
+ navigation: navigation,
54
+ insets: {
55
+ top: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) ?? (insets === null || insets === void 0 ? void 0 : insets.top) ?? 0,
56
+ right: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.right) ?? (insets === null || insets === void 0 ? void 0 : insets.right) ?? 0,
57
+ bottom: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.bottom) ?? (insets === null || insets === void 0 ? void 0 : insets.bottom) ?? 0,
58
+ left: (safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.left) ?? (insets === null || insets === void 0 ? void 0 : insets.left) ?? 0
59
+ }
60
+ }));
80
61
  };
81
-
82
62
  const {
83
63
  routes
84
64
  } = state;
@@ -93,23 +73,20 @@ function BottomTabView(props) {
93
73
  unmountOnBlur
94
74
  } = descriptor.options;
95
75
  const isFocused = state.index === index;
96
-
97
76
  if (unmountOnBlur && !isFocused) {
98
77
  return null;
99
78
  }
100
-
101
79
  if (lazy && !loaded.includes(route.key) && !isFocused) {
102
80
  // Don't render a lazy screen if we've never navigated to it
103
81
  return null;
104
82
  }
105
-
106
83
  const {
107
84
  freezeOnBlur,
108
- header = _ref5 => {
85
+ header = _ref => {
109
86
  let {
110
87
  layout,
111
88
  options
112
- } = _ref5;
89
+ } = _ref;
113
90
  return /*#__PURE__*/React.createElement(_elements.Header, _extends({}, options, {
114
91
  layout: layout,
115
92
  title: (0, _elements.getHeaderTitle)(options, route.name)
@@ -148,7 +125,6 @@ function BottomTabView(props) {
148
125
  value: setTabBarHeight
149
126
  }, renderTabBar()));
150
127
  }
151
-
152
128
  const styles = _reactNative.StyleSheet.create({
153
129
  container: {
154
130
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["BottomTabView","props","tabBar","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","Platform","OS","sceneContainerStyle","focusedRouteKey","routes","index","key","loaded","setLoaded","React","useState","includes","dimensions","SafeAreaProviderCompat","initialMetrics","frame","tabBarHeight","setTabBarHeight","getTabBarHeight","layout","width","height","insets","style","options","tabBarStyle","renderTabBar","top","right","bottom","left","styles","container","map","route","descriptor","lazy","unmountOnBlur","isFocused","freezeOnBlur","header","getHeaderTitle","name","headerShown","headerStatusBarHeight","headerTransparent","StyleSheet","absoluteFill","zIndex","render","create","flex","overflow"],"sources":["BottomTabView.tsx"],"sourcesContent":["import {\n getHeaderTitle,\n Header,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n TabNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform, StyleSheet } from 'react-native';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nimport type {\n BottomTabBarProps,\n BottomTabDescriptorMap,\n BottomTabHeaderProps,\n BottomTabNavigationConfig,\n BottomTabNavigationHelpers,\n BottomTabNavigationProp,\n} from '../types';\nimport BottomTabBarHeightCallbackContext from '../utils/BottomTabBarHeightCallbackContext';\nimport BottomTabBarHeightContext from '../utils/BottomTabBarHeightContext';\nimport BottomTabBar, { getTabBarHeight } from './BottomTabBar';\nimport { MaybeScreen, MaybeScreenContainer } from './ScreenFallback';\n\ntype Props = BottomTabNavigationConfig & {\n state: TabNavigationState<ParamListBase>;\n navigation: BottomTabNavigationHelpers;\n descriptors: BottomTabDescriptorMap;\n};\n\nexport default function BottomTabView(props: Props) {\n const {\n tabBar = (props: BottomTabBarProps) => <BottomTabBar {...props} />,\n state,\n navigation,\n descriptors,\n safeAreaInsets,\n detachInactiveScreens = Platform.OS === 'web' ||\n Platform.OS === 'android' ||\n Platform.OS === 'ios',\n sceneContainerStyle,\n } = props;\n\n const focusedRouteKey = state.routes[state.index].key;\n const [loaded, setLoaded] = React.useState([focusedRouteKey]);\n\n if (!loaded.includes(focusedRouteKey)) {\n setLoaded([...loaded, focusedRouteKey]);\n }\n\n const dimensions = SafeAreaProviderCompat.initialMetrics.frame;\n const [tabBarHeight, setTabBarHeight] = React.useState(() =>\n getTabBarHeight({\n state,\n descriptors,\n dimensions,\n layout: { width: dimensions.width, height: 0 },\n insets: {\n ...SafeAreaProviderCompat.initialMetrics.insets,\n ...props.safeAreaInsets,\n },\n style: descriptors[state.routes[state.index].key].options.tabBarStyle,\n })\n );\n\n const renderTabBar = () => {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) =>\n tabBar({\n state: state,\n descriptors: descriptors,\n navigation: navigation,\n insets: {\n top: safeAreaInsets?.top ?? insets?.top ?? 0,\n right: safeAreaInsets?.right ?? insets?.right ?? 0,\n bottom: safeAreaInsets?.bottom ?? insets?.bottom ?? 0,\n left: safeAreaInsets?.left ?? insets?.left ?? 0,\n },\n })\n }\n </SafeAreaInsetsContext.Consumer>\n );\n };\n\n const { routes } = state;\n\n return (\n <SafeAreaProviderCompat>\n <MaybeScreenContainer\n enabled={detachInactiveScreens}\n hasTwoStates\n style={styles.container}\n >\n {routes.map((route, index) => {\n const descriptor = descriptors[route.key];\n const { lazy = true, unmountOnBlur } = descriptor.options;\n const isFocused = state.index === index;\n\n if (unmountOnBlur && !isFocused) {\n return null;\n }\n\n if (lazy && !loaded.includes(route.key) && !isFocused) {\n // Don't render a lazy screen if we've never navigated to it\n return null;\n }\n\n const {\n freezeOnBlur,\n header = ({ layout, options }: BottomTabHeaderProps) => (\n <Header\n {...options}\n layout={layout}\n title={getHeaderTitle(options, route.name)}\n />\n ),\n headerShown,\n headerStatusBarHeight,\n headerTransparent,\n } = descriptor.options;\n\n return (\n <MaybeScreen\n key={route.key}\n style={[StyleSheet.absoluteFill, { zIndex: isFocused ? 0 : -1 }]}\n visible={isFocused}\n enabled={detachInactiveScreens}\n freezeOnBlur={freezeOnBlur}\n >\n <BottomTabBarHeightContext.Provider value={tabBarHeight}>\n <Screen\n focused={isFocused}\n route={descriptor.route}\n navigation={descriptor.navigation}\n headerShown={headerShown}\n headerStatusBarHeight={headerStatusBarHeight}\n headerTransparent={headerTransparent}\n header={header({\n layout: dimensions,\n route: descriptor.route,\n navigation:\n descriptor.navigation as BottomTabNavigationProp<ParamListBase>,\n options: descriptor.options,\n })}\n style={sceneContainerStyle}\n >\n {descriptor.render()}\n </Screen>\n </BottomTabBarHeightContext.Provider>\n </MaybeScreen>\n );\n })}\n </MaybeScreenContainer>\n <BottomTabBarHeightCallbackContext.Provider value={setTabBarHeight}>\n {renderTabBar()}\n </BottomTabBarHeightCallbackContext.Provider>\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n overflow: 'hidden',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["BottomTabView","props","tabBar","state","navigation","descriptors","safeAreaInsets","detachInactiveScreens","Platform","OS","sceneContainerStyle","focusedRouteKey","routes","index","key","loaded","setLoaded","React","useState","includes","dimensions","SafeAreaProviderCompat","initialMetrics","frame","tabBarHeight","setTabBarHeight","getTabBarHeight","layout","width","height","insets","style","options","tabBarStyle","renderTabBar","top","right","bottom","left","styles","container","map","route","descriptor","lazy","unmountOnBlur","isFocused","freezeOnBlur","header","getHeaderTitle","name","headerShown","headerStatusBarHeight","headerTransparent","StyleSheet","absoluteFill","zIndex","render","create","flex","overflow"],"sourceRoot":"../../src","sources":["BottomTabView.tsx"],"mappings":";;;;;;AAAA;AAUA;AACA;AACA;AAUA;AACA;AACA;AACA;AAAqE;AAAA;AAAA;AAAA;AAQtD,SAASA,aAAa,CAACC,KAAY,EAAE;EAClD,MAAM;IACJC,MAAM,GAAID,KAAwB,iBAAK,oBAAC,qBAAY,EAAKA,KAAK,CAAI;IAClEE,KAAK;IACLC,UAAU;IACVC,WAAW;IACXC,cAAc;IACdC,qBAAqB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAC3CD,qBAAQ,CAACC,EAAE,KAAK,SAAS,IACzBD,qBAAQ,CAACC,EAAE,KAAK,KAAK;IACvBC;EACF,CAAC,GAAGT,KAAK;EAET,MAAMU,eAAe,GAAGR,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC,CAACC,GAAG;EACrD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,KAAK,CAACC,QAAQ,CAAC,CAACP,eAAe,CAAC,CAAC;EAE7D,IAAI,CAACI,MAAM,CAACI,QAAQ,CAACR,eAAe,CAAC,EAAE;IACrCK,SAAS,CAAC,CAAC,GAAGD,MAAM,EAAEJ,eAAe,CAAC,CAAC;EACzC;EAEA,MAAMS,UAAU,GAAGC,gCAAsB,CAACC,cAAc,CAACC,KAAK;EAC9D,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGR,KAAK,CAACC,QAAQ,CAAC,MACrD,IAAAQ,6BAAe,EAAC;IACdvB,KAAK;IACLE,WAAW;IACXe,UAAU;IACVO,MAAM,EAAE;MAAEC,KAAK,EAAER,UAAU,CAACQ,KAAK;MAAEC,MAAM,EAAE;IAAE,CAAC;IAC9CC,MAAM,EAAE;MACN,GAAGT,gCAAsB,CAACC,cAAc,CAACQ,MAAM;MAC/C,GAAG7B,KAAK,CAACK;IACX,CAAC;IACDyB,KAAK,EAAE1B,WAAW,CAACF,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC,CAACC,GAAG,CAAC,CAACkB,OAAO,CAACC;EAC5D,CAAC,CAAC,CACH;EAED,MAAMC,YAAY,GAAG,MAAM;IACzB,oBACE,oBAAC,iDAAqB,CAAC,QAAQ,QAC3BJ,MAAM,IACN5B,MAAM,CAAC;MACLC,KAAK,EAAEA,KAAK;MACZE,WAAW,EAAEA,WAAW;MACxBD,UAAU,EAAEA,UAAU;MACtB0B,MAAM,EAAE;QACNK,GAAG,EAAE,CAAA7B,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE6B,GAAG,MAAIL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,GAAG,KAAI,CAAC;QAC5CC,KAAK,EAAE,CAAA9B,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE8B,KAAK,MAAIN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEM,KAAK,KAAI,CAAC;QAClDC,MAAM,EAAE,CAAA/B,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE+B,MAAM,MAAIP,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,MAAM,KAAI,CAAC;QACrDC,IAAI,EAAE,CAAAhC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEgC,IAAI,MAAIR,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEQ,IAAI,KAAI;MAChD;IACF,CAAC,CAAC,CAE2B;EAErC,CAAC;EAED,MAAM;IAAE1B;EAAO,CAAC,GAAGT,KAAK;EAExB,oBACE,oBAAC,gCAAsB,qBACrB,oBAAC,oCAAoB;IACnB,OAAO,EAAEI,qBAAsB;IAC/B,YAAY;IACZ,KAAK,EAAEgC,MAAM,CAACC;EAAU,GAEvB5B,MAAM,CAAC6B,GAAG,CAAC,CAACC,KAAK,EAAE7B,KAAK,KAAK;IAC5B,MAAM8B,UAAU,GAAGtC,WAAW,CAACqC,KAAK,CAAC5B,GAAG,CAAC;IACzC,MAAM;MAAE8B,IAAI,GAAG,IAAI;MAAEC;IAAc,CAAC,GAAGF,UAAU,CAACX,OAAO;IACzD,MAAMc,SAAS,GAAG3C,KAAK,CAACU,KAAK,KAAKA,KAAK;IAEvC,IAAIgC,aAAa,IAAI,CAACC,SAAS,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,IAAIF,IAAI,IAAI,CAAC7B,MAAM,CAACI,QAAQ,CAACuB,KAAK,CAAC5B,GAAG,CAAC,IAAI,CAACgC,SAAS,EAAE;MACrD;MACA,OAAO,IAAI;IACb;IAEA,MAAM;MACJC,YAAY;MACZC,MAAM,GAAG;QAAA,IAAC;UAAErB,MAAM;UAAEK;QAA8B,CAAC;QAAA,oBACjD,oBAAC,gBAAM,eACDA,OAAO;UACX,MAAM,EAAEL,MAAO;UACf,KAAK,EAAE,IAAAsB,wBAAc,EAACjB,OAAO,EAAEU,KAAK,CAACQ,IAAI;QAAE,GAC3C;MAAA,CACH;MACDC,WAAW;MACXC,qBAAqB;MACrBC;IACF,CAAC,GAAGV,UAAU,CAACX,OAAO;IAEtB,oBACE,oBAAC,2BAAW;MACV,GAAG,EAAEU,KAAK,CAAC5B,GAAI;MACf,KAAK,EAAE,CAACwC,uBAAU,CAACC,YAAY,EAAE;QAAEC,MAAM,EAAEV,SAAS,GAAG,CAAC,GAAG,CAAC;MAAE,CAAC,CAAE;MACjE,OAAO,EAAEA,SAAU;MACnB,OAAO,EAAEvC,qBAAsB;MAC/B,YAAY,EAAEwC;IAAa,gBAE3B,oBAAC,kCAAyB,CAAC,QAAQ;MAAC,KAAK,EAAEvB;IAAa,gBACtD,oBAAC,gBAAM;MACL,OAAO,EAAEsB,SAAU;MACnB,KAAK,EAAEH,UAAU,CAACD,KAAM;MACxB,UAAU,EAAEC,UAAU,CAACvC,UAAW;MAClC,WAAW,EAAE+C,WAAY;MACzB,qBAAqB,EAAEC,qBAAsB;MAC7C,iBAAiB,EAAEC,iBAAkB;MACrC,MAAM,EAAEL,MAAM,CAAC;QACbrB,MAAM,EAAEP,UAAU;QAClBsB,KAAK,EAAEC,UAAU,CAACD,KAAK;QACvBtC,UAAU,EACRuC,UAAU,CAACvC,UAAoD;QACjE4B,OAAO,EAAEW,UAAU,CAACX;MACtB,CAAC,CAAE;MACH,KAAK,EAAEtB;IAAoB,GAE1BiC,UAAU,CAACc,MAAM,EAAE,CACb,CAC0B,CACzB;EAElB,CAAC,CAAC,CACmB,eACvB,oBAAC,0CAAiC,CAAC,QAAQ;IAAC,KAAK,EAAEhC;EAAgB,GAChES,YAAY,EAAE,CAC4B,CACtB;AAE7B;AAEA,MAAMK,MAAM,GAAGe,uBAAU,CAACI,MAAM,CAAC;EAC/BlB,SAAS,EAAE;IACTmB,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
@@ -5,60 +5,44 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.MaybeScreen = MaybeScreen;
7
7
  exports.MaybeScreenContainer = void 0;
8
-
9
8
  var _elements = require("@react-navigation/elements");
10
-
11
9
  var React = _interopRequireWildcard(require("react"));
12
-
13
10
  var _reactNative = require("react-native");
14
-
15
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
-
17
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
-
19
13
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
-
21
14
  let Screens;
22
-
23
15
  try {
24
16
  Screens = require('react-native-screens');
25
- } catch (e) {// Ignore
17
+ } catch (e) {
18
+ // Ignore
26
19
  }
27
-
28
20
  const MaybeScreenContainer = _ref => {
29
21
  var _Screens, _Screens$screensEnabl;
30
-
31
22
  let {
32
23
  enabled,
33
24
  ...rest
34
25
  } = _ref;
35
-
36
26
  if ((_Screens = Screens) !== null && _Screens !== void 0 && (_Screens$screensEnabl = _Screens.screensEnabled) !== null && _Screens$screensEnabl !== void 0 && _Screens$screensEnabl.call(_Screens)) {
37
27
  return /*#__PURE__*/React.createElement(Screens.ScreenContainer, _extends({
38
28
  enabled: enabled
39
29
  }, rest));
40
30
  }
41
-
42
31
  return /*#__PURE__*/React.createElement(_reactNative.View, rest);
43
32
  };
44
-
45
33
  exports.MaybeScreenContainer = MaybeScreenContainer;
46
-
47
34
  function MaybeScreen(_ref2) {
48
35
  var _Screens2, _Screens2$screensEnab;
49
-
50
36
  let {
51
37
  visible,
52
38
  children,
53
39
  ...rest
54
40
  } = _ref2;
55
-
56
41
  if ((_Screens2 = Screens) !== null && _Screens2 !== void 0 && (_Screens2$screensEnab = _Screens2.screensEnabled) !== null && _Screens2$screensEnab !== void 0 && _Screens2$screensEnab.call(_Screens2)) {
57
42
  return /*#__PURE__*/React.createElement(Screens.Screen, _extends({
58
43
  activityState: visible ? 2 : 0
59
44
  }, rest), children);
60
45
  }
61
-
62
46
  return /*#__PURE__*/React.createElement(_elements.ResourceSavingView, _extends({
63
47
  visible: visible
64
48
  }, rest), children);
@@ -1 +1 @@
1
- {"version":3,"names":["Screens","require","e","MaybeScreenContainer","enabled","rest","screensEnabled","MaybeScreen","visible","children"],"sources":["ScreenFallback.tsx"],"sourcesContent":["import { ResourceSavingView } from '@react-navigation/elements';\nimport * as React from 'react';\nimport { StyleProp, View, ViewProps, ViewStyle } from 'react-native';\n\ntype Props = {\n visible: boolean;\n children: React.ReactNode;\n enabled: boolean;\n freezeOnBlur?: boolean;\n style?: StyleProp<ViewStyle>;\n};\n\nlet Screens: typeof import('react-native-screens') | undefined;\n\ntry {\n Screens = require('react-native-screens');\n} catch (e) {\n // Ignore\n}\n\nexport const MaybeScreenContainer = ({\n enabled,\n ...rest\n}: ViewProps & {\n enabled: boolean;\n hasTwoStates: boolean;\n children: React.ReactNode;\n}) => {\n if (Screens?.screensEnabled?.()) {\n return <Screens.ScreenContainer enabled={enabled} {...rest} />;\n }\n\n return <View {...rest} />;\n};\n\nexport function MaybeScreen({ visible, children, ...rest }: Props) {\n if (Screens?.screensEnabled?.()) {\n return (\n <Screens.Screen activityState={visible ? 2 : 0} {...rest}>\n {children}\n </Screens.Screen>\n );\n }\n\n return (\n <ResourceSavingView visible={visible} {...rest}>\n {children}\n </ResourceSavingView>\n );\n}\n"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAUA,IAAIA,OAAJ;;AAEA,IAAI;EACFA,OAAO,GAAGC,OAAO,CAAC,sBAAD,CAAjB;AACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CACV;AACD;;AAEM,MAAMC,oBAAoB,GAAG,QAO9B;EAAA;;EAAA,IAP+B;IACnCC,OADmC;IAEnC,GAAGC;EAFgC,CAO/B;;EACJ,gBAAIL,OAAJ,8DAAI,SAASM,cAAb,kDAAI,oCAAJ,EAAiC;IAC/B,oBAAO,oBAAC,OAAD,CAAS,eAAT;MAAyB,OAAO,EAAEF;IAAlC,GAA+CC,IAA/C,EAAP;EACD;;EAED,oBAAO,oBAAC,iBAAD,EAAUA,IAAV,CAAP;AACD,CAbM;;;;AAeA,SAASE,WAAT,QAA4D;EAAA;;EAAA,IAAvC;IAAEC,OAAF;IAAWC,QAAX;IAAqB,GAAGJ;EAAxB,CAAuC;;EACjE,iBAAIL,OAAJ,+DAAI,UAASM,cAAb,kDAAI,qCAAJ,EAAiC;IAC/B,oBACE,oBAAC,OAAD,CAAS,MAAT;MAAgB,aAAa,EAAEE,OAAO,GAAG,CAAH,GAAO;IAA7C,GAAoDH,IAApD,GACGI,QADH,CADF;EAKD;;EAED,oBACE,oBAAC,4BAAD;IAAoB,OAAO,EAAED;EAA7B,GAA0CH,IAA1C,GACGI,QADH,CADF;AAKD"}
1
+ {"version":3,"names":["Screens","require","e","MaybeScreenContainer","enabled","rest","screensEnabled","MaybeScreen","visible","children"],"sourceRoot":"../../src","sources":["ScreenFallback.tsx"],"mappings":";;;;;;;AAAA;AACA;AACA;AAAqE;AAAA;AAAA;AAUrE,IAAIA,OAA0D;AAE9D,IAAI;EACFA,OAAO,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAC3C,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;AAAA;AAGK,MAAMC,oBAAoB,GAAG,QAO9B;EAAA;EAAA,IAP+B;IACnCC,OAAO;IACP,GAAGC;EAKL,CAAC;EACC,gBAAIL,OAAO,8DAAP,SAASM,cAAc,kDAAvB,oCAA2B,EAAE;IAC/B,oBAAO,oBAAC,OAAO,CAAC,eAAe;MAAC,OAAO,EAAEF;IAAQ,GAAKC,IAAI,EAAI;EAChE;EAEA,oBAAO,oBAAC,iBAAI,EAAKA,IAAI,CAAI;AAC3B,CAAC;AAAC;AAEK,SAASE,WAAW,QAAwC;EAAA;EAAA,IAAvC;IAAEC,OAAO;IAAEC,QAAQ;IAAE,GAAGJ;EAAY,CAAC;EAC/D,iBAAIL,OAAO,+DAAP,UAASM,cAAc,kDAAvB,qCAA2B,EAAE;IAC/B,oBACE,oBAAC,OAAO,CAAC,MAAM;MAAC,aAAa,EAAEE,OAAO,GAAG,CAAC,GAAG;IAAE,GAAKH,IAAI,GACrDI,QAAQ,CACM;EAErB;EAEA,oBACE,oBAAC,4BAAkB;IAAC,OAAO,EAAED;EAAQ,GAAKH,IAAI,GAC3CI,QAAQ,CACU;AAEzB"}
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = TabBarIcon;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _Badge = _interopRequireDefault(require("./Badge"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  function TabBarIcon(_ref) {
17
12
  let {
18
13
  route: _,
@@ -26,9 +21,10 @@ function TabBarIcon(_ref) {
26
21
  renderIcon,
27
22
  style
28
23
  } = _ref;
29
- const size = 25; // We render the icon twice at the same position on top of each other:
30
- // active and inactive one, so we can fade between them.
24
+ const size = 25;
31
25
 
26
+ // We render the icon twice at the same position on top of each other:
27
+ // active and inactive one, so we can fade between them.
32
28
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
33
29
  style: [horizontal ? styles.iconHorizontal : styles.iconVertical, style]
34
30
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -53,7 +49,6 @@ function TabBarIcon(_ref) {
53
49
  size: size * 3 / 4
54
50
  }, badge));
55
51
  }
56
-
57
52
  const styles = _reactNative.StyleSheet.create({
58
53
  icon: {
59
54
  // We render the icon twice at the same position on top of each other:
@@ -1 +1 @@
1
- {"version":3,"names":["TabBarIcon","route","_","horizontal","badge","badgeStyle","activeOpacity","inactiveOpacity","activeTintColor","inactiveTintColor","renderIcon","style","size","styles","iconHorizontal","iconVertical","icon","opacity","focused","color","badgeHorizontal","badgeVertical","StyleSheet","create","position","alignSelf","alignItems","justifyContent","height","width","minWidth","flex","marginTop","left","top"],"sources":["TabBarIcon.tsx"],"sourcesContent":["import type { Route } from '@react-navigation/native';\nimport React from 'react';\nimport {\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport Badge from './Badge';\n\ntype Props = {\n route: Route<string>;\n horizontal: boolean;\n badge?: string | number;\n badgeStyle?: StyleProp<TextStyle>;\n activeOpacity: number;\n inactiveOpacity: number;\n activeTintColor: string;\n inactiveTintColor: string;\n renderIcon: (props: {\n focused: boolean;\n color: string;\n size: number;\n }) => React.ReactNode;\n style: StyleProp<ViewStyle>;\n};\n\nexport default function TabBarIcon({\n route: _,\n horizontal,\n badge,\n badgeStyle,\n activeOpacity,\n inactiveOpacity,\n activeTintColor,\n inactiveTintColor,\n renderIcon,\n style,\n}: Props) {\n const size = 25;\n\n // We render the icon twice at the same position on top of each other:\n // active and inactive one, so we can fade between them.\n return (\n <View\n style={[horizontal ? styles.iconHorizontal : styles.iconVertical, style]}\n >\n <View style={[styles.icon, { opacity: activeOpacity }]}>\n {renderIcon({\n focused: true,\n size,\n color: activeTintColor,\n })}\n </View>\n <View style={[styles.icon, { opacity: inactiveOpacity }]}>\n {renderIcon({\n focused: false,\n size,\n color: inactiveTintColor,\n })}\n </View>\n <Badge\n visible={badge != null}\n style={[\n styles.badge,\n horizontal ? styles.badgeHorizontal : styles.badgeVertical,\n badgeStyle,\n ]}\n size={(size * 3) / 4}\n >\n {badge}\n </Badge>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n icon: {\n // We render the icon twice at the same position on top of each other:\n // active and inactive one, so we can fade between them:\n // Cover the whole iconContainer:\n position: 'absolute',\n alignSelf: 'center',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n width: '100%',\n // Workaround for react-native >= 0.54 layout bug\n minWidth: 25,\n },\n iconVertical: {\n flex: 1,\n },\n iconHorizontal: {\n height: '100%',\n marginTop: 3,\n },\n badge: {\n position: 'absolute',\n left: 3,\n },\n badgeVertical: {\n top: 3,\n },\n badgeHorizontal: {\n top: 7,\n },\n});\n"],"mappings":";;;;;;;AACA;;AACA;;AAQA;;;;AAmBe,SAASA,UAAT,OAWL;EAAA,IAXyB;IACjCC,KAAK,EAAEC,CAD0B;IAEjCC,UAFiC;IAGjCC,KAHiC;IAIjCC,UAJiC;IAKjCC,aALiC;IAMjCC,eANiC;IAOjCC,eAPiC;IAQjCC,iBARiC;IASjCC,UATiC;IAUjCC;EAViC,CAWzB;EACR,MAAMC,IAAI,GAAG,EAAb,CADQ,CAGR;EACA;;EACA,oBACE,6BAAC,iBAAD;IACE,KAAK,EAAE,CAACT,UAAU,GAAGU,MAAM,CAACC,cAAV,GAA2BD,MAAM,CAACE,YAA7C,EAA2DJ,KAA3D;EADT,gBAGE,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACE,MAAM,CAACG,IAAR,EAAc;MAAEC,OAAO,EAAEX;IAAX,CAAd;EAAb,GACGI,UAAU,CAAC;IACVQ,OAAO,EAAE,IADC;IAEVN,IAFU;IAGVO,KAAK,EAAEX;EAHG,CAAD,CADb,CAHF,eAUE,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACK,MAAM,CAACG,IAAR,EAAc;MAAEC,OAAO,EAAEV;IAAX,CAAd;EAAb,GACGG,UAAU,CAAC;IACVQ,OAAO,EAAE,KADC;IAEVN,IAFU;IAGVO,KAAK,EAAEV;EAHG,CAAD,CADb,CAVF,eAiBE,6BAAC,cAAD;IACE,OAAO,EAAEL,KAAK,IAAI,IADpB;IAEE,KAAK,EAAE,CACLS,MAAM,CAACT,KADF,EAELD,UAAU,GAAGU,MAAM,CAACO,eAAV,GAA4BP,MAAM,CAACQ,aAFxC,EAGLhB,UAHK,CAFT;IAOE,IAAI,EAAGO,IAAI,GAAG,CAAR,GAAa;EAPrB,GASGR,KATH,CAjBF,CADF;AA+BD;;AAED,MAAMS,MAAM,GAAGS,uBAAA,CAAWC,MAAX,CAAkB;EAC/BP,IAAI,EAAE;IACJ;IACA;IACA;IACAQ,QAAQ,EAAE,UAJN;IAKJC,SAAS,EAAE,QALP;IAMJC,UAAU,EAAE,QANR;IAOJC,cAAc,EAAE,QAPZ;IAQJC,MAAM,EAAE,MARJ;IASJC,KAAK,EAAE,MATH;IAUJ;IACAC,QAAQ,EAAE;EAXN,CADyB;EAc/Bf,YAAY,EAAE;IACZgB,IAAI,EAAE;EADM,CAdiB;EAiB/BjB,cAAc,EAAE;IACdc,MAAM,EAAE,MADM;IAEdI,SAAS,EAAE;EAFG,CAjBe;EAqB/B5B,KAAK,EAAE;IACLoB,QAAQ,EAAE,UADL;IAELS,IAAI,EAAE;EAFD,CArBwB;EAyB/BZ,aAAa,EAAE;IACba,GAAG,EAAE;EADQ,CAzBgB;EA4B/Bd,eAAe,EAAE;IACfc,GAAG,EAAE;EADU;AA5Bc,CAAlB,CAAf"}
1
+ {"version":3,"names":["TabBarIcon","route","_","horizontal","badge","badgeStyle","activeOpacity","inactiveOpacity","activeTintColor","inactiveTintColor","renderIcon","style","size","styles","iconHorizontal","iconVertical","icon","opacity","focused","color","badgeHorizontal","badgeVertical","StyleSheet","create","position","alignSelf","alignItems","justifyContent","height","width","minWidth","flex","marginTop","left","top"],"sourceRoot":"../../src","sources":["TabBarIcon.tsx"],"mappings":";;;;;;AACA;AACA;AAQA;AAA4B;AAmBb,SAASA,UAAU,OAWxB;EAAA,IAXyB;IACjCC,KAAK,EAAEC,CAAC;IACRC,UAAU;IACVC,KAAK;IACLC,UAAU;IACVC,aAAa;IACbC,eAAe;IACfC,eAAe;IACfC,iBAAiB;IACjBC,UAAU;IACVC;EACK,CAAC;EACN,MAAMC,IAAI,GAAG,EAAE;;EAEf;EACA;EACA,oBACE,6BAAC,iBAAI;IACH,KAAK,EAAE,CAACT,UAAU,GAAGU,MAAM,CAACC,cAAc,GAAGD,MAAM,CAACE,YAAY,EAAEJ,KAAK;EAAE,gBAEzE,6BAAC,iBAAI;IAAC,KAAK,EAAE,CAACE,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEX;IAAc,CAAC;EAAE,GACpDI,UAAU,CAAC;IACVQ,OAAO,EAAE,IAAI;IACbN,IAAI;IACJO,KAAK,EAAEX;EACT,CAAC,CAAC,CACG,eACP,6BAAC,iBAAI;IAAC,KAAK,EAAE,CAACK,MAAM,CAACG,IAAI,EAAE;MAAEC,OAAO,EAAEV;IAAgB,CAAC;EAAE,GACtDG,UAAU,CAAC;IACVQ,OAAO,EAAE,KAAK;IACdN,IAAI;IACJO,KAAK,EAAEV;EACT,CAAC,CAAC,CACG,eACP,6BAAC,cAAK;IACJ,OAAO,EAAEL,KAAK,IAAI,IAAK;IACvB,KAAK,EAAE,CACLS,MAAM,CAACT,KAAK,EACZD,UAAU,GAAGU,MAAM,CAACO,eAAe,GAAGP,MAAM,CAACQ,aAAa,EAC1DhB,UAAU,CACV;IACF,IAAI,EAAGO,IAAI,GAAG,CAAC,GAAI;EAAE,GAEpBR,KAAK,CACA,CACH;AAEX;AAEA,MAAMS,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BP,IAAI,EAAE;IACJ;IACA;IACA;IACAQ,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE,MAAM;IACb;IACAC,QAAQ,EAAE;EACZ,CAAC;EACDf,YAAY,EAAE;IACZgB,IAAI,EAAE;EACR,CAAC;EACDjB,cAAc,EAAE;IACdc,MAAM,EAAE,MAAM;IACdI,SAAS,EAAE;EACb,CAAC;EACD5B,KAAK,EAAE;IACLoB,QAAQ,EAAE,UAAU;IACpBS,IAAI,EAAE;EACR,CAAC;EACDZ,aAAa,EAAE;IACba,GAAG,EAAE;EACP,CAAC;EACDd,eAAe,EAAE;IACfc,GAAG,EAAE;EACP;AACF,CAAC,CAAC"}
@@ -2,19 +2,20 @@
2
2
  * Navigators
3
3
  */
4
4
  export { default as createBottomTabNavigator } from './navigators/createBottomTabNavigator';
5
+
5
6
  /**
6
7
  * Views
7
8
  */
8
-
9
9
  export { default as BottomTabBar } from './views/BottomTabBar';
10
10
  export { default as BottomTabView } from './views/BottomTabView';
11
+
11
12
  /**
12
13
  * Utilities
13
14
  */
14
-
15
15
  export { default as BottomTabBarHeightCallbackContext } from './utils/BottomTabBarHeightCallbackContext';
16
16
  export { default as BottomTabBarHeightContext } from './utils/BottomTabBarHeightContext';
17
17
  export { default as useBottomTabBarHeight } from './utils/useBottomTabBarHeight';
18
+
18
19
  /**
19
20
  * Types
20
21
  */
@@ -1 +1 @@
1
- {"version":3,"names":["default","createBottomTabNavigator","BottomTabBar","BottomTabView","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useBottomTabBarHeight"],"sources":["index.tsx"],"sourcesContent":["/**\n * Navigators\n */\nexport { default as createBottomTabNavigator } from './navigators/createBottomTabNavigator';\n\n/**\n * Views\n */\nexport { default as BottomTabBar } from './views/BottomTabBar';\nexport { default as BottomTabView } from './views/BottomTabView';\n\n/**\n * Utilities\n */\nexport { default as BottomTabBarHeightCallbackContext } from './utils/BottomTabBarHeightCallbackContext';\nexport { default as BottomTabBarHeightContext } from './utils/BottomTabBarHeightContext';\nexport { default as useBottomTabBarHeight } from './utils/useBottomTabBarHeight';\n\n/**\n * Types\n */\nexport type {\n BottomTabBarButtonProps,\n BottomTabBarProps,\n BottomTabHeaderProps,\n BottomTabNavigationEventMap,\n BottomTabNavigationOptions,\n BottomTabNavigationProp,\n BottomTabScreenProps,\n} from './types';\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,wBAApB,QAAoD,uCAApD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,YAApB,QAAwC,sBAAxC;AACA,SAASF,OAAO,IAAIG,aAApB,QAAyC,uBAAzC;AAEA;AACA;AACA;;AACA,SAASH,OAAO,IAAII,iCAApB,QAA6D,2CAA7D;AACA,SAASJ,OAAO,IAAIK,yBAApB,QAAqD,mCAArD;AACA,SAASL,OAAO,IAAIM,qBAApB,QAAiD,+BAAjD;AAEA;AACA;AACA"}
1
+ {"version":3,"names":["default","createBottomTabNavigator","BottomTabBar","BottomTabView","BottomTabBarHeightCallbackContext","BottomTabBarHeightContext","useBottomTabBarHeight"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,wBAAwB,QAAQ,uCAAuC;;AAE3F;AACA;AACA;AACA,SAASD,OAAO,IAAIE,YAAY,QAAQ,sBAAsB;AAC9D,SAASF,OAAO,IAAIG,aAAa,QAAQ,uBAAuB;;AAEhE;AACA;AACA;AACA,SAASH,OAAO,IAAII,iCAAiC,QAAQ,2CAA2C;AACxG,SAASJ,OAAO,IAAIK,yBAAyB,QAAQ,mCAAmC;AACxF,SAASL,OAAO,IAAIM,qBAAqB,QAAQ,+BAA+B;;AAEhF;AACA;AACA"}