one 1.26.0 → 2.0.0-beta.33.1
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.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/__tests__/polyfills-mobile.test.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/prebuild.test.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/serverRouteModules.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/createApp.native.js +25 -1
- package/dist/cjs/createApp.native.js.map +1 -1
- package/dist/cjs/createDevHandleRequest.native.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- 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.cjs +1 -1
- package/dist/cjs/fallbackViews/Sitemap.native.js +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.cjs +25 -51
- package/dist/cjs/fork/NavigationContainer.native.js +29 -56
- package/dist/cjs/fork/NavigationContainer.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/useLinking.cjs +18 -15
- package/dist/cjs/fork/useLinking.native.js +12 -21
- package/dist/cjs/fork/useLinking.native.js.map +1 -1
- package/dist/cjs/fork/useLinking.native.test.cjs +1 -1
- package/dist/cjs/fork/useLinking.native.test.native.js +1 -1
- package/dist/cjs/fork/useLinking.native.test.native.js.map +1 -1
- package/dist/cjs/fork/useThenable.native.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.cjs +9 -2
- package/dist/cjs/fork/validatePathConfig.native.js +9 -2
- package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
- package/dist/cjs/getReactNavigationConfig.cjs +49 -4
- package/dist/cjs/getReactNavigationConfig.native.js +55 -4
- package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
- package/dist/cjs/getURL.native.test.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/Presentations.native.js.map +1 -1
- package/dist/cjs/headless/__tests__/useStack.test.cjs +7 -15
- package/dist/cjs/headless/__tests__/useStack.test.native.js +7 -15
- package/dist/cjs/headless/__tests__/useStack.test.native.js.map +1 -1
- package/dist/cjs/headless/children.native.js.map +1 -1
- package/dist/cjs/headless/keepMounted.native.js.map +1 -1
- package/dist/cjs/headless/types.native.js.map +1 -1
- package/dist/cjs/headless/useDrawer.native.js.map +1 -1
- package/dist/cjs/headless/useStack.cjs +1 -2
- package/dist/cjs/headless/useStack.native.js +1 -2
- package/dist/cjs/headless/useStack.native.js.map +1 -1
- package/dist/cjs/headless/useTabs.native.js.map +1 -1
- package/dist/cjs/headless-server.native.js.map +1 -1
- 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.native.js +1 -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.native.js.map +1 -1
- package/dist/cjs/layouts/Stack.cjs +9 -12
- package/dist/cjs/layouts/Stack.native.js +11 -14
- package/dist/cjs/layouts/Stack.native.js.map +1 -1
- package/dist/cjs/layouts/Tabs.native.js +3 -84
- package/dist/cjs/layouts/Tabs.native.js.map +1 -1
- package/dist/cjs/layouts/nativeTabsOptions.cjs +49 -0
- package/dist/cjs/layouts/nativeTabsOptions.native.js +52 -0
- package/dist/cjs/layouts/nativeTabsOptions.native.js.map +1 -0
- package/dist/cjs/layouts/stack-navigator.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.cjs +4 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js +4 -1
- 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.cjs +2 -2
- package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js +2 -2
- package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.cjs +3 -6
- package/dist/cjs/layouts/stack-utils/StackScreen.native.js +4 -7
- package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +14 -14
- package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +14 -14
- package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/index.cjs +0 -2
- package/dist/cjs/layouts/stack-utils/index.native.js +0 -2
- package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.cjs +0 -1
- package/dist/cjs/layouts/withLayoutContext.native.js +0 -1
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.test.cjs +18 -0
- package/dist/cjs/layouts/withLayoutContext.test.native.js +24 -0
- package/dist/cjs/layouts/withLayoutContext.test.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/Redirect.test.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/buildOneMetroResolverOverrides.test.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-transforms.native.js.map +1 -1
- package/dist/cjs/notFoundState.native.js.map +1 -1
- package/dist/cjs/package-exports.test.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.cjs +10 -3
- package/dist/cjs/router/Route.native.js +13 -3
- 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/conditionalSlotPathname.test.native.js.map +1 -1
- package/dist/cjs/router/createRoute.native.js.map +1 -1
- package/dist/cjs/router/diagnoseRouteLoadFailure.native.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
- package/dist/cjs/router/findRouteNode.cjs +10 -10
- package/dist/cjs/router/findRouteNode.native.js +13 -29
- package/dist/cjs/router/findRouteNode.native.js.map +1 -1
- package/dist/cjs/router/findRouteNode.test.cjs +88 -0
- package/dist/cjs/router/findRouteNode.test.native.js +94 -0
- package/dist/cjs/router/findRouteNode.test.native.js.map +1 -0
- package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.test.cjs +9 -0
- package/dist/cjs/router/getLinkingConfig.test.native.js +9 -0
- package/dist/cjs/router/getLinkingConfig.test.native.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.cjs +2 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js +2 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/getRouteArtifactPath.native.js.map +1 -1
- package/dist/cjs/router/getRouteArtifactPath.test.native.js.map +1 -1
- package/dist/cjs/router/getRouteInfo.cjs +6 -2
- package/dist/cjs/router/getRouteInfo.native.js +6 -2
- package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
- package/dist/cjs/router/getRouteInfo.test.cjs +56 -0
- package/dist/cjs/router/getRouteInfo.test.native.js +65 -0
- package/dist/cjs/router/getRouteInfo.test.native.js.map +1 -0
- 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/hmrImport.native.test.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.cjs +1 -1
- package/dist/cjs/router/isIndexPath.native.js +2 -1
- package/dist/cjs/router/isIndexPath.native.js.map +1 -1
- package/dist/cjs/router/isStateAwaitingNavigatorMount.cjs +2 -1
- package/dist/cjs/router/isStateAwaitingNavigatorMount.native.js +2 -1
- package/dist/cjs/router/isStateAwaitingNavigatorMount.native.js.map +1 -1
- package/dist/cjs/router/lastAction.native.js.map +1 -1
- package/dist/cjs/router/linkToOrphaned.test.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/path.cjs +1 -0
- package/dist/cjs/router/path.native.js +1 -0
- package/dist/cjs/router/path.native.js.map +1 -1
- package/dist/cjs/router/path.test.native.js.map +1 -1
- package/dist/cjs/router/protectedRoutes.test.native.js.map +1 -1
- package/dist/cjs/router/routeHmr.native.js +2 -5
- package/dist/cjs/router/routeHmr.native.js.map +1 -1
- package/dist/cjs/router/routeHmr.native.test.cjs +23 -9
- package/dist/cjs/router/routeHmr.native.test.native.js +27 -9
- package/dist/cjs/router/routeHmr.native.test.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +12 -14
- package/dist/cjs/router/router.native.js +13 -14
- 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/useInitializeOneRouter.preview-lifecycle.test.native.js.map +1 -1
- package/dist/cjs/router/useNavigation.cjs +30 -8
- package/dist/cjs/router/useNavigation.native.js +32 -8
- package/dist/cjs/router/useNavigation.native.js.map +1 -1
- package/dist/cjs/router/useScreens.cjs +19 -21
- package/dist/cjs/router/useScreens.native.js +19 -21
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/useScreens.test.cjs +78 -0
- package/dist/cjs/router/useScreens.test.native.js +88 -1
- package/dist/cjs/router/useScreens.test.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.cjs +3 -2
- package/dist/cjs/router/useViteRoutes.native.js +3 -2
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.test.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.cjs +2 -2
- package/dist/cjs/router/utils/getNavigateAction.native.js +5 -4
- package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.test.cjs +37 -6
- package/dist/cjs/router/utils/getNavigateAction.test.native.js +37 -6
- package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
- package/dist/cjs/router/web/WebStackNavigator.native.js.map +1 -1
- package/dist/cjs/router/web/WebStackView.cjs +1 -1
- package/dist/cjs/router/web/WebStackView.native.js +1 -1
- package/dist/cjs/router/web/WebStackView.native.js.map +1 -1
- package/dist/cjs/router/web/__tests__/stackStateUtils.test.cjs +21 -1
- package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js +23 -1
- package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js.map +1 -1
- package/dist/cjs/router/web/stackStateUtils.cjs +1 -1
- package/dist/cjs/router/web/stackStateUtils.native.js +1 -1
- package/dist/cjs/router/web/stackStateUtils.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.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/routeExportsFromEntry.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/workerHandler.test.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.cjs +3 -3
- package/dist/cjs/ui/Slot.native.js +1 -25
- 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.cjs +4 -5
- package/dist/cjs/ui/TabList.native.js +2 -15
- 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.cjs +3 -3
- package/dist/cjs/ui/TabSlot.native.js +11 -43
- package/dist/cjs/ui/TabSlot.native.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.cjs +3 -3
- package/dist/cjs/ui/TabTrigger.native.js +24 -22
- package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.cjs +9 -10
- package/dist/cjs/ui/Tabs.native.js +2 -9
- package/dist/cjs/ui/Tabs.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.shared.cjs +1 -4
- package/dist/cjs/ui/Tabs.shared.native.js +1 -4
- package/dist/cjs/ui/Tabs.shared.native.js.map +1 -1
- package/dist/cjs/ui/common.cjs +6 -5
- package/dist/cjs/ui/common.native.js +10 -7
- package/dist/cjs/ui/common.native.js.map +1 -1
- package/dist/cjs/ui/index.native.js +2 -4
- package/dist/cjs/ui/index.native.js.map +1 -1
- package/dist/cjs/ui/useComponent.native.js.map +1 -1
- package/dist/cjs/ui/useTabTrigger.native.js.map +1 -1
- package/dist/cjs/useFocusEffect.cjs +7 -1
- package/dist/cjs/useFocusEffect.native.js +9 -4
- 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/platform.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/routeIndex.native.js.map +1 -1
- package/dist/cjs/utils/routeIndex.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.cjs +2 -19
- package/dist/cjs/views/Navigator.native.js +2 -23
- package/dist/cjs/views/Navigator.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/RouteErrorView.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/ScrollBehavior.test.native.js.map +1 -1
- package/dist/cjs/views/SourceInspector.native.js.map +1 -1
- package/dist/cjs/views/SuspenseFallback.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/cloudflareWranglerConfig.native.js.map +1 -1
- package/dist/cjs/vite/cloudflareWranglerConfig.test.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/bundledDevPlugin.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/routeModuleHmrPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/routeModuleHmrPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +7 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +7 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +15 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +16 -0
- 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/plugins/workerdDevPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/workerdDevPlugin.test.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/createApp.native.js +25 -1
- package/dist/esm/createApp.native.js.map +1 -1
- package/dist/esm/fallbackViews/Sitemap.mjs +1 -1
- package/dist/esm/fallbackViews/Sitemap.mjs.map +1 -1
- package/dist/esm/fallbackViews/Sitemap.native.js +1 -1
- package/dist/esm/fallbackViews/Sitemap.native.js.map +1 -1
- package/dist/esm/fork/NavigationContainer.mjs +26 -52
- package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
- package/dist/esm/fork/NavigationContainer.native.js +30 -57
- package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState.mjs.map +1 -1
- package/dist/esm/fork/useLinking.mjs +18 -15
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/useLinking.native.js +12 -21
- package/dist/esm/fork/useLinking.native.js.map +1 -1
- package/dist/esm/fork/useLinking.native.test.js +12 -17
- package/dist/esm/fork/useLinking.native.test.js.map +1 -1
- package/dist/esm/fork/useLinking.native.test.mjs +2 -2
- package/dist/esm/fork/useLinking.native.test.mjs.map +1 -1
- package/dist/esm/fork/useLinking.native.test.native.js +1 -1
- package/dist/esm/fork/useLinking.native.test.native.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.mjs +9 -2
- package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.native.js +9 -2
- package/dist/esm/fork/validatePathConfig.native.js.map +1 -1
- package/dist/esm/getReactNavigationConfig.mjs +48 -5
- package/dist/esm/getReactNavigationConfig.mjs.map +1 -1
- package/dist/esm/getReactNavigationConfig.native.js +54 -5
- package/dist/esm/getReactNavigationConfig.native.js.map +1 -1
- package/dist/esm/getURL.native.test.mjs +1 -1
- package/dist/esm/headless/__tests__/useStack.test.mjs +7 -15
- package/dist/esm/headless/__tests__/useStack.test.mjs.map +1 -1
- package/dist/esm/headless/__tests__/useStack.test.native.js +7 -15
- package/dist/esm/headless/__tests__/useStack.test.native.js.map +1 -1
- package/dist/esm/headless/useStack.mjs +1 -2
- package/dist/esm/headless/useStack.mjs.map +1 -1
- package/dist/esm/headless/useStack.native.js +1 -2
- package/dist/esm/headless/useStack.native.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/interfaces/router.mjs.map +1 -1
- package/dist/esm/interfaces/router.native.js.map +1 -1
- package/dist/esm/layouts/Stack.mjs +10 -13
- package/dist/esm/layouts/Stack.mjs.map +1 -1
- package/dist/esm/layouts/Stack.native.js +11 -14
- package/dist/esm/layouts/Stack.native.js.map +1 -1
- package/dist/esm/layouts/Tabs.native.js +4 -74
- package/dist/esm/layouts/Tabs.native.js.map +1 -1
- package/dist/esm/layouts/nativeTabsOptions.mjs +24 -0
- package/dist/esm/layouts/nativeTabsOptions.mjs.map +1 -0
- package/dist/esm/layouts/nativeTabsOptions.native.js +24 -0
- package/dist/esm/layouts/nativeTabsOptions.native.js.map +1 -0
- package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs +4 -1
- package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js +4 -1
- package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs +2 -2
- package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js +2 -2
- package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/StackScreen.mjs +3 -6
- package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/StackScreen.native.js +4 -7
- package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +14 -14
- package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +14 -14
- package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/index.mjs +1 -2
- package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/index.native.js +1 -2
- package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs +0 -1
- package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js +0 -1
- package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.test.mjs +18 -0
- package/dist/esm/layouts/withLayoutContext.test.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.test.native.js +24 -0
- package/dist/esm/layouts/withLayoutContext.test.native.js.map +1 -1
- package/dist/esm/link/useLoadedNavigation.mjs.map +1 -1
- package/dist/esm/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/esm/router/Route.mjs +9 -3
- package/dist/esm/router/Route.mjs.map +1 -1
- package/dist/esm/router/Route.native.js +12 -3
- package/dist/esm/router/Route.native.js.map +1 -1
- package/dist/esm/router/findRouteNode.mjs +10 -10
- package/dist/esm/router/findRouteNode.mjs.map +1 -1
- package/dist/esm/router/findRouteNode.native.js +13 -29
- package/dist/esm/router/findRouteNode.native.js.map +1 -1
- package/dist/esm/router/findRouteNode.test.mjs +89 -0
- package/dist/esm/router/findRouteNode.test.mjs.map +1 -0
- package/dist/esm/router/findRouteNode.test.native.js +92 -0
- package/dist/esm/router/findRouteNode.test.native.js.map +1 -0
- package/dist/esm/router/getLinkingConfig.test.mjs +9 -0
- package/dist/esm/router/getLinkingConfig.test.mjs.map +1 -1
- package/dist/esm/router/getLinkingConfig.test.native.js +9 -0
- package/dist/esm/router/getLinkingConfig.test.native.js.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.mjs +2 -1
- package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.native.js +2 -1
- package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/esm/router/getRouteInfo.mjs +5 -2
- package/dist/esm/router/getRouteInfo.mjs.map +1 -1
- package/dist/esm/router/getRouteInfo.native.js +5 -2
- package/dist/esm/router/getRouteInfo.native.js.map +1 -1
- package/dist/esm/router/getRouteInfo.test.mjs +57 -0
- package/dist/esm/router/getRouteInfo.test.mjs.map +1 -0
- package/dist/esm/router/getRouteInfo.test.native.js +63 -0
- package/dist/esm/router/getRouteInfo.test.native.js.map +1 -0
- package/dist/esm/router/hmrImport.native.test.mjs +1 -1
- package/dist/esm/router/isIndexPath.mjs +1 -1
- package/dist/esm/router/isIndexPath.mjs.map +1 -1
- package/dist/esm/router/isIndexPath.native.js +2 -1
- package/dist/esm/router/isIndexPath.native.js.map +1 -1
- package/dist/esm/router/isStateAwaitingNavigatorMount.mjs +2 -1
- package/dist/esm/router/isStateAwaitingNavigatorMount.mjs.map +1 -1
- package/dist/esm/router/isStateAwaitingNavigatorMount.native.js +2 -1
- package/dist/esm/router/isStateAwaitingNavigatorMount.native.js.map +1 -1
- package/dist/esm/router/path.mjs +1 -1
- package/dist/esm/router/path.mjs.map +1 -1
- package/dist/esm/router/path.native.js +1 -1
- package/dist/esm/router/path.native.js.map +1 -1
- package/dist/esm/router/routeHmr.native.js +2 -5
- package/dist/esm/router/routeHmr.native.js.map +1 -1
- package/dist/esm/router/routeHmr.native.test.js +21 -11
- package/dist/esm/router/routeHmr.native.test.js.map +1 -1
- package/dist/esm/router/routeHmr.native.test.mjs +24 -10
- package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
- package/dist/esm/router/routeHmr.native.test.native.js +27 -9
- package/dist/esm/router/routeHmr.native.test.native.js.map +1 -1
- package/dist/esm/router/router.mjs +11 -13
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +12 -13
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useInitializeOneRouter.mjs.map +1 -1
- package/dist/esm/router/useInitializeOneRouter.native.js.map +1 -1
- package/dist/esm/router/useNavigation.mjs +32 -11
- package/dist/esm/router/useNavigation.mjs.map +1 -1
- package/dist/esm/router/useNavigation.native.js +34 -11
- package/dist/esm/router/useNavigation.native.js.map +1 -1
- package/dist/esm/router/useScreens.mjs +19 -20
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +19 -20
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/router/useScreens.test.mjs +76 -0
- package/dist/esm/router/useScreens.test.mjs.map +1 -1
- package/dist/esm/router/useScreens.test.native.js +86 -0
- package/dist/esm/router/useScreens.test.native.js.map +1 -1
- package/dist/esm/router/useViteRoutes.mjs +3 -2
- package/dist/esm/router/useViteRoutes.mjs.map +1 -1
- package/dist/esm/router/useViteRoutes.native.js +3 -2
- package/dist/esm/router/useViteRoutes.native.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.mjs +2 -2
- package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.native.js +5 -4
- package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.test.mjs +37 -6
- package/dist/esm/router/utils/getNavigateAction.test.mjs.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.test.native.js +37 -6
- package/dist/esm/router/utils/getNavigateAction.test.native.js.map +1 -1
- package/dist/esm/router/web/WebStackView.mjs +1 -1
- package/dist/esm/router/web/WebStackView.mjs.map +1 -1
- package/dist/esm/router/web/WebStackView.native.js +1 -1
- package/dist/esm/router/web/WebStackView.native.js.map +1 -1
- package/dist/esm/router/web/__tests__/stackStateUtils.test.mjs +21 -1
- package/dist/esm/router/web/__tests__/stackStateUtils.test.mjs.map +1 -1
- package/dist/esm/router/web/__tests__/stackStateUtils.test.native.js +23 -1
- package/dist/esm/router/web/__tests__/stackStateUtils.test.native.js.map +1 -1
- package/dist/esm/router/web/stackStateUtils.mjs +1 -1
- package/dist/esm/router/web/stackStateUtils.mjs.map +1 -1
- package/dist/esm/router/web/stackStateUtils.native.js +1 -1
- package/dist/esm/router/web/stackStateUtils.native.js.map +1 -1
- package/dist/esm/ui/Slot.mjs.map +1 -1
- package/dist/esm/ui/Slot.native.js +1 -25
- package/dist/esm/ui/Slot.native.js.map +1 -1
- package/dist/esm/ui/TabContext.mjs.map +1 -1
- package/dist/esm/ui/TabContext.native.js.map +1 -1
- package/dist/esm/ui/TabList.mjs +1 -2
- package/dist/esm/ui/TabList.mjs.map +1 -1
- package/dist/esm/ui/TabList.native.js +2 -15
- package/dist/esm/ui/TabList.native.js.map +1 -1
- package/dist/esm/ui/TabSlot.mjs.map +1 -1
- package/dist/esm/ui/TabSlot.native.js +12 -44
- package/dist/esm/ui/TabSlot.native.js.map +1 -1
- package/dist/esm/ui/TabTrigger.mjs.map +1 -1
- package/dist/esm/ui/TabTrigger.native.js +25 -23
- package/dist/esm/ui/TabTrigger.native.js.map +1 -1
- package/dist/esm/ui/Tabs.mjs +1 -2
- package/dist/esm/ui/Tabs.mjs.map +1 -1
- package/dist/esm/ui/Tabs.native.js +2 -9
- package/dist/esm/ui/Tabs.native.js.map +1 -1
- package/dist/esm/ui/Tabs.shared.mjs +1 -4
- package/dist/esm/ui/Tabs.shared.mjs.map +1 -1
- package/dist/esm/ui/Tabs.shared.native.js +1 -4
- package/dist/esm/ui/Tabs.shared.native.js.map +1 -1
- package/dist/esm/ui/common.mjs +6 -5
- package/dist/esm/ui/common.mjs.map +1 -1
- package/dist/esm/ui/common.native.js +10 -7
- package/dist/esm/ui/common.native.js.map +1 -1
- package/dist/esm/ui/index.native.js +1 -1
- package/dist/esm/ui/index.native.js.map +1 -1
- package/dist/esm/useFocusEffect.mjs +8 -2
- package/dist/esm/useFocusEffect.mjs.map +1 -1
- package/dist/esm/useFocusEffect.native.js +10 -5
- package/dist/esm/useFocusEffect.native.js.map +1 -1
- package/dist/esm/views/Navigator.mjs +2 -19
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js +2 -23
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +7 -2
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +7 -2
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +16 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +17 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
- package/package.json +32 -47
- package/src/__mocks__/@react-navigation/native-stack.ts +2 -2
- package/src/createApp.native.tsx +23 -1
- package/src/fallbackViews/Sitemap.tsx +1 -1
- package/src/fallbackViews/Sitemap.web.tsx +1 -1
- package/src/fork/NavigationContainer.tsx +36 -80
- package/src/fork/getPathFromState.ts +3 -3
- package/src/fork/useLinking.native.test.tsx +11 -15
- package/src/fork/useLinking.native.ts +13 -27
- package/src/fork/useLinking.ts +24 -21
- package/src/fork/validatePathConfig.ts +11 -4
- package/src/getReactNavigationConfig.ts +96 -4
- package/src/headless/__tests__/useStack.test.tsx +4 -13
- package/src/headless/types.ts +1 -2
- package/src/headless/useStack.ts +1 -2
- package/src/index.ts +0 -12
- package/src/interfaces/router.ts +2 -2
- package/src/layouts/Drawer.tsx +4 -2
- package/src/layouts/Stack.tsx +17 -36
- package/src/layouts/Tabs.tsx +6 -81
- package/src/layouts/nativeTabsOptions.ts +38 -0
- package/src/layouts/stack-utils/README.md +0 -1
- package/src/layouts/stack-utils/StackHeaderBackButton.tsx +1 -1
- package/src/layouts/stack-utils/StackHeaderTitle.tsx +2 -2
- package/src/layouts/stack-utils/StackScreen.tsx +5 -26
- package/src/layouts/stack-utils/__tests__/composition.test.tsx +14 -14
- package/src/layouts/stack-utils/index.tsx +0 -17
- package/src/layouts/withLayoutContext.test.tsx +16 -0
- package/src/layouts/withLayoutContext.tsx +2 -2
- package/src/link/useLoadedNavigation.ts +2 -1
- package/src/router/Route.tsx +12 -2
- package/src/router/findRouteNode.test.ts +92 -0
- package/src/router/findRouteNode.ts +22 -17
- package/src/router/getLinkingConfig.test.ts +13 -0
- package/src/router/getNormalizedStatePath.tsx +2 -1
- package/src/router/getRouteInfo.test.ts +54 -0
- package/src/router/getRouteInfo.ts +5 -2
- package/src/router/isIndexPath.ts +5 -2
- package/src/router/isStateAwaitingNavigatorMount.ts +4 -1
- package/src/router/path.ts +1 -1
- package/src/router/routeHmr.native.test.ts +23 -11
- package/src/router/routeHmr.native.ts +6 -4
- package/src/router/router.ts +10 -9
- package/src/router/useInitializeOneRouter.ts +2 -2
- package/src/router/useNavigation.ts +49 -14
- package/src/router/useScreens.test.tsx +72 -0
- package/src/router/useScreens.tsx +15 -21
- package/src/router/useViteRoutes.tsx +3 -2
- package/src/router/utils/getNavigateAction.test.ts +28 -6
- package/src/router/utils/getNavigateAction.ts +6 -3
- package/src/router/web/WebStackView.tsx +1 -1
- package/src/router/web/__tests__/stackStateUtils.test.ts +23 -1
- package/src/router/web/stackStateUtils.ts +3 -2
- package/src/ui/README.md +8 -16
- package/src/ui/Slot.tsx +4 -38
- package/src/ui/TabContext.tsx +2 -7
- package/src/ui/TabList.tsx +7 -19
- package/src/ui/TabSlot.tsx +17 -60
- package/src/ui/TabTrigger.tsx +22 -30
- package/src/ui/Tabs.shared.tsx +3 -6
- package/src/ui/Tabs.tsx +3 -10
- package/src/ui/common.tsx +7 -5
- package/src/ui/index.native.ts +1 -0
- package/src/useFocusEffect.ts +14 -4
- package/src/views/Navigator.tsx +5 -21
- package/src/vite/one.ts +3 -1
- package/src/vite/plugins/sourceInspectorPlugin.test.ts +39 -1
- package/src/vite/plugins/sourceInspectorPlugin.ts +24 -3
- package/types/__mocks__/@react-navigation/native-stack.d.ts +2 -2
- package/types/__mocks__/@react-navigation/native-stack.d.ts.map +1 -1
- package/types/createApp.native.d.ts.map +1 -1
- package/types/fork/NavigationContainer.d.ts +2 -7
- package/types/fork/NavigationContainer.d.ts.map +1 -1
- package/types/fork/findFocusedRoute.d.ts +12 -2
- package/types/fork/findFocusedRoute.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts +1 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/fork/useLinking.native.d.ts +4 -20
- package/types/fork/useLinking.native.d.ts.map +1 -1
- package/types/fork/validatePathConfig.d.ts.map +1 -1
- package/types/getReactNavigationConfig.d.ts +10 -0
- package/types/getReactNavigationConfig.d.ts.map +1 -1
- package/types/headless/types.d.ts +1 -4
- package/types/headless/types.d.ts.map +1 -1
- package/types/headless/useStack.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/router.d.ts +2 -2
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/layouts/Drawer.d.ts +3 -108
- package/types/layouts/Drawer.d.ts.map +1 -1
- package/types/layouts/Drawer.web.d.ts +189 -2
- package/types/layouts/Drawer.web.d.ts.map +1 -1
- package/types/layouts/Stack.d.ts +7 -120
- package/types/layouts/Stack.d.ts.map +1 -1
- package/types/layouts/Tabs.d.ts +5 -100
- package/types/layouts/Tabs.d.ts.map +1 -1
- package/types/layouts/nativeTabsOptions.d.ts +8 -0
- package/types/layouts/nativeTabsOptions.d.ts.map +1 -0
- package/types/layouts/stack-navigator.d.ts +1 -2
- package/types/layouts/stack-navigator.d.ts.map +1 -1
- package/types/layouts/stack-navigator.web.d.ts +1 -1
- package/types/layouts/stack-navigator.web.d.ts.map +1 -1
- package/types/layouts/stack-utils/StackScreen.d.ts +1 -2
- package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
- package/types/layouts/stack-utils/index.d.ts +1 -3
- package/types/layouts/stack-utils/index.d.ts.map +1 -1
- package/types/layouts/withLayoutContext.d.ts +1 -2
- package/types/layouts/withLayoutContext.d.ts.map +1 -1
- package/types/link/useLoadedNavigation.d.ts +2 -2
- package/types/link/useLoadedNavigation.d.ts.map +1 -1
- package/types/router/Route.d.ts +1 -0
- package/types/router/Route.d.ts.map +1 -1
- package/types/router/findRouteNode.d.ts +4 -1
- package/types/router/findRouteNode.d.ts.map +1 -1
- package/types/router/findRouteNode.test.d.ts +2 -0
- package/types/router/findRouteNode.test.d.ts.map +1 -0
- package/types/router/getNormalizedStatePath.d.ts.map +1 -1
- package/types/router/getRouteInfo.d.ts +5 -0
- package/types/router/getRouteInfo.d.ts.map +1 -1
- package/types/router/getRouteInfo.test.d.ts +2 -0
- package/types/router/getRouteInfo.test.d.ts.map +1 -0
- package/types/router/isIndexPath.d.ts.map +1 -1
- package/types/router/isStateAwaitingNavigatorMount.d.ts.map +1 -1
- package/types/router/path.d.ts +1 -0
- package/types/router/path.d.ts.map +1 -1
- package/types/router/routeHmr.native.d.ts.map +1 -1
- package/types/router/router.d.ts +2 -2
- package/types/router/router.d.ts.map +1 -1
- package/types/router/useNavigation.d.ts +4 -2
- package/types/router/useNavigation.d.ts.map +1 -1
- package/types/router/useScreens.d.ts +25 -1
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/router/useViteRoutes.d.ts.map +1 -1
- package/types/router/utils/getNavigateAction.d.ts.map +1 -1
- package/types/router/web/WebStackNavigator.d.ts +1 -1
- package/types/router/web/WebStackNavigator.d.ts.map +1 -1
- package/types/router/web/stackStateUtils.d.ts +2 -1
- package/types/router/web/stackStateUtils.d.ts.map +1 -1
- package/types/ui/Slot.d.ts +2 -3
- package/types/ui/Slot.d.ts.map +1 -1
- package/types/ui/TabContext.d.ts +36 -84
- package/types/ui/TabContext.d.ts.map +1 -1
- package/types/ui/TabList.d.ts +4 -5
- package/types/ui/TabList.d.ts.map +1 -1
- package/types/ui/TabRouter.d.ts +31 -33
- package/types/ui/TabRouter.d.ts.map +1 -1
- package/types/ui/TabSlot.d.ts +5 -10
- package/types/ui/TabSlot.d.ts.map +1 -1
- package/types/ui/TabTrigger.d.ts +3 -2
- package/types/ui/TabTrigger.d.ts.map +1 -1
- package/types/ui/Tabs.d.ts.map +1 -1
- package/types/ui/Tabs.shared.d.ts +29 -137
- package/types/ui/Tabs.shared.d.ts.map +1 -1
- package/types/ui/common.d.ts +1 -1
- package/types/ui/common.d.ts.map +1 -1
- package/types/ui/index.native.d.ts +2 -0
- package/types/ui/index.native.d.ts.map +1 -0
- package/types/useFocusEffect.d.ts.map +1 -1
- package/types/views/Navigator.d.ts.map +1 -1
- package/types/views/Protected.d.ts +9 -1
- package/types/views/Protected.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.d.ts +9 -0
- package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
- package/dist/cjs/layouts/NativeTabs.cjs +0 -65
- package/dist/cjs/layouts/NativeTabs.native.js +0 -68
- package/dist/cjs/layouts/NativeTabs.native.js.map +0 -1
- package/dist/cjs/layouts/NativeTabs.test.cjs +0 -24
- package/dist/cjs/layouts/NativeTabs.test.native.js +0 -35
- package/dist/cjs/layouts/NativeTabs.test.native.js.map +0 -1
- package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +0 -124
- package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +0 -129
- package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +0 -1
- package/dist/cjs/layouts/stack-utils/StackToolbar.shared.cjs +0 -57
- package/dist/cjs/layouts/stack-utils/StackToolbar.shared.native.js +0 -61
- package/dist/cjs/layouts/stack-utils/StackToolbar.shared.native.js.map +0 -1
- package/dist/cjs/layouts/stack-utils/StackToolbar.types.cjs +0 -18
- package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js +0 -21
- package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js.map +0 -1
- package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.cjs +0 -39
- package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.native.js +0 -41
- package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.native.js.map +0 -1
- package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.cjs +0 -66
- package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.native.js +0 -99
- package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.native.js.map +0 -1
- package/dist/cjs/native-tabs.cjs +0 -29
- package/dist/cjs/native-tabs.native.js +0 -32
- package/dist/cjs/native-tabs.native.js.map +0 -1
- package/dist/cjs/stack-toolbar-implementation.cjs +0 -30
- package/dist/cjs/stack-toolbar-implementation.native.js +0 -33
- package/dist/cjs/stack-toolbar-implementation.native.js.map +0 -1
- package/dist/cjs/views/OneStackRouter.cjs +0 -46
- package/dist/cjs/views/OneStackRouter.native.js +0 -39
- package/dist/cjs/views/OneStackRouter.native.js.map +0 -1
- package/dist/esm/layouts/NativeTabs.mjs +0 -28
- package/dist/esm/layouts/NativeTabs.mjs.map +0 -1
- package/dist/esm/layouts/NativeTabs.native.js +0 -28
- package/dist/esm/layouts/NativeTabs.native.js.map +0 -1
- package/dist/esm/layouts/NativeTabs.test.mjs +0 -24
- package/dist/esm/layouts/NativeTabs.test.mjs.map +0 -1
- package/dist/esm/layouts/NativeTabs.test.native.js +0 -32
- package/dist/esm/layouts/NativeTabs.test.native.js.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbar.mjs +0 -89
- package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbar.native.js +0 -92
- package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbar.shared.mjs +0 -31
- package/dist/esm/layouts/stack-utils/StackToolbar.shared.mjs.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbar.shared.native.js +0 -32
- package/dist/esm/layouts/stack-utils/StackToolbar.shared.native.js.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs +0 -2
- package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js +0 -2
- package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbarImplementation.mjs +0 -12
- package/dist/esm/layouts/stack-utils/StackToolbarImplementation.mjs.map +0 -1
- package/dist/esm/layouts/stack-utils/StackToolbarImplementation.native.js +0 -12
- package/dist/esm/layouts/stack-utils/StackToolbarImplementation.native.js.map +0 -1
- package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.mjs +0 -67
- package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.mjs.map +0 -1
- package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.native.js +0 -73
- package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.native.js.map +0 -1
- package/dist/esm/native-tabs.mjs +0 -3
- package/dist/esm/native-tabs.mjs.map +0 -1
- package/dist/esm/native-tabs.native.js +0 -3
- package/dist/esm/native-tabs.native.js.map +0 -1
- package/dist/esm/stack-toolbar-implementation.mjs +0 -3
- package/dist/esm/stack-toolbar-implementation.mjs.map +0 -1
- package/dist/esm/stack-toolbar-implementation.native.js +0 -3
- package/dist/esm/stack-toolbar-implementation.native.js.map +0 -1
- package/dist/esm/views/OneStackRouter.mjs +0 -21
- package/dist/esm/views/OneStackRouter.mjs.map +0 -1
- package/dist/esm/views/OneStackRouter.native.js +0 -11
- package/dist/esm/views/OneStackRouter.native.js.map +0 -1
- package/src/layouts/NativeTabs.test.ts +0 -30
- package/src/layouts/NativeTabs.tsx +0 -46
- package/src/layouts/stack-utils/StackToolbar.shared.ts +0 -44
- package/src/layouts/stack-utils/StackToolbar.tsx +0 -134
- package/src/layouts/stack-utils/StackToolbar.types.ts +0 -100
- package/src/layouts/stack-utils/StackToolbarImplementation.tsx +0 -39
- package/src/layouts/stack-utils/__tests__/StackToolbar.test.tsx +0 -70
- package/src/native-tabs.ts +0 -1
- package/src/stack-toolbar-implementation.ts +0 -8
- package/src/ui/Slot.web.tsx +0 -9
- package/src/ui/TabList.web.tsx +0 -27
- package/src/ui/TabSlot.web.tsx +0 -90
- package/src/ui/TabTrigger.web.tsx +0 -71
- package/src/ui/Tabs.web.tsx +0 -40
- package/src/views/OneStackRouter.tsx +0 -75
- package/types/layouts/NativeTabs.d.ts +0 -8
- package/types/layouts/NativeTabs.d.ts.map +0 -1
- package/types/layouts/NativeTabs.test.d.ts +0 -2
- package/types/layouts/NativeTabs.test.d.ts.map +0 -1
- package/types/layouts/stack-utils/StackToolbar.d.ts +0 -28
- package/types/layouts/stack-utils/StackToolbar.d.ts.map +0 -1
- package/types/layouts/stack-utils/StackToolbar.shared.d.ts +0 -5
- package/types/layouts/stack-utils/StackToolbar.shared.d.ts.map +0 -1
- package/types/layouts/stack-utils/StackToolbar.types.d.ts +0 -83
- package/types/layouts/stack-utils/StackToolbar.types.d.ts.map +0 -1
- package/types/layouts/stack-utils/StackToolbarImplementation.d.ts +0 -12
- package/types/layouts/stack-utils/StackToolbarImplementation.d.ts.map +0 -1
- package/types/native-tabs.d.ts +0 -2
- package/types/native-tabs.d.ts.map +0 -1
- package/types/stack-toolbar-implementation.d.ts +0 -3
- package/types/stack-toolbar-implementation.d.ts.map +0 -1
- package/types/ui/Slot.web.d.ts +0 -5
- package/types/ui/Slot.web.d.ts.map +0 -1
- package/types/ui/TabList.web.d.ts +0 -11
- package/types/ui/TabList.web.d.ts.map +0 -1
- package/types/ui/TabSlot.web.d.ts +0 -24
- package/types/ui/TabSlot.web.d.ts.map +0 -1
- package/types/ui/TabTrigger.web.d.ts +0 -11
- package/types/ui/TabTrigger.web.d.ts.map +0 -1
- package/types/ui/Tabs.web.d.ts +0 -10
- package/types/ui/Tabs.web.d.ts.map +0 -1
- package/types/views/OneStackRouter.d.ts +0 -3
- package/types/views/OneStackRouter.d.ts.map +0 -1
package/src/headless/types.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ComponentType, ReactElement, ReactNode } from 'react'
|
|
2
|
-
import type { StackToolbarConfig } from '../layouts/stack-utils/StackToolbar.types'
|
|
3
2
|
|
|
4
3
|
// shared contract for headless web navigators. see plans/headless-navigators.md
|
|
5
4
|
|
|
@@ -11,7 +10,7 @@ export type ScreenEntry = {
|
|
|
11
10
|
isFocused: boolean
|
|
12
11
|
keepMounted: boolean
|
|
13
12
|
// compiled options: semantic keys plus opaque passthrough of preset keys
|
|
14
|
-
options: Record<string, any>
|
|
13
|
+
options: Record<string, any>
|
|
15
14
|
// lazy: rendering it mounts the route (descriptor.render underneath)
|
|
16
15
|
element: ReactElement
|
|
17
16
|
}
|
package/src/headless/useStack.ts
CHANGED
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
|
|
14
14
|
import type { UseStackResult } from './types'
|
|
15
15
|
import { getPathFromState } from '../fork/getPathFromState'
|
|
16
|
-
import { exposeStackToolbarConfig } from '../layouts/stack-utils/StackToolbar.shared'
|
|
17
16
|
import { getResolvedLinking } from '../router/linkingConfig'
|
|
18
17
|
|
|
19
18
|
export type HeadlessStackDescriptors = Record<
|
|
@@ -40,7 +39,7 @@ export function StackStateProvider({
|
|
|
40
39
|
const value = useMemo<UseStackResult>(() => {
|
|
41
40
|
const screens = state.routes.map((route, index) => {
|
|
42
41
|
const descriptor = descriptors[route.key]!
|
|
43
|
-
const options =
|
|
42
|
+
const options = descriptor.options
|
|
44
43
|
const href = (linking?.getPathFromState ?? getPathFromState)(
|
|
45
44
|
{ ...state, index },
|
|
46
45
|
linking?.config
|
package/src/index.ts
CHANGED
|
@@ -105,18 +105,6 @@ export type {
|
|
|
105
105
|
StackHeaderTitleProps,
|
|
106
106
|
StackScreenOptions,
|
|
107
107
|
StackScreenProps,
|
|
108
|
-
StackToolbarBadgeProps,
|
|
109
|
-
StackToolbarButtonProps,
|
|
110
|
-
StackToolbarConfig,
|
|
111
|
-
StackToolbarIconProps,
|
|
112
|
-
StackToolbarLabelProps,
|
|
113
|
-
StackToolbarMenuActionProps,
|
|
114
|
-
StackToolbarMenuProps,
|
|
115
|
-
StackToolbarPlacement,
|
|
116
|
-
StackToolbarProps,
|
|
117
|
-
StackToolbarSearchBarSlotProps,
|
|
118
|
-
StackToolbarSpacerProps,
|
|
119
|
-
StackToolbarViewProps,
|
|
120
108
|
} from './layouts/stack-utils'
|
|
121
109
|
export { useTabs } from './headless/useTabs'
|
|
122
110
|
export { useDrawer } from './headless/useDrawer'
|
package/src/interfaces/router.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
NavigationContainerRefWithCurrent,
|
|
3
3
|
NavigationState,
|
|
4
|
+
ParamListBase,
|
|
4
5
|
PartialState,
|
|
5
6
|
} from '@react-navigation/core'
|
|
6
7
|
import type { JSX, ReactNode } from 'react'
|
|
@@ -54,8 +55,7 @@ export namespace OneRouter {
|
|
|
54
55
|
? __routes['DynamicRouteTemplate']
|
|
55
56
|
: string
|
|
56
57
|
|
|
57
|
-
export type NavigationRef =
|
|
58
|
-
NavigationContainerRefWithCurrent<ReactNavigation.RootParamList>
|
|
58
|
+
export type NavigationRef = NavigationContainerRefWithCurrent<ParamListBase>
|
|
59
59
|
|
|
60
60
|
export type RelativePathString = `./${string}` | `../${string}` | '..'
|
|
61
61
|
export type AbsoluteRoute = DynamicRouteTemplate | StaticRoutes
|
package/src/layouts/Drawer.tsx
CHANGED
|
@@ -21,10 +21,12 @@ const DrawerWithRender = React.forwardRef<unknown, ComponentProps<typeof RNDrawe
|
|
|
21
21
|
(props, ref) => <RNDrawer {...(props as any)} ref={ref} />
|
|
22
22
|
)
|
|
23
23
|
|
|
24
|
+
type DrawerType = ReturnType<typeof withLayoutContext>
|
|
25
|
+
|
|
24
26
|
// Preserve withLayoutContext's static Screen so user code like
|
|
25
27
|
// `<Drawer.Screen ... />` keeps working through the render wrapper.
|
|
26
|
-
export const Drawer = Object.assign(DrawerWithRender, {
|
|
28
|
+
export const Drawer: DrawerType = Object.assign(DrawerWithRender, {
|
|
27
29
|
Screen: RNDrawer.Screen,
|
|
28
|
-
})
|
|
30
|
+
}) as DrawerType
|
|
29
31
|
|
|
30
32
|
export default Drawer
|
package/src/layouts/Stack.tsx
CHANGED
|
@@ -14,14 +14,9 @@ import {
|
|
|
14
14
|
StackHeaderComponent,
|
|
15
15
|
StackHeaderSearchBar,
|
|
16
16
|
StackScreen,
|
|
17
|
-
StackToolbar,
|
|
18
17
|
type StackScreenProps,
|
|
19
18
|
} from './stack-utils'
|
|
20
19
|
import { withLayoutContext } from './withLayoutContext'
|
|
21
|
-
import {
|
|
22
|
-
getStackToolbarImplementation,
|
|
23
|
-
type StackToolbarImplementation,
|
|
24
|
-
} from './stack-utils/StackToolbarImplementation'
|
|
25
20
|
|
|
26
21
|
const NativeStackNavigator = createStackNavigator().Navigator
|
|
27
22
|
|
|
@@ -36,19 +31,12 @@ const RNStack = withLayoutContext<
|
|
|
36
31
|
* Pre-process children to convert StackScreen (with Header children) to Screen (with options).
|
|
37
32
|
* This allows the Header Composition API to work in layout files.
|
|
38
33
|
*/
|
|
39
|
-
function mapChildren(
|
|
40
|
-
children: React.ReactNode,
|
|
41
|
-
toolbarImplementation: StackToolbarImplementation | null
|
|
42
|
-
): React.ReactNode {
|
|
34
|
+
function mapChildren(children: React.ReactNode): React.ReactNode {
|
|
43
35
|
return Children.toArray(children)
|
|
44
36
|
.map((child, index) => {
|
|
45
37
|
if (isChildOfType(child, StackScreen)) {
|
|
46
38
|
// convert StackScreen to Screen with options extracted from Header children
|
|
47
|
-
const options = appendScreenStackPropsToOptions(
|
|
48
|
-
{},
|
|
49
|
-
child.props,
|
|
50
|
-
toolbarImplementation
|
|
51
|
-
)
|
|
39
|
+
const options = appendScreenStackPropsToOptions({}, child.props)
|
|
52
40
|
const { children: _, ...rest } = child.props
|
|
53
41
|
return <Screen key={child.props.name ?? index} {...rest} options={options} />
|
|
54
42
|
}
|
|
@@ -58,7 +46,7 @@ function mapChildren(
|
|
|
58
46
|
return React.cloneElement(
|
|
59
47
|
child,
|
|
60
48
|
{ key: `protected-${index}` },
|
|
61
|
-
mapChildren(child.props.children
|
|
49
|
+
mapChildren(child.props.children)
|
|
62
50
|
)
|
|
63
51
|
}
|
|
64
52
|
|
|
@@ -83,8 +71,6 @@ function mapChildren(
|
|
|
83
71
|
const StackWithComposition = React.forwardRef<unknown, ComponentProps<typeof RNStack>>(
|
|
84
72
|
(props, ref) => {
|
|
85
73
|
const { children, screenOptions, ...rest } = props
|
|
86
|
-
const toolbarImplementation = getStackToolbarImplementation()
|
|
87
|
-
|
|
88
74
|
// extract Stack.Header from children for screenOptions
|
|
89
75
|
const screenOptionsWithHeader = useMemo(() => {
|
|
90
76
|
const stackHeader = Children.toArray(children).find((child) =>
|
|
@@ -97,30 +83,19 @@ const StackWithComposition = React.forwardRef<unknown, ComponentProps<typeof RNS
|
|
|
97
83
|
if (typeof screenOptions === 'function') {
|
|
98
84
|
return (...args: Parameters<typeof screenOptions>) => {
|
|
99
85
|
const opts = screenOptions(...args)
|
|
100
|
-
return appendScreenStackPropsToOptions(
|
|
101
|
-
opts,
|
|
102
|
-
headerProps,
|
|
103
|
-
toolbarImplementation
|
|
104
|
-
)
|
|
86
|
+
return appendScreenStackPropsToOptions(opts, headerProps)
|
|
105
87
|
}
|
|
106
88
|
}
|
|
107
|
-
return appendScreenStackPropsToOptions(
|
|
108
|
-
screenOptions,
|
|
109
|
-
headerProps,
|
|
110
|
-
toolbarImplementation
|
|
111
|
-
)
|
|
89
|
+
return appendScreenStackPropsToOptions(screenOptions, headerProps)
|
|
112
90
|
}
|
|
113
|
-
return appendScreenStackPropsToOptions({}, headerProps
|
|
91
|
+
return appendScreenStackPropsToOptions({}, headerProps)
|
|
114
92
|
}
|
|
115
93
|
|
|
116
94
|
return screenOptions
|
|
117
|
-
}, [children, screenOptions
|
|
95
|
+
}, [children, screenOptions])
|
|
118
96
|
|
|
119
97
|
// pre-process children to convert StackScreen to Screen
|
|
120
|
-
const processedChildren = useMemo(
|
|
121
|
-
() => mapChildren(children, toolbarImplementation),
|
|
122
|
-
[children, toolbarImplementation]
|
|
123
|
-
)
|
|
98
|
+
const processedChildren = useMemo(() => mapChildren(children), [children])
|
|
124
99
|
const navigatorProps = useMemo(() => getStackNavigatorProps(children), [children])
|
|
125
100
|
|
|
126
101
|
return (
|
|
@@ -138,12 +113,18 @@ const StackWithComposition = React.forwardRef<unknown, ComponentProps<typeof RNS
|
|
|
138
113
|
}
|
|
139
114
|
)
|
|
140
115
|
|
|
141
|
-
|
|
116
|
+
type StackType = ReturnType<typeof withLayoutContext> & {
|
|
117
|
+
Screen: typeof StackScreen
|
|
118
|
+
Header: typeof StackHeader
|
|
119
|
+
Protected: typeof Protected
|
|
120
|
+
SearchBar: typeof StackHeaderSearchBar
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export const Stack: StackType = Object.assign(StackWithComposition, {
|
|
142
124
|
Screen: StackScreen,
|
|
143
125
|
Header: StackHeader,
|
|
144
126
|
Protected,
|
|
145
127
|
SearchBar: StackHeaderSearchBar,
|
|
146
|
-
|
|
147
|
-
})
|
|
128
|
+
}) as StackType
|
|
148
129
|
|
|
149
130
|
export default Stack
|
package/src/layouts/Tabs.tsx
CHANGED
|
@@ -1,103 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
|
-
BottomTabBar,
|
|
3
|
-
type BottomTabBarProps,
|
|
4
2
|
type BottomTabNavigationEventMap,
|
|
5
3
|
type BottomTabNavigationOptions,
|
|
6
4
|
createBottomTabNavigator,
|
|
7
5
|
} from '@react-navigation/bottom-tabs'
|
|
8
6
|
import type { ParamListBase, TabNavigationState } from '@react-navigation/native'
|
|
9
|
-
import React, { useMemo, type ComponentProps } from 'react'
|
|
10
|
-
import { Platform, Pressable } from 'react-native'
|
|
11
7
|
|
|
12
|
-
import type { OneRouter } from '../interfaces/router'
|
|
13
|
-
import { Link } from '../link/Link'
|
|
14
8
|
import { Protected } from '../views/Protected'
|
|
9
|
+
import { processNativeTabsScreens } from './nativeTabsOptions'
|
|
15
10
|
import { withLayoutContext } from './withLayoutContext'
|
|
16
11
|
|
|
17
|
-
const DefaultTabBar = ({ state, ...restProps }: BottomTabBarProps) => {
|
|
18
|
-
/**
|
|
19
|
-
* With React Navigation v7, special routes such as +not-found and _sitemap
|
|
20
|
-
* are being added to `state.routes`, but we don't want them to be shown in
|
|
21
|
-
* the tab bar.
|
|
22
|
-
*/
|
|
23
|
-
const filteredRoutes = state.routes.filter(
|
|
24
|
-
(r) => r.name !== '+not-found' && !r.name.startsWith('_sitemap')
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<BottomTabBar
|
|
29
|
-
state={{
|
|
30
|
-
...state,
|
|
31
|
-
routes: filteredRoutes,
|
|
32
|
-
}}
|
|
33
|
-
{...restProps}
|
|
34
|
-
/>
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
12
|
const BottomTabNavigator = createBottomTabNavigator().Navigator
|
|
39
13
|
|
|
40
|
-
type BottomTabNavigationOptionsWithHref = BottomTabNavigationOptions & {
|
|
41
|
-
href?: OneRouter.Href | null
|
|
42
|
-
}
|
|
43
|
-
|
|
44
14
|
const RNTabs = withLayoutContext<
|
|
45
|
-
|
|
15
|
+
BottomTabNavigationOptions,
|
|
46
16
|
typeof BottomTabNavigator,
|
|
47
17
|
TabNavigationState<ParamListBase>,
|
|
48
18
|
BottomTabNavigationEventMap
|
|
49
|
-
>(BottomTabNavigator,
|
|
50
|
-
// Support the `href` shortcut prop.
|
|
51
|
-
return screens.map((screen) => {
|
|
52
|
-
if (typeof screen.options !== 'function' && screen.options?.href !== undefined) {
|
|
53
|
-
const { href, ...options } = screen.options
|
|
54
|
-
if (options.tabBarButton) {
|
|
55
|
-
throw new Error('Cannot use `href` and `tabBarButton` together.')
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
...screen,
|
|
59
|
-
options: {
|
|
60
|
-
...options,
|
|
61
|
-
tabBarButton: (props) => {
|
|
62
|
-
if (href == null) {
|
|
63
|
-
return null
|
|
64
|
-
}
|
|
65
|
-
const children =
|
|
66
|
-
Platform.OS === 'web' ? (
|
|
67
|
-
props.children
|
|
68
|
-
) : (
|
|
69
|
-
<Pressable>{props.children}</Pressable>
|
|
70
|
-
)
|
|
71
|
-
return (
|
|
72
|
-
<Link
|
|
73
|
-
{...(props as any)}
|
|
74
|
-
style={[{ display: 'flex' }, props.style]}
|
|
75
|
-
href={href}
|
|
76
|
-
asChild={Platform.OS !== 'web'}
|
|
77
|
-
// biome-ignore lint/correctness/noChildrenProp: children prop needed for asChild pattern
|
|
78
|
-
children={children}
|
|
79
|
-
/>
|
|
80
|
-
)
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return screen
|
|
86
|
-
})
|
|
87
|
-
})
|
|
19
|
+
>(BottomTabNavigator, processNativeTabsScreens)
|
|
88
20
|
|
|
89
|
-
|
|
90
|
-
(props, ref) => {
|
|
91
|
-
const { tabBar, ...rest } = props as any
|
|
92
|
-
return <RNTabs {...rest} ref={ref} tabBar={tabBar ?? DefaultTabBar} />
|
|
93
|
-
}
|
|
94
|
-
)
|
|
21
|
+
type TabsType = ReturnType<typeof withLayoutContext> & { Protected: typeof Protected }
|
|
95
22
|
|
|
96
|
-
export const Tabs = Object.assign(
|
|
23
|
+
export const Tabs: TabsType = Object.assign(RNTabs, {
|
|
97
24
|
Protected,
|
|
98
|
-
// Preserve withLayoutContext's static Screen so user code like
|
|
99
|
-
// `<Tabs.Screen ... />` keeps working through the render wrapper.
|
|
100
25
|
Screen: RNTabs.Screen,
|
|
101
|
-
})
|
|
26
|
+
}) as TabsType
|
|
102
27
|
|
|
103
28
|
export default Tabs
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { BottomTabNavigationOptions } from '@react-navigation/bottom-tabs'
|
|
2
|
+
|
|
3
|
+
type NativeTabsScreen = {
|
|
4
|
+
name?: string
|
|
5
|
+
options?: BottomTabNavigationOptions | ((props: any) => BottomTabNavigationOptions)
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function processNativeTabsScreens<T extends NativeTabsScreen>(screens: T[]): T[] {
|
|
9
|
+
return screens.map((screen) => {
|
|
10
|
+
if (typeof screen.options === 'function') {
|
|
11
|
+
const getOptions = screen.options
|
|
12
|
+
return {
|
|
13
|
+
...screen,
|
|
14
|
+
options: (props: any) => {
|
|
15
|
+
const options = getOptions(props)
|
|
16
|
+
assertNoNativeTabsHref(screen.name, options)
|
|
17
|
+
return options
|
|
18
|
+
},
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
assertNoNativeTabsHref(screen.name, screen.options)
|
|
23
|
+
return screen
|
|
24
|
+
}) as T[]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function assertNoNativeTabsHref(
|
|
28
|
+
screenName: string | undefined,
|
|
29
|
+
options: BottomTabNavigationOptions | undefined
|
|
30
|
+
) {
|
|
31
|
+
if (options && 'href' in options) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
`Tabs.Screen "${screenName ?? ''}" uses the web-only href option. ` +
|
|
34
|
+
'Native tabs use the route name. Put non-tab routes in a parent Stack, ' +
|
|
35
|
+
'and move custom href options to a .web layout.'
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -25,7 +25,6 @@ import { Stack } from 'one'
|
|
|
25
25
|
| `Stack.Header.Right` | Custom right header content |
|
|
26
26
|
| `Stack.Header.BackButton` | Back button configuration |
|
|
27
27
|
| `Stack.Header.SearchBar` | Search bar configuration |
|
|
28
|
-
| `Stack.Toolbar` | Native iOS header and bottom toolbar items |
|
|
29
28
|
|
|
30
29
|
## Basic Usage
|
|
31
30
|
|
|
@@ -30,7 +30,7 @@ export function appendStackHeaderBackButtonPropsToOptions(
|
|
|
30
30
|
...options,
|
|
31
31
|
headerBackTitle: props.children,
|
|
32
32
|
headerBackTitleStyle: props.style,
|
|
33
|
-
|
|
33
|
+
headerBackIcon: props.src ? { type: 'image' as const, source: props.src } : undefined,
|
|
34
34
|
headerBackButtonDisplayMode: props.displayMode,
|
|
35
35
|
headerBackButtonMenuEnabled: props.withMenu,
|
|
36
36
|
headerBackVisible: props.hidden !== undefined ? !props.hidden : undefined,
|
|
@@ -67,9 +67,9 @@ export function appendStackHeaderTitlePropsToOptions(
|
|
|
67
67
|
return {
|
|
68
68
|
...options,
|
|
69
69
|
title: props.children,
|
|
70
|
-
|
|
70
|
+
headerLargeTitleEnabled: props.large,
|
|
71
71
|
// Large titles on iOS require headerTransparent for proper scroll behavior
|
|
72
|
-
// Only set on iOS since
|
|
72
|
+
// Only set on iOS since headerLargeTitleEnabled is iOS-only
|
|
73
73
|
...(props.large && PLATFORM === 'ios' && { headerTransparent: true }),
|
|
74
74
|
headerTitleAlign: flattenedStyle?.textAlign,
|
|
75
75
|
// Only set styles when explicitly configured to avoid interfering with native defaults
|
|
@@ -9,15 +9,6 @@ import {
|
|
|
9
9
|
appendStackHeaderPropsToOptions,
|
|
10
10
|
type StackHeaderProps,
|
|
11
11
|
} from './StackHeaderComponent'
|
|
12
|
-
import {
|
|
13
|
-
StackToolbar,
|
|
14
|
-
appendStackToolbarPropsToOptions,
|
|
15
|
-
type StackToolbarProps,
|
|
16
|
-
} from './StackToolbar'
|
|
17
|
-
import {
|
|
18
|
-
getStackToolbarImplementation,
|
|
19
|
-
type StackToolbarImplementation,
|
|
20
|
-
} from './StackToolbarImplementation'
|
|
21
12
|
import { Screen } from '../../views/Screen'
|
|
22
13
|
|
|
23
14
|
export type StackScreenOptions = Omit<NativeStackNavigationOptions, 'presentation'> & {
|
|
@@ -56,17 +47,12 @@ export interface StackScreenProps extends PropsWithChildren {
|
|
|
56
47
|
* ```
|
|
57
48
|
*/
|
|
58
49
|
export function StackScreen({ children, options, ...rest }: StackScreenProps) {
|
|
59
|
-
const toolbarImplementation = getStackToolbarImplementation()
|
|
60
50
|
const updatedOptions = useMemo(
|
|
61
51
|
() =>
|
|
62
|
-
appendScreenStackPropsToOptions(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
},
|
|
67
|
-
toolbarImplementation
|
|
68
|
-
),
|
|
69
|
-
[options, children, toolbarImplementation]
|
|
52
|
+
appendScreenStackPropsToOptions(options ?? {}, {
|
|
53
|
+
children,
|
|
54
|
+
}),
|
|
55
|
+
[options, children]
|
|
70
56
|
)
|
|
71
57
|
return <Screen {...rest} options={updatedOptions as NativeStackNavigationOptions} />
|
|
72
58
|
}
|
|
@@ -115,8 +101,7 @@ export function validateStackPresentation(
|
|
|
115
101
|
|
|
116
102
|
export function appendScreenStackPropsToOptions(
|
|
117
103
|
options: StackScreenOptions,
|
|
118
|
-
props: StackScreenProps
|
|
119
|
-
toolbarImplementation?: StackToolbarImplementation | null
|
|
104
|
+
props: StackScreenProps
|
|
120
105
|
): StackScreenOptions {
|
|
121
106
|
let updatedOptions: StackScreenOptions = { ...options, ...props.options }
|
|
122
107
|
|
|
@@ -129,12 +114,6 @@ export function appendScreenStackPropsToOptions(
|
|
|
129
114
|
options as NativeStackNavigationOptions,
|
|
130
115
|
child.props as StackHeaderProps
|
|
131
116
|
) as StackScreenOptions
|
|
132
|
-
} else if (child.type === StackToolbar) {
|
|
133
|
-
return appendStackToolbarPropsToOptions(
|
|
134
|
-
options as NativeStackNavigationOptions,
|
|
135
|
-
child.props as StackToolbarProps,
|
|
136
|
-
toolbarImplementation
|
|
137
|
-
) as StackScreenOptions
|
|
138
117
|
} else {
|
|
139
118
|
console.warn(
|
|
140
119
|
`Warning: Unknown child element passed to Stack.Screen: ${(child.type as { name: string }).name ?? child.type}`
|
|
@@ -40,9 +40,9 @@ describe('Stack Header Composition', () => {
|
|
|
40
40
|
expect(result.title).toBe('My Title')
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
it('sets
|
|
43
|
+
it('sets headerLargeTitleEnabled when large is true', () => {
|
|
44
44
|
const result = appendStackHeaderTitlePropsToOptions({}, { large: true })
|
|
45
|
-
expect(result.
|
|
45
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
46
46
|
})
|
|
47
47
|
|
|
48
48
|
it('sets headerTitleAlign from style.textAlign', () => {
|
|
@@ -183,14 +183,14 @@ describe('Stack Header Composition', () => {
|
|
|
183
183
|
|
|
184
184
|
it('preserves existing options when setting headerRight', () => {
|
|
185
185
|
const result = appendStackHeaderRightPropsToOptions(
|
|
186
|
-
{ title: 'Existing Title',
|
|
186
|
+
{ title: 'Existing Title', headerLargeTitleEnabled: true },
|
|
187
187
|
{
|
|
188
188
|
asChild: true,
|
|
189
189
|
children: <button>Action</button>,
|
|
190
190
|
}
|
|
191
191
|
)
|
|
192
192
|
expect(result.title).toBe('Existing Title')
|
|
193
|
-
expect(result.
|
|
193
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
194
194
|
expect(result.headerRight).toBeDefined()
|
|
195
195
|
})
|
|
196
196
|
|
|
@@ -295,13 +295,13 @@ describe('Stack Header Composition', () => {
|
|
|
295
295
|
|
|
296
296
|
it('preserves existing options when setting search bar', () => {
|
|
297
297
|
const result = appendStackHeaderSearchBarPropsToOptions(
|
|
298
|
-
{ title: 'Articles',
|
|
298
|
+
{ title: 'Articles', headerLargeTitleEnabled: true },
|
|
299
299
|
{
|
|
300
300
|
placeholder: 'Search...',
|
|
301
301
|
}
|
|
302
302
|
)
|
|
303
303
|
expect(result.title).toBe('Articles')
|
|
304
|
-
expect(result.
|
|
304
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
305
305
|
expect(result.headerSearchBarOptions).toMatchObject({
|
|
306
306
|
placeholder: 'Search...',
|
|
307
307
|
})
|
|
@@ -384,7 +384,7 @@ describe('Stack Header Composition', () => {
|
|
|
384
384
|
}
|
|
385
385
|
)
|
|
386
386
|
expect(result.title).toBe('Test Title')
|
|
387
|
-
expect(result.
|
|
387
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
388
388
|
})
|
|
389
389
|
|
|
390
390
|
it('processes child BackButton component', () => {
|
|
@@ -411,7 +411,7 @@ describe('Stack Header Composition', () => {
|
|
|
411
411
|
}
|
|
412
412
|
)
|
|
413
413
|
expect(result.title).toBe('My Screen')
|
|
414
|
-
expect(result.
|
|
414
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
415
415
|
expect(result.headerBackVisible).toBe(false)
|
|
416
416
|
})
|
|
417
417
|
|
|
@@ -477,7 +477,7 @@ describe('Stack Header Composition', () => {
|
|
|
477
477
|
}
|
|
478
478
|
)
|
|
479
479
|
expect(result.title).toBe('Articles')
|
|
480
|
-
expect(result.
|
|
480
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
481
481
|
expect(result.headerLeft).toBeDefined()
|
|
482
482
|
expect(result.headerRight).toBeDefined()
|
|
483
483
|
expect(result.headerSearchBarOptions).toMatchObject({
|
|
@@ -510,7 +510,7 @@ describe('Stack Header Composition', () => {
|
|
|
510
510
|
expect(result.gestureEnabled).toBe(true)
|
|
511
511
|
expect(result.headerBlurEffect).toBe('regular')
|
|
512
512
|
expect(result.title).toBe('Composed Title')
|
|
513
|
-
expect(result.
|
|
513
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
514
514
|
})
|
|
515
515
|
|
|
516
516
|
it('works with StackHeader compound component (as used via Stack.Header)', () => {
|
|
@@ -526,7 +526,7 @@ describe('Stack Header Composition', () => {
|
|
|
526
526
|
)
|
|
527
527
|
|
|
528
528
|
expect(result.title).toBe('Large Title Test')
|
|
529
|
-
expect(result.
|
|
529
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
530
530
|
})
|
|
531
531
|
|
|
532
532
|
it('works with StackHeader compound component with Left child', () => {
|
|
@@ -545,7 +545,7 @@ describe('Stack Header Composition', () => {
|
|
|
545
545
|
)
|
|
546
546
|
|
|
547
547
|
expect(result.title).toBe('Articles')
|
|
548
|
-
expect(result.
|
|
548
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
549
549
|
expect(result.headerLeft).toBeDefined()
|
|
550
550
|
})
|
|
551
551
|
|
|
@@ -599,7 +599,7 @@ describe('Stack Header Composition', () => {
|
|
|
599
599
|
)
|
|
600
600
|
|
|
601
601
|
expect(result.title).toBe('Articles')
|
|
602
|
-
expect(result.
|
|
602
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
603
603
|
expect(result.headerSearchBarOptions).toMatchObject({
|
|
604
604
|
placeholder: 'Search articles...',
|
|
605
605
|
})
|
|
@@ -629,7 +629,7 @@ describe('Stack Header Composition', () => {
|
|
|
629
629
|
expect(result.animation).toBe('slide_from_right')
|
|
630
630
|
expect(result.headerBlurEffect).toBe('regular')
|
|
631
631
|
expect(result.title).toBe('My App')
|
|
632
|
-
expect(result.
|
|
632
|
+
expect(result.headerLargeTitleEnabled).toBe(true)
|
|
633
633
|
// headerTransparent is only auto-set on iOS, not on web/android (test runs in web mock)
|
|
634
634
|
expect(result.headerTransparent).toBeUndefined()
|
|
635
635
|
expect(result.headerLeft).toBeDefined()
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
type StackHeaderSearchBarProps,
|
|
11
11
|
} from './StackHeaderSearchBar'
|
|
12
12
|
import { StackHeaderTitle, type StackHeaderTitleProps } from './StackHeaderTitle'
|
|
13
|
-
import { StackToolbar } from './StackToolbar'
|
|
14
13
|
import { NAVIGATOR_CONFIG } from '../../headless/children'
|
|
15
14
|
|
|
16
15
|
/**
|
|
@@ -39,24 +38,8 @@ export {
|
|
|
39
38
|
type StackHeaderSearchBarProps,
|
|
40
39
|
StackHeaderTitle,
|
|
41
40
|
type StackHeaderTitleProps,
|
|
42
|
-
StackToolbar,
|
|
43
41
|
}
|
|
44
42
|
|
|
45
|
-
export type {
|
|
46
|
-
StackToolbarBadgeProps,
|
|
47
|
-
StackToolbarButtonProps,
|
|
48
|
-
StackToolbarConfig,
|
|
49
|
-
StackToolbarIconProps,
|
|
50
|
-
StackToolbarLabelProps,
|
|
51
|
-
StackToolbarMenuActionProps,
|
|
52
|
-
StackToolbarMenuProps,
|
|
53
|
-
StackToolbarPlacement,
|
|
54
|
-
StackToolbarProps,
|
|
55
|
-
StackToolbarSearchBarSlotProps,
|
|
56
|
-
StackToolbarSpacerProps,
|
|
57
|
-
StackToolbarViewProps,
|
|
58
|
-
} from './StackToolbar'
|
|
59
|
-
|
|
60
43
|
export {
|
|
61
44
|
StackScreen,
|
|
62
45
|
appendScreenStackPropsToOptions,
|
|
@@ -3,6 +3,7 @@ import TestRenderer, { act } from 'react-test-renderer'
|
|
|
3
3
|
import { describe, expect, it } from 'vitest'
|
|
4
4
|
import { Protected } from '../views/Protected'
|
|
5
5
|
import { Screen } from '../views/Screen'
|
|
6
|
+
import { processNativeTabsScreens } from './nativeTabsOptions'
|
|
6
7
|
import { useFilterScreenChildren } from './withLayoutContext'
|
|
7
8
|
|
|
8
9
|
function readGuardedRedirects(children: React.ReactNode) {
|
|
@@ -72,3 +73,18 @@ describe('Protected redirectTo', () => {
|
|
|
72
73
|
expect(redirects.get('account')).toBeUndefined()
|
|
73
74
|
})
|
|
74
75
|
})
|
|
76
|
+
|
|
77
|
+
describe('native Tabs options', () => {
|
|
78
|
+
it('rejects web-only href options instead of silently dropping them', () => {
|
|
79
|
+
expect(() =>
|
|
80
|
+
processNativeTabsScreens([{ name: 'hidden', options: { href: null } } as any])
|
|
81
|
+
).toThrow('Tabs.Screen "hidden" uses the web-only href option')
|
|
82
|
+
|
|
83
|
+
const [screen] = processNativeTabsScreens([
|
|
84
|
+
{ name: 'dynamic', options: () => ({ href: '/elsewhere' }) } as any,
|
|
85
|
+
])
|
|
86
|
+
expect(() => (screen.options as any)({})).toThrow(
|
|
87
|
+
'Tabs.Screen "dynamic" uses the web-only href option'
|
|
88
|
+
)
|
|
89
|
+
})
|
|
90
|
+
})
|
|
@@ -213,14 +213,14 @@ export function withLayoutContext<
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
return (
|
|
216
|
-
<Nav {...options?.props} {...props}
|
|
216
|
+
<Nav {...options?.props} {...props} ref={ref}>
|
|
217
217
|
{sorted}
|
|
218
218
|
</Nav>
|
|
219
219
|
)
|
|
220
220
|
}
|
|
221
221
|
),
|
|
222
222
|
{
|
|
223
|
-
Screen,
|
|
223
|
+
Screen: Screen as React.ComponentType<ScreenProps<TOptions, State, EventMap>>,
|
|
224
224
|
}
|
|
225
225
|
)
|
|
226
226
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
type NavigationProp,
|
|
3
3
|
type NavigationState,
|
|
4
|
+
type ParamListBase,
|
|
4
5
|
useNavigation,
|
|
5
6
|
} from '@react-navigation/native'
|
|
6
7
|
import { useCallback, useEffect, useRef, useState } from 'react'
|
|
7
8
|
|
|
8
9
|
import { useOneRouter } from '../router/router'
|
|
9
10
|
|
|
10
|
-
type GenericNavigation = NavigationProp<
|
|
11
|
+
type GenericNavigation = NavigationProp<ParamListBase> & {
|
|
11
12
|
getState(): NavigationState | undefined
|
|
12
13
|
}
|
|
13
14
|
|