one 1.17.10 → 1.17.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/__mocks__/@react-navigation/native-stack.cjs +3 -1
- package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js +4 -0
- package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
- package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -1
- package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -1
- package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -1
- package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -1
- package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.test.native.js.map +1 -1
- package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
- package/dist/cjs/babel-preset/index.native.js.map +1 -1
- package/dist/cjs/babel-preset/index.test.native.js.map +1 -1
- package/dist/cjs/babel-preset/integration.test.native.js.map +1 -1
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
- package/dist/cjs/cli/checkNodeVersion.native.js.map +1 -1
- package/dist/cjs/cli/daemon.native.js.map +1 -1
- package/dist/cjs/cli/dev.native.js.map +1 -1
- package/dist/cjs/cli/generateBundlerConfig.native.js.map +1 -1
- package/dist/cjs/cli/generateBundlerConfig.test.native.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
- package/dist/cjs/cli/install-error-handlers.native.js.map +1 -1
- package/dist/cjs/cli/label-process.native.js.map +1 -1
- package/dist/cjs/cli/main.native.js.map +1 -1
- package/dist/cjs/cli/patch.native.js.map +1 -1
- package/dist/cjs/cli/patch.test.native.js.map +1 -1
- package/dist/cjs/cli/prebuild.native.js.map +1 -1
- package/dist/cjs/cli/runAndroid.native.js.map +1 -1
- package/dist/cjs/cli/runIos.native.js.map +1 -1
- package/dist/cjs/cli/securityScan.native.js.map +1 -1
- package/dist/cjs/cli/workerPool.native.js.map +1 -1
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/constants.test.native.js.map +1 -1
- package/dist/cjs/createAPIRoute.native.js.map +1 -1
- package/dist/cjs/createHandleRequest.cjs +21 -12
- package/dist/cjs/createHandleRequest.native.js +22 -12
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/createHandleRequest.test.cjs +51 -6
- package/dist/cjs/createHandleRequest.test.native.js +53 -6
- package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
- package/dist/cjs/createMiddleware.native.js.map +1 -1
- package/dist/cjs/daemon/index.native.js.map +1 -1
- package/dist/cjs/daemon/ipc.native.js.map +1 -1
- package/dist/cjs/daemon/picker.native.js.map +1 -1
- package/dist/cjs/daemon/proxy.native.js.map +1 -1
- package/dist/cjs/daemon/registry.native.js.map +1 -1
- package/dist/cjs/daemon/server.native.js.map +1 -1
- package/dist/cjs/daemon/tui.native.js.map +1 -1
- package/dist/cjs/daemon/types.native.js.map +1 -1
- package/dist/cjs/daemon/utils.native.js.map +1 -1
- package/dist/cjs/devtools/registry.native.js.map +1 -1
- package/dist/cjs/drawer.native.js.map +1 -1
- package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
- package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
- package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
- package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/_shared.native.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.test.native.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.test.native.js.map +1 -1
- package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.test.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/useThenable.native.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
- package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
- package/dist/cjs/head/Head.native.js.map +1 -1
- package/dist/cjs/head/HeadModule.native.js.map +1 -1
- package/dist/cjs/head/index.native.js.map +1 -1
- package/dist/cjs/head/types.native.js.map +1 -1
- package/dist/cjs/head/url.native.js.map +1 -1
- package/dist/cjs/headless-server.native.js.map +1 -1
- package/dist/cjs/headless.cjs +1 -0
- package/dist/cjs/headless.native.js +1 -0
- package/dist/cjs/headless.native.js.map +1 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/hooks.test.native.js.map +1 -1
- package/dist/cjs/href.native.js.map +1 -1
- package/dist/cjs/image/getImageData.native.js.map +1 -1
- package/dist/cjs/image.native.js.map +1 -1
- package/dist/cjs/index.cjs +3 -0
- package/dist/cjs/index.native.js +4 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interfaces/router.native.js.map +1 -1
- package/dist/cjs/layouts/Drawer.cjs +46 -1
- package/dist/cjs/layouts/Drawer.native.js +47 -1
- package/dist/cjs/layouts/Drawer.native.js.map +1 -1
- package/dist/cjs/layouts/NativeTabs.native.js.map +1 -1
- package/dist/cjs/layouts/Stack.cjs +12 -3
- package/dist/cjs/layouts/Stack.native.js +13 -4
- package/dist/cjs/layouts/Stack.native.js.map +1 -1
- package/dist/cjs/layouts/Tabs.cjs +42 -8
- package/dist/cjs/layouts/Tabs.native.js +43 -8
- package/dist/cjs/layouts/Tabs.native.js.map +1 -1
- package/dist/cjs/layouts/stack-navigator.cjs +29 -0
- package/dist/cjs/layouts/stack-navigator.native.js +32 -0
- package/dist/cjs/layouts/stack-navigator.native.js.map +1 -0
- package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/lazyWithRetry.native.js.map +1 -1
- package/dist/cjs/link/Link.native.js.map +1 -1
- package/dist/cjs/link/Redirect.native.js.map +1 -1
- package/dist/cjs/link/getLinking.native.js.map +1 -1
- package/dist/cjs/link/href.native.js.map +1 -1
- package/dist/cjs/link/path.native.js.map +1 -1
- package/dist/cjs/link/prefetchIntent.native.js.map +1 -1
- package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -1
- package/dist/cjs/link/prefetchViewport.native.js.map +1 -1
- package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/metro-config/withOne.native.js.map +1 -1
- package/dist/cjs/metro-config/withOne.test.native.js.map +1 -1
- package/dist/cjs/native-tabs.native.js.map +1 -1
- package/dist/cjs/notFoundState.native.js.map +1 -1
- package/dist/cjs/polyfills-mobile.native.js.map +1 -1
- package/dist/cjs/polyfills-server.native.js.map +1 -1
- package/dist/cjs/router/FlagsContext.native.js.map +1 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
- package/dist/cjs/router/RouterStore.native.js.map +1 -1
- package/dist/cjs/router/SpaShellContext.native.js.map +1 -1
- package/dist/cjs/router/createRoute.native.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
- package/dist/cjs/router/findRouteNode.native.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.test.native.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.test.native.js.map +1 -1
- package/dist/cjs/router/glob-patterns.native.js.map +1 -1
- package/dist/cjs/router/imperative-api.native.js.map +1 -1
- package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
- package/dist/cjs/router/isIndexPath.native.js.map +1 -1
- package/dist/cjs/router/lastAction.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/router/matchers.test.native.js.map +1 -1
- package/dist/cjs/router/params.native.js.map +1 -1
- package/dist/cjs/router/renderingRegistry.cjs +53 -0
- package/dist/cjs/router/renderingRegistry.native.js +56 -0
- package/dist/cjs/router/renderingRegistry.native.js.map +1 -0
- package/dist/cjs/router/router.cjs +2 -0
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/serverLocationContext.native.js.map +1 -1
- package/dist/cjs/router/sitemap.native.js.map +1 -1
- package/dist/cjs/router/sitemap.test.native.js.map +1 -1
- package/dist/cjs/router/sortRoutes.native.js.map +1 -1
- package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
- package/dist/cjs/router/useNavigation.native.js.map +1 -1
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
- package/dist/cjs/router/web/ScreenRenderContext.cjs +36 -0
- package/dist/cjs/router/web/ScreenRenderContext.native.js +38 -0
- package/dist/cjs/router/web/ScreenRenderContext.native.js.map +1 -0
- package/dist/cjs/router/web/WebStackNavigator.cjs +74 -0
- package/dist/cjs/router/web/WebStackNavigator.native.js +78 -0
- package/dist/cjs/router/web/WebStackNavigator.native.js.map +1 -0
- package/dist/cjs/router/web/WebStackView.cjs +182 -0
- package/dist/cjs/router/web/WebStackView.native.js +235 -0
- package/dist/cjs/router/web/WebStackView.native.js.map +1 -0
- package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.cjs +295 -0
- package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.native.js +335 -0
- package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.native.js.map +1 -0
- package/dist/cjs/router/web/__tests__/WebStackView.test.cjs +464 -0
- package/dist/cjs/router/web/__tests__/WebStackView.test.native.js +515 -0
- package/dist/cjs/router/web/__tests__/WebStackView.test.native.js.map +1 -0
- package/dist/cjs/router/web/__tests__/stackStateUtils.test.cjs +134 -0
- package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js +163 -0
- package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js.map +1 -0
- package/dist/cjs/router/web/stackStateUtils.cjs +60 -0
- package/dist/cjs/router/web/stackStateUtils.native.js +66 -0
- package/dist/cjs/router/web/stackStateUtils.native.js.map +1 -0
- package/dist/cjs/screensFeatureFlags.native.js.map +1 -1
- package/dist/cjs/serve-worker.native.js.map +1 -1
- package/dist/cjs/serve.native.js.map +1 -1
- package/dist/cjs/server/ServerContextScript.cjs +2 -1
- package/dist/cjs/server/ServerContextScript.native.js +2 -1
- package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.test.native.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/setServerGlobals.native.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
- package/dist/cjs/server/setupServerGlobals.native.js.map +1 -1
- package/dist/cjs/server/ssrLoaderData.native.js.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
- package/dist/cjs/server/workerHandler.native.js.map +1 -1
- package/dist/cjs/server-render.native.js.map +1 -1
- package/dist/cjs/skewProtection.native.js.map +1 -1
- package/dist/cjs/testing-utils.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.test.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/ui/Slot.native.js.map +1 -1
- package/dist/cjs/ui/TabContext.native.js.map +1 -1
- package/dist/cjs/ui/TabList.native.js.map +1 -1
- package/dist/cjs/ui/TabRouter.native.js.map +1 -1
- package/dist/cjs/ui/TabSlot.native.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.native.js.map +1 -1
- package/dist/cjs/ui/common.native.js.map +1 -1
- package/dist/cjs/ui/index.native.js.map +1 -1
- package/dist/cjs/ui/useComponent.native.js.map +1 -1
- package/dist/cjs/useFocusEffect.native.js.map +1 -1
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/useMatches.native.js.map +1 -1
- package/dist/cjs/useMatches.test.native.js.map +1 -1
- package/dist/cjs/useServerHeadInsertion.native.js.map +1 -1
- package/dist/cjs/utils/assertIsReady.native.js.map +1 -1
- package/dist/cjs/utils/buildOutputPointer.native.js.map +1 -1
- package/dist/cjs/utils/buildOutputPointer.test.native.js.map +1 -1
- package/dist/cjs/utils/children.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
- package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
- package/dist/cjs/utils/dynamicImport.test.native.js.map +1 -1
- package/dist/cjs/utils/ensureExists.native.js.map +1 -1
- package/dist/cjs/utils/evictOldest.native.js.map +1 -1
- package/dist/cjs/utils/existsAsync.native.js.map +1 -1
- package/dist/cjs/utils/findRootLayout.native.js.map +1 -1
- package/dist/cjs/utils/getPageExport.native.js.map +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.test.native.js.map +1 -1
- package/dist/cjs/utils/getRouterRootFromOneOptions.native.js.map +1 -1
- package/dist/cjs/utils/globDir.native.js.map +1 -1
- package/dist/cjs/utils/hashString.native.js.map +1 -1
- package/dist/cjs/utils/htmlEscape.native.js.map +1 -1
- package/dist/cjs/utils/isResponse.native.js.map +1 -1
- package/dist/cjs/utils/isRolldown.native.js.map +1 -1
- package/dist/cjs/utils/isStatus.native.js.map +1 -1
- package/dist/cjs/utils/pLimit.native.js.map +1 -1
- package/dist/cjs/utils/posixPathContract.test.native.js.map +1 -1
- package/dist/cjs/utils/promiseWithResolvers.native.js.map +1 -1
- package/dist/cjs/utils/rand.native.js.map +1 -1
- package/dist/cjs/utils/redirect.native.js.map +1 -1
- package/dist/cjs/utils/removeParams.native.js.map +1 -1
- package/dist/cjs/utils/removeSearch.native.js.map +1 -1
- package/dist/cjs/utils/removeUndefined.native.js.map +1 -1
- package/dist/cjs/utils/routeFileWatch.native.js.map +1 -1
- package/dist/cjs/utils/routeFileWatch.test.native.js.map +1 -1
- package/dist/cjs/utils/style.native.js.map +1 -1
- package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
- package/dist/cjs/utils/toServerOutputPath.native.js.map +1 -1
- package/dist/cjs/utils/toServerOutputPath.test.native.js.map +1 -1
- package/dist/cjs/utils/trackLoaderDependencies.native.js.map +1 -1
- package/dist/cjs/utils/url.native.js.map +1 -1
- package/dist/cjs/utils/useConstant.native.js.map +1 -1
- package/dist/cjs/utils/watchFile.native.js.map +1 -1
- package/dist/cjs/utils/weakKey.native.js.map +1 -1
- package/dist/cjs/utils/weakMemo.native.js.map +1 -1
- package/dist/cjs/utils/withStaticProperties.native.js.map +1 -1
- package/dist/cjs/utils/workerImport.native.js.map +1 -1
- package/dist/cjs/validateParams.native.js.map +1 -1
- package/dist/cjs/validateSearch.native.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
- package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +1 -1
- package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
- package/dist/cjs/views/EmptyRoute.native.js.map +1 -1
- package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/views/OneStackRouter.native.js.map +1 -1
- package/dist/cjs/views/Protected.native.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/Screen.native.js.map +1 -1
- package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
- package/dist/cjs/views/SourceInspector.native.js.map +1 -1
- package/dist/cjs/views/Try.native.js.map +1 -1
- package/dist/cjs/vite/DevHead.native.js.map +1 -1
- package/dist/cjs/vite/constants.native.js.map +1 -1
- package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
- package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
- package/dist/cjs/vite/findDepsToOptimize.native.js.map +1 -1
- package/dist/cjs/vite/getManifest.native.js.map +1 -1
- package/dist/cjs/vite/getManifest.test.native.js.map +1 -1
- package/dist/cjs/vite/loadConfig.native.js.map +1 -1
- package/dist/cjs/vite/makePluginWebOnly.native.js.map +1 -1
- package/dist/cjs/vite/one-server-only.test.native.js.map +1 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryConstants.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/cjs/vite/types.native.js.map +1 -1
- package/dist/cjs/vite-auto-warm.native.js.map +1 -1
- package/dist/cjs/vite.native.js.map +1 -1
- package/dist/cjs/zero/getQueryKey.native.js.map +1 -1
- package/dist/cjs/zero/isZeroQuery.native.js.map +1 -1
- package/dist/cjs/zero/resolveQuery.native.js.map +1 -1
- package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
- package/dist/cjs/zero/types.native.js.map +1 -1
- package/dist/cjs/zero/useQuery.native.js.map +1 -1
- package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
- package/dist/cjs/zero.native.js.map +1 -1
- package/dist/esm/__mocks__/@react-navigation/native-stack.mjs +2 -1
- package/dist/esm/__mocks__/@react-navigation/native-stack.mjs.map +1 -1
- package/dist/esm/__mocks__/@react-navigation/native-stack.native.js +4 -1
- package/dist/esm/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
- package/dist/esm/constants.test.mjs.map +1 -1
- package/dist/esm/constants.test.native.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +21 -12
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +22 -12
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/createHandleRequest.test.mjs +51 -6
- package/dist/esm/createHandleRequest.test.mjs.map +1 -1
- package/dist/esm/createHandleRequest.test.native.js +53 -6
- package/dist/esm/createHandleRequest.test.native.js.map +1 -1
- package/dist/esm/headless.mjs +1 -0
- package/dist/esm/headless.mjs.map +1 -1
- package/dist/esm/headless.native.js +1 -0
- package/dist/esm/headless.native.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/Drawer.mjs +35 -1
- package/dist/esm/layouts/Drawer.mjs.map +1 -1
- package/dist/esm/layouts/Drawer.native.js +36 -1
- package/dist/esm/layouts/Drawer.native.js.map +1 -1
- package/dist/esm/layouts/Stack.mjs +12 -3
- package/dist/esm/layouts/Stack.mjs.map +1 -1
- package/dist/esm/layouts/Stack.native.js +12 -3
- package/dist/esm/layouts/Stack.native.js.map +1 -1
- package/dist/esm/layouts/Tabs.mjs +31 -8
- package/dist/esm/layouts/Tabs.mjs.map +1 -1
- package/dist/esm/layouts/Tabs.native.js +32 -8
- package/dist/esm/layouts/Tabs.native.js.map +1 -1
- package/dist/esm/layouts/stack-navigator.mjs +4 -0
- package/dist/esm/layouts/stack-navigator.mjs.map +1 -0
- package/dist/esm/layouts/stack-navigator.native.js +4 -0
- package/dist/esm/layouts/stack-navigator.native.js.map +1 -0
- package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
- package/dist/esm/router/renderingRegistry.mjs +26 -0
- package/dist/esm/router/renderingRegistry.mjs.map +1 -0
- package/dist/esm/router/renderingRegistry.native.js +26 -0
- package/dist/esm/router/renderingRegistry.native.js.map +1 -0
- package/dist/esm/router/router.mjs +2 -0
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/web/ScreenRenderContext.mjs +10 -0
- package/dist/esm/router/web/ScreenRenderContext.mjs.map +1 -0
- package/dist/esm/router/web/ScreenRenderContext.native.js +10 -0
- package/dist/esm/router/web/ScreenRenderContext.native.js.map +1 -0
- package/dist/esm/router/web/WebStackNavigator.mjs +49 -0
- package/dist/esm/router/web/WebStackNavigator.mjs.map +1 -0
- package/dist/esm/router/web/WebStackNavigator.native.js +51 -0
- package/dist/esm/router/web/WebStackNavigator.native.js.map +1 -0
- package/dist/esm/router/web/WebStackView.mjs +155 -0
- package/dist/esm/router/web/WebStackView.mjs.map +1 -0
- package/dist/esm/router/web/WebStackView.native.js +206 -0
- package/dist/esm/router/web/WebStackView.native.js.map +1 -0
- package/dist/esm/router/web/__tests__/WebStackView.runtime.test.mjs +272 -0
- package/dist/esm/router/web/__tests__/WebStackView.runtime.test.mjs.map +1 -0
- package/dist/esm/router/web/__tests__/WebStackView.runtime.test.native.js +309 -0
- package/dist/esm/router/web/__tests__/WebStackView.runtime.test.native.js.map +1 -0
- package/dist/esm/router/web/__tests__/WebStackView.test.mjs +465 -0
- package/dist/esm/router/web/__tests__/WebStackView.test.mjs.map +1 -0
- package/dist/esm/router/web/__tests__/WebStackView.test.native.js +513 -0
- package/dist/esm/router/web/__tests__/WebStackView.test.native.js.map +1 -0
- package/dist/esm/router/web/__tests__/stackStateUtils.test.mjs +135 -0
- package/dist/esm/router/web/__tests__/stackStateUtils.test.mjs.map +1 -0
- package/dist/esm/router/web/__tests__/stackStateUtils.test.native.js +161 -0
- package/dist/esm/router/web/__tests__/stackStateUtils.test.native.js.map +1 -0
- package/dist/esm/router/web/stackStateUtils.mjs +32 -0
- package/dist/esm/router/web/stackStateUtils.mjs.map +1 -0
- package/dist/esm/router/web/stackStateUtils.native.js +35 -0
- package/dist/esm/router/web/stackStateUtils.native.js.map +1 -0
- package/dist/esm/server/ServerContextScript.mjs +2 -1
- package/dist/esm/server/ServerContextScript.mjs.map +1 -1
- package/dist/esm/server/ServerContextScript.native.js +2 -1
- package/dist/esm/server/ServerContextScript.native.js.map +1 -1
- package/dist/esm/utils/dynamicImport.test.mjs.map +1 -1
- package/dist/esm/utils/dynamicImport.test.native.js.map +1 -1
- package/package.json +10 -9
- package/src/__mocks__/@react-navigation/native-stack.ts +22 -0
- package/src/constants.test.ts +12 -8
- package/src/createHandleRequest.test.ts +50 -6
- package/src/createHandleRequest.ts +26 -24
- package/src/headless.tsx +6 -0
- package/src/index.ts +20 -5
- package/src/layouts/Drawer.tsx +43 -1
- package/src/layouts/Stack.tsx +51 -33
- package/src/layouts/Tabs.tsx +89 -57
- package/src/layouts/stack-navigator.ts +9 -0
- package/src/layouts/stack-navigator.web.ts +3 -0
- package/src/layouts/stack-utils/StackScreen.tsx +30 -9
- package/src/layouts/stack-utils/index.tsx +1 -0
- package/src/router/renderingRegistry.ts +109 -0
- package/src/router/router.ts +33 -9
- package/src/router/web/ScreenRenderContext.tsx +61 -0
- package/src/router/web/WebStackNavigator.tsx +87 -0
- package/src/router/web/WebStackView.tsx +264 -0
- package/src/router/web/__tests__/WebStackView.runtime.test.tsx +309 -0
- package/src/router/web/__tests__/WebStackView.test.tsx +444 -0
- package/src/router/web/__tests__/stackStateUtils.test.ts +153 -0
- package/src/router/web/stackStateUtils.ts +89 -0
- package/src/server/ServerContextScript.tsx +8 -7
- package/src/utils/dynamicImport.test.ts +9 -7
- package/types/__mocks__/@react-navigation/native-stack.d.ts +9 -0
- package/types/__mocks__/@react-navigation/native-stack.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/headless.d.ts.map +1 -1
- package/types/index.d.ts +4 -2
- package/types/index.d.ts.map +1 -1
- package/types/layouts/Drawer.d.ts +13 -2
- package/types/layouts/Drawer.d.ts.map +1 -1
- package/types/layouts/Stack.d.ts +11 -1
- package/types/layouts/Stack.d.ts.map +1 -1
- package/types/layouts/Tabs.d.ts +14 -4
- package/types/layouts/Tabs.d.ts.map +1 -1
- package/types/layouts/stack-navigator.d.ts +9 -0
- package/types/layouts/stack-navigator.d.ts.map +1 -0
- package/types/layouts/stack-navigator.web.d.ts +2 -0
- package/types/layouts/stack-navigator.web.d.ts.map +1 -0
- package/types/layouts/stack-utils/StackScreen.d.ts +24 -2
- package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
- package/types/layouts/stack-utils/index.d.ts +1 -1
- package/types/layouts/stack-utils/index.d.ts.map +1 -1
- package/types/router/renderingRegistry.d.ts +90 -0
- package/types/router/renderingRegistry.d.ts.map +1 -0
- package/types/router/router.d.ts.map +1 -1
- package/types/router/web/ScreenRenderContext.d.ts +46 -0
- package/types/router/web/ScreenRenderContext.d.ts.map +1 -0
- package/types/router/web/WebStackNavigator.d.ts +2 -0
- package/types/router/web/WebStackNavigator.d.ts.map +1 -0
- package/types/router/web/WebStackView.d.ts +42 -0
- package/types/router/web/WebStackView.d.ts.map +1 -0
- package/types/router/web/stackStateUtils.d.ts +35 -0
- package/types/router/web/stackStateUtils.d.ts.map +1 -0
- package/types/server/ServerContextScript.d.ts.map +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { convertStackStateToNonOverlayState, findLastNonOverlayIndex, isOverlayPresentation, isTransparentOverlay } from "../stackStateUtils.native.js";
|
|
3
|
+
function makeState(routeNames, index) {
|
|
4
|
+
var routes = routeNames.map(function (name) {
|
|
5
|
+
return {
|
|
6
|
+
key: `${name}-key`,
|
|
7
|
+
name,
|
|
8
|
+
params: void 0
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
key: "stack",
|
|
13
|
+
index,
|
|
14
|
+
routeNames,
|
|
15
|
+
routes,
|
|
16
|
+
type: "stack",
|
|
17
|
+
stale: false,
|
|
18
|
+
preloadedRoutes: []
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function makeDescriptors(routeNames, presentations) {
|
|
22
|
+
var out = {};
|
|
23
|
+
var _iteratorNormalCompletion = true,
|
|
24
|
+
_didIteratorError = false,
|
|
25
|
+
_iteratorError = void 0;
|
|
26
|
+
try {
|
|
27
|
+
for (var _iterator = routeNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
28
|
+
var name = _step.value;
|
|
29
|
+
out[`${name}-key`] = {
|
|
30
|
+
options: {
|
|
31
|
+
presentation: presentations[name]
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
} catch (err) {
|
|
36
|
+
_didIteratorError = true;
|
|
37
|
+
_iteratorError = err;
|
|
38
|
+
} finally {
|
|
39
|
+
try {
|
|
40
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
41
|
+
_iterator.return();
|
|
42
|
+
}
|
|
43
|
+
} finally {
|
|
44
|
+
if (_didIteratorError) {
|
|
45
|
+
throw _iteratorError;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
describe("isOverlayPresentation", function () {
|
|
52
|
+
it("returns true for known overlay presentations", function () {
|
|
53
|
+
for (var _i = 0, _iter = ["modal", "transparentModal", "fullScreenModal", "formSheet", "pageSheet", "containedModal", "containedTransparentModal"]; _i < _iter.length; _i++) {
|
|
54
|
+
var p = _iter[_i];
|
|
55
|
+
expect(isOverlayPresentation({
|
|
56
|
+
presentation: p
|
|
57
|
+
})).toBe(true);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
it("returns false for card and undefined", function () {
|
|
61
|
+
expect(isOverlayPresentation({
|
|
62
|
+
presentation: "card"
|
|
63
|
+
})).toBe(false);
|
|
64
|
+
expect(isOverlayPresentation({})).toBe(false);
|
|
65
|
+
expect(isOverlayPresentation(void 0)).toBe(false);
|
|
66
|
+
expect(isOverlayPresentation(null)).toBe(false);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
describe("isTransparentOverlay", function () {
|
|
70
|
+
it("flags transparent variants only", function () {
|
|
71
|
+
expect(isTransparentOverlay({
|
|
72
|
+
presentation: "transparentModal"
|
|
73
|
+
})).toBe(true);
|
|
74
|
+
expect(isTransparentOverlay({
|
|
75
|
+
presentation: "containedTransparentModal"
|
|
76
|
+
})).toBe(true);
|
|
77
|
+
expect(isTransparentOverlay({
|
|
78
|
+
presentation: "modal"
|
|
79
|
+
})).toBe(false);
|
|
80
|
+
expect(isTransparentOverlay({
|
|
81
|
+
presentation: "formSheet"
|
|
82
|
+
})).toBe(false);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
describe("convertStackStateToNonOverlayState", function () {
|
|
86
|
+
it("removes overlay routes and keeps card routes", function () {
|
|
87
|
+
var state = makeState(["home", "detail", "filter"], 2);
|
|
88
|
+
var descriptors = makeDescriptors(["home", "detail", "filter"], {
|
|
89
|
+
home: "card",
|
|
90
|
+
detail: "card",
|
|
91
|
+
filter: "formSheet"
|
|
92
|
+
});
|
|
93
|
+
var out = convertStackStateToNonOverlayState(state, descriptors);
|
|
94
|
+
expect(out.routes.map(function (r) {
|
|
95
|
+
return r.name;
|
|
96
|
+
})).toEqual(["home", "detail"]);
|
|
97
|
+
});
|
|
98
|
+
it("falls back to last remaining route when active route was an overlay", function () {
|
|
99
|
+
var state = makeState(["home", "detail", "filter"], 2);
|
|
100
|
+
var descriptors = makeDescriptors(["home", "detail", "filter"], {
|
|
101
|
+
home: "card",
|
|
102
|
+
detail: "card",
|
|
103
|
+
filter: "formSheet"
|
|
104
|
+
});
|
|
105
|
+
var out = convertStackStateToNonOverlayState(state, descriptors);
|
|
106
|
+
expect(out.index).toBe(1);
|
|
107
|
+
expect(out.routes[out.index].name).toBe("detail");
|
|
108
|
+
});
|
|
109
|
+
it("preserves active index when active route is not an overlay", function () {
|
|
110
|
+
var state = makeState(["home", "detail", "filter"], 1);
|
|
111
|
+
var descriptors = makeDescriptors(["home", "detail", "filter"], {
|
|
112
|
+
home: "card",
|
|
113
|
+
detail: "card",
|
|
114
|
+
filter: "formSheet"
|
|
115
|
+
});
|
|
116
|
+
var out = convertStackStateToNonOverlayState(state, descriptors);
|
|
117
|
+
expect(out.routes[out.index].name).toBe("detail");
|
|
118
|
+
});
|
|
119
|
+
it("does not strip mid-stack overlays (regression: only the trailing overlay suffix is removed)", function () {
|
|
120
|
+
var state = makeState(["home", "sheet", "detail"], 2);
|
|
121
|
+
var descriptors = makeDescriptors(["home", "sheet", "detail"], {
|
|
122
|
+
home: "card",
|
|
123
|
+
sheet: "formSheet",
|
|
124
|
+
detail: "card"
|
|
125
|
+
});
|
|
126
|
+
var out = convertStackStateToNonOverlayState(state, descriptors);
|
|
127
|
+
expect(out.routes.map(function (r) {
|
|
128
|
+
return r.name;
|
|
129
|
+
})).toEqual(["home", "sheet", "detail"]);
|
|
130
|
+
expect(out.index).toBe(2);
|
|
131
|
+
});
|
|
132
|
+
it("handles all-overlay state without crashing", function () {
|
|
133
|
+
var state = makeState(["only-sheet"], 0);
|
|
134
|
+
var descriptors = makeDescriptors(["only-sheet"], {
|
|
135
|
+
"only-sheet": "formSheet"
|
|
136
|
+
});
|
|
137
|
+
var out = convertStackStateToNonOverlayState(state, descriptors);
|
|
138
|
+
expect(out.routes).toHaveLength(0);
|
|
139
|
+
expect(out.index).toBe(0);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
describe("findLastNonOverlayIndex", function () {
|
|
143
|
+
it("returns the highest index that is not an overlay", function () {
|
|
144
|
+
var state = makeState(["home", "detail", "filter", "pop"], 3);
|
|
145
|
+
var descriptors = makeDescriptors(["home", "detail", "filter", "pop"], {
|
|
146
|
+
home: "card",
|
|
147
|
+
detail: "card",
|
|
148
|
+
filter: "formSheet",
|
|
149
|
+
pop: "transparentModal"
|
|
150
|
+
});
|
|
151
|
+
expect(findLastNonOverlayIndex(state, descriptors)).toBe(1);
|
|
152
|
+
});
|
|
153
|
+
it("returns -1 when every route is an overlay", function () {
|
|
154
|
+
var state = makeState(["sheet"], 0);
|
|
155
|
+
var descriptors = makeDescriptors(["sheet"], {
|
|
156
|
+
sheet: "formSheet"
|
|
157
|
+
});
|
|
158
|
+
expect(findLastNonOverlayIndex(state, descriptors)).toBe(-1);
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=stackStateUtils.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","it","convertStackStateToNonOverlayState","findLastNonOverlayIndex","isOverlayPresentation","isTransparentOverlay","makeState","routeNames","index","routes","map","name","key","params","type","stale","preloadedRoutes","makeDescriptors","presentations","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","options","presentation","err","return","_i","_iter","length","p","toBe","state","descriptors","home","detail","filter","r","toEqual"],"sources":["../../../../../src/router/web/__tests__/stackStateUtils.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const OVERLAY_PRESENTATIONS = ["modal", "transparentModal", "fullScreenModal", "formSheet", "pageSheet", "containedModal", "containedTransparentModal"];
|
|
2
|
+
function isOverlayPresentation(options) {
|
|
3
|
+
const presentation = options?.presentation;
|
|
4
|
+
if (!presentation) return false;
|
|
5
|
+
return OVERLAY_PRESENTATIONS.includes(presentation);
|
|
6
|
+
}
|
|
7
|
+
function isTransparentOverlay(options) {
|
|
8
|
+
const presentation = options?.presentation;
|
|
9
|
+
return presentation === "transparentModal" || presentation === "containedTransparentModal";
|
|
10
|
+
}
|
|
11
|
+
function convertStackStateToNonOverlayState(state, descriptors, isOverlay = isOverlayPresentation) {
|
|
12
|
+
const lastNonOverlay = findLastNonOverlayIndex(state, descriptors, isOverlay);
|
|
13
|
+
const routes = state.routes.slice(0, lastNonOverlay + 1);
|
|
14
|
+
let index = state.index;
|
|
15
|
+
if (index >= routes.length) {
|
|
16
|
+
index = routes.length > 0 ? routes.length - 1 : 0;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
routes,
|
|
20
|
+
index
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function findLastNonOverlayIndex(state, descriptors, isOverlay = isOverlayPresentation) {
|
|
24
|
+
for (let i = state.routes.length - 1; i >= 0; i--) {
|
|
25
|
+
if (!isOverlay(descriptors[state.routes[i].key]?.options)) {
|
|
26
|
+
return i;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return -1;
|
|
30
|
+
}
|
|
31
|
+
export { convertStackStateToNonOverlayState, findLastNonOverlayIndex, isOverlayPresentation, isTransparentOverlay };
|
|
32
|
+
//# sourceMappingURL=stackStateUtils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["OVERLAY_PRESENTATIONS","isOverlayPresentation","options","presentation","includes","isTransparentOverlay","convertStackStateToNonOverlayState","state","descriptors","isOverlay","lastNonOverlay","findLastNonOverlayIndex","routes","slice","index","length","i","key"],"sources":["../../../../src/router/web/stackStateUtils.ts"],"sourcesContent":[null],"mappings":"AAGA,MAAMA,qBAAA,GAAwB,CAC5B,SACA,oBACA,mBACA,aACA,aACA,kBACA,4BACF;AAMO,SAASC,sBACdC,OAAA,EACS;EACT,MAAMC,YAAA,GAAeD,OAAA,EAASC,YAAA;EAC9B,IAAI,CAACA,YAAA,EAAc,OAAO;EAC1B,OAAQH,qBAAA,CAA4CI,QAAA,CAASD,YAAY;AAC3E;AAEO,SAASE,qBACdH,OAAA,EACS;EACT,MAAMC,YAAA,GAAeD,OAAA,EAASC,YAAA;EAC9B,OACEA,YAAA,KAAiB,sBAAsBA,YAAA,KAAiB;AAE5D;AAgBO,SAASG,mCACdC,KAAA,EACAC,WAAA,EACAC,SAAA,GAEeR,qBAAA,EACiC;EAChD,MAAMS,cAAA,GAAiBC,uBAAA,CAAwBJ,KAAA,EAAOC,WAAA,EAAaC,SAAS;EAC5E,MAAMG,MAAA,GAASL,KAAA,CAAMK,MAAA,CAAOC,KAAA,CAAM,GAAGH,cAAA,GAAiB,CAAC;EAIvD,IAAII,KAAA,GAAQP,KAAA,CAAMO,KAAA;EAClB,IAAIA,KAAA,IAASF,MAAA,CAAOG,MAAA,EAAQ;IAC1BD,KAAA,GAAQF,MAAA,CAAOG,MAAA,GAAS,IAAIH,MAAA,CAAOG,MAAA,GAAS,IAAI;EAClD;EAEA,OAAO;IAAEH,MAAA;IAAQE;EAAM;AACzB;AAOO,SAASH,wBACdJ,KAAA,EACAC,WAAA,EACAC,SAAA,GAEeR,qBAAA,EACP;EACR,SAASe,CAAA,GAAIT,KAAA,CAAMK,MAAA,CAAOG,MAAA,GAAS,GAAGC,CAAA,IAAK,GAAGA,CAAA,IAAK;IACjD,IAAI,CAACP,SAAA,CAAUD,WAAA,CAAYD,KAAA,CAAMK,MAAA,CAAOI,CAAC,EAAGC,GAAG,GAAGf,OAAO,GAAG;MAC1D,OAAOc,CAAA;IACT;EACF;EACA,OAAO;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var OVERLAY_PRESENTATIONS = ["modal", "transparentModal", "fullScreenModal", "formSheet", "pageSheet", "containedModal", "containedTransparentModal"];
|
|
2
|
+
function isOverlayPresentation(options) {
|
|
3
|
+
var presentation = options === null || options === void 0 ? void 0 : options.presentation;
|
|
4
|
+
if (!presentation) return false;
|
|
5
|
+
return OVERLAY_PRESENTATIONS.includes(presentation);
|
|
6
|
+
}
|
|
7
|
+
function isTransparentOverlay(options) {
|
|
8
|
+
var presentation = options === null || options === void 0 ? void 0 : options.presentation;
|
|
9
|
+
return presentation === "transparentModal" || presentation === "containedTransparentModal";
|
|
10
|
+
}
|
|
11
|
+
function convertStackStateToNonOverlayState(state, descriptors) {
|
|
12
|
+
var isOverlay = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : isOverlayPresentation;
|
|
13
|
+
var lastNonOverlay = findLastNonOverlayIndex(state, descriptors, isOverlay);
|
|
14
|
+
var routes = state.routes.slice(0, lastNonOverlay + 1);
|
|
15
|
+
var index = state.index;
|
|
16
|
+
if (index >= routes.length) {
|
|
17
|
+
index = routes.length > 0 ? routes.length - 1 : 0;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
routes,
|
|
21
|
+
index
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function findLastNonOverlayIndex(state, descriptors) {
|
|
25
|
+
var isOverlay = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : isOverlayPresentation;
|
|
26
|
+
for (var i = state.routes.length - 1; i >= 0; i--) {
|
|
27
|
+
var _descriptors_state_routes_i_key;
|
|
28
|
+
if (!isOverlay((_descriptors_state_routes_i_key = descriptors[state.routes[i].key]) === null || _descriptors_state_routes_i_key === void 0 ? void 0 : _descriptors_state_routes_i_key.options)) {
|
|
29
|
+
return i;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return -1;
|
|
33
|
+
}
|
|
34
|
+
export { convertStackStateToNonOverlayState, findLastNonOverlayIndex, isOverlayPresentation, isTransparentOverlay };
|
|
35
|
+
//# sourceMappingURL=stackStateUtils.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["OVERLAY_PRESENTATIONS","isOverlayPresentation","options","presentation","includes","isTransparentOverlay","convertStackStateToNonOverlayState","state","descriptors","isOverlay","arguments","length","lastNonOverlay","findLastNonOverlayIndex","routes","slice","index","i","_descriptors_state_routes_i_key"],"sources":["../../../../src/router/web/stackStateUtils.ts"],"sourcesContent":[null],"mappings":"AAGA,IAAAA,qBAAM,IACJ,SACA,oBACA,mBACA,aACA,aACA,kBACA,4BACF;AAMO,SAASC,sBACdC,OAAA,EACS;EACT,IAAAC,YAAM,GAAAD,OAAe,KAAS,QAAAA,OAAA,uBAAAA,OAAA,CAAAC,YAAA;EAC9B,IAAI,CAACA,YAAA,EAAc,OAAO;EAC1B,OAAQH,qBAAA,CAA4CI,QAAA,CAASD,YAAY;AAC3E;AAEO,SAASE,qBACdH,OAAA,EACS;EACT,IAAAC,YAAM,GAAAD,OAAe,KAAS,QAAAA,OAAA,uBAAAA,OAAA,CAAAC,YAAA;EAC9B,OACEA,YAAA,KAAiB,sBAAsBA,YAAA,KAAiB;AAE5D;AAgBO,SAASG,mCACdC,KAAA,EACAC,WAAA,EACA;EAIA,IAAAC,SAAM,GAAAC,SAAiB,CAAAC,MAAA,QAAAD,SAAwB,QAAO,SAAAA,SAAa,CAAS,KAAAT,qBAAA;EAC5E,IAAAW,cAAe,GAAMC,uBAAgB,CAAAN,KAAA,EAAAC,WAAkB,EAAAC,SAAA;EAIvD,IAAIK,MAAA,GAAQP,KAAM,CAAAO,MAAA,CAAAC,KAAA,IAAAH,cAAA;EAClB,IAAII,KAAA,GAAAT,KAAS,CAAAS,KAAO;EAClB,IAAAA,KAAA,IAAQF,MAAO,CAAAH,MAAS;IAC1BK,KAAA,GAAAF,MAAA,CAAAH,MAAA,OAAAG,MAAA,CAAAH,MAAA;EAEA;EACF;IAOOG,MAAS;IAOdE;EACE;AACE;AAAO,SACTH,wBAAAN,KAAA,EAAAC,WAAA;EACF,IAAAC,SAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,MAAAT,qBAAA;EACA,SAAOgB,CAAA,GAAAV,KAAA,CAAAO,MAAA,CAAAH,MAAA,MAAAM,CAAA,OAAAA,CAAA;IACT,IAAAC,+BAAA","ignoreList":[]}
|
|
@@ -21,12 +21,13 @@ function ServerContextScript() {
|
|
|
21
21
|
cssContents,
|
|
22
22
|
...restContext
|
|
23
23
|
} = context || {};
|
|
24
|
+
const hasLeafLoaderData = restContext.loaderData !== void 0;
|
|
24
25
|
const lastMatchIndex = (restContext.matches?.length ?? 0) - 1;
|
|
25
26
|
const compactMatches = restContext.matches?.map((m, i) => ({
|
|
26
27
|
routeId: m.routeId,
|
|
27
28
|
pathname: m.pathname,
|
|
28
29
|
params: m.params,
|
|
29
|
-
...(i === lastMatchIndex ? {} : {
|
|
30
|
+
...(hasLeafLoaderData && i === lastMatchIndex ? {} : {
|
|
30
31
|
loaderData: m.loaderData
|
|
31
32
|
})
|
|
32
33
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SERVER_CONTEXT_KEY","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","jsx","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","cssUrls","css","cssContents","restContext","lastMatchIndex","matches","length","compactMatches","map","m","i","routeId","pathname","params","
|
|
1
|
+
{"version":3,"names":["SERVER_CONTEXT_KEY","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","jsx","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","cssUrls","css","cssContents","restContext","hasLeafLoaderData","loaderData","lastMatchIndex","matches","length","compactMatches","map","m","i","routeId","pathname","params","clientContext","cssInlineCount","postRenderData"],"sources":["../../../src/server/ServerContextScript.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AACnC,SAASC,iBAAA,QAAyB;AAClC,SAASC,iCAAA,QAAyC;AAClD,SAASC,gBAAA,QAAwB;AAK3B,SAAAC,GAAA;AAHC,SAASC,oBAAA,EAAsB;EACpC,IAAIC,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB,UAAU;IAC7C,OACE,eAAAJ,GAAA,CAAC;MACCK,KAAA,EAAK;MAELC,IAAA,EAAMV,kBAAA;MACNW,wBAAA,EAAwB;MACxBC,uBAAA,EAAyB;QACvBC,MAAA,EAAQ;MACV;IAAA,CACF;EAEJ;EAEA,IAAIP,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB,OAAO;IAC1C,MAAMM,OAAA,GAAUX,gBAAA,CAAiB;IACjC,MAAMY,OAAA,GAAUD,OAAA,EAASE,GAAA,IAAO,EAAC;IAGjC,MAAM;MAAEC,WAAA;MAAa,GAAGC;IAAY,IAAIJ,OAAA,IAAW,CAAC;IAQpD,MAAMK,iBAAA,GAAoBD,WAAA,CAAYE,UAAA,KAAe;IACrD,MAAMC,cAAA,IAAkBH,WAAA,CAAYI,OAAA,EAASC,MAAA,IAAU,KAAK;IAC5D,MAAMC,cAAA,GAAiBN,WAAA,CAAYI,OAAA,EAASG,GAAA,CAAI,CAACC,CAAA,EAAQC,CAAA,MAAe;MACtEC,OAAA,EAASF,CAAA,CAAEE,OAAA;MACXC,QAAA,EAAUH,CAAA,CAAEG,QAAA;MACZC,MAAA,EAAQJ,CAAA,CAAEI,MAAA;MACV,IAAIX,iBAAA,IAAqBQ,CAAA,KAAMN,cAAA,GAAiB,CAAC,IAAI;QAAED,UAAA,EAAYM,CAAA,CAAEN;MAAW;IAClF,EAAE;IAEF,MAAMW,aAAA,GAAgB;MACpB,GAAGb,WAAA;MACHI,OAAA,EAASE,cAAA;MACTQ,cAAA,EAAgBf,WAAA,EAAaM,MAAA,IAAU;MAAA;MAAA;MAGvCU,cAAA,EAAgB/B;IAClB;IAEA,OACE,eAAAE,GAAA,CAAC;MACCK,KAAA,EAAK;MAELC,IAAA,EAAMV,kBAAA;MACNW,wBAAA,EAAwB;MACxBC,uBAAA,EAAyB;QACvBC,MAAA,EAAQ;AAAA,4BACUb,kBAAkB,QAAQC,iBAAA,CAAkB8B,aAAa,CAAC;AAAA,oDAClC9B,iBAAA,CAAkBc,OAAO,CAAC;AAAA;MAEtE;IAAA,CACF;EAEJ;EAEA,OAAO;AACT","ignoreList":[]}
|
|
@@ -24,13 +24,14 @@ function ServerContextScript() {
|
|
|
24
24
|
cssContents,
|
|
25
25
|
...restContext
|
|
26
26
|
} = context || {};
|
|
27
|
+
var hasLeafLoaderData = restContext.loaderData !== void 0;
|
|
27
28
|
var lastMatchIndex = ((_ref = (_restContext_matches = restContext.matches) === null || _restContext_matches === void 0 ? void 0 : _restContext_matches.length) !== null && _ref !== void 0 ? _ref : 0) - 1;
|
|
28
29
|
var compactMatches = (_restContext_matches1 = restContext.matches) === null || _restContext_matches1 === void 0 ? void 0 : _restContext_matches1.map(function (m, i) {
|
|
29
30
|
return {
|
|
30
31
|
routeId: m.routeId,
|
|
31
32
|
pathname: m.pathname,
|
|
32
33
|
params: m.params,
|
|
33
|
-
...(i === lastMatchIndex ? {} : {
|
|
34
|
+
...(hasLeafLoaderData && i === lastMatchIndex ? {} : {
|
|
34
35
|
loaderData: m.loaderData
|
|
35
36
|
})
|
|
36
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","SERVER_CONTEXT_KEY","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","_ref","_restContext_matches","_restContext_matches1","context","cssUrls","css","cssContents","restContext","lastMatchIndex","matches","length","compactMatches","map","m","i","routeId","pathname","params","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","SERVER_CONTEXT_KEY","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","_ref","_restContext_matches","_restContext_matches1","context","cssUrls","css","cssContents","restContext","hasLeafLoaderData","loaderData","lastMatchIndex","matches","length","compactMatches","map","m","i","routeId","pathname","params","clientContext","cssInlineCount","postRenderData"],"sources":["../../../src/server/ServerContextScript.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,2BAA0B;AACnC,SAASC,kBAAA,QAAyB;AAClC,SAASC,iBAAA,uCAAyC;AAClD,SAASC,iCAAwB;AAK3B,SAAAC,gBAAA;AAHC,SAASC,oBAAA,EAAsB;EACpC,IAAIC,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB,UAAU;IAC7C,OACE,eAAAR,IAAA;MAACS,KAAA;MAAA;MAAAC,IACC,EAAAT,kBAAK;MAAAU,wBAEC;MAAAC,uBACN;QACAC,MAAA;MAAyB;IACf;EACV;EAAA,IACFP,OAAA,CAAAC,GAAA,CAAAC,gBAAA;IAEJ,IAAAM,IAAA;IAEA,IAAIC,oBAAY,EAAAC,qBAA4B;IAC1C,IAAAC,OAAM,GAAAb,gBAAU;IAChB,IAAAc,OAAM,IAAAD,OAAU,KAAS,QAAQA,OAAA,uBAAAA,OAAA,CAAAE,GAAA;IAGjC;MAAMC,WAAE;MAAA,GAAaC;IAAG,IAAYJ,OAAI,MAAW;IAQnD,IAAAK,iBAAM,GAAAD,WAAoB,CAAAE,UAAY,UAAe;IACrD,IAAAC,cAAM,KAAAV,IAAkB,IAAAC,oBAAqB,GAAAM,WAAe,CAAAI,OAAA,cAAAV,oBAAA,uBAAAA,oBAAA,CAAAW,MAAA,cAAAZ,IAAA,cAAAA,IAAA;IAC5D,IAAAa,cAAM,IAAAX,qBAA6B,GAASK,WAAa,CAAAI,OAAe,cAAAT,qBAAA,uBAAAA,qBAAA,CAAAY,GAAA,WAAAC,CAAA,EAAAC,CAAA;MACtE;QACAC,OAAA,EAAUF,CAAE,CAAAE,OAAA;QACZC,QAAU,EAAAH,CAAA,CAAAG,QAAA;QACVC,MAAI,EAAAJ,CAAA,CAAAI,MAAA;QACJ,IAAAX,iBAAA,IAAAQ,CAAA,KAAAN,cAAA;UAEID,UAAA,EAAAM,CAAA,CAAAN;QACJ,CAAG;MACH;IAAS,EACT;IAAuC,IAAAW,aAAA;MAAA,GAAAb,WAAA;MAGvCI,OAAA,EAAAE,cAAgB;MAClBQ,cAAA,GAAAf,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAAM,MAAA;MAEA;MACG;MAAAU,cAAA,EAAAjC;IAAA;IACM,OAEL,eAAMH,IAAA;MAAAS,KACN;MAAwB;MACCC,IACvB,EAAAT,kBAAQ;MAAAU,wBACU;MAA0DC,uBAAA;QACRC,MAAA;AAAA,4BAEtEZ,kBAAA,QAAAC,iBAAA,CAAAgC,aAAA;AAAA,oDAAAhC,iBAAA,CAAAgB,OAAA;AAAA;MAGN;IAEA;EACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","vi","isChunkLoadError","loadWithRetry","instantDelay","Promise","resolve","chunkError","Error","drain","r","setTimeout","toBe","loader","fn","mockResolvedValue","default","delay","onChunkErrorExhausted","resolves","toEqual","toHaveBeenCalledTimes","not","toHaveBeenCalled","mockRejectedValueOnce","attempts","mockRejectedValue","settled","then","rejects","toThrow"],"sources":["../../../src/utils/dynamicImport.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AACzC,SAASC,gBAAA,EAAkBC,aAAA,QAAqB;AAEhD,MAAMC,YAAA,GAAeA,CAAA,KAAMC,OAAA,CAAQC,OAAA,CAAQ;AAC3C,MAAMC,UAAA,GAAaA,CAAA,KACjB,IAAIC,KAAA,CAAM,oEAAoE;AAIhF,MAAMC,KAAA,GAAQA,CAAA,KAAM,IAAIJ,OAAA,CAASK,CAAA,IAAMC,UAAA,CAAWD,CAAA,EAAG,CAAC,CAAC;AAEvDZ,QAAA,CAAS,oBAAoB,MAAM;EACjCE,EAAA,CAAG,2EAA2E,MAAM;IAClFD,MAAA,
|
|
1
|
+
{"version":3,"names":["describe","expect","it","vi","isChunkLoadError","loadWithRetry","instantDelay","Promise","resolve","chunkError","Error","drain","r","setTimeout","toBe","loader","fn","mockResolvedValue","default","delay","onChunkErrorExhausted","resolves","toEqual","toHaveBeenCalledTimes","not","toHaveBeenCalled","mockRejectedValueOnce","attempts","mockRejectedValue","settled","then","rejects","toThrow"],"sources":["../../../src/utils/dynamicImport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","vi","isChunkLoadError","loadWithRetry","instantDelay","Promise","resolve","chunkError","Error","drain","r","setTimeout","toBe","loader","fn","mockResolvedValue","default","delay","onChunkErrorExhausted","resolves","toEqual","toHaveBeenCalledTimes","not","toHaveBeenCalled","mockRejectedValueOnce","attempts","mockRejectedValue","settled","then"],"sources":["../../../src/utils/dynamicImport.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AACzC,SAASC,gBAAA,EAAkBC,aAAA,QAAqB;AAEhD,IAAAC,YAAM,YAAAA,CAAA,EAAqB;EAC3B,OAAMC,OAAA,CAAAC,OAAa,CACjB;AAIF;AAEA,IAAAC,UAAS,YAAAA,CAAA;EACP,OAAG,IAAAC,KAAA,qEAAiF;AAClF;
|
|
1
|
+
{"version":3,"names":["describe","expect","it","vi","isChunkLoadError","loadWithRetry","instantDelay","Promise","resolve","chunkError","Error","drain","r","setTimeout","toBe","loader","fn","mockResolvedValue","default","delay","onChunkErrorExhausted","resolves","toEqual","toHaveBeenCalledTimes","not","toHaveBeenCalled","mockRejectedValueOnce","attempts","mockRejectedValue","settled","then"],"sources":["../../../src/utils/dynamicImport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.11",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"setup.mjs",
|
|
@@ -186,18 +186,18 @@
|
|
|
186
186
|
"@cloudflare/vite-plugin": "^1.33.1",
|
|
187
187
|
"@swc/core": "^1.14.0",
|
|
188
188
|
"@ungap/structured-clone": "^1.2.0",
|
|
189
|
-
"@vxrn/color-scheme": "1.17.
|
|
190
|
-
"@vxrn/compiler": "1.17.
|
|
191
|
-
"@vxrn/resolve": "1.17.
|
|
192
|
-
"@vxrn/tslib-lite": "1.17.
|
|
193
|
-
"@vxrn/use-isomorphic-layout-effect": "1.17.
|
|
194
|
-
"@vxrn/vite-plugin-metro": "1.17.
|
|
189
|
+
"@vxrn/color-scheme": "1.17.11",
|
|
190
|
+
"@vxrn/compiler": "1.17.11",
|
|
191
|
+
"@vxrn/resolve": "1.17.11",
|
|
192
|
+
"@vxrn/tslib-lite": "1.17.11",
|
|
193
|
+
"@vxrn/use-isomorphic-layout-effect": "1.17.11",
|
|
194
|
+
"@vxrn/vite-plugin-metro": "1.17.11",
|
|
195
195
|
"babel-dead-code-elimination": "1.0.10",
|
|
196
196
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
197
197
|
"babel-preset-expo": "*",
|
|
198
198
|
"citty": "^0.1.6",
|
|
199
199
|
"core-js": "^3.38.1",
|
|
200
|
-
"create-vxrn": "1.17.
|
|
200
|
+
"create-vxrn": "1.17.11",
|
|
201
201
|
"escape-string-regexp": "^5.0.0",
|
|
202
202
|
"expo-linking": "~55.0.7",
|
|
203
203
|
"expo-modules-core": "~55.0.16",
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
"tsconfig-paths": "^4",
|
|
218
218
|
"use-latest-callback": "^0.2.3",
|
|
219
219
|
"vite": "^8.0.13",
|
|
220
|
-
"vxrn": "1.17.
|
|
220
|
+
"vxrn": "1.17.11",
|
|
221
221
|
"ws": "^8.18.0",
|
|
222
222
|
"xxhashjs": "^0.2.2"
|
|
223
223
|
},
|
|
@@ -280,6 +280,7 @@
|
|
|
280
280
|
"react": "19.2.0",
|
|
281
281
|
"react-dom": "19.2.0",
|
|
282
282
|
"react-native": "0.83.2",
|
|
283
|
+
"react-test-renderer": "^19.2.0",
|
|
283
284
|
"rolldown": "^1.0.1",
|
|
284
285
|
"sharp": "^0.34.5",
|
|
285
286
|
"typescript": "^5.7.3",
|
|
@@ -24,9 +24,31 @@ export type NativeStackNavigationOptions = {
|
|
|
24
24
|
header?: () => any
|
|
25
25
|
animation?: string
|
|
26
26
|
gestureEnabled?: boolean
|
|
27
|
+
presentation?:
|
|
28
|
+
| 'card'
|
|
29
|
+
| 'modal'
|
|
30
|
+
| 'transparentModal'
|
|
31
|
+
| 'containedModal'
|
|
32
|
+
| 'containedTransparentModal'
|
|
33
|
+
| 'fullScreenModal'
|
|
34
|
+
| 'formSheet'
|
|
35
|
+
| 'pageSheet'
|
|
36
|
+
sheetAllowedDetents?: number[] | 'fitToContents'
|
|
37
|
+
sheetGrabberVisible?: boolean
|
|
38
|
+
sheetCornerRadius?: number
|
|
39
|
+
sheetInitialDetentIndex?: number | 'last'
|
|
40
|
+
sheetLargestUndimmedDetentIndex?: number | 'none' | 'last'
|
|
41
|
+
sheetExpandsWhenScrolledToEdge?: boolean
|
|
27
42
|
}
|
|
28
43
|
|
|
44
|
+
export type NativeStackNavigationEventMap = Record<string, any>
|
|
45
|
+
|
|
29
46
|
export const createNativeStackNavigator = () => ({
|
|
30
47
|
Navigator: () => null,
|
|
31
48
|
Screen: () => null,
|
|
32
49
|
})
|
|
50
|
+
|
|
51
|
+
// Stub used by WebStackView in tests — just renders nothing for the
|
|
52
|
+
// non-overlay portion of the stack. The tests only assert the overlay
|
|
53
|
+
// dispatch behavior.
|
|
54
|
+
export const NativeStackView = (_props: any) => null
|
package/src/constants.test.ts
CHANGED
|
@@ -34,22 +34,26 @@ describe('CACHE_KEY pinning', () => {
|
|
|
34
34
|
it('PRELOAD_JS_POSTFIX_REGEX matches the literal postfix shape with any digits', () => {
|
|
35
35
|
constants.setCacheKey('12345')
|
|
36
36
|
|
|
37
|
-
expect(constants.PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_12345_preload.js')).toBe(
|
|
37
|
+
expect(constants.PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_12345_preload.js')).toBe(
|
|
38
|
+
true
|
|
39
|
+
)
|
|
38
40
|
// also matches a drifted key — the whole point of the regex fallback
|
|
39
|
-
expect(constants.PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_98765_preload.js')).toBe(
|
|
41
|
+
expect(constants.PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_98765_preload.js')).toBe(
|
|
42
|
+
true
|
|
43
|
+
)
|
|
40
44
|
// does not match unrelated paths
|
|
41
45
|
expect(constants.PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_preload.js')).toBe(false)
|
|
42
|
-
expect(
|
|
43
|
-
|
|
44
|
-
)
|
|
46
|
+
expect(
|
|
47
|
+
constants.PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_12345_preload_css.js')
|
|
48
|
+
).toBe(false)
|
|
45
49
|
})
|
|
46
50
|
|
|
47
51
|
it('CSS_PRELOAD_JS_POSTFIX_REGEX matches only the css variant', () => {
|
|
48
52
|
expect(
|
|
49
53
|
constants.CSS_PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_12345_preload_css.js')
|
|
50
54
|
).toBe(true)
|
|
51
|
-
expect(
|
|
52
|
-
|
|
53
|
-
)
|
|
55
|
+
expect(
|
|
56
|
+
constants.CSS_PRELOAD_JS_POSTFIX_REGEX.test('/assets/foo_12345_preload.js')
|
|
57
|
+
).toBe(false)
|
|
54
58
|
})
|
|
55
59
|
})
|
|
@@ -40,8 +40,25 @@ vi.mock('./vite/getManifest', () => ({
|
|
|
40
40
|
type: 'ssr',
|
|
41
41
|
middlewares: [],
|
|
42
42
|
},
|
|
43
|
+
{
|
|
44
|
+
file: 'app/+not-found.tsx',
|
|
45
|
+
page: '/+not-found',
|
|
46
|
+
namedRegex: '^/(?<nxtPnotfound>.+?)(?:/)?$',
|
|
47
|
+
routeKeys: { nxtPnotfound: 'not-found' },
|
|
48
|
+
type: 'spa',
|
|
49
|
+
middlewares: [],
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
apiRoutes: [
|
|
53
|
+
{
|
|
54
|
+
file: 'app/api/github/agent/run.sh+api.ts',
|
|
55
|
+
page: '/api/github/agent/run.sh',
|
|
56
|
+
namedRegex: '^/api/github/agent/run\\.sh(?:/)?$',
|
|
57
|
+
routeKeys: {},
|
|
58
|
+
type: 'api',
|
|
59
|
+
middlewares: [],
|
|
60
|
+
},
|
|
43
61
|
],
|
|
44
|
-
apiRoutes: [],
|
|
45
62
|
}),
|
|
46
63
|
}))
|
|
47
64
|
|
|
@@ -105,15 +122,42 @@ describe('createHandleRequest', () => {
|
|
|
105
122
|
expect(mockHandlers.handlePage).not.toHaveBeenCalled()
|
|
106
123
|
})
|
|
107
124
|
|
|
108
|
-
it('should
|
|
125
|
+
it('should skip common static extensions longer than 4 chars', async () => {
|
|
109
126
|
const { handler } = createHandleRequest(mockHandlers, { routerRoot: '/app' })
|
|
110
|
-
await handler(createRequest('/
|
|
111
|
-
expect(
|
|
127
|
+
const result = await handler(createRequest('/font.woff2'))
|
|
128
|
+
expect(result).toBeNull()
|
|
129
|
+
expect(mockHandlers.handlePage).not.toHaveBeenCalled()
|
|
112
130
|
})
|
|
113
131
|
|
|
114
|
-
it('should
|
|
132
|
+
it('should not render a user +not-found page for sourcemap requests', async () => {
|
|
115
133
|
const { handler } = createHandleRequest(mockHandlers, { routerRoot: '/app' })
|
|
116
|
-
await handler(createRequest('/
|
|
134
|
+
const result = await handler(createRequest('/deps-web/react-BwkDMLyL.js.map'))
|
|
135
|
+
expect(result).toBeNull()
|
|
136
|
+
expect(mockHandlers.handlePage).not.toHaveBeenCalled()
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
it('should still route static-looking API paths', async () => {
|
|
140
|
+
const mockHandlersWithAPI = {
|
|
141
|
+
handlePage: vi.fn().mockResolvedValue('<html></html>'),
|
|
142
|
+
handleAPI: vi.fn().mockResolvedValue({
|
|
143
|
+
GET: () => new Response('script'),
|
|
144
|
+
}),
|
|
145
|
+
}
|
|
146
|
+
const { handler } = createHandleRequest(mockHandlersWithAPI, {
|
|
147
|
+
routerRoot: '/app',
|
|
148
|
+
})
|
|
149
|
+
const result = (await handler(
|
|
150
|
+
createRequest('/api/github/agent/run.sh')
|
|
151
|
+
)) as Response | null
|
|
152
|
+
expect(result).not.toBeNull()
|
|
153
|
+
expect(await result!.text()).toBe('script')
|
|
154
|
+
expect(mockHandlersWithAPI.handleAPI).toHaveBeenCalled()
|
|
155
|
+
expect(mockHandlersWithAPI.handlePage).not.toHaveBeenCalled()
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
it('should not skip non-static extensions in route names', async () => {
|
|
159
|
+
const { handler } = createHandleRequest(mockHandlers, { routerRoot: '/app' })
|
|
160
|
+
await handler(createRequest('/route.normal'))
|
|
117
161
|
expect(mockHandlers.handlePage).toHaveBeenCalled()
|
|
118
162
|
})
|
|
119
163
|
|
|
@@ -27,6 +27,13 @@ type RequestHandlerProps<RouteExtraProps extends object = {}> = {
|
|
|
27
27
|
type RequestHandlerResponse = null | string | Response
|
|
28
28
|
|
|
29
29
|
const debugRouter = process.env.ONE_DEBUG_ROUTER
|
|
30
|
+
const staticAssetPathRe = /\.(?:[a-z0-9]{2,4}|webmanifest|wasm|woff2)$/i
|
|
31
|
+
|
|
32
|
+
function isStaticAssetRequestPath(pathname: string): boolean {
|
|
33
|
+
return (
|
|
34
|
+
!pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED) && staticAssetPathRe.test(pathname)
|
|
35
|
+
)
|
|
36
|
+
}
|
|
30
37
|
|
|
31
38
|
// ensure handler results are always a proper Response so middleware
|
|
32
39
|
// can safely use response.body / response.headers / new Response(response.body, ...)
|
|
@@ -396,11 +403,7 @@ export function createHandleRequest(
|
|
|
396
403
|
return null
|
|
397
404
|
}
|
|
398
405
|
|
|
399
|
-
|
|
400
|
-
// excludes loader paths which end with _vxrn_loader.js
|
|
401
|
-
const looksLikeStaticFile =
|
|
402
|
-
!pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED) &&
|
|
403
|
-
/\.[a-zA-Z0-9]{2,4}$/.test(pathname)
|
|
406
|
+
const looksLikeStaticFile = isStaticAssetRequestPath(pathname)
|
|
404
407
|
|
|
405
408
|
if (handlers.handleAPI) {
|
|
406
409
|
const apiRoute = compiledManifest.apiRoutes.find((route) => {
|
|
@@ -486,36 +489,35 @@ export function createHandleRequest(
|
|
|
486
489
|
continue
|
|
487
490
|
}
|
|
488
491
|
|
|
489
|
-
//
|
|
490
|
-
//
|
|
491
|
-
//
|
|
492
|
+
// static asset requests (sourcemaps, favicons, fonts, …) should not
|
|
493
|
+
// SSR the user's +not-found page or hijack a dynamic route. for
|
|
494
|
+
// +not-found we still run middleware so it can intercept, then
|
|
495
|
+
// short-circuit to a bare 404 instead of rendering the page tree.
|
|
492
496
|
const isDynamicRoute = Object.keys(route.routeKeys).length > 0
|
|
493
497
|
const isNotFoundRoute = route.page.endsWith('/+not-found')
|
|
494
|
-
if (looksLikeStaticFile &&
|
|
498
|
+
if (looksLikeStaticFile && isNotFoundRoute) {
|
|
495
499
|
if (debugRouter) {
|
|
496
500
|
console.info(
|
|
497
|
-
`[one] ⚡ ${pathname} →
|
|
501
|
+
`[one] ⚡ ${pathname} → bare 404 for static probe on ${route.page}`
|
|
498
502
|
)
|
|
499
503
|
}
|
|
500
|
-
|
|
504
|
+
if (!route.middlewares?.length) {
|
|
505
|
+
return null
|
|
506
|
+
}
|
|
507
|
+
return await runMiddlewares(handlers, request, route, async () => {
|
|
508
|
+
return new Response(null, {
|
|
509
|
+
status: 404,
|
|
510
|
+
headers: { 'Content-Type': 'text/plain' },
|
|
511
|
+
})
|
|
512
|
+
})
|
|
501
513
|
}
|
|
502
|
-
|
|
503
|
-
// static-looking probes (sourcemaps, .well-known, favicons) that
|
|
504
|
-
// only match the auto-generated placeholder +not-found (route.file
|
|
505
|
-
// is '' — no user-defined +not-found page exists) should get a bare
|
|
506
|
-
// 404 rather than a full SSR render. browser devtools & crawlers
|
|
507
|
-
// want a status code, not an HTML shell, and rendering the layout
|
|
508
|
-
// tree for every probe is wasteful.
|
|
509
|
-
if (looksLikeStaticFile && route.file === '') {
|
|
514
|
+
if (looksLikeStaticFile && isDynamicRoute) {
|
|
510
515
|
if (debugRouter) {
|
|
511
516
|
console.info(
|
|
512
|
-
`[one] ⚡ ${pathname} →
|
|
517
|
+
`[one] ⚡ ${pathname} → skipping dynamic route ${route.page} for static asset`
|
|
513
518
|
)
|
|
514
519
|
}
|
|
515
|
-
|
|
516
|
-
status: 404,
|
|
517
|
-
headers: { 'Content-Type': 'text/plain' },
|
|
518
|
-
})
|
|
520
|
+
continue
|
|
519
521
|
}
|
|
520
522
|
|
|
521
523
|
if (debugRouter) {
|