UNPKG

repoweaver

Version:

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

1 lines 43 kB
{"ast":null,"code":"\"use strict\";\n\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\";\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;\nconst useNativeDriver = Platform.OS !== 'web';\nconst shouldUseHorizontalLabels = ({\n state,\n descriptors,\n dimensions\n}) => {\n const {\n tabBarLabelPosition\n } = descriptors[state.routes[state.index].key].options;\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 const maxTabWidth = state.routes.reduce((acc, route) => {\n const {\n tabBarItemStyle\n } = descriptors[route.key].options;\n const 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};\nconst isCompact = ({\n state,\n descriptors,\n dimensions\n}) => {\n const {\n tabBarPosition,\n tabBarVariant\n } = descriptors[state.routes[state.index].key].options;\n if (tabBarPosition === 'left' || tabBarPosition === 'right' || tabBarVariant === 'material') {\n return false;\n }\n const isLandscape = dimensions.width > dimensions.height;\n const horizontalLabels = shouldUseHorizontalLabels({\n state,\n descriptors,\n dimensions\n });\n if (Platform.OS === 'ios' && !Platform.isPad && isLandscape && horizontalLabels) {\n return true;\n }\n return false;\n};\nexport const getTabBarHeight = ({\n state,\n descriptors,\n dimensions,\n insets,\n style\n}) => {\n const {\n tabBarPosition\n } = descriptors[state.routes[state.index].key].options;\n const flattenedStyle = StyleSheet.flatten(style);\n const customHeight = flattenedStyle && 'height' in flattenedStyle ? flattenedStyle.height : undefined;\n if (typeof customHeight === 'number') {\n return customHeight;\n }\n const inset = insets[tabBarPosition === 'top' ? 'top' : 'bottom'];\n if (isCompact({\n state,\n descriptors,\n dimensions\n })) {\n return TABBAR_HEIGHT_UIKIT_COMPACT + inset;\n }\n return TABBAR_HEIGHT_UIKIT + inset;\n};\nexport function BottomTabBar({\n state,\n navigation,\n descriptors,\n insets,\n style\n}) {\n const {\n colors\n } = useTheme();\n const {\n direction\n } = useLocale();\n const {\n buildHref\n } = useLinkBuilder();\n const focusedRoute = state.routes[state.index];\n const focusedDescriptor = descriptors[focusedRoute.key];\n const focusedOptions = focusedDescriptor.options;\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 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 const isKeyboardShown = useIsKeyboardShown();\n const onHeightChange = React.useContext(BottomTabBarHeightCallbackContext);\n const shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);\n const visibilityAnimationConfigRef = React.useRef(tabBarVisibilityAnimationConfig);\n React.useEffect(() => {\n visibilityAnimationConfigRef.current = tabBarVisibilityAnimationConfig;\n });\n const [isTabBarHidden, setIsTabBarHidden] = React.useState(!shouldShowTabBar);\n const [visible] = React.useState(() => new Animated.Value(shouldShowTabBar ? 1 : 0));\n React.useEffect(() => {\n const visibilityAnimationConfig = visibilityAnimationConfigRef.current;\n if (shouldShowTabBar) {\n const animation = visibilityAnimationConfig?.show?.animation === 'spring' ? Animated.spring : Animated.timing;\n animation(visible, Object.assign({\n toValue: 1,\n useNativeDriver,\n duration: 250\n }, visibilityAnimationConfig?.show?.config)).start(({\n finished\n }) => {\n if (finished) {\n setIsTabBarHidden(false);\n }\n });\n } else {\n setIsTabBarHidden(true);\n const animation = visibilityAnimationConfig?.hide?.animation === 'spring' ? Animated.spring : Animated.timing;\n animation(visible, Object.assign({\n toValue: 0,\n useNativeDriver,\n duration: 200\n }, visibilityAnimationConfig?.hide?.config)).start();\n }\n return () => visible.stopAnimation();\n }, [visible, shouldShowTabBar]);\n const [layout, setLayout] = React.useState({\n height: 0\n });\n const handleLayout = e => {\n const {\n height\n } = e.nativeEvent.layout;\n onHeightChange?.(height);\n setLayout(layout => {\n if (height === layout.height) {\n return layout;\n } else {\n return {\n height\n };\n }\n });\n };\n const {\n routes\n } = state;\n const tabBarHeight = useFrameSize(dimensions => getTabBarHeight({\n state,\n descriptors,\n insets,\n dimensions,\n style: [tabBarStyle, style]\n }));\n const hasHorizontalLabels = useFrameSize(dimensions => shouldUseHorizontalLabels({\n state,\n descriptors,\n dimensions\n }));\n const compact = useFrameSize(dimensions => isCompact({\n state,\n descriptors,\n dimensions\n }));\n const sidebar = tabBarPosition === 'left' || tabBarPosition === 'right';\n const spacing = tabBarVariant === 'material' ? SPACING_MATERIAL : SPACING_UIKIT;\n const minSidebarWidth = useFrameSize(size => sidebar && hasHorizontalLabels ? getDefaultSidebarWidth(size) : 0);\n const tabBarBackgroundElement = 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((route, index) => {\n const focused = index === state.index;\n const {\n options\n } = descriptors[route.key];\n const onPress = () => {\n const event = navigation.emit({\n type: 'tabPress',\n target: route.key,\n canPreventDefault: true\n });\n if (!focused && !event.defaultPrevented) {\n navigation.dispatch(Object.assign({}, CommonActions.navigate(route), {\n target: state.key\n }));\n }\n };\n const onLongPress = () => {\n navigation.emit({\n type: 'tabLongPress',\n target: route.key\n });\n };\n const label = typeof options.tabBarLabel === 'function' ? options.tabBarLabel : getLabel({\n label: options.tabBarLabel,\n title: options.title\n }, route.name);\n const 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 ?? (({\n color,\n size\n }) => _jsx(MissingIcon, {\n color: color,\n size: size\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}\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});","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","state","descriptors","dimensions","tabBarLabelPosition","routes","index","key","options","width","maxTabWidth","reduce","acc","route","tabBarItemStyle","flattenedStyle","flatten","maxWidth","height","isCompact","tabBarPosition","tabBarVariant","isLandscape","horizontalLabels","isPad","getTabBarHeight","insets","style","customHeight","undefined","inset","BottomTabBar","navigation","colors","direction","buildHref","focusedRoute","focusedDescriptor","focusedOptions","tabBarShowLabel","tabBarHideOnKeyboard","tabBarVisibilityAnimationConfig","tabBarStyle","tabBarBackground","tabBarActiveTintColor","tabBarInactiveTintColor","tabBarActiveBackgroundColor","tabBarInactiveBackgroundColor","Error","isKeyboardShown","onHeightChange","useContext","shouldShowTabBar","visibilityAnimationConfigRef","useRef","useEffect","current","isTabBarHidden","setIsTabBarHidden","useState","visible","Value","visibilityAnimationConfig","animation","show","spring","timing","Object","assign","toValue","duration","config","start","finished","hide","stopAnimation","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","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","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":";;AAAA,SACEA,sBAAsB,EACtBC,QAAQ,EACRC,WAAW,EACXC,YAAY,QACP,4BAA4B;AACnC,SACEC,aAAa,EACbC,iBAAiB,EACjBC,sBAAsB,EAGtBC,cAAc,EACdC,SAAS,EACTC,QAAQ,QACH,0BAA0B;AACjC,OAAOC,KAAK,MAAM,OAAO;AAAA,OAAAC,QAAA;AAAA,OAAAC,QAAA;AAAA,OAAAC,UAAA;AAAA,OAAAC,IAAA;AAazB,SAASC,iCAAiC;AAC1C,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AAA0B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMhD,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,2BAA2B,GAAG,EAAE;AACtC,MAAMC,aAAa,GAAG,EAAE;AACxB,MAAMC,gBAAgB,GAAG,EAAE;AAC3B,MAAMC,0BAA0B,GAAG,GAAG;AAEtC,MAAMC,eAAe,GAAGf,QAAQ,CAACgB,EAAE,KAAK,KAAK;AAQ7C,MAAMC,yBAAyB,GAAGA,CAAC;EACjCC,KAAK;EACLC,WAAW;EACXC;AACO,CAAC,KAAK;EACb,MAAM;IAAEC;EAAoB,CAAC,GAC3BF,WAAW,CAACD,KAAK,CAACI,MAAM,CAACJ,KAAK,CAACK,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;IAChB;EACF;EAEA,IAAID,UAAU,CAACM,KAAK,IAAI,GAAG,EAAE;IAE3B,MAAMC,WAAW,GAAGT,KAAK,CAACI,MAAM,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;MACtD,MAAM;QAAEC;MAAgB,CAAC,GAAGZ,WAAW,CAACW,KAAK,CAACN,GAAG,CAAC,CAACC,OAAO;MAC1D,MAAMO,cAAc,GAAG/B,UAAU,CAACgC,OAAO,CAACF,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,CAACE,QAAQ,KAAK,QAAQ,EAAE;UACtD,OAAOL,GAAG,GAAGG,cAAc,CAACE,QAAQ;QACtC;MACF;MAEA,OAAOL,GAAG,GAAGf,0BAA0B;IACzC,CAAC,EAAE,CAAC,CAAC;IAEL,OAAOa,WAAW,IAAIP,UAAU,CAACM,KAAK;EACxC,CAAC,MAAM;IACL,OAAON,UAAU,CAACM,KAAK,GAAGN,UAAU,CAACe,MAAM;EAC7C;AACF,CAAC;AAED,MAAMC,SAAS,GAAGA,CAAC;EAAElB,KAAK;EAAEC,WAAW;EAAEC;AAAoB,CAAC,KAAc;EAC1E,MAAM;IAAEiB,cAAc;IAAEC;EAAc,CAAC,GACrCnB,WAAW,CAACD,KAAK,CAACI,MAAM,CAACJ,KAAK,CAACK,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,OAAO;EAEpD,IACEY,cAAc,KAAK,MAAM,IACzBA,cAAc,KAAK,OAAO,IAC1BC,aAAa,KAAK,UAAU,EAC5B;IACA,OAAO,KAAK;EACd;EAEA,MAAMC,WAAW,GAAGnB,UAAU,CAACM,KAAK,GAAGN,UAAU,CAACe,MAAM;EACxD,MAAMK,gBAAgB,GAAGvB,yBAAyB,CAAC;IACjDC,KAAK;IACLC,WAAW;IACXC;EACF,CAAC,CAAC;EAEF,IACEpB,QAAQ,CAACgB,EAAE,KAAK,KAAK,IACrB,CAAChB,QAAQ,CAACyC,KAAK,IACfF,WAAW,IACXC,gBAAgB,EAChB;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAED,OAAO,MAAME,eAAe,GAAGA,CAAC;EAC9BxB,KAAK;EACLC,WAAW;EACXC,UAAU;EACVuB,MAAM;EACNC;AAIF,CAAC,KAAK;EACJ,MAAM;IAAEP;EAAe,CAAC,GAAGlB,WAAW,CAACD,KAAK,CAACI,MAAM,CAACJ,KAAK,CAACK,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,OAAO;EAE7E,MAAMO,cAAc,GAAG/B,UAAU,CAACgC,OAAO,CAACW,KAAK,CAAC;EAChD,MAAMC,YAAY,GAChBb,cAAc,IAAI,QAAQ,IAAIA,cAAc,GACxCA,cAAc,CAACG,MAAM,GACrBW,SAAS;EAEf,IAAI,OAAOD,YAAY,KAAK,QAAQ,EAAE;IACpC,OAAOA,YAAY;EACrB;EAEA,MAAME,KAAK,GAAGJ,MAAM,CAACN,cAAc,KAAK,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;EAEjE,IAAID,SAAS,CAAC;IAAElB,KAAK;IAAEC,WAAW;IAAEC;EAAW,CAAC,CAAC,EAAE;IACjD,OAAOT,2BAA2B,GAAGoC,KAAK;EAC5C;EAEA,OAAOrC,mBAAmB,GAAGqC,KAAK;AACpC,CAAC;AAED,OAAO,SAASC,YAAYA,CAAC;EAC3B9B,KAAK;EACL+B,UAAU;EACV9B,WAAW;EACXwB,MAAM;EACNC;AACK,CAAC,EAAE;EACR,MAAM;IAAEM;EAAO,CAAC,GAAGrD,QAAQ,CAAC,CAAC;EAC7B,MAAM;IAAEsD;EAAU,CAAC,GAAGvD,SAAS,CAAC,CAAC;EACjC,MAAM;IAAEwD;EAAU,CAAC,GAAGzD,cAAc,CAAC,CAAC;EAEtC,MAAM0D,YAAY,GAAGnC,KAAK,CAACI,MAAM,CAACJ,KAAK,CAACK,KAAK,CAAC;EAC9C,MAAM+B,iBAAiB,GAAGnC,WAAW,CAACkC,YAAY,CAAC7B,GAAG,CAAC;EACvD,MAAM+B,cAAc,GAAGD,iBAAiB,CAAC7B,OAAO;EAEhD,MAAM;IACJY,cAAc,GAAG,QAAQ;IACzBmB,eAAe;IACfnC,mBAAmB;IACnBoC,oBAAoB,GAAG,KAAK;IAC5BC,+BAA+B;IAC/BpB,aAAa,GAAG,OAAO;IACvBqB,WAAW;IACXC,gBAAgB;IAChBC,qBAAqB;IACrBC,uBAAuB;IACvBC,2BAA2B;IAC3BC;EACF,CAAC,GAAGT,cAAc;EAElB,IACEjB,aAAa,KAAK,UAAU,IAC5BD,cAAc,KAAK,MAAM,IACzBA,cAAc,KAAK,OAAO,EAC1B;IACA,MAAM,IAAI4B,KAAK,CACb,yGACF,CAAC;EACH;EAEA,IACE5C,mBAAmB,KAAK,YAAY,IACpCiB,aAAa,KAAK,OAAO,KACxBD,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,OAAO,CAAC,EACzD;IACA,MAAM,IAAI4B,KAAK,CACb,iJACF,CAAC;EACH;EAEA,MAAMC,eAAe,GAAG9D,kBAAkB,CAAC,CAAC;EAE5C,MAAM+D,cAAc,GAAGrE,KAAK,CAACsE,UAAU,CAACjE,iCAAiC,CAAC;EAE1E,MAAMkE,gBAAgB,GAAG,EAAEZ,oBAAoB,IAAIS,eAAe,CAAC;EAEnE,MAAMI,4BAA4B,GAAGxE,KAAK,CAACyE,MAAM,CAC/Cb,+BACF,CAAC;EAED5D,KAAK,CAAC0E,SAAS,CAAC,MAAM;IACpBF,4BAA4B,CAACG,OAAO,GAAGf,+BAA+B;EACxE,CAAC,CAAC;EAEF,MAAM,CAACgB,cAAc,EAAEC,iBAAiB,CAAC,GAAG7E,KAAK,CAAC8E,QAAQ,CAAC,CAACP,gBAAgB,CAAC;EAE7E,MAAM,CAACQ,OAAO,CAAC,GAAG/E,KAAK,CAAC8E,QAAQ,CAC9B,MAAM,IAAI7E,QAAQ,CAAC+E,KAAK,CAACT,gBAAgB,GAAG,CAAC,GAAG,CAAC,CACnD,CAAC;EAEDvE,KAAK,CAAC0E,SAAS,CAAC,MAAM;IACpB,MAAMO,yBAAyB,GAAGT,4BAA4B,CAACG,OAAO;IAEtE,IAAIJ,gBAAgB,EAAE;MACpB,MAAMW,SAAS,GACbD,yBAAyB,EAAEE,IAAI,EAAED,SAAS,KAAK,QAAQ,GACnDjF,QAAQ,CAACmF,MAAM,GACfnF,QAAQ,CAACoF,MAAM;MAErBH,SAAS,CAACH,OAAO,EAAAO,MAAA,CAAAC,MAAA;QACfC,OAAO,EAAE,CAAC;QACVvE,eAAe;QACfwE,QAAQ,EAAE;MAAG,GACVR,yBAAyB,EAAEE,IAAI,EAAEO,MAAA,CACrC,CAAC,CAACC,KAAK,CAAC,CAAC;QAAEC;MAAS,CAAC,KAAK;QACzB,IAAIA,QAAQ,EAAE;UACZf,iBAAiB,CAAC,KAAK,CAAC;QAC1B;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MAELA,iBAAiB,CAAC,IAAI,CAAC;MAEvB,MAAMK,SAAS,GACbD,yBAAyB,EAAEY,IAAI,EAAEX,SAAS,KAAK,QAAQ,GACnDjF,QAAQ,CAACmF,MAAM,GACfnF,QAAQ,CAACoF,MAAM;MAErBH,SAAS,CAACH,OAAO,EAAAO,MAAA,CAAAC,MAAA;QACfC,OAAO,EAAE,CAAC;QACVvE,eAAe;QACfwE,QAAQ,EAAE;MAAG,GACVR,yBAAyB,EAAEY,IAAI,EAAEH,MAAA,CACrC,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ;IAEA,OAAO,MAAMZ,OAAO,CAACe,aAAa,CAAC,CAAC;EACtC,CAAC,EAAE,CAACf,OAAO,EAAER,gBAAgB,CAAC,CAAC;EAE/B,MAAM,CAACwB,MAAM,EAAEC,SAAS,CAAC,GAAGhG,KAAK,CAAC8E,QAAQ,CAAC;IACzCzC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,MAAM4D,YAAY,GAAIC,CAAoB,IAAK;IAC7C,MAAM;MAAE7D;IAAO,CAAC,GAAG6D,CAAC,CAACC,WAAW,CAACJ,MAAM;IAEvC1B,cAAc,GAAGhC,MAAM,CAAC;IAExB2D,SAAS,CAAED,MAAM,IAAK;MACpB,IAAI1D,MAAM,KAAK0D,MAAM,CAAC1D,MAAM,EAAE;QAC5B,OAAO0D,MAAM;MACf,CAAC,MAAM;QACL,OAAO;UAAE1D;QAAO,CAAC;MACnB;IACF,CAAC,CAAC;EACJ,CAAC;EAED,MAAM;IAAEb;EAAO,CAAC,GAAGJ,KAAK;EAExB,MAAMgF,YAAY,GAAG3G,YAAY,CAAE6B,UAAU,IAC3CsB,eAAe,CAAC;IACdxB,KAAK;IACLC,WAAW;IACXwB,MAAM;IACNvB,UAAU;IACVwB,KAAK,EAAE,CAACe,WAAW,EAAEf,KAAK;EAC5B,CAAC,CACH,CAAC;EAED,MAAMuD,mBAAmB,GAAG5G,YAAY,CAAE6B,UAAU,IAClDH,yBAAyB,CAAC;IACxBC,KAAK;IACLC,WAAW;IACXC;EACF,CAAC,CACH,CAAC;EAED,MAAMgF,OAAO,GAAG7G,YAAY,CAAE6B,UAAU,IACtCgB,SAAS,CAAC;IAAElB,KAAK;IAAEC,WAAW;IAAEC;EAAW,CAAC,CAC9C,CAAC;EAED,MAAMiF,OAAO,GAAGhE,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,OAAO;EACvE,MAAMiE,OAAO,GACXhE,aAAa,KAAK,UAAU,GAAGzB,gBAAgB,GAAGD,aAAa;EAEjE,MAAM2F,eAAe,GAAGhH,YAAY,CAAEiH,IAAI,IACxCH,OAAO,IAAIF,mBAAmB,GAAG/G,sBAAsB,CAACoH,IAAI,CAAC,GAAG,CAClE,CAAC;EAED,MAAMC,uBAAuB,GAAG7C,gBAAgB,GAAG,CAAC;EAEpD,OACEnD,KAAA,CAACV,QAAQ,CAACG,IAAI;IACZ0C,KAAK,EAAE,CACLP,cAAc,KAAK,MAAM,GACrBqE,MAAM,CAACjB,KAAK,GACZpD,cAAc,KAAK,OAAO,GACxBqE,MAAM,CAACC,GAAG,GACVD,MAAM,CAACE,MAAM,EACnB,CACE5G,QAAQ,CAACgB,EAAE,KAAK,KAAK,GACjBqB,cAAc,KAAK,OAAO,GACzBc,SAAS,KAAK,KAAK,IAAId,cAAc,KAAK,MAAM,IAChDc,SAAS,KAAK,KAAK,IAAId,cAAc,KAAK,OAAQ,IAErD;MAAEwE,eAAe,EAAE5G,UAAU,CAAC6G;IAAc,CAAC,GAC7C,CACI9G,QAAQ,CAACgB,EAAE,KAAK,KAAK,GACjBqB,cAAc,KAAK,MAAM,GACxBc,SAAS,KAAK,KAAK,IAAId,cAAc,KAAK,OAAO,IACjDc,SAAS,KAAK,KAAK,IAAId,cAAc,KAAK,MAAO,IAExD;MAAE0E,gBAAgB,EAAE9G,UAAU,CAAC6G;IAAc,CAAC,GAC9CzE,cAAc,KAAK,KAAK,GACtB;MAAE2E,iBAAiB,EAAE/G,UAAU,CAAC6G;IAAc,CAAC,GAC/C;MAAEG,cAAc,EAAEhH,UAAU,CAAC6G;IAAc,CAAC,EACpD;MACEI,eAAe,EACbT,uBAAuB,IAAI,IAAI,GAAG,aAAa,GAAGvD,MAAM,CAACiE,IAAI;MAC/DC,WAAW,EAAElE,MAAM,CAACmE;IACtB,CAAC,EACDhB,OAAO,GACH;MACEiB,UAAU,EACR,CAACnB,mBAAmB,GAAGG,OAAO,GAAGA,OAAO,GAAG,CAAC,IAAI3D,MAAM,CAAC4E,GAAG;MAC5DC,aAAa,EACX,CAACrB,mBAAmB,GAAGG,OAAO,GAAGA,OAAO,GAAG,CAAC,IAAI3D,MAAM,CAACiE,MAAM;MAC/Da,YAAY,EACVnB,OAAO,IAAIjE,cAAc,KAAK,MAAM,GAAGM,MAAM,CAAC+E,IAAI,GAAG,CAAC,CAAC;MACzDC,UAAU,EACRrB,OAAO,IAAIjE,cAAc,KAAK,OAAO,GAAGM,MAAM,CAACiF,KAAK,GAAG,CAAC,CAAC;MAC3DC,QAAQ,EAAEtB;IACZ,CAAC,GACD,CACE;MACEuB,SAAS,EAAE,CACT;QACEC,UAAU,EAAElD,OAAO,CAACmD,WAAW,CAAC;UAC9BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UAClBC,WAAW,EAAE,CACXrC,MAAM,CAAC1D,MAAM,GACXQ,MAAM,CAACN,cAAc,KAAK,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC,GACnDpC,UAAU,CAAC6G,aAAa,EAC1B,CAAC;QAEL,CAAC;MACH,CAAC,CACF;MAGDqB,QAAQ,EAAEzD,cAAc,GAAG,UAAU,GAAG5B;IAC1C,CAAC,EACD;MACEX,MAAM,EAAE+D,YAAY;MACpBsB,aAAa,EAAEnF,cAAc,KAAK,QAAQ,GAAGM,MAAM,CAACiE,MAAM,GAAG,CAAC;MAC9DU,UAAU,EAAEjF,cAAc,KAAK,KAAK,GAAGM,MAAM,CAAC4E,GAAG,GAAG,CAAC;MACrDa,iBAAiB,EAAEC,IAAI,CAACC,GAAG,CAAC3F,MAAM,CAAC+E,IAAI,EAAE/E,MAAM,CAACiF,KAAK;IACvD,CAAC,CACF,EACLjE,WAAW,CACX;IACF4E,aAAa,EAAE7D,cAAc,GAAG,MAAM,GAAG,MAAO;IAChD8D,QAAQ,EAAEnC,OAAO,GAAGvD,SAAS,GAAGiD,YAAa;IAAA0C,QAAA,GAE7ClI,IAAA,CAACL,IAAI;MAACqI,aAAa,EAAC,MAAM;MAAC3F,KAAK,EAAE3C,UAAU,CAACyI,YAAa;MAAAD,QAAA,EACvDhC;IAAuB,CACpB,CAAC,EACPlG,IAAA,CAACL,IAAI;MACHyI,IAAI,EAAC,SAAS;MACd/F,KAAK,EAAEyD,OAAO,GAAGK,MAAM,CAACkC,WAAW,GAAGlC,MAAM,CAACmC,aAAc;MAAAJ,QAAA,EAE1DnH,MAAM,CAACwH,GAAG,CAAC,CAAChH,KAAK,EAAEP,KAAK,KAAK;QAC5B,MAAMwH,OAAO,GAAGxH,KAAK,KAAKL,KAAK,CAACK,KAAK;QACrC,MAAM;UAAEE;QAAQ,CAAC,GAAGN,WAAW,CAACW,KAAK,CAACN,GAAG,CAAC;QAE1C,MAAMwH,OAAO,GAAGA,CAAA,KAAM;UACpB,MAAMC,KAAK,GAAGhG,UAAU,CAACiG,IAAI,CAAC;YAC5BC,IAAI,EAAE,UAAU;YAChBC,MAAM,EAAEtH,KAAK,CAACN,GAAG;YACjB6H,iBAAiB,EAAE;UACrB,CAAC,CAAC;UAEF,IAAI,CAACN,OAAO,IAAI,CAACE,KAAK,CAACK,gBAAgB,EAAE;YACvCrG,UAAU,CAACsG,QAAQ,CAAAnE,MAAA,CAAAC,MAAA,KACd7F,aAAa,CAACgK,QAAQ,CAAC1H,KAAK,CAAC;cAChCsH,MAAM,EAAElI,KAAK,CAACM;YAAA,EACf,CAAC;UACJ;QACF,CAAC;QAED,MAAMiI,WAAW,GAAGA,CAAA,KAAM;UACxBxG,UAAU,CAACiG,IAAI,CAAC;YACdC,IAAI,EAAE,cAAc;YACpBC,MAAM,EAAEtH,KAAK,CAACN;UAChB,CAAC,CAAC;QACJ,CAAC;QAED,MAAMkI,KAAK,GACT,OAAOjI,OAAO,CAACkI,WAAW,KAAK,UAAU,GACrClI,OAAO,CAACkI,WAAW,GACnBtK,QAAQ,CACN;UAAEqK,KAAK,EAAEjI,OAAO,CAACkI,WAAW;UAAEC,KAAK,EAAEnI,OAAO,CAACmI;QAAM,CAAC,EACpD9H,KAAK,CAAC+H,IACR,CAAC;QAEP,MAAMC,kBAAkB,GACtBrI,OAAO,CAACsI,wBAAwB,KAAKjH,SAAS,GAC1CrB,OAAO,CAACsI,wBAAwB,GAChC,OAAOL,KAAK,KAAK,QAAQ,IAAI1J,QAAQ,CAACgB,EAAE,KAAK,KAAK,GAChD,GAAG0I,KAAK,UAAUnI,KAAK,GAAG,CAAC,OAAOD,MAAM,CAAC0I,MAAM,EAAE,GACjDlH,SAAS;QAEjB,OACEvC,IAAA,CAACd,iBAAiB,CAACwK,QAAQ;UAEzBC,KAAK,EAAE/I,WAAW,CAACW,KAAK,CAACN,GAAG,CAAC,CAACyB,UAAW;UAAAwF,QAAA,EAEzClI,IAAA,CAACb,sBAAsB,CAACuK,QAAQ;YAACC,KAAK,EAAEpI,KAAM;YAAA2G,QAAA,EAC5ClI,IAAA,CAACF,aAAa;cACZ8J,IAAI,EAAE/G,SAAS,CAACtB,KAAK,CAAC+H,IAAI,EAAE/H,KAAK,CAACsI,MAAM,CAAE;cAC1CtI,KAAK,EAAEA,KAAM;cACbuI,UAAU,EAAElJ,WAAW,CAACW,KAAK,CAACN,GAAG,CAAE;cACnCuH,OAAO,EAAEA,OAAQ;cACjBuB,UAAU,EAAEnE,mBAAoB;cAChCC,OAAO,EAAEA,OAAQ;cACjBC,OAAO,EAAEA,OAAQ;cACjBkE,OAAO,EAAEjI,aAAc;cACvB0G,OAAO,EAAEA,OAAQ;cACjBS,WAAW,EAAEA,WAAY;cACzBK,kBAAkB,EAAEA,kBAAmB;cACvCU,MAAM,EAAE/I,OAAO,CAACgJ,kBAAmB;cACnCC,gBAAgB,EAAEjJ,OAAO,CAACkJ,sBAAuB;cACjDC,eAAe,EAAE/G,qBAAsB;cACvCgH,iBAAiB,EAAE/G,uBAAwB;cAC3CgH,qBAAqB,EAAE/G,2BAA4B;cACnDgH,uBAAuB,EAAE/G,6BAA8B;cACvDgH,MAAM,EAAEvJ,OAAO,CAACwJ,YAAa;cAC7BC,IAAI,EACFzJ,OAAO,CAAC0J,UAAU,KACjB,CAAC;gBAAEC,KAAK;gBAAE5E;cAAK,CAAC,KACfjG,IAAA,CAACjB,WAAW;gBAAC8L,KAAK,EAAEA,KAAM;gBAAC5E,IAAI,EAAEA;cAAK,CAAE,CACzC,CACF;cACD6E,KAAK,EAAE5J,OAAO,CAAC6J,WAAY;cAC3BC,UAAU,EAAE9J,OAAO,CAAC+J,gBAAiB;cACrC9B,KAAK,EAAEA,KAAM;cACb+B,SAAS,EAAEjI,eAAgB;cAC3BkI,UAAU,EAAEjK,OAAO,CAACkK,gBAAiB;cACrCC,SAAS,EAAEnK,OAAO,CAACoK,eAAgB;cACnCjJ,KAAK,EAAE,CACLyD,OAAO,GACH;gBACEyF,cAAc,EAAE3F,mBAAmB,GAC/B7D,aAAa,KAAK,UAAU,GAC1B,CAAC,GACD,CAAC,GACHgE,OAAO,GAAG;cAChB,CAAC,GACDI,MAAM,CAACqF,UAAU,EACrBtK,OAAO,CAACM,eAAe;YACvB,CACH;UAAC,CAC6B;QAAC,GAhD7BD,KAAK,CAACN,GAiDe,CAAC;MAEjC,CAAC;IAAC,CACE,CAAC;EAAA,CACM,CAAC;AAEpB;AAEA,MAAMkF,MAAM,GAAGzG,UAAU,CAAC+L,MAAM,CAAC;EAC/BvG,KAAK,EAAE;IACL8B,GAAG,EAAE,CAAC;IACNX,MAAM,EAAE,CAAC;IACTnB,KAAK,EAAE;EACT,CAAC;EACDkB,GAAG,EAAE;IACHY,GAAG,EAAE,CAAC;IACNX,MAAM,EAAE,CAAC;IACTD,GAAG,EAAE;EACP,CAAC;EACDC,MAAM,EAAE;IACNnB,KAAK,EAAE,CAAC;IACRkB,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTqF,SAAS,EAAE;EACb,CAAC;EACDpD,aAAa,EAAE;IACbqD,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB,CAAC;EACDvD,WAAW,EAAE;IACXsD,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB,CAAC;EACDJ,UAAU,EAAE;IACVG,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}