UNPKG

one

Version:

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

1 lines • 3.58 kB
{"version":3,"file":"WebStackNavigator.js","names":[],"sources":["esm/router/web/WebStackNavigator.js"],"sourcesContent":["\"use client\";\nimport {\n createNavigatorFactory,\n useNavigationBuilder\n} from \"@react-navigation/core\";\nimport {\n CommonActions,\n StackActions,\n StackRouter\n} from \"@react-navigation/routers\";\nimport { useEffect } from \"react\";\nimport { findLastNonOverlayIndex } from \"./stackStateUtils\";\nimport { WebStackView } from \"./WebStackView\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction WebStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n headlessChildren,\n ...rest\n}) {\n const { state, navigation, descriptors, render } = useNavigationBuilder(StackRouter, {\n ...rest,\n children,\n screenOptions,\n initialRouteName\n });\n useEffect(() => {\n if (!initialRouteName) return;\n if (!state.routeNames.includes(initialRouteName)) return;\n if (findLastNonOverlayIndex(state, descriptors) !== -1) return;\n const timer = setTimeout(() => {\n const current = navigation.getState();\n if (findLastNonOverlayIndex(current, descriptors) !== -1) return;\n navigation.dispatch({\n ...CommonActions.reset({\n stale: true,\n routes: [\n { name: initialRouteName, params: void 0 },\n ...current.routes.map(({ key, name, params, path }) => ({\n key,\n name,\n params,\n path\n }))\n ],\n index: current.routes.length\n }),\n target: current.key\n });\n }, 0);\n return () => clearTimeout(timer);\n }, [initialRouteName, state, descriptors, navigation]);\n useEffect(() => {\n return navigation?.addListener?.(\"tabPress\", (e) => {\n const isFocused = navigation.isFocused();\n requestAnimationFrame(() => {\n if (state.index > 0 && isFocused && !e.defaultPrevented) {\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key\n });\n }\n });\n });\n }, [navigation, state.index, state.key]);\n return render(\n /* @__PURE__ */ jsx(\n WebStackView,\n {\n state,\n navigation,\n descriptors,\n customChildren: headlessChildren\n }\n )\n );\n}\nconst createWebStackNavigator = createNavigatorFactory(WebStackNavigator);\nexport {\n createWebStackNavigator\n};\n//# sourceMappingURL=WebStackNavigator.js.map\n"],"mappings":";;;;;;;;;;AAcA,SAAS,kBAAkB,EACzB,kBACA,UACA,eACA,kBACA,GAAG,QACF;CACD,MAAM,EAAE,OAAO,YAAY,aAAa,WAAW,qBAAqB,aAAa;EACnF,GAAG;EACH;EACA;EACA;CACF,CAAC;CACD,gBAAgB;EACd,IAAI,CAAC,kBAAkB;EACvB,IAAI,CAAC,MAAM,WAAW,SAAS,gBAAgB,GAAG;EAClD,IAAI,wBAAwB,OAAO,WAAW,MAAM,CAAC,GAAG;EACxD,MAAM,QAAQ,iBAAiB;GAC7B,MAAM,UAAU,WAAW,SAAS;GACpC,IAAI,wBAAwB,SAAS,WAAW,MAAM,CAAC,GAAG;GAC1D,WAAW,SAAS;IAClB,GAAG,cAAc,MAAM;KACrB,OAAO;KACP,QAAQ,CACN;MAAE,MAAM;MAAkB,QAAQ,KAAK;KAAE,GACzC,GAAG,QAAQ,OAAO,KAAK,EAAE,KAAK,MAAM,QAAQ,YAAY;MACtD;MACA;MACA;MACA;KACF,EAAE,CACJ;KACA,OAAO,QAAQ,OAAO;IACxB,CAAC;IACD,QAAQ,QAAQ;GAClB,CAAC;EACH,GAAG,CAAC;EACJ,aAAa,aAAa,KAAK;CACjC,GAAG;EAAC;EAAkB;EAAO;EAAa;CAAU,CAAC;CACrD,gBAAgB;EACd,OAAO,YAAY,cAAc,aAAa,MAAM;GAClD,MAAM,YAAY,WAAW,UAAU;GACvC,4BAA4B;IAC1B,IAAI,MAAM,QAAQ,KAAK,aAAa,CAAC,EAAE,kBAAkB;KACvD,WAAW,SAAS;MAClB,GAAG,aAAa,SAAS;MACzB,QAAQ,MAAM;KAChB,CAAC;IACH;GACF,CAAC;EACH,CAAC;CACH,GAAG;EAAC;EAAY,MAAM;EAAO,MAAM;CAAG,CAAC;CACvC,OAAO,OACW,oBACd,cACA;EACE;EACA;EACA;EACA,gBAAgB;CAClB,CACF,CACF;AACF;AACA,MAAM,0BAA0B,uBAAuB,iBAAiB"}