{"version":3,"file":"NavigationContainer.js","names":[],"sources":["esm/fork/NavigationContainer.js"],"sourcesContent":["import {\n  BaseNavigationContainer,\n  getActionFromState,\n  getPathFromState,\n  getStateFromPath,\n  ThemeProvider,\n  validatePathConfig\n} from \"@react-navigation/core\";\nimport {\n  LinkingContext,\n  LocaleDirContext\n} from \"@react-navigation/native\";\nimport * as React from \"react\";\nimport { getLocaleDirection } from \"./localeDirection\";\nimport { DefaultTheme } from \"./theme\";\nimport { useBackButton } from \"./useBackButton\";\nimport { useDocumentTitle } from \"./useDocumentTitle\";\nimport { useLinking } from \"./useLinking\";\nimport { useThenable } from \"./useThenable\";\nimport { jsx } from \"react/jsx-runtime\";\nglobalThis.REACT_NAVIGATION_DEVTOOLS ??= /* @__PURE__ */ new WeakMap();\nfunction NavigationContainerInner({\n  direction = getLocaleDirection(),\n  theme = DefaultTheme,\n  linking,\n  fallback = null,\n  documentTitle,\n  onStateChange,\n  ...rest\n}, ref) {\n  const isLinkingEnabled = linking ? linking.enabled !== false : false;\n  if (linking?.config) {\n    validatePathConfig(linking.config);\n  }\n  const refContainer = React.useRef(null);\n  useBackButton(refContainer);\n  useDocumentTitle(refContainer, documentTitle);\n  const { getInitialState } = useLinking(refContainer, {\n    enabled: isLinkingEnabled,\n    prefixes: [],\n    ...linking\n  });\n  const linkingContext = React.useMemo(\n    () => ({\n      options: {\n        ...linking,\n        enabled: isLinkingEnabled,\n        prefixes: linking?.prefixes ?? [],\n        getStateFromPath: linking?.getStateFromPath ?? getStateFromPath,\n        getPathFromState: linking?.getPathFromState ?? getPathFromState,\n        getActionFromState: linking?.getActionFromState ?? getActionFromState\n      }\n    }),\n    [linking, isLinkingEnabled]\n  );\n  React.useEffect(() => {\n    if (refContainer.current) {\n      const previous = REACT_NAVIGATION_DEVTOOLS.get(refContainer.current);\n      const listeners = previous?.listeners ?? /* @__PURE__ */ new Set();\n      REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {\n        get linking() {\n          return linkingContext.options;\n        },\n        get listeners() {\n          return listeners;\n        }\n      });\n    }\n  });\n  const [isResolved, initialState] = useThenable(getInitialState);\n  if (process.env.ONE_DEBUG_ROUTER) {\n    console.info(\n      `[one] \\u{1F3E0} NavigationContainer isResolved=${isResolved} initialState=`,\n      JSON.stringify(initialState, null, 2)\n    );\n    console.info(`[one] \\u{1F3E0} NavigationContainer rest.initialState=`, rest.initialState);\n  }\n  React.useImperativeHandle(ref, () => refContainer.current);\n  const isLinkingReady = rest.initialState != null || !isLinkingEnabled || isResolved;\n  if (!isLinkingReady) {\n    return /* @__PURE__ */ jsx(ThemeProvider, { value: theme, children: fallback });\n  }\n  return /* @__PURE__ */ jsx(LocaleDirContext.Provider, { value: direction, children: /* @__PURE__ */ jsx(LinkingContext.Provider, { value: linkingContext, children: /* @__PURE__ */ jsx(\n    BaseNavigationContainer,\n    {\n      ...rest,\n      theme,\n      onStateChange,\n      initialState: rest.initialState == null ? initialState : rest.initialState,\n      ref: refContainer\n    }\n  ) }) });\n}\nconst NavigationContainer = React.forwardRef(NavigationContainerInner);\nexport {\n  NavigationContainer\n};\n//# sourceMappingURL=NavigationContainer.js.map\n"],"mappings":";;;;;;;;;;;;AAoBA,WAAW,8CAA8C,IAAI,QAAQ;AACrE,SAAS,yBAAyB,EAChC,YAAY,mBAAmB,GAC/B,QAAQ,cACR,SACA,WAAW,MACX,eACA,eACA,GAAG,QACF,KAAK;CACN,MAAM,mBAAmB,UAAU,QAAQ,YAAY,QAAQ;CAC/D,IAAI,SAAS,QAAQ;EACnB,mBAAmB,QAAQ,MAAM;CACnC;CACA,MAAM,eAAe,MAAM,OAAO,IAAI;CACtC,cAAc,YAAY;CAC1B,iBAAiB,cAAc,aAAa;CAC5C,MAAM,EAAE,oBAAoB,WAAW,cAAc;EACnD,SAAS;EACT,UAAU,CAAC;EACX,GAAG;CACL,CAAC;CACD,MAAM,iBAAiB,MAAM,eACpB,EACL,SAAS;EACP,GAAG;EACH,SAAS;EACT,UAAU,SAAS,YAAY,CAAC;EAChC,kBAAkB,SAAS,oBAAoB;EAC/C,kBAAkB,SAAS,oBAAoB;EAC/C,oBAAoB,SAAS,sBAAsB;CACrD,EACF,IACA,CAAC,SAAS,gBAAgB,CAC5B;CACA,MAAM,gBAAgB;EACpB,IAAI,aAAa,SAAS;GACxB,MAAM,WAAW,0BAA0B,IAAI,aAAa,OAAO;GACnE,MAAM,YAAY,UAAU,6BAA6B,IAAI,IAAI;GACjE,0BAA0B,IAAI,aAAa,SAAS;IAClD,IAAI,UAAU;KACZ,OAAO,eAAe;IACxB;IACA,IAAI,YAAY;KACd,OAAO;IACT;GACF,CAAC;EACH;CACF,CAAC;CACD,MAAM,CAAC,YAAY,gBAAgB,YAAY,eAAe;CAC9D,IAAI,QAAQ,IAAI,kBAAkB;EAChC,QAAQ,KACN,kDAAkD,WAAW,iBAC7D,KAAK,UAAU,cAAc,MAAM,CAAC,CACtC;EACA,QAAQ,KAAK,0DAA0D,KAAK,YAAY;CAC1F;CACA,MAAM,oBAAoB,WAAW,aAAa,OAAO;CACzD,MAAM,iBAAiB,KAAK,gBAAgB,QAAQ,CAAC,oBAAoB;CACzE,IAAI,CAAC,gBAAgB;EACnB,OAAuB,oBAAI,eAAe;GAAE,OAAO;GAAO,UAAU;EAAS,CAAC;CAChF;CACA,OAAuB,oBAAI,iBAAiB,UAAU;EAAE,OAAO;EAAW,UAA0B,oBAAI,eAAe,UAAU;GAAE,OAAO;GAAgB,UAA0B,oBAClL,yBACA;IACE,GAAG;IACH;IACA;IACA,cAAc,KAAK,gBAAgB,OAAO,eAAe,KAAK;IAC9D,KAAK;GACP,CACF;EAAE,CAAC;CAAE,CAAC;AACR;AACA,MAAM,sBAAsB,MAAM,WAAW,wBAAwB"}