UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 4.92 kB
{"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"}