@rangojs/router 0.0.0-experimental.dfa55db4 → 0.0.0-experimental.dfdb0387

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 (820) hide show
  1. package/dist/vite/index.js +30 -15
  2. package/package.json +1 -1
  3. package/src/browser/navigation-client.ts +34 -6
  4. package/src/browser/partial-update.ts +5 -0
  5. package/src/browser/prefetch/cache.ts +16 -6
  6. package/src/browser/prefetch/fetch.ts +44 -4
  7. package/src/browser/react/Link.tsx +25 -2
  8. package/src/browser/segment-reconciler.ts +26 -0
  9. package/src/router/match-result.ts +82 -4
  10. package/src/router/segment-resolution/fresh.ts +5 -0
  11. package/src/router/segment-resolution/revalidation.ts +7 -1
  12. package/src/rsc/handler.ts +8 -4
  13. package/src/types/segments.ts +1 -0
  14. package/src/use-loader.tsx +4 -1
  15. package/src/vite/plugins/expose-id-utils.ts +12 -0
  16. package/src/vite/plugins/expose-internal-ids.ts +56 -31
  17. package/dist/__internal.d.ts +0 -83
  18. package/dist/__internal.d.ts.map +0 -1
  19. package/dist/__internal.js +0 -19
  20. package/dist/__internal.js.map +0 -1
  21. package/dist/__mocks__/version.d.ts +0 -7
  22. package/dist/__mocks__/version.d.ts.map +0 -1
  23. package/dist/__mocks__/version.js +0 -7
  24. package/dist/__mocks__/version.js.map +0 -1
  25. package/dist/__tests__/client-href.test.d.ts +0 -2
  26. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  27. package/dist/__tests__/client-href.test.js +0 -74
  28. package/dist/__tests__/client-href.test.js.map +0 -1
  29. package/dist/__tests__/component-utils.test.d.ts +0 -2
  30. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  31. package/dist/__tests__/component-utils.test.js +0 -51
  32. package/dist/__tests__/component-utils.test.js.map +0 -1
  33. package/dist/__tests__/event-controller.test.d.ts +0 -2
  34. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  35. package/dist/__tests__/event-controller.test.js +0 -538
  36. package/dist/__tests__/event-controller.test.js.map +0 -1
  37. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  38. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  39. package/dist/__tests__/helpers/route-tree.js +0 -374
  40. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  41. package/dist/__tests__/match-result.test.d.ts +0 -2
  42. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  43. package/dist/__tests__/match-result.test.js +0 -154
  44. package/dist/__tests__/match-result.test.js.map +0 -1
  45. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  46. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  47. package/dist/__tests__/navigation-store.test.js +0 -440
  48. package/dist/__tests__/navigation-store.test.js.map +0 -1
  49. package/dist/__tests__/partial-update.test.d.ts +0 -2
  50. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  51. package/dist/__tests__/partial-update.test.js +0 -1009
  52. package/dist/__tests__/partial-update.test.js.map +0 -1
  53. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  54. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  55. package/dist/__tests__/reverse-types.test.js +0 -656
  56. package/dist/__tests__/reverse-types.test.js.map +0 -1
  57. package/dist/__tests__/route-definition.test.d.ts +0 -2
  58. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  59. package/dist/__tests__/route-definition.test.js +0 -55
  60. package/dist/__tests__/route-definition.test.js.map +0 -1
  61. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  62. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  63. package/dist/__tests__/router-helpers.test.js +0 -377
  64. package/dist/__tests__/router-helpers.test.js.map +0 -1
  65. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  66. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  67. package/dist/__tests__/router-integration-2.test.js +0 -426
  68. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  69. package/dist/__tests__/router-integration.test.d.ts +0 -2
  70. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  71. package/dist/__tests__/router-integration.test.js +0 -1051
  72. package/dist/__tests__/router-integration.test.js.map +0 -1
  73. package/dist/__tests__/search-params.test.d.ts +0 -5
  74. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  75. package/dist/__tests__/search-params.test.js +0 -306
  76. package/dist/__tests__/search-params.test.js.map +0 -1
  77. package/dist/__tests__/segment-system.test.d.ts +0 -2
  78. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  79. package/dist/__tests__/segment-system.test.js +0 -627
  80. package/dist/__tests__/segment-system.test.js.map +0 -1
  81. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  82. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  83. package/dist/__tests__/static-handler-types.test.js +0 -63
  84. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  85. package/dist/__tests__/urls.test.d.ts +0 -2
  86. package/dist/__tests__/urls.test.d.ts.map +0 -1
  87. package/dist/__tests__/urls.test.js +0 -421
  88. package/dist/__tests__/urls.test.js.map +0 -1
  89. package/dist/__tests__/use-mount.test.d.ts +0 -2
  90. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  91. package/dist/__tests__/use-mount.test.js +0 -35
  92. package/dist/__tests__/use-mount.test.js.map +0 -1
  93. package/dist/bin/rango.d.ts +0 -2
  94. package/dist/bin/rango.d.ts.map +0 -1
  95. package/dist/bin/rango.js.map +0 -1
  96. package/dist/browser/event-controller.d.ts +0 -191
  97. package/dist/browser/event-controller.d.ts.map +0 -1
  98. package/dist/browser/event-controller.js +0 -559
  99. package/dist/browser/event-controller.js.map +0 -1
  100. package/dist/browser/index.d.ts +0 -2
  101. package/dist/browser/index.d.ts.map +0 -1
  102. package/dist/browser/index.js +0 -14
  103. package/dist/browser/index.js.map +0 -1
  104. package/dist/browser/link-interceptor.d.ts +0 -38
  105. package/dist/browser/link-interceptor.d.ts.map +0 -1
  106. package/dist/browser/link-interceptor.js +0 -99
  107. package/dist/browser/link-interceptor.js.map +0 -1
  108. package/dist/browser/logging.d.ts +0 -10
  109. package/dist/browser/logging.d.ts.map +0 -1
  110. package/dist/browser/logging.js +0 -29
  111. package/dist/browser/logging.js.map +0 -1
  112. package/dist/browser/lru-cache.d.ts +0 -17
  113. package/dist/browser/lru-cache.d.ts.map +0 -1
  114. package/dist/browser/lru-cache.js +0 -50
  115. package/dist/browser/lru-cache.js.map +0 -1
  116. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  117. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  118. package/dist/browser/merge-segment-loaders.js +0 -102
  119. package/dist/browser/merge-segment-loaders.js.map +0 -1
  120. package/dist/browser/navigation-bridge.d.ts +0 -102
  121. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  122. package/dist/browser/navigation-bridge.js +0 -708
  123. package/dist/browser/navigation-bridge.js.map +0 -1
  124. package/dist/browser/navigation-client.d.ts +0 -25
  125. package/dist/browser/navigation-client.d.ts.map +0 -1
  126. package/dist/browser/navigation-client.js +0 -157
  127. package/dist/browser/navigation-client.js.map +0 -1
  128. package/dist/browser/navigation-store.d.ts +0 -101
  129. package/dist/browser/navigation-store.d.ts.map +0 -1
  130. package/dist/browser/navigation-store.js +0 -625
  131. package/dist/browser/navigation-store.js.map +0 -1
  132. package/dist/browser/partial-update.d.ts +0 -75
  133. package/dist/browser/partial-update.d.ts.map +0 -1
  134. package/dist/browser/partial-update.js +0 -426
  135. package/dist/browser/partial-update.js.map +0 -1
  136. package/dist/browser/react/Link.d.ts +0 -86
  137. package/dist/browser/react/Link.d.ts.map +0 -1
  138. package/dist/browser/react/Link.js +0 -128
  139. package/dist/browser/react/Link.js.map +0 -1
  140. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  141. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  142. package/dist/browser/react/NavigationProvider.js +0 -216
  143. package/dist/browser/react/NavigationProvider.js.map +0 -1
  144. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  145. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  146. package/dist/browser/react/ScrollRestoration.js +0 -57
  147. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  148. package/dist/browser/react/context.d.ts +0 -46
  149. package/dist/browser/react/context.d.ts.map +0 -1
  150. package/dist/browser/react/context.js +0 -10
  151. package/dist/browser/react/context.js.map +0 -1
  152. package/dist/browser/react/index.d.ts +0 -11
  153. package/dist/browser/react/index.d.ts.map +0 -1
  154. package/dist/browser/react/index.js +0 -22
  155. package/dist/browser/react/index.js.map +0 -1
  156. package/dist/browser/react/location-state-shared.d.ts +0 -63
  157. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  158. package/dist/browser/react/location-state-shared.js +0 -81
  159. package/dist/browser/react/location-state-shared.js.map +0 -1
  160. package/dist/browser/react/location-state.d.ts +0 -23
  161. package/dist/browser/react/location-state.d.ts.map +0 -1
  162. package/dist/browser/react/location-state.js +0 -29
  163. package/dist/browser/react/location-state.js.map +0 -1
  164. package/dist/browser/react/mount-context.d.ts +0 -24
  165. package/dist/browser/react/mount-context.d.ts.map +0 -1
  166. package/dist/browser/react/mount-context.js +0 -24
  167. package/dist/browser/react/mount-context.js.map +0 -1
  168. package/dist/browser/react/use-action.d.ts +0 -64
  169. package/dist/browser/react/use-action.d.ts.map +0 -1
  170. package/dist/browser/react/use-action.js +0 -134
  171. package/dist/browser/react/use-action.js.map +0 -1
  172. package/dist/browser/react/use-client-cache.d.ts +0 -41
  173. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  174. package/dist/browser/react/use-client-cache.js +0 -39
  175. package/dist/browser/react/use-client-cache.js.map +0 -1
  176. package/dist/browser/react/use-handle.d.ts +0 -31
  177. package/dist/browser/react/use-handle.d.ts.map +0 -1
  178. package/dist/browser/react/use-handle.js +0 -144
  179. package/dist/browser/react/use-handle.js.map +0 -1
  180. package/dist/browser/react/use-href.d.ts +0 -33
  181. package/dist/browser/react/use-href.d.ts.map +0 -1
  182. package/dist/browser/react/use-href.js +0 -39
  183. package/dist/browser/react/use-href.js.map +0 -1
  184. package/dist/browser/react/use-link-status.d.ts +0 -37
  185. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  186. package/dist/browser/react/use-link-status.js +0 -99
  187. package/dist/browser/react/use-link-status.js.map +0 -1
  188. package/dist/browser/react/use-mount.d.ts +0 -25
  189. package/dist/browser/react/use-mount.d.ts.map +0 -1
  190. package/dist/browser/react/use-mount.js +0 -30
  191. package/dist/browser/react/use-mount.js.map +0 -1
  192. package/dist/browser/react/use-navigation.d.ts +0 -27
  193. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  194. package/dist/browser/react/use-navigation.js +0 -87
  195. package/dist/browser/react/use-navigation.js.map +0 -1
  196. package/dist/browser/react/use-segments.d.ts +0 -38
  197. package/dist/browser/react/use-segments.d.ts.map +0 -1
  198. package/dist/browser/react/use-segments.js +0 -130
  199. package/dist/browser/react/use-segments.js.map +0 -1
  200. package/dist/browser/request-controller.d.ts +0 -26
  201. package/dist/browser/request-controller.d.ts.map +0 -1
  202. package/dist/browser/request-controller.js +0 -147
  203. package/dist/browser/request-controller.js.map +0 -1
  204. package/dist/browser/rsc-router.d.ts +0 -129
  205. package/dist/browser/rsc-router.d.ts.map +0 -1
  206. package/dist/browser/rsc-router.js +0 -195
  207. package/dist/browser/rsc-router.js.map +0 -1
  208. package/dist/browser/scroll-restoration.d.ts +0 -93
  209. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  210. package/dist/browser/scroll-restoration.js +0 -321
  211. package/dist/browser/scroll-restoration.js.map +0 -1
  212. package/dist/browser/segment-structure-assert.d.ts +0 -17
  213. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  214. package/dist/browser/segment-structure-assert.js +0 -59
  215. package/dist/browser/segment-structure-assert.js.map +0 -1
  216. package/dist/browser/server-action-bridge.d.ts +0 -26
  217. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  218. package/dist/browser/server-action-bridge.js +0 -668
  219. package/dist/browser/server-action-bridge.js.map +0 -1
  220. package/dist/browser/shallow.d.ts +0 -12
  221. package/dist/browser/shallow.d.ts.map +0 -1
  222. package/dist/browser/shallow.js +0 -34
  223. package/dist/browser/shallow.js.map +0 -1
  224. package/dist/browser/types.d.ts +0 -369
  225. package/dist/browser/types.d.ts.map +0 -1
  226. package/dist/browser/types.js +0 -2
  227. package/dist/browser/types.js.map +0 -1
  228. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  229. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  230. package/dist/build/__tests__/generate-cli.test.js +0 -237
  231. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  232. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  233. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  234. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  235. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  236. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  237. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  238. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  239. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  240. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  241. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  242. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  243. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  244. package/dist/build/generate-manifest.d.ts +0 -81
  245. package/dist/build/generate-manifest.d.ts.map +0 -1
  246. package/dist/build/generate-manifest.js +0 -276
  247. package/dist/build/generate-manifest.js.map +0 -1
  248. package/dist/build/generate-route-types.d.ts +0 -115
  249. package/dist/build/generate-route-types.d.ts.map +0 -1
  250. package/dist/build/generate-route-types.js +0 -740
  251. package/dist/build/generate-route-types.js.map +0 -1
  252. package/dist/build/index.d.ts +0 -21
  253. package/dist/build/index.d.ts.map +0 -1
  254. package/dist/build/index.js +0 -21
  255. package/dist/build/index.js.map +0 -1
  256. package/dist/build/route-trie.d.ts +0 -71
  257. package/dist/build/route-trie.d.ts.map +0 -1
  258. package/dist/build/route-trie.js +0 -175
  259. package/dist/build/route-trie.js.map +0 -1
  260. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  261. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  262. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  263. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  264. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  265. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  266. package/dist/cache/__tests__/document-cache.test.js +0 -345
  267. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  268. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  269. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  270. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  271. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  272. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  273. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  274. package/dist/cache/__tests__/memory-store.test.js +0 -367
  275. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  276. package/dist/cache/cache-scope.d.ts +0 -102
  277. package/dist/cache/cache-scope.d.ts.map +0 -1
  278. package/dist/cache/cache-scope.js +0 -440
  279. package/dist/cache/cache-scope.js.map +0 -1
  280. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  281. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  282. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  283. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  284. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  285. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  286. package/dist/cache/cf/cf-cache-store.js +0 -242
  287. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  288. package/dist/cache/cf/index.d.ts +0 -14
  289. package/dist/cache/cf/index.d.ts.map +0 -1
  290. package/dist/cache/cf/index.js +0 -17
  291. package/dist/cache/cf/index.js.map +0 -1
  292. package/dist/cache/document-cache.d.ts +0 -64
  293. package/dist/cache/document-cache.d.ts.map +0 -1
  294. package/dist/cache/document-cache.js +0 -228
  295. package/dist/cache/document-cache.js.map +0 -1
  296. package/dist/cache/index.d.ts +0 -19
  297. package/dist/cache/index.d.ts.map +0 -1
  298. package/dist/cache/index.js +0 -21
  299. package/dist/cache/index.js.map +0 -1
  300. package/dist/cache/memory-segment-store.d.ts +0 -110
  301. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  302. package/dist/cache/memory-segment-store.js +0 -117
  303. package/dist/cache/memory-segment-store.js.map +0 -1
  304. package/dist/cache/memory-store.d.ts +0 -41
  305. package/dist/cache/memory-store.d.ts.map +0 -1
  306. package/dist/cache/memory-store.js +0 -191
  307. package/dist/cache/memory-store.js.map +0 -1
  308. package/dist/cache/types.d.ts +0 -317
  309. package/dist/cache/types.d.ts.map +0 -1
  310. package/dist/cache/types.js +0 -12
  311. package/dist/cache/types.js.map +0 -1
  312. package/dist/client.d.ts +0 -248
  313. package/dist/client.d.ts.map +0 -1
  314. package/dist/client.js +0 -367
  315. package/dist/client.js.map +0 -1
  316. package/dist/client.rsc.d.ts +0 -26
  317. package/dist/client.rsc.d.ts.map +0 -1
  318. package/dist/client.rsc.js +0 -46
  319. package/dist/client.rsc.js.map +0 -1
  320. package/dist/component-utils.d.ts +0 -36
  321. package/dist/component-utils.d.ts.map +0 -1
  322. package/dist/component-utils.js +0 -61
  323. package/dist/component-utils.js.map +0 -1
  324. package/dist/components/DefaultDocument.d.ts +0 -13
  325. package/dist/components/DefaultDocument.d.ts.map +0 -1
  326. package/dist/components/DefaultDocument.js +0 -15
  327. package/dist/components/DefaultDocument.js.map +0 -1
  328. package/dist/debug.d.ts +0 -58
  329. package/dist/debug.d.ts.map +0 -1
  330. package/dist/debug.js +0 -157
  331. package/dist/debug.js.map +0 -1
  332. package/dist/default-error-boundary.d.ts +0 -11
  333. package/dist/default-error-boundary.d.ts.map +0 -1
  334. package/dist/default-error-boundary.js +0 -45
  335. package/dist/default-error-boundary.js.map +0 -1
  336. package/dist/deps/browser.d.ts +0 -2
  337. package/dist/deps/browser.d.ts.map +0 -1
  338. package/dist/deps/browser.js +0 -3
  339. package/dist/deps/browser.js.map +0 -1
  340. package/dist/deps/html-stream-client.d.ts +0 -2
  341. package/dist/deps/html-stream-client.d.ts.map +0 -1
  342. package/dist/deps/html-stream-client.js +0 -3
  343. package/dist/deps/html-stream-client.js.map +0 -1
  344. package/dist/deps/html-stream-server.d.ts +0 -2
  345. package/dist/deps/html-stream-server.d.ts.map +0 -1
  346. package/dist/deps/html-stream-server.js +0 -3
  347. package/dist/deps/html-stream-server.js.map +0 -1
  348. package/dist/deps/rsc.d.ts +0 -2
  349. package/dist/deps/rsc.d.ts.map +0 -1
  350. package/dist/deps/rsc.js +0 -4
  351. package/dist/deps/rsc.js.map +0 -1
  352. package/dist/deps/ssr.d.ts +0 -2
  353. package/dist/deps/ssr.d.ts.map +0 -1
  354. package/dist/deps/ssr.js +0 -3
  355. package/dist/deps/ssr.js.map +0 -1
  356. package/dist/errors.d.ts +0 -174
  357. package/dist/errors.d.ts.map +0 -1
  358. package/dist/errors.js +0 -241
  359. package/dist/errors.js.map +0 -1
  360. package/dist/handle.d.ts +0 -78
  361. package/dist/handle.d.ts.map +0 -1
  362. package/dist/handle.js +0 -82
  363. package/dist/handle.js.map +0 -1
  364. package/dist/handles/MetaTags.d.ts +0 -14
  365. package/dist/handles/MetaTags.d.ts.map +0 -1
  366. package/dist/handles/MetaTags.js +0 -136
  367. package/dist/handles/MetaTags.js.map +0 -1
  368. package/dist/handles/index.d.ts +0 -6
  369. package/dist/handles/index.d.ts.map +0 -1
  370. package/dist/handles/index.js +0 -6
  371. package/dist/handles/index.js.map +0 -1
  372. package/dist/handles/meta.d.ts +0 -39
  373. package/dist/handles/meta.d.ts.map +0 -1
  374. package/dist/handles/meta.js +0 -202
  375. package/dist/handles/meta.js.map +0 -1
  376. package/dist/host/__tests__/errors.test.d.ts +0 -2
  377. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  378. package/dist/host/__tests__/errors.test.js +0 -76
  379. package/dist/host/__tests__/errors.test.js.map +0 -1
  380. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  381. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  382. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  383. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  384. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  385. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  386. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  387. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  388. package/dist/host/__tests__/router.test.d.ts +0 -2
  389. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  390. package/dist/host/__tests__/router.test.js +0 -241
  391. package/dist/host/__tests__/router.test.js.map +0 -1
  392. package/dist/host/__tests__/testing.test.d.ts +0 -2
  393. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  394. package/dist/host/__tests__/testing.test.js +0 -64
  395. package/dist/host/__tests__/testing.test.js.map +0 -1
  396. package/dist/host/__tests__/utils.test.d.ts +0 -2
  397. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  398. package/dist/host/__tests__/utils.test.js +0 -29
  399. package/dist/host/__tests__/utils.test.js.map +0 -1
  400. package/dist/host/cookie-handler.d.ts +0 -34
  401. package/dist/host/cookie-handler.d.ts.map +0 -1
  402. package/dist/host/cookie-handler.js +0 -124
  403. package/dist/host/cookie-handler.js.map +0 -1
  404. package/dist/host/errors.d.ts +0 -56
  405. package/dist/host/errors.d.ts.map +0 -1
  406. package/dist/host/errors.js +0 -79
  407. package/dist/host/errors.js.map +0 -1
  408. package/dist/host/index.d.ts +0 -29
  409. package/dist/host/index.d.ts.map +0 -1
  410. package/dist/host/index.js +0 -32
  411. package/dist/host/index.js.map +0 -1
  412. package/dist/host/pattern-matcher.d.ts +0 -36
  413. package/dist/host/pattern-matcher.d.ts.map +0 -1
  414. package/dist/host/pattern-matcher.js +0 -172
  415. package/dist/host/pattern-matcher.js.map +0 -1
  416. package/dist/host/router.d.ts +0 -26
  417. package/dist/host/router.d.ts.map +0 -1
  418. package/dist/host/router.js +0 -218
  419. package/dist/host/router.js.map +0 -1
  420. package/dist/host/testing.d.ts +0 -36
  421. package/dist/host/testing.d.ts.map +0 -1
  422. package/dist/host/testing.js +0 -55
  423. package/dist/host/testing.js.map +0 -1
  424. package/dist/host/types.d.ts +0 -115
  425. package/dist/host/types.d.ts.map +0 -1
  426. package/dist/host/types.js +0 -7
  427. package/dist/host/types.js.map +0 -1
  428. package/dist/host/utils.d.ts +0 -21
  429. package/dist/host/utils.d.ts.map +0 -1
  430. package/dist/host/utils.js +0 -23
  431. package/dist/host/utils.js.map +0 -1
  432. package/dist/href-client.d.ts +0 -131
  433. package/dist/href-client.d.ts.map +0 -1
  434. package/dist/href-client.js +0 -64
  435. package/dist/href-client.js.map +0 -1
  436. package/dist/href-context.d.ts +0 -29
  437. package/dist/href-context.d.ts.map +0 -1
  438. package/dist/href-context.js +0 -21
  439. package/dist/href-context.js.map +0 -1
  440. package/dist/index.d.ts +0 -73
  441. package/dist/index.d.ts.map +0 -1
  442. package/dist/index.js +0 -91
  443. package/dist/index.js.map +0 -1
  444. package/dist/index.rsc.d.ts +0 -32
  445. package/dist/index.rsc.d.ts.map +0 -1
  446. package/dist/index.rsc.js +0 -40
  447. package/dist/index.rsc.js.map +0 -1
  448. package/dist/internal-debug.d.ts +0 -2
  449. package/dist/internal-debug.d.ts.map +0 -1
  450. package/dist/internal-debug.js +0 -5
  451. package/dist/internal-debug.js.map +0 -1
  452. package/dist/loader.d.ts +0 -14
  453. package/dist/loader.d.ts.map +0 -1
  454. package/dist/loader.js +0 -20
  455. package/dist/loader.js.map +0 -1
  456. package/dist/loader.rsc.d.ts +0 -19
  457. package/dist/loader.rsc.d.ts.map +0 -1
  458. package/dist/loader.rsc.js +0 -99
  459. package/dist/loader.rsc.js.map +0 -1
  460. package/dist/network-error-thrower.d.ts +0 -17
  461. package/dist/network-error-thrower.d.ts.map +0 -1
  462. package/dist/network-error-thrower.js +0 -14
  463. package/dist/network-error-thrower.js.map +0 -1
  464. package/dist/outlet-context.d.ts +0 -13
  465. package/dist/outlet-context.d.ts.map +0 -1
  466. package/dist/outlet-context.js +0 -3
  467. package/dist/outlet-context.js.map +0 -1
  468. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  469. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  470. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  471. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  472. package/dist/prerender/param-hash.d.ts +0 -16
  473. package/dist/prerender/param-hash.d.ts.map +0 -1
  474. package/dist/prerender/param-hash.js +0 -36
  475. package/dist/prerender/param-hash.js.map +0 -1
  476. package/dist/prerender/store.d.ts +0 -38
  477. package/dist/prerender/store.d.ts.map +0 -1
  478. package/dist/prerender/store.js +0 -61
  479. package/dist/prerender/store.js.map +0 -1
  480. package/dist/prerender.d.ts +0 -66
  481. package/dist/prerender.d.ts.map +0 -1
  482. package/dist/prerender.js +0 -57
  483. package/dist/prerender.js.map +0 -1
  484. package/dist/reverse.d.ts +0 -196
  485. package/dist/reverse.d.ts.map +0 -1
  486. package/dist/reverse.js +0 -78
  487. package/dist/reverse.js.map +0 -1
  488. package/dist/root-error-boundary.d.ts +0 -33
  489. package/dist/root-error-boundary.d.ts.map +0 -1
  490. package/dist/root-error-boundary.js +0 -165
  491. package/dist/root-error-boundary.js.map +0 -1
  492. package/dist/route-content-wrapper.d.ts +0 -46
  493. package/dist/route-content-wrapper.d.ts.map +0 -1
  494. package/dist/route-content-wrapper.js +0 -77
  495. package/dist/route-content-wrapper.js.map +0 -1
  496. package/dist/route-definition.d.ts +0 -421
  497. package/dist/route-definition.d.ts.map +0 -1
  498. package/dist/route-definition.js +0 -868
  499. package/dist/route-definition.js.map +0 -1
  500. package/dist/route-map-builder.d.ts +0 -155
  501. package/dist/route-map-builder.d.ts.map +0 -1
  502. package/dist/route-map-builder.js +0 -237
  503. package/dist/route-map-builder.js.map +0 -1
  504. package/dist/route-types.d.ts +0 -165
  505. package/dist/route-types.d.ts.map +0 -1
  506. package/dist/route-types.js +0 -7
  507. package/dist/route-types.js.map +0 -1
  508. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  509. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  510. package/dist/router/__tests__/handler-context.test.js +0 -65
  511. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  512. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  513. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  514. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  515. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  516. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  517. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  518. package/dist/router/__tests__/match-context.test.js +0 -92
  519. package/dist/router/__tests__/match-context.test.js.map +0 -1
  520. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  521. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  522. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  523. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  524. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  525. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  526. package/dist/router/__tests__/match-result.test.js +0 -457
  527. package/dist/router/__tests__/match-result.test.js.map +0 -1
  528. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  529. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  530. package/dist/router/__tests__/on-error.test.js +0 -678
  531. package/dist/router/__tests__/on-error.test.js.map +0 -1
  532. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  533. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  534. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  535. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  536. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  537. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  538. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  539. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  540. package/dist/router/error-handling.d.ts +0 -77
  541. package/dist/router/error-handling.d.ts.map +0 -1
  542. package/dist/router/error-handling.js +0 -202
  543. package/dist/router/error-handling.js.map +0 -1
  544. package/dist/router/handler-context.d.ts +0 -20
  545. package/dist/router/handler-context.d.ts.map +0 -1
  546. package/dist/router/handler-context.js +0 -198
  547. package/dist/router/handler-context.js.map +0 -1
  548. package/dist/router/intercept-resolution.d.ts +0 -66
  549. package/dist/router/intercept-resolution.d.ts.map +0 -1
  550. package/dist/router/intercept-resolution.js +0 -246
  551. package/dist/router/intercept-resolution.js.map +0 -1
  552. package/dist/router/loader-resolution.d.ts +0 -64
  553. package/dist/router/loader-resolution.d.ts.map +0 -1
  554. package/dist/router/loader-resolution.js +0 -284
  555. package/dist/router/loader-resolution.js.map +0 -1
  556. package/dist/router/logging.d.ts +0 -15
  557. package/dist/router/logging.d.ts.map +0 -1
  558. package/dist/router/logging.js +0 -99
  559. package/dist/router/logging.js.map +0 -1
  560. package/dist/router/manifest.d.ts +0 -22
  561. package/dist/router/manifest.d.ts.map +0 -1
  562. package/dist/router/manifest.js +0 -181
  563. package/dist/router/manifest.js.map +0 -1
  564. package/dist/router/match-api.d.ts +0 -35
  565. package/dist/router/match-api.d.ts.map +0 -1
  566. package/dist/router/match-api.js +0 -406
  567. package/dist/router/match-api.js.map +0 -1
  568. package/dist/router/match-context.d.ts +0 -206
  569. package/dist/router/match-context.d.ts.map +0 -1
  570. package/dist/router/match-context.js +0 -17
  571. package/dist/router/match-context.js.map +0 -1
  572. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  573. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  574. package/dist/router/match-middleware/background-revalidation.js +0 -75
  575. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  576. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  577. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  578. package/dist/router/match-middleware/cache-lookup.js +0 -257
  579. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  580. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  581. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  582. package/dist/router/match-middleware/cache-store.js +0 -108
  583. package/dist/router/match-middleware/cache-store.js.map +0 -1
  584. package/dist/router/match-middleware/index.d.ts +0 -81
  585. package/dist/router/match-middleware/index.d.ts.map +0 -1
  586. package/dist/router/match-middleware/index.js +0 -80
  587. package/dist/router/match-middleware/index.js.map +0 -1
  588. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  589. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  590. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  591. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  592. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  593. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  594. package/dist/router/match-middleware/segment-resolution.js +0 -53
  595. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  596. package/dist/router/match-pipelines.d.ts +0 -147
  597. package/dist/router/match-pipelines.d.ts.map +0 -1
  598. package/dist/router/match-pipelines.js +0 -82
  599. package/dist/router/match-pipelines.js.map +0 -1
  600. package/dist/router/match-result.d.ts +0 -126
  601. package/dist/router/match-result.d.ts.map +0 -1
  602. package/dist/router/match-result.js +0 -93
  603. package/dist/router/match-result.js.map +0 -1
  604. package/dist/router/metrics.d.ts +0 -20
  605. package/dist/router/metrics.d.ts.map +0 -1
  606. package/dist/router/metrics.js +0 -47
  607. package/dist/router/metrics.js.map +0 -1
  608. package/dist/router/middleware.d.ts +0 -249
  609. package/dist/router/middleware.d.ts.map +0 -1
  610. package/dist/router/middleware.js +0 -434
  611. package/dist/router/middleware.js.map +0 -1
  612. package/dist/router/middleware.test.d.ts +0 -2
  613. package/dist/router/middleware.test.d.ts.map +0 -1
  614. package/dist/router/middleware.test.js +0 -816
  615. package/dist/router/middleware.test.js.map +0 -1
  616. package/dist/router/pattern-matching.d.ts +0 -149
  617. package/dist/router/pattern-matching.d.ts.map +0 -1
  618. package/dist/router/pattern-matching.js +0 -349
  619. package/dist/router/pattern-matching.js.map +0 -1
  620. package/dist/router/revalidation.d.ts +0 -44
  621. package/dist/router/revalidation.d.ts.map +0 -1
  622. package/dist/router/revalidation.js +0 -147
  623. package/dist/router/revalidation.js.map +0 -1
  624. package/dist/router/router-context.d.ts +0 -135
  625. package/dist/router/router-context.d.ts.map +0 -1
  626. package/dist/router/router-context.js +0 -36
  627. package/dist/router/router-context.js.map +0 -1
  628. package/dist/router/segment-resolution.d.ts +0 -127
  629. package/dist/router/segment-resolution.d.ts.map +0 -1
  630. package/dist/router/segment-resolution.js +0 -919
  631. package/dist/router/segment-resolution.js.map +0 -1
  632. package/dist/router/trie-matching.d.ts +0 -40
  633. package/dist/router/trie-matching.d.ts.map +0 -1
  634. package/dist/router/trie-matching.js +0 -127
  635. package/dist/router/trie-matching.js.map +0 -1
  636. package/dist/router/types.d.ts +0 -136
  637. package/dist/router/types.d.ts.map +0 -1
  638. package/dist/router/types.js +0 -7
  639. package/dist/router/types.js.map +0 -1
  640. package/dist/router.d.ts +0 -753
  641. package/dist/router.d.ts.map +0 -1
  642. package/dist/router.gen.d.ts +0 -6
  643. package/dist/router.gen.d.ts.map +0 -1
  644. package/dist/router.gen.js +0 -6
  645. package/dist/router.gen.js.map +0 -1
  646. package/dist/router.js +0 -1304
  647. package/dist/router.js.map +0 -1
  648. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  649. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  650. package/dist/rsc/__tests__/helpers.test.js +0 -140
  651. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  652. package/dist/rsc/handler.d.ts +0 -45
  653. package/dist/rsc/handler.d.ts.map +0 -1
  654. package/dist/rsc/handler.js +0 -1172
  655. package/dist/rsc/handler.js.map +0 -1
  656. package/dist/rsc/helpers.d.ts +0 -16
  657. package/dist/rsc/helpers.d.ts.map +0 -1
  658. package/dist/rsc/helpers.js +0 -55
  659. package/dist/rsc/helpers.js.map +0 -1
  660. package/dist/rsc/index.d.ts +0 -22
  661. package/dist/rsc/index.d.ts.map +0 -1
  662. package/dist/rsc/index.js +0 -23
  663. package/dist/rsc/index.js.map +0 -1
  664. package/dist/rsc/nonce.d.ts +0 -9
  665. package/dist/rsc/nonce.d.ts.map +0 -1
  666. package/dist/rsc/nonce.js +0 -18
  667. package/dist/rsc/nonce.js.map +0 -1
  668. package/dist/rsc/types.d.ts +0 -206
  669. package/dist/rsc/types.d.ts.map +0 -1
  670. package/dist/rsc/types.js +0 -8
  671. package/dist/rsc/types.js.map +0 -1
  672. package/dist/search-params.d.ts +0 -103
  673. package/dist/search-params.d.ts.map +0 -1
  674. package/dist/search-params.js +0 -74
  675. package/dist/search-params.js.map +0 -1
  676. package/dist/segment-system.d.ts +0 -75
  677. package/dist/segment-system.d.ts.map +0 -1
  678. package/dist/segment-system.js +0 -336
  679. package/dist/segment-system.js.map +0 -1
  680. package/dist/server/context.d.ts +0 -245
  681. package/dist/server/context.d.ts.map +0 -1
  682. package/dist/server/context.js +0 -197
  683. package/dist/server/context.js.map +0 -1
  684. package/dist/server/fetchable-loader-store.d.ts +0 -18
  685. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  686. package/dist/server/fetchable-loader-store.js +0 -18
  687. package/dist/server/fetchable-loader-store.js.map +0 -1
  688. package/dist/server/handle-store.d.ts +0 -85
  689. package/dist/server/handle-store.d.ts.map +0 -1
  690. package/dist/server/handle-store.js +0 -142
  691. package/dist/server/handle-store.js.map +0 -1
  692. package/dist/server/loader-registry.d.ts +0 -55
  693. package/dist/server/loader-registry.d.ts.map +0 -1
  694. package/dist/server/loader-registry.js +0 -132
  695. package/dist/server/loader-registry.js.map +0 -1
  696. package/dist/server/request-context.d.ts +0 -226
  697. package/dist/server/request-context.d.ts.map +0 -1
  698. package/dist/server/request-context.js +0 -290
  699. package/dist/server/request-context.js.map +0 -1
  700. package/dist/server/root-layout.d.ts +0 -4
  701. package/dist/server/root-layout.d.ts.map +0 -1
  702. package/dist/server/root-layout.js +0 -5
  703. package/dist/server/root-layout.js.map +0 -1
  704. package/dist/server.d.ts +0 -15
  705. package/dist/server.d.ts.map +0 -1
  706. package/dist/server.js +0 -20
  707. package/dist/server.js.map +0 -1
  708. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  709. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  710. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  711. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  712. package/dist/ssr/index.d.ts +0 -98
  713. package/dist/ssr/index.d.ts.map +0 -1
  714. package/dist/ssr/index.js +0 -158
  715. package/dist/ssr/index.js.map +0 -1
  716. package/dist/static-handler.d.ts +0 -50
  717. package/dist/static-handler.d.ts.map +0 -1
  718. package/dist/static-handler.gen.d.ts +0 -5
  719. package/dist/static-handler.gen.d.ts.map +0 -1
  720. package/dist/static-handler.gen.js +0 -5
  721. package/dist/static-handler.gen.js.map +0 -1
  722. package/dist/static-handler.js +0 -29
  723. package/dist/static-handler.js.map +0 -1
  724. package/dist/theme/ThemeProvider.d.ts +0 -20
  725. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  726. package/dist/theme/ThemeProvider.js +0 -240
  727. package/dist/theme/ThemeProvider.js.map +0 -1
  728. package/dist/theme/ThemeScript.d.ts +0 -48
  729. package/dist/theme/ThemeScript.d.ts.map +0 -1
  730. package/dist/theme/ThemeScript.js +0 -13
  731. package/dist/theme/ThemeScript.js.map +0 -1
  732. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  733. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  734. package/dist/theme/__tests__/theme.test.js +0 -103
  735. package/dist/theme/__tests__/theme.test.js.map +0 -1
  736. package/dist/theme/constants.d.ts +0 -29
  737. package/dist/theme/constants.d.ts.map +0 -1
  738. package/dist/theme/constants.js +0 -48
  739. package/dist/theme/constants.js.map +0 -1
  740. package/dist/theme/index.d.ts +0 -31
  741. package/dist/theme/index.d.ts.map +0 -1
  742. package/dist/theme/index.js +0 -36
  743. package/dist/theme/index.js.map +0 -1
  744. package/dist/theme/theme-context.d.ts +0 -40
  745. package/dist/theme/theme-context.d.ts.map +0 -1
  746. package/dist/theme/theme-context.js +0 -60
  747. package/dist/theme/theme-context.js.map +0 -1
  748. package/dist/theme/theme-script.d.ts +0 -27
  749. package/dist/theme/theme-script.d.ts.map +0 -1
  750. package/dist/theme/theme-script.js +0 -147
  751. package/dist/theme/theme-script.js.map +0 -1
  752. package/dist/theme/types.d.ts +0 -163
  753. package/dist/theme/types.d.ts.map +0 -1
  754. package/dist/theme/types.js +0 -11
  755. package/dist/theme/types.js.map +0 -1
  756. package/dist/theme/use-theme.d.ts +0 -12
  757. package/dist/theme/use-theme.d.ts.map +0 -1
  758. package/dist/theme/use-theme.js +0 -40
  759. package/dist/theme/use-theme.js.map +0 -1
  760. package/dist/types.d.ts +0 -1479
  761. package/dist/types.d.ts.map +0 -1
  762. package/dist/types.js +0 -10
  763. package/dist/types.js.map +0 -1
  764. package/dist/urls.d.ts +0 -441
  765. package/dist/urls.d.ts.map +0 -1
  766. package/dist/urls.gen.d.ts +0 -8
  767. package/dist/urls.gen.d.ts.map +0 -1
  768. package/dist/urls.gen.js +0 -8
  769. package/dist/urls.gen.js.map +0 -1
  770. package/dist/urls.js +0 -443
  771. package/dist/urls.js.map +0 -1
  772. package/dist/use-loader.d.ts +0 -127
  773. package/dist/use-loader.d.ts.map +0 -1
  774. package/dist/use-loader.js +0 -237
  775. package/dist/use-loader.js.map +0 -1
  776. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  777. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  778. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  779. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  780. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  781. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  782. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  783. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  784. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  785. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  786. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  787. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  788. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  789. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  790. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  791. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  792. package/dist/vite/ast-handler-extract.d.ts +0 -49
  793. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  794. package/dist/vite/ast-handler-extract.js +0 -249
  795. package/dist/vite/ast-handler-extract.js.map +0 -1
  796. package/dist/vite/expose-action-id.d.ts +0 -19
  797. package/dist/vite/expose-action-id.d.ts.map +0 -1
  798. package/dist/vite/expose-action-id.js +0 -250
  799. package/dist/vite/expose-action-id.js.map +0 -1
  800. package/dist/vite/expose-id-utils.d.ts +0 -69
  801. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  802. package/dist/vite/expose-id-utils.js +0 -289
  803. package/dist/vite/expose-id-utils.js.map +0 -1
  804. package/dist/vite/expose-internal-ids.d.ts +0 -22
  805. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  806. package/dist/vite/expose-internal-ids.js +0 -886
  807. package/dist/vite/expose-internal-ids.js.map +0 -1
  808. package/dist/vite/index.d.ts +0 -149
  809. package/dist/vite/index.d.ts.map +0 -1
  810. package/dist/vite/index.js.bak +0 -5448
  811. package/dist/vite/index.js.map +0 -1
  812. package/dist/vite/index.named-routes.gen.ts +0 -103
  813. package/dist/vite/package-resolution.d.ts +0 -43
  814. package/dist/vite/package-resolution.d.ts.map +0 -1
  815. package/dist/vite/package-resolution.js +0 -112
  816. package/dist/vite/package-resolution.js.map +0 -1
  817. package/dist/vite/virtual-entries.d.ts +0 -25
  818. package/dist/vite/virtual-entries.d.ts.map +0 -1
  819. package/dist/vite/virtual-entries.js +0 -110
  820. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,75 +0,0 @@
1
- import type { NavigationStore, NavigationClient, UpdateSubscriber, ResolvedSegment } from "./types.js";
2
- import type { ReactNode } from "react";
3
- import type { RenderSegmentsOptions } from "../segment-system.js";
4
- import type { BoundTransaction } from "./navigation-bridge.js";
5
- /**
6
- * Configuration for creating a partial updater
7
- */
8
- export interface PartialUpdateConfig {
9
- store: NavigationStore;
10
- client: NavigationClient;
11
- onUpdate: UpdateSubscriber;
12
- renderSegments: (segments: ResolvedSegment[], options?: RenderSegmentsOptions) => Promise<ReactNode> | ReactNode;
13
- /** RSC version received from server (from initial payload metadata) */
14
- version?: string;
15
- }
16
- /**
17
- * Options that can override the pre-configured commit settings
18
- */
19
- export interface CommitOverrides {
20
- /** Override scroll behavior (e.g., disable for intercepts) */
21
- scroll?: boolean;
22
- /** Override replace behavior (e.g., force replace for intercepts) */
23
- replace?: boolean;
24
- /** Mark this as an intercept route */
25
- intercept?: boolean;
26
- /** Source URL where intercept was triggered from */
27
- interceptSourceUrl?: string;
28
- }
29
- /**
30
- * Commit context passed to partial updater for URL updates
31
- * Transaction encapsulates all store mutations for atomic commit
32
- */
33
- /**
34
- * Type for the fetchPartialUpdate function
35
- */
36
- export type PartialUpdater = (targetUrl: string, segmentIds: string[] | undefined, isRetry: boolean, signal: AbortSignal | undefined, type: BoundTransaction, options?: {
37
- isAction?: boolean;
38
- staleRevalidation?: boolean;
39
- interceptSourceUrl?: string;
40
- /** Cached segments for the target URL. When provided, these are used to build
41
- * the segment map instead of the current page's segments. This ensures consistency
42
- * when we send cached segment IDs to the server - if the server returns empty diff,
43
- * we use the same segments we told the server we have. */
44
- targetCacheSegments?: ResolvedSegment[];
45
- /** Cached handle data for the target URL. When server returns empty diff and we're
46
- * rendering from cache, this is passed to the UI to restore breadcrumbs etc. */
47
- targetCacheHandleData?: Record<string, Record<string, unknown[]>>;
48
- /** When true, we're leaving an intercept state - don't use current segment IDs
49
- * as fallback and force a fresh render from server */
50
- leavingIntercept?: boolean;
51
- }) => Promise<Promise<void>>;
52
- /**
53
- * Create a partial updater for fetching and applying RSC partial updates
54
- *
55
- * This function is shared between navigation-bridge and server-action-bridge
56
- * to handle partial RSC updates with HMR resilience.
57
- *
58
- * @param config - Partial update configuration
59
- * @returns fetchPartialUpdate function
60
- *
61
- * @example
62
- * ```typescript
63
- * const fetchPartialUpdate = createPartialUpdater({
64
- * store,
65
- * client,
66
- * onUpdate: (update) => store.emit(update),
67
- * renderSegments,
68
- * });
69
- *
70
- * await fetchPartialUpdate('/new-page');
71
- * ```
72
- */
73
- export declare function createPartialUpdater(config: PartialUpdateConfig): PartialUpdater;
74
- export { createPartialUpdater as default };
75
- //# sourceMappingURL=partial-update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"partial-update.d.ts","sourceRoot":"","sources":["../../src/browser/partial-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAOlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,CACd,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE,qBAAqB,KAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpC,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;8DAG0D;IAC1D,mBAAmB,CAAC,EAAE,eAAe,EAAE,CAAC;IACxC;oFACgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE;0DACsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,KACE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,GAC1B,cAAc,CAigBhB;AAED,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,CAAC"}
@@ -1,426 +0,0 @@
1
- import { startTransition } from "react";
2
- import { mergeSegmentLoaders, needsLoaderMerge, insertMissingDiffSegments, } from "./merge-segment-loaders.js";
3
- import { assertSegmentStructure } from "./segment-structure-assert.js";
4
- /**
5
- * Create a partial updater for fetching and applying RSC partial updates
6
- *
7
- * This function is shared between navigation-bridge and server-action-bridge
8
- * to handle partial RSC updates with HMR resilience.
9
- *
10
- * @param config - Partial update configuration
11
- * @returns fetchPartialUpdate function
12
- *
13
- * @example
14
- * ```typescript
15
- * const fetchPartialUpdate = createPartialUpdater({
16
- * store,
17
- * client,
18
- * onUpdate: (update) => store.emit(update),
19
- * renderSegments,
20
- * });
21
- *
22
- * await fetchPartialUpdate('/new-page');
23
- * ```
24
- */
25
- export function createPartialUpdater(config) {
26
- const { store, client, onUpdate, renderSegments, version } = config;
27
- /**
28
- * Build a lookup map from current page's cached segments
29
- */
30
- function getCurrentSegmentMap() {
31
- const currentKey = store.getHistoryKey();
32
- const cached = store.getCachedSegments(currentKey);
33
- const cachedSegments = cached?.segments || [];
34
- const map = new Map();
35
- cachedSegments.forEach((s) => map.set(s.id, s));
36
- return map;
37
- }
38
- /**
39
- * Fetch partial update and trigger UI update
40
- * Returns a promise that resolves when the RSC stream is fully consumed
41
- *
42
- * @param tx - Transaction for committing segment state (required)
43
- * @param signal - AbortSignal to check if navigation is stale (not for aborting fetch)
44
- */
45
- async function fetchPartialUpdate(targetUrl, segmentIds, isRetry, signal, tx, options) {
46
- const { isAction = false, staleRevalidation = false, interceptSourceUrl, targetCacheSegments, targetCacheHandleData, leavingIntercept = false, } = options || {};
47
- const segmentState = store.getSegmentState();
48
- const url = targetUrl || window.location.href;
49
- // Capture history key at start for stale revalidation consistency check
50
- const historyKeyAtStart = store.getHistoryKey();
51
- // When leaving intercept, don't send current segment IDs - we need fresh non-intercept segments
52
- // Filter out intercept-related segments (parallel slots like @modal) from current segments
53
- let segments;
54
- if (leavingIntercept) {
55
- // When leaving intercept, only send segments that aren't intercept-specific
56
- // The server will return the non-intercept version of the route
57
- const currentSegments = segmentIds ?? segmentState.currentSegmentIds;
58
- // Filter out intercept-specific parallel slots (containing ".@") so the
59
- // server resolves the base route instead of the modal overlay.
60
- segments = currentSegments.filter((id) => !id.includes(".@"));
61
- console.log(`[Browser] Leaving intercept - filtered segments: ${segments.join(", ")}`);
62
- }
63
- else {
64
- segments = segmentIds ?? segmentState.currentSegmentIds;
65
- }
66
- // For intercept revalidation, use the intercept source URL as previousUrl
67
- // This tells the server the route should be treated as an intercept
68
- const previousUrl = interceptSourceUrl || tx.currentUrl || segmentState.currentUrl;
69
- console.log(`\n[Browser] >>> NAVIGATION`);
70
- console.log(`[Browser] From: ${previousUrl}`);
71
- console.log(`[Browser] To: ${url}`);
72
- console.log(`[Browser] Segments to send: ${segments.join(", ")}`);
73
- if (interceptSourceUrl) {
74
- console.log(`[Browser] Intercept context from: ${interceptSourceUrl}`);
75
- }
76
- // Build segment map for merging with server diff.
77
- // When targetCacheSegments is provided (navigating to a cached route), use those
78
- // to ensure consistency - we use the same segments we told the server we have.
79
- // Otherwise fall back to current page's segments (for same-route revalidation).
80
- let currentSegmentMap;
81
- if (targetCacheSegments && targetCacheSegments.length > 0) {
82
- currentSegmentMap = new Map();
83
- targetCacheSegments.forEach((s) => currentSegmentMap.set(s.id, s));
84
- }
85
- else {
86
- currentSegmentMap = getCurrentSegmentMap();
87
- }
88
- // Mark navigation as streaming (response received, now parsing RSC)
89
- // The token is ended when the stream completes
90
- const streamingToken = tx.startStreaming();
91
- // Fetch partial payload (no abort signal - RSC doesn't support it well)
92
- // Wrapped in try/catch to ensure streamingToken.end() is called if fetch throws,
93
- // preventing isStreaming from being permanently stuck as true.
94
- let fetchResult;
95
- try {
96
- fetchResult = await client.fetchPartial({
97
- targetUrl: url,
98
- segmentIds: segments,
99
- previousUrl,
100
- staleRevalidation,
101
- version,
102
- });
103
- }
104
- catch (err) {
105
- streamingToken.end();
106
- throw err;
107
- }
108
- const { payload, streamComplete: rawStreamComplete } = fetchResult;
109
- console.log("payload.metadata", payload.metadata);
110
- const streamComplete = rawStreamComplete.then(() => {
111
- streamingToken.end();
112
- });
113
- if (payload.metadata?.isPartial) {
114
- const { segments: newSegments, matched, diff } = payload.metadata;
115
- // Check if this navigation is stale (a newer one started)
116
- if (signal?.aborted) {
117
- console.log(`[Browser] Ignoring stale navigation (aborted)`);
118
- return streamComplete;
119
- }
120
- console.log(`[Browser] Partial update - matched: ${matched?.join(", ")}`);
121
- console.log(`[Browser] Diff: ${diff?.join(", ")}`);
122
- // Create lookup for new segments from server
123
- const newSegmentMap = new Map();
124
- (newSegments || []).forEach((s) => newSegmentMap.set(s.id, s));
125
- // If diff is empty, nothing changed on server side.
126
- // However, if we're navigating with targetCacheSegments (to a different route),
127
- // we still need to render those segments since the UI is showing the old route.
128
- if (!diff || diff.length === 0) {
129
- const matchedIds = matched || [];
130
- const existingSegments = matchedIds
131
- .map((id) => currentSegmentMap.get(id))
132
- .filter(Boolean);
133
- // When navigating with cached segments to a different route, render them.
134
- // targetCacheSegments being provided means we're navigating to a cached route.
135
- if (targetCacheSegments && targetCacheSegments.length > 0) {
136
- console.log(`[Browser] No diff but navigating with cached segments - rendering target route`);
137
- const newTree = await renderSegments(existingSegments, {
138
- forceAwait: true,
139
- });
140
- tx.commit(matchedIds, existingSegments);
141
- // Include cachedHandleData in metadata so NavigationProvider can restore
142
- // breadcrumbs and other handle data from cache.
143
- // IMPORTANT: Remove `handles` from metadata to prevent NavigationProvider from
144
- // processing an empty handles stream, which would clear the cached breadcrumbs.
145
- // When rendering from cache with empty diff, we want to use cachedHandleData instead.
146
- const { handles: _unusedHandles, ...metadataWithoutHandles } = payload.metadata;
147
- onUpdate({
148
- root: newTree,
149
- metadata: {
150
- ...metadataWithoutHandles,
151
- cachedHandleData: targetCacheHandleData,
152
- },
153
- });
154
- console.log(`[Browser] Navigation complete (rendered from cache)\n`);
155
- return streamComplete;
156
- }
157
- // When leaving intercept, force re-render even with empty diff
158
- // The matched segments are the non-intercept segments, which we need to render
159
- // to remove the modal from the UI
160
- if (leavingIntercept) {
161
- console.log(`[Browser] Leaving intercept - forcing re-render to remove modal`);
162
- const newTree = await renderSegments(existingSegments, {
163
- forceAwait: true,
164
- });
165
- tx.commit(matchedIds, existingSegments);
166
- onUpdate({
167
- root: newTree,
168
- metadata: payload.metadata,
169
- });
170
- console.log(`[Browser] Navigation complete (left intercept)\n`);
171
- return streamComplete;
172
- }
173
- // Same route revalidation with no changes - skip UI update
174
- console.log(`[Browser] No changes - all revalidations returned false, keeping existing UI`);
175
- tx.commit(matchedIds, existingSegments);
176
- console.log(`[Browser] Navigation complete (no re-render)\n`);
177
- return streamComplete;
178
- }
179
- // Build full segment list by merging:
180
- // - New/changed segments from server response (diff)
181
- // - Unchanged segments from current page's cache
182
- const matchedIds = matched || [];
183
- console.log(`[Browser] matchedIds: ${matchedIds.join(", ")}`);
184
- console.log(`[Browser] currentSegmentMap keys: ${[...currentSegmentMap.keys()].join(", ")}`);
185
- console.log(`[Browser] newSegmentMap keys: ${[...newSegmentMap.keys()].join(", ")}`, newSegmentMap);
186
- // First pass: build segments from matched IDs
187
- const matchedIdSet = new Set(matchedIds);
188
- const allSegments = matchedIds
189
- .map((id) => {
190
- // First check server response (new/updated segments)
191
- const fromServer = newSegmentMap.get(id);
192
- if (fromServer) {
193
- // For partial revalidation (stale or action), merge server's new loader data
194
- // with cached loader data when server returns fewer loaders than cached
195
- const fromCache = currentSegmentMap.get(id);
196
- // Dev-mode assertion: warn if tree structure would change
197
- if (fromCache) {
198
- assertSegmentStructure(fromCache, fromServer, "partial-update");
199
- }
200
- if ((staleRevalidation || isAction) &&
201
- needsLoaderMerge(fromServer, fromCache)) {
202
- return mergeSegmentLoaders(fromServer, fromCache);
203
- }
204
- // Preserve cached structural properties to maintain consistent React tree.
205
- // The server may return different values for loading (isSSR context) and
206
- // mountPath (include scope), which change the element nesting depth
207
- // (with/without RouteContentWrapper, MountContextProvider).
208
- if (fromCache) {
209
- let merged = fromServer;
210
- // When server returns component: null for a layout segment, it means
211
- // "this segment doesn't need re-rendering" - preserve the cached component
212
- // to maintain the outlet chain and prevent React tree changes
213
- if (fromServer.component === null &&
214
- fromServer.type === "layout" &&
215
- fromCache.component != null) {
216
- merged = { ...merged, component: fromCache.component };
217
- }
218
- if (fromCache.loading !== undefined &&
219
- fromServer.loading !== fromCache.loading) {
220
- merged = { ...merged, loading: fromCache.loading };
221
- }
222
- if (fromServer.mountPath !== fromCache.mountPath) {
223
- merged = { ...merged, mountPath: fromCache.mountPath };
224
- }
225
- return merged;
226
- }
227
- return fromServer;
228
- }
229
- // Fall back to current page's cached segments
230
- const fromCache = currentSegmentMap.get(id);
231
- if (!fromCache) {
232
- console.warn(`[Browser] Missing segment: ${id}`);
233
- return fromCache;
234
- }
235
- // For cached segments the server decided not to re-render:
236
- // - During actions: preserve loading exactly as-is to maintain tree structure.
237
- // Changing loading between renders alters the React tree
238
- // (with/without RouteContentWrapper), causing remounts that destroy
239
- // useActionState and other client state.
240
- // - During navigation: preserve loading=false (suppressed boundary) but
241
- // clear truthy loading (active skeleton) to prevent suspense on cached content.
242
- if (isAction) {
243
- return fromCache;
244
- }
245
- if (fromCache.loading !== undefined && fromCache.loading !== false) {
246
- return { ...fromCache, loading: undefined };
247
- }
248
- return fromCache;
249
- })
250
- .filter(Boolean);
251
- // Insert diff segments not in matchedIds (e.g., loader segments from consolidation fetch)
252
- insertMissingDiffSegments(allSegments, diff, matchedIdSet, newSegmentMap);
253
- // HMR RESILIENCE: Check if we're missing any matched segments
254
- // Note: allSegments may include additional diff segments, so we check matchedIds specifically
255
- const allSegmentIdSet = new Set(allSegments.map((s) => s.id));
256
- const missingIds = matchedIds.filter((id) => !allSegmentIdSet.has(id));
257
- if (missingIds.length > 0) {
258
- const missingCount = missingIds.length;
259
- if (isRetry) {
260
- console.warn("Missing ids", { missingIds });
261
- throw new Error(`[Browser] Failed to fetch segments after retry. Missing: [${missingIds.join(", ")}]`);
262
- }
263
- if (signal?.aborted) {
264
- console.log(`[Browser] Ignoring stale navigation (aborted during HMR retry)`);
265
- return streamComplete;
266
- }
267
- if (isAction) {
268
- return streamComplete;
269
- }
270
- console.warn(`[Browser] HMR detected: Missing ${missingCount} segments. Refetching all...`);
271
- // Refetch with empty segments = server sends everything
272
- return fetchPartialUpdate(url, [], true, signal, tx, { isAction });
273
- }
274
- // INTERCEPT HANDLING: Separate intercept segments for explicit injection
275
- // Intercept segments have namespace starting with "intercept:" or ID containing .@
276
- // This makes the flow clearer and easier to debug
277
- const isInterceptSegment = (s) => s.namespace?.startsWith("intercept:") ||
278
- (s.type === "parallel" && s.id.includes(".@"));
279
- const interceptSegments = allSegments.filter(isInterceptSegment);
280
- const mainSegments = allSegments.filter((s) => !isInterceptSegment(s));
281
- if (signal?.aborted) {
282
- console.log(`[Browser] Ignoring stale navigation (aborted before render)`);
283
- return streamComplete;
284
- }
285
- // Rebuild tree on client (await for loader data resolution)
286
- // Race against abort signal to allow cancellation during loader awaiting
287
- // Pass intercept segments separately for explicit handling
288
- // For stale revalidation, use forceAwait to ensure no loading fallbacks
289
- const renderOptions = {
290
- isAction,
291
- forceAwait: staleRevalidation,
292
- interceptSegments: interceptSegments.length > 0 ? interceptSegments : undefined,
293
- };
294
- const newTree = await (signal
295
- ? Promise.race([
296
- renderSegments(mainSegments, renderOptions),
297
- new Promise((_, reject) => {
298
- if (signal.aborted) {
299
- reject(new DOMException("Navigation aborted", "AbortError"));
300
- }
301
- signal.addEventListener("abort", () => {
302
- reject(new DOMException("Navigation aborted", "AbortError"));
303
- });
304
- }),
305
- ])
306
- : renderSegments(mainSegments, renderOptions));
307
- // Final abort check before committing - another navigation may have started
308
- if (signal?.aborted) {
309
- console.log(`[Browser] Ignoring stale navigation (aborted before commit)`);
310
- return streamComplete;
311
- }
312
- // Check if this is an intercept response (any slot is active)
313
- // If so, disable scroll to keep the current scroll position
314
- const hasActiveIntercept = payload.metadata?.slots
315
- ? Object.values(payload.metadata.slots).some((slot) => slot.active)
316
- : false;
317
- // Track intercept context for action revalidation (only on navigation, not actions or stale revalidation)
318
- if (!isAction && !staleRevalidation) {
319
- if (hasActiveIntercept) {
320
- // Save the source URL for action revalidation to maintain intercept context
321
- store.setInterceptSourceUrl(segmentState.currentUrl);
322
- }
323
- else {
324
- // Clear intercept context when navigating to a non-intercept route
325
- store.setInterceptSourceUrl(null);
326
- }
327
- }
328
- // Commit navigation - transaction handles all store mutations atomically
329
- // For intercept responses: disable scroll, mark as intercept, include source URL
330
- // Use allSegmentIds (derived from allSegments) instead of matchedIds because
331
- // we may have added diff segments (like loader segments) not in the matched array
332
- const allSegmentIds = allSegments.map((s) => s.id);
333
- tx.commit(allSegmentIds, allSegments, hasActiveIntercept
334
- ? {
335
- scroll: false,
336
- intercept: true,
337
- interceptSourceUrl: segmentState.currentUrl,
338
- }
339
- : undefined);
340
- // For stale revalidation: verify history key hasn't changed before updating UI
341
- // If user navigated away, skip UI update to avoid corrupting current view
342
- if (staleRevalidation) {
343
- const historyKeyNow = store.getHistoryKey();
344
- if (historyKeyNow !== historyKeyAtStart) {
345
- console.log(`[Browser] Stale revalidation: history key changed (${historyKeyAtStart} -> ${historyKeyNow}), skipping UI update`);
346
- return streamComplete;
347
- }
348
- }
349
- console.log("[partial-update] updating document");
350
- // Emit update to trigger React render
351
- // For stale revalidation: wait for stream to complete (loaders resolved), then update
352
- // For actions: wrap in startTransition to avoid UI flickering
353
- if (isAction || staleRevalidation) {
354
- startTransition(() => {
355
- onUpdate({
356
- root: newTree,
357
- metadata: payload.metadata,
358
- });
359
- });
360
- }
361
- else {
362
- onUpdate({
363
- root: newTree,
364
- metadata: payload.metadata,
365
- });
366
- }
367
- console.log(`[Browser] Navigation complete\n`);
368
- return streamComplete;
369
- }
370
- else {
371
- // Full update (fallback)
372
- // Use client-side renderSegments instead of payload.root to ensure
373
- // consistent component references with action revalidation.
374
- // Server-rendered RSC tree has different component references than
375
- // client-created tree, which causes React to remount LoaderBoundary
376
- // when actions trigger revalidation.
377
- console.warn(`[Browser] Full update (fallback)`);
378
- const segments = payload.metadata?.segments || [];
379
- // Check if this navigation is stale (a newer one started)
380
- if (signal?.aborted) {
381
- console.log(`[Browser] Ignoring stale navigation (aborted)`);
382
- return streamComplete;
383
- }
384
- const segmentIds = segments.map((s) => s.id);
385
- // Render on client for consistent component references
386
- const newTree = await renderSegments(segments);
387
- // Final abort check before committing - another navigation may have started
388
- if (signal?.aborted) {
389
- console.log(`[Browser] Ignoring stale navigation (aborted before commit)`);
390
- return streamComplete;
391
- }
392
- // Commit navigation - transaction handles all store mutations atomically
393
- tx.commit(segmentIds, segments);
394
- // Emit update to trigger React render
395
- // For stale revalidation: wait for stream to complete, then update
396
- // For actions: wrap in startTransition to avoid UI flickering
397
- if (staleRevalidation) {
398
- await rawStreamComplete;
399
- startTransition(() => {
400
- onUpdate({
401
- root: newTree,
402
- metadata: payload.metadata,
403
- });
404
- });
405
- }
406
- else if (isAction) {
407
- startTransition(async () => {
408
- onUpdate({
409
- root: newTree,
410
- metadata: payload.metadata,
411
- });
412
- });
413
- }
414
- else {
415
- onUpdate({
416
- root: newTree,
417
- metadata: payload.metadata,
418
- });
419
- }
420
- return streamComplete;
421
- }
422
- }
423
- return fetchPartialUpdate;
424
- }
425
- export { createPartialUpdater as default };
426
- //# sourceMappingURL=partial-update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"partial-update.js","sourceRoot":"","sources":["../../src/browser/partial-update.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import React, { type ForwardRefExoticComponent, type RefAttributes } from "react";
2
- import { type LocationStateEntry } from "./location-state.js";
3
- /**
4
- * State value or getter function for just-in-time state resolution (legacy)
5
- */
6
- export type StateOrGetter<T = unknown> = T | (() => T);
7
- /**
8
- * State prop type for Link component
9
- * - LocationStateEntry[]: Type-safe state entries (always lazy)
10
- * - StateOrGetter: Legacy format for backwards compatibility
11
- */
12
- export type LinkState = LocationStateEntry[] | StateOrGetter;
13
- /**
14
- * Prefetch strategy for the Link component
15
- * - "hover": Prefetch on mouse enter (uses native <link rel="prefetch">)
16
- * - "viewport": Prefetch when link enters viewport (not yet implemented)
17
- * - "hybrid": Hover on desktop, viewport on mobile (not yet implemented)
18
- * - "none": No prefetching (default)
19
- */
20
- export type PrefetchStrategy = "hover" | "viewport" | "hybrid" | "none";
21
- /**
22
- * Link component props
23
- */
24
- export interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> {
25
- /**
26
- * The URL to navigate to (typically from router.reverse())
27
- */
28
- to: string;
29
- /**
30
- * Replace current history entry instead of pushing
31
- */
32
- replace?: boolean;
33
- /**
34
- * Scroll to top after navigation (default: true)
35
- */
36
- scroll?: boolean;
37
- /**
38
- * Force full document navigation instead of SPA
39
- */
40
- reloadDocument?: boolean;
41
- /**
42
- * Prefetch strategy for the link destination
43
- * @default "none"
44
- */
45
- prefetch?: PrefetchStrategy;
46
- /**
47
- * State to pass to history.pushState/replaceState.
48
- * Accessible via useLocationState() hook.
49
- *
50
- * @example
51
- * ```tsx
52
- * // Type-safe state with createLocationState (recommended)
53
- * const ProductState = createLocationState((p: Product) => ({ name: p.name }));
54
- * <Link to="/product" state={[ProductState(product)]}>View</Link>
55
- *
56
- * // Multiple typed states
57
- * <Link to="/checkout" state={[ProductState(p), CartState(c)]}>Checkout</Link>
58
- *
59
- * // Legacy: static state
60
- * <Link to="/product" state={{ from: "list" }}>View</Link>
61
- *
62
- * // Legacy: dynamic state (called at click time)
63
- * <Link to="/product" state={() => ({ scrollY: window.scrollY })}>View</Link>
64
- * ```
65
- */
66
- state?: LinkState;
67
- children: React.ReactNode;
68
- }
69
- /**
70
- * Type-safe Link component for SPA navigation
71
- *
72
- * Works with router.reverse() for type-safe URLs:
73
- * ```tsx
74
- * <Link to={router.reverse("shop.products.detail", { slug: "my-product" })}>
75
- * View Product
76
- * </Link>
77
- * ```
78
- *
79
- * Also supports regular URLs:
80
- * ```tsx
81
- * <Link to="/about">About</Link>
82
- * <Link to="https://example.com">External</Link>
83
- * ```
84
- */
85
- export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
86
- //# sourceMappingURL=Link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/browser/react/Link.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAA+C,KAAK,yBAAyB,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAI/H,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC;AA4B7D;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACnE;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA0BD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,EAAE,yBAAyB,CAAC,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAkGvF,CAAC"}