@rangojs/router 0.0.0-experimental.49 → 0.0.0-experimental.4ffa0f9b

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 (910) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +421 -121
  4. package/package.json +2 -2
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +8 -0
  7. package/skills/links/SKILL.md +3 -1
  8. package/skills/loader/SKILL.md +53 -43
  9. package/skills/middleware/SKILL.md +2 -0
  10. package/skills/prerender/SKILL.md +110 -68
  11. package/skills/route/SKILL.md +31 -0
  12. package/skills/router-setup/SKILL.md +87 -2
  13. package/skills/typesafety/SKILL.md +10 -0
  14. package/src/__internal.ts +1 -1
  15. package/src/browser/app-version.ts +14 -0
  16. package/src/browser/navigation-bridge.ts +16 -3
  17. package/src/browser/navigation-client.ts +64 -40
  18. package/src/browser/navigation-store.ts +43 -8
  19. package/src/browser/partial-update.ts +27 -5
  20. package/src/browser/prefetch/fetch.ts +8 -2
  21. package/src/browser/prefetch/queue.ts +61 -29
  22. package/src/browser/prefetch/resource-ready.ts +77 -0
  23. package/src/browser/react/Link.tsx +44 -8
  24. package/src/browser/react/NavigationProvider.tsx +13 -4
  25. package/src/browser/react/context.ts +7 -2
  26. package/src/browser/react/use-handle.ts +9 -58
  27. package/src/browser/react/use-router.ts +21 -8
  28. package/src/browser/rsc-router.tsx +26 -3
  29. package/src/browser/scroll-restoration.ts +10 -8
  30. package/src/browser/server-action-bridge.ts +8 -6
  31. package/src/browser/types.ts +27 -5
  32. package/src/build/generate-manifest.ts +6 -6
  33. package/src/build/generate-route-types.ts +3 -0
  34. package/src/build/route-types/include-resolution.ts +8 -1
  35. package/src/build/route-types/router-processing.ts +211 -72
  36. package/src/build/route-types/scan-filter.ts +8 -1
  37. package/src/cache/cache-scope.ts +46 -5
  38. package/src/cache/taint.ts +55 -0
  39. package/src/client.tsx +2 -56
  40. package/src/context-var.ts +72 -2
  41. package/src/handle.ts +40 -0
  42. package/src/index.rsc.ts +3 -1
  43. package/src/index.ts +8 -0
  44. package/src/prerender/store.ts +5 -4
  45. package/src/prerender.ts +138 -77
  46. package/src/reverse.ts +22 -1
  47. package/src/route-definition/dsl-helpers.ts +42 -19
  48. package/src/route-definition/helpers-types.ts +10 -6
  49. package/src/route-definition/index.ts +3 -0
  50. package/src/route-definition/redirect.ts +9 -1
  51. package/src/route-definition/resolve-handler-use.ts +149 -0
  52. package/src/route-types.ts +11 -0
  53. package/src/router/content-negotiation.ts +100 -1
  54. package/src/router/handler-context.ts +79 -23
  55. package/src/router/intercept-resolution.ts +9 -4
  56. package/src/router/loader-resolution.ts +121 -10
  57. package/src/router/match-api.ts +124 -189
  58. package/src/router/match-middleware/cache-lookup.ts +22 -7
  59. package/src/router/match-middleware/cache-store.ts +5 -0
  60. package/src/router/match-middleware/segment-resolution.ts +53 -0
  61. package/src/router/middleware-types.ts +6 -8
  62. package/src/router/middleware.ts +2 -5
  63. package/src/router/navigation-snapshot.ts +182 -0
  64. package/src/router/prerender-match.ts +110 -10
  65. package/src/router/preview-match.ts +30 -102
  66. package/src/router/request-classification.ts +310 -0
  67. package/src/router/route-snapshot.ts +245 -0
  68. package/src/router/router-interfaces.ts +36 -4
  69. package/src/router/router-options.ts +37 -11
  70. package/src/router/segment-resolution/fresh.ts +65 -9
  71. package/src/router/segment-resolution/helpers.ts +29 -24
  72. package/src/router/segment-resolution/revalidation.ts +65 -7
  73. package/src/router/types.ts +1 -0
  74. package/src/router.ts +54 -5
  75. package/src/rsc/handler.ts +460 -368
  76. package/src/rsc/manifest-init.ts +5 -1
  77. package/src/rsc/progressive-enhancement.ts +4 -0
  78. package/src/rsc/rsc-rendering.ts +5 -0
  79. package/src/rsc/server-action.ts +2 -0
  80. package/src/rsc/ssr-setup.ts +2 -2
  81. package/src/rsc/types.ts +8 -1
  82. package/src/server/context.ts +50 -1
  83. package/src/server/loader-registry.ts +9 -8
  84. package/src/server/request-context.ts +134 -14
  85. package/src/ssr/index.tsx +3 -0
  86. package/src/static-handler.ts +18 -6
  87. package/src/types/cache-types.ts +4 -4
  88. package/src/types/handler-context.ts +37 -19
  89. package/src/types/loader-types.ts +36 -9
  90. package/src/types/route-entry.ts +1 -1
  91. package/src/urls/path-helper-types.ts +9 -2
  92. package/src/urls/path-helper.ts +47 -12
  93. package/src/urls/pattern-types.ts +12 -0
  94. package/src/urls/response-types.ts +16 -6
  95. package/src/use-loader.tsx +73 -4
  96. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  97. package/src/vite/discovery/discover-routers.ts +5 -1
  98. package/src/vite/discovery/prerender-collection.ts +14 -1
  99. package/src/vite/discovery/state.ts +13 -4
  100. package/src/vite/index.ts +4 -0
  101. package/src/vite/plugin-types.ts +60 -5
  102. package/src/vite/plugins/performance-tracks.ts +88 -0
  103. package/src/vite/plugins/refresh-cmd.ts +88 -26
  104. package/src/vite/rango.ts +19 -2
  105. package/src/vite/router-discovery.ts +153 -34
  106. package/src/vite/utils/prerender-utils.ts +18 -0
  107. package/src/vite/utils/shared-utils.ts +3 -2
  108. package/dist/__internal.d.ts +0 -83
  109. package/dist/__internal.d.ts.map +0 -1
  110. package/dist/__internal.js +0 -19
  111. package/dist/__internal.js.map +0 -1
  112. package/dist/__mocks__/version.d.ts +0 -7
  113. package/dist/__mocks__/version.d.ts.map +0 -1
  114. package/dist/__mocks__/version.js +0 -7
  115. package/dist/__mocks__/version.js.map +0 -1
  116. package/dist/__tests__/client-href.test.d.ts +0 -2
  117. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  118. package/dist/__tests__/client-href.test.js +0 -74
  119. package/dist/__tests__/client-href.test.js.map +0 -1
  120. package/dist/__tests__/component-utils.test.d.ts +0 -2
  121. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  122. package/dist/__tests__/component-utils.test.js +0 -51
  123. package/dist/__tests__/component-utils.test.js.map +0 -1
  124. package/dist/__tests__/event-controller.test.d.ts +0 -2
  125. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  126. package/dist/__tests__/event-controller.test.js +0 -538
  127. package/dist/__tests__/event-controller.test.js.map +0 -1
  128. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  129. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  130. package/dist/__tests__/helpers/route-tree.js +0 -374
  131. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  132. package/dist/__tests__/match-result.test.d.ts +0 -2
  133. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  134. package/dist/__tests__/match-result.test.js +0 -154
  135. package/dist/__tests__/match-result.test.js.map +0 -1
  136. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  137. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  138. package/dist/__tests__/navigation-store.test.js +0 -440
  139. package/dist/__tests__/navigation-store.test.js.map +0 -1
  140. package/dist/__tests__/partial-update.test.d.ts +0 -2
  141. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  142. package/dist/__tests__/partial-update.test.js +0 -1009
  143. package/dist/__tests__/partial-update.test.js.map +0 -1
  144. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  145. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  146. package/dist/__tests__/reverse-types.test.js +0 -656
  147. package/dist/__tests__/reverse-types.test.js.map +0 -1
  148. package/dist/__tests__/route-definition.test.d.ts +0 -2
  149. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  150. package/dist/__tests__/route-definition.test.js +0 -55
  151. package/dist/__tests__/route-definition.test.js.map +0 -1
  152. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  153. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  154. package/dist/__tests__/router-helpers.test.js +0 -377
  155. package/dist/__tests__/router-helpers.test.js.map +0 -1
  156. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  157. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  158. package/dist/__tests__/router-integration-2.test.js +0 -426
  159. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  160. package/dist/__tests__/router-integration.test.d.ts +0 -2
  161. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  162. package/dist/__tests__/router-integration.test.js +0 -1051
  163. package/dist/__tests__/router-integration.test.js.map +0 -1
  164. package/dist/__tests__/search-params.test.d.ts +0 -5
  165. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  166. package/dist/__tests__/search-params.test.js +0 -306
  167. package/dist/__tests__/search-params.test.js.map +0 -1
  168. package/dist/__tests__/segment-system.test.d.ts +0 -2
  169. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  170. package/dist/__tests__/segment-system.test.js +0 -627
  171. package/dist/__tests__/segment-system.test.js.map +0 -1
  172. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  173. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  174. package/dist/__tests__/static-handler-types.test.js +0 -63
  175. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  176. package/dist/__tests__/urls.test.d.ts +0 -2
  177. package/dist/__tests__/urls.test.d.ts.map +0 -1
  178. package/dist/__tests__/urls.test.js +0 -421
  179. package/dist/__tests__/urls.test.js.map +0 -1
  180. package/dist/__tests__/use-mount.test.d.ts +0 -2
  181. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  182. package/dist/__tests__/use-mount.test.js +0 -35
  183. package/dist/__tests__/use-mount.test.js.map +0 -1
  184. package/dist/bin/rango.d.ts +0 -2
  185. package/dist/bin/rango.d.ts.map +0 -1
  186. package/dist/bin/rango.js.map +0 -1
  187. package/dist/browser/event-controller.d.ts +0 -191
  188. package/dist/browser/event-controller.d.ts.map +0 -1
  189. package/dist/browser/event-controller.js +0 -559
  190. package/dist/browser/event-controller.js.map +0 -1
  191. package/dist/browser/index.d.ts +0 -2
  192. package/dist/browser/index.d.ts.map +0 -1
  193. package/dist/browser/index.js +0 -14
  194. package/dist/browser/index.js.map +0 -1
  195. package/dist/browser/link-interceptor.d.ts +0 -38
  196. package/dist/browser/link-interceptor.d.ts.map +0 -1
  197. package/dist/browser/link-interceptor.js +0 -99
  198. package/dist/browser/link-interceptor.js.map +0 -1
  199. package/dist/browser/logging.d.ts +0 -10
  200. package/dist/browser/logging.d.ts.map +0 -1
  201. package/dist/browser/logging.js +0 -29
  202. package/dist/browser/logging.js.map +0 -1
  203. package/dist/browser/lru-cache.d.ts +0 -17
  204. package/dist/browser/lru-cache.d.ts.map +0 -1
  205. package/dist/browser/lru-cache.js +0 -50
  206. package/dist/browser/lru-cache.js.map +0 -1
  207. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  208. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  209. package/dist/browser/merge-segment-loaders.js +0 -102
  210. package/dist/browser/merge-segment-loaders.js.map +0 -1
  211. package/dist/browser/navigation-bridge.d.ts +0 -102
  212. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  213. package/dist/browser/navigation-bridge.js +0 -708
  214. package/dist/browser/navigation-bridge.js.map +0 -1
  215. package/dist/browser/navigation-client.d.ts +0 -25
  216. package/dist/browser/navigation-client.d.ts.map +0 -1
  217. package/dist/browser/navigation-client.js +0 -157
  218. package/dist/browser/navigation-client.js.map +0 -1
  219. package/dist/browser/navigation-store.d.ts +0 -101
  220. package/dist/browser/navigation-store.d.ts.map +0 -1
  221. package/dist/browser/navigation-store.js +0 -625
  222. package/dist/browser/navigation-store.js.map +0 -1
  223. package/dist/browser/partial-update.d.ts +0 -75
  224. package/dist/browser/partial-update.d.ts.map +0 -1
  225. package/dist/browser/partial-update.js +0 -426
  226. package/dist/browser/partial-update.js.map +0 -1
  227. package/dist/browser/react/Link.d.ts +0 -86
  228. package/dist/browser/react/Link.d.ts.map +0 -1
  229. package/dist/browser/react/Link.js +0 -128
  230. package/dist/browser/react/Link.js.map +0 -1
  231. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  232. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  233. package/dist/browser/react/NavigationProvider.js +0 -216
  234. package/dist/browser/react/NavigationProvider.js.map +0 -1
  235. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  236. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  237. package/dist/browser/react/ScrollRestoration.js +0 -57
  238. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  239. package/dist/browser/react/context.d.ts +0 -46
  240. package/dist/browser/react/context.d.ts.map +0 -1
  241. package/dist/browser/react/context.js +0 -10
  242. package/dist/browser/react/context.js.map +0 -1
  243. package/dist/browser/react/index.d.ts +0 -11
  244. package/dist/browser/react/index.d.ts.map +0 -1
  245. package/dist/browser/react/index.js +0 -22
  246. package/dist/browser/react/index.js.map +0 -1
  247. package/dist/browser/react/location-state-shared.d.ts +0 -63
  248. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  249. package/dist/browser/react/location-state-shared.js +0 -81
  250. package/dist/browser/react/location-state-shared.js.map +0 -1
  251. package/dist/browser/react/location-state.d.ts +0 -23
  252. package/dist/browser/react/location-state.d.ts.map +0 -1
  253. package/dist/browser/react/location-state.js +0 -29
  254. package/dist/browser/react/location-state.js.map +0 -1
  255. package/dist/browser/react/mount-context.d.ts +0 -24
  256. package/dist/browser/react/mount-context.d.ts.map +0 -1
  257. package/dist/browser/react/mount-context.js +0 -24
  258. package/dist/browser/react/mount-context.js.map +0 -1
  259. package/dist/browser/react/use-action.d.ts +0 -64
  260. package/dist/browser/react/use-action.d.ts.map +0 -1
  261. package/dist/browser/react/use-action.js +0 -134
  262. package/dist/browser/react/use-action.js.map +0 -1
  263. package/dist/browser/react/use-client-cache.d.ts +0 -41
  264. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  265. package/dist/browser/react/use-client-cache.js +0 -39
  266. package/dist/browser/react/use-client-cache.js.map +0 -1
  267. package/dist/browser/react/use-handle.d.ts +0 -31
  268. package/dist/browser/react/use-handle.d.ts.map +0 -1
  269. package/dist/browser/react/use-handle.js +0 -144
  270. package/dist/browser/react/use-handle.js.map +0 -1
  271. package/dist/browser/react/use-href.d.ts +0 -33
  272. package/dist/browser/react/use-href.d.ts.map +0 -1
  273. package/dist/browser/react/use-href.js +0 -39
  274. package/dist/browser/react/use-href.js.map +0 -1
  275. package/dist/browser/react/use-link-status.d.ts +0 -37
  276. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  277. package/dist/browser/react/use-link-status.js +0 -99
  278. package/dist/browser/react/use-link-status.js.map +0 -1
  279. package/dist/browser/react/use-mount.d.ts +0 -25
  280. package/dist/browser/react/use-mount.d.ts.map +0 -1
  281. package/dist/browser/react/use-mount.js +0 -30
  282. package/dist/browser/react/use-mount.js.map +0 -1
  283. package/dist/browser/react/use-navigation.d.ts +0 -27
  284. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  285. package/dist/browser/react/use-navigation.js +0 -87
  286. package/dist/browser/react/use-navigation.js.map +0 -1
  287. package/dist/browser/react/use-segments.d.ts +0 -38
  288. package/dist/browser/react/use-segments.d.ts.map +0 -1
  289. package/dist/browser/react/use-segments.js +0 -130
  290. package/dist/browser/react/use-segments.js.map +0 -1
  291. package/dist/browser/request-controller.d.ts +0 -26
  292. package/dist/browser/request-controller.d.ts.map +0 -1
  293. package/dist/browser/request-controller.js +0 -147
  294. package/dist/browser/request-controller.js.map +0 -1
  295. package/dist/browser/rsc-router.d.ts +0 -129
  296. package/dist/browser/rsc-router.d.ts.map +0 -1
  297. package/dist/browser/rsc-router.js +0 -195
  298. package/dist/browser/rsc-router.js.map +0 -1
  299. package/dist/browser/scroll-restoration.d.ts +0 -93
  300. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  301. package/dist/browser/scroll-restoration.js +0 -321
  302. package/dist/browser/scroll-restoration.js.map +0 -1
  303. package/dist/browser/segment-structure-assert.d.ts +0 -17
  304. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  305. package/dist/browser/segment-structure-assert.js +0 -59
  306. package/dist/browser/segment-structure-assert.js.map +0 -1
  307. package/dist/browser/server-action-bridge.d.ts +0 -26
  308. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  309. package/dist/browser/server-action-bridge.js +0 -668
  310. package/dist/browser/server-action-bridge.js.map +0 -1
  311. package/dist/browser/shallow.d.ts +0 -12
  312. package/dist/browser/shallow.d.ts.map +0 -1
  313. package/dist/browser/shallow.js +0 -34
  314. package/dist/browser/shallow.js.map +0 -1
  315. package/dist/browser/types.d.ts +0 -369
  316. package/dist/browser/types.d.ts.map +0 -1
  317. package/dist/browser/types.js +0 -2
  318. package/dist/browser/types.js.map +0 -1
  319. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  320. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  321. package/dist/build/__tests__/generate-cli.test.js +0 -237
  322. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  323. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  324. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  325. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  326. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  327. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  328. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  329. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  330. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  331. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  332. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  333. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  334. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  335. package/dist/build/generate-manifest.d.ts +0 -81
  336. package/dist/build/generate-manifest.d.ts.map +0 -1
  337. package/dist/build/generate-manifest.js +0 -276
  338. package/dist/build/generate-manifest.js.map +0 -1
  339. package/dist/build/generate-route-types.d.ts +0 -115
  340. package/dist/build/generate-route-types.d.ts.map +0 -1
  341. package/dist/build/generate-route-types.js +0 -740
  342. package/dist/build/generate-route-types.js.map +0 -1
  343. package/dist/build/index.d.ts +0 -21
  344. package/dist/build/index.d.ts.map +0 -1
  345. package/dist/build/index.js +0 -21
  346. package/dist/build/index.js.map +0 -1
  347. package/dist/build/route-trie.d.ts +0 -71
  348. package/dist/build/route-trie.d.ts.map +0 -1
  349. package/dist/build/route-trie.js +0 -175
  350. package/dist/build/route-trie.js.map +0 -1
  351. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  352. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  353. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  354. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  355. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  356. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  357. package/dist/cache/__tests__/document-cache.test.js +0 -345
  358. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  359. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  360. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  361. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  362. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  363. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  364. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  365. package/dist/cache/__tests__/memory-store.test.js +0 -367
  366. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  367. package/dist/cache/cache-scope.d.ts +0 -102
  368. package/dist/cache/cache-scope.d.ts.map +0 -1
  369. package/dist/cache/cache-scope.js +0 -440
  370. package/dist/cache/cache-scope.js.map +0 -1
  371. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  372. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  373. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  374. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  375. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  376. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  377. package/dist/cache/cf/cf-cache-store.js +0 -242
  378. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  379. package/dist/cache/cf/index.d.ts +0 -14
  380. package/dist/cache/cf/index.d.ts.map +0 -1
  381. package/dist/cache/cf/index.js +0 -17
  382. package/dist/cache/cf/index.js.map +0 -1
  383. package/dist/cache/document-cache.d.ts +0 -64
  384. package/dist/cache/document-cache.d.ts.map +0 -1
  385. package/dist/cache/document-cache.js +0 -228
  386. package/dist/cache/document-cache.js.map +0 -1
  387. package/dist/cache/index.d.ts +0 -19
  388. package/dist/cache/index.d.ts.map +0 -1
  389. package/dist/cache/index.js +0 -21
  390. package/dist/cache/index.js.map +0 -1
  391. package/dist/cache/memory-segment-store.d.ts +0 -110
  392. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  393. package/dist/cache/memory-segment-store.js +0 -117
  394. package/dist/cache/memory-segment-store.js.map +0 -1
  395. package/dist/cache/memory-store.d.ts +0 -41
  396. package/dist/cache/memory-store.d.ts.map +0 -1
  397. package/dist/cache/memory-store.js +0 -191
  398. package/dist/cache/memory-store.js.map +0 -1
  399. package/dist/cache/types.d.ts +0 -317
  400. package/dist/cache/types.d.ts.map +0 -1
  401. package/dist/cache/types.js +0 -12
  402. package/dist/cache/types.js.map +0 -1
  403. package/dist/client.d.ts +0 -248
  404. package/dist/client.d.ts.map +0 -1
  405. package/dist/client.js +0 -367
  406. package/dist/client.js.map +0 -1
  407. package/dist/client.rsc.d.ts +0 -26
  408. package/dist/client.rsc.d.ts.map +0 -1
  409. package/dist/client.rsc.js +0 -46
  410. package/dist/client.rsc.js.map +0 -1
  411. package/dist/component-utils.d.ts +0 -36
  412. package/dist/component-utils.d.ts.map +0 -1
  413. package/dist/component-utils.js +0 -61
  414. package/dist/component-utils.js.map +0 -1
  415. package/dist/components/DefaultDocument.d.ts +0 -13
  416. package/dist/components/DefaultDocument.d.ts.map +0 -1
  417. package/dist/components/DefaultDocument.js +0 -15
  418. package/dist/components/DefaultDocument.js.map +0 -1
  419. package/dist/debug.d.ts +0 -58
  420. package/dist/debug.d.ts.map +0 -1
  421. package/dist/debug.js +0 -157
  422. package/dist/debug.js.map +0 -1
  423. package/dist/default-error-boundary.d.ts +0 -11
  424. package/dist/default-error-boundary.d.ts.map +0 -1
  425. package/dist/default-error-boundary.js +0 -45
  426. package/dist/default-error-boundary.js.map +0 -1
  427. package/dist/deps/browser.d.ts +0 -2
  428. package/dist/deps/browser.d.ts.map +0 -1
  429. package/dist/deps/browser.js +0 -3
  430. package/dist/deps/browser.js.map +0 -1
  431. package/dist/deps/html-stream-client.d.ts +0 -2
  432. package/dist/deps/html-stream-client.d.ts.map +0 -1
  433. package/dist/deps/html-stream-client.js +0 -3
  434. package/dist/deps/html-stream-client.js.map +0 -1
  435. package/dist/deps/html-stream-server.d.ts +0 -2
  436. package/dist/deps/html-stream-server.d.ts.map +0 -1
  437. package/dist/deps/html-stream-server.js +0 -3
  438. package/dist/deps/html-stream-server.js.map +0 -1
  439. package/dist/deps/rsc.d.ts +0 -2
  440. package/dist/deps/rsc.d.ts.map +0 -1
  441. package/dist/deps/rsc.js +0 -4
  442. package/dist/deps/rsc.js.map +0 -1
  443. package/dist/deps/ssr.d.ts +0 -2
  444. package/dist/deps/ssr.d.ts.map +0 -1
  445. package/dist/deps/ssr.js +0 -3
  446. package/dist/deps/ssr.js.map +0 -1
  447. package/dist/errors.d.ts +0 -174
  448. package/dist/errors.d.ts.map +0 -1
  449. package/dist/errors.js +0 -241
  450. package/dist/errors.js.map +0 -1
  451. package/dist/handle.d.ts +0 -78
  452. package/dist/handle.d.ts.map +0 -1
  453. package/dist/handle.js +0 -82
  454. package/dist/handle.js.map +0 -1
  455. package/dist/handles/MetaTags.d.ts +0 -14
  456. package/dist/handles/MetaTags.d.ts.map +0 -1
  457. package/dist/handles/MetaTags.js +0 -136
  458. package/dist/handles/MetaTags.js.map +0 -1
  459. package/dist/handles/index.d.ts +0 -6
  460. package/dist/handles/index.d.ts.map +0 -1
  461. package/dist/handles/index.js +0 -6
  462. package/dist/handles/index.js.map +0 -1
  463. package/dist/handles/meta.d.ts +0 -39
  464. package/dist/handles/meta.d.ts.map +0 -1
  465. package/dist/handles/meta.js +0 -202
  466. package/dist/handles/meta.js.map +0 -1
  467. package/dist/host/__tests__/errors.test.d.ts +0 -2
  468. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  469. package/dist/host/__tests__/errors.test.js +0 -76
  470. package/dist/host/__tests__/errors.test.js.map +0 -1
  471. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  472. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  473. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  474. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  475. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  476. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  477. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  478. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  479. package/dist/host/__tests__/router.test.d.ts +0 -2
  480. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  481. package/dist/host/__tests__/router.test.js +0 -241
  482. package/dist/host/__tests__/router.test.js.map +0 -1
  483. package/dist/host/__tests__/testing.test.d.ts +0 -2
  484. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  485. package/dist/host/__tests__/testing.test.js +0 -64
  486. package/dist/host/__tests__/testing.test.js.map +0 -1
  487. package/dist/host/__tests__/utils.test.d.ts +0 -2
  488. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  489. package/dist/host/__tests__/utils.test.js +0 -29
  490. package/dist/host/__tests__/utils.test.js.map +0 -1
  491. package/dist/host/cookie-handler.d.ts +0 -34
  492. package/dist/host/cookie-handler.d.ts.map +0 -1
  493. package/dist/host/cookie-handler.js +0 -124
  494. package/dist/host/cookie-handler.js.map +0 -1
  495. package/dist/host/errors.d.ts +0 -56
  496. package/dist/host/errors.d.ts.map +0 -1
  497. package/dist/host/errors.js +0 -79
  498. package/dist/host/errors.js.map +0 -1
  499. package/dist/host/index.d.ts +0 -29
  500. package/dist/host/index.d.ts.map +0 -1
  501. package/dist/host/index.js +0 -32
  502. package/dist/host/index.js.map +0 -1
  503. package/dist/host/pattern-matcher.d.ts +0 -36
  504. package/dist/host/pattern-matcher.d.ts.map +0 -1
  505. package/dist/host/pattern-matcher.js +0 -172
  506. package/dist/host/pattern-matcher.js.map +0 -1
  507. package/dist/host/router.d.ts +0 -26
  508. package/dist/host/router.d.ts.map +0 -1
  509. package/dist/host/router.js +0 -218
  510. package/dist/host/router.js.map +0 -1
  511. package/dist/host/testing.d.ts +0 -36
  512. package/dist/host/testing.d.ts.map +0 -1
  513. package/dist/host/testing.js +0 -55
  514. package/dist/host/testing.js.map +0 -1
  515. package/dist/host/types.d.ts +0 -115
  516. package/dist/host/types.d.ts.map +0 -1
  517. package/dist/host/types.js +0 -7
  518. package/dist/host/types.js.map +0 -1
  519. package/dist/host/utils.d.ts +0 -21
  520. package/dist/host/utils.d.ts.map +0 -1
  521. package/dist/host/utils.js +0 -23
  522. package/dist/host/utils.js.map +0 -1
  523. package/dist/href-client.d.ts +0 -131
  524. package/dist/href-client.d.ts.map +0 -1
  525. package/dist/href-client.js +0 -64
  526. package/dist/href-client.js.map +0 -1
  527. package/dist/href-context.d.ts +0 -29
  528. package/dist/href-context.d.ts.map +0 -1
  529. package/dist/href-context.js +0 -21
  530. package/dist/href-context.js.map +0 -1
  531. package/dist/index.d.ts +0 -73
  532. package/dist/index.d.ts.map +0 -1
  533. package/dist/index.js +0 -91
  534. package/dist/index.js.map +0 -1
  535. package/dist/index.rsc.d.ts +0 -32
  536. package/dist/index.rsc.d.ts.map +0 -1
  537. package/dist/index.rsc.js +0 -40
  538. package/dist/index.rsc.js.map +0 -1
  539. package/dist/internal-debug.d.ts +0 -2
  540. package/dist/internal-debug.d.ts.map +0 -1
  541. package/dist/internal-debug.js +0 -5
  542. package/dist/internal-debug.js.map +0 -1
  543. package/dist/loader.d.ts +0 -14
  544. package/dist/loader.d.ts.map +0 -1
  545. package/dist/loader.js +0 -20
  546. package/dist/loader.js.map +0 -1
  547. package/dist/loader.rsc.d.ts +0 -19
  548. package/dist/loader.rsc.d.ts.map +0 -1
  549. package/dist/loader.rsc.js +0 -99
  550. package/dist/loader.rsc.js.map +0 -1
  551. package/dist/network-error-thrower.d.ts +0 -17
  552. package/dist/network-error-thrower.d.ts.map +0 -1
  553. package/dist/network-error-thrower.js +0 -14
  554. package/dist/network-error-thrower.js.map +0 -1
  555. package/dist/outlet-context.d.ts +0 -13
  556. package/dist/outlet-context.d.ts.map +0 -1
  557. package/dist/outlet-context.js +0 -3
  558. package/dist/outlet-context.js.map +0 -1
  559. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  560. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  561. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  562. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  563. package/dist/prerender/param-hash.d.ts +0 -16
  564. package/dist/prerender/param-hash.d.ts.map +0 -1
  565. package/dist/prerender/param-hash.js +0 -36
  566. package/dist/prerender/param-hash.js.map +0 -1
  567. package/dist/prerender/store.d.ts +0 -38
  568. package/dist/prerender/store.d.ts.map +0 -1
  569. package/dist/prerender/store.js +0 -61
  570. package/dist/prerender/store.js.map +0 -1
  571. package/dist/prerender.d.ts +0 -66
  572. package/dist/prerender.d.ts.map +0 -1
  573. package/dist/prerender.js +0 -57
  574. package/dist/prerender.js.map +0 -1
  575. package/dist/reverse.d.ts +0 -196
  576. package/dist/reverse.d.ts.map +0 -1
  577. package/dist/reverse.js +0 -78
  578. package/dist/reverse.js.map +0 -1
  579. package/dist/root-error-boundary.d.ts +0 -33
  580. package/dist/root-error-boundary.d.ts.map +0 -1
  581. package/dist/root-error-boundary.js +0 -165
  582. package/dist/root-error-boundary.js.map +0 -1
  583. package/dist/route-content-wrapper.d.ts +0 -46
  584. package/dist/route-content-wrapper.d.ts.map +0 -1
  585. package/dist/route-content-wrapper.js +0 -77
  586. package/dist/route-content-wrapper.js.map +0 -1
  587. package/dist/route-definition.d.ts +0 -421
  588. package/dist/route-definition.d.ts.map +0 -1
  589. package/dist/route-definition.js +0 -868
  590. package/dist/route-definition.js.map +0 -1
  591. package/dist/route-map-builder.d.ts +0 -155
  592. package/dist/route-map-builder.d.ts.map +0 -1
  593. package/dist/route-map-builder.js +0 -237
  594. package/dist/route-map-builder.js.map +0 -1
  595. package/dist/route-types.d.ts +0 -165
  596. package/dist/route-types.d.ts.map +0 -1
  597. package/dist/route-types.js +0 -7
  598. package/dist/route-types.js.map +0 -1
  599. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  600. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  601. package/dist/router/__tests__/handler-context.test.js +0 -65
  602. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  603. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  604. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  605. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  606. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  607. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  608. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  609. package/dist/router/__tests__/match-context.test.js +0 -92
  610. package/dist/router/__tests__/match-context.test.js.map +0 -1
  611. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  612. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  613. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  614. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  615. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  616. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  617. package/dist/router/__tests__/match-result.test.js +0 -457
  618. package/dist/router/__tests__/match-result.test.js.map +0 -1
  619. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  620. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  621. package/dist/router/__tests__/on-error.test.js +0 -678
  622. package/dist/router/__tests__/on-error.test.js.map +0 -1
  623. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  624. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  625. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  626. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  627. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  628. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  629. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  630. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  631. package/dist/router/error-handling.d.ts +0 -77
  632. package/dist/router/error-handling.d.ts.map +0 -1
  633. package/dist/router/error-handling.js +0 -202
  634. package/dist/router/error-handling.js.map +0 -1
  635. package/dist/router/handler-context.d.ts +0 -20
  636. package/dist/router/handler-context.d.ts.map +0 -1
  637. package/dist/router/handler-context.js +0 -198
  638. package/dist/router/handler-context.js.map +0 -1
  639. package/dist/router/intercept-resolution.d.ts +0 -66
  640. package/dist/router/intercept-resolution.d.ts.map +0 -1
  641. package/dist/router/intercept-resolution.js +0 -246
  642. package/dist/router/intercept-resolution.js.map +0 -1
  643. package/dist/router/loader-resolution.d.ts +0 -64
  644. package/dist/router/loader-resolution.d.ts.map +0 -1
  645. package/dist/router/loader-resolution.js +0 -284
  646. package/dist/router/loader-resolution.js.map +0 -1
  647. package/dist/router/logging.d.ts +0 -15
  648. package/dist/router/logging.d.ts.map +0 -1
  649. package/dist/router/logging.js +0 -99
  650. package/dist/router/logging.js.map +0 -1
  651. package/dist/router/manifest.d.ts +0 -22
  652. package/dist/router/manifest.d.ts.map +0 -1
  653. package/dist/router/manifest.js +0 -181
  654. package/dist/router/manifest.js.map +0 -1
  655. package/dist/router/match-api.d.ts +0 -35
  656. package/dist/router/match-api.d.ts.map +0 -1
  657. package/dist/router/match-api.js +0 -406
  658. package/dist/router/match-api.js.map +0 -1
  659. package/dist/router/match-context.d.ts +0 -206
  660. package/dist/router/match-context.d.ts.map +0 -1
  661. package/dist/router/match-context.js +0 -17
  662. package/dist/router/match-context.js.map +0 -1
  663. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  664. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  665. package/dist/router/match-middleware/background-revalidation.js +0 -75
  666. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  667. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  668. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  669. package/dist/router/match-middleware/cache-lookup.js +0 -257
  670. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  671. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  672. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  673. package/dist/router/match-middleware/cache-store.js +0 -108
  674. package/dist/router/match-middleware/cache-store.js.map +0 -1
  675. package/dist/router/match-middleware/index.d.ts +0 -81
  676. package/dist/router/match-middleware/index.d.ts.map +0 -1
  677. package/dist/router/match-middleware/index.js +0 -80
  678. package/dist/router/match-middleware/index.js.map +0 -1
  679. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  680. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  681. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  682. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  683. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  684. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  685. package/dist/router/match-middleware/segment-resolution.js +0 -53
  686. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  687. package/dist/router/match-pipelines.d.ts +0 -147
  688. package/dist/router/match-pipelines.d.ts.map +0 -1
  689. package/dist/router/match-pipelines.js +0 -82
  690. package/dist/router/match-pipelines.js.map +0 -1
  691. package/dist/router/match-result.d.ts +0 -126
  692. package/dist/router/match-result.d.ts.map +0 -1
  693. package/dist/router/match-result.js +0 -93
  694. package/dist/router/match-result.js.map +0 -1
  695. package/dist/router/metrics.d.ts +0 -20
  696. package/dist/router/metrics.d.ts.map +0 -1
  697. package/dist/router/metrics.js +0 -47
  698. package/dist/router/metrics.js.map +0 -1
  699. package/dist/router/middleware.d.ts +0 -249
  700. package/dist/router/middleware.d.ts.map +0 -1
  701. package/dist/router/middleware.js +0 -434
  702. package/dist/router/middleware.js.map +0 -1
  703. package/dist/router/middleware.test.d.ts +0 -2
  704. package/dist/router/middleware.test.d.ts.map +0 -1
  705. package/dist/router/middleware.test.js +0 -816
  706. package/dist/router/middleware.test.js.map +0 -1
  707. package/dist/router/pattern-matching.d.ts +0 -149
  708. package/dist/router/pattern-matching.d.ts.map +0 -1
  709. package/dist/router/pattern-matching.js +0 -349
  710. package/dist/router/pattern-matching.js.map +0 -1
  711. package/dist/router/revalidation.d.ts +0 -44
  712. package/dist/router/revalidation.d.ts.map +0 -1
  713. package/dist/router/revalidation.js +0 -147
  714. package/dist/router/revalidation.js.map +0 -1
  715. package/dist/router/router-context.d.ts +0 -135
  716. package/dist/router/router-context.d.ts.map +0 -1
  717. package/dist/router/router-context.js +0 -36
  718. package/dist/router/router-context.js.map +0 -1
  719. package/dist/router/segment-resolution.d.ts +0 -127
  720. package/dist/router/segment-resolution.d.ts.map +0 -1
  721. package/dist/router/segment-resolution.js +0 -919
  722. package/dist/router/segment-resolution.js.map +0 -1
  723. package/dist/router/trie-matching.d.ts +0 -40
  724. package/dist/router/trie-matching.d.ts.map +0 -1
  725. package/dist/router/trie-matching.js +0 -127
  726. package/dist/router/trie-matching.js.map +0 -1
  727. package/dist/router/types.d.ts +0 -136
  728. package/dist/router/types.d.ts.map +0 -1
  729. package/dist/router/types.js +0 -7
  730. package/dist/router/types.js.map +0 -1
  731. package/dist/router.d.ts +0 -753
  732. package/dist/router.d.ts.map +0 -1
  733. package/dist/router.gen.d.ts +0 -6
  734. package/dist/router.gen.d.ts.map +0 -1
  735. package/dist/router.gen.js +0 -6
  736. package/dist/router.gen.js.map +0 -1
  737. package/dist/router.js +0 -1304
  738. package/dist/router.js.map +0 -1
  739. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  740. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  741. package/dist/rsc/__tests__/helpers.test.js +0 -140
  742. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  743. package/dist/rsc/handler.d.ts +0 -45
  744. package/dist/rsc/handler.d.ts.map +0 -1
  745. package/dist/rsc/handler.js +0 -1172
  746. package/dist/rsc/handler.js.map +0 -1
  747. package/dist/rsc/helpers.d.ts +0 -16
  748. package/dist/rsc/helpers.d.ts.map +0 -1
  749. package/dist/rsc/helpers.js +0 -55
  750. package/dist/rsc/helpers.js.map +0 -1
  751. package/dist/rsc/index.d.ts +0 -22
  752. package/dist/rsc/index.d.ts.map +0 -1
  753. package/dist/rsc/index.js +0 -23
  754. package/dist/rsc/index.js.map +0 -1
  755. package/dist/rsc/nonce.d.ts +0 -9
  756. package/dist/rsc/nonce.d.ts.map +0 -1
  757. package/dist/rsc/nonce.js +0 -18
  758. package/dist/rsc/nonce.js.map +0 -1
  759. package/dist/rsc/types.d.ts +0 -206
  760. package/dist/rsc/types.d.ts.map +0 -1
  761. package/dist/rsc/types.js +0 -8
  762. package/dist/rsc/types.js.map +0 -1
  763. package/dist/search-params.d.ts +0 -103
  764. package/dist/search-params.d.ts.map +0 -1
  765. package/dist/search-params.js +0 -74
  766. package/dist/search-params.js.map +0 -1
  767. package/dist/segment-system.d.ts +0 -75
  768. package/dist/segment-system.d.ts.map +0 -1
  769. package/dist/segment-system.js +0 -336
  770. package/dist/segment-system.js.map +0 -1
  771. package/dist/server/context.d.ts +0 -245
  772. package/dist/server/context.d.ts.map +0 -1
  773. package/dist/server/context.js +0 -197
  774. package/dist/server/context.js.map +0 -1
  775. package/dist/server/fetchable-loader-store.d.ts +0 -18
  776. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  777. package/dist/server/fetchable-loader-store.js +0 -18
  778. package/dist/server/fetchable-loader-store.js.map +0 -1
  779. package/dist/server/handle-store.d.ts +0 -85
  780. package/dist/server/handle-store.d.ts.map +0 -1
  781. package/dist/server/handle-store.js +0 -142
  782. package/dist/server/handle-store.js.map +0 -1
  783. package/dist/server/loader-registry.d.ts +0 -55
  784. package/dist/server/loader-registry.d.ts.map +0 -1
  785. package/dist/server/loader-registry.js +0 -132
  786. package/dist/server/loader-registry.js.map +0 -1
  787. package/dist/server/request-context.d.ts +0 -226
  788. package/dist/server/request-context.d.ts.map +0 -1
  789. package/dist/server/request-context.js +0 -290
  790. package/dist/server/request-context.js.map +0 -1
  791. package/dist/server/root-layout.d.ts +0 -4
  792. package/dist/server/root-layout.d.ts.map +0 -1
  793. package/dist/server/root-layout.js +0 -5
  794. package/dist/server/root-layout.js.map +0 -1
  795. package/dist/server.d.ts +0 -15
  796. package/dist/server.d.ts.map +0 -1
  797. package/dist/server.js +0 -20
  798. package/dist/server.js.map +0 -1
  799. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  800. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  801. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  802. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  803. package/dist/ssr/index.d.ts +0 -98
  804. package/dist/ssr/index.d.ts.map +0 -1
  805. package/dist/ssr/index.js +0 -158
  806. package/dist/ssr/index.js.map +0 -1
  807. package/dist/static-handler.d.ts +0 -50
  808. package/dist/static-handler.d.ts.map +0 -1
  809. package/dist/static-handler.gen.d.ts +0 -5
  810. package/dist/static-handler.gen.d.ts.map +0 -1
  811. package/dist/static-handler.gen.js +0 -5
  812. package/dist/static-handler.gen.js.map +0 -1
  813. package/dist/static-handler.js +0 -29
  814. package/dist/static-handler.js.map +0 -1
  815. package/dist/theme/ThemeProvider.d.ts +0 -20
  816. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  817. package/dist/theme/ThemeProvider.js +0 -240
  818. package/dist/theme/ThemeProvider.js.map +0 -1
  819. package/dist/theme/ThemeScript.d.ts +0 -48
  820. package/dist/theme/ThemeScript.d.ts.map +0 -1
  821. package/dist/theme/ThemeScript.js +0 -13
  822. package/dist/theme/ThemeScript.js.map +0 -1
  823. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  824. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  825. package/dist/theme/__tests__/theme.test.js +0 -103
  826. package/dist/theme/__tests__/theme.test.js.map +0 -1
  827. package/dist/theme/constants.d.ts +0 -29
  828. package/dist/theme/constants.d.ts.map +0 -1
  829. package/dist/theme/constants.js +0 -48
  830. package/dist/theme/constants.js.map +0 -1
  831. package/dist/theme/index.d.ts +0 -31
  832. package/dist/theme/index.d.ts.map +0 -1
  833. package/dist/theme/index.js +0 -36
  834. package/dist/theme/index.js.map +0 -1
  835. package/dist/theme/theme-context.d.ts +0 -40
  836. package/dist/theme/theme-context.d.ts.map +0 -1
  837. package/dist/theme/theme-context.js +0 -60
  838. package/dist/theme/theme-context.js.map +0 -1
  839. package/dist/theme/theme-script.d.ts +0 -27
  840. package/dist/theme/theme-script.d.ts.map +0 -1
  841. package/dist/theme/theme-script.js +0 -147
  842. package/dist/theme/theme-script.js.map +0 -1
  843. package/dist/theme/types.d.ts +0 -163
  844. package/dist/theme/types.d.ts.map +0 -1
  845. package/dist/theme/types.js +0 -11
  846. package/dist/theme/types.js.map +0 -1
  847. package/dist/theme/use-theme.d.ts +0 -12
  848. package/dist/theme/use-theme.d.ts.map +0 -1
  849. package/dist/theme/use-theme.js +0 -40
  850. package/dist/theme/use-theme.js.map +0 -1
  851. package/dist/types.d.ts +0 -1479
  852. package/dist/types.d.ts.map +0 -1
  853. package/dist/types.js +0 -10
  854. package/dist/types.js.map +0 -1
  855. package/dist/urls.d.ts +0 -441
  856. package/dist/urls.d.ts.map +0 -1
  857. package/dist/urls.gen.d.ts +0 -8
  858. package/dist/urls.gen.d.ts.map +0 -1
  859. package/dist/urls.gen.js +0 -8
  860. package/dist/urls.gen.js.map +0 -1
  861. package/dist/urls.js +0 -443
  862. package/dist/urls.js.map +0 -1
  863. package/dist/use-loader.d.ts +0 -127
  864. package/dist/use-loader.d.ts.map +0 -1
  865. package/dist/use-loader.js +0 -237
  866. package/dist/use-loader.js.map +0 -1
  867. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  868. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  869. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  870. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  871. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  872. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  873. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  874. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  875. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  876. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  877. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  878. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  879. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  880. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  881. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  882. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  883. package/dist/vite/ast-handler-extract.d.ts +0 -49
  884. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  885. package/dist/vite/ast-handler-extract.js +0 -249
  886. package/dist/vite/ast-handler-extract.js.map +0 -1
  887. package/dist/vite/expose-action-id.d.ts +0 -19
  888. package/dist/vite/expose-action-id.d.ts.map +0 -1
  889. package/dist/vite/expose-action-id.js +0 -250
  890. package/dist/vite/expose-action-id.js.map +0 -1
  891. package/dist/vite/expose-id-utils.d.ts +0 -69
  892. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  893. package/dist/vite/expose-id-utils.js +0 -289
  894. package/dist/vite/expose-id-utils.js.map +0 -1
  895. package/dist/vite/expose-internal-ids.d.ts +0 -22
  896. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  897. package/dist/vite/expose-internal-ids.js +0 -886
  898. package/dist/vite/expose-internal-ids.js.map +0 -1
  899. package/dist/vite/index.d.ts +0 -149
  900. package/dist/vite/index.d.ts.map +0 -1
  901. package/dist/vite/index.js.map +0 -1
  902. package/dist/vite/index.named-routes.gen.ts +0 -103
  903. package/dist/vite/package-resolution.d.ts +0 -43
  904. package/dist/vite/package-resolution.d.ts.map +0 -1
  905. package/dist/vite/package-resolution.js +0 -112
  906. package/dist/vite/package-resolution.js.map +0 -1
  907. package/dist/vite/virtual-entries.d.ts +0 -25
  908. package/dist/vite/virtual-entries.d.ts.map +0 -1
  909. package/dist/vite/virtual-entries.js +0 -110
  910. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,144 +0,0 @@
1
- "use client";
2
- import { useContext, useState, useEffect, useRef, useOptimistic, startTransition, } from "react";
3
- import { getCollectFn } from "../../handle.js";
4
- import { NavigationStoreContext } from "./context.js";
5
- /**
6
- * SSR module-level state.
7
- * Populated by initHandleDataSync before React renders.
8
- * Used by useState initializer during SSR.
9
- */
10
- let ssrHandleData = {};
11
- let ssrSegmentOrder = [];
12
- /**
13
- * Filter segment IDs to only include routes and layouts.
14
- * Excludes parallels (contain .@) and loaders (contain D followed by digit).
15
- */
16
- function filterSegmentOrder(matched) {
17
- return matched.filter((id) => {
18
- if (id.includes(".@"))
19
- return false;
20
- if (/D\d+\./.test(id))
21
- return false;
22
- return true;
23
- });
24
- }
25
- /**
26
- * Resolve the collect function for a handle.
27
- * Handle objects are plain { __brand, $$id } - collect is stored in the registry
28
- * (populated when createHandle runs on the client).
29
- */
30
- function resolveCollect(handle) {
31
- // Look up collect from the registry (populated when the handle module is imported).
32
- const registered = getCollectFn(handle.$$id);
33
- if (registered) {
34
- return registered;
35
- }
36
- // Fall back to default flat collect with a dev warning.
37
- if (process.env.NODE_ENV !== "production") {
38
- console.warn(`[rsc-router] Handle "${handle.$$id}" was passed as a prop but its collect ` +
39
- `function could not be resolved. Falling back to flat array. ` +
40
- `Import the handle module in a client component to register its collect function.`);
41
- }
42
- return ((segments) => segments.flat());
43
- }
44
- /**
45
- * Collect handle data from segments and transform to final value.
46
- */
47
- function collectHandle(handle, data, segmentOrder) {
48
- const collect = resolveCollect(handle);
49
- const segmentData = data[handle.$$id];
50
- if (!segmentData) {
51
- return collect([]);
52
- }
53
- // Build array of segment arrays in parent -> child order
54
- const segmentArrays = [];
55
- for (const segmentId of segmentOrder) {
56
- const entries = segmentData[segmentId];
57
- if (entries && entries.length > 0) {
58
- segmentArrays.push(entries);
59
- }
60
- }
61
- // Call collect once with all segment data
62
- return collect(segmentArrays);
63
- }
64
- /**
65
- * Shallow equality check for selector results.
66
- */
67
- function shallowEqual(a, b) {
68
- if (Object.is(a, b))
69
- return true;
70
- if (typeof a !== "object" ||
71
- a === null ||
72
- typeof b !== "object" ||
73
- b === null) {
74
- return false;
75
- }
76
- const keysA = Object.keys(a);
77
- const keysB = Object.keys(b);
78
- if (keysA.length !== keysB.length)
79
- return false;
80
- for (const key of keysA) {
81
- if (!Object.hasOwn(b, key) ||
82
- !Object.is(a[key], b[key])) {
83
- return false;
84
- }
85
- }
86
- return true;
87
- }
88
- /**
89
- * Initialize handle data synchronously for SSR.
90
- * Called before rendering to populate state for useState initializer.
91
- *
92
- * @param data - Handle data from RSC payload
93
- * @param matched - Segment order for reduction
94
- */
95
- export function initHandleDataSync(data, matched) {
96
- ssrHandleData = data;
97
- ssrSegmentOrder = filterSegmentOrder(matched ?? []);
98
- }
99
- export function useHandle(handle, selector) {
100
- const ctx = useContext(NavigationStoreContext);
101
- // Initial state from SSR module state or event controller
102
- const [value, setValue] = useState(() => {
103
- // During SSR, use module-level state
104
- if (typeof document === "undefined" || !ctx) {
105
- const collected = collectHandle(handle, ssrHandleData, ssrSegmentOrder);
106
- return selector ? selector(collected) : collected;
107
- }
108
- // On client, use event controller state
109
- const state = ctx.eventController.getHandleState();
110
- const collected = collectHandle(handle, state.data, state.segmentOrder);
111
- return selector ? selector(collected) : collected;
112
- });
113
- const [optimisticValue, setOptimisticValue] = useOptimistic(value);
114
- // Track previous value for shallow comparison
115
- const prevValueRef = useRef(value);
116
- prevValueRef.current = value;
117
- // Memoize selector ref
118
- const selectorRef = useRef(selector);
119
- selectorRef.current = selector;
120
- // Subscribe to handle data changes (client only)
121
- useEffect(() => {
122
- if (!ctx)
123
- return;
124
- return ctx.eventController.subscribeToHandles(() => {
125
- const state = ctx.eventController.getHandleState();
126
- const isAction = ctx.eventController.getState().inflightActions.length > 0;
127
- const collected = collectHandle(handle, state.data, state.segmentOrder);
128
- const nextValue = selectorRef.current
129
- ? selectorRef.current(collected)
130
- : collected;
131
- if (!shallowEqual(nextValue, prevValueRef.current)) {
132
- prevValueRef.current = nextValue;
133
- startTransition(() => {
134
- // Skip optimistic update during actions to prevent Suspense fallback
135
- if (!isAction)
136
- setOptimisticValue(nextValue);
137
- setValue(nextValue);
138
- });
139
- }
140
- });
141
- }, [handle]);
142
- return optimisticValue;
143
- }
144
- //# sourceMappingURL=use-handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-handle.js","sourceRoot":"","sources":["../../../src/browser/react/use-handle.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,eAAe,GAChB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;GAIG;AACH,IAAI,aAAa,GAAe,EAAE,CAAC;AACnC,IAAI,eAAe,GAAa,EAAE,CAAC;AAEnC;;;GAGG;AACH,SAAS,kBAAkB,CAAC,OAAiB;IAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAO,MAAoB;IAChD,oFAAoF;IACpF,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAoC,CAAC;IAC9C,CAAC;IAED,wDAAwD;IACxD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CACV,wBAAwB,MAAM,CAAC,IAAI,yCAAyC;YAC5E,8DAA8D;YAC9D,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC,QAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAsC,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,MAAoB,EACpB,IAAgB,EAChB,YAAsB;IAEtB,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,yDAAyD;IACzD,MAAM,aAAa,GAAU,EAAE,CAAC;IAChC,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,OAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAI,CAAI,EAAE,CAAI;IACjC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IACE,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI,EACV,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;YACtB,CAAC,MAAM,CAAC,EAAE,CAAE,CAAS,CAAC,GAAG,CAAC,EAAG,CAAS,CAAC,GAAG,CAAC,CAAC,EAC5C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB,EAAE,OAAkB;IACrE,aAAa,GAAG,IAAI,CAAC;IACrB,eAAe,GAAG,kBAAkB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAyBD,MAAM,UAAU,SAAS,CACvB,MAAoB,EACpB,QAAyB;IAEzB,MAAM,GAAG,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAE/C,0DAA0D;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,GAAG,EAAE;QAC7C,qCAAqC;QACrC,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEnE,8CAA8C;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;IAE7B,uBAAuB;IACvB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,OAAO,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACjD,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YACnD,MAAM,QAAQ,GACZ,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO;gBACnC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;gBAChC,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;gBACjC,eAAe,CAAC,GAAG,EAAE;oBACnB,qEAAqE;oBACrE,IAAI,CAAC,QAAQ;wBAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBAC7C,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Client-side hook for mount-aware URL resolution.
3
- *
4
- * Returns an href function that automatically prepends the current
5
- * include() mount prefix. Inside an include("/shop", ...) scope,
6
- * the returned function resolves local paths relative to /shop.
7
- *
8
- * For absolute paths (outside the current mount), use the bare
9
- * href() function directly instead.
10
- *
11
- * @returns A function that prepends the mount prefix to paths
12
- *
13
- * @example
14
- * ```tsx
15
- * "use client";
16
- * import { useHref, href } from "@rangojs/router/client";
17
- *
18
- * // Inside include("/shop", shopPatterns)
19
- * function ShopNav() {
20
- * const href = useHref();
21
- *
22
- * return (
23
- * <>
24
- * {// Local paths - auto-prefixed with /shop}
25
- * <Link to={href("/cart")}>Cart</Link>
26
- * <Link to={href("/product/widget")}>Widget</Link>
27
- * </>
28
- * );
29
- * }
30
- * ```
31
- */
32
- export declare function useHref(): (path: `/${string}`) => string;
33
- //# sourceMappingURL=use-href.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-href.d.ts","sourceRoot":"","sources":["../../../src/browser/react/use-href.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE,KAAK,MAAM,CAGxD"}
@@ -1,39 +0,0 @@
1
- "use client";
2
- import { href } from "../../href-client.js";
3
- import { useMount } from "./use-mount.js";
4
- /**
5
- * Client-side hook for mount-aware URL resolution.
6
- *
7
- * Returns an href function that automatically prepends the current
8
- * include() mount prefix. Inside an include("/shop", ...) scope,
9
- * the returned function resolves local paths relative to /shop.
10
- *
11
- * For absolute paths (outside the current mount), use the bare
12
- * href() function directly instead.
13
- *
14
- * @returns A function that prepends the mount prefix to paths
15
- *
16
- * @example
17
- * ```tsx
18
- * "use client";
19
- * import { useHref, href } from "@rangojs/router/client";
20
- *
21
- * // Inside include("/shop", shopPatterns)
22
- * function ShopNav() {
23
- * const href = useHref();
24
- *
25
- * return (
26
- * <>
27
- * {// Local paths - auto-prefixed with /shop}
28
- * <Link to={href("/cart")}>Cart</Link>
29
- * <Link to={href("/product/widget")}>Widget</Link>
30
- * </>
31
- * );
32
- * }
33
- * ```
34
- */
35
- export function useHref() {
36
- const mount = useMount();
37
- return (path) => href(path, mount);
38
- }
39
- //# sourceMappingURL=use-href.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-href.js","sourceRoot":"","sources":["../../../src/browser/react/use-href.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAmB,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAkB,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC"}
@@ -1,37 +0,0 @@
1
- import { type Context } from "react";
2
- /**
3
- * Context for Link component to provide its destination URL
4
- * Used by useLinkStatus to determine if this specific link is pending
5
- */
6
- export declare const LinkContext: Context<string | null>;
7
- /**
8
- * Link status returned by useLinkStatus hook
9
- */
10
- export interface LinkStatus {
11
- /** Whether navigation to this link's destination is in progress */
12
- pending: boolean;
13
- }
14
- /**
15
- * Hook to track the pending state of a Link component
16
- *
17
- * Must be used inside a Link component. Returns `{ pending: true }`
18
- * when navigation to this link's destination is in progress.
19
- *
20
- * Useful for showing inline loading indicators on individual links.
21
- *
22
- * @example
23
- * ```tsx
24
- * function LoadingIndicator() {
25
- * const { pending } = useLinkStatus();
26
- * return pending ? <Spinner /> : null;
27
- * }
28
- *
29
- * // In your component:
30
- * <Link to="/dashboard">
31
- * Dashboard
32
- * <LoadingIndicator />
33
- * </Link>
34
- * ```
35
- */
36
- export declare function useLinkStatus(): LinkStatus;
37
- //# sourceMappingURL=use-link-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-link-status.d.ts","sourceRoot":"","sources":["../../../src/browser/react/use-link-status.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,OAAO,EACb,MAAM,OAAO,CAAC;AAGf;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAsC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;CAClB;AA8BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAuD1C"}
@@ -1,99 +0,0 @@
1
- "use client";
2
- import { createContext, useContext, useState, useEffect, useRef, useOptimistic, startTransition, } from "react";
3
- import { NavigationStoreContext } from "./context.js";
4
- /**
5
- * Context for Link component to provide its destination URL
6
- * Used by useLinkStatus to determine if this specific link is pending
7
- */
8
- export const LinkContext = createContext(null);
9
- /**
10
- * Normalize URL for comparison
11
- * Handles relative URLs and ensures consistent format
12
- */
13
- function normalizeUrl(url, origin) {
14
- try {
15
- const parsed = new URL(url, origin);
16
- // Return pathname + search + hash for comparison
17
- return parsed.pathname + parsed.search + parsed.hash;
18
- }
19
- catch {
20
- return url;
21
- }
22
- }
23
- /**
24
- * Check if this link's destination matches the pending navigation URL
25
- */
26
- function isPendingFor(linkTo, pendingUrl, origin) {
27
- if (linkTo === null || pendingUrl === null) {
28
- return false;
29
- }
30
- return normalizeUrl(pendingUrl, origin) === normalizeUrl(linkTo, origin);
31
- }
32
- /**
33
- * Hook to track the pending state of a Link component
34
- *
35
- * Must be used inside a Link component. Returns `{ pending: true }`
36
- * when navigation to this link's destination is in progress.
37
- *
38
- * Useful for showing inline loading indicators on individual links.
39
- *
40
- * @example
41
- * ```tsx
42
- * function LoadingIndicator() {
43
- * const { pending } = useLinkStatus();
44
- * return pending ? <Spinner /> : null;
45
- * }
46
- *
47
- * // In your component:
48
- * <Link to="/dashboard">
49
- * Dashboard
50
- * <LoadingIndicator />
51
- * </Link>
52
- * ```
53
- */
54
- export function useLinkStatus() {
55
- const linkTo = useContext(LinkContext);
56
- const ctx = useContext(NavigationStoreContext);
57
- // Get origin for URL normalization (stable across renders)
58
- const origin = typeof window !== "undefined"
59
- ? window.location.origin
60
- : "http://localhost";
61
- // Base state for useOptimistic
62
- const [basePending, setBasePending] = useState(() => {
63
- if (!ctx || linkTo === null) {
64
- return false;
65
- }
66
- const state = ctx.eventController.getState();
67
- return isPendingFor(linkTo, state.pendingUrl, origin);
68
- });
69
- const prevPending = useRef(basePending);
70
- // useOptimistic allows immediate updates during transitions
71
- const [pending, setOptimisticPending] = useOptimistic(basePending);
72
- useEffect(() => {
73
- if (!ctx || linkTo === null) {
74
- return;
75
- }
76
- // Subscribe to navigation state changes
77
- return ctx.eventController.subscribe(() => {
78
- const state = ctx.eventController.getState();
79
- const isPending = isPendingFor(linkTo, state.pendingUrl, origin);
80
- if (isPending !== prevPending.current) {
81
- prevPending.current = isPending;
82
- // Use optimistic update for immediate feedback during navigation
83
- if (state.state !== "idle") {
84
- startTransition(() => {
85
- setOptimisticPending(isPending);
86
- });
87
- }
88
- // Always update base state
89
- setBasePending(isPending);
90
- }
91
- });
92
- }, [linkTo, origin]);
93
- // If not inside a Link, return not pending
94
- if (linkTo === null) {
95
- return { pending: false };
96
- }
97
- return { pending };
98
- }
99
- //# sourceMappingURL=use-link-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-link-status.js","sourceRoot":"","sources":["../../../src/browser/react/use-link-status.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Returns the current include() mount path.
3
- *
4
- * Inside `include("/articles", blogPatterns)`, returns "/articles".
5
- * For nested includes, returns the nearest mount path.
6
- * At root level (no include), returns "/".
7
- *
8
- * @example
9
- * ```tsx
10
- * "use client";
11
- * import { useMount, href } from "@rangojs/router/client";
12
- *
13
- * function BlogNav({ slug }: { slug: string }) {
14
- * const mount = useMount(); // "/articles"
15
- * return (
16
- * <>
17
- * <Link to={href("/", mount)}>Blog Home</Link>
18
- * <Link to={href(`/${slug}`, mount)}>Post</Link>
19
- * </>
20
- * );
21
- * }
22
- * ```
23
- */
24
- export declare function useMount(): string;
25
- //# sourceMappingURL=use-mount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-mount.d.ts","sourceRoot":"","sources":["../../../src/browser/react/use-mount.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC"}
@@ -1,30 +0,0 @@
1
- "use client";
2
- import { useContext } from "react";
3
- import { MountContext } from "./mount-context.js";
4
- /**
5
- * Returns the current include() mount path.
6
- *
7
- * Inside `include("/articles", blogPatterns)`, returns "/articles".
8
- * For nested includes, returns the nearest mount path.
9
- * At root level (no include), returns "/".
10
- *
11
- * @example
12
- * ```tsx
13
- * "use client";
14
- * import { useMount, href } from "@rangojs/router/client";
15
- *
16
- * function BlogNav({ slug }: { slug: string }) {
17
- * const mount = useMount(); // "/articles"
18
- * return (
19
- * <>
20
- * <Link to={href("/", mount)}>Blog Home</Link>
21
- * <Link to={href(`/${slug}`, mount)}>Post</Link>
22
- * </>
23
- * );
24
- * }
25
- * ```
26
- */
27
- export function useMount() {
28
- return useContext(MountContext);
29
- }
30
- //# sourceMappingURL=use-mount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-mount.js","sourceRoot":"","sources":["../../../src/browser/react/use-mount.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
@@ -1,27 +0,0 @@
1
- import type { PublicNavigationState, NavigateOptions } from "../types.js";
2
- /**
3
- * Navigation methods returned by useNavigation
4
- */
5
- export interface NavigationMethods {
6
- navigate: (url: string, options?: NavigateOptions) => Promise<void>;
7
- refresh: () => Promise<void>;
8
- }
9
- /**
10
- * Full value returned when no selector is provided
11
- */
12
- export type NavigationValue = PublicNavigationState & NavigationMethods;
13
- /**
14
- * Hook to access navigation state with optional selector for performance
15
- *
16
- * Uses the event controller for reactive state management.
17
- * State is derived from source of truth (currentNavigation, inflightActions).
18
- *
19
- * @example
20
- * ```tsx
21
- * const state = useNavigation(nav => nav.state);
22
- * const isLoading = useNavigation(nav => nav.state === 'loading');
23
- * ```
24
- */
25
- export declare function useNavigation(): NavigationValue;
26
- export declare function useNavigation<T>(selector: (state: PublicNavigationState) => T): T;
27
- //# sourceMappingURL=use-navigation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-navigation.d.ts","sourceRoot":"","sources":["../../../src/browser/react/use-navigation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuC1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAAC;AACjD,wBAAgB,aAAa,CAAC,CAAC,EAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,CAAC,GAC5C,CAAC,CAAC"}
@@ -1,87 +0,0 @@
1
- "use client";
2
- import { useContext, useState, useEffect, useOptimistic, startTransition, useRef, } from "react";
3
- import { NavigationStoreContext } from "./context.js";
4
- /**
5
- * Shallow equality check for selector results
6
- */
7
- function shallowEqual(a, b) {
8
- if (Object.is(a, b))
9
- return true;
10
- if (typeof a !== "object" ||
11
- a === null ||
12
- typeof b !== "object" ||
13
- b === null) {
14
- return false;
15
- }
16
- const keysA = Object.keys(a);
17
- const keysB = Object.keys(b);
18
- if (keysA.length !== keysB.length)
19
- return false;
20
- for (const key of keysA) {
21
- if (!Object.hasOwn(b, key) ||
22
- !Object.is(a[key], b[key])) {
23
- return false;
24
- }
25
- }
26
- return true;
27
- }
28
- /**
29
- * Convert derived state to public version (strips inflightActions)
30
- */
31
- function toPublicState(state) {
32
- const { inflightActions: _, ...publicState } = state;
33
- return publicState;
34
- }
35
- export function useNavigation(selector) {
36
- const ctx = useContext(NavigationStoreContext);
37
- if (!ctx) {
38
- throw new Error("useNavigation must be used within NavigationStoreContext.Provider");
39
- }
40
- // Base state for useOptimistic
41
- const [baseValue, setBaseValue] = useState(() => {
42
- const publicState = toPublicState(ctx.eventController.getState());
43
- return selector ? selector(publicState) : publicState;
44
- });
45
- const prevState = useRef(baseValue);
46
- // useOptimistic allows immediate updates during transitions/actions
47
- const [value, setOptimisticValue] = useOptimistic(baseValue);
48
- // Store selector in a ref to avoid re-subscribing when an inline
49
- // function is passed (its identity changes every render).
50
- const selectorRef = useRef(selector);
51
- selectorRef.current = selector;
52
- // Subscribe to event controller state changes (only runs on client)
53
- useEffect(() => {
54
- // Subscribe to updates from event controller
55
- return ctx.eventController.subscribe(() => {
56
- const currentState = ctx.eventController.getState();
57
- const publicState = toPublicState(currentState);
58
- const nextSelected = selectorRef.current
59
- ? selectorRef.current(publicState)
60
- : publicState;
61
- // Check if selected value has changed
62
- if (!shallowEqual(nextSelected, prevState.current)) {
63
- prevState.current = nextSelected;
64
- // Check if any actions are in progress for optimistic updates
65
- const hasInflightActions = ctx.eventController.getInflightActions().size > 0;
66
- if (hasInflightActions || publicState.state !== "idle") {
67
- // Use optimistic update for immediate feedback during transitions
68
- startTransition(() => {
69
- setOptimisticValue(nextSelected);
70
- });
71
- }
72
- // Always update base state so UI reflects current state
73
- setBaseValue(nextSelected);
74
- }
75
- });
76
- }, []);
77
- // If no selector, include navigation methods
78
- if (!selector) {
79
- return {
80
- ...value,
81
- navigate: ctx.navigate,
82
- refresh: ctx.refresh,
83
- };
84
- }
85
- return value;
86
- }
87
- //# sourceMappingURL=use-navigation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-navigation.js","sourceRoot":"","sources":["../../../src/browser/react/use-navigation.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Segments state returned by useSegments hook
3
- */
4
- export interface SegmentsState {
5
- /** URL path segments (e.g., /shop/products/123 → ["shop", "products", "123"]) */
6
- path: readonly string[];
7
- /** Matched segment IDs in order (layouts and routes only, e.g., ["L0", "L0L1", "L0L1R0"]) */
8
- segmentIds: readonly string[];
9
- /** Current URL location */
10
- location: URL;
11
- }
12
- /**
13
- * Initialize segments data synchronously for SSR.
14
- * Called before rendering to populate state for useState initializer.
15
- *
16
- * @param matched - Segment order from RSC metadata
17
- * @param pathname - Current pathname
18
- */
19
- export declare function initSegmentsSync(matched?: string[], pathname?: string): void;
20
- /**
21
- * Hook to access current route segments with optional selector for performance
22
- *
23
- * Provides information about the current URL path and matched route segments.
24
- * Uses the event controller for reactive state management.
25
- *
26
- * @example
27
- * ```tsx
28
- * // Get full segments state
29
- * const { path, segmentIds, location } = useSegments();
30
- *
31
- * // Use selector for specific values (better performance)
32
- * const path = useSegments(s => s.path);
33
- * const isShopRoute = useSegments(s => s.path[0] === "shop");
34
- * ```
35
- */
36
- export declare function useSegments(): SegmentsState;
37
- export declare function useSegments<T>(selector: (state: SegmentsState) => T): T;
38
- //# sourceMappingURL=use-segments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-segments.d.ts","sourceRoot":"","sources":["../../../src/browser/react/use-segments.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,6FAA6F;IAC7F,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,2BAA2B;IAC3B,QAAQ,EAAE,GAAG,CAAC;CACf;AAsBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5E;AA+DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,IAAI,aAAa,CAAC;AAC7C,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,GAAG,CAAC,CAAC"}