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.
Files changed (964) hide show
  1. package/dist/cjs/Root.native.js.map +1 -1
  2. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
  3. package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -1
  4. package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -1
  5. package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -1
  6. package/dist/cjs/__tests__/polyfills-mobile.test.native.js.map +1 -1
  7. package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -1
  8. package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -1
  9. package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
  10. package/dist/cjs/babel-plugins/one-router-metro.test.native.js.map +1 -1
  11. package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
  12. package/dist/cjs/babel-preset/index.native.js.map +1 -1
  13. package/dist/cjs/babel-preset/index.test.native.js.map +1 -1
  14. package/dist/cjs/babel-preset/integration.test.native.js.map +1 -1
  15. package/dist/cjs/cli/build.native.js.map +1 -1
  16. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  17. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  18. package/dist/cjs/cli/checkNodeVersion.native.js.map +1 -1
  19. package/dist/cjs/cli/daemon.native.js.map +1 -1
  20. package/dist/cjs/cli/dev.native.js.map +1 -1
  21. package/dist/cjs/cli/generateBundlerConfig.native.js.map +1 -1
  22. package/dist/cjs/cli/generateBundlerConfig.test.native.js.map +1 -1
  23. package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
  24. package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
  25. package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
  26. package/dist/cjs/cli/install-error-handlers.native.js.map +1 -1
  27. package/dist/cjs/cli/label-process.native.js.map +1 -1
  28. package/dist/cjs/cli/main.native.js.map +1 -1
  29. package/dist/cjs/cli/patch.native.js.map +1 -1
  30. package/dist/cjs/cli/patch.test.native.js.map +1 -1
  31. package/dist/cjs/cli/prebuild.native.js.map +1 -1
  32. package/dist/cjs/cli/prebuild.test.native.js.map +1 -1
  33. package/dist/cjs/cli/runAndroid.native.js.map +1 -1
  34. package/dist/cjs/cli/runIos.native.js.map +1 -1
  35. package/dist/cjs/cli/securityScan.native.js.map +1 -1
  36. package/dist/cjs/cli/serverRouteModules.native.js.map +1 -1
  37. package/dist/cjs/cli/workerPool.native.js.map +1 -1
  38. package/dist/cjs/cli.native.js.map +1 -1
  39. package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
  40. package/dist/cjs/config.native.js.map +1 -1
  41. package/dist/cjs/constants.native.js.map +1 -1
  42. package/dist/cjs/constants.test.native.js.map +1 -1
  43. package/dist/cjs/createAPIRoute.native.js.map +1 -1
  44. package/dist/cjs/createApp.native.js +25 -1
  45. package/dist/cjs/createApp.native.js.map +1 -1
  46. package/dist/cjs/createDevHandleRequest.native.js.map +1 -1
  47. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  48. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  49. package/dist/cjs/createMiddleware.native.js.map +1 -1
  50. package/dist/cjs/daemon/index.native.js.map +1 -1
  51. package/dist/cjs/daemon/ipc.native.js.map +1 -1
  52. package/dist/cjs/daemon/picker.native.js.map +1 -1
  53. package/dist/cjs/daemon/proxy.native.js.map +1 -1
  54. package/dist/cjs/daemon/registry.native.js.map +1 -1
  55. package/dist/cjs/daemon/server.native.js.map +1 -1
  56. package/dist/cjs/daemon/tui.native.js.map +1 -1
  57. package/dist/cjs/daemon/types.native.js.map +1 -1
  58. package/dist/cjs/daemon/utils.native.js.map +1 -1
  59. package/dist/cjs/devtools/registry.native.js.map +1 -1
  60. package/dist/cjs/drawer.native.js.map +1 -1
  61. package/dist/cjs/fallbackViews/Sitemap.cjs +1 -1
  62. package/dist/cjs/fallbackViews/Sitemap.native.js +1 -1
  63. package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
  64. package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
  65. package/dist/cjs/fork/NavigationContainer.cjs +25 -51
  66. package/dist/cjs/fork/NavigationContainer.native.js +29 -56
  67. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  68. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
  69. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
  70. package/dist/cjs/fork/_shared.native.js.map +1 -1
  71. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  72. package/dist/cjs/fork/createMemoryHistory.test.native.js.map +1 -1
  73. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  74. package/dist/cjs/fork/extractPathFromURL.test.native.js.map +1 -1
  75. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  76. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  77. package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
  78. package/dist/cjs/fork/getPathFromState.test.native.js.map +1 -1
  79. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  80. package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
  81. package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
  82. package/dist/cjs/fork/useLinking.cjs +18 -15
  83. package/dist/cjs/fork/useLinking.native.js +12 -21
  84. package/dist/cjs/fork/useLinking.native.js.map +1 -1
  85. package/dist/cjs/fork/useLinking.native.test.cjs +1 -1
  86. package/dist/cjs/fork/useLinking.native.test.native.js +1 -1
  87. package/dist/cjs/fork/useLinking.native.test.native.js.map +1 -1
  88. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  89. package/dist/cjs/fork/validatePathConfig.cjs +9 -2
  90. package/dist/cjs/fork/validatePathConfig.native.js +9 -2
  91. package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
  92. package/dist/cjs/getReactNavigationConfig.cjs +49 -4
  93. package/dist/cjs/getReactNavigationConfig.native.js +55 -4
  94. package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
  95. package/dist/cjs/getURL.native.test.native.js.map +1 -1
  96. package/dist/cjs/head/Head.native.js.map +1 -1
  97. package/dist/cjs/head/HeadModule.native.js.map +1 -1
  98. package/dist/cjs/head/index.native.js.map +1 -1
  99. package/dist/cjs/head/types.native.js.map +1 -1
  100. package/dist/cjs/head/url.native.js.map +1 -1
  101. package/dist/cjs/headless/Presentations.native.js.map +1 -1
  102. package/dist/cjs/headless/__tests__/useStack.test.cjs +7 -15
  103. package/dist/cjs/headless/__tests__/useStack.test.native.js +7 -15
  104. package/dist/cjs/headless/__tests__/useStack.test.native.js.map +1 -1
  105. package/dist/cjs/headless/children.native.js.map +1 -1
  106. package/dist/cjs/headless/keepMounted.native.js.map +1 -1
  107. package/dist/cjs/headless/types.native.js.map +1 -1
  108. package/dist/cjs/headless/useDrawer.native.js.map +1 -1
  109. package/dist/cjs/headless/useStack.cjs +1 -2
  110. package/dist/cjs/headless/useStack.native.js +1 -2
  111. package/dist/cjs/headless/useStack.native.js.map +1 -1
  112. package/dist/cjs/headless/useTabs.native.js.map +1 -1
  113. package/dist/cjs/headless-server.native.js.map +1 -1
  114. package/dist/cjs/headless.native.js.map +1 -1
  115. package/dist/cjs/hooks.native.js.map +1 -1
  116. package/dist/cjs/hooks.test.native.js.map +1 -1
  117. package/dist/cjs/href.native.js.map +1 -1
  118. package/dist/cjs/image/getImageData.native.js.map +1 -1
  119. package/dist/cjs/image.native.js.map +1 -1
  120. package/dist/cjs/index.native.js +1 -1
  121. package/dist/cjs/index.native.js.map +1 -1
  122. package/dist/cjs/interfaces/router.native.js.map +1 -1
  123. package/dist/cjs/layouts/Drawer.native.js.map +1 -1
  124. package/dist/cjs/layouts/Stack.cjs +9 -12
  125. package/dist/cjs/layouts/Stack.native.js +11 -14
  126. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  127. package/dist/cjs/layouts/Tabs.native.js +3 -84
  128. package/dist/cjs/layouts/Tabs.native.js.map +1 -1
  129. package/dist/cjs/layouts/nativeTabsOptions.cjs +49 -0
  130. package/dist/cjs/layouts/nativeTabsOptions.native.js +52 -0
  131. package/dist/cjs/layouts/nativeTabsOptions.native.js.map +1 -0
  132. package/dist/cjs/layouts/stack-navigator.native.js.map +1 -1
  133. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.cjs +4 -1
  134. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js +4 -1
  135. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  136. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  137. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  138. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  139. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
  140. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.cjs +2 -2
  141. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js +2 -2
  142. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  143. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +3 -6
  144. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +4 -7
  145. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  146. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +14 -14
  147. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +14 -14
  148. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  149. package/dist/cjs/layouts/stack-utils/index.cjs +0 -2
  150. package/dist/cjs/layouts/stack-utils/index.native.js +0 -2
  151. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  152. package/dist/cjs/layouts/withLayoutContext.cjs +0 -1
  153. package/dist/cjs/layouts/withLayoutContext.native.js +0 -1
  154. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  155. package/dist/cjs/layouts/withLayoutContext.test.cjs +18 -0
  156. package/dist/cjs/layouts/withLayoutContext.test.native.js +24 -0
  157. package/dist/cjs/layouts/withLayoutContext.test.native.js.map +1 -1
  158. package/dist/cjs/lazyWithRetry.native.js.map +1 -1
  159. package/dist/cjs/link/Link.native.js.map +1 -1
  160. package/dist/cjs/link/Redirect.native.js.map +1 -1
  161. package/dist/cjs/link/Redirect.test.native.js.map +1 -1
  162. package/dist/cjs/link/getLinking.native.js.map +1 -1
  163. package/dist/cjs/link/href.native.js.map +1 -1
  164. package/dist/cjs/link/path.native.js.map +1 -1
  165. package/dist/cjs/link/prefetchIntent.native.js.map +1 -1
  166. package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -1
  167. package/dist/cjs/link/prefetchViewport.native.js.map +1 -1
  168. package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -1
  169. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  170. package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
  171. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
  172. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.test.native.js.map +1 -1
  173. package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -1
  174. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +1 -1
  175. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  176. package/dist/cjs/metro-config/withOne.native.js.map +1 -1
  177. package/dist/cjs/metro-config/withOne.test.native.js.map +1 -1
  178. package/dist/cjs/native-transforms.native.js.map +1 -1
  179. package/dist/cjs/notFoundState.native.js.map +1 -1
  180. package/dist/cjs/package-exports.test.native.js.map +1 -1
  181. package/dist/cjs/polyfills-mobile.native.js.map +1 -1
  182. package/dist/cjs/polyfills-server.native.js.map +1 -1
  183. package/dist/cjs/router/FlagsContext.native.js.map +1 -1
  184. package/dist/cjs/router/Route.cjs +10 -3
  185. package/dist/cjs/router/Route.native.js +13 -3
  186. package/dist/cjs/router/Route.native.js.map +1 -1
  187. package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
  188. package/dist/cjs/router/RouterStore.native.js.map +1 -1
  189. package/dist/cjs/router/SpaShellContext.native.js.map +1 -1
  190. package/dist/cjs/router/conditionalSlotPathname.test.native.js.map +1 -1
  191. package/dist/cjs/router/createRoute.native.js.map +1 -1
  192. package/dist/cjs/router/diagnoseRouteLoadFailure.native.js.map +1 -1
  193. package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
  194. package/dist/cjs/router/findRouteNode.cjs +10 -10
  195. package/dist/cjs/router/findRouteNode.native.js +13 -29
  196. package/dist/cjs/router/findRouteNode.native.js.map +1 -1
  197. package/dist/cjs/router/findRouteNode.test.cjs +88 -0
  198. package/dist/cjs/router/findRouteNode.test.native.js +94 -0
  199. package/dist/cjs/router/findRouteNode.test.native.js.map +1 -0
  200. package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
  201. package/dist/cjs/router/getLinkingConfig.test.cjs +9 -0
  202. package/dist/cjs/router/getLinkingConfig.test.native.js +9 -0
  203. package/dist/cjs/router/getLinkingConfig.test.native.js.map +1 -1
  204. package/dist/cjs/router/getNormalizedStatePath.cjs +2 -1
  205. package/dist/cjs/router/getNormalizedStatePath.native.js +2 -1
  206. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  207. package/dist/cjs/router/getRouteArtifactPath.native.js.map +1 -1
  208. package/dist/cjs/router/getRouteArtifactPath.test.native.js.map +1 -1
  209. package/dist/cjs/router/getRouteInfo.cjs +6 -2
  210. package/dist/cjs/router/getRouteInfo.native.js +6 -2
  211. package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
  212. package/dist/cjs/router/getRouteInfo.test.cjs +56 -0
  213. package/dist/cjs/router/getRouteInfo.test.native.js +65 -0
  214. package/dist/cjs/router/getRouteInfo.test.native.js.map +1 -0
  215. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  216. package/dist/cjs/router/getRoutes.test.native.js.map +1 -1
  217. package/dist/cjs/router/glob-patterns.native.js.map +1 -1
  218. package/dist/cjs/router/hmrImport.native.test.native.js.map +1 -1
  219. package/dist/cjs/router/imperative-api.native.js.map +1 -1
  220. package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
  221. package/dist/cjs/router/isIndexPath.cjs +1 -1
  222. package/dist/cjs/router/isIndexPath.native.js +2 -1
  223. package/dist/cjs/router/isIndexPath.native.js.map +1 -1
  224. package/dist/cjs/router/isStateAwaitingNavigatorMount.cjs +2 -1
  225. package/dist/cjs/router/isStateAwaitingNavigatorMount.native.js +2 -1
  226. package/dist/cjs/router/isStateAwaitingNavigatorMount.native.js.map +1 -1
  227. package/dist/cjs/router/lastAction.native.js.map +1 -1
  228. package/dist/cjs/router/linkToOrphaned.test.native.js.map +1 -1
  229. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  230. package/dist/cjs/router/matchers.native.js.map +1 -1
  231. package/dist/cjs/router/matchers.test.native.js.map +1 -1
  232. package/dist/cjs/router/params.native.js.map +1 -1
  233. package/dist/cjs/router/path.cjs +1 -0
  234. package/dist/cjs/router/path.native.js +1 -0
  235. package/dist/cjs/router/path.native.js.map +1 -1
  236. package/dist/cjs/router/path.test.native.js.map +1 -1
  237. package/dist/cjs/router/protectedRoutes.test.native.js.map +1 -1
  238. package/dist/cjs/router/routeHmr.native.js +2 -5
  239. package/dist/cjs/router/routeHmr.native.js.map +1 -1
  240. package/dist/cjs/router/routeHmr.native.test.cjs +23 -9
  241. package/dist/cjs/router/routeHmr.native.test.native.js +27 -9
  242. package/dist/cjs/router/routeHmr.native.test.native.js.map +1 -1
  243. package/dist/cjs/router/router.cjs +12 -14
  244. package/dist/cjs/router/router.native.js +13 -14
  245. package/dist/cjs/router/router.native.js.map +1 -1
  246. package/dist/cjs/router/serverLocationContext.native.js.map +1 -1
  247. package/dist/cjs/router/sitemap.native.js.map +1 -1
  248. package/dist/cjs/router/sitemap.test.native.js.map +1 -1
  249. package/dist/cjs/router/sortRoutes.native.js.map +1 -1
  250. package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
  251. package/dist/cjs/router/useInitializeOneRouter.preview-lifecycle.test.native.js.map +1 -1
  252. package/dist/cjs/router/useNavigation.cjs +30 -8
  253. package/dist/cjs/router/useNavigation.native.js +32 -8
  254. package/dist/cjs/router/useNavigation.native.js.map +1 -1
  255. package/dist/cjs/router/useScreens.cjs +19 -21
  256. package/dist/cjs/router/useScreens.native.js +19 -21
  257. package/dist/cjs/router/useScreens.native.js.map +1 -1
  258. package/dist/cjs/router/useScreens.test.cjs +78 -0
  259. package/dist/cjs/router/useScreens.test.native.js +88 -1
  260. package/dist/cjs/router/useScreens.test.native.js.map +1 -1
  261. package/dist/cjs/router/useViteRoutes.cjs +3 -2
  262. package/dist/cjs/router/useViteRoutes.native.js +3 -2
  263. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  264. package/dist/cjs/router/useViteRoutes.test.native.js.map +1 -1
  265. package/dist/cjs/router/utils/getNavigateAction.cjs +2 -2
  266. package/dist/cjs/router/utils/getNavigateAction.native.js +5 -4
  267. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  268. package/dist/cjs/router/utils/getNavigateAction.test.cjs +37 -6
  269. package/dist/cjs/router/utils/getNavigateAction.test.native.js +37 -6
  270. package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
  271. package/dist/cjs/router/web/WebStackNavigator.native.js.map +1 -1
  272. package/dist/cjs/router/web/WebStackView.cjs +1 -1
  273. package/dist/cjs/router/web/WebStackView.native.js +1 -1
  274. package/dist/cjs/router/web/WebStackView.native.js.map +1 -1
  275. package/dist/cjs/router/web/__tests__/stackStateUtils.test.cjs +21 -1
  276. package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js +23 -1
  277. package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js.map +1 -1
  278. package/dist/cjs/router/web/stackStateUtils.cjs +1 -1
  279. package/dist/cjs/router/web/stackStateUtils.native.js +1 -1
  280. package/dist/cjs/router/web/stackStateUtils.native.js.map +1 -1
  281. package/dist/cjs/serve-worker.native.js.map +1 -1
  282. package/dist/cjs/serve.native.js.map +1 -1
  283. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  284. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  285. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  286. package/dist/cjs/server/getServerManifest.test.native.js.map +1 -1
  287. package/dist/cjs/server/oneServe.native.js.map +1 -1
  288. package/dist/cjs/server/routeExportsFromEntry.native.js.map +1 -1
  289. package/dist/cjs/server/setServerGlobals.native.js.map +1 -1
  290. package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
  291. package/dist/cjs/server/setupServerGlobals.native.js.map +1 -1
  292. package/dist/cjs/server/ssrLoaderData.native.js.map +1 -1
  293. package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
  294. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  295. package/dist/cjs/server/workerHandler.test.native.js.map +1 -1
  296. package/dist/cjs/server-render.native.js.map +1 -1
  297. package/dist/cjs/skewProtection.native.js.map +1 -1
  298. package/dist/cjs/testing-utils.native.js.map +1 -1
  299. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  300. package/dist/cjs/typed-routes/generateRouteTypes.test.native.js.map +1 -1
  301. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  302. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -1
  303. package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
  304. package/dist/cjs/types.native.js.map +1 -1
  305. package/dist/cjs/ui/Slot.cjs +3 -3
  306. package/dist/cjs/ui/Slot.native.js +1 -25
  307. package/dist/cjs/ui/Slot.native.js.map +1 -1
  308. package/dist/cjs/ui/TabContext.native.js.map +1 -1
  309. package/dist/cjs/ui/TabList.cjs +4 -5
  310. package/dist/cjs/ui/TabList.native.js +2 -15
  311. package/dist/cjs/ui/TabList.native.js.map +1 -1
  312. package/dist/cjs/ui/TabRouter.native.js.map +1 -1
  313. package/dist/cjs/ui/TabSlot.cjs +3 -3
  314. package/dist/cjs/ui/TabSlot.native.js +11 -43
  315. package/dist/cjs/ui/TabSlot.native.js.map +1 -1
  316. package/dist/cjs/ui/TabTrigger.cjs +3 -3
  317. package/dist/cjs/ui/TabTrigger.native.js +24 -22
  318. package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
  319. package/dist/cjs/ui/Tabs.cjs +9 -10
  320. package/dist/cjs/ui/Tabs.native.js +2 -9
  321. package/dist/cjs/ui/Tabs.native.js.map +1 -1
  322. package/dist/cjs/ui/Tabs.shared.cjs +1 -4
  323. package/dist/cjs/ui/Tabs.shared.native.js +1 -4
  324. package/dist/cjs/ui/Tabs.shared.native.js.map +1 -1
  325. package/dist/cjs/ui/common.cjs +6 -5
  326. package/dist/cjs/ui/common.native.js +10 -7
  327. package/dist/cjs/ui/common.native.js.map +1 -1
  328. package/dist/cjs/ui/index.native.js +2 -4
  329. package/dist/cjs/ui/index.native.js.map +1 -1
  330. package/dist/cjs/ui/useComponent.native.js.map +1 -1
  331. package/dist/cjs/ui/useTabTrigger.native.js.map +1 -1
  332. package/dist/cjs/useFocusEffect.cjs +7 -1
  333. package/dist/cjs/useFocusEffect.native.js +9 -4
  334. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  335. package/dist/cjs/useLoader.native.js.map +1 -1
  336. package/dist/cjs/useMatches.native.js.map +1 -1
  337. package/dist/cjs/useMatches.test.native.js.map +1 -1
  338. package/dist/cjs/useServerHeadInsertion.native.js.map +1 -1
  339. package/dist/cjs/utils/assertIsReady.native.js.map +1 -1
  340. package/dist/cjs/utils/buildOutputPointer.native.js.map +1 -1
  341. package/dist/cjs/utils/buildOutputPointer.test.native.js.map +1 -1
  342. package/dist/cjs/utils/children.native.js.map +1 -1
  343. package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
  344. package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
  345. package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
  346. package/dist/cjs/utils/dynamicImport.test.native.js.map +1 -1
  347. package/dist/cjs/utils/ensureExists.native.js.map +1 -1
  348. package/dist/cjs/utils/evictOldest.native.js.map +1 -1
  349. package/dist/cjs/utils/existsAsync.native.js.map +1 -1
  350. package/dist/cjs/utils/findRootLayout.native.js.map +1 -1
  351. package/dist/cjs/utils/getPageExport.native.js.map +1 -1
  352. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
  353. package/dist/cjs/utils/getPathnameFromFilePath.test.native.js.map +1 -1
  354. package/dist/cjs/utils/getRouterRootFromOneOptions.native.js.map +1 -1
  355. package/dist/cjs/utils/globDir.native.js.map +1 -1
  356. package/dist/cjs/utils/hashString.native.js.map +1 -1
  357. package/dist/cjs/utils/htmlEscape.native.js.map +1 -1
  358. package/dist/cjs/utils/isResponse.native.js.map +1 -1
  359. package/dist/cjs/utils/isRolldown.native.js.map +1 -1
  360. package/dist/cjs/utils/isStatus.native.js.map +1 -1
  361. package/dist/cjs/utils/pLimit.native.js.map +1 -1
  362. package/dist/cjs/utils/platform.native.js.map +1 -1
  363. package/dist/cjs/utils/posixPathContract.test.native.js.map +1 -1
  364. package/dist/cjs/utils/promiseWithResolvers.native.js.map +1 -1
  365. package/dist/cjs/utils/rand.native.js.map +1 -1
  366. package/dist/cjs/utils/redirect.native.js.map +1 -1
  367. package/dist/cjs/utils/removeParams.native.js.map +1 -1
  368. package/dist/cjs/utils/removeSearch.native.js.map +1 -1
  369. package/dist/cjs/utils/removeUndefined.native.js.map +1 -1
  370. package/dist/cjs/utils/routeFileWatch.native.js.map +1 -1
  371. package/dist/cjs/utils/routeFileWatch.test.native.js.map +1 -1
  372. package/dist/cjs/utils/routeIndex.native.js.map +1 -1
  373. package/dist/cjs/utils/routeIndex.test.native.js.map +1 -1
  374. package/dist/cjs/utils/style.native.js.map +1 -1
  375. package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
  376. package/dist/cjs/utils/toServerOutputPath.native.js.map +1 -1
  377. package/dist/cjs/utils/toServerOutputPath.test.native.js.map +1 -1
  378. package/dist/cjs/utils/trackLoaderDependencies.native.js.map +1 -1
  379. package/dist/cjs/utils/url.native.js.map +1 -1
  380. package/dist/cjs/utils/useConstant.native.js.map +1 -1
  381. package/dist/cjs/utils/watchFile.native.js.map +1 -1
  382. package/dist/cjs/utils/weakKey.native.js.map +1 -1
  383. package/dist/cjs/utils/weakMemo.native.js.map +1 -1
  384. package/dist/cjs/utils/withStaticProperties.native.js.map +1 -1
  385. package/dist/cjs/utils/workerImport.native.js.map +1 -1
  386. package/dist/cjs/validateParams.native.js.map +1 -1
  387. package/dist/cjs/validateSearch.native.js.map +1 -1
  388. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  389. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  390. package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +1 -1
  391. package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +1 -1
  392. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  393. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  394. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
  395. package/dist/cjs/views/EmptyRoute.native.js.map +1 -1
  396. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  397. package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
  398. package/dist/cjs/views/Navigator.cjs +2 -19
  399. package/dist/cjs/views/Navigator.native.js +2 -23
  400. package/dist/cjs/views/Navigator.native.js.map +1 -1
  401. package/dist/cjs/views/Protected.native.js.map +1 -1
  402. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  403. package/dist/cjs/views/RouteErrorView.native.js.map +1 -1
  404. package/dist/cjs/views/Screen.native.js.map +1 -1
  405. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  406. package/dist/cjs/views/ScrollBehavior.test.native.js.map +1 -1
  407. package/dist/cjs/views/SourceInspector.native.js.map +1 -1
  408. package/dist/cjs/views/SuspenseFallback.native.js.map +1 -1
  409. package/dist/cjs/views/Try.native.js.map +1 -1
  410. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  411. package/dist/cjs/vite/cloudflareWranglerConfig.native.js.map +1 -1
  412. package/dist/cjs/vite/cloudflareWranglerConfig.test.native.js.map +1 -1
  413. package/dist/cjs/vite/constants.native.js.map +1 -1
  414. package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
  415. package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
  416. package/dist/cjs/vite/findDepsToOptimize.native.js.map +1 -1
  417. package/dist/cjs/vite/getManifest.native.js.map +1 -1
  418. package/dist/cjs/vite/getManifest.test.native.js.map +1 -1
  419. package/dist/cjs/vite/loadConfig.native.js.map +1 -1
  420. package/dist/cjs/vite/makePluginWebOnly.native.js.map +1 -1
  421. package/dist/cjs/vite/one-server-only.test.native.js.map +1 -1
  422. package/dist/cjs/vite/one.native.js.map +1 -1
  423. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  424. package/dist/cjs/vite/plugins/bundledDevPlugin.native.js.map +1 -1
  425. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  426. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  427. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  428. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  429. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  430. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  431. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  432. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  433. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  434. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  435. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  436. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  437. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  438. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  439. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.native.js.map +1 -1
  440. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.test.native.js.map +1 -1
  441. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +7 -1
  442. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +7 -1
  443. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  444. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +15 -0
  445. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +16 -0
  446. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
  447. package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
  448. package/dist/cjs/vite/plugins/virtualEntryConstants.native.js.map +1 -1
  449. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  450. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  451. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  452. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  453. package/dist/cjs/vite/plugins/workerdDevPlugin.test.native.js.map +1 -1
  454. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  455. package/dist/cjs/vite/types.native.js.map +1 -1
  456. package/dist/cjs/vite-auto-warm.native.js.map +1 -1
  457. package/dist/cjs/vite.native.js.map +1 -1
  458. package/dist/cjs/zero/getQueryKey.native.js.map +1 -1
  459. package/dist/cjs/zero/isZeroQuery.native.js.map +1 -1
  460. package/dist/cjs/zero/resolveQuery.native.js.map +1 -1
  461. package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
  462. package/dist/cjs/zero/types.native.js.map +1 -1
  463. package/dist/cjs/zero/useQuery.native.js.map +1 -1
  464. package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
  465. package/dist/cjs/zero.native.js.map +1 -1
  466. package/dist/esm/createApp.native.js +25 -1
  467. package/dist/esm/createApp.native.js.map +1 -1
  468. package/dist/esm/fallbackViews/Sitemap.mjs +1 -1
  469. package/dist/esm/fallbackViews/Sitemap.mjs.map +1 -1
  470. package/dist/esm/fallbackViews/Sitemap.native.js +1 -1
  471. package/dist/esm/fallbackViews/Sitemap.native.js.map +1 -1
  472. package/dist/esm/fork/NavigationContainer.mjs +26 -52
  473. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  474. package/dist/esm/fork/NavigationContainer.native.js +30 -57
  475. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  476. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  477. package/dist/esm/fork/useLinking.mjs +18 -15
  478. package/dist/esm/fork/useLinking.mjs.map +1 -1
  479. package/dist/esm/fork/useLinking.native.js +12 -21
  480. package/dist/esm/fork/useLinking.native.js.map +1 -1
  481. package/dist/esm/fork/useLinking.native.test.js +12 -17
  482. package/dist/esm/fork/useLinking.native.test.js.map +1 -1
  483. package/dist/esm/fork/useLinking.native.test.mjs +2 -2
  484. package/dist/esm/fork/useLinking.native.test.mjs.map +1 -1
  485. package/dist/esm/fork/useLinking.native.test.native.js +1 -1
  486. package/dist/esm/fork/useLinking.native.test.native.js.map +1 -1
  487. package/dist/esm/fork/validatePathConfig.mjs +9 -2
  488. package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
  489. package/dist/esm/fork/validatePathConfig.native.js +9 -2
  490. package/dist/esm/fork/validatePathConfig.native.js.map +1 -1
  491. package/dist/esm/getReactNavigationConfig.mjs +48 -5
  492. package/dist/esm/getReactNavigationConfig.mjs.map +1 -1
  493. package/dist/esm/getReactNavigationConfig.native.js +54 -5
  494. package/dist/esm/getReactNavigationConfig.native.js.map +1 -1
  495. package/dist/esm/getURL.native.test.mjs +1 -1
  496. package/dist/esm/headless/__tests__/useStack.test.mjs +7 -15
  497. package/dist/esm/headless/__tests__/useStack.test.mjs.map +1 -1
  498. package/dist/esm/headless/__tests__/useStack.test.native.js +7 -15
  499. package/dist/esm/headless/__tests__/useStack.test.native.js.map +1 -1
  500. package/dist/esm/headless/useStack.mjs +1 -2
  501. package/dist/esm/headless/useStack.mjs.map +1 -1
  502. package/dist/esm/headless/useStack.native.js +1 -2
  503. package/dist/esm/headless/useStack.native.js.map +1 -1
  504. package/dist/esm/index.js.map +1 -1
  505. package/dist/esm/index.mjs.map +1 -1
  506. package/dist/esm/index.native.js.map +1 -1
  507. package/dist/esm/interfaces/router.mjs.map +1 -1
  508. package/dist/esm/interfaces/router.native.js.map +1 -1
  509. package/dist/esm/layouts/Stack.mjs +10 -13
  510. package/dist/esm/layouts/Stack.mjs.map +1 -1
  511. package/dist/esm/layouts/Stack.native.js +11 -14
  512. package/dist/esm/layouts/Stack.native.js.map +1 -1
  513. package/dist/esm/layouts/Tabs.native.js +4 -74
  514. package/dist/esm/layouts/Tabs.native.js.map +1 -1
  515. package/dist/esm/layouts/nativeTabsOptions.mjs +24 -0
  516. package/dist/esm/layouts/nativeTabsOptions.mjs.map +1 -0
  517. package/dist/esm/layouts/nativeTabsOptions.native.js +24 -0
  518. package/dist/esm/layouts/nativeTabsOptions.native.js.map +1 -0
  519. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs +4 -1
  520. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs.map +1 -1
  521. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js +4 -1
  522. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  523. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs +2 -2
  524. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs.map +1 -1
  525. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js +2 -2
  526. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  527. package/dist/esm/layouts/stack-utils/StackScreen.mjs +3 -6
  528. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  529. package/dist/esm/layouts/stack-utils/StackScreen.native.js +4 -7
  530. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  531. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +14 -14
  532. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -1
  533. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +14 -14
  534. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  535. package/dist/esm/layouts/stack-utils/index.mjs +1 -2
  536. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  537. package/dist/esm/layouts/stack-utils/index.native.js +1 -2
  538. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  539. package/dist/esm/layouts/withLayoutContext.mjs +0 -1
  540. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  541. package/dist/esm/layouts/withLayoutContext.native.js +0 -1
  542. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  543. package/dist/esm/layouts/withLayoutContext.test.mjs +18 -0
  544. package/dist/esm/layouts/withLayoutContext.test.mjs.map +1 -1
  545. package/dist/esm/layouts/withLayoutContext.test.native.js +24 -0
  546. package/dist/esm/layouts/withLayoutContext.test.native.js.map +1 -1
  547. package/dist/esm/link/useLoadedNavigation.mjs.map +1 -1
  548. package/dist/esm/link/useLoadedNavigation.native.js.map +1 -1
  549. package/dist/esm/router/Route.mjs +9 -3
  550. package/dist/esm/router/Route.mjs.map +1 -1
  551. package/dist/esm/router/Route.native.js +12 -3
  552. package/dist/esm/router/Route.native.js.map +1 -1
  553. package/dist/esm/router/findRouteNode.mjs +10 -10
  554. package/dist/esm/router/findRouteNode.mjs.map +1 -1
  555. package/dist/esm/router/findRouteNode.native.js +13 -29
  556. package/dist/esm/router/findRouteNode.native.js.map +1 -1
  557. package/dist/esm/router/findRouteNode.test.mjs +89 -0
  558. package/dist/esm/router/findRouteNode.test.mjs.map +1 -0
  559. package/dist/esm/router/findRouteNode.test.native.js +92 -0
  560. package/dist/esm/router/findRouteNode.test.native.js.map +1 -0
  561. package/dist/esm/router/getLinkingConfig.test.mjs +9 -0
  562. package/dist/esm/router/getLinkingConfig.test.mjs.map +1 -1
  563. package/dist/esm/router/getLinkingConfig.test.native.js +9 -0
  564. package/dist/esm/router/getLinkingConfig.test.native.js.map +1 -1
  565. package/dist/esm/router/getNormalizedStatePath.mjs +2 -1
  566. package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
  567. package/dist/esm/router/getNormalizedStatePath.native.js +2 -1
  568. package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
  569. package/dist/esm/router/getRouteInfo.mjs +5 -2
  570. package/dist/esm/router/getRouteInfo.mjs.map +1 -1
  571. package/dist/esm/router/getRouteInfo.native.js +5 -2
  572. package/dist/esm/router/getRouteInfo.native.js.map +1 -1
  573. package/dist/esm/router/getRouteInfo.test.mjs +57 -0
  574. package/dist/esm/router/getRouteInfo.test.mjs.map +1 -0
  575. package/dist/esm/router/getRouteInfo.test.native.js +63 -0
  576. package/dist/esm/router/getRouteInfo.test.native.js.map +1 -0
  577. package/dist/esm/router/hmrImport.native.test.mjs +1 -1
  578. package/dist/esm/router/isIndexPath.mjs +1 -1
  579. package/dist/esm/router/isIndexPath.mjs.map +1 -1
  580. package/dist/esm/router/isIndexPath.native.js +2 -1
  581. package/dist/esm/router/isIndexPath.native.js.map +1 -1
  582. package/dist/esm/router/isStateAwaitingNavigatorMount.mjs +2 -1
  583. package/dist/esm/router/isStateAwaitingNavigatorMount.mjs.map +1 -1
  584. package/dist/esm/router/isStateAwaitingNavigatorMount.native.js +2 -1
  585. package/dist/esm/router/isStateAwaitingNavigatorMount.native.js.map +1 -1
  586. package/dist/esm/router/path.mjs +1 -1
  587. package/dist/esm/router/path.mjs.map +1 -1
  588. package/dist/esm/router/path.native.js +1 -1
  589. package/dist/esm/router/path.native.js.map +1 -1
  590. package/dist/esm/router/routeHmr.native.js +2 -5
  591. package/dist/esm/router/routeHmr.native.js.map +1 -1
  592. package/dist/esm/router/routeHmr.native.test.js +21 -11
  593. package/dist/esm/router/routeHmr.native.test.js.map +1 -1
  594. package/dist/esm/router/routeHmr.native.test.mjs +24 -10
  595. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
  596. package/dist/esm/router/routeHmr.native.test.native.js +27 -9
  597. package/dist/esm/router/routeHmr.native.test.native.js.map +1 -1
  598. package/dist/esm/router/router.mjs +11 -13
  599. package/dist/esm/router/router.mjs.map +1 -1
  600. package/dist/esm/router/router.native.js +12 -13
  601. package/dist/esm/router/router.native.js.map +1 -1
  602. package/dist/esm/router/useInitializeOneRouter.mjs.map +1 -1
  603. package/dist/esm/router/useInitializeOneRouter.native.js.map +1 -1
  604. package/dist/esm/router/useNavigation.mjs +32 -11
  605. package/dist/esm/router/useNavigation.mjs.map +1 -1
  606. package/dist/esm/router/useNavigation.native.js +34 -11
  607. package/dist/esm/router/useNavigation.native.js.map +1 -1
  608. package/dist/esm/router/useScreens.mjs +19 -20
  609. package/dist/esm/router/useScreens.mjs.map +1 -1
  610. package/dist/esm/router/useScreens.native.js +19 -20
  611. package/dist/esm/router/useScreens.native.js.map +1 -1
  612. package/dist/esm/router/useScreens.test.mjs +76 -0
  613. package/dist/esm/router/useScreens.test.mjs.map +1 -1
  614. package/dist/esm/router/useScreens.test.native.js +86 -0
  615. package/dist/esm/router/useScreens.test.native.js.map +1 -1
  616. package/dist/esm/router/useViteRoutes.mjs +3 -2
  617. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  618. package/dist/esm/router/useViteRoutes.native.js +3 -2
  619. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  620. package/dist/esm/router/utils/getNavigateAction.mjs +2 -2
  621. package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -1
  622. package/dist/esm/router/utils/getNavigateAction.native.js +5 -4
  623. package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
  624. package/dist/esm/router/utils/getNavigateAction.test.mjs +37 -6
  625. package/dist/esm/router/utils/getNavigateAction.test.mjs.map +1 -1
  626. package/dist/esm/router/utils/getNavigateAction.test.native.js +37 -6
  627. package/dist/esm/router/utils/getNavigateAction.test.native.js.map +1 -1
  628. package/dist/esm/router/web/WebStackView.mjs +1 -1
  629. package/dist/esm/router/web/WebStackView.mjs.map +1 -1
  630. package/dist/esm/router/web/WebStackView.native.js +1 -1
  631. package/dist/esm/router/web/WebStackView.native.js.map +1 -1
  632. package/dist/esm/router/web/__tests__/stackStateUtils.test.mjs +21 -1
  633. package/dist/esm/router/web/__tests__/stackStateUtils.test.mjs.map +1 -1
  634. package/dist/esm/router/web/__tests__/stackStateUtils.test.native.js +23 -1
  635. package/dist/esm/router/web/__tests__/stackStateUtils.test.native.js.map +1 -1
  636. package/dist/esm/router/web/stackStateUtils.mjs +1 -1
  637. package/dist/esm/router/web/stackStateUtils.mjs.map +1 -1
  638. package/dist/esm/router/web/stackStateUtils.native.js +1 -1
  639. package/dist/esm/router/web/stackStateUtils.native.js.map +1 -1
  640. package/dist/esm/ui/Slot.mjs.map +1 -1
  641. package/dist/esm/ui/Slot.native.js +1 -25
  642. package/dist/esm/ui/Slot.native.js.map +1 -1
  643. package/dist/esm/ui/TabContext.mjs.map +1 -1
  644. package/dist/esm/ui/TabContext.native.js.map +1 -1
  645. package/dist/esm/ui/TabList.mjs +1 -2
  646. package/dist/esm/ui/TabList.mjs.map +1 -1
  647. package/dist/esm/ui/TabList.native.js +2 -15
  648. package/dist/esm/ui/TabList.native.js.map +1 -1
  649. package/dist/esm/ui/TabSlot.mjs.map +1 -1
  650. package/dist/esm/ui/TabSlot.native.js +12 -44
  651. package/dist/esm/ui/TabSlot.native.js.map +1 -1
  652. package/dist/esm/ui/TabTrigger.mjs.map +1 -1
  653. package/dist/esm/ui/TabTrigger.native.js +25 -23
  654. package/dist/esm/ui/TabTrigger.native.js.map +1 -1
  655. package/dist/esm/ui/Tabs.mjs +1 -2
  656. package/dist/esm/ui/Tabs.mjs.map +1 -1
  657. package/dist/esm/ui/Tabs.native.js +2 -9
  658. package/dist/esm/ui/Tabs.native.js.map +1 -1
  659. package/dist/esm/ui/Tabs.shared.mjs +1 -4
  660. package/dist/esm/ui/Tabs.shared.mjs.map +1 -1
  661. package/dist/esm/ui/Tabs.shared.native.js +1 -4
  662. package/dist/esm/ui/Tabs.shared.native.js.map +1 -1
  663. package/dist/esm/ui/common.mjs +6 -5
  664. package/dist/esm/ui/common.mjs.map +1 -1
  665. package/dist/esm/ui/common.native.js +10 -7
  666. package/dist/esm/ui/common.native.js.map +1 -1
  667. package/dist/esm/ui/index.native.js +1 -1
  668. package/dist/esm/ui/index.native.js.map +1 -1
  669. package/dist/esm/useFocusEffect.mjs +8 -2
  670. package/dist/esm/useFocusEffect.mjs.map +1 -1
  671. package/dist/esm/useFocusEffect.native.js +10 -5
  672. package/dist/esm/useFocusEffect.native.js.map +1 -1
  673. package/dist/esm/views/Navigator.mjs +2 -19
  674. package/dist/esm/views/Navigator.mjs.map +1 -1
  675. package/dist/esm/views/Navigator.native.js +2 -23
  676. package/dist/esm/views/Navigator.native.js.map +1 -1
  677. package/dist/esm/vite/one.mjs.map +1 -1
  678. package/dist/esm/vite/one.native.js.map +1 -1
  679. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +7 -2
  680. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
  681. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +7 -2
  682. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  683. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +16 -1
  684. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -1
  685. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +17 -1
  686. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
  687. package/package.json +32 -47
  688. package/src/__mocks__/@react-navigation/native-stack.ts +2 -2
  689. package/src/createApp.native.tsx +23 -1
  690. package/src/fallbackViews/Sitemap.tsx +1 -1
  691. package/src/fallbackViews/Sitemap.web.tsx +1 -1
  692. package/src/fork/NavigationContainer.tsx +36 -80
  693. package/src/fork/getPathFromState.ts +3 -3
  694. package/src/fork/useLinking.native.test.tsx +11 -15
  695. package/src/fork/useLinking.native.ts +13 -27
  696. package/src/fork/useLinking.ts +24 -21
  697. package/src/fork/validatePathConfig.ts +11 -4
  698. package/src/getReactNavigationConfig.ts +96 -4
  699. package/src/headless/__tests__/useStack.test.tsx +4 -13
  700. package/src/headless/types.ts +1 -2
  701. package/src/headless/useStack.ts +1 -2
  702. package/src/index.ts +0 -12
  703. package/src/interfaces/router.ts +2 -2
  704. package/src/layouts/Drawer.tsx +4 -2
  705. package/src/layouts/Stack.tsx +17 -36
  706. package/src/layouts/Tabs.tsx +6 -81
  707. package/src/layouts/nativeTabsOptions.ts +38 -0
  708. package/src/layouts/stack-utils/README.md +0 -1
  709. package/src/layouts/stack-utils/StackHeaderBackButton.tsx +1 -1
  710. package/src/layouts/stack-utils/StackHeaderTitle.tsx +2 -2
  711. package/src/layouts/stack-utils/StackScreen.tsx +5 -26
  712. package/src/layouts/stack-utils/__tests__/composition.test.tsx +14 -14
  713. package/src/layouts/stack-utils/index.tsx +0 -17
  714. package/src/layouts/withLayoutContext.test.tsx +16 -0
  715. package/src/layouts/withLayoutContext.tsx +2 -2
  716. package/src/link/useLoadedNavigation.ts +2 -1
  717. package/src/router/Route.tsx +12 -2
  718. package/src/router/findRouteNode.test.ts +92 -0
  719. package/src/router/findRouteNode.ts +22 -17
  720. package/src/router/getLinkingConfig.test.ts +13 -0
  721. package/src/router/getNormalizedStatePath.tsx +2 -1
  722. package/src/router/getRouteInfo.test.ts +54 -0
  723. package/src/router/getRouteInfo.ts +5 -2
  724. package/src/router/isIndexPath.ts +5 -2
  725. package/src/router/isStateAwaitingNavigatorMount.ts +4 -1
  726. package/src/router/path.ts +1 -1
  727. package/src/router/routeHmr.native.test.ts +23 -11
  728. package/src/router/routeHmr.native.ts +6 -4
  729. package/src/router/router.ts +10 -9
  730. package/src/router/useInitializeOneRouter.ts +2 -2
  731. package/src/router/useNavigation.ts +49 -14
  732. package/src/router/useScreens.test.tsx +72 -0
  733. package/src/router/useScreens.tsx +15 -21
  734. package/src/router/useViteRoutes.tsx +3 -2
  735. package/src/router/utils/getNavigateAction.test.ts +28 -6
  736. package/src/router/utils/getNavigateAction.ts +6 -3
  737. package/src/router/web/WebStackView.tsx +1 -1
  738. package/src/router/web/__tests__/stackStateUtils.test.ts +23 -1
  739. package/src/router/web/stackStateUtils.ts +3 -2
  740. package/src/ui/README.md +8 -16
  741. package/src/ui/Slot.tsx +4 -38
  742. package/src/ui/TabContext.tsx +2 -7
  743. package/src/ui/TabList.tsx +7 -19
  744. package/src/ui/TabSlot.tsx +17 -60
  745. package/src/ui/TabTrigger.tsx +22 -30
  746. package/src/ui/Tabs.shared.tsx +3 -6
  747. package/src/ui/Tabs.tsx +3 -10
  748. package/src/ui/common.tsx +7 -5
  749. package/src/ui/index.native.ts +1 -0
  750. package/src/useFocusEffect.ts +14 -4
  751. package/src/views/Navigator.tsx +5 -21
  752. package/src/vite/one.ts +3 -1
  753. package/src/vite/plugins/sourceInspectorPlugin.test.ts +39 -1
  754. package/src/vite/plugins/sourceInspectorPlugin.ts +24 -3
  755. package/types/__mocks__/@react-navigation/native-stack.d.ts +2 -2
  756. package/types/__mocks__/@react-navigation/native-stack.d.ts.map +1 -1
  757. package/types/createApp.native.d.ts.map +1 -1
  758. package/types/fork/NavigationContainer.d.ts +2 -7
  759. package/types/fork/NavigationContainer.d.ts.map +1 -1
  760. package/types/fork/findFocusedRoute.d.ts +12 -2
  761. package/types/fork/findFocusedRoute.d.ts.map +1 -1
  762. package/types/fork/useLinking.d.ts +1 -1
  763. package/types/fork/useLinking.d.ts.map +1 -1
  764. package/types/fork/useLinking.native.d.ts +4 -20
  765. package/types/fork/useLinking.native.d.ts.map +1 -1
  766. package/types/fork/validatePathConfig.d.ts.map +1 -1
  767. package/types/getReactNavigationConfig.d.ts +10 -0
  768. package/types/getReactNavigationConfig.d.ts.map +1 -1
  769. package/types/headless/types.d.ts +1 -4
  770. package/types/headless/types.d.ts.map +1 -1
  771. package/types/headless/useStack.d.ts.map +1 -1
  772. package/types/index.d.ts +1 -1
  773. package/types/index.d.ts.map +1 -1
  774. package/types/interfaces/router.d.ts +2 -2
  775. package/types/interfaces/router.d.ts.map +1 -1
  776. package/types/layouts/Drawer.d.ts +3 -108
  777. package/types/layouts/Drawer.d.ts.map +1 -1
  778. package/types/layouts/Drawer.web.d.ts +189 -2
  779. package/types/layouts/Drawer.web.d.ts.map +1 -1
  780. package/types/layouts/Stack.d.ts +7 -120
  781. package/types/layouts/Stack.d.ts.map +1 -1
  782. package/types/layouts/Tabs.d.ts +5 -100
  783. package/types/layouts/Tabs.d.ts.map +1 -1
  784. package/types/layouts/nativeTabsOptions.d.ts +8 -0
  785. package/types/layouts/nativeTabsOptions.d.ts.map +1 -0
  786. package/types/layouts/stack-navigator.d.ts +1 -2
  787. package/types/layouts/stack-navigator.d.ts.map +1 -1
  788. package/types/layouts/stack-navigator.web.d.ts +1 -1
  789. package/types/layouts/stack-navigator.web.d.ts.map +1 -1
  790. package/types/layouts/stack-utils/StackScreen.d.ts +1 -2
  791. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  792. package/types/layouts/stack-utils/index.d.ts +1 -3
  793. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  794. package/types/layouts/withLayoutContext.d.ts +1 -2
  795. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  796. package/types/link/useLoadedNavigation.d.ts +2 -2
  797. package/types/link/useLoadedNavigation.d.ts.map +1 -1
  798. package/types/router/Route.d.ts +1 -0
  799. package/types/router/Route.d.ts.map +1 -1
  800. package/types/router/findRouteNode.d.ts +4 -1
  801. package/types/router/findRouteNode.d.ts.map +1 -1
  802. package/types/router/findRouteNode.test.d.ts +2 -0
  803. package/types/router/findRouteNode.test.d.ts.map +1 -0
  804. package/types/router/getNormalizedStatePath.d.ts.map +1 -1
  805. package/types/router/getRouteInfo.d.ts +5 -0
  806. package/types/router/getRouteInfo.d.ts.map +1 -1
  807. package/types/router/getRouteInfo.test.d.ts +2 -0
  808. package/types/router/getRouteInfo.test.d.ts.map +1 -0
  809. package/types/router/isIndexPath.d.ts.map +1 -1
  810. package/types/router/isStateAwaitingNavigatorMount.d.ts.map +1 -1
  811. package/types/router/path.d.ts +1 -0
  812. package/types/router/path.d.ts.map +1 -1
  813. package/types/router/routeHmr.native.d.ts.map +1 -1
  814. package/types/router/router.d.ts +2 -2
  815. package/types/router/router.d.ts.map +1 -1
  816. package/types/router/useNavigation.d.ts +4 -2
  817. package/types/router/useNavigation.d.ts.map +1 -1
  818. package/types/router/useScreens.d.ts +25 -1
  819. package/types/router/useScreens.d.ts.map +1 -1
  820. package/types/router/useViteRoutes.d.ts.map +1 -1
  821. package/types/router/utils/getNavigateAction.d.ts.map +1 -1
  822. package/types/router/web/WebStackNavigator.d.ts +1 -1
  823. package/types/router/web/WebStackNavigator.d.ts.map +1 -1
  824. package/types/router/web/stackStateUtils.d.ts +2 -1
  825. package/types/router/web/stackStateUtils.d.ts.map +1 -1
  826. package/types/ui/Slot.d.ts +2 -3
  827. package/types/ui/Slot.d.ts.map +1 -1
  828. package/types/ui/TabContext.d.ts +36 -84
  829. package/types/ui/TabContext.d.ts.map +1 -1
  830. package/types/ui/TabList.d.ts +4 -5
  831. package/types/ui/TabList.d.ts.map +1 -1
  832. package/types/ui/TabRouter.d.ts +31 -33
  833. package/types/ui/TabRouter.d.ts.map +1 -1
  834. package/types/ui/TabSlot.d.ts +5 -10
  835. package/types/ui/TabSlot.d.ts.map +1 -1
  836. package/types/ui/TabTrigger.d.ts +3 -2
  837. package/types/ui/TabTrigger.d.ts.map +1 -1
  838. package/types/ui/Tabs.d.ts.map +1 -1
  839. package/types/ui/Tabs.shared.d.ts +29 -137
  840. package/types/ui/Tabs.shared.d.ts.map +1 -1
  841. package/types/ui/common.d.ts +1 -1
  842. package/types/ui/common.d.ts.map +1 -1
  843. package/types/ui/index.native.d.ts +2 -0
  844. package/types/ui/index.native.d.ts.map +1 -0
  845. package/types/useFocusEffect.d.ts.map +1 -1
  846. package/types/views/Navigator.d.ts.map +1 -1
  847. package/types/views/Protected.d.ts +9 -1
  848. package/types/views/Protected.d.ts.map +1 -1
  849. package/types/vite/one.d.ts.map +1 -1
  850. package/types/vite/plugins/sourceInspectorPlugin.d.ts +9 -0
  851. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
  852. package/dist/cjs/layouts/NativeTabs.cjs +0 -65
  853. package/dist/cjs/layouts/NativeTabs.native.js +0 -68
  854. package/dist/cjs/layouts/NativeTabs.native.js.map +0 -1
  855. package/dist/cjs/layouts/NativeTabs.test.cjs +0 -24
  856. package/dist/cjs/layouts/NativeTabs.test.native.js +0 -35
  857. package/dist/cjs/layouts/NativeTabs.test.native.js.map +0 -1
  858. package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +0 -124
  859. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +0 -129
  860. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +0 -1
  861. package/dist/cjs/layouts/stack-utils/StackToolbar.shared.cjs +0 -57
  862. package/dist/cjs/layouts/stack-utils/StackToolbar.shared.native.js +0 -61
  863. package/dist/cjs/layouts/stack-utils/StackToolbar.shared.native.js.map +0 -1
  864. package/dist/cjs/layouts/stack-utils/StackToolbar.types.cjs +0 -18
  865. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js +0 -21
  866. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js.map +0 -1
  867. package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.cjs +0 -39
  868. package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.native.js +0 -41
  869. package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.native.js.map +0 -1
  870. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.cjs +0 -66
  871. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.native.js +0 -99
  872. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.native.js.map +0 -1
  873. package/dist/cjs/native-tabs.cjs +0 -29
  874. package/dist/cjs/native-tabs.native.js +0 -32
  875. package/dist/cjs/native-tabs.native.js.map +0 -1
  876. package/dist/cjs/stack-toolbar-implementation.cjs +0 -30
  877. package/dist/cjs/stack-toolbar-implementation.native.js +0 -33
  878. package/dist/cjs/stack-toolbar-implementation.native.js.map +0 -1
  879. package/dist/cjs/views/OneStackRouter.cjs +0 -46
  880. package/dist/cjs/views/OneStackRouter.native.js +0 -39
  881. package/dist/cjs/views/OneStackRouter.native.js.map +0 -1
  882. package/dist/esm/layouts/NativeTabs.mjs +0 -28
  883. package/dist/esm/layouts/NativeTabs.mjs.map +0 -1
  884. package/dist/esm/layouts/NativeTabs.native.js +0 -28
  885. package/dist/esm/layouts/NativeTabs.native.js.map +0 -1
  886. package/dist/esm/layouts/NativeTabs.test.mjs +0 -24
  887. package/dist/esm/layouts/NativeTabs.test.mjs.map +0 -1
  888. package/dist/esm/layouts/NativeTabs.test.native.js +0 -32
  889. package/dist/esm/layouts/NativeTabs.test.native.js.map +0 -1
  890. package/dist/esm/layouts/stack-utils/StackToolbar.mjs +0 -89
  891. package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +0 -1
  892. package/dist/esm/layouts/stack-utils/StackToolbar.native.js +0 -92
  893. package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +0 -1
  894. package/dist/esm/layouts/stack-utils/StackToolbar.shared.mjs +0 -31
  895. package/dist/esm/layouts/stack-utils/StackToolbar.shared.mjs.map +0 -1
  896. package/dist/esm/layouts/stack-utils/StackToolbar.shared.native.js +0 -32
  897. package/dist/esm/layouts/stack-utils/StackToolbar.shared.native.js.map +0 -1
  898. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs +0 -2
  899. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs.map +0 -1
  900. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js +0 -2
  901. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js.map +0 -1
  902. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.mjs +0 -12
  903. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.mjs.map +0 -1
  904. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.native.js +0 -12
  905. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.native.js.map +0 -1
  906. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.mjs +0 -67
  907. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.mjs.map +0 -1
  908. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.native.js +0 -73
  909. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.native.js.map +0 -1
  910. package/dist/esm/native-tabs.mjs +0 -3
  911. package/dist/esm/native-tabs.mjs.map +0 -1
  912. package/dist/esm/native-tabs.native.js +0 -3
  913. package/dist/esm/native-tabs.native.js.map +0 -1
  914. package/dist/esm/stack-toolbar-implementation.mjs +0 -3
  915. package/dist/esm/stack-toolbar-implementation.mjs.map +0 -1
  916. package/dist/esm/stack-toolbar-implementation.native.js +0 -3
  917. package/dist/esm/stack-toolbar-implementation.native.js.map +0 -1
  918. package/dist/esm/views/OneStackRouter.mjs +0 -21
  919. package/dist/esm/views/OneStackRouter.mjs.map +0 -1
  920. package/dist/esm/views/OneStackRouter.native.js +0 -11
  921. package/dist/esm/views/OneStackRouter.native.js.map +0 -1
  922. package/src/layouts/NativeTabs.test.ts +0 -30
  923. package/src/layouts/NativeTabs.tsx +0 -46
  924. package/src/layouts/stack-utils/StackToolbar.shared.ts +0 -44
  925. package/src/layouts/stack-utils/StackToolbar.tsx +0 -134
  926. package/src/layouts/stack-utils/StackToolbar.types.ts +0 -100
  927. package/src/layouts/stack-utils/StackToolbarImplementation.tsx +0 -39
  928. package/src/layouts/stack-utils/__tests__/StackToolbar.test.tsx +0 -70
  929. package/src/native-tabs.ts +0 -1
  930. package/src/stack-toolbar-implementation.ts +0 -8
  931. package/src/ui/Slot.web.tsx +0 -9
  932. package/src/ui/TabList.web.tsx +0 -27
  933. package/src/ui/TabSlot.web.tsx +0 -90
  934. package/src/ui/TabTrigger.web.tsx +0 -71
  935. package/src/ui/Tabs.web.tsx +0 -40
  936. package/src/views/OneStackRouter.tsx +0 -75
  937. package/types/layouts/NativeTabs.d.ts +0 -8
  938. package/types/layouts/NativeTabs.d.ts.map +0 -1
  939. package/types/layouts/NativeTabs.test.d.ts +0 -2
  940. package/types/layouts/NativeTabs.test.d.ts.map +0 -1
  941. package/types/layouts/stack-utils/StackToolbar.d.ts +0 -28
  942. package/types/layouts/stack-utils/StackToolbar.d.ts.map +0 -1
  943. package/types/layouts/stack-utils/StackToolbar.shared.d.ts +0 -5
  944. package/types/layouts/stack-utils/StackToolbar.shared.d.ts.map +0 -1
  945. package/types/layouts/stack-utils/StackToolbar.types.d.ts +0 -83
  946. package/types/layouts/stack-utils/StackToolbar.types.d.ts.map +0 -1
  947. package/types/layouts/stack-utils/StackToolbarImplementation.d.ts +0 -12
  948. package/types/layouts/stack-utils/StackToolbarImplementation.d.ts.map +0 -1
  949. package/types/native-tabs.d.ts +0 -2
  950. package/types/native-tabs.d.ts.map +0 -1
  951. package/types/stack-toolbar-implementation.d.ts +0 -3
  952. package/types/stack-toolbar-implementation.d.ts.map +0 -1
  953. package/types/ui/Slot.web.d.ts +0 -5
  954. package/types/ui/Slot.web.d.ts.map +0 -1
  955. package/types/ui/TabList.web.d.ts +0 -11
  956. package/types/ui/TabList.web.d.ts.map +0 -1
  957. package/types/ui/TabSlot.web.d.ts +0 -24
  958. package/types/ui/TabSlot.web.d.ts.map +0 -1
  959. package/types/ui/TabTrigger.web.d.ts +0 -11
  960. package/types/ui/TabTrigger.web.d.ts.map +0 -1
  961. package/types/ui/Tabs.web.d.ts +0 -10
  962. package/types/ui/Tabs.web.d.ts.map +0 -1
  963. package/types/views/OneStackRouter.d.ts +0 -3
  964. package/types/views/OneStackRouter.d.ts.map +0 -1
@@ -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> & { toolbar?: StackToolbarConfig }
13
+ options: Record<string, any>
15
14
  // lazy: rendering it mounts the route (descriptor.render underneath)
16
15
  element: ReactElement
17
16
  }
@@ -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 = exposeStackToolbarConfig(descriptor.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'
@@ -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
@@ -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
@@ -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, toolbarImplementation)
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, toolbarImplementation)
91
+ return appendScreenStackPropsToOptions({}, headerProps)
114
92
  }
115
93
 
116
94
  return screenOptions
117
- }, [children, screenOptions, toolbarImplementation])
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
- export const Stack = Object.assign(StackWithComposition, {
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
- Toolbar: StackToolbar,
147
- })
128
+ }) as StackType
148
129
 
149
130
  export default Stack
@@ -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
- BottomTabNavigationOptionsWithHref,
15
+ BottomTabNavigationOptions,
46
16
  typeof BottomTabNavigator,
47
17
  TabNavigationState<ParamListBase>,
48
18
  BottomTabNavigationEventMap
49
- >(BottomTabNavigator, (screens) => {
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
- const TabsWithRender = React.forwardRef<unknown, ComponentProps<typeof RNTabs>>(
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(TabsWithRender, {
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
- headerBackImageSource: props.src,
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
- headerLargeTitle: props.large,
70
+ headerLargeTitleEnabled: props.large,
71
71
  // Large titles on iOS require headerTransparent for proper scroll behavior
72
- // Only set on iOS since headerLargeTitle is iOS-only
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
- options ?? {},
64
- {
65
- children,
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 headerLargeTitle when large is true', () => {
43
+ it('sets headerLargeTitleEnabled when large is true', () => {
44
44
  const result = appendStackHeaderTitlePropsToOptions({}, { large: true })
45
- expect(result.headerLargeTitle).toBe(true)
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', headerLargeTitle: true },
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.headerLargeTitle).toBe(true)
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', headerLargeTitle: true },
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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.headerLargeTitle).toBe(true)
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} id={contextKey} ref={ref}>
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<ReactNavigation.RootParamList> & {
11
+ type GenericNavigation = NavigationProp<ParamListBase> & {
11
12
  getState(): NavigationState | undefined
12
13
  }
13
14