one 1.1.389 → 1.1.391

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 (730) hide show
  1. package/dist/cjs/Root.cjs +13 -28
  2. package/dist/cjs/Root.js +15 -26
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +25 -26
  5. package/dist/cjs/Root.native.js.map +2 -2
  6. package/dist/cjs/cli/build.cjs +1 -1
  7. package/dist/cjs/cli/build.js +1 -1
  8. package/dist/cjs/cli/build.js.map +1 -1
  9. package/dist/cjs/cli/build.native.js +1 -1
  10. package/dist/cjs/cli/build.native.js.map +1 -1
  11. package/dist/cjs/constants.cjs +5 -1
  12. package/dist/cjs/constants.js +3 -1
  13. package/dist/cjs/constants.js.map +1 -1
  14. package/dist/cjs/constants.native.js +5 -1
  15. package/dist/cjs/constants.native.js.map +2 -2
  16. package/dist/cjs/createApp.cjs +22 -82
  17. package/dist/cjs/createApp.js +17 -75
  18. package/dist/cjs/createApp.js.map +1 -1
  19. package/dist/cjs/createApp.native.js +0 -1
  20. package/dist/cjs/createApp.native.js.map +2 -2
  21. package/dist/cjs/createHandleRequest.cjs +1 -1
  22. package/dist/cjs/createHandleRequest.js +1 -1
  23. package/dist/cjs/createHandleRequest.js.map +1 -1
  24. package/dist/cjs/createHandleRequest.native.js +1 -1
  25. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  26. package/dist/cjs/fork/NavigationContainer.cjs +49 -31
  27. package/dist/cjs/fork/NavigationContainer.js +40 -21
  28. package/dist/cjs/fork/NavigationContainer.js.map +2 -2
  29. package/dist/cjs/fork/NavigationContainer.native.js +51 -29
  30. package/dist/cjs/fork/NavigationContainer.native.js.map +2 -2
  31. package/dist/cjs/fork/createMemoryHistory.cjs +4 -3
  32. package/dist/cjs/fork/createMemoryHistory.js +3 -2
  33. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  34. package/dist/cjs/fork/createMemoryHistory.native.js +8 -4
  35. package/dist/cjs/fork/createMemoryHistory.native.js.map +2 -2
  36. package/dist/cjs/fork/extractPathFromURL.cjs +48 -28
  37. package/dist/cjs/fork/extractPathFromURL.js +44 -21
  38. package/dist/cjs/fork/extractPathFromURL.js.map +2 -2
  39. package/dist/cjs/fork/extractPathFromURL.native.js +58 -26
  40. package/dist/cjs/fork/extractPathFromURL.native.js.map +2 -2
  41. package/dist/cjs/fork/findFocusedRoute.js.map +1 -1
  42. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  43. package/dist/cjs/fork/getPathFromState-mods.cjs +65 -0
  44. package/dist/cjs/fork/getPathFromState-mods.js +56 -0
  45. package/dist/cjs/fork/getPathFromState-mods.js.map +6 -0
  46. package/dist/cjs/fork/getPathFromState-mods.native.js +70 -0
  47. package/dist/cjs/fork/getPathFromState-mods.native.js.map +6 -0
  48. package/dist/cjs/fork/getPathFromState.cjs +75 -224
  49. package/dist/cjs/fork/getPathFromState.js +68 -223
  50. package/dist/cjs/fork/getPathFromState.js.map +2 -2
  51. package/dist/cjs/fork/getPathFromState.native.js +79 -261
  52. package/dist/cjs/fork/getPathFromState.native.js.map +2 -2
  53. package/dist/cjs/fork/getStateFromPath-mods.cjs +187 -0
  54. package/dist/cjs/fork/getStateFromPath-mods.js +199 -0
  55. package/dist/cjs/fork/getStateFromPath-mods.js.map +6 -0
  56. package/dist/cjs/fork/getStateFromPath-mods.native.js +284 -0
  57. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +6 -0
  58. package/dist/cjs/fork/getStateFromPath.cjs +181 -263
  59. package/dist/cjs/fork/getStateFromPath.js +148 -264
  60. package/dist/cjs/fork/getStateFromPath.js.map +2 -2
  61. package/dist/cjs/fork/getStateFromPath.native.js +164 -304
  62. package/dist/cjs/fork/getStateFromPath.native.js.map +2 -2
  63. package/dist/cjs/fork/useBackButton.js.map +1 -1
  64. package/dist/cjs/fork/useBackButton.native.js.map +1 -1
  65. package/dist/cjs/fork/useDocumentTitle.js +4 -1
  66. package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
  67. package/dist/cjs/fork/useDocumentTitle.native.js +1 -1
  68. package/dist/cjs/fork/useDocumentTitle.native.js.map +2 -2
  69. package/dist/cjs/fork/useLinking.cjs +21 -24
  70. package/dist/cjs/fork/useLinking.js +21 -25
  71. package/dist/cjs/fork/useLinking.js.map +2 -2
  72. package/dist/cjs/fork/useLinking.native.js +68 -66
  73. package/dist/cjs/fork/useLinking.native.js.map +2 -2
  74. package/dist/cjs/fork/useThenable.js.map +1 -1
  75. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  76. package/dist/cjs/fork/validatePathConfig.cjs +32 -11
  77. package/dist/cjs/fork/validatePathConfig.js +41 -11
  78. package/dist/cjs/fork/validatePathConfig.js.map +1 -1
  79. package/dist/cjs/fork/validatePathConfig.native.js +47 -18
  80. package/dist/cjs/fork/validatePathConfig.native.js.map +2 -2
  81. package/dist/cjs/getReactNavigationConfig.cjs +1 -1
  82. package/dist/cjs/getReactNavigationConfig.js +1 -1
  83. package/dist/cjs/getReactNavigationConfig.native.js +1 -1
  84. package/dist/cjs/hooks.cjs +2 -2
  85. package/dist/cjs/hooks.js +1 -1
  86. package/dist/cjs/hooks.js.map +1 -1
  87. package/dist/cjs/hooks.native.js +1 -1
  88. package/dist/cjs/hooks.native.js.map +1 -1
  89. package/dist/cjs/index.cjs +3 -3
  90. package/dist/cjs/index.js +2 -2
  91. package/dist/cjs/index.js.map +1 -1
  92. package/dist/cjs/index.native.js +2 -2
  93. package/dist/cjs/index.native.js.map +1 -1
  94. package/dist/cjs/layouts/withLayoutContext.cjs +3 -3
  95. package/dist/cjs/layouts/withLayoutContext.js +2 -2
  96. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  97. package/dist/cjs/layouts/withLayoutContext.native.js +2 -2
  98. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  99. package/dist/cjs/link/linking.cjs +4 -4
  100. package/dist/cjs/link/linking.js +3 -3
  101. package/dist/cjs/link/linking.js.map +2 -2
  102. package/dist/cjs/link/linking.native.js +3 -3
  103. package/dist/cjs/link/linking.native.js.map +1 -1
  104. package/dist/cjs/link/useLinkTo.cjs +3 -3
  105. package/dist/cjs/link/useLinkTo.js +2 -2
  106. package/dist/cjs/link/useLinkTo.js.map +1 -1
  107. package/dist/cjs/link/useLinkTo.native.js +2 -2
  108. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  109. package/dist/cjs/render.cjs +3 -2
  110. package/dist/cjs/render.js +3 -2
  111. package/dist/cjs/render.js.map +1 -1
  112. package/dist/cjs/{Route.js.map → router/Route.js.map} +1 -1
  113. package/dist/cjs/{Route.native.js.map → router/Route.native.js.map} +1 -1
  114. package/dist/cjs/{createRoute.cjs → router/createRoute.cjs} +1 -1
  115. package/dist/cjs/{createRoute.js → router/createRoute.js} +1 -1
  116. package/dist/cjs/{createRoute.js.map → router/createRoute.js.map} +1 -1
  117. package/dist/cjs/{createRoute.native.js → router/createRoute.native.js} +1 -1
  118. package/dist/cjs/{createRoute.native.js.map → router/createRoute.native.js.map} +1 -1
  119. package/dist/cjs/router/filterRootHTML.cjs +62 -0
  120. package/dist/cjs/router/filterRootHTML.js +49 -0
  121. package/dist/cjs/router/filterRootHTML.js.map +6 -0
  122. package/dist/cjs/router/filterRootHTML.native.js +55 -0
  123. package/dist/cjs/router/filterRootHTML.native.js.map +6 -0
  124. package/dist/cjs/{getLinkingConfig.cjs → router/getLinkingConfig.cjs} +2 -2
  125. package/dist/cjs/{getLinkingConfig.js → router/getLinkingConfig.js} +1 -1
  126. package/dist/cjs/router/getLinkingConfig.js.map +6 -0
  127. package/dist/cjs/{getLinkingConfig.native.js → router/getLinkingConfig.native.js} +1 -1
  128. package/dist/cjs/router/getLinkingConfig.native.js.map +6 -0
  129. package/dist/cjs/router/getNormalizedStatePath.cjs +2 -2
  130. package/dist/cjs/router/getNormalizedStatePath.js +2 -2
  131. package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
  132. package/dist/cjs/router/getNormalizedStatePath.native.js +2 -2
  133. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  134. package/dist/cjs/{getRoutes.cjs → router/getRoutes.cjs} +3 -3
  135. package/dist/cjs/{getRoutes.js → router/getRoutes.js} +2 -2
  136. package/dist/cjs/{getRoutes.js.map → router/getRoutes.js.map} +2 -2
  137. package/dist/cjs/{getRoutes.native.js → router/getRoutes.native.js} +2 -2
  138. package/dist/cjs/{getRoutes.native.js.map → router/getRoutes.native.js.map} +2 -2
  139. package/dist/cjs/{imperative-api.cjs → router/imperative-api.cjs} +1 -1
  140. package/dist/cjs/{imperative-api.js → router/imperative-api.js} +1 -1
  141. package/dist/cjs/{imperative-api.js.map → router/imperative-api.js.map} +1 -1
  142. package/dist/cjs/{imperative-api.native.js → router/imperative-api.native.js} +1 -1
  143. package/dist/cjs/{imperative-api.native.js.map → router/imperative-api.native.js.map} +2 -2
  144. package/dist/cjs/{matchers.js.map → router/matchers.js.map} +1 -1
  145. package/dist/cjs/{matchers.native.js.map → router/matchers.native.js.map} +1 -1
  146. package/dist/cjs/router/router.cjs +25 -9
  147. package/dist/cjs/router/router.js +25 -3
  148. package/dist/cjs/router/router.js.map +1 -1
  149. package/dist/cjs/router/router.native.js +39 -3
  150. package/dist/cjs/router/router.native.js.map +2 -2
  151. package/dist/cjs/{sortRoutes.js.map → router/sortRoutes.js.map} +1 -1
  152. package/dist/cjs/{sortRoutes.native.js.map → router/sortRoutes.native.js.map} +1 -1
  153. package/dist/cjs/{useNavigation.js.map → router/useNavigation.js.map} +1 -1
  154. package/dist/cjs/{useNavigation.native.js.map → router/useNavigation.native.js.map} +1 -1
  155. package/dist/cjs/{useScreens.cjs → router/useScreens.cjs} +57 -6
  156. package/dist/cjs/{useScreens.js → router/useScreens.js} +29 -3
  157. package/dist/cjs/router/useScreens.js.map +6 -0
  158. package/dist/cjs/{useScreens.native.js → router/useScreens.native.js} +10 -3
  159. package/dist/cjs/router/useScreens.native.js.map +6 -0
  160. package/dist/cjs/{useViteRoutes.js.map → router/useViteRoutes.js.map} +1 -1
  161. package/dist/cjs/{useViteRoutes.native.js.map → router/useViteRoutes.native.js.map} +1 -1
  162. package/dist/cjs/server/createRoutesManifest.cjs +1 -1
  163. package/dist/cjs/server/createRoutesManifest.js +1 -1
  164. package/dist/cjs/server/createRoutesManifest.js.map +1 -1
  165. package/dist/cjs/server/createRoutesManifest.native.js +1 -1
  166. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  167. package/dist/cjs/server/getServerManifest.cjs +2 -2
  168. package/dist/cjs/server/getServerManifest.js +1 -1
  169. package/dist/cjs/server/getServerManifest.js.map +1 -1
  170. package/dist/cjs/server/getServerManifest.native.js +1 -1
  171. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  172. package/dist/cjs/server/oneServe.cjs +1 -1
  173. package/dist/cjs/server/oneServe.js +1 -1
  174. package/dist/cjs/server/oneServe.js.map +1 -1
  175. package/dist/cjs/server/oneServe.native.js +1 -1
  176. package/dist/cjs/server/oneServe.native.js.map +1 -1
  177. package/dist/cjs/typed-routes/generateRouteTypes.cjs +1 -1
  178. package/dist/cjs/typed-routes/generateRouteTypes.js +1 -1
  179. package/dist/cjs/typed-routes/generateRouteTypes.js.map +1 -1
  180. package/dist/cjs/typed-routes/generateRouteTypes.native.js +1 -1
  181. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  182. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +2 -2
  183. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js +1 -1
  184. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
  185. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +1 -1
  186. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  187. package/dist/cjs/useLoader.cjs +2 -2
  188. package/dist/cjs/useLoader.js +1 -1
  189. package/dist/cjs/useLoader.js.map +1 -1
  190. package/dist/cjs/useLoader.native.js +1 -1
  191. package/dist/cjs/useLoader.native.js.map +1 -1
  192. package/dist/cjs/{cleanUrl.cjs → utils/cleanUrl.cjs} +3 -3
  193. package/dist/cjs/{cleanUrl.js → utils/cleanUrl.js} +1 -1
  194. package/dist/cjs/{cleanUrl.js.map → utils/cleanUrl.js.map} +2 -2
  195. package/dist/cjs/{cleanUrl.native.js → utils/cleanUrl.native.js} +1 -1
  196. package/dist/cjs/{cleanUrl.native.js.map → utils/cleanUrl.native.js.map} +2 -2
  197. package/dist/cjs/{platform.js.map → utils/platform.js.map} +1 -1
  198. package/dist/cjs/{platform.native.js.map → utils/platform.native.js.map} +1 -1
  199. package/dist/cjs/utils/redirect.cjs +1 -1
  200. package/dist/cjs/utils/redirect.js +1 -1
  201. package/dist/cjs/utils/redirect.native.js +1 -1
  202. package/dist/cjs/utils/redirect.native.js.map +1 -1
  203. package/dist/cjs/utils/serverContext.cjs +54 -0
  204. package/dist/cjs/utils/serverContext.js +51 -0
  205. package/dist/cjs/utils/serverContext.js.map +6 -0
  206. package/dist/cjs/utils/serverContext.native.js +55 -0
  207. package/dist/cjs/utils/serverContext.native.js.map +6 -0
  208. package/dist/cjs/utils/useConstant.cjs +44 -0
  209. package/dist/cjs/utils/useConstant.js +35 -0
  210. package/dist/cjs/utils/useConstant.js.map +6 -0
  211. package/dist/cjs/utils/useConstant.native.js +44 -0
  212. package/dist/cjs/utils/useConstant.native.js.map +6 -0
  213. package/dist/cjs/views/EmptyRoute.cjs +1 -1
  214. package/dist/cjs/views/EmptyRoute.js +1 -1
  215. package/dist/cjs/views/EmptyRoute.native.js +1 -1
  216. package/dist/cjs/views/LoadProgressBar.cjs +1 -1
  217. package/dist/cjs/views/LoadProgressBar.js +1 -1
  218. package/dist/cjs/views/LoadProgressBar.js.map +1 -1
  219. package/dist/cjs/views/LoadProgressBar.native.js +1 -1
  220. package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
  221. package/dist/cjs/views/Navigator.cjs +2 -2
  222. package/dist/cjs/views/Navigator.js +1 -1
  223. package/dist/cjs/views/Navigator.js.map +1 -1
  224. package/dist/cjs/views/Navigator.native.js +1 -1
  225. package/dist/cjs/views/Navigator.native.js.map +1 -1
  226. package/dist/cjs/views/Screen.cjs +1 -1
  227. package/dist/cjs/views/Screen.js +1 -1
  228. package/dist/cjs/views/Screen.native.js +1 -1
  229. package/dist/cjs/vite/DevHead.cjs +59 -0
  230. package/dist/cjs/vite/DevHead.js +54 -0
  231. package/dist/cjs/vite/DevHead.js.map +6 -0
  232. package/dist/cjs/vite/DevHead.native.js +29 -0
  233. package/dist/cjs/vite/DevHead.native.js.map +6 -0
  234. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +6 -8
  235. package/dist/cjs/vite/plugins/SSRCSSPlugin.js +6 -8
  236. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  237. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +7 -9
  238. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +2 -2
  239. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +8 -4
  240. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +10 -5
  241. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  242. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +11 -6
  243. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
  244. package/dist/cjs/zero/useQuery.cjs +3 -2
  245. package/dist/cjs/zero/useQuery.js +2 -2
  246. package/dist/cjs/zero/useQuery.js.map +1 -1
  247. package/dist/cjs/zero/useQuery.native.js +1 -1
  248. package/dist/cjs/zero/useQuery.native.js.map +2 -2
  249. package/dist/esm/Root.js +16 -19
  250. package/dist/esm/Root.js.map +1 -1
  251. package/dist/esm/Root.mjs +9 -13
  252. package/dist/esm/Root.mjs.map +1 -1
  253. package/dist/esm/Root.native.js +26 -19
  254. package/dist/esm/Root.native.js.map +2 -2
  255. package/dist/esm/cli/build.js +1 -1
  256. package/dist/esm/cli/build.mjs +1 -1
  257. package/dist/esm/cli/build.native.js +1 -1
  258. package/dist/esm/constants.js +3 -1
  259. package/dist/esm/constants.js.map +1 -1
  260. package/dist/esm/constants.mjs +4 -2
  261. package/dist/esm/constants.mjs.map +1 -1
  262. package/dist/esm/constants.native.js +3 -1
  263. package/dist/esm/constants.native.js.map +2 -2
  264. package/dist/esm/createApp.js +22 -76
  265. package/dist/esm/createApp.js.map +1 -1
  266. package/dist/esm/createApp.mjs +23 -83
  267. package/dist/esm/createApp.mjs.map +1 -1
  268. package/dist/esm/createApp.native.js +0 -1
  269. package/dist/esm/createApp.native.js.map +2 -2
  270. package/dist/esm/createHandleRequest.js +1 -1
  271. package/dist/esm/createHandleRequest.js.map +1 -1
  272. package/dist/esm/createHandleRequest.mjs +1 -1
  273. package/dist/esm/createHandleRequest.mjs.map +1 -1
  274. package/dist/esm/createHandleRequest.native.js +1 -1
  275. package/dist/esm/createHandleRequest.native.js.map +1 -1
  276. package/dist/esm/fork/NavigationContainer.js +43 -20
  277. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  278. package/dist/esm/fork/NavigationContainer.mjs +42 -24
  279. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  280. package/dist/esm/fork/NavigationContainer.native.js +44 -24
  281. package/dist/esm/fork/NavigationContainer.native.js.map +2 -2
  282. package/dist/esm/fork/createMemoryHistory.js +3 -2
  283. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  284. package/dist/esm/fork/createMemoryHistory.mjs +4 -3
  285. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  286. package/dist/esm/fork/createMemoryHistory.native.js +4 -4
  287. package/dist/esm/fork/createMemoryHistory.native.js.map +2 -2
  288. package/dist/esm/fork/extractPathFromURL.js +42 -11
  289. package/dist/esm/fork/extractPathFromURL.js.map +1 -1
  290. package/dist/esm/fork/extractPathFromURL.mjs +39 -11
  291. package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
  292. package/dist/esm/fork/extractPathFromURL.native.js +52 -15
  293. package/dist/esm/fork/extractPathFromURL.native.js.map +2 -2
  294. package/dist/esm/fork/findFocusedRoute.js.map +1 -1
  295. package/dist/esm/fork/findFocusedRoute.mjs.map +1 -1
  296. package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
  297. package/dist/esm/fork/getPathFromState-mods.js +40 -0
  298. package/dist/esm/fork/getPathFromState-mods.js.map +6 -0
  299. package/dist/esm/fork/getPathFromState-mods.mjs +40 -0
  300. package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -0
  301. package/dist/esm/fork/getPathFromState-mods.native.js +47 -0
  302. package/dist/esm/fork/getPathFromState-mods.native.js.map +6 -0
  303. package/dist/esm/fork/getPathFromState.js +71 -228
  304. package/dist/esm/fork/getPathFromState.js.map +2 -2
  305. package/dist/esm/fork/getPathFromState.mjs +73 -221
  306. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  307. package/dist/esm/fork/getPathFromState.native.js +79 -260
  308. package/dist/esm/fork/getPathFromState.native.js.map +2 -2
  309. package/dist/esm/fork/getStateFromPath-mods.js +176 -0
  310. package/dist/esm/fork/getStateFromPath-mods.js.map +6 -0
  311. package/dist/esm/fork/getStateFromPath-mods.mjs +143 -0
  312. package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -0
  313. package/dist/esm/fork/getStateFromPath-mods.native.js +246 -0
  314. package/dist/esm/fork/getStateFromPath-mods.native.js.map +6 -0
  315. package/dist/esm/fork/getStateFromPath.js +160 -265
  316. package/dist/esm/fork/getStateFromPath.js.map +2 -2
  317. package/dist/esm/fork/getStateFromPath.mjs +181 -260
  318. package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
  319. package/dist/esm/fork/getStateFromPath.native.js +164 -302
  320. package/dist/esm/fork/getStateFromPath.native.js.map +2 -2
  321. package/dist/esm/fork/useBackButton.js.map +1 -1
  322. package/dist/esm/fork/useBackButton.mjs.map +1 -1
  323. package/dist/esm/fork/useBackButton.native.js.map +1 -1
  324. package/dist/esm/fork/useDocumentTitle.js +4 -1
  325. package/dist/esm/fork/useDocumentTitle.js.map +1 -1
  326. package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
  327. package/dist/esm/fork/useDocumentTitle.native.js +1 -1
  328. package/dist/esm/fork/useDocumentTitle.native.js.map +2 -2
  329. package/dist/esm/fork/useLinking.js +22 -26
  330. package/dist/esm/fork/useLinking.js.map +1 -1
  331. package/dist/esm/fork/useLinking.mjs +20 -23
  332. package/dist/esm/fork/useLinking.mjs.map +1 -1
  333. package/dist/esm/fork/useLinking.native.js +65 -67
  334. package/dist/esm/fork/useLinking.native.js.map +2 -2
  335. package/dist/esm/fork/useThenable.js.map +1 -1
  336. package/dist/esm/fork/useThenable.mjs.map +1 -1
  337. package/dist/esm/fork/useThenable.native.js.map +1 -1
  338. package/dist/esm/fork/validatePathConfig.js +41 -11
  339. package/dist/esm/fork/validatePathConfig.js.map +1 -1
  340. package/dist/esm/fork/validatePathConfig.mjs +32 -11
  341. package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
  342. package/dist/esm/fork/validatePathConfig.native.js +43 -18
  343. package/dist/esm/fork/validatePathConfig.native.js.map +2 -2
  344. package/dist/esm/getReactNavigationConfig.js +1 -1
  345. package/dist/esm/getReactNavigationConfig.mjs +1 -1
  346. package/dist/esm/getReactNavigationConfig.native.js +1 -1
  347. package/dist/esm/hooks.js +2 -2
  348. package/dist/esm/hooks.mjs +2 -2
  349. package/dist/esm/hooks.native.js +2 -2
  350. package/dist/esm/index.js +3 -3
  351. package/dist/esm/index.mjs +3 -3
  352. package/dist/esm/index.native.js +3 -3
  353. package/dist/esm/layouts/withLayoutContext.js +3 -3
  354. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  355. package/dist/esm/layouts/withLayoutContext.mjs +3 -3
  356. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  357. package/dist/esm/layouts/withLayoutContext.native.js +3 -3
  358. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  359. package/dist/esm/link/linking.js +2 -2
  360. package/dist/esm/link/linking.js.map +1 -1
  361. package/dist/esm/link/linking.mjs +2 -2
  362. package/dist/esm/link/linking.mjs.map +1 -1
  363. package/dist/esm/link/linking.native.js +2 -2
  364. package/dist/esm/link/linking.native.js.map +1 -1
  365. package/dist/esm/link/useLinkTo.js +2 -2
  366. package/dist/esm/link/useLinkTo.mjs +2 -2
  367. package/dist/esm/link/useLinkTo.native.js +2 -2
  368. package/dist/esm/render.js +3 -2
  369. package/dist/esm/render.js.map +1 -1
  370. package/dist/esm/render.mjs +3 -2
  371. package/dist/esm/render.mjs.map +1 -1
  372. package/dist/esm/{Route.js.map → router/Route.js.map} +1 -1
  373. package/dist/esm/router/Route.mjs.map +1 -0
  374. package/dist/esm/{Route.native.js.map → router/Route.native.js.map} +1 -1
  375. package/dist/esm/{createRoute.js → router/createRoute.js} +1 -1
  376. package/dist/esm/{createRoute.js.map → router/createRoute.js.map} +1 -1
  377. package/dist/esm/{createRoute.mjs → router/createRoute.mjs} +1 -1
  378. package/dist/esm/router/createRoute.mjs.map +1 -0
  379. package/dist/esm/{createRoute.native.js → router/createRoute.native.js} +1 -1
  380. package/dist/esm/{createRoute.native.js.map → router/createRoute.native.js.map} +1 -1
  381. package/dist/esm/router/filterRootHTML.js +33 -0
  382. package/dist/esm/router/filterRootHTML.js.map +6 -0
  383. package/dist/esm/router/filterRootHTML.mjs +39 -0
  384. package/dist/esm/router/filterRootHTML.mjs.map +1 -0
  385. package/dist/esm/router/filterRootHTML.native.js +34 -0
  386. package/dist/esm/router/filterRootHTML.native.js.map +6 -0
  387. package/dist/esm/{getLinkingConfig.js → router/getLinkingConfig.js} +7 -2
  388. package/dist/esm/router/getLinkingConfig.js.map +6 -0
  389. package/dist/esm/{getLinkingConfig.mjs → router/getLinkingConfig.mjs} +2 -2
  390. package/dist/esm/router/getLinkingConfig.mjs.map +1 -0
  391. package/dist/esm/{getLinkingConfig.native.js → router/getLinkingConfig.native.js} +2 -2
  392. package/dist/esm/router/getLinkingConfig.native.js.map +6 -0
  393. package/dist/esm/router/getNormalizedStatePath.js +1 -1
  394. package/dist/esm/router/getNormalizedStatePath.mjs +1 -1
  395. package/dist/esm/router/getNormalizedStatePath.native.js +1 -1
  396. package/dist/esm/{getRoutes.js → router/getRoutes.js} +3 -3
  397. package/dist/esm/{getRoutes.js.map → router/getRoutes.js.map} +2 -2
  398. package/dist/esm/{getRoutes.mjs → router/getRoutes.mjs} +3 -3
  399. package/dist/esm/router/getRoutes.mjs.map +1 -0
  400. package/dist/esm/{getRoutes.native.js → router/getRoutes.native.js} +3 -3
  401. package/dist/esm/{getRoutes.native.js.map → router/getRoutes.native.js.map} +2 -2
  402. package/dist/esm/{imperative-api.js → router/imperative-api.js} +1 -1
  403. package/dist/esm/{imperative-api.js.map → router/imperative-api.js.map} +1 -1
  404. package/dist/esm/{imperative-api.mjs → router/imperative-api.mjs} +1 -1
  405. package/dist/esm/router/imperative-api.mjs.map +1 -0
  406. package/dist/esm/{imperative-api.native.js → router/imperative-api.native.js} +1 -1
  407. package/dist/esm/{imperative-api.native.js.map → router/imperative-api.native.js.map} +1 -1
  408. package/dist/esm/{matchers.js.map → router/matchers.js.map} +1 -1
  409. package/dist/esm/router/matchers.mjs.map +1 -0
  410. package/dist/esm/{matchers.native.js.map → router/matchers.native.js.map} +1 -1
  411. package/dist/esm/router/router.js +30 -8
  412. package/dist/esm/router/router.js.map +1 -1
  413. package/dist/esm/router/router.mjs +24 -8
  414. package/dist/esm/router/router.mjs.map +1 -1
  415. package/dist/esm/router/router.native.js +44 -8
  416. package/dist/esm/router/router.native.js.map +2 -2
  417. package/dist/esm/{sortRoutes.js.map → router/sortRoutes.js.map} +1 -1
  418. package/dist/esm/router/sortRoutes.mjs.map +1 -0
  419. package/dist/esm/{sortRoutes.native.js.map → router/sortRoutes.native.js.map} +1 -1
  420. package/dist/esm/{useNavigation.js.map → router/useNavigation.js.map} +1 -1
  421. package/dist/esm/router/useNavigation.mjs.map +1 -0
  422. package/dist/esm/{useNavigation.native.js.map → router/useNavigation.native.js.map} +1 -1
  423. package/dist/esm/{useScreens.js → router/useScreens.js} +39 -8
  424. package/dist/esm/router/useScreens.js.map +6 -0
  425. package/dist/esm/{useScreens.mjs → router/useScreens.mjs} +59 -8
  426. package/dist/esm/router/useScreens.mjs.map +1 -0
  427. package/dist/esm/{useScreens.native.js → router/useScreens.native.js} +20 -8
  428. package/dist/esm/router/useScreens.native.js.map +6 -0
  429. package/dist/esm/{useViteRoutes.js.map → router/useViteRoutes.js.map} +1 -1
  430. package/dist/esm/router/useViteRoutes.mjs.map +1 -0
  431. package/dist/esm/{useViteRoutes.native.js.map → router/useViteRoutes.native.js.map} +1 -1
  432. package/dist/esm/server/createRoutesManifest.js +1 -1
  433. package/dist/esm/server/createRoutesManifest.mjs +1 -1
  434. package/dist/esm/server/createRoutesManifest.native.js +1 -1
  435. package/dist/esm/server/getServerManifest.js +2 -2
  436. package/dist/esm/server/getServerManifest.mjs +2 -2
  437. package/dist/esm/server/getServerManifest.native.js +2 -2
  438. package/dist/esm/server/oneServe.js +1 -1
  439. package/dist/esm/server/oneServe.mjs +1 -1
  440. package/dist/esm/server/oneServe.native.js +1 -1
  441. package/dist/esm/typed-routes/generateRouteTypes.js +1 -1
  442. package/dist/esm/typed-routes/generateRouteTypes.mjs +1 -1
  443. package/dist/esm/typed-routes/generateRouteTypes.native.js +1 -1
  444. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js +2 -2
  445. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +2 -2
  446. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +2 -2
  447. package/dist/esm/useLoader.js +2 -2
  448. package/dist/esm/useLoader.mjs +2 -2
  449. package/dist/esm/useLoader.native.js +2 -2
  450. package/dist/esm/{cleanUrl.js → utils/cleanUrl.js} +3 -3
  451. package/dist/esm/{cleanUrl.js.map → utils/cleanUrl.js.map} +1 -1
  452. package/dist/esm/{cleanUrl.mjs → utils/cleanUrl.mjs} +3 -3
  453. package/dist/esm/utils/cleanUrl.mjs.map +1 -0
  454. package/dist/esm/{cleanUrl.native.js → utils/cleanUrl.native.js} +3 -3
  455. package/dist/esm/{cleanUrl.native.js.map → utils/cleanUrl.native.js.map} +1 -1
  456. package/dist/esm/{platform.js.map → utils/platform.js.map} +1 -1
  457. package/dist/esm/utils/platform.mjs.map +1 -0
  458. package/dist/esm/{platform.native.js.map → utils/platform.native.js.map} +1 -1
  459. package/dist/esm/utils/redirect.js +1 -1
  460. package/dist/esm/utils/redirect.mjs +1 -1
  461. package/dist/esm/utils/redirect.native.js +1 -1
  462. package/dist/esm/utils/serverContext.js +35 -0
  463. package/dist/esm/utils/serverContext.js.map +6 -0
  464. package/dist/esm/utils/serverContext.mjs +28 -0
  465. package/dist/esm/utils/serverContext.mjs.map +1 -0
  466. package/dist/esm/utils/serverContext.native.js +32 -0
  467. package/dist/esm/utils/serverContext.native.js.map +6 -0
  468. package/dist/esm/utils/useConstant.js +11 -0
  469. package/dist/esm/utils/useConstant.js.map +6 -0
  470. package/dist/esm/utils/useConstant.mjs +10 -0
  471. package/dist/esm/utils/useConstant.mjs.map +1 -0
  472. package/dist/esm/utils/useConstant.native.js +15 -0
  473. package/dist/esm/utils/useConstant.native.js.map +6 -0
  474. package/dist/esm/views/EmptyRoute.js +1 -1
  475. package/dist/esm/views/EmptyRoute.mjs +1 -1
  476. package/dist/esm/views/EmptyRoute.native.js +1 -1
  477. package/dist/esm/views/LoadProgressBar.js +1 -1
  478. package/dist/esm/views/LoadProgressBar.mjs +1 -1
  479. package/dist/esm/views/LoadProgressBar.native.js +1 -1
  480. package/dist/esm/views/Navigator.js +2 -2
  481. package/dist/esm/views/Navigator.mjs +2 -2
  482. package/dist/esm/views/Navigator.native.js +2 -2
  483. package/dist/esm/views/Screen.js +1 -1
  484. package/dist/esm/views/Screen.mjs +1 -1
  485. package/dist/esm/views/Screen.native.js +1 -1
  486. package/dist/esm/vite/DevHead.js +39 -0
  487. package/dist/esm/vite/DevHead.js.map +6 -0
  488. package/dist/esm/vite/DevHead.mjs +36 -0
  489. package/dist/esm/vite/DevHead.mjs.map +1 -0
  490. package/dist/esm/vite/DevHead.native.js +9 -0
  491. package/dist/esm/vite/DevHead.native.js.map +6 -0
  492. package/dist/esm/vite/plugins/SSRCSSPlugin.js +6 -8
  493. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  494. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +7 -8
  495. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  496. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +7 -8
  497. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +2 -2
  498. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +10 -4
  499. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  500. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +7 -3
  501. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  502. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +11 -5
  503. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
  504. package/dist/esm/zero/useQuery.js +2 -1
  505. package/dist/esm/zero/useQuery.js.map +1 -1
  506. package/dist/esm/zero/useQuery.mjs +2 -1
  507. package/dist/esm/zero/useQuery.mjs.map +1 -1
  508. package/dist/esm/zero/useQuery.native.js +2 -1
  509. package/dist/esm/zero/useQuery.native.js.map +2 -2
  510. package/package.json +9 -16
  511. package/src/Root.tsx +33 -44
  512. package/src/cli/build.ts +1 -1
  513. package/src/constants.ts +4 -0
  514. package/src/createApp.native.tsx +1 -1
  515. package/src/createApp.tsx +23 -82
  516. package/src/createHandleRequest.ts +3 -2
  517. package/src/fork/NavigationContainer.tsx +101 -39
  518. package/src/fork/createMemoryHistory.tsx +15 -13
  519. package/src/fork/extractPathFromURL.ts +85 -40
  520. package/src/fork/findFocusedRoute.tsx +9 -1
  521. package/src/fork/getPathFromState-mods.ts +142 -0
  522. package/src/fork/getPathFromState.ts +244 -501
  523. package/src/fork/getStateFromPath-mods.ts +400 -0
  524. package/src/fork/getStateFromPath.ts +447 -538
  525. package/src/fork/useBackButton.native.tsx +16 -2
  526. package/src/fork/useBackButton.tsx +11 -2
  527. package/src/fork/useDocumentTitle.native.tsx +9 -4
  528. package/src/fork/useDocumentTitle.tsx +12 -7
  529. package/src/fork/useLinking.native.ts +71 -63
  530. package/src/fork/useLinking.ts +75 -40
  531. package/src/fork/useThenable.tsx +7 -1
  532. package/src/fork/validatePathConfig.ts +64 -12
  533. package/src/getReactNavigationConfig.ts +2 -2
  534. package/src/hooks.tsx +2 -2
  535. package/src/index.ts +3 -3
  536. package/src/layouts/withLayoutContext.tsx +3 -3
  537. package/src/link/linking.ts +2 -2
  538. package/src/link/useLinkTo.tsx +2 -2
  539. package/src/render.tsx +3 -5
  540. package/src/{Route.tsx → router/Route.tsx} +2 -2
  541. package/src/{createRoute.ts → router/createRoute.ts} +2 -2
  542. package/src/router/filterRootHTML.ts +81 -0
  543. package/src/{getLinkingConfig.ts → router/getLinkingConfig.ts} +8 -3
  544. package/src/router/getNormalizedStatePath.tsx +1 -1
  545. package/src/{getRoutes.ts → router/getRoutes.ts} +5 -5
  546. package/src/{imperative-api.ts → router/imperative-api.ts} +2 -2
  547. package/src/router/router.ts +48 -9
  548. package/src/{useScreens.tsx → router/useScreens.tsx} +63 -48
  549. package/src/{useViteRoutes.tsx → router/useViteRoutes.tsx} +2 -2
  550. package/src/server/createRoutesManifest.ts +3 -3
  551. package/src/server/getServerManifest.ts +3 -3
  552. package/src/server/oneServe.ts +1 -1
  553. package/src/typed-routes/generateRouteTypes.ts +1 -1
  554. package/src/typed-routes/getTypedRoutesDeclarationFile.ts +3 -3
  555. package/src/useLoader.ts +2 -2
  556. package/src/{cleanUrl.ts → utils/cleanUrl.ts} +3 -3
  557. package/src/utils/redirect.ts +1 -1
  558. package/src/utils/serverContext.tsx +52 -0
  559. package/src/utils/useConstant.ts +18 -0
  560. package/src/views/EmptyRoute.tsx +1 -1
  561. package/src/views/LoadProgressBar.tsx +1 -1
  562. package/src/views/Navigator.tsx +2 -2
  563. package/src/views/Screen.tsx +1 -1
  564. package/src/vite/DevHead.tsx +39 -0
  565. package/src/vite/plugins/SSRCSSPlugin.ts +6 -10
  566. package/src/vite/plugins/fileSystemRouterPlugin.tsx +12 -6
  567. package/src/zero/useQuery.ts +2 -1
  568. package/types/Root.d.ts +3 -2
  569. package/types/Root.d.ts.map +1 -1
  570. package/types/constants.d.ts +2 -0
  571. package/types/constants.d.ts.map +1 -1
  572. package/types/createApp.d.ts.map +1 -1
  573. package/types/createHandleRequest.d.ts +1 -1
  574. package/types/createHandleRequest.d.ts.map +1 -1
  575. package/types/fork/NavigationContainer.d.ts +19 -8
  576. package/types/fork/NavigationContainer.d.ts.map +1 -1
  577. package/types/fork/createMemoryHistory.d.ts +10 -1
  578. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  579. package/types/fork/extractPathFromURL.d.ts +7 -1
  580. package/types/fork/extractPathFromURL.d.ts.map +1 -1
  581. package/types/fork/findFocusedRoute.d.ts +9 -0
  582. package/types/fork/findFocusedRoute.d.ts.map +1 -1
  583. package/types/fork/getPathFromState-mods.d.ts +23 -0
  584. package/types/fork/getPathFromState-mods.d.ts.map +1 -0
  585. package/types/fork/getPathFromState.d.ts +15 -14
  586. package/types/fork/getPathFromState.d.ts.map +1 -1
  587. package/types/fork/getStateFromPath-mods.d.ts +58 -0
  588. package/types/fork/getStateFromPath-mods.d.ts.map +1 -0
  589. package/types/fork/getStateFromPath.d.ts +28 -29
  590. package/types/fork/getStateFromPath.d.ts.map +1 -1
  591. package/types/fork/useBackButton.d.ts +6 -0
  592. package/types/fork/useBackButton.d.ts.map +1 -1
  593. package/types/fork/useBackButton.native.d.ts +9 -1
  594. package/types/fork/useBackButton.native.d.ts.map +1 -1
  595. package/types/fork/useDocumentTitle.d.ts +8 -6
  596. package/types/fork/useDocumentTitle.d.ts.map +1 -1
  597. package/types/fork/useDocumentTitle.native.d.ts +5 -2
  598. package/types/fork/useDocumentTitle.native.d.ts.map +1 -1
  599. package/types/fork/useLinking.d.ts +8 -1
  600. package/types/fork/useLinking.d.ts.map +1 -1
  601. package/types/fork/useLinking.native.d.ts +9 -2
  602. package/types/fork/useLinking.native.d.ts.map +1 -1
  603. package/types/fork/useThenable.d.ts +6 -0
  604. package/types/fork/useThenable.d.ts.map +1 -1
  605. package/types/fork/validatePathConfig.d.ts +8 -1
  606. package/types/fork/validatePathConfig.d.ts.map +1 -1
  607. package/types/getReactNavigationConfig.d.ts +1 -1
  608. package/types/getReactNavigationConfig.d.ts.map +1 -1
  609. package/types/index.d.ts +3 -3
  610. package/types/index.d.ts.map +1 -1
  611. package/types/layouts/withLayoutContext.d.ts +1 -1
  612. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  613. package/types/link/linking.d.ts +2 -2
  614. package/types/link/linking.d.ts.map +1 -1
  615. package/types/render.d.ts.map +1 -1
  616. package/types/{Route.d.ts → router/Route.d.ts} +2 -2
  617. package/types/router/Route.d.ts.map +1 -0
  618. package/types/{createRoute.d.ts → router/createRoute.d.ts} +1 -1
  619. package/types/router/createRoute.d.ts.map +1 -0
  620. package/types/router/filterRootHTML.d.ts +19 -0
  621. package/types/router/filterRootHTML.d.ts.map +1 -0
  622. package/types/{getLinkingConfig.d.ts → router/getLinkingConfig.d.ts} +2 -2
  623. package/types/router/getLinkingConfig.d.ts.map +1 -0
  624. package/types/{getRoutes.d.ts → router/getRoutes.d.ts} +1 -1
  625. package/types/router/getRoutes.d.ts.map +1 -0
  626. package/types/router/imperative-api.d.ts +3 -0
  627. package/types/router/imperative-api.d.ts.map +1 -0
  628. package/types/router/matchers.d.ts.map +1 -0
  629. package/types/router/router.d.ts +2 -2
  630. package/types/router/router.d.ts.map +1 -1
  631. package/types/router/sortRoutes.d.ts.map +1 -0
  632. package/types/router/useNavigation.d.ts.map +1 -0
  633. package/types/router/useScreens.d.ts.map +1 -0
  634. package/types/{useViteRoutes.d.ts → router/useViteRoutes.d.ts} +2 -2
  635. package/types/router/useViteRoutes.d.ts.map +1 -0
  636. package/types/server/createRoutesManifest.d.ts +3 -3
  637. package/types/server/createRoutesManifest.d.ts.map +1 -1
  638. package/types/server/getServerManifest.d.ts +1 -1
  639. package/types/server/getServerManifest.d.ts.map +1 -1
  640. package/types/utils/cleanUrl.d.ts.map +1 -0
  641. package/types/utils/platform.d.ts.map +1 -0
  642. package/types/utils/serverContext.d.ts +14 -0
  643. package/types/utils/serverContext.d.ts.map +1 -0
  644. package/types/utils/useConstant.d.ts +2 -0
  645. package/types/utils/useConstant.d.ts.map +1 -0
  646. package/types/vite/DevHead.d.ts +2 -0
  647. package/types/vite/DevHead.d.ts.map +1 -0
  648. package/types/vite/plugins/SSRCSSPlugin.d.ts +0 -1
  649. package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
  650. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  651. package/types/zero/useQuery.d.ts.map +1 -1
  652. package/dist/cjs/getLinkingConfig.js.map +0 -6
  653. package/dist/cjs/getLinkingConfig.native.js.map +0 -6
  654. package/dist/cjs/useScreens.js.map +0 -6
  655. package/dist/cjs/useScreens.native.js.map +0 -6
  656. package/dist/esm/Route.mjs.map +0 -1
  657. package/dist/esm/cleanUrl.mjs.map +0 -1
  658. package/dist/esm/createRoute.mjs.map +0 -1
  659. package/dist/esm/getLinkingConfig.js.map +0 -6
  660. package/dist/esm/getLinkingConfig.mjs.map +0 -1
  661. package/dist/esm/getLinkingConfig.native.js.map +0 -6
  662. package/dist/esm/getRoutes.mjs.map +0 -1
  663. package/dist/esm/imperative-api.mjs.map +0 -1
  664. package/dist/esm/matchers.mjs.map +0 -1
  665. package/dist/esm/platform.mjs.map +0 -1
  666. package/dist/esm/sortRoutes.mjs.map +0 -1
  667. package/dist/esm/useNavigation.mjs.map +0 -1
  668. package/dist/esm/useScreens.js.map +0 -6
  669. package/dist/esm/useScreens.mjs.map +0 -1
  670. package/dist/esm/useScreens.native.js.map +0 -6
  671. package/dist/esm/useViteRoutes.mjs.map +0 -1
  672. package/types/Route.d.ts.map +0 -1
  673. package/types/cleanUrl.d.ts.map +0 -1
  674. package/types/createRoute.d.ts.map +0 -1
  675. package/types/getLinkingConfig.d.ts.map +0 -1
  676. package/types/getRoutes.d.ts.map +0 -1
  677. package/types/imperative-api.d.ts +0 -3
  678. package/types/imperative-api.d.ts.map +0 -1
  679. package/types/matchers.d.ts.map +0 -1
  680. package/types/platform.d.ts.map +0 -1
  681. package/types/sortRoutes.d.ts.map +0 -1
  682. package/types/useNavigation.d.ts.map +0 -1
  683. package/types/useScreens.d.ts.map +0 -1
  684. package/types/useViteRoutes.d.ts.map +0 -1
  685. /package/dist/cjs/{Route.cjs → router/Route.cjs} +0 -0
  686. /package/dist/cjs/{Route.js → router/Route.js} +0 -0
  687. /package/dist/cjs/{Route.native.js → router/Route.native.js} +0 -0
  688. /package/dist/cjs/{matchers.cjs → router/matchers.cjs} +0 -0
  689. /package/dist/cjs/{matchers.js → router/matchers.js} +0 -0
  690. /package/dist/cjs/{matchers.native.js → router/matchers.native.js} +0 -0
  691. /package/dist/cjs/{sortRoutes.cjs → router/sortRoutes.cjs} +0 -0
  692. /package/dist/cjs/{sortRoutes.js → router/sortRoutes.js} +0 -0
  693. /package/dist/cjs/{sortRoutes.native.js → router/sortRoutes.native.js} +0 -0
  694. /package/dist/cjs/{useNavigation.cjs → router/useNavigation.cjs} +0 -0
  695. /package/dist/cjs/{useNavigation.js → router/useNavigation.js} +0 -0
  696. /package/dist/cjs/{useNavigation.native.js → router/useNavigation.native.js} +0 -0
  697. /package/dist/cjs/{useViteRoutes.cjs → router/useViteRoutes.cjs} +0 -0
  698. /package/dist/cjs/{useViteRoutes.js → router/useViteRoutes.js} +0 -0
  699. /package/dist/cjs/{useViteRoutes.native.js → router/useViteRoutes.native.js} +0 -0
  700. /package/dist/cjs/{platform.cjs → utils/platform.cjs} +0 -0
  701. /package/dist/cjs/{platform.js → utils/platform.js} +0 -0
  702. /package/dist/cjs/{platform.native.js → utils/platform.native.js} +0 -0
  703. /package/dist/esm/{Route.js → router/Route.js} +0 -0
  704. /package/dist/esm/{Route.mjs → router/Route.mjs} +0 -0
  705. /package/dist/esm/{Route.native.js → router/Route.native.js} +0 -0
  706. /package/dist/esm/{matchers.js → router/matchers.js} +0 -0
  707. /package/dist/esm/{matchers.mjs → router/matchers.mjs} +0 -0
  708. /package/dist/esm/{matchers.native.js → router/matchers.native.js} +0 -0
  709. /package/dist/esm/{sortRoutes.js → router/sortRoutes.js} +0 -0
  710. /package/dist/esm/{sortRoutes.mjs → router/sortRoutes.mjs} +0 -0
  711. /package/dist/esm/{sortRoutes.native.js → router/sortRoutes.native.js} +0 -0
  712. /package/dist/esm/{useNavigation.js → router/useNavigation.js} +0 -0
  713. /package/dist/esm/{useNavigation.mjs → router/useNavigation.mjs} +0 -0
  714. /package/dist/esm/{useNavigation.native.js → router/useNavigation.native.js} +0 -0
  715. /package/dist/esm/{useViteRoutes.js → router/useViteRoutes.js} +0 -0
  716. /package/dist/esm/{useViteRoutes.mjs → router/useViteRoutes.mjs} +0 -0
  717. /package/dist/esm/{useViteRoutes.native.js → router/useViteRoutes.native.js} +0 -0
  718. /package/dist/esm/{platform.js → utils/platform.js} +0 -0
  719. /package/dist/esm/{platform.mjs → utils/platform.mjs} +0 -0
  720. /package/dist/esm/{platform.native.js → utils/platform.native.js} +0 -0
  721. /package/src/{matchers.ts → router/matchers.ts} +0 -0
  722. /package/src/{sortRoutes.ts → router/sortRoutes.ts} +0 -0
  723. /package/src/{useNavigation.ts → router/useNavigation.ts} +0 -0
  724. /package/src/{platform.ts → utils/platform.ts} +0 -0
  725. /package/types/{matchers.d.ts → router/matchers.d.ts} +0 -0
  726. /package/types/{sortRoutes.d.ts → router/sortRoutes.d.ts} +0 -0
  727. /package/types/{useNavigation.d.ts → router/useNavigation.d.ts} +0 -0
  728. /package/types/{useScreens.d.ts → router/useScreens.d.ts} +0 -0
  729. /package/types/{cleanUrl.d.ts → utils/cleanUrl.d.ts} +0 -0
  730. /package/types/{platform.d.ts → utils/platform.d.ts} +0 -0
@@ -1,25 +1,77 @@
1
- const formatToList = (items: string[]) => items.map((key) => `- ${key}`).join('\n')
1
+ /**
2
+ * This file is copied from the react-navigation repo:
3
+ * https://github.com/react-navigation/react-navigation/blob/%40react-navigation/core%407.1.2/packages/core/src/validatePathConfig.tsx
4
+ *
5
+ * Please refrain from making changes to this file, as it will make merging updates from the upstream harder.
6
+ * All modifications except formatting should be marked with `// @modified` comment.
7
+ */
2
8
 
3
- export default function validatePathConfig(config: any, root = true) {
4
- const validKeys = ['initialRouteName', 'screens', '_route']
9
+ const formatToList = (items: Record<string, string>) =>
10
+ Object.entries(items)
11
+ .map(([key, value]) => `- ${key} (${value})`)
12
+ .join('\n')
5
13
 
6
- if (!root) {
7
- validKeys.push('path', 'exact', 'stringify', 'parse')
14
+ export function validatePathConfig(config: unknown, root = true) {
15
+ const validation = {
16
+ path: 'string',
17
+ initialRouteName: 'string',
18
+ screens: 'object',
19
+ // @modified - start
20
+ preserveDynamicRoutes: 'boolean',
21
+ preserveGroups: 'boolean',
22
+ // @modified - end
23
+ ...(root
24
+ ? null
25
+ : {
26
+ exact: 'boolean',
27
+ stringify: 'object',
28
+ parse: 'object',
29
+ }),
8
30
  }
9
31
 
10
- const invalidKeys = Object.keys(config).filter((key) => !validKeys.includes(key))
32
+ if (typeof config !== 'object' || config === null) {
33
+ throw new Error(
34
+ `Expected the configuration to be an object, but got ${JSON.stringify(config)}.`
35
+ )
36
+ }
37
+
38
+ const validationErrors = Object.fromEntries(
39
+ Object.keys(config)
40
+ .map((key) => {
41
+ if (key in validation) {
42
+ const type = validation[key as keyof typeof validation] as string
43
+ const value: string = config[key]
44
+
45
+ // biome-ignore lint/suspicious/useValidTypeof: do not check copied code
46
+ if (value !== undefined && typeof value !== type) {
47
+ return [key, `expected '${type}', got '${typeof value}'`]
48
+ }
49
+ } else {
50
+ return [key, 'extraneous']
51
+ }
11
52
 
12
- if (invalidKeys.length) {
53
+ return null
54
+ })
55
+ .filter(Boolean) as [string, string][]
56
+ )
57
+
58
+ if (Object.keys(validationErrors).length) {
13
59
  throw new Error(
14
60
  `Found invalid properties in the configuration:\n${formatToList(
15
- invalidKeys
16
- )}\n\nDid you forget to specify them under a 'screens' property?\n\nYou can only specify the following properties:\n${formatToList(
17
- validKeys
18
- )}\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`
61
+ validationErrors
62
+ )}\n\nYou can only specify the following properties:\n${formatToList(
63
+ validation
64
+ )}\n\nIf you want to specify configuration for screens, you need to specify them under a 'screens' property.\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`
65
+ )
66
+ }
67
+
68
+ if (root && 'path' in config && typeof config.path === 'string' && config.path.includes(':')) {
69
+ throw new Error(
70
+ `Found invalid path '${config.path}'. The 'path' in the top-level configuration cannot contain patterns for params.`
19
71
  )
20
72
  }
21
73
 
22
- if (config.screens) {
74
+ if ('screens' in config && config.screens) {
23
75
  Object.entries(config.screens).forEach(([_, value]) => {
24
76
  if (typeof value !== 'string') {
25
77
  validatePathConfig(value, false)
@@ -1,5 +1,5 @@
1
- import { matchDeepDynamicRouteName, matchDynamicName } from './matchers'
2
- import type { RouteNode } from './Route'
1
+ import { matchDeepDynamicRouteName, matchDynamicName } from './router/matchers'
2
+ import type { RouteNode } from './router/Route'
3
3
 
4
4
  export type Screen =
5
5
  | string
package/src/hooks.tsx CHANGED
@@ -1,7 +1,7 @@
1
1
  import React, { createContext, type ReactNode } from 'react'
2
- import { router } from './imperative-api'
2
+ import { router } from './router/imperative-api'
3
3
  import type { OneRouter } from './interfaces/router'
4
- import { RouteParamsContext } from './Route'
4
+ import { RouteParamsContext } from './router/Route'
5
5
  import { navigationRef, useStoreRootState, useStoreRouteInfo } from './router/router'
6
6
 
7
7
  type SearchParams = OneRouter.SearchParams
package/src/index.ts CHANGED
@@ -9,8 +9,8 @@ export type LinkProps<T extends string | object = string> = OneRouter.LinkProps<
9
9
  export type { Endpoint, LoaderProps } from './types'
10
10
 
11
11
  // base
12
- export { router } from './imperative-api'
13
- export { createRoute, route } from './createRoute'
12
+ export { router } from './router/imperative-api'
13
+ export { createRoute, route } from './router/createRoute'
14
14
  export { onClientLoaderResolve } from './clientLoaderResolver'
15
15
 
16
16
  // middleware
@@ -66,5 +66,5 @@ export * from '@vxrn/universal-color-scheme'
66
66
 
67
67
  // React Navigation
68
68
  export { useFocusEffect } from './useFocusEffect'
69
- export { useNavigation } from './useNavigation'
69
+ export { useNavigation } from './router/useNavigation'
70
70
  export { useLoader } from './useLoader'
@@ -1,8 +1,8 @@
1
1
  import type { EventMapBase, NavigationState } from '@react-navigation/native'
2
2
  import React from 'react'
3
- import { useContextKey } from '../Route'
3
+ import { useContextKey } from '../router/Route'
4
4
  import type { PickPartial } from '../types'
5
- import { useSortedScreens, type ScreenProps } from '../useScreens'
5
+ import { useSortedScreens, type ScreenProps } from '../router/useScreens'
6
6
  import { Screen } from '../views/Screen'
7
7
  import { withStaticProperties } from '../utils/withStaticProperties'
8
8
 
@@ -94,7 +94,7 @@ export function withLayoutContext<
94
94
  }
95
95
 
96
96
  return (
97
- <Nav {...props} {...options?.props} id={contextKey} ref={ref}>
97
+ <Nav {...options?.props} {...props} id={contextKey} ref={ref}>
98
98
  {sorted}
99
99
  </Nav>
100
100
  )
@@ -2,8 +2,8 @@ import * as Linking from 'expo-linking'
2
2
  import { Platform } from 'react-native'
3
3
 
4
4
  import { adjustPathname } from '../fork/extractPathFromURL'
5
- import getPathFromState from '../fork/getPathFromState'
6
- import getStateFromPath from '../fork/getStateFromPath'
5
+ import { getPathFromState } from '../fork/getPathFromState'
6
+ import { getStateFromPath } from '../fork/getStateFromPath'
7
7
 
8
8
  // @ts-ignore
9
9
  const isExpoGo = typeof expo !== 'undefined' && globalThis.expo?.modules?.ExpoGo
@@ -1,9 +1,9 @@
1
1
  import type * as React from 'react'
2
2
  import { Platform, type GestureResponderEvent } from 'react-native'
3
3
 
4
- import { appendBaseUrl } from '../fork/getPathFromState'
4
+ import { appendBaseUrl } from '../fork/getPathFromState-mods'
5
5
  import { useOneRouter } from '../router/router'
6
- import { stripGroupSegmentsFromPath } from '../matchers'
6
+ import { stripGroupSegmentsFromPath } from '../router/matchers'
7
7
 
8
8
  function eventShouldPreventDefault(
9
9
  e: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent
package/src/render.tsx CHANGED
@@ -9,15 +9,14 @@ export function render(element: React.ReactNode) {
9
9
  globalThis['__vxrnVersion']++
10
10
  globalThis['__vxrnRoot'].render(element)
11
11
  } else {
12
- // const deferLoad = requestAnimationFrame || setImmediate
13
- // deferLoad(() => {
14
12
  startTransition(() => {
13
+ const rootElement = document as any
15
14
  if (globalThis['__vxrnIsSPA']) {
16
- const root = createRoot(document.body)
15
+ const root = createRoot(rootElement)
17
16
  globalThis['__vxrnRoot'] = root
18
17
  root.render(element)
19
18
  } else {
20
- globalThis['__vxrnRoot'] = hydrateRoot(document.body, element, {
19
+ globalThis['__vxrnRoot'] = hydrateRoot(rootElement, element, {
21
20
  onRecoverableError(...args) {
22
21
  console.groupCollapsed(
23
22
  `[one] Non-critical recoverable React error occurred, expand group to see details`
@@ -35,6 +34,5 @@ export function render(element: React.ReactNode) {
35
34
  })
36
35
  }
37
36
  })
38
- // })
39
37
  }
40
38
  }
@@ -1,8 +1,8 @@
1
1
  import React, { createContext, useContext, type ReactNode } from 'react'
2
2
 
3
3
  import { getContextKey } from './matchers'
4
- import type { ErrorBoundaryProps } from './views/Try'
5
- import type { One } from './vite/types'
4
+ import type { ErrorBoundaryProps } from '../views/Try'
5
+ import type { One } from '../vite/types'
6
6
 
7
7
  export type DynamicConvention = { name: string; deep: boolean; notFound?: boolean }
8
8
 
@@ -1,5 +1,5 @@
1
- import { useActiveParams, useParams, usePathname } from './hooks'
2
- import type { OneRouter } from './interfaces/router'
1
+ import { useActiveParams, useParams, usePathname } from '../hooks'
2
+ import type { OneRouter } from '../interfaces/router'
3
3
 
4
4
  export function createRoute<Path>() {
5
5
  type Route = OneRouter.Route<Path>
@@ -0,0 +1,81 @@
1
+ import { cloneElement, isValidElement } from 'react'
2
+
3
+ type Props = Record<string, any>
4
+
5
+ export type FoundRootHTML = {
6
+ children: React.ReactElement
7
+ htmlProps?: Props
8
+ bodyProps?: Props
9
+ head?: React.ReactElement
10
+ }
11
+
12
+ /**
13
+ * To enable custom <html> and other html-like stuff in the root _layout
14
+ * we are doing some fancy stuff, namely, just capturing the root layout return
15
+ * value and deep-mapping over it.
16
+ *
17
+ * On server, we filter it out and hoist it to the parent root html in createApp
18
+ *
19
+ * On client, we just filter it out completely as in One we don't hydrate html
20
+ */
21
+
22
+ export function filterRootHTML(el: React.ReactNode): FoundRootHTML {
23
+ let htmlProps: Props | undefined
24
+ let bodyProps: React.ReactElement | undefined
25
+ let head: React.ReactElement | undefined
26
+
27
+ function traverse(element: React.ReactNode) {
28
+ if (!element || typeof element !== 'object') {
29
+ return element
30
+ }
31
+ if (Array.isArray(element)) {
32
+ return element.map(traverse)
33
+ }
34
+
35
+ const reactElement = element as React.ReactElement
36
+ const { type, props } = reactElement
37
+
38
+ if (type === 'html') {
39
+ const { children, ...restProps } = reactElement.props
40
+ htmlProps = restProps
41
+ return traverse(children)
42
+ }
43
+
44
+ if (type === 'head') {
45
+ head = reactElement
46
+ return null
47
+ }
48
+
49
+ if (type === 'body') {
50
+ const { children, ...restProps } = reactElement.props
51
+ bodyProps = restProps
52
+ return children
53
+ }
54
+
55
+ if (process.env.TAMAGUI_TARGET === 'native') {
56
+ if (
57
+ isValidElement(element) &&
58
+ typeof element.type === 'string' &&
59
+ element.type.toLowerCase() === element.type
60
+ ) {
61
+ // filter out things like <meta /> etc on native
62
+ // because it could just be thown in <html> or a fragment to be hoisted on web
63
+ return null
64
+ }
65
+ }
66
+
67
+ return element
68
+ }
69
+
70
+ const children =
71
+ traverse(el) ||
72
+ // if none found, we assume they aren't returning any html so just pass it on
73
+ el
74
+
75
+ return {
76
+ children,
77
+ htmlProps,
78
+ bodyProps,
79
+ head,
80
+ }
81
+ }
@@ -1,8 +1,13 @@
1
1
  import { getActionFromState, type LinkingOptions } from '@react-navigation/native'
2
2
  import type { RouteNode } from './Route'
3
- import type { State } from './fork/getPathFromState'
4
- import { getReactNavigationConfig, type Screen } from './getReactNavigationConfig'
5
- import { addEventListener, getInitialURL, getPathFromState, getStateFromPath } from './link/linking'
3
+ import type { State } from '../fork/getPathFromState'
4
+ import { getReactNavigationConfig, type Screen } from '../getReactNavigationConfig'
5
+ import {
6
+ addEventListener,
7
+ getInitialURL,
8
+ getPathFromState,
9
+ getStateFromPath,
10
+ } from '../link/linking'
6
11
 
7
12
  export function getNavigationConfig(
8
13
  routes: RouteNode,
@@ -1,4 +1,4 @@
1
- import { stripBaseUrl } from '../fork/getStateFromPath'
1
+ import { stripBaseUrl } from '../fork/getStateFromPath-mods'
2
2
 
3
3
  type SearchParams = Record<string, string | string[]>
4
4
 
@@ -1,4 +1,4 @@
1
- import { getDefaultRenderMode } from './config'
1
+ import { getDefaultRenderMode } from '../config'
2
2
  import {
3
3
  matchArrayGroupName,
4
4
  matchDeepDynamicRouteName,
@@ -7,8 +7,8 @@ import {
7
7
  removeSupportedExtensions,
8
8
  } from './matchers'
9
9
  import type { DynamicConvention, RouteNode } from './Route'
10
- import { getPageExport } from './utils/getPageExport'
11
- import type { One } from './vite/types'
10
+ import { getPageExport } from '../utils/getPageExport'
11
+ import type { One } from '../vite/types'
12
12
  // import { Unmatched } from './views/Unmatched'
13
13
 
14
14
  export type Options = {
@@ -242,7 +242,7 @@ function getDirectoryTree(contextModule: One.RouteContext, options: Options) {
242
242
  {
243
243
  type: 'layout',
244
244
  loadRoute: () => ({
245
- default: (require('./views/Navigator') as typeof import('./views/Navigator'))
245
+ default: (require('../views/Navigator') as typeof import('../views/Navigator'))
246
246
  .DefaultNavigator,
247
247
  }),
248
248
  // Generate a fake file name for the directory
@@ -481,7 +481,7 @@ function appendSitemapRoute(directory: DirectoryNode) {
481
481
  {
482
482
  loadRoute() {
483
483
  // console.warn(`Loading sitemap`)
484
- // const { Sitemap, getNavOptions } = require('./views/Sitemap')
484
+ // const { Sitemap, getNavOptions } = require('../views/Sitemap')
485
485
  // return { default: Sitemap, getNavOptions }
486
486
  return { default: () => null, getNavOptions: () => {} }
487
487
  },
@@ -1,5 +1,5 @@
1
- import * as store from './router/router'
2
- import type { OneRouter } from './interfaces/router'
1
+ import * as store from './router'
2
+ import type { OneRouter } from '../interfaces/router'
3
3
 
4
4
  export const router: OneRouter.Router = {
5
5
  navigate: store.navigate,
@@ -8,19 +8,19 @@ import * as Linking from 'expo-linking'
8
8
  import { nanoid } from 'nanoid/non-secure'
9
9
  import { Fragment, startTransition, useSyncExternalStore, type ComponentType } from 'react'
10
10
  import { Platform } from 'react-native'
11
- import type { RouteNode } from '../Route'
12
- import { getLoaderPath, getPreloadPath } from '../cleanUrl'
11
+ import type { RouteNode } from './Route'
12
+ import { getLoaderPath, getPreloadPath } from '../utils/cleanUrl'
13
13
  import type { State } from '../fork/getPathFromState'
14
- import { deepEqual, getPathDataFromState } from '../fork/getPathFromState'
15
- import { stripBaseUrl } from '../fork/getStateFromPath'
16
- import { getLinkingConfig, type OneLinkingOptions } from '../getLinkingConfig'
17
- import { getRoutes } from '../getRoutes'
14
+ import { getPathDataFromState } from '../fork/getPathFromState'
15
+ import { stripBaseUrl } from '../fork/getStateFromPath-mods'
16
+ import { getLinkingConfig, type OneLinkingOptions } from './getLinkingConfig'
17
+ import { getRoutes } from './getRoutes'
18
18
  import type { OneRouter } from '../interfaces/router'
19
19
  import { resolveHref } from '../link/href'
20
20
  import { resolve } from '../link/path'
21
- import { matchDynamicName } from '../matchers'
22
- import { sortRoutes } from '../sortRoutes'
23
- import { getQualifiedRouteComponent } from '../useScreens'
21
+ import { matchDynamicName } from './matchers'
22
+ import { sortRoutes } from './sortRoutes'
23
+ import { getQualifiedRouteComponent } from './useScreens'
24
24
  import { assertIsReady } from '../utils/assertIsReady'
25
25
  import { dynamicImport } from '../utils/dynamicImport'
26
26
  import { removeSearch } from '../utils/removeSearch'
@@ -641,3 +641,42 @@ function getNavigateAction(
641
641
  },
642
642
  }
643
643
  }
644
+
645
+ function deepEqual(a: any, b: any) {
646
+ if (a === b) {
647
+ return true
648
+ }
649
+
650
+ if (Array.isArray(a) && Array.isArray(b)) {
651
+ if (a.length !== b.length) {
652
+ return false
653
+ }
654
+
655
+ for (let i = 0; i < a.length; i++) {
656
+ if (!deepEqual(a[i], b[i])) {
657
+ return false
658
+ }
659
+ }
660
+
661
+ return true
662
+ }
663
+
664
+ if (typeof a === 'object' && typeof b === 'object') {
665
+ const keysA = Object.keys(a)
666
+ const keysB = Object.keys(b)
667
+
668
+ if (keysA.length !== keysB.length) {
669
+ return false
670
+ }
671
+
672
+ for (const key of keysA) {
673
+ if (!deepEqual(a[key], b[key])) {
674
+ return false
675
+ }
676
+ }
677
+
678
+ return true
679
+ }
680
+
681
+ return false
682
+ }
@@ -1,4 +1,5 @@
1
1
  import { createNavigatorFactory } from '@react-navigation/core'
2
+ import { SafeAreaProviderCompat } from '@react-navigation/elements'
2
3
  import type {
3
4
  EventMapBase,
4
5
  NavigationState,
@@ -6,7 +7,15 @@ import type {
6
7
  RouteProp,
7
8
  ScreenListeners,
8
9
  } from '@react-navigation/native'
9
- import React, { Suspense, useEffect } from 'react'
10
+ import React, { forwardRef, Suspense, useEffect } from 'react'
11
+ import { getPageExport } from '../utils/getPageExport'
12
+ import { getServerContext, ServerContextScript } from '../utils/serverContext'
13
+ import { useConstant } from '../utils/useConstant'
14
+ import { EmptyRoute } from '../views/EmptyRoute'
15
+ import { RootErrorBoundary } from '../views/RootErrorBoundary'
16
+ import { Try } from '../views/Try'
17
+ import { DevHead } from '../vite/DevHead'
18
+ import { filterRootHTML } from './filterRootHTML'
10
19
  import {
11
20
  Route,
12
21
  useRouteNode,
@@ -15,10 +24,6 @@ import {
15
24
  type RouteNode,
16
25
  } from './Route'
17
26
  import { sortRoutesWithInitial } from './sortRoutes'
18
- import { getPageExport } from './utils/getPageExport'
19
- import { EmptyRoute } from './views/EmptyRoute'
20
- import { RootErrorBoundary } from './views/RootErrorBoundary'
21
- import { Try } from './views/Try'
22
27
 
23
28
  // `@react-navigation/core` does not expose the Screen or Group components directly, so we have to
24
29
  // do this hack.
@@ -163,52 +168,63 @@ export function getQualifiedRouteComponent(value: RouteNode) {
163
168
  return qualifiedStore.get(value)!
164
169
  }
165
170
 
166
- let ScreenComponent: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>
167
-
168
- // if (One_ROUTER_IMPORT_MODE === 'lazy') {
169
- // ScreenComponent = React.forwardRef((props, ref) => {
170
- // // for native avoid suspense for now
171
- // const [loaded, setLoaded] = useState<any>(null)
172
-
173
- // useEffect(() => {
174
- // try {
175
- // const found = value.loadRoute()
176
- // if (found) {
177
- // setLoaded(found)
178
- // }
179
- // } catch (err) {
180
- // if (err instanceof Promise) {
181
- // err
182
- // .then((res) => {
183
- // setLoaded(res)
184
- // })
185
- // .catch((err) => {
186
- // console.error(`Error loading route`, err)
187
- // })
188
- // } else {
189
- // setLoaded(err as any)
190
- // }
191
- // }
192
- // }, [])
193
-
194
- // if (loaded) {
195
- // const Component = getPageExport(fromImport(loaded)) as React.ComponentType<any>
196
- // return (
197
- // // <Suspense fallback={null}>
198
- // <Component {...props} ref={ref} />
199
- // // </Suspense>
200
- // )
201
- // }
202
-
203
- // return null
204
- // })
205
- // } else {
171
+ let ScreenComponent: React.ForwardRefExoticComponent<{ segment: string; key?: string }>
172
+
206
173
  ScreenComponent = React.forwardRef((props, ref) => {
207
174
  const res = value.loadRoute()
208
- const Component = getPageExport(fromImport(res)) as React.ComponentType<any>
175
+ const Component = useConstant(() => {
176
+ const BaseComponent = getPageExport(fromImport(res)) as React.ComponentType<any>
177
+ const serverContext = getServerContext()
178
+
179
+ // root layout do special html handling only
180
+ if (props.segment === '') {
181
+ return forwardRef((props, ref) => {
182
+ // @ts-expect-error
183
+ const out = BaseComponent(props, ref)
184
+ const { children, bodyProps, head, htmlProps } = filterRootHTML(out)
185
+ const { children: headChildren, ...headProps } = head?.props || {}
186
+
187
+ if (process.env.TAMAGUI_TARGET === 'native') {
188
+ // on native we just ignore all html/body/head
189
+ return children
190
+ }
191
+
192
+ const contents = (
193
+ <>
194
+ <head key="head" {...headProps}>
195
+ <DevHead />
196
+ <script
197
+ dangerouslySetInnerHTML={{
198
+ __html: `globalThis['global'] = globalThis`,
199
+ }}
200
+ />
201
+ {serverContext?.css?.map((file) => {
202
+ return <link key={file} rel="stylesheet" href={file} />
203
+ })}
204
+ <ServerContextScript />
205
+ {headChildren}
206
+ </head>
207
+ <body key="body" suppressHydrationWarning {...bodyProps}>
208
+ <SafeAreaProviderCompat>{children}</SafeAreaProviderCompat>
209
+ </body>
210
+ </>
211
+ )
212
+
213
+ return (
214
+ // tamagui and libraries can add className on hydration to have ssr safe styling
215
+ // so supress hydration warnings here
216
+ <html suppressHydrationWarning lang="en-US" {...htmlProps}>
217
+ {contents}
218
+ </html>
219
+ )
220
+ })
221
+ }
222
+
223
+ return BaseComponent
224
+ })
209
225
 
210
226
  if (process.env.NODE_ENV === 'development' && process.env.DEBUG === 'one') {
211
- console.groupCollapsed(`Render ${props.key}`)
227
+ console.groupCollapsed(`Render ${props.key} ${props.segment}`)
212
228
  console.info(`res`, res)
213
229
  console.info(`value`, value)
214
230
  console.info(`fromImport`, fromImport(res))
@@ -222,7 +238,6 @@ export function getQualifiedRouteComponent(value: RouteNode) {
222
238
  // </Suspense>
223
239
  )
224
240
  })
225
- // }
226
241
 
227
242
  const wrapSuspense = (children: any) => {
228
243
  if (process.env.TAMAGUI_TARGET === 'native') {
@@ -1,5 +1,5 @@
1
- import type { GlobbedRouteImports } from './types'
2
- import type { One } from './vite/types'
1
+ import type { GlobbedRouteImports } from '../types'
2
+ import type { One } from '../vite/types'
3
3
 
4
4
  // essentially a development helper
5
5
 
@@ -1,9 +1,9 @@
1
- import { type Options, getRoutes } from '../getRoutes'
1
+ import { type Options, getRoutes } from '../router/getRoutes'
2
2
  import { getServerManifest } from './getServerManifest'
3
- import type { RouteNode } from '../Route'
3
+ import type { RouteNode } from '../router/Route'
4
4
  import type { One } from '../vite/types'
5
5
 
6
- export { type Options } from '../getRoutes'
6
+ export { type Options } from '../router/getRoutes'
7
7
 
8
8
  export type RouteInfo<TRegex = string> = {
9
9
  file: string
@@ -8,9 +8,9 @@
8
8
  *
9
9
  * Based on https://github.com/vercel/next.js/blob/1df2686bc9964f1a86c444701fa5cbf178669833/packages/next/src/shared/lib/router/utils/route-regex.ts
10
10
  */
11
- import type { RouteNode } from '../Route'
12
- import { getContextKey, matchGroupName } from '../matchers'
13
- import { sortRoutes } from '../sortRoutes'
11
+ import type { RouteNode } from '../router/Route'
12
+ import { getContextKey, matchGroupName } from '../router/matchers'
13
+ import { sortRoutes } from '../router/sortRoutes'
14
14
  import type { One } from '../vite/types'
15
15
 
16
16
  // TODO: Share these types across cli, server, router, etc.
@@ -2,7 +2,7 @@ import type { Hono, MiddlewareHandler } from 'hono'
2
2
  import type { BlankEnv } from 'hono/types'
3
3
  import { extname, join } from 'node:path'
4
4
  import { getServerEntry } from 'vxrn/serve'
5
- import { getPathFromLoaderPath } from '../cleanUrl'
5
+ import { getPathFromLoaderPath } from '../utils/cleanUrl'
6
6
  import { LOADER_JS_POSTFIX_UNCACHED } from '../constants'
7
7
  import { compileManifest, getURLfromRequestURL, type RequestHandlers } from '../createHandleRequest'
8
8
  import type { RenderAppProps } from '../types'
@@ -1,7 +1,7 @@
1
1
  import FSExtra from 'fs-extra'
2
2
  import { writeFile } from 'node:fs/promises'
3
3
  import { dirname } from 'node:path'
4
- import { globbedRoutesToRouteContext } from '../useViteRoutes'
4
+ import { globbedRoutesToRouteContext } from '../router/useViteRoutes'
5
5
  import { globDir } from '../utils/globDir'
6
6
  import { getTypedRoutesDeclarationFile } from './getTypedRoutesDeclarationFile'
7
7
 
@@ -1,6 +1,6 @@
1
- import { getRoutes } from '../getRoutes'
2
- import { isTypedRoute, removeSupportedExtensions } from '../matchers'
3
- import type { RouteNode } from '../Route'
1
+ import { getRoutes } from '../router/getRoutes'
2
+ import { isTypedRoute, removeSupportedExtensions } from '../router/matchers'
3
+ import type { RouteNode } from '../router/Route'
4
4
  import type { One } from '../vite/types'
5
5
 
6
6
  // /[...param1]/ - Match [...param1]