@rangojs/router 0.0.0-experimental.42 → 0.0.0-experimental.43

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 (831) hide show
  1. package/dist/bin/rango.js +3 -2
  2. package/dist/vite/index.js +131 -196
  3. package/package.json +1 -1
  4. package/skills/caching/SKILL.md +37 -4
  5. package/src/browser/navigation-bridge.ts +1 -11
  6. package/src/browser/navigation-client.ts +70 -24
  7. package/src/browser/navigation-transaction.ts +11 -9
  8. package/src/browser/partial-update.ts +39 -9
  9. package/src/browser/prefetch/cache.ts +54 -2
  10. package/src/browser/prefetch/fetch.ts +22 -12
  11. package/src/browser/prefetch/queue.ts +53 -13
  12. package/src/browser/react/Link.tsx +9 -1
  13. package/src/browser/react/NavigationProvider.tsx +27 -0
  14. package/src/browser/scroll-restoration.ts +20 -11
  15. package/src/browser/types.ts +9 -0
  16. package/src/build/route-types/router-processing.ts +12 -2
  17. package/src/cache/cache-scope.ts +2 -2
  18. package/src/cache/cf/cf-cache-store.ts +453 -11
  19. package/src/cache/cf/index.ts +5 -1
  20. package/src/cache/index.ts +1 -0
  21. package/src/route-definition/redirect.ts +2 -2
  22. package/src/router/middleware.ts +2 -1
  23. package/src/server/request-context.ts +10 -4
  24. package/src/vite/discovery/state.ts +0 -2
  25. package/src/vite/plugin-types.ts +0 -83
  26. package/src/vite/plugins/expose-action-id.ts +1 -3
  27. package/src/vite/rango.ts +144 -209
  28. package/src/vite/router-discovery.ts +0 -8
  29. package/dist/__internal.d.ts +0 -83
  30. package/dist/__internal.d.ts.map +0 -1
  31. package/dist/__internal.js +0 -19
  32. package/dist/__internal.js.map +0 -1
  33. package/dist/__mocks__/version.d.ts +0 -7
  34. package/dist/__mocks__/version.d.ts.map +0 -1
  35. package/dist/__mocks__/version.js +0 -7
  36. package/dist/__mocks__/version.js.map +0 -1
  37. package/dist/__tests__/client-href.test.d.ts +0 -2
  38. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  39. package/dist/__tests__/client-href.test.js +0 -74
  40. package/dist/__tests__/client-href.test.js.map +0 -1
  41. package/dist/__tests__/component-utils.test.d.ts +0 -2
  42. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  43. package/dist/__tests__/component-utils.test.js +0 -51
  44. package/dist/__tests__/component-utils.test.js.map +0 -1
  45. package/dist/__tests__/event-controller.test.d.ts +0 -2
  46. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  47. package/dist/__tests__/event-controller.test.js +0 -538
  48. package/dist/__tests__/event-controller.test.js.map +0 -1
  49. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  50. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  51. package/dist/__tests__/helpers/route-tree.js +0 -374
  52. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  53. package/dist/__tests__/match-result.test.d.ts +0 -2
  54. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  55. package/dist/__tests__/match-result.test.js +0 -154
  56. package/dist/__tests__/match-result.test.js.map +0 -1
  57. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  58. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  59. package/dist/__tests__/navigation-store.test.js +0 -440
  60. package/dist/__tests__/navigation-store.test.js.map +0 -1
  61. package/dist/__tests__/partial-update.test.d.ts +0 -2
  62. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  63. package/dist/__tests__/partial-update.test.js +0 -1009
  64. package/dist/__tests__/partial-update.test.js.map +0 -1
  65. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  66. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  67. package/dist/__tests__/reverse-types.test.js +0 -656
  68. package/dist/__tests__/reverse-types.test.js.map +0 -1
  69. package/dist/__tests__/route-definition.test.d.ts +0 -2
  70. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  71. package/dist/__tests__/route-definition.test.js +0 -55
  72. package/dist/__tests__/route-definition.test.js.map +0 -1
  73. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  74. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  75. package/dist/__tests__/router-helpers.test.js +0 -377
  76. package/dist/__tests__/router-helpers.test.js.map +0 -1
  77. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  78. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  79. package/dist/__tests__/router-integration-2.test.js +0 -426
  80. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  81. package/dist/__tests__/router-integration.test.d.ts +0 -2
  82. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  83. package/dist/__tests__/router-integration.test.js +0 -1051
  84. package/dist/__tests__/router-integration.test.js.map +0 -1
  85. package/dist/__tests__/search-params.test.d.ts +0 -5
  86. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  87. package/dist/__tests__/search-params.test.js +0 -306
  88. package/dist/__tests__/search-params.test.js.map +0 -1
  89. package/dist/__tests__/segment-system.test.d.ts +0 -2
  90. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  91. package/dist/__tests__/segment-system.test.js +0 -627
  92. package/dist/__tests__/segment-system.test.js.map +0 -1
  93. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  94. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  95. package/dist/__tests__/static-handler-types.test.js +0 -63
  96. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  97. package/dist/__tests__/urls.test.d.ts +0 -2
  98. package/dist/__tests__/urls.test.d.ts.map +0 -1
  99. package/dist/__tests__/urls.test.js +0 -421
  100. package/dist/__tests__/urls.test.js.map +0 -1
  101. package/dist/__tests__/use-mount.test.d.ts +0 -2
  102. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  103. package/dist/__tests__/use-mount.test.js +0 -35
  104. package/dist/__tests__/use-mount.test.js.map +0 -1
  105. package/dist/bin/rango.d.ts +0 -2
  106. package/dist/bin/rango.d.ts.map +0 -1
  107. package/dist/bin/rango.js.map +0 -1
  108. package/dist/browser/event-controller.d.ts +0 -191
  109. package/dist/browser/event-controller.d.ts.map +0 -1
  110. package/dist/browser/event-controller.js +0 -559
  111. package/dist/browser/event-controller.js.map +0 -1
  112. package/dist/browser/index.d.ts +0 -2
  113. package/dist/browser/index.d.ts.map +0 -1
  114. package/dist/browser/index.js +0 -14
  115. package/dist/browser/index.js.map +0 -1
  116. package/dist/browser/link-interceptor.d.ts +0 -38
  117. package/dist/browser/link-interceptor.d.ts.map +0 -1
  118. package/dist/browser/link-interceptor.js +0 -99
  119. package/dist/browser/link-interceptor.js.map +0 -1
  120. package/dist/browser/logging.d.ts +0 -10
  121. package/dist/browser/logging.d.ts.map +0 -1
  122. package/dist/browser/logging.js +0 -29
  123. package/dist/browser/logging.js.map +0 -1
  124. package/dist/browser/lru-cache.d.ts +0 -17
  125. package/dist/browser/lru-cache.d.ts.map +0 -1
  126. package/dist/browser/lru-cache.js +0 -50
  127. package/dist/browser/lru-cache.js.map +0 -1
  128. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  129. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  130. package/dist/browser/merge-segment-loaders.js +0 -102
  131. package/dist/browser/merge-segment-loaders.js.map +0 -1
  132. package/dist/browser/navigation-bridge.d.ts +0 -102
  133. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  134. package/dist/browser/navigation-bridge.js +0 -708
  135. package/dist/browser/navigation-bridge.js.map +0 -1
  136. package/dist/browser/navigation-client.d.ts +0 -25
  137. package/dist/browser/navigation-client.d.ts.map +0 -1
  138. package/dist/browser/navigation-client.js +0 -157
  139. package/dist/browser/navigation-client.js.map +0 -1
  140. package/dist/browser/navigation-store.d.ts +0 -101
  141. package/dist/browser/navigation-store.d.ts.map +0 -1
  142. package/dist/browser/navigation-store.js +0 -625
  143. package/dist/browser/navigation-store.js.map +0 -1
  144. package/dist/browser/partial-update.d.ts +0 -75
  145. package/dist/browser/partial-update.d.ts.map +0 -1
  146. package/dist/browser/partial-update.js +0 -426
  147. package/dist/browser/partial-update.js.map +0 -1
  148. package/dist/browser/react/Link.d.ts +0 -86
  149. package/dist/browser/react/Link.d.ts.map +0 -1
  150. package/dist/browser/react/Link.js +0 -128
  151. package/dist/browser/react/Link.js.map +0 -1
  152. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  153. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  154. package/dist/browser/react/NavigationProvider.js +0 -216
  155. package/dist/browser/react/NavigationProvider.js.map +0 -1
  156. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  157. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  158. package/dist/browser/react/ScrollRestoration.js +0 -57
  159. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  160. package/dist/browser/react/context.d.ts +0 -46
  161. package/dist/browser/react/context.d.ts.map +0 -1
  162. package/dist/browser/react/context.js +0 -10
  163. package/dist/browser/react/context.js.map +0 -1
  164. package/dist/browser/react/index.d.ts +0 -11
  165. package/dist/browser/react/index.d.ts.map +0 -1
  166. package/dist/browser/react/index.js +0 -22
  167. package/dist/browser/react/index.js.map +0 -1
  168. package/dist/browser/react/location-state-shared.d.ts +0 -63
  169. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  170. package/dist/browser/react/location-state-shared.js +0 -81
  171. package/dist/browser/react/location-state-shared.js.map +0 -1
  172. package/dist/browser/react/location-state.d.ts +0 -23
  173. package/dist/browser/react/location-state.d.ts.map +0 -1
  174. package/dist/browser/react/location-state.js +0 -29
  175. package/dist/browser/react/location-state.js.map +0 -1
  176. package/dist/browser/react/mount-context.d.ts +0 -24
  177. package/dist/browser/react/mount-context.d.ts.map +0 -1
  178. package/dist/browser/react/mount-context.js +0 -24
  179. package/dist/browser/react/mount-context.js.map +0 -1
  180. package/dist/browser/react/use-action.d.ts +0 -64
  181. package/dist/browser/react/use-action.d.ts.map +0 -1
  182. package/dist/browser/react/use-action.js +0 -134
  183. package/dist/browser/react/use-action.js.map +0 -1
  184. package/dist/browser/react/use-client-cache.d.ts +0 -41
  185. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  186. package/dist/browser/react/use-client-cache.js +0 -39
  187. package/dist/browser/react/use-client-cache.js.map +0 -1
  188. package/dist/browser/react/use-handle.d.ts +0 -31
  189. package/dist/browser/react/use-handle.d.ts.map +0 -1
  190. package/dist/browser/react/use-handle.js +0 -144
  191. package/dist/browser/react/use-handle.js.map +0 -1
  192. package/dist/browser/react/use-href.d.ts +0 -33
  193. package/dist/browser/react/use-href.d.ts.map +0 -1
  194. package/dist/browser/react/use-href.js +0 -39
  195. package/dist/browser/react/use-href.js.map +0 -1
  196. package/dist/browser/react/use-link-status.d.ts +0 -37
  197. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  198. package/dist/browser/react/use-link-status.js +0 -99
  199. package/dist/browser/react/use-link-status.js.map +0 -1
  200. package/dist/browser/react/use-mount.d.ts +0 -25
  201. package/dist/browser/react/use-mount.d.ts.map +0 -1
  202. package/dist/browser/react/use-mount.js +0 -30
  203. package/dist/browser/react/use-mount.js.map +0 -1
  204. package/dist/browser/react/use-navigation.d.ts +0 -27
  205. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  206. package/dist/browser/react/use-navigation.js +0 -87
  207. package/dist/browser/react/use-navigation.js.map +0 -1
  208. package/dist/browser/react/use-segments.d.ts +0 -38
  209. package/dist/browser/react/use-segments.d.ts.map +0 -1
  210. package/dist/browser/react/use-segments.js +0 -130
  211. package/dist/browser/react/use-segments.js.map +0 -1
  212. package/dist/browser/request-controller.d.ts +0 -26
  213. package/dist/browser/request-controller.d.ts.map +0 -1
  214. package/dist/browser/request-controller.js +0 -147
  215. package/dist/browser/request-controller.js.map +0 -1
  216. package/dist/browser/rsc-router.d.ts +0 -129
  217. package/dist/browser/rsc-router.d.ts.map +0 -1
  218. package/dist/browser/rsc-router.js +0 -195
  219. package/dist/browser/rsc-router.js.map +0 -1
  220. package/dist/browser/scroll-restoration.d.ts +0 -93
  221. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  222. package/dist/browser/scroll-restoration.js +0 -321
  223. package/dist/browser/scroll-restoration.js.map +0 -1
  224. package/dist/browser/segment-structure-assert.d.ts +0 -17
  225. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  226. package/dist/browser/segment-structure-assert.js +0 -59
  227. package/dist/browser/segment-structure-assert.js.map +0 -1
  228. package/dist/browser/server-action-bridge.d.ts +0 -26
  229. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  230. package/dist/browser/server-action-bridge.js +0 -668
  231. package/dist/browser/server-action-bridge.js.map +0 -1
  232. package/dist/browser/shallow.d.ts +0 -12
  233. package/dist/browser/shallow.d.ts.map +0 -1
  234. package/dist/browser/shallow.js +0 -34
  235. package/dist/browser/shallow.js.map +0 -1
  236. package/dist/browser/types.d.ts +0 -369
  237. package/dist/browser/types.d.ts.map +0 -1
  238. package/dist/browser/types.js +0 -2
  239. package/dist/browser/types.js.map +0 -1
  240. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  241. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  242. package/dist/build/__tests__/generate-cli.test.js +0 -237
  243. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  244. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  245. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  246. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  247. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  248. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  249. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  250. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  251. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  252. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  253. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  254. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  255. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  256. package/dist/build/generate-manifest.d.ts +0 -81
  257. package/dist/build/generate-manifest.d.ts.map +0 -1
  258. package/dist/build/generate-manifest.js +0 -276
  259. package/dist/build/generate-manifest.js.map +0 -1
  260. package/dist/build/generate-route-types.d.ts +0 -115
  261. package/dist/build/generate-route-types.d.ts.map +0 -1
  262. package/dist/build/generate-route-types.js +0 -740
  263. package/dist/build/generate-route-types.js.map +0 -1
  264. package/dist/build/index.d.ts +0 -21
  265. package/dist/build/index.d.ts.map +0 -1
  266. package/dist/build/index.js +0 -21
  267. package/dist/build/index.js.map +0 -1
  268. package/dist/build/route-trie.d.ts +0 -71
  269. package/dist/build/route-trie.d.ts.map +0 -1
  270. package/dist/build/route-trie.js +0 -175
  271. package/dist/build/route-trie.js.map +0 -1
  272. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  273. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  274. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  275. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  276. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  277. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  278. package/dist/cache/__tests__/document-cache.test.js +0 -345
  279. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  280. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  281. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  282. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  283. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  284. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  285. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  286. package/dist/cache/__tests__/memory-store.test.js +0 -367
  287. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  288. package/dist/cache/cache-scope.d.ts +0 -102
  289. package/dist/cache/cache-scope.d.ts.map +0 -1
  290. package/dist/cache/cache-scope.js +0 -440
  291. package/dist/cache/cache-scope.js.map +0 -1
  292. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  293. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  294. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  295. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  296. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  297. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  298. package/dist/cache/cf/cf-cache-store.js +0 -242
  299. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  300. package/dist/cache/cf/index.d.ts +0 -14
  301. package/dist/cache/cf/index.d.ts.map +0 -1
  302. package/dist/cache/cf/index.js +0 -17
  303. package/dist/cache/cf/index.js.map +0 -1
  304. package/dist/cache/document-cache.d.ts +0 -64
  305. package/dist/cache/document-cache.d.ts.map +0 -1
  306. package/dist/cache/document-cache.js +0 -228
  307. package/dist/cache/document-cache.js.map +0 -1
  308. package/dist/cache/index.d.ts +0 -19
  309. package/dist/cache/index.d.ts.map +0 -1
  310. package/dist/cache/index.js +0 -21
  311. package/dist/cache/index.js.map +0 -1
  312. package/dist/cache/memory-segment-store.d.ts +0 -110
  313. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  314. package/dist/cache/memory-segment-store.js +0 -117
  315. package/dist/cache/memory-segment-store.js.map +0 -1
  316. package/dist/cache/memory-store.d.ts +0 -41
  317. package/dist/cache/memory-store.d.ts.map +0 -1
  318. package/dist/cache/memory-store.js +0 -191
  319. package/dist/cache/memory-store.js.map +0 -1
  320. package/dist/cache/types.d.ts +0 -317
  321. package/dist/cache/types.d.ts.map +0 -1
  322. package/dist/cache/types.js +0 -12
  323. package/dist/cache/types.js.map +0 -1
  324. package/dist/client.d.ts +0 -248
  325. package/dist/client.d.ts.map +0 -1
  326. package/dist/client.js +0 -367
  327. package/dist/client.js.map +0 -1
  328. package/dist/client.rsc.d.ts +0 -26
  329. package/dist/client.rsc.d.ts.map +0 -1
  330. package/dist/client.rsc.js +0 -46
  331. package/dist/client.rsc.js.map +0 -1
  332. package/dist/component-utils.d.ts +0 -36
  333. package/dist/component-utils.d.ts.map +0 -1
  334. package/dist/component-utils.js +0 -61
  335. package/dist/component-utils.js.map +0 -1
  336. package/dist/components/DefaultDocument.d.ts +0 -13
  337. package/dist/components/DefaultDocument.d.ts.map +0 -1
  338. package/dist/components/DefaultDocument.js +0 -15
  339. package/dist/components/DefaultDocument.js.map +0 -1
  340. package/dist/debug.d.ts +0 -58
  341. package/dist/debug.d.ts.map +0 -1
  342. package/dist/debug.js +0 -157
  343. package/dist/debug.js.map +0 -1
  344. package/dist/default-error-boundary.d.ts +0 -11
  345. package/dist/default-error-boundary.d.ts.map +0 -1
  346. package/dist/default-error-boundary.js +0 -45
  347. package/dist/default-error-boundary.js.map +0 -1
  348. package/dist/deps/browser.d.ts +0 -2
  349. package/dist/deps/browser.d.ts.map +0 -1
  350. package/dist/deps/browser.js +0 -3
  351. package/dist/deps/browser.js.map +0 -1
  352. package/dist/deps/html-stream-client.d.ts +0 -2
  353. package/dist/deps/html-stream-client.d.ts.map +0 -1
  354. package/dist/deps/html-stream-client.js +0 -3
  355. package/dist/deps/html-stream-client.js.map +0 -1
  356. package/dist/deps/html-stream-server.d.ts +0 -2
  357. package/dist/deps/html-stream-server.d.ts.map +0 -1
  358. package/dist/deps/html-stream-server.js +0 -3
  359. package/dist/deps/html-stream-server.js.map +0 -1
  360. package/dist/deps/rsc.d.ts +0 -2
  361. package/dist/deps/rsc.d.ts.map +0 -1
  362. package/dist/deps/rsc.js +0 -4
  363. package/dist/deps/rsc.js.map +0 -1
  364. package/dist/deps/ssr.d.ts +0 -2
  365. package/dist/deps/ssr.d.ts.map +0 -1
  366. package/dist/deps/ssr.js +0 -3
  367. package/dist/deps/ssr.js.map +0 -1
  368. package/dist/errors.d.ts +0 -174
  369. package/dist/errors.d.ts.map +0 -1
  370. package/dist/errors.js +0 -241
  371. package/dist/errors.js.map +0 -1
  372. package/dist/handle.d.ts +0 -78
  373. package/dist/handle.d.ts.map +0 -1
  374. package/dist/handle.js +0 -82
  375. package/dist/handle.js.map +0 -1
  376. package/dist/handles/MetaTags.d.ts +0 -14
  377. package/dist/handles/MetaTags.d.ts.map +0 -1
  378. package/dist/handles/MetaTags.js +0 -136
  379. package/dist/handles/MetaTags.js.map +0 -1
  380. package/dist/handles/index.d.ts +0 -6
  381. package/dist/handles/index.d.ts.map +0 -1
  382. package/dist/handles/index.js +0 -6
  383. package/dist/handles/index.js.map +0 -1
  384. package/dist/handles/meta.d.ts +0 -39
  385. package/dist/handles/meta.d.ts.map +0 -1
  386. package/dist/handles/meta.js +0 -202
  387. package/dist/handles/meta.js.map +0 -1
  388. package/dist/host/__tests__/errors.test.d.ts +0 -2
  389. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  390. package/dist/host/__tests__/errors.test.js +0 -76
  391. package/dist/host/__tests__/errors.test.js.map +0 -1
  392. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  393. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  394. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  395. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  396. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  397. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  398. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  399. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  400. package/dist/host/__tests__/router.test.d.ts +0 -2
  401. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  402. package/dist/host/__tests__/router.test.js +0 -241
  403. package/dist/host/__tests__/router.test.js.map +0 -1
  404. package/dist/host/__tests__/testing.test.d.ts +0 -2
  405. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  406. package/dist/host/__tests__/testing.test.js +0 -64
  407. package/dist/host/__tests__/testing.test.js.map +0 -1
  408. package/dist/host/__tests__/utils.test.d.ts +0 -2
  409. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  410. package/dist/host/__tests__/utils.test.js +0 -29
  411. package/dist/host/__tests__/utils.test.js.map +0 -1
  412. package/dist/host/cookie-handler.d.ts +0 -34
  413. package/dist/host/cookie-handler.d.ts.map +0 -1
  414. package/dist/host/cookie-handler.js +0 -124
  415. package/dist/host/cookie-handler.js.map +0 -1
  416. package/dist/host/errors.d.ts +0 -56
  417. package/dist/host/errors.d.ts.map +0 -1
  418. package/dist/host/errors.js +0 -79
  419. package/dist/host/errors.js.map +0 -1
  420. package/dist/host/index.d.ts +0 -29
  421. package/dist/host/index.d.ts.map +0 -1
  422. package/dist/host/index.js +0 -32
  423. package/dist/host/index.js.map +0 -1
  424. package/dist/host/pattern-matcher.d.ts +0 -36
  425. package/dist/host/pattern-matcher.d.ts.map +0 -1
  426. package/dist/host/pattern-matcher.js +0 -172
  427. package/dist/host/pattern-matcher.js.map +0 -1
  428. package/dist/host/router.d.ts +0 -26
  429. package/dist/host/router.d.ts.map +0 -1
  430. package/dist/host/router.js +0 -218
  431. package/dist/host/router.js.map +0 -1
  432. package/dist/host/testing.d.ts +0 -36
  433. package/dist/host/testing.d.ts.map +0 -1
  434. package/dist/host/testing.js +0 -55
  435. package/dist/host/testing.js.map +0 -1
  436. package/dist/host/types.d.ts +0 -115
  437. package/dist/host/types.d.ts.map +0 -1
  438. package/dist/host/types.js +0 -7
  439. package/dist/host/types.js.map +0 -1
  440. package/dist/host/utils.d.ts +0 -21
  441. package/dist/host/utils.d.ts.map +0 -1
  442. package/dist/host/utils.js +0 -23
  443. package/dist/host/utils.js.map +0 -1
  444. package/dist/href-client.d.ts +0 -131
  445. package/dist/href-client.d.ts.map +0 -1
  446. package/dist/href-client.js +0 -64
  447. package/dist/href-client.js.map +0 -1
  448. package/dist/href-context.d.ts +0 -29
  449. package/dist/href-context.d.ts.map +0 -1
  450. package/dist/href-context.js +0 -21
  451. package/dist/href-context.js.map +0 -1
  452. package/dist/index.d.ts +0 -73
  453. package/dist/index.d.ts.map +0 -1
  454. package/dist/index.js +0 -91
  455. package/dist/index.js.map +0 -1
  456. package/dist/index.rsc.d.ts +0 -32
  457. package/dist/index.rsc.d.ts.map +0 -1
  458. package/dist/index.rsc.js +0 -40
  459. package/dist/index.rsc.js.map +0 -1
  460. package/dist/internal-debug.d.ts +0 -2
  461. package/dist/internal-debug.d.ts.map +0 -1
  462. package/dist/internal-debug.js +0 -5
  463. package/dist/internal-debug.js.map +0 -1
  464. package/dist/loader.d.ts +0 -14
  465. package/dist/loader.d.ts.map +0 -1
  466. package/dist/loader.js +0 -20
  467. package/dist/loader.js.map +0 -1
  468. package/dist/loader.rsc.d.ts +0 -19
  469. package/dist/loader.rsc.d.ts.map +0 -1
  470. package/dist/loader.rsc.js +0 -99
  471. package/dist/loader.rsc.js.map +0 -1
  472. package/dist/network-error-thrower.d.ts +0 -17
  473. package/dist/network-error-thrower.d.ts.map +0 -1
  474. package/dist/network-error-thrower.js +0 -14
  475. package/dist/network-error-thrower.js.map +0 -1
  476. package/dist/outlet-context.d.ts +0 -13
  477. package/dist/outlet-context.d.ts.map +0 -1
  478. package/dist/outlet-context.js +0 -3
  479. package/dist/outlet-context.js.map +0 -1
  480. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  481. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  482. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  483. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  484. package/dist/prerender/param-hash.d.ts +0 -16
  485. package/dist/prerender/param-hash.d.ts.map +0 -1
  486. package/dist/prerender/param-hash.js +0 -36
  487. package/dist/prerender/param-hash.js.map +0 -1
  488. package/dist/prerender/store.d.ts +0 -38
  489. package/dist/prerender/store.d.ts.map +0 -1
  490. package/dist/prerender/store.js +0 -61
  491. package/dist/prerender/store.js.map +0 -1
  492. package/dist/prerender.d.ts +0 -66
  493. package/dist/prerender.d.ts.map +0 -1
  494. package/dist/prerender.js +0 -57
  495. package/dist/prerender.js.map +0 -1
  496. package/dist/reverse.d.ts +0 -196
  497. package/dist/reverse.d.ts.map +0 -1
  498. package/dist/reverse.js +0 -78
  499. package/dist/reverse.js.map +0 -1
  500. package/dist/root-error-boundary.d.ts +0 -33
  501. package/dist/root-error-boundary.d.ts.map +0 -1
  502. package/dist/root-error-boundary.js +0 -165
  503. package/dist/root-error-boundary.js.map +0 -1
  504. package/dist/route-content-wrapper.d.ts +0 -46
  505. package/dist/route-content-wrapper.d.ts.map +0 -1
  506. package/dist/route-content-wrapper.js +0 -77
  507. package/dist/route-content-wrapper.js.map +0 -1
  508. package/dist/route-definition.d.ts +0 -421
  509. package/dist/route-definition.d.ts.map +0 -1
  510. package/dist/route-definition.js +0 -868
  511. package/dist/route-definition.js.map +0 -1
  512. package/dist/route-map-builder.d.ts +0 -155
  513. package/dist/route-map-builder.d.ts.map +0 -1
  514. package/dist/route-map-builder.js +0 -237
  515. package/dist/route-map-builder.js.map +0 -1
  516. package/dist/route-types.d.ts +0 -165
  517. package/dist/route-types.d.ts.map +0 -1
  518. package/dist/route-types.js +0 -7
  519. package/dist/route-types.js.map +0 -1
  520. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  521. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  522. package/dist/router/__tests__/handler-context.test.js +0 -65
  523. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  524. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  525. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  526. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  527. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  528. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  529. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  530. package/dist/router/__tests__/match-context.test.js +0 -92
  531. package/dist/router/__tests__/match-context.test.js.map +0 -1
  532. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  533. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  534. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  535. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  536. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  537. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  538. package/dist/router/__tests__/match-result.test.js +0 -457
  539. package/dist/router/__tests__/match-result.test.js.map +0 -1
  540. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  541. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  542. package/dist/router/__tests__/on-error.test.js +0 -678
  543. package/dist/router/__tests__/on-error.test.js.map +0 -1
  544. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  545. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  546. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  547. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  548. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  549. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  550. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  551. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  552. package/dist/router/error-handling.d.ts +0 -77
  553. package/dist/router/error-handling.d.ts.map +0 -1
  554. package/dist/router/error-handling.js +0 -202
  555. package/dist/router/error-handling.js.map +0 -1
  556. package/dist/router/handler-context.d.ts +0 -20
  557. package/dist/router/handler-context.d.ts.map +0 -1
  558. package/dist/router/handler-context.js +0 -198
  559. package/dist/router/handler-context.js.map +0 -1
  560. package/dist/router/intercept-resolution.d.ts +0 -66
  561. package/dist/router/intercept-resolution.d.ts.map +0 -1
  562. package/dist/router/intercept-resolution.js +0 -246
  563. package/dist/router/intercept-resolution.js.map +0 -1
  564. package/dist/router/loader-resolution.d.ts +0 -64
  565. package/dist/router/loader-resolution.d.ts.map +0 -1
  566. package/dist/router/loader-resolution.js +0 -284
  567. package/dist/router/loader-resolution.js.map +0 -1
  568. package/dist/router/logging.d.ts +0 -15
  569. package/dist/router/logging.d.ts.map +0 -1
  570. package/dist/router/logging.js +0 -99
  571. package/dist/router/logging.js.map +0 -1
  572. package/dist/router/manifest.d.ts +0 -22
  573. package/dist/router/manifest.d.ts.map +0 -1
  574. package/dist/router/manifest.js +0 -181
  575. package/dist/router/manifest.js.map +0 -1
  576. package/dist/router/match-api.d.ts +0 -35
  577. package/dist/router/match-api.d.ts.map +0 -1
  578. package/dist/router/match-api.js +0 -406
  579. package/dist/router/match-api.js.map +0 -1
  580. package/dist/router/match-context.d.ts +0 -206
  581. package/dist/router/match-context.d.ts.map +0 -1
  582. package/dist/router/match-context.js +0 -17
  583. package/dist/router/match-context.js.map +0 -1
  584. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  585. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  586. package/dist/router/match-middleware/background-revalidation.js +0 -75
  587. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  588. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  589. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  590. package/dist/router/match-middleware/cache-lookup.js +0 -257
  591. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  592. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  593. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  594. package/dist/router/match-middleware/cache-store.js +0 -108
  595. package/dist/router/match-middleware/cache-store.js.map +0 -1
  596. package/dist/router/match-middleware/index.d.ts +0 -81
  597. package/dist/router/match-middleware/index.d.ts.map +0 -1
  598. package/dist/router/match-middleware/index.js +0 -80
  599. package/dist/router/match-middleware/index.js.map +0 -1
  600. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  601. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  602. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  603. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  604. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  605. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  606. package/dist/router/match-middleware/segment-resolution.js +0 -53
  607. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  608. package/dist/router/match-pipelines.d.ts +0 -147
  609. package/dist/router/match-pipelines.d.ts.map +0 -1
  610. package/dist/router/match-pipelines.js +0 -82
  611. package/dist/router/match-pipelines.js.map +0 -1
  612. package/dist/router/match-result.d.ts +0 -126
  613. package/dist/router/match-result.d.ts.map +0 -1
  614. package/dist/router/match-result.js +0 -93
  615. package/dist/router/match-result.js.map +0 -1
  616. package/dist/router/metrics.d.ts +0 -20
  617. package/dist/router/metrics.d.ts.map +0 -1
  618. package/dist/router/metrics.js +0 -47
  619. package/dist/router/metrics.js.map +0 -1
  620. package/dist/router/middleware.d.ts +0 -249
  621. package/dist/router/middleware.d.ts.map +0 -1
  622. package/dist/router/middleware.js +0 -434
  623. package/dist/router/middleware.js.map +0 -1
  624. package/dist/router/middleware.test.d.ts +0 -2
  625. package/dist/router/middleware.test.d.ts.map +0 -1
  626. package/dist/router/middleware.test.js +0 -816
  627. package/dist/router/middleware.test.js.map +0 -1
  628. package/dist/router/pattern-matching.d.ts +0 -149
  629. package/dist/router/pattern-matching.d.ts.map +0 -1
  630. package/dist/router/pattern-matching.js +0 -349
  631. package/dist/router/pattern-matching.js.map +0 -1
  632. package/dist/router/revalidation.d.ts +0 -44
  633. package/dist/router/revalidation.d.ts.map +0 -1
  634. package/dist/router/revalidation.js +0 -147
  635. package/dist/router/revalidation.js.map +0 -1
  636. package/dist/router/router-context.d.ts +0 -135
  637. package/dist/router/router-context.d.ts.map +0 -1
  638. package/dist/router/router-context.js +0 -36
  639. package/dist/router/router-context.js.map +0 -1
  640. package/dist/router/segment-resolution.d.ts +0 -127
  641. package/dist/router/segment-resolution.d.ts.map +0 -1
  642. package/dist/router/segment-resolution.js +0 -919
  643. package/dist/router/segment-resolution.js.map +0 -1
  644. package/dist/router/trie-matching.d.ts +0 -40
  645. package/dist/router/trie-matching.d.ts.map +0 -1
  646. package/dist/router/trie-matching.js +0 -127
  647. package/dist/router/trie-matching.js.map +0 -1
  648. package/dist/router/types.d.ts +0 -136
  649. package/dist/router/types.d.ts.map +0 -1
  650. package/dist/router/types.js +0 -7
  651. package/dist/router/types.js.map +0 -1
  652. package/dist/router.d.ts +0 -753
  653. package/dist/router.d.ts.map +0 -1
  654. package/dist/router.gen.d.ts +0 -6
  655. package/dist/router.gen.d.ts.map +0 -1
  656. package/dist/router.gen.js +0 -6
  657. package/dist/router.gen.js.map +0 -1
  658. package/dist/router.js +0 -1304
  659. package/dist/router.js.map +0 -1
  660. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  661. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  662. package/dist/rsc/__tests__/helpers.test.js +0 -140
  663. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  664. package/dist/rsc/handler.d.ts +0 -45
  665. package/dist/rsc/handler.d.ts.map +0 -1
  666. package/dist/rsc/handler.js +0 -1172
  667. package/dist/rsc/handler.js.map +0 -1
  668. package/dist/rsc/helpers.d.ts +0 -16
  669. package/dist/rsc/helpers.d.ts.map +0 -1
  670. package/dist/rsc/helpers.js +0 -55
  671. package/dist/rsc/helpers.js.map +0 -1
  672. package/dist/rsc/index.d.ts +0 -22
  673. package/dist/rsc/index.d.ts.map +0 -1
  674. package/dist/rsc/index.js +0 -23
  675. package/dist/rsc/index.js.map +0 -1
  676. package/dist/rsc/nonce.d.ts +0 -9
  677. package/dist/rsc/nonce.d.ts.map +0 -1
  678. package/dist/rsc/nonce.js +0 -18
  679. package/dist/rsc/nonce.js.map +0 -1
  680. package/dist/rsc/types.d.ts +0 -206
  681. package/dist/rsc/types.d.ts.map +0 -1
  682. package/dist/rsc/types.js +0 -8
  683. package/dist/rsc/types.js.map +0 -1
  684. package/dist/search-params.d.ts +0 -103
  685. package/dist/search-params.d.ts.map +0 -1
  686. package/dist/search-params.js +0 -74
  687. package/dist/search-params.js.map +0 -1
  688. package/dist/segment-system.d.ts +0 -75
  689. package/dist/segment-system.d.ts.map +0 -1
  690. package/dist/segment-system.js +0 -336
  691. package/dist/segment-system.js.map +0 -1
  692. package/dist/server/context.d.ts +0 -245
  693. package/dist/server/context.d.ts.map +0 -1
  694. package/dist/server/context.js +0 -197
  695. package/dist/server/context.js.map +0 -1
  696. package/dist/server/fetchable-loader-store.d.ts +0 -18
  697. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  698. package/dist/server/fetchable-loader-store.js +0 -18
  699. package/dist/server/fetchable-loader-store.js.map +0 -1
  700. package/dist/server/handle-store.d.ts +0 -85
  701. package/dist/server/handle-store.d.ts.map +0 -1
  702. package/dist/server/handle-store.js +0 -142
  703. package/dist/server/handle-store.js.map +0 -1
  704. package/dist/server/loader-registry.d.ts +0 -55
  705. package/dist/server/loader-registry.d.ts.map +0 -1
  706. package/dist/server/loader-registry.js +0 -132
  707. package/dist/server/loader-registry.js.map +0 -1
  708. package/dist/server/request-context.d.ts +0 -226
  709. package/dist/server/request-context.d.ts.map +0 -1
  710. package/dist/server/request-context.js +0 -290
  711. package/dist/server/request-context.js.map +0 -1
  712. package/dist/server/root-layout.d.ts +0 -4
  713. package/dist/server/root-layout.d.ts.map +0 -1
  714. package/dist/server/root-layout.js +0 -5
  715. package/dist/server/root-layout.js.map +0 -1
  716. package/dist/server.d.ts +0 -15
  717. package/dist/server.d.ts.map +0 -1
  718. package/dist/server.js +0 -20
  719. package/dist/server.js.map +0 -1
  720. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  721. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  722. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  723. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  724. package/dist/ssr/index.d.ts +0 -98
  725. package/dist/ssr/index.d.ts.map +0 -1
  726. package/dist/ssr/index.js +0 -158
  727. package/dist/ssr/index.js.map +0 -1
  728. package/dist/static-handler.d.ts +0 -50
  729. package/dist/static-handler.d.ts.map +0 -1
  730. package/dist/static-handler.gen.d.ts +0 -5
  731. package/dist/static-handler.gen.d.ts.map +0 -1
  732. package/dist/static-handler.gen.js +0 -5
  733. package/dist/static-handler.gen.js.map +0 -1
  734. package/dist/static-handler.js +0 -29
  735. package/dist/static-handler.js.map +0 -1
  736. package/dist/theme/ThemeProvider.d.ts +0 -20
  737. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  738. package/dist/theme/ThemeProvider.js +0 -240
  739. package/dist/theme/ThemeProvider.js.map +0 -1
  740. package/dist/theme/ThemeScript.d.ts +0 -48
  741. package/dist/theme/ThemeScript.d.ts.map +0 -1
  742. package/dist/theme/ThemeScript.js +0 -13
  743. package/dist/theme/ThemeScript.js.map +0 -1
  744. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  745. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  746. package/dist/theme/__tests__/theme.test.js +0 -103
  747. package/dist/theme/__tests__/theme.test.js.map +0 -1
  748. package/dist/theme/constants.d.ts +0 -29
  749. package/dist/theme/constants.d.ts.map +0 -1
  750. package/dist/theme/constants.js +0 -48
  751. package/dist/theme/constants.js.map +0 -1
  752. package/dist/theme/index.d.ts +0 -31
  753. package/dist/theme/index.d.ts.map +0 -1
  754. package/dist/theme/index.js +0 -36
  755. package/dist/theme/index.js.map +0 -1
  756. package/dist/theme/theme-context.d.ts +0 -40
  757. package/dist/theme/theme-context.d.ts.map +0 -1
  758. package/dist/theme/theme-context.js +0 -60
  759. package/dist/theme/theme-context.js.map +0 -1
  760. package/dist/theme/theme-script.d.ts +0 -27
  761. package/dist/theme/theme-script.d.ts.map +0 -1
  762. package/dist/theme/theme-script.js +0 -147
  763. package/dist/theme/theme-script.js.map +0 -1
  764. package/dist/theme/types.d.ts +0 -163
  765. package/dist/theme/types.d.ts.map +0 -1
  766. package/dist/theme/types.js +0 -11
  767. package/dist/theme/types.js.map +0 -1
  768. package/dist/theme/use-theme.d.ts +0 -12
  769. package/dist/theme/use-theme.d.ts.map +0 -1
  770. package/dist/theme/use-theme.js +0 -40
  771. package/dist/theme/use-theme.js.map +0 -1
  772. package/dist/types.d.ts +0 -1479
  773. package/dist/types.d.ts.map +0 -1
  774. package/dist/types.js +0 -10
  775. package/dist/types.js.map +0 -1
  776. package/dist/urls.d.ts +0 -441
  777. package/dist/urls.d.ts.map +0 -1
  778. package/dist/urls.gen.d.ts +0 -8
  779. package/dist/urls.gen.d.ts.map +0 -1
  780. package/dist/urls.gen.js +0 -8
  781. package/dist/urls.gen.js.map +0 -1
  782. package/dist/urls.js +0 -443
  783. package/dist/urls.js.map +0 -1
  784. package/dist/use-loader.d.ts +0 -127
  785. package/dist/use-loader.d.ts.map +0 -1
  786. package/dist/use-loader.js +0 -237
  787. package/dist/use-loader.js.map +0 -1
  788. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  789. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  790. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  791. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  792. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  793. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  794. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  795. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  796. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  797. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  798. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  799. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  800. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  801. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  802. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  803. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  804. package/dist/vite/ast-handler-extract.d.ts +0 -49
  805. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  806. package/dist/vite/ast-handler-extract.js +0 -249
  807. package/dist/vite/ast-handler-extract.js.map +0 -1
  808. package/dist/vite/expose-action-id.d.ts +0 -19
  809. package/dist/vite/expose-action-id.d.ts.map +0 -1
  810. package/dist/vite/expose-action-id.js +0 -250
  811. package/dist/vite/expose-action-id.js.map +0 -1
  812. package/dist/vite/expose-id-utils.d.ts +0 -69
  813. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  814. package/dist/vite/expose-id-utils.js +0 -289
  815. package/dist/vite/expose-id-utils.js.map +0 -1
  816. package/dist/vite/expose-internal-ids.d.ts +0 -22
  817. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  818. package/dist/vite/expose-internal-ids.js +0 -886
  819. package/dist/vite/expose-internal-ids.js.map +0 -1
  820. package/dist/vite/index.d.ts +0 -149
  821. package/dist/vite/index.d.ts.map +0 -1
  822. package/dist/vite/index.js.map +0 -1
  823. package/dist/vite/index.named-routes.gen.ts +0 -103
  824. package/dist/vite/package-resolution.d.ts +0 -43
  825. package/dist/vite/package-resolution.d.ts.map +0 -1
  826. package/dist/vite/package-resolution.js +0 -112
  827. package/dist/vite/package-resolution.js.map +0 -1
  828. package/dist/vite/virtual-entries.d.ts +0 -25
  829. package/dist/vite/virtual-entries.d.ts.map +0 -1
  830. package/dist/vite/virtual-entries.js +0 -110
  831. 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"}