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