{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"wrapper\"];\nvar _Constants$expoConfig, _Constants$expoConfig2, _Constants$expoConfig3;\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport Constants from \"expo-constants\";\nimport { StatusBar } from \"expo-status-bar\";\nimport React, { Fragment } from \"react\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport { SafeAreaProvider } from \"react-native-safe-area-context\";\nimport UpstreamNavigationContainer from \"./fork/NavigationContainer\";\nimport { useInitializeExpoRouter } from \"./global-state/router-store\";\nimport { SplashScreen } from \"./views/Splash\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getGestureHandlerRootView() {\n  try {\n    var _ref = require(\"react-native-gesture-handler\"),\n      _GestureHandlerRootView = _ref.GestureHandlerRootView;\n    if (!_GestureHandlerRootView) {\n      return React.Fragment;\n    }\n    function GestureHandler(props) {\n      return _jsx(_GestureHandlerRootView, _objectSpread({\n        style: {\n          flex: 1\n        }\n      }, props));\n    }\n    if (process.env.NODE_ENV === \"development\") {\n      GestureHandler.displayName = \"GestureHandlerRootView\";\n    }\n    return GestureHandler;\n  } catch (_unused) {\n    return React.Fragment;\n  }\n}\nvar GestureHandlerRootView = getGestureHandlerRootView();\nvar INITIAL_METRICS = {\n  frame: {\n    x: 0,\n    y: 0,\n    width: 0,\n    height: 0\n  },\n  insets: {\n    top: 0,\n    left: 0,\n    right: 0,\n    bottom: 0\n  }\n};\nvar hasViewControllerBasedStatusBarAppearance = Platform.OS === \"ios\" && !!((_Constants$expoConfig = Constants.expoConfig) != null && (_Constants$expoConfig2 = _Constants$expoConfig.ios) != null && (_Constants$expoConfig3 = _Constants$expoConfig2.infoPlist) != null && _Constants$expoConfig3.UIViewControllerBasedStatusBarAppearance);\nexport function ExpoRoot(_ref2) {\n  var _ref2$wrapper = _ref2.wrapper,\n    ParentWrapper = _ref2$wrapper === void 0 ? Fragment : _ref2$wrapper,\n    props = _objectWithoutProperties(_ref2, _excluded);\n  var wrapper = function wrapper(_ref3) {\n    var children = _ref3.children;\n    return _jsx(ParentWrapper, {\n      children: _jsx(GestureHandlerRootView, {\n        children: _jsxs(SafeAreaProvider, {\n          initialMetrics: INITIAL_METRICS,\n          children: [children, !hasViewControllerBasedStatusBarAppearance && _jsx(StatusBar, {\n            style: \"auto\"\n          })]\n        })\n      })\n    });\n  };\n  return _jsx(ContextNavigator, _objectSpread(_objectSpread({}, props), {}, {\n    wrapper: wrapper\n  }));\n}\nvar initialUrl = Platform.OS === \"web\" && typeof window !== \"undefined\" ? new URL(window.location.href) : undefined;\nfunction ContextNavigator(_ref4) {\n  var context = _ref4.context,\n    _ref4$location = _ref4.location,\n    initialLocation = _ref4$location === void 0 ? initialUrl : _ref4$location,\n    _ref4$wrapper = _ref4.wrapper,\n    WrapperComponent = _ref4$wrapper === void 0 ? Fragment : _ref4$wrapper;\n  var store = useInitializeExpoRouter(context, initialLocation);\n  if (store.shouldShowTutorial()) {\n    SplashScreen.hideAsync();\n    if (process.env.NODE_ENV === \"development\") {\n      var Tutorial = require(\"./onboard/Tutorial\").Tutorial;\n      return _jsx(WrapperComponent, {\n        children: _jsx(Tutorial, {})\n      });\n    } else {\n      return null;\n    }\n  }\n  var Component = store.rootComponent;\n  return _jsx(UpstreamNavigationContainer, {\n    ref: store.navigationRef,\n    initialState: store.initialState,\n    linking: store.linking,\n    documentTitle: {\n      enabled: false\n    },\n    children: _jsx(WrapperComponent, {\n      children: _jsx(Component, {})\n    })\n  });\n}","map":{"version":3,"names":["Constants","StatusBar","React","Fragment","Platform","SafeAreaProvider","UpstreamNavigationContainer","useInitializeExpoRouter","SplashScreen","jsx","_jsx","jsxs","_jsxs","getGestureHandlerRootView","_ref","require","GestureHandlerRootView","GestureHandler","props","_GestureHandlerRootView","_objectSpread","style","flex","process","env","NODE_ENV","displayName","_unused","INITIAL_METRICS","frame","x","y","width","height","insets","top","left","right","bottom","hasViewControllerBasedStatusBarAppearance","OS","_Constants$expoConfig","expoConfig","_Constants$expoConfig2","ios","_Constants$expoConfig3","infoPlist","UIViewControllerBasedStatusBarAppearance","ExpoRoot","_ref2","_ref2$wrapper","wrapper","ParentWrapper","_objectWithoutProperties","_excluded","_ref3","children","initialMetrics","ContextNavigator","initialUrl","window","URL","location","href","undefined","_ref4","context","_ref4$location","initialLocation","_ref4$wrapper","WrapperComponent","store","shouldShowTutorial","hideAsync","Tutorial","Component","rootComponent","ref","navigationRef","initialState","linking","documentTitle","enabled"],"sources":["/Users/Daniel.Antelo/Workspaces/expo-template-reactrouter-nativebase/node_modules/expo-router/src/ExpoRoot.tsx"],"sourcesContent":["import Constants from \"expo-constants\";\nimport { StatusBar } from \"expo-status-bar\";\nimport React, { FunctionComponent, ReactNode, Fragment } from \"react\";\nimport { Platform } from \"react-native\";\nimport { SafeAreaProvider } from \"react-native-safe-area-context\";\n\nimport UpstreamNavigationContainer from \"./fork/NavigationContainer\";\nimport { useInitializeExpoRouter } from \"./global-state/router-store\";\nimport { RequireContext } from \"./types\";\nimport { SplashScreen } from \"./views/Splash\";\n\nexport type ExpoRootProps = {\n  context: RequireContext;\n  location?: URL;\n  wrapper?: FunctionComponent<{ children: ReactNode }>;\n};\n\nfunction getGestureHandlerRootView() {\n  try {\n    const { GestureHandlerRootView } =\n      require(\"react-native-gesture-handler\") as typeof import(\"react-native-gesture-handler\");\n\n    if (!GestureHandlerRootView) {\n      return React.Fragment;\n    }\n\n    // eslint-disable-next-line no-inner-declarations\n    function GestureHandler(props: any) {\n      return <GestureHandlerRootView style={{ flex: 1 }} {...props} />;\n    }\n    if (process.env.NODE_ENV === \"development\") {\n      // @ts-expect-error\n      GestureHandler.displayName = \"GestureHandlerRootView\";\n    }\n    return GestureHandler;\n  } catch {\n    return React.Fragment;\n  }\n}\n\nconst GestureHandlerRootView = getGestureHandlerRootView();\n\nconst INITIAL_METRICS = {\n  frame: { x: 0, y: 0, width: 0, height: 0 },\n  insets: { top: 0, left: 0, right: 0, bottom: 0 },\n};\n\nconst hasViewControllerBasedStatusBarAppearance =\n  Platform.OS === \"ios\" &&\n  !!Constants.expoConfig?.ios?.infoPlist\n    ?.UIViewControllerBasedStatusBarAppearance;\n\nexport function ExpoRoot({\n  wrapper: ParentWrapper = Fragment,\n  ...props\n}: ExpoRootProps) {\n  /*\n   * Due to static rendering we need to wrap these top level views in second wrapper\n   * View's like <GestureHandlerRootView /> generate a <div> so if the parent wrapper\n   * is a HTML document, we need to ensure its inside the <body>\n   */\n  const wrapper: ExpoRootProps[\"wrapper\"] = ({ children }) => {\n    return (\n      <ParentWrapper>\n        <GestureHandlerRootView>\n          <SafeAreaProvider\n            // SSR support\n            initialMetrics={INITIAL_METRICS}\n          >\n            {children}\n\n            {/* Users can override this by adding another StatusBar element anywhere higher in the component tree. */}\n            {!hasViewControllerBasedStatusBarAppearance && (\n              <StatusBar style=\"auto\" />\n            )}\n          </SafeAreaProvider>\n        </GestureHandlerRootView>\n      </ParentWrapper>\n    );\n  };\n\n  return <ContextNavigator {...props} wrapper={wrapper} />;\n}\n\nconst initialUrl =\n  Platform.OS === \"web\" && typeof window !== \"undefined\"\n    ? new URL(window.location.href)\n    : undefined;\n\nfunction ContextNavigator({\n  context,\n  location: initialLocation = initialUrl,\n  wrapper: WrapperComponent = Fragment,\n}: ExpoRootProps) {\n  const store = useInitializeExpoRouter(context, initialLocation);\n\n  if (store.shouldShowTutorial()) {\n    SplashScreen.hideAsync();\n    if (process.env.NODE_ENV === \"development\") {\n      const Tutorial = require(\"./onboard/Tutorial\").Tutorial;\n      return (\n        <WrapperComponent>\n          <Tutorial />\n        </WrapperComponent>\n      );\n    } else {\n      // Ensure tutorial styles are stripped in production.\n      return null;\n    }\n  }\n\n  const Component = store.rootComponent;\n\n  return (\n    <UpstreamNavigationContainer\n      ref={store.navigationRef}\n      initialState={store.initialState}\n      linking={store.linking}\n      documentTitle={{\n        enabled: false,\n      }}\n    >\n      <WrapperComponent>\n        <Component />\n      </WrapperComponent>\n    </UpstreamNavigationContainer>\n  );\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}