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
@@ -23,189 +23,105 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
24
  var getStateFromPath_exports = {};
25
25
  __export(getStateFromPath_exports, {
26
- default: () => getStateFromPath,
27
- getMatchableRouteConfigs: () => getMatchableRouteConfigs,
28
- getUrlWithReactNavigationConcessions: () => getUrlWithReactNavigationConcessions,
29
- stripBaseUrl: () => stripBaseUrl
26
+ getStateFromPath: () => getStateFromPath
30
27
  });
31
28
  module.exports = __toCommonJS(getStateFromPath_exports);
32
- var import_escape_string_regexp = __toESM(require("escape-string-regexp"), 1), import_matchers = require("../matchers"), import_findFocusedRoute = require("./findFocusedRoute"), import_validatePathConfig = __toESM(require("./validatePathConfig"), 1);
33
- function getUrlWithReactNavigationConcessions(path) {
34
- var baseUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.env.EXPO_BASE_URL, parsed;
35
- try {
36
- parsed = new URL(path, baseUrl || "http://phony.example");
37
- } catch (err) {
38
- return console.warn(`Error parsing url ${path}: ${err == null ? void 0 : err.message}`), {
39
- nonstandardPathname: path,
40
- inputPathnameWithoutHash: path.replace(/#.*$/g, ""),
41
- url: null
42
- };
29
+ var import_escape_string_regexp = __toESM(require("escape-string-regexp"), 1), import_findFocusedRoute = require("./findFocusedRoute"), import_validatePathConfig = require("./validatePathConfig"), import_getStateFromPath_mods = require("./getStateFromPath-mods");
30
+ function getStateFromPath(path, options) {
31
+ var _options_path, { initialRoutes, configs, configWithRegexes } = getConfigResources(options), screens = options == null ? void 0 : options.screens, pathData = (0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(path), remaining = pathData.nonstandardPathname.replace(/\/+/g, "/").replace(/^\//, "").replace(/\?.*$/, "");
32
+ remaining = remaining.endsWith("/") ? remaining : `${remaining}/`;
33
+ var prefix = options == null || (_options_path = options.path) === null || _options_path === void 0 ? void 0 : _options_path.replace(/^\//, "");
34
+ if (prefix) {
35
+ var normalizedPrefix = prefix.endsWith("/") ? prefix : `${prefix}/`;
36
+ if (!remaining.startsWith(normalizedPrefix))
37
+ return;
38
+ remaining = remaining.replace(normalizedPrefix, "");
43
39
  }
44
- var pathname = parsed.pathname;
40
+ if (screens === void 0) {
41
+ var routes = remaining.split("/").filter(Boolean).map(function(segment) {
42
+ var name = decodeURIComponent(segment);
43
+ return {
44
+ name
45
+ };
46
+ });
47
+ return routes.length ? createNestedStateObject(pathData, routes, initialRoutes, [], pathData.url.hash) : void 0;
48
+ }
49
+ if (remaining === "/") {
50
+ var match = (0, import_getStateFromPath_mods.matchForEmptyPath)(configWithRegexes);
51
+ return match ? createNestedStateObject(
52
+ pathData,
53
+ // @modified: pass pathData instead of path
54
+ match.routeNames.map(function(name) {
55
+ return {
56
+ name
57
+ };
58
+ }),
59
+ initialRoutes,
60
+ configs
61
+ ) : void 0;
62
+ }
63
+ var result, current, { routes: routes1, remainingPath } = matchAgainstConfigs(remaining, configWithRegexes);
64
+ if (routes1 !== void 0 && (current = createNestedStateObject(pathData, routes1, initialRoutes, configs), remaining = remainingPath, result = current), !(current == null || result == null))
65
+ return result;
66
+ }
67
+ var cachedConfigResources = /* @__PURE__ */ new WeakMap();
68
+ function getConfigResources(options) {
69
+ if (!options) return prepareConfigResources();
70
+ var cached = cachedConfigResources.get(options);
71
+ if (cached) return cached;
72
+ var resources = prepareConfigResources(options);
73
+ return cachedConfigResources.set(options, resources), resources;
74
+ }
75
+ function prepareConfigResources(options, previousSegments) {
76
+ options && (0, import_validatePathConfig.validatePathConfig)(options);
77
+ var initialRoutes = getInitialRoutes(options), configs = getNormalizedConfigs(initialRoutes, options == null ? void 0 : options.screens, previousSegments);
78
+ checkForDuplicatedConfigs(configs);
79
+ var configWithRegexes = getConfigsWithRegexes(configs);
45
80
  return {
46
- // The slashes are at the end, not the beginning
47
- nonstandardPathname: stripBaseUrl(pathname, baseUrl).replace(/^\/+/g, "").replace(/\/+$/g, "") + "/",
48
- url: parsed
81
+ initialRoutes,
82
+ configs,
83
+ configWithRegexes
49
84
  };
50
85
  }
51
- function getStateFromPath(path, options) {
52
- var { initialRoutes, configs } = getMatchableRouteConfigs(options);
53
- return getStateFromPathWithConfigs(path, configs, initialRoutes);
54
- }
55
- function getMatchableRouteConfigs(options) {
56
- options && (0, import_validatePathConfig.default)(options);
57
- var screens = options == null ? void 0 : options.screens;
58
- if (!screens)
59
- throw Error("You must pass a 'screens' object to 'getStateFromPath' to generate a path.");
86
+ function getInitialRoutes(options) {
60
87
  var initialRoutes = [];
61
- options != null && options.initialRouteName && initialRoutes.push({
88
+ return options != null && options.initialRouteName && initialRoutes.push({
62
89
  initialRouteName: options.initialRouteName,
63
90
  parentScreens: []
64
- });
65
- var converted = Object.keys(screens).flatMap(function(key) {
66
- return createNormalizedConfigs(key, screens, [], initialRoutes);
67
- }).flat(), resolvedInitialPatterns = initialRoutes.map(function(route) {
68
- return joinPaths(...route.parentScreens, route.initialRouteName);
69
- }), convertedWithInitial = converted.map(function(config) {
70
- return {
71
- ...config,
72
- // TODO: Probably a safer way to do this
73
- // Mark initial routes to give them potential priority over other routes that match.
74
- isInitial: resolvedInitialPatterns.includes(config.routeNames.join("/"))
75
- };
76
- }), configs = convertedWithInitial.sort(sortConfigs);
77
- return assertConfigDuplicates(configs), {
78
- configs,
79
- initialRoutes
80
- };
91
+ }), initialRoutes;
81
92
  }
82
- function assertConfigDuplicates(configs) {
93
+ function getNormalizedConfigs(initialRoutes) {
94
+ var screens = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, previousSegments = arguments.length > 2 ? arguments[2] : void 0;
95
+ return [].concat(...Object.keys(screens).map(function(key) {
96
+ return createNormalizedConfigs(key, screens, [], initialRoutes, []);
97
+ })).map((0, import_getStateFromPath_mods.appendIsInitial)(initialRoutes)).sort((0, import_getStateFromPath_mods.getRouteConfigSorter)(previousSegments));
98
+ }
99
+ function checkForDuplicatedConfigs(configs) {
83
100
  configs.reduce(function(acc, config) {
84
- var _config_regex, _config_regex_toString, indexedKey = (_config_regex_toString = (_config_regex = config.regex) === null || _config_regex === void 0 ? void 0 : _config_regex.toString()) !== null && _config_regex_toString !== void 0 ? _config_regex_toString : config.pattern, alpha = acc[indexedKey];
85
- if (alpha && !alpha.hasChildren && !config.hasChildren) {
86
- var a = alpha.routeNames, b = config.routeNames, intersects = a.length > b.length ? b.every(function(it, i) {
101
+ if (acc[config.pattern]) {
102
+ var a = acc[config.pattern].routeNames, b = config.routeNames, intersects = a.length > b.length ? b.every(function(it, i) {
87
103
  return a[i] === it;
88
104
  }) : a.every(function(it, i) {
89
105
  return b[i] === it;
90
106
  });
91
- if (!intersects) {
92
- var last = config.pattern.split("/").pop();
93
- if (!(last != null && last.match(/^\*not-found$/))) {
94
- var routeType = last != null && last.startsWith(":") ? "dynamic route" : last != null && last.startsWith("*") ? "dynamic-rest route" : "route";
95
- throw new Error(`The ${routeType} pattern '${config.pattern || "/"}' resolves to both '${alpha.userReadableName}' and '${config.userReadableName}'. Patterns must be unique and cannot resolve to more than one route.`);
96
- }
97
- }
107
+ if (!intersects)
108
+ throw new Error(`Found conflicting screens with the same pattern. The pattern '${config.pattern}' resolves to both '${a.join(" > ")}' and '${b.join(" > ")}'. Patterns must be unique and cannot resolve to more than one screen.`);
98
109
  }
99
110
  return Object.assign(acc, {
100
- [indexedKey]: config
111
+ [config.pattern]: config
101
112
  });
102
113
  }, {});
103
114
  }
104
- function sortConfigs(a, b) {
105
- if (a.pattern === b.pattern)
106
- return b.routeNames.join(">").localeCompare(a.routeNames.join(">"));
107
- if (a.pattern.startsWith(b.pattern) && // NOTE: This is a hack to make sure that `*` is always at the end
108
- b.screen !== "index")
109
- return -1;
110
- if (b.pattern.startsWith(a.pattern) && a.screen !== "index")
111
- return 1;
112
- var aParts = a.pattern.split("/").filter(function(part) {
113
- return (0, import_matchers.matchGroupName)(part) == null;
114
- });
115
- (a.screen === "index" || a.screen.match(/\/index$/)) && aParts.push("index");
116
- var bParts = b.pattern.split("/").filter(function(part) {
117
- return (0, import_matchers.matchGroupName)(part) == null;
118
- });
119
- (b.screen === "index" || b.screen.match(/\/index$/)) && bParts.push("index");
120
- for (var i = 0; i < Math.max(aParts.length, bParts.length); i++) {
121
- if (aParts[i] == null)
122
- return 1;
123
- if (bParts[i] == null)
124
- return -1;
125
- var aWildCard = aParts[i].startsWith("*"), bWildCard = bParts[i].startsWith("*");
126
- if (aWildCard && bWildCard) {
127
- var aNotFound = aParts[i].match(/^[*]not-found$/), bNotFound = bParts[i].match(/^[*]not-found$/);
128
- if (aNotFound && bNotFound)
129
- continue;
130
- if (aNotFound)
131
- return 1;
132
- if (bNotFound)
133
- return -1;
134
- continue;
135
- }
136
- if (aWildCard)
137
- return 1;
138
- if (bWildCard)
139
- return -1;
140
- var aSlug = aParts[i].startsWith(":"), bSlug = bParts[i].startsWith(":");
141
- if (aSlug && bSlug) {
142
- var aNotFound1 = aParts[i].match(/^[*]not-found$/), bNotFound1 = bParts[i].match(/^[*]not-found$/);
143
- if (aNotFound1 && bNotFound1)
144
- continue;
145
- if (aNotFound1)
146
- return 1;
147
- if (bNotFound1)
148
- return -1;
149
- continue;
150
- }
151
- if (aSlug)
152
- return 1;
153
- if (bSlug)
154
- return -1;
155
- }
156
- return a.isInitial && !b.isInitial ? -1 : !a.isInitial && b.isInitial ? 1 : bParts.length - aParts.length;
157
- }
158
- function getStateFromEmptyPathWithConfigs(path, hash, configs, initialRoutes) {
159
- var leafNodes = configs.filter(function(config) {
160
- return !config.hasChildren;
161
- }).map(function(value) {
115
+ function getConfigsWithRegexes(configs) {
116
+ return configs.map(function(c) {
162
117
  return {
163
- ...value,
164
- // Collapse all levels of group segments before testing.
165
- // This enables `app/(one)/(two)/index.js` to be matched.
166
- path: (0, import_matchers.stripGroupSegmentsFromPath)(value.path)
118
+ ...c,
119
+ // Add `$` to the regex to make sure it matches till end of the path and not just beginning
120
+ // @modified - start
121
+ // regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,
122
+ regex: c.pattern ? new RegExp(`^(${c.pattern.split("/").map(import_getStateFromPath_mods.formatRegexPattern).join("")})$`) : void 0
167
123
  };
168
- }), _leafNodes_find, _ref, match = (_ref = (_leafNodes_find = leafNodes.find(function(config) {
169
- return (
170
- // NOTE: Test leaf node index routes that either don't have a regex or match an empty string.
171
- config.path === "" && (!config.regex || config.regex.test(""))
172
- );
173
- })) !== null && _leafNodes_find !== void 0 ? _leafNodes_find : leafNodes.find(function(config) {
174
- return (
175
- // NOTE: Test leaf node dynamic routes that match an empty string.
176
- config.path.startsWith(":") && config.regex.test("")
177
- );
178
- })) !== null && _ref !== void 0 ? _ref : (
179
- // NOTE: Test leaf node deep dynamic routes that match a slash.
180
- // This should be done last to enable dynamic routes having a higher priority.
181
- leafNodes.find(function(config) {
182
- return config.path.startsWith("*") && config.regex.test("/");
183
- })
184
- );
185
- if (match) {
186
- var routes = match.routeNames.map(function(name) {
187
- return match._route ? {
188
- name,
189
- _route: match._route
190
- } : {
191
- name
192
- };
193
- });
194
- return createNestedStateObject(path, hash, routes, configs, initialRoutes);
195
- }
196
- }
197
- function getStateFromPathWithConfigs(path, configs, initialRoutes) {
198
- var baseUrl = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : process.env.EXPO_BASE_URL, formattedPaths = getUrlWithReactNavigationConcessions(path);
199
- if (!formattedPaths.url) {
200
- console.warn(`No url found for ${path}`);
201
- return;
202
- }
203
- var cleanPath = stripBaseUrl((0, import_matchers.stripGroupSegmentsFromPath)(formattedPaths.url.pathname), baseUrl) + formattedPaths.url.search;
204
- if (path.startsWith("/") || (cleanPath = cleanPath.slice(1)), formattedPaths.nonstandardPathname === "/")
205
- return getStateFromEmptyPathWithConfigs(cleanPath, formattedPaths.url.hash.slice(1), configs, initialRoutes);
206
- var routes = matchAgainstConfigs(formattedPaths.nonstandardPathname, configs);
207
- if (routes != null)
208
- return createNestedStateObject(cleanPath, formattedPaths.url.hash.slice(1), routes, configs, initialRoutes);
124
+ });
209
125
  }
210
126
  var joinPaths = function() {
211
127
  for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++)
@@ -213,67 +129,60 @@ var joinPaths = function() {
213
129
  return [].concat(...paths.map(function(p) {
214
130
  return p.split("/");
215
131
  })).filter(Boolean).join("/");
216
- };
217
- function matchAgainstConfigs(remaining, configs) {
218
- var routes, remainingPath = remaining, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
132
+ }, matchAgainstConfigs = function(remaining, configs) {
133
+ var routes, remainingPath = remaining, allParams = /* @__PURE__ */ Object.create(null), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
219
134
  try {
220
135
  for (var _loop = function() {
221
- var config = _step.value, _config_pattern;
136
+ var config = _step.value;
222
137
  if (!config.regex)
223
138
  return "continue";
224
139
  var match = remainingPath.match(config.regex);
225
- if (!match)
226
- return "continue";
227
- var matchedParams = (_config_pattern = config.pattern) === null || _config_pattern === void 0 ? void 0 : _config_pattern.split("/").filter(function(p) {
228
- return p.match(/^[:*]/);
229
- }).reduce(function(acc, p, i) {
230
- var _match_;
231
- return p.match(/^\*/) ? {
232
- ...acc,
233
- [p]: match[(i + 1) * 2]
234
- } : Object.assign(acc, {
235
- [p]: (_match_ = match[(i + 1) * 2]) === null || _match_ === void 0 ? void 0 : _match_.replace(/\//, "")
236
- });
237
- }, {}), routeFromName = function(name) {
238
- var config2 = configs.find(function(c) {
239
- return c.screen === name;
240
- });
241
- if (!(config2 != null && config2.path))
242
- return {
140
+ if (match) {
141
+ var _config_pattern, matchResult = (_config_pattern = config.pattern) === null || _config_pattern === void 0 ? void 0 : _config_pattern.split("/").reduce(
142
+ // Position of the current path param segment in the path (e.g in pattern `a/:b/:c`, `:a` is 0 and `:b` is 1)
143
+ // The extracted params
144
+ function(acc, p, index) {
145
+ if (!p.startsWith(":"))
146
+ return acc;
147
+ acc.pos += 1;
148
+ var decodedParamSegment = (0, import_getStateFromPath_mods.decodeURIComponentSafe)(
149
+ // @modified: use decodeURIComponent**Safe**
150
+ // The param segments appear every second item starting from 2 in the regex match result
151
+ match[(acc.pos + 1) * 2].replace(/\/$/, "")
152
+ );
153
+ return Object.assign(acc.matchedParams, {
154
+ [p]: Object.assign(acc.matchedParams[p] || {}, {
155
+ [index]: decodedParamSegment
156
+ })
157
+ }), acc;
158
+ },
159
+ {
160
+ pos: -1,
161
+ matchedParams: {}
162
+ }
163
+ ), matchedParams = matchResult.matchedParams || {};
164
+ return routes = config.routeNames.map(function(name) {
165
+ var _routeConfig_pattern_replace, routeConfig = configs.find(function(c) {
166
+ return c.screen === name && config.pattern.startsWith(c.pattern);
167
+ }), normalizedPath = routeConfig == null ? void 0 : routeConfig.path.split("/").filter(Boolean).join("/"), numInitialSegments = routeConfig == null || (_routeConfig_pattern_replace = routeConfig.pattern.replace(new RegExp(`${(0, import_escape_string_regexp.default)(normalizedPath)}$`), "")) === null || _routeConfig_pattern_replace === void 0 ? void 0 : _routeConfig_pattern_replace.split("/").length, params = normalizedPath == null ? void 0 : normalizedPath.split("/").reduce(function(acc, p, index) {
168
+ var _matchedParams_p;
169
+ if (!p.startsWith(":"))
170
+ return acc;
171
+ var offset = numInitialSegments ? numInitialSegments - 1 : 0, value = (0, import_getStateFromPath_mods.getParamValue)(p, (_matchedParams_p = matchedParams[p]) === null || _matchedParams_p === void 0 ? void 0 : _matchedParams_p[index + offset]);
172
+ if (value) {
173
+ var _routeConfig_parse, key = p.replace(/^:/, "").replace(/\?$/, "");
174
+ acc[key] = !(routeConfig == null || (_routeConfig_parse = routeConfig.parse) === null || _routeConfig_parse === void 0) && _routeConfig_parse[key] ? routeConfig.parse[key](value) : value;
175
+ }
176
+ return acc;
177
+ }, {});
178
+ return params && Object.keys(params).length ? {
179
+ name,
180
+ params
181
+ } : {
243
182
  name
244
183
  };
245
- var segments = config2.path.split("/"), params = {};
246
- return segments.filter(function(p) {
247
- return p.match(/^[:*]/);
248
- }).forEach(function(p) {
249
- var value = matchedParams[p];
250
- if (value) {
251
- var _config_parse;
252
- p.match(/^\*/) && (value = value == null ? void 0 : value.split("/").filter(Boolean));
253
- var key = p.replace(/^[:*]/, "").replace(/\?$/, "");
254
- params[key] = !((_config_parse = config2.parse) === null || _config_parse === void 0) && _config_parse[key] ? config2.parse[key](value) : value;
255
- }
256
- }), params && Object.keys(params).length ? {
257
- name,
258
- params
259
- } : {
260
- name
261
- };
262
- };
263
- routes = config.routeNames.map(function(name) {
264
- return config._route ? {
265
- ...routeFromName(name),
266
- _route: config._route
267
- } : {
268
- ...routeFromName(name)
269
- };
270
- });
271
- var combinedParams = routes.reduce(function(acc, r) {
272
- return Object.assign(acc, r.params);
273
- }, {}), hasCombinedParams = Object.keys(combinedParams).length > 0;
274
- return routes = routes.map(function(r) {
275
- return hasCombinedParams && (r.params = combinedParams), r;
276
- }), remainingPath = remainingPath.replace(match[1], ""), "break";
184
+ }), remainingPath = remainingPath.replace(match[1], ""), "break";
185
+ }
277
186
  }, _iterator = configs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
278
187
  var _ret = _loop();
279
188
  if (_ret === "break") break;
@@ -288,30 +197,23 @@ function matchAgainstConfigs(remaining, configs) {
288
197
  throw _iteratorError;
289
198
  }
290
199
  }
291
- return routes;
292
- }
293
- function equalHeritage(a, b) {
294
- if (a.length !== b.length)
295
- return !1;
296
- for (var i = 0; i < a.length; i++)
297
- if (a[i].localeCompare(b[i]) !== 0)
298
- return !1;
299
- return !0;
300
- }
301
- var createNormalizedConfigs = function(screen, routeConfig) {
302
- var routeNames = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], initials = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [], parentScreens = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : [], parentPattern = arguments.length > 5 ? arguments[5] : void 0, configs = [];
200
+ return (0, import_getStateFromPath_mods.populateParams)(routes, allParams), {
201
+ routes,
202
+ remainingPath
203
+ };
204
+ }, createNormalizedConfigs = function(screen, routeConfig) {
205
+ var routeNames = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], initials = arguments.length > 3 ? arguments[3] : void 0, parentScreens = arguments.length > 4 ? arguments[4] : void 0, parentPattern = arguments.length > 5 ? arguments[5] : void 0, configs = [];
303
206
  routeNames.push(screen), parentScreens.push(screen);
304
207
  var config = routeConfig[screen];
305
208
  if (typeof config == "string") {
306
209
  var pattern = parentPattern ? joinPaths(parentPattern, config) : config;
307
- configs.push(createConfigItem(screen, routeNames, pattern, config, !1));
210
+ configs.push(createConfigItem(screen, routeNames, pattern, config));
308
211
  } else if (typeof config == "object") {
309
- var pattern1, { _route } = config;
212
+ var pattern1;
310
213
  if (typeof config.path == "string") {
311
- var _Object_keys;
312
214
  if (config.exact && config.path === void 0)
313
215
  throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
314
- pattern1 = config.exact !== !0 ? joinPaths(parentPattern || "", config.path || "") : config.path || "", configs.push(createConfigItem(screen, routeNames, pattern1, config.path, config.screens ? !!(!((_Object_keys = Object.keys(config.screens)) === null || _Object_keys === void 0) && _Object_keys.length) : !1, config.parse, _route));
216
+ pattern1 = config.exact !== !0 ? joinPaths(parentPattern || "", config.path || "") : config.path || "", configs.push(createConfigItem(screen, routeNames, pattern1, config.path, config.parse, config));
315
217
  }
316
218
  config.screens && (config.initialRouteName && initials.push({
317
219
  initialRouteName: config.initialRouteName,
@@ -324,13 +226,12 @@ var createNormalizedConfigs = function(screen, routeConfig) {
324
226
  }));
325
227
  }
326
228
  return routeNames.pop(), configs;
327
- };
328
- function formatRegexPattern(it) {
329
- return it = it.replace(" ", "%20"), it.startsWith(":") ? `(([^/]+\\/)${it.endsWith("?") ? "?" : ""})` : it.startsWith("*") ? `((.*\\/)${it.endsWith("?") ? "?" : ""})` : (0, import_matchers.matchGroupName)(it) != null ? `(?:${(0, import_escape_string_regexp.default)(it)}\\/)?` : (0, import_escape_string_regexp.default)(it) + "\\/";
330
- }
331
- var createConfigItem = function(screen, routeNames, pattern, path, hasChildren, parse, _route) {
229
+ }, createConfigItem = function(screen, routeNames, pattern, path) {
230
+ var parse = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : void 0, config = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : {};
332
231
  pattern = pattern.split("/").filter(Boolean).join("/");
333
- var regex = pattern ? new RegExp(`^(${pattern.split("/").map(formatRegexPattern).join("")})$`) : void 0;
232
+ var regex = pattern ? new RegExp(`^(${pattern.split("/").map(function(it) {
233
+ return it.startsWith(":") ? `(([^/]+\\/)${it.endsWith("?") ? "?" : ""})` : `${it === "*" ? ".*" : (0, import_escape_string_regexp.default)(it)}\\/`;
234
+ }).join("")})`) : void 0;
334
235
  return {
335
236
  screen,
336
237
  regex,
@@ -341,17 +242,13 @@ var createConfigItem = function(screen, routeNames, pattern, path, hasChildren,
341
242
  ...routeNames
342
243
  ],
343
244
  parse,
344
- userReadableName: [
345
- ...routeNames.slice(0, -1),
346
- path || screen
347
- ].join("/"),
348
- hasChildren: !!hasChildren,
349
- _route
245
+ // @modified - start
246
+ ...(0, import_getStateFromPath_mods.createConfigItemAdditionalProperties)(screen, pattern, routeNames, config)
350
247
  };
351
- }, findParseConfigForRoute = function(routeName, routeConfigs) {
248
+ }, findParseConfigForRoute = function(routeName, flatConfig) {
352
249
  var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
353
250
  try {
354
- for (var _iterator = routeConfigs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
251
+ for (var _iterator = flatConfig[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
355
252
  var config = _step.value;
356
253
  if (routeName === config.routeNames[config.routeNames.length - 1])
357
254
  return config.parse;
@@ -371,8 +268,15 @@ var createConfigItem = function(screen, routeNames, pattern, path, hasChildren,
371
268
  try {
372
269
  for (var _iterator = initialRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
373
270
  var config = _step.value;
374
- if (equalHeritage(parentScreens, config.parentScreens))
375
- return routeName !== config.initialRouteName ? config.initialRouteName : void 0;
271
+ if (parentScreens.length === config.parentScreens.length) {
272
+ for (var sameParents = !0, i = 0; i < parentScreens.length; i++)
273
+ if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {
274
+ sameParents = !1;
275
+ break;
276
+ }
277
+ if (sameParents)
278
+ return routeName !== config.initialRouteName ? config.initialRouteName : void 0;
279
+ }
376
280
  }
377
281
  } catch (err) {
378
282
  _didIteratorError = !0, _iteratorError = err;
@@ -384,7 +288,7 @@ var createConfigItem = function(screen, routeNames, pattern, path, hasChildren,
384
288
  throw _iteratorError;
385
289
  }
386
290
  }
387
- }, createStateObject = function(route, isEmpty, initialRoute) {
291
+ }, createStateObject = function(initialRoute, route, isEmpty) {
388
292
  return isEmpty ? initialRoute ? {
389
293
  index: 1,
390
294
  routes: [
@@ -420,69 +324,25 @@ var createConfigItem = function(screen, routeNames, pattern, path, hasChildren,
420
324
  }
421
325
  ]
422
326
  };
423
- }, createNestedStateObject = function(path, hash, routes, routeConfigs, initialRoutes) {
424
- var route = routes.shift(), parentScreens = [], initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
327
+ }, createNestedStateObject = function(param, routes, initialRoutes, flatConfig, hash) {
328
+ var { path, ...restPathData } = param, route = routes.shift(), parentScreens = [], initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
425
329
  parentScreens.push(route.name);
426
- var state = createStateObject(route, routes.length === 0, initialRoute);
330
+ var state = createStateObject(initialRoute, route, routes.length === 0);
427
331
  if (routes.length > 0)
428
332
  for (var nestedState = state; route = routes.shift(); ) {
429
333
  initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
430
334
  var nestedStateIndex = nestedState.index || nestedState.routes.length - 1;
431
- nestedState.routes[nestedStateIndex].state = createStateObject(route, routes.length === 0, initialRoute), routes.length > 0 && (nestedState = nestedState.routes[nestedStateIndex].state), parentScreens.push(route.name);
432
- }
433
- route = (0, import_findFocusedRoute.findFocusedRoute)(state), route.path = path;
434
- var params = parseQueryParams(route.path, findParseConfigForRoute(route.name, routeConfigs));
435
- if (params) {
436
- route.params = Object.assign(/* @__PURE__ */ Object.create(null), route.params);
437
- var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
438
- try {
439
- for (var _iterator = Object.entries(params)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
440
- var [name, value] = _step.value, _route_params, _route_params1;
441
- if (!((_route_params = route.params) === null || _route_params === void 0) && _route_params[name] && process.env.NODE_ENV !== "production" && console.warn(`Route '/${route.name}' with param '${name}' was specified both in the path and as a param, removing from path`), !(!((_route_params1 = route.params) === null || _route_params1 === void 0) && _route_params1[name])) {
442
- route.params[name] = value;
443
- continue;
444
- }
445
- }
446
- } catch (err) {
447
- _didIteratorError = !0, _iteratorError = err;
448
- } finally {
449
- try {
450
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
451
- } finally {
452
- if (_didIteratorError)
453
- throw _iteratorError;
454
- }
335
+ nestedState.routes[nestedStateIndex].state = createStateObject(initialRoute, route, routes.length === 0), routes.length > 0 && (nestedState = nestedState.routes[nestedStateIndex].state), parentScreens.push(route.name);
455
336
  }
456
- Object.keys(route.params).length === 0 && delete route.params;
457
- }
458
- return hash && (route.params = Object.assign(/* @__PURE__ */ Object.create(null), route.params), route.params["#"] = hash), state;
459
- }, parseQueryParams = function(path, parseConfig) {
460
- var query = path.split("?")[1], searchParams = new URLSearchParams(query), params = Object.fromEntries(
461
- // @ts-ignore: [Symbol.iterator] is indeed, available on every platform.
462
- searchParams
463
- );
464
- return parseConfig && Object.keys(params).forEach(function(name) {
465
- Object.hasOwnProperty.call(parseConfig, name) && typeof params[name] == "string" && (params[name] = parseConfig[name](params[name]));
466
- }), Object.keys(params).length ? params : void 0;
467
- }, baseUrlCache = /* @__PURE__ */ new Map();
468
- function getBaseUrlRegex(baseUrl) {
469
- if (baseUrlCache.has(baseUrl))
470
- return baseUrlCache.get(baseUrl);
471
- var regex = new RegExp(`^\\/?${(0, import_escape_string_regexp.default)(baseUrl)}`, "g");
472
- return baseUrlCache.set(baseUrl, regex), regex;
473
- }
474
- function stripBaseUrl(path) {
475
- var baseUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.env.EXPO_BASE_URL;
476
- if (process.env.NODE_ENV !== "development" && baseUrl) {
477
- var reg = getBaseUrlRegex(baseUrl);
478
- return path.replace(/^\/+/g, "/").replace(reg, "");
479
- }
480
- return path;
481
- }
337
+ route = (0, import_findFocusedRoute.findFocusedRoute)(state), route.path = restPathData.pathWithoutGroups;
338
+ var params = (0, import_getStateFromPath_mods.parseQueryParamsExtended)(path, route, flatConfig ? findParseConfigForRoute(route.name, flatConfig) : void 0, hash);
339
+ return params && (route.params = {
340
+ ...route.params,
341
+ ...params
342
+ }), state;
343
+ };
482
344
  // Annotate the CommonJS export names for ESM import in node:
483
345
  0 && (module.exports = {
484
- getMatchableRouteConfigs,
485
- getUrlWithReactNavigationConcessions,
486
- stripBaseUrl
346
+ getStateFromPath
487
347
  });
488
348
  //# sourceMappingURL=getStateFromPath.js.map