UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 49 kB
{"ast":null,"code":"\"use strict\";\n\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { getDefaultSidebarWidth, getLabel, MissingIcon, useFrameSize } from '@react-navigation/elements';\nimport { CommonActions, NavigationContext, NavigationRouteContext, useLinkBuilder, useLocale, useTheme } from '@react-navigation/native';\nimport React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { BottomTabBarHeightCallbackContext } from \"../utils/BottomTabBarHeightCallbackContext.js\";\nimport { useIsKeyboardShown } from \"../utils/useIsKeyboardShown.js\";\nimport { BottomTabItem } from \"./BottomTabItem.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar TABBAR_HEIGHT_UIKIT = 49;\nvar TABBAR_HEIGHT_UIKIT_COMPACT = 32;\nvar SPACING_UIKIT = 15;\nvar SPACING_MATERIAL = 12;\nvar DEFAULT_MAX_TAB_ITEM_WIDTH = 125;\nvar useNativeDriver = Platform.OS !== 'web';\nvar shouldUseHorizontalLabels = function shouldUseHorizontalLabels(_ref) {\n var state = _ref.state,\n descriptors = _ref.descriptors,\n dimensions = _ref.dimensions;\n var tabBarLabelPosition = descriptors[state.routes[state.index].key].options.tabBarLabelPosition;\n if (tabBarLabelPosition) {\n switch (tabBarLabelPosition) {\n case 'beside-icon':\n return true;\n case 'below-icon':\n return false;\n }\n }\n if (dimensions.width >= 768) {\n var maxTabWidth = state.routes.reduce(function (acc, route) {\n var tabBarItemStyle = descriptors[route.key].options.tabBarItemStyle;\n var flattenedStyle = StyleSheet.flatten(tabBarItemStyle);\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 return acc + DEFAULT_MAX_TAB_ITEM_WIDTH;\n }, 0);\n return maxTabWidth <= dimensions.width;\n } else {\n return dimensions.width > dimensions.height;\n }\n};\nvar isCompact = function isCompact(_ref2) {\n var state = _ref2.state,\n descriptors = _ref2.descriptors,\n dimensions = _ref2.dimensions;\n var _descriptors$state$ro = descriptors[state.routes[state.index].key].options,\n tabBarPosition = _descriptors$state$ro.tabBarPosition,\n tabBarVariant = _descriptors$state$ro.tabBarVariant;\n if (tabBarPosition === 'left' || tabBarPosition === 'right' || tabBarVariant === 'material') {\n return false;\n }\n var isLandscape = dimensions.width > dimensions.height;\n var horizontalLabels = shouldUseHorizontalLabels({\n state: state,\n descriptors: descriptors,\n dimensions: dimensions\n });\n if (Platform.OS === 'ios' && !Platform.isPad && isLandscape && horizontalLabels) {\n return true;\n }\n return false;\n};\nexport var getTabBarHeight = function getTabBarHeight(_ref3) {\n var state = _ref3.state,\n descriptors = _ref3.descriptors,\n dimensions = _ref3.dimensions,\n insets = _ref3.insets,\n style = _ref3.style;\n var tabBarPosition = descriptors[state.routes[state.index].key].options.tabBarPosition;\n var flattenedStyle = StyleSheet.flatten(style);\n var customHeight = flattenedStyle && 'height' in flattenedStyle ? flattenedStyle.height : undefined;\n if (typeof customHeight === 'number') {\n return customHeight;\n }\n var inset = insets[tabBarPosition === 'top' ? 'top' : 'bottom'];\n if (isCompact({\n state: state,\n descriptors: descriptors,\n dimensions: dimensions\n })) {\n return TABBAR_HEIGHT_UIKIT_COMPACT + inset;\n }\n return TABBAR_HEIGHT_UIKIT + inset;\n};\nexport function BottomTabBar(_ref4) {\n var state = _ref4.state,\n navigation = _ref4.navigation,\n descriptors = _ref4.descriptors,\n insets = _ref4.insets,\n style = _ref4.style;\n var _useTheme = useTheme(),\n colors = _useTheme.colors;\n var _useLocale = useLocale(),\n direction = _useLocale.direction;\n var _useLinkBuilder = useLinkBuilder(),\n buildHref = _useLinkBuilder.buildHref;\n var focusedRoute = state.routes[state.index];\n var focusedDescriptor = descriptors[focusedRoute.key];\n var focusedOptions = focusedDescriptor.options;\n var _focusedOptions$tabBa = focusedOptions.tabBarPosition,\n tabBarPosition = _focusedOptions$tabBa === void 0 ? 'bottom' : _focusedOptions$tabBa,\n tabBarShowLabel = focusedOptions.tabBarShowLabel,\n tabBarLabelPosition = focusedOptions.tabBarLabelPosition,\n _focusedOptions$tabBa2 = focusedOptions.tabBarHideOnKeyboard,\n tabBarHideOnKeyboard = _focusedOptions$tabBa2 === void 0 ? false : _focusedOptions$tabBa2,\n tabBarVisibilityAnimationConfig = focusedOptions.tabBarVisibilityAnimationConfig,\n _focusedOptions$tabBa3 = focusedOptions.tabBarVariant,\n tabBarVariant = _focusedOptions$tabBa3 === void 0 ? 'uikit' : _focusedOptions$tabBa3,\n tabBarStyle = focusedOptions.tabBarStyle,\n tabBarBackground = focusedOptions.tabBarBackground,\n tabBarActiveTintColor = focusedOptions.tabBarActiveTintColor,\n tabBarInactiveTintColor = focusedOptions.tabBarInactiveTintColor,\n tabBarActiveBackgroundColor = focusedOptions.tabBarActiveBackgroundColor,\n tabBarInactiveBackgroundColor = focusedOptions.tabBarInactiveBackgroundColor;\n if (tabBarVariant === 'material' && tabBarPosition !== 'left' && tabBarPosition !== 'right') {\n throw new Error(\"The 'material' variant for tab bar is only supported when 'tabBarPosition' is set to 'left' or 'right'.\");\n }\n if (tabBarLabelPosition === 'below-icon' && tabBarVariant === 'uikit' && (tabBarPosition === 'left' || tabBarPosition === 'right')) {\n throw new Error(\"The 'below-icon' label position for tab bar is only supported when 'tabBarPosition' is set to 'top' or 'bottom' when using the 'uikit' variant.\");\n }\n var isKeyboardShown = useIsKeyboardShown();\n var onHeightChange = React.useContext(BottomTabBarHeightCallbackContext);\n var shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);\n var visibilityAnimationConfigRef = React.useRef(tabBarVisibilityAnimationConfig);\n React.useEffect(function () {\n visibilityAnimationConfigRef.current = tabBarVisibilityAnimationConfig;\n });\n var _React$useState = React.useState(!shouldShowTabBar),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n isTabBarHidden = _React$useState2[0],\n setIsTabBarHidden = _React$useState2[1];\n var _React$useState3 = React.useState(function () {\n return new Animated.Value(shouldShowTabBar ? 1 : 0);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 1),\n visible = _React$useState4[0];\n React.useEffect(function () {\n var visibilityAnimationConfig = visibilityAnimationConfigRef.current;\n if (shouldShowTabBar) {\n var _visibilityAnimationC, _visibilityAnimationC2;\n var animation = (visibilityAnimationConfig == null ? void 0 : (_visibilityAnimationC = visibilityAnimationConfig.show) == null ? void 0 : _visibilityAnimationC.animation) === 'spring' ? Animated.spring : Animated.timing;\n animation(visible, _objectSpread({\n toValue: 1,\n useNativeDriver: useNativeDriver,\n duration: 250\n }, visibilityAnimationConfig == null ? void 0 : (_visibilityAnimationC2 = visibilityAnimationConfig.show) == null ? void 0 : _visibilityAnimationC2.config)).start(function (_ref5) {\n var finished = _ref5.finished;\n if (finished) {\n setIsTabBarHidden(false);\n }\n });\n } else {\n var _visibilityAnimationC3, _visibilityAnimationC4;\n setIsTabBarHidden(true);\n var _animation = (visibilityAnimationConfig == null ? void 0 : (_visibilityAnimationC3 = visibilityAnimationConfig.hide) == null ? void 0 : _visibilityAnimationC3.animation) === 'spring' ? Animated.spring : Animated.timing;\n _animation(visible, _objectSpread({\n toValue: 0,\n useNativeDriver: useNativeDriver,\n duration: 200\n }, visibilityAnimationConfig == null ? void 0 : (_visibilityAnimationC4 = visibilityAnimationConfig.hide) == null ? void 0 : _visibilityAnimationC4.config)).start();\n }\n return function () {\n return visible.stopAnimation();\n };\n }, [visible, shouldShowTabBar]);\n var _React$useState5 = React.useState({\n height: 0\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n layout = _React$useState6[0],\n setLayout = _React$useState6[1];\n var handleLayout = function handleLayout(e) {\n var height = e.nativeEvent.layout.height;\n onHeightChange == null ? void 0 : onHeightChange(height);\n setLayout(function (layout) {\n if (height === layout.height) {\n return layout;\n } else {\n return {\n height: height\n };\n }\n });\n };\n var routes = state.routes;\n var tabBarHeight = useFrameSize(function (dimensions) {\n return getTabBarHeight({\n state: state,\n descriptors: descriptors,\n insets: insets,\n dimensions: dimensions,\n style: [tabBarStyle, style]\n });\n });\n var hasHorizontalLabels = useFrameSize(function (dimensions) {\n return shouldUseHorizontalLabels({\n state: state,\n descriptors: descriptors,\n dimensions: dimensions\n });\n });\n var compact = useFrameSize(function (dimensions) {\n return isCompact({\n state: state,\n descriptors: descriptors,\n dimensions: dimensions\n });\n });\n var sidebar = tabBarPosition === 'left' || tabBarPosition === 'right';\n var spacing = tabBarVariant === 'material' ? SPACING_MATERIAL : SPACING_UIKIT;\n var minSidebarWidth = useFrameSize(function (size) {\n return sidebar && hasHorizontalLabels ? getDefaultSidebarWidth(size) : 0;\n });\n var tabBarBackgroundElement = tabBarBackground == null ? void 0 : tabBarBackground();\n return _jsxs(Animated.View, {\n style: [tabBarPosition === 'left' ? styles.start : tabBarPosition === 'right' ? styles.end : styles.bottom, (Platform.OS === 'web' ? tabBarPosition === 'right' : direction === 'rtl' && tabBarPosition === 'left' || direction !== 'rtl' && tabBarPosition === 'right') ? {\n borderLeftWidth: StyleSheet.hairlineWidth\n } : (Platform.OS === 'web' ? tabBarPosition === 'left' : direction === 'rtl' && tabBarPosition === 'right' || direction !== 'rtl' && tabBarPosition === 'left') ? {\n borderRightWidth: StyleSheet.hairlineWidth\n } : tabBarPosition === 'top' ? {\n borderBottomWidth: StyleSheet.hairlineWidth\n } : {\n borderTopWidth: StyleSheet.hairlineWidth\n }, {\n backgroundColor: tabBarBackgroundElement != null ? 'transparent' : colors.card,\n borderColor: colors.border\n }, sidebar ? {\n paddingTop: (hasHorizontalLabels ? spacing : spacing / 2) + insets.top,\n paddingBottom: (hasHorizontalLabels ? spacing : spacing / 2) + insets.bottom,\n paddingStart: spacing + (tabBarPosition === 'left' ? insets.left : 0),\n paddingEnd: spacing + (tabBarPosition === 'right' ? insets.right : 0),\n minWidth: minSidebarWidth\n } : [{\n transform: [{\n translateY: visible.interpolate({\n inputRange: [0, 1],\n outputRange: [layout.height + insets[tabBarPosition === 'top' ? 'top' : 'bottom'] + StyleSheet.hairlineWidth, 0]\n })\n }],\n position: isTabBarHidden ? 'absolute' : undefined\n }, {\n height: tabBarHeight,\n paddingBottom: tabBarPosition === 'bottom' ? insets.bottom : 0,\n paddingTop: tabBarPosition === 'top' ? insets.top : 0,\n paddingHorizontal: Math.max(insets.left, insets.right)\n }], tabBarStyle],\n pointerEvents: isTabBarHidden ? 'none' : 'auto',\n onLayout: sidebar ? undefined : handleLayout,\n children: [_jsx(View, {\n pointerEvents: \"none\",\n style: StyleSheet.absoluteFill,\n children: tabBarBackgroundElement\n }), _jsx(View, {\n role: \"tablist\",\n style: sidebar ? styles.sideContent : styles.bottomContent,\n children: routes.map(function (route, index) {\n var _options$tabBarIcon;\n var focused = index === state.index;\n var options = descriptors[route.key].options;\n var onPress = function onPress() {\n var event = navigation.emit({\n type: 'tabPress',\n target: route.key,\n canPreventDefault: true\n });\n if (!focused && !event.defaultPrevented) {\n navigation.dispatch(_objectSpread(_objectSpread({}, CommonActions.navigate(route)), {}, {\n target: state.key\n }));\n }\n };\n var onLongPress = function onLongPress() {\n navigation.emit({\n type: 'tabLongPress',\n target: route.key\n });\n };\n var label = typeof options.tabBarLabel === 'function' ? options.tabBarLabel : getLabel({\n label: options.tabBarLabel,\n title: options.title\n }, route.name);\n var accessibilityLabel = options.tabBarAccessibilityLabel !== undefined ? options.tabBarAccessibilityLabel : typeof label === 'string' && Platform.OS === 'ios' ? `${label}, tab, ${index + 1} of ${routes.length}` : undefined;\n return _jsx(NavigationContext.Provider, {\n value: descriptors[route.key].navigation,\n children: _jsx(NavigationRouteContext.Provider, {\n value: route,\n children: _jsx(BottomTabItem, {\n href: buildHref(route.name, route.params),\n route: route,\n descriptor: descriptors[route.key],\n focused: focused,\n horizontal: hasHorizontalLabels,\n compact: compact,\n sidebar: sidebar,\n variant: tabBarVariant,\n onPress: onPress,\n onLongPress: onLongPress,\n accessibilityLabel: accessibilityLabel,\n testID: options.tabBarButtonTestID,\n allowFontScaling: options.tabBarAllowFontScaling,\n activeTintColor: tabBarActiveTintColor,\n inactiveTintColor: tabBarInactiveTintColor,\n activeBackgroundColor: tabBarActiveBackgroundColor,\n inactiveBackgroundColor: tabBarInactiveBackgroundColor,\n button: options.tabBarButton,\n icon: (_options$tabBarIcon = options.tabBarIcon) != null ? _options$tabBarIcon : function (_ref6) {\n var color = _ref6.color,\n size = _ref6.size;\n return _jsx(MissingIcon, {\n color: color,\n 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: [sidebar ? {\n marginVertical: hasHorizontalLabels ? tabBarVariant === 'material' ? 0 : 1 : spacing / 2\n } : styles.bottomItem, options.tabBarItemStyle]\n })\n })\n }, route.key);\n })\n })]\n });\n}\nvar styles = StyleSheet.create({\n start: {\n top: 0,\n bottom: 0,\n start: 0\n },\n end: {\n top: 0,\n bottom: 0,\n end: 0\n },\n bottom: {\n start: 0,\n end: 0,\n bottom: 0,\n elevation: 8\n },\n bottomContent: {\n flex: 1,\n flexDirection: 'row'\n },\n sideContent: {\n flex: 1,\n flexDirection: 'column'\n },\n bottomItem: {\n flex: 1\n }\n});","map":{"version":3,"names":["getDefaultSidebarWidth","getLabel","MissingIcon","useFrameSize","CommonActions","NavigationContext","NavigationRouteContext","useLinkBuilder","useLocale","useTheme","React","Animated","Platform","StyleSheet","View","BottomTabBarHeightCallbackContext","useIsKeyboardShown","BottomTabItem","jsx","_jsx","jsxs","_jsxs","TABBAR_HEIGHT_UIKIT","TABBAR_HEIGHT_UIKIT_COMPACT","SPACING_UIKIT","SPACING_MATERIAL","DEFAULT_MAX_TAB_ITEM_WIDTH","useNativeDriver","OS","shouldUseHorizontalLabels","_ref","state","descriptors","dimensions","tabBarLabelPosition","routes","index","key","options","width","maxTabWidth","reduce","acc","route","tabBarItemStyle","flattenedStyle","flatten","maxWidth","height","isCompact","_ref2","_descriptors$state$ro","tabBarPosition","tabBarVariant","isLandscape","horizontalLabels","isPad","getTabBarHeight","_ref3","insets","style","customHeight","undefined","inset","BottomTabBar","_ref4","navigation","_useTheme","colors","_useLocale","direction","_useLinkBuilder","buildHref","focusedRoute","focusedDescriptor","focusedOptions","_focusedOptions$tabBa","tabBarShowLabel","_focusedOptions$tabBa2","tabBarHideOnKeyboard","tabBarVisibilityAnimationConfig","_focusedOptions$tabBa3","tabBarStyle","tabBarBackground","tabBarActiveTintColor","tabBarInactiveTintColor","tabBarActiveBackgroundColor","tabBarInactiveBackgroundColor","Error","isKeyboardShown","onHeightChange","useContext","shouldShowTabBar","visibilityAnimationConfigRef","useRef","useEffect","current","_React$useState","useState","_React$useState2","_slicedToArray","isTabBarHidden","setIsTabBarHidden","_React$useState3","Value","_React$useState4","visible","visibilityAnimationConfig","_visibilityAnimationC","_visibilityAnimationC2","animation","show","spring","timing","_objectSpread","toValue","duration","config","start","_ref5","finished","_visibilityAnimationC3","_visibilityAnimationC4","hide","stopAnimation","_React$useState5","_React$useState6","layout","setLayout","handleLayout","e","nativeEvent","tabBarHeight","hasHorizontalLabels","compact","sidebar","spacing","minSidebarWidth","size","tabBarBackgroundElement","styles","end","bottom","borderLeftWidth","hairlineWidth","borderRightWidth","borderBottomWidth","borderTopWidth","backgroundColor","card","borderColor","border","paddingTop","top","paddingBottom","paddingStart","left","paddingEnd","right","minWidth","transform","translateY","interpolate","inputRange","outputRange","position","paddingHorizontal","Math","max","pointerEvents","onLayout","children","absoluteFill","role","sideContent","bottomContent","map","_options$tabBarIcon","focused","onPress","event","emit","type","target","canPreventDefault","defaultPrevented","dispatch","navigate","onLongPress","label","tabBarLabel","title","name","accessibilityLabel","tabBarAccessibilityLabel","length","Provider","value","href","params","descriptor","horizontal","variant","testID","tabBarButtonTestID","allowFontScaling","tabBarAllowFontScaling","activeTintColor","inactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","button","tabBarButton","icon","tabBarIcon","_ref6","color","badge","tabBarBadge","badgeStyle","tabBarBadgeStyle","showLabel","labelStyle","tabBarLabelStyle","iconStyle","tabBarIconStyle","marginVertical","bottomItem","create","elevation","flex","flexDirection"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabBar.tsx"],"sourcesContent":["import {\n getDefaultSidebarWidth,\n getLabel,\n MissingIcon,\n useFrameSize,\n} from '@react-navigation/elements';\nimport {\n CommonActions,\n NavigationContext,\n NavigationRouteContext,\n type ParamListBase,\n type TabNavigationState,\n useLinkBuilder,\n useLocale,\n useTheme,\n} from '@react-navigation/native';\nimport React from 'react';\nimport {\n Animated,\n type LayoutChangeEvent,\n Platform,\n type StyleProp,\n StyleSheet,\n View,\n type ViewStyle,\n} from 'react-native';\nimport { type EdgeInsets } 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 TABBAR_HEIGHT_UIKIT = 49;\nconst TABBAR_HEIGHT_UIKIT_COMPACT = 32;\nconst SPACING_UIKIT = 15;\nconst SPACING_MATERIAL = 12;\nconst DEFAULT_MAX_TAB_ITEM_WIDTH = 125;\n\nconst useNativeDriver = Platform.OS !== 'web';\n\ntype Options = {\n state: TabNavigationState<ParamListBase>;\n descriptors: BottomTabDescriptorMap;\n dimensions: { height: number; width: number };\n};\n\nconst shouldUseHorizontalLabels = ({\n state,\n descriptors,\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 (dimensions.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 <= dimensions.width;\n } else {\n return dimensions.width > dimensions.height;\n }\n};\n\nconst isCompact = ({ state, descriptors, dimensions }: Options): boolean => {\n const { tabBarPosition, tabBarVariant } =\n descriptors[state.routes[state.index].key].options;\n\n if (\n tabBarPosition === 'left' ||\n tabBarPosition === 'right' ||\n tabBarVariant === 'material'\n ) {\n return false;\n }\n\n const isLandscape = dimensions.width > dimensions.height;\n const horizontalLabels = shouldUseHorizontalLabels({\n state,\n descriptors,\n dimensions,\n });\n\n if (\n Platform.OS === 'ios' &&\n !Platform.isPad &&\n isLandscape &&\n horizontalLabels\n ) {\n return true;\n }\n\n return false;\n};\n\nexport const getTabBarHeight = ({\n state,\n descriptors,\n dimensions,\n insets,\n style,\n}: Options & {\n insets: EdgeInsets;\n style: Animated.WithAnimatedValue<StyleProp<ViewStyle>> | undefined;\n}) => {\n const { tabBarPosition } = descriptors[state.routes[state.index].key].options;\n\n const flattenedStyle = StyleSheet.flatten(style);\n const customHeight =\n flattenedStyle && 'height' in flattenedStyle\n ? flattenedStyle.height\n : undefined;\n\n if (typeof customHeight === 'number') {\n return customHeight;\n }\n\n const inset = insets[tabBarPosition === 'top' ? 'top' : 'bottom'];\n\n if (isCompact({ state, descriptors, dimensions })) {\n return TABBAR_HEIGHT_UIKIT_COMPACT + inset;\n }\n\n return TABBAR_HEIGHT_UIKIT + inset;\n};\n\nexport function BottomTabBar({\n state,\n navigation,\n descriptors,\n insets,\n style,\n}: Props) {\n const { colors } = useTheme();\n const { direction } = useLocale();\n const { buildHref } = useLinkBuilder();\n\n const focusedRoute = state.routes[state.index];\n const focusedDescriptor = descriptors[focusedRoute.key];\n const focusedOptions = focusedDescriptor.options;\n\n const {\n tabBarPosition = 'bottom',\n tabBarShowLabel,\n tabBarLabelPosition,\n tabBarHideOnKeyboard = false,\n tabBarVisibilityAnimationConfig,\n tabBarVariant = 'uikit',\n tabBarStyle,\n tabBarBackground,\n tabBarActiveTintColor,\n tabBarInactiveTintColor,\n tabBarActiveBackgroundColor,\n tabBarInactiveBackgroundColor,\n } = focusedOptions;\n\n if (\n tabBarVariant === 'material' &&\n tabBarPosition !== 'left' &&\n tabBarPosition !== 'right'\n ) {\n throw new Error(\n \"The 'material' variant for tab bar is only supported when 'tabBarPosition' is set to 'left' or 'right'.\"\n );\n }\n\n if (\n tabBarLabelPosition === 'below-icon' &&\n tabBarVariant === 'uikit' &&\n (tabBarPosition === 'left' || tabBarPosition === 'right')\n ) {\n throw new Error(\n \"The 'below-icon' label position for tab bar is only supported when 'tabBarPosition' is set to 'top' or 'bottom' when using the 'uikit' variant.\"\n );\n }\n\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 // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\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 });\n\n const handleLayout = (e: LayoutChangeEvent) => {\n const { height } = e.nativeEvent.layout;\n\n onHeightChange?.(height);\n\n setLayout((layout) => {\n if (height === layout.height) {\n return layout;\n } else {\n return { height };\n }\n });\n };\n\n const { routes } = state;\n\n const tabBarHeight = useFrameSize((dimensions) =>\n getTabBarHeight({\n state,\n descriptors,\n insets,\n dimensions,\n style: [tabBarStyle, style],\n })\n );\n\n const hasHorizontalLabels = useFrameSize((dimensions) =>\n shouldUseHorizontalLabels({\n state,\n descriptors,\n dimensions,\n })\n );\n\n const compact = useFrameSize((dimensions) =>\n isCompact({ state, descriptors, dimensions })\n );\n\n const sidebar = tabBarPosition === 'left' || tabBarPosition === 'right';\n const spacing =\n tabBarVariant === 'material' ? SPACING_MATERIAL : SPACING_UIKIT;\n\n const minSidebarWidth = useFrameSize((size) =>\n sidebar && hasHorizontalLabels ? getDefaultSidebarWidth(size) : 0\n );\n\n const tabBarBackgroundElement = tabBarBackground?.();\n\n return (\n <Animated.View\n style={[\n tabBarPosition === 'left'\n ? styles.start\n : tabBarPosition === 'right'\n ? styles.end\n : styles.bottom,\n (\n Platform.OS === 'web'\n ? tabBarPosition === 'right'\n : (direction === 'rtl' && tabBarPosition === 'left') ||\n (direction !== 'rtl' && tabBarPosition === 'right')\n )\n ? { borderLeftWidth: StyleSheet.hairlineWidth }\n : (\n Platform.OS === 'web'\n ? tabBarPosition === 'left'\n : (direction === 'rtl' && tabBarPosition === 'right') ||\n (direction !== 'rtl' && tabBarPosition === 'left')\n )\n ? { borderRightWidth: StyleSheet.hairlineWidth }\n : tabBarPosition === 'top'\n ? { borderBottomWidth: StyleSheet.hairlineWidth }\n : { borderTopWidth: StyleSheet.hairlineWidth },\n {\n backgroundColor:\n tabBarBackgroundElement != null ? 'transparent' : colors.card,\n borderColor: colors.border,\n },\n sidebar\n ? {\n paddingTop:\n (hasHorizontalLabels ? spacing : spacing / 2) + insets.top,\n paddingBottom:\n (hasHorizontalLabels ? spacing : spacing / 2) + insets.bottom,\n paddingStart:\n spacing + (tabBarPosition === 'left' ? insets.left : 0),\n paddingEnd:\n spacing + (tabBarPosition === 'right' ? insets.right : 0),\n minWidth: minSidebarWidth,\n }\n : [\n {\n transform: [\n {\n translateY: visible.interpolate({\n inputRange: [0, 1],\n outputRange: [\n layout.height +\n insets[tabBarPosition === 'top' ? 'top' : 'bottom'] +\n 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' : undefined,\n },\n {\n height: tabBarHeight,\n paddingBottom: tabBarPosition === 'bottom' ? insets.bottom : 0,\n paddingTop: tabBarPosition === 'top' ? insets.top : 0,\n paddingHorizontal: Math.max(insets.left, insets.right),\n },\n ],\n tabBarStyle,\n ]}\n pointerEvents={isTabBarHidden ? 'none' : 'auto'}\n onLayout={sidebar ? undefined : handleLayout}\n >\n <View pointerEvents=\"none\" style={StyleSheet.absoluteFill}>\n {tabBarBackgroundElement}\n </View>\n <View\n role=\"tablist\"\n style={sidebar ? styles.sideContent : styles.bottomContent}\n >\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(route),\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 typeof options.tabBarLabel === 'function'\n ? options.tabBarLabel\n : getLabel(\n { label: options.tabBarLabel, title: options.title },\n route.name\n );\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 href={buildHref(route.name, route.params)}\n route={route}\n descriptor={descriptors[route.key]}\n focused={focused}\n horizontal={hasHorizontalLabels}\n compact={compact}\n sidebar={sidebar}\n variant={tabBarVariant}\n onPress={onPress}\n onLongPress={onLongPress}\n accessibilityLabel={accessibilityLabel}\n testID={options.tabBarButtonTestID}\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={[\n sidebar\n ? {\n marginVertical: hasHorizontalLabels\n ? tabBarVariant === 'material'\n ? 0\n : 1\n : spacing / 2,\n }\n : styles.bottomItem,\n options.tabBarItemStyle,\n ]}\n />\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n );\n })}\n </View>\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n start: {\n top: 0,\n bottom: 0,\n start: 0,\n },\n end: {\n top: 0,\n bottom: 0,\n end: 0,\n },\n bottom: {\n start: 0,\n end: 0,\n bottom: 0,\n elevation: 8,\n },\n bottomContent: {\n flex: 1,\n flexDirection: 'row',\n },\n sideContent: {\n flex: 1,\n flexDirection: 'column',\n },\n bottomItem: {\n flex: 1,\n },\n});\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}