{"ast":null,"code":"\"use strict\";\n\nimport { NavigationContext, NavigationRouteContext } from '@react-navigation/native';\nimport * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { Background } from \"./Background.js\";\nimport { getDefaultHeaderHeight } from \"./Header/getDefaultHeaderHeight.js\";\nimport { HeaderHeightContext } from \"./Header/HeaderHeightContext.js\";\nimport { HeaderShownContext } from \"./Header/HeaderShownContext.js\";\nimport { useFrameSize } from \"./useFrameSize.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function Screen(props) {\n  const insets = useSafeAreaInsets();\n  const isParentHeaderShown = React.useContext(HeaderShownContext);\n  const parentHeaderHeight = React.useContext(HeaderHeightContext);\n  const {\n    focused,\n    modal = false,\n    header,\n    headerShown = true,\n    headerTransparent,\n    headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n    navigation,\n    route,\n    children,\n    style\n  } = props;\n  const defaultHeaderHeight = useFrameSize(size => getDefaultHeaderHeight(size, modal, headerStatusBarHeight));\n  const [headerHeight, setHeaderHeight] = React.useState(defaultHeaderHeight);\n  return _jsxs(Background, {\n    \"aria-hidden\": !focused,\n    style: [styles.container, style],\n    collapsable: false,\n    children: [headerShown ? _jsx(NavigationContext.Provider, {\n      value: navigation,\n      children: _jsx(NavigationRouteContext.Provider, {\n        value: route,\n        children: _jsx(View, {\n          pointerEvents: \"box-none\",\n          onLayout: e => {\n            const {\n              height\n            } = e.nativeEvent.layout;\n            setHeaderHeight(height);\n          },\n          style: [styles.header, headerTransparent ? styles.absolute : null],\n          children: header\n        })\n      })\n    }) : null, _jsx(View, {\n      style: styles.content,\n      children: _jsx(HeaderShownContext.Provider, {\n        value: isParentHeaderShown || headerShown !== false,\n        children: _jsx(HeaderHeightContext.Provider, {\n          value: headerShown ? headerHeight : parentHeaderHeight ?? 0,\n          children: children\n        })\n      })\n    })]\n  });\n}\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1\n  },\n  content: {\n    flex: 1\n  },\n  header: {\n    zIndex: 1\n  },\n  absolute: {\n    position: 'absolute',\n    top: 0,\n    start: 0,\n    end: 0\n  }\n});","map":{"version":3,"names":["NavigationContext","NavigationRouteContext","React","StyleSheet","View","useSafeAreaInsets","Background","getDefaultHeaderHeight","HeaderHeightContext","HeaderShownContext","useFrameSize","jsx","_jsx","jsxs","_jsxs","Screen","props","insets","isParentHeaderShown","useContext","parentHeaderHeight","focused","modal","header","headerShown","headerTransparent","headerStatusBarHeight","top","navigation","route","children","style","defaultHeaderHeight","size","headerHeight","setHeaderHeight","useState","styles","container","collapsable","Provider","value","pointerEvents","onLayout","e","height","nativeEvent","layout","absolute","content","create","flex","zIndex","position","start","end"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/elements/src/Screen.tsx"],"sourcesContent":["import {\n  NavigationContext,\n  type NavigationProp,\n  NavigationRouteContext,\n  type ParamListBase,\n  type RouteProp,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n  Animated,\n  type StyleProp,\n  StyleSheet,\n  View,\n  type ViewStyle,\n} from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { Background } from './Background';\nimport { getDefaultHeaderHeight } from './Header/getDefaultHeaderHeight';\nimport { HeaderHeightContext } from './Header/HeaderHeightContext';\nimport { HeaderShownContext } from './Header/HeaderShownContext';\nimport { useFrameSize } from './useFrameSize';\n\ntype Props = {\n  focused: boolean;\n  modal?: boolean;\n  navigation: NavigationProp<ParamListBase>;\n  route: RouteProp<ParamListBase>;\n  header: React.ReactNode;\n  headerShown?: boolean;\n  headerStatusBarHeight?: number;\n  headerTransparent?: boolean;\n  style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n  children: React.ReactNode;\n};\n\nexport function Screen(props: Props) {\n  const insets = useSafeAreaInsets();\n\n  const isParentHeaderShown = React.useContext(HeaderShownContext);\n  const parentHeaderHeight = React.useContext(HeaderHeightContext);\n\n  const {\n    focused,\n    modal = false,\n    header,\n    headerShown = true,\n    headerTransparent,\n    headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n    navigation,\n    route,\n    children,\n    style,\n  } = props;\n\n  const defaultHeaderHeight = useFrameSize((size) =>\n    getDefaultHeaderHeight(size, modal, headerStatusBarHeight)\n  );\n\n  const [headerHeight, setHeaderHeight] = React.useState(defaultHeaderHeight);\n\n  return (\n    <Background\n      aria-hidden={!focused}\n      style={[styles.container, style]}\n      // On Fabric we need to disable collapsing for the background to ensure\n      // that we won't render unnecessary views due to the view flattening.\n      collapsable={false}\n    >\n      {headerShown ? (\n        <NavigationContext.Provider value={navigation}>\n          <NavigationRouteContext.Provider value={route}>\n            <View\n              pointerEvents=\"box-none\"\n              onLayout={(e) => {\n                const { height } = e.nativeEvent.layout;\n\n                setHeaderHeight(height);\n              }}\n              style={[\n                styles.header,\n                headerTransparent ? styles.absolute : null,\n              ]}\n            >\n              {header}\n            </View>\n          </NavigationRouteContext.Provider>\n        </NavigationContext.Provider>\n      ) : null}\n      <View style={styles.content}>\n        <HeaderShownContext.Provider\n          value={isParentHeaderShown || headerShown !== false}\n        >\n          <HeaderHeightContext.Provider\n            value={headerShown ? headerHeight : (parentHeaderHeight ?? 0)}\n          >\n            {children}\n          </HeaderHeightContext.Provider>\n        </HeaderShownContext.Provider>\n      </View>\n    </Background>\n  );\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n  },\n  content: {\n    flex: 1,\n  },\n  header: {\n    zIndex: 1,\n  },\n  absolute: {\n    position: 'absolute',\n    top: 0,\n    start: 0,\n    end: 0,\n  },\n});\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}