@rangojs/router 0.0.0-experimental.101 → 0.0.0-experimental.103

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 (817) hide show
  1. package/dist/vite/index.js +2 -14
  2. package/package.json +1 -1
  3. package/skills/bundle-analysis/SKILL.md +159 -0
  4. package/skills/hooks/SKILL.md +37 -0
  5. package/skills/rango/SKILL.md +1 -0
  6. package/src/browser/history-state.ts +21 -0
  7. package/src/browser/navigation-bridge.ts +2 -6
  8. package/src/browser/navigation-transaction.ts +3 -7
  9. package/src/browser/react/location-state-shared.ts +82 -1
  10. package/src/browser/react/location-state.ts +39 -13
  11. package/src/browser/react/use-router.ts +14 -1
  12. package/src/index.ts +8 -3
  13. package/src/vite/discovery/virtual-module-codegen.ts +13 -23
  14. package/dist/__internal.d.ts +0 -83
  15. package/dist/__internal.d.ts.map +0 -1
  16. package/dist/__internal.js +0 -19
  17. package/dist/__internal.js.map +0 -1
  18. package/dist/__mocks__/version.d.ts +0 -7
  19. package/dist/__mocks__/version.d.ts.map +0 -1
  20. package/dist/__mocks__/version.js +0 -7
  21. package/dist/__mocks__/version.js.map +0 -1
  22. package/dist/__tests__/client-href.test.d.ts +0 -2
  23. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  24. package/dist/__tests__/client-href.test.js +0 -74
  25. package/dist/__tests__/client-href.test.js.map +0 -1
  26. package/dist/__tests__/component-utils.test.d.ts +0 -2
  27. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  28. package/dist/__tests__/component-utils.test.js +0 -51
  29. package/dist/__tests__/component-utils.test.js.map +0 -1
  30. package/dist/__tests__/event-controller.test.d.ts +0 -2
  31. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  32. package/dist/__tests__/event-controller.test.js +0 -538
  33. package/dist/__tests__/event-controller.test.js.map +0 -1
  34. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  35. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  36. package/dist/__tests__/helpers/route-tree.js +0 -374
  37. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  38. package/dist/__tests__/match-result.test.d.ts +0 -2
  39. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  40. package/dist/__tests__/match-result.test.js +0 -154
  41. package/dist/__tests__/match-result.test.js.map +0 -1
  42. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  43. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  44. package/dist/__tests__/navigation-store.test.js +0 -440
  45. package/dist/__tests__/navigation-store.test.js.map +0 -1
  46. package/dist/__tests__/partial-update.test.d.ts +0 -2
  47. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  48. package/dist/__tests__/partial-update.test.js +0 -1009
  49. package/dist/__tests__/partial-update.test.js.map +0 -1
  50. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  51. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  52. package/dist/__tests__/reverse-types.test.js +0 -656
  53. package/dist/__tests__/reverse-types.test.js.map +0 -1
  54. package/dist/__tests__/route-definition.test.d.ts +0 -2
  55. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  56. package/dist/__tests__/route-definition.test.js +0 -55
  57. package/dist/__tests__/route-definition.test.js.map +0 -1
  58. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  59. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  60. package/dist/__tests__/router-helpers.test.js +0 -377
  61. package/dist/__tests__/router-helpers.test.js.map +0 -1
  62. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  63. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  64. package/dist/__tests__/router-integration-2.test.js +0 -426
  65. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  66. package/dist/__tests__/router-integration.test.d.ts +0 -2
  67. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  68. package/dist/__tests__/router-integration.test.js +0 -1051
  69. package/dist/__tests__/router-integration.test.js.map +0 -1
  70. package/dist/__tests__/search-params.test.d.ts +0 -5
  71. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  72. package/dist/__tests__/search-params.test.js +0 -306
  73. package/dist/__tests__/search-params.test.js.map +0 -1
  74. package/dist/__tests__/segment-system.test.d.ts +0 -2
  75. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  76. package/dist/__tests__/segment-system.test.js +0 -627
  77. package/dist/__tests__/segment-system.test.js.map +0 -1
  78. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  79. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  80. package/dist/__tests__/static-handler-types.test.js +0 -63
  81. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  82. package/dist/__tests__/urls.test.d.ts +0 -2
  83. package/dist/__tests__/urls.test.d.ts.map +0 -1
  84. package/dist/__tests__/urls.test.js +0 -421
  85. package/dist/__tests__/urls.test.js.map +0 -1
  86. package/dist/__tests__/use-mount.test.d.ts +0 -2
  87. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  88. package/dist/__tests__/use-mount.test.js +0 -35
  89. package/dist/__tests__/use-mount.test.js.map +0 -1
  90. package/dist/bin/rango.d.ts +0 -2
  91. package/dist/bin/rango.d.ts.map +0 -1
  92. package/dist/bin/rango.js.map +0 -1
  93. package/dist/browser/event-controller.d.ts +0 -191
  94. package/dist/browser/event-controller.d.ts.map +0 -1
  95. package/dist/browser/event-controller.js +0 -559
  96. package/dist/browser/event-controller.js.map +0 -1
  97. package/dist/browser/index.d.ts +0 -2
  98. package/dist/browser/index.d.ts.map +0 -1
  99. package/dist/browser/index.js +0 -14
  100. package/dist/browser/index.js.map +0 -1
  101. package/dist/browser/link-interceptor.d.ts +0 -38
  102. package/dist/browser/link-interceptor.d.ts.map +0 -1
  103. package/dist/browser/link-interceptor.js +0 -99
  104. package/dist/browser/link-interceptor.js.map +0 -1
  105. package/dist/browser/logging.d.ts +0 -10
  106. package/dist/browser/logging.d.ts.map +0 -1
  107. package/dist/browser/logging.js +0 -29
  108. package/dist/browser/logging.js.map +0 -1
  109. package/dist/browser/lru-cache.d.ts +0 -17
  110. package/dist/browser/lru-cache.d.ts.map +0 -1
  111. package/dist/browser/lru-cache.js +0 -50
  112. package/dist/browser/lru-cache.js.map +0 -1
  113. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  114. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  115. package/dist/browser/merge-segment-loaders.js +0 -102
  116. package/dist/browser/merge-segment-loaders.js.map +0 -1
  117. package/dist/browser/navigation-bridge.d.ts +0 -102
  118. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  119. package/dist/browser/navigation-bridge.js +0 -708
  120. package/dist/browser/navigation-bridge.js.map +0 -1
  121. package/dist/browser/navigation-client.d.ts +0 -25
  122. package/dist/browser/navigation-client.d.ts.map +0 -1
  123. package/dist/browser/navigation-client.js +0 -157
  124. package/dist/browser/navigation-client.js.map +0 -1
  125. package/dist/browser/navigation-store.d.ts +0 -101
  126. package/dist/browser/navigation-store.d.ts.map +0 -1
  127. package/dist/browser/navigation-store.js +0 -625
  128. package/dist/browser/navigation-store.js.map +0 -1
  129. package/dist/browser/partial-update.d.ts +0 -75
  130. package/dist/browser/partial-update.d.ts.map +0 -1
  131. package/dist/browser/partial-update.js +0 -426
  132. package/dist/browser/partial-update.js.map +0 -1
  133. package/dist/browser/react/Link.d.ts +0 -86
  134. package/dist/browser/react/Link.d.ts.map +0 -1
  135. package/dist/browser/react/Link.js +0 -128
  136. package/dist/browser/react/Link.js.map +0 -1
  137. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  138. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  139. package/dist/browser/react/NavigationProvider.js +0 -216
  140. package/dist/browser/react/NavigationProvider.js.map +0 -1
  141. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  142. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  143. package/dist/browser/react/ScrollRestoration.js +0 -57
  144. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  145. package/dist/browser/react/context.d.ts +0 -46
  146. package/dist/browser/react/context.d.ts.map +0 -1
  147. package/dist/browser/react/context.js +0 -10
  148. package/dist/browser/react/context.js.map +0 -1
  149. package/dist/browser/react/index.d.ts +0 -11
  150. package/dist/browser/react/index.d.ts.map +0 -1
  151. package/dist/browser/react/index.js +0 -22
  152. package/dist/browser/react/index.js.map +0 -1
  153. package/dist/browser/react/location-state-shared.d.ts +0 -63
  154. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  155. package/dist/browser/react/location-state-shared.js +0 -81
  156. package/dist/browser/react/location-state-shared.js.map +0 -1
  157. package/dist/browser/react/location-state.d.ts +0 -23
  158. package/dist/browser/react/location-state.d.ts.map +0 -1
  159. package/dist/browser/react/location-state.js +0 -29
  160. package/dist/browser/react/location-state.js.map +0 -1
  161. package/dist/browser/react/mount-context.d.ts +0 -24
  162. package/dist/browser/react/mount-context.d.ts.map +0 -1
  163. package/dist/browser/react/mount-context.js +0 -24
  164. package/dist/browser/react/mount-context.js.map +0 -1
  165. package/dist/browser/react/use-action.d.ts +0 -64
  166. package/dist/browser/react/use-action.d.ts.map +0 -1
  167. package/dist/browser/react/use-action.js +0 -134
  168. package/dist/browser/react/use-action.js.map +0 -1
  169. package/dist/browser/react/use-client-cache.d.ts +0 -41
  170. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  171. package/dist/browser/react/use-client-cache.js +0 -39
  172. package/dist/browser/react/use-client-cache.js.map +0 -1
  173. package/dist/browser/react/use-handle.d.ts +0 -31
  174. package/dist/browser/react/use-handle.d.ts.map +0 -1
  175. package/dist/browser/react/use-handle.js +0 -144
  176. package/dist/browser/react/use-handle.js.map +0 -1
  177. package/dist/browser/react/use-href.d.ts +0 -33
  178. package/dist/browser/react/use-href.d.ts.map +0 -1
  179. package/dist/browser/react/use-href.js +0 -39
  180. package/dist/browser/react/use-href.js.map +0 -1
  181. package/dist/browser/react/use-link-status.d.ts +0 -37
  182. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  183. package/dist/browser/react/use-link-status.js +0 -99
  184. package/dist/browser/react/use-link-status.js.map +0 -1
  185. package/dist/browser/react/use-mount.d.ts +0 -25
  186. package/dist/browser/react/use-mount.d.ts.map +0 -1
  187. package/dist/browser/react/use-mount.js +0 -30
  188. package/dist/browser/react/use-mount.js.map +0 -1
  189. package/dist/browser/react/use-navigation.d.ts +0 -27
  190. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  191. package/dist/browser/react/use-navigation.js +0 -87
  192. package/dist/browser/react/use-navigation.js.map +0 -1
  193. package/dist/browser/react/use-segments.d.ts +0 -38
  194. package/dist/browser/react/use-segments.d.ts.map +0 -1
  195. package/dist/browser/react/use-segments.js +0 -130
  196. package/dist/browser/react/use-segments.js.map +0 -1
  197. package/dist/browser/request-controller.d.ts +0 -26
  198. package/dist/browser/request-controller.d.ts.map +0 -1
  199. package/dist/browser/request-controller.js +0 -147
  200. package/dist/browser/request-controller.js.map +0 -1
  201. package/dist/browser/rsc-router.d.ts +0 -129
  202. package/dist/browser/rsc-router.d.ts.map +0 -1
  203. package/dist/browser/rsc-router.js +0 -195
  204. package/dist/browser/rsc-router.js.map +0 -1
  205. package/dist/browser/scroll-restoration.d.ts +0 -93
  206. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  207. package/dist/browser/scroll-restoration.js +0 -321
  208. package/dist/browser/scroll-restoration.js.map +0 -1
  209. package/dist/browser/segment-structure-assert.d.ts +0 -17
  210. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  211. package/dist/browser/segment-structure-assert.js +0 -59
  212. package/dist/browser/segment-structure-assert.js.map +0 -1
  213. package/dist/browser/server-action-bridge.d.ts +0 -26
  214. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  215. package/dist/browser/server-action-bridge.js +0 -668
  216. package/dist/browser/server-action-bridge.js.map +0 -1
  217. package/dist/browser/shallow.d.ts +0 -12
  218. package/dist/browser/shallow.d.ts.map +0 -1
  219. package/dist/browser/shallow.js +0 -34
  220. package/dist/browser/shallow.js.map +0 -1
  221. package/dist/browser/types.d.ts +0 -369
  222. package/dist/browser/types.d.ts.map +0 -1
  223. package/dist/browser/types.js +0 -2
  224. package/dist/browser/types.js.map +0 -1
  225. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  226. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  227. package/dist/build/__tests__/generate-cli.test.js +0 -237
  228. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  229. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  230. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  231. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  232. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  233. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  234. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  235. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  236. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  237. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  238. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  239. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  240. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  241. package/dist/build/generate-manifest.d.ts +0 -81
  242. package/dist/build/generate-manifest.d.ts.map +0 -1
  243. package/dist/build/generate-manifest.js +0 -276
  244. package/dist/build/generate-manifest.js.map +0 -1
  245. package/dist/build/generate-route-types.d.ts +0 -115
  246. package/dist/build/generate-route-types.d.ts.map +0 -1
  247. package/dist/build/generate-route-types.js +0 -740
  248. package/dist/build/generate-route-types.js.map +0 -1
  249. package/dist/build/index.d.ts +0 -21
  250. package/dist/build/index.d.ts.map +0 -1
  251. package/dist/build/index.js +0 -21
  252. package/dist/build/index.js.map +0 -1
  253. package/dist/build/route-trie.d.ts +0 -71
  254. package/dist/build/route-trie.d.ts.map +0 -1
  255. package/dist/build/route-trie.js +0 -175
  256. package/dist/build/route-trie.js.map +0 -1
  257. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  258. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  259. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  260. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  261. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  262. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  263. package/dist/cache/__tests__/document-cache.test.js +0 -345
  264. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  265. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  266. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  267. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  268. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  269. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  270. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  271. package/dist/cache/__tests__/memory-store.test.js +0 -367
  272. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  273. package/dist/cache/cache-scope.d.ts +0 -102
  274. package/dist/cache/cache-scope.d.ts.map +0 -1
  275. package/dist/cache/cache-scope.js +0 -440
  276. package/dist/cache/cache-scope.js.map +0 -1
  277. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  278. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  279. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  280. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  281. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  282. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  283. package/dist/cache/cf/cf-cache-store.js +0 -242
  284. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  285. package/dist/cache/cf/index.d.ts +0 -14
  286. package/dist/cache/cf/index.d.ts.map +0 -1
  287. package/dist/cache/cf/index.js +0 -17
  288. package/dist/cache/cf/index.js.map +0 -1
  289. package/dist/cache/document-cache.d.ts +0 -64
  290. package/dist/cache/document-cache.d.ts.map +0 -1
  291. package/dist/cache/document-cache.js +0 -228
  292. package/dist/cache/document-cache.js.map +0 -1
  293. package/dist/cache/index.d.ts +0 -19
  294. package/dist/cache/index.d.ts.map +0 -1
  295. package/dist/cache/index.js +0 -21
  296. package/dist/cache/index.js.map +0 -1
  297. package/dist/cache/memory-segment-store.d.ts +0 -110
  298. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  299. package/dist/cache/memory-segment-store.js +0 -117
  300. package/dist/cache/memory-segment-store.js.map +0 -1
  301. package/dist/cache/memory-store.d.ts +0 -41
  302. package/dist/cache/memory-store.d.ts.map +0 -1
  303. package/dist/cache/memory-store.js +0 -191
  304. package/dist/cache/memory-store.js.map +0 -1
  305. package/dist/cache/types.d.ts +0 -317
  306. package/dist/cache/types.d.ts.map +0 -1
  307. package/dist/cache/types.js +0 -12
  308. package/dist/cache/types.js.map +0 -1
  309. package/dist/client.d.ts +0 -248
  310. package/dist/client.d.ts.map +0 -1
  311. package/dist/client.js +0 -367
  312. package/dist/client.js.map +0 -1
  313. package/dist/client.rsc.d.ts +0 -26
  314. package/dist/client.rsc.d.ts.map +0 -1
  315. package/dist/client.rsc.js +0 -46
  316. package/dist/client.rsc.js.map +0 -1
  317. package/dist/component-utils.d.ts +0 -36
  318. package/dist/component-utils.d.ts.map +0 -1
  319. package/dist/component-utils.js +0 -61
  320. package/dist/component-utils.js.map +0 -1
  321. package/dist/components/DefaultDocument.d.ts +0 -13
  322. package/dist/components/DefaultDocument.d.ts.map +0 -1
  323. package/dist/components/DefaultDocument.js +0 -15
  324. package/dist/components/DefaultDocument.js.map +0 -1
  325. package/dist/debug.d.ts +0 -58
  326. package/dist/debug.d.ts.map +0 -1
  327. package/dist/debug.js +0 -157
  328. package/dist/debug.js.map +0 -1
  329. package/dist/default-error-boundary.d.ts +0 -11
  330. package/dist/default-error-boundary.d.ts.map +0 -1
  331. package/dist/default-error-boundary.js +0 -45
  332. package/dist/default-error-boundary.js.map +0 -1
  333. package/dist/deps/browser.d.ts +0 -2
  334. package/dist/deps/browser.d.ts.map +0 -1
  335. package/dist/deps/browser.js +0 -3
  336. package/dist/deps/browser.js.map +0 -1
  337. package/dist/deps/html-stream-client.d.ts +0 -2
  338. package/dist/deps/html-stream-client.d.ts.map +0 -1
  339. package/dist/deps/html-stream-client.js +0 -3
  340. package/dist/deps/html-stream-client.js.map +0 -1
  341. package/dist/deps/html-stream-server.d.ts +0 -2
  342. package/dist/deps/html-stream-server.d.ts.map +0 -1
  343. package/dist/deps/html-stream-server.js +0 -3
  344. package/dist/deps/html-stream-server.js.map +0 -1
  345. package/dist/deps/rsc.d.ts +0 -2
  346. package/dist/deps/rsc.d.ts.map +0 -1
  347. package/dist/deps/rsc.js +0 -4
  348. package/dist/deps/rsc.js.map +0 -1
  349. package/dist/deps/ssr.d.ts +0 -2
  350. package/dist/deps/ssr.d.ts.map +0 -1
  351. package/dist/deps/ssr.js +0 -3
  352. package/dist/deps/ssr.js.map +0 -1
  353. package/dist/errors.d.ts +0 -174
  354. package/dist/errors.d.ts.map +0 -1
  355. package/dist/errors.js +0 -241
  356. package/dist/errors.js.map +0 -1
  357. package/dist/handle.d.ts +0 -78
  358. package/dist/handle.d.ts.map +0 -1
  359. package/dist/handle.js +0 -82
  360. package/dist/handle.js.map +0 -1
  361. package/dist/handles/MetaTags.d.ts +0 -14
  362. package/dist/handles/MetaTags.d.ts.map +0 -1
  363. package/dist/handles/MetaTags.js +0 -136
  364. package/dist/handles/MetaTags.js.map +0 -1
  365. package/dist/handles/index.d.ts +0 -6
  366. package/dist/handles/index.d.ts.map +0 -1
  367. package/dist/handles/index.js +0 -6
  368. package/dist/handles/index.js.map +0 -1
  369. package/dist/handles/meta.d.ts +0 -39
  370. package/dist/handles/meta.d.ts.map +0 -1
  371. package/dist/handles/meta.js +0 -202
  372. package/dist/handles/meta.js.map +0 -1
  373. package/dist/host/__tests__/errors.test.d.ts +0 -2
  374. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  375. package/dist/host/__tests__/errors.test.js +0 -76
  376. package/dist/host/__tests__/errors.test.js.map +0 -1
  377. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  378. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  379. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  380. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  381. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  382. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  383. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  384. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  385. package/dist/host/__tests__/router.test.d.ts +0 -2
  386. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  387. package/dist/host/__tests__/router.test.js +0 -241
  388. package/dist/host/__tests__/router.test.js.map +0 -1
  389. package/dist/host/__tests__/testing.test.d.ts +0 -2
  390. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  391. package/dist/host/__tests__/testing.test.js +0 -64
  392. package/dist/host/__tests__/testing.test.js.map +0 -1
  393. package/dist/host/__tests__/utils.test.d.ts +0 -2
  394. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  395. package/dist/host/__tests__/utils.test.js +0 -29
  396. package/dist/host/__tests__/utils.test.js.map +0 -1
  397. package/dist/host/cookie-handler.d.ts +0 -34
  398. package/dist/host/cookie-handler.d.ts.map +0 -1
  399. package/dist/host/cookie-handler.js +0 -124
  400. package/dist/host/cookie-handler.js.map +0 -1
  401. package/dist/host/errors.d.ts +0 -56
  402. package/dist/host/errors.d.ts.map +0 -1
  403. package/dist/host/errors.js +0 -79
  404. package/dist/host/errors.js.map +0 -1
  405. package/dist/host/index.d.ts +0 -29
  406. package/dist/host/index.d.ts.map +0 -1
  407. package/dist/host/index.js +0 -32
  408. package/dist/host/index.js.map +0 -1
  409. package/dist/host/pattern-matcher.d.ts +0 -36
  410. package/dist/host/pattern-matcher.d.ts.map +0 -1
  411. package/dist/host/pattern-matcher.js +0 -172
  412. package/dist/host/pattern-matcher.js.map +0 -1
  413. package/dist/host/router.d.ts +0 -26
  414. package/dist/host/router.d.ts.map +0 -1
  415. package/dist/host/router.js +0 -218
  416. package/dist/host/router.js.map +0 -1
  417. package/dist/host/testing.d.ts +0 -36
  418. package/dist/host/testing.d.ts.map +0 -1
  419. package/dist/host/testing.js +0 -55
  420. package/dist/host/testing.js.map +0 -1
  421. package/dist/host/types.d.ts +0 -115
  422. package/dist/host/types.d.ts.map +0 -1
  423. package/dist/host/types.js +0 -7
  424. package/dist/host/types.js.map +0 -1
  425. package/dist/host/utils.d.ts +0 -21
  426. package/dist/host/utils.d.ts.map +0 -1
  427. package/dist/host/utils.js +0 -23
  428. package/dist/host/utils.js.map +0 -1
  429. package/dist/href-client.d.ts +0 -131
  430. package/dist/href-client.d.ts.map +0 -1
  431. package/dist/href-client.js +0 -64
  432. package/dist/href-client.js.map +0 -1
  433. package/dist/href-context.d.ts +0 -29
  434. package/dist/href-context.d.ts.map +0 -1
  435. package/dist/href-context.js +0 -21
  436. package/dist/href-context.js.map +0 -1
  437. package/dist/index.d.ts +0 -73
  438. package/dist/index.d.ts.map +0 -1
  439. package/dist/index.js +0 -91
  440. package/dist/index.js.map +0 -1
  441. package/dist/index.rsc.d.ts +0 -32
  442. package/dist/index.rsc.d.ts.map +0 -1
  443. package/dist/index.rsc.js +0 -40
  444. package/dist/index.rsc.js.map +0 -1
  445. package/dist/internal-debug.d.ts +0 -2
  446. package/dist/internal-debug.d.ts.map +0 -1
  447. package/dist/internal-debug.js +0 -5
  448. package/dist/internal-debug.js.map +0 -1
  449. package/dist/loader.d.ts +0 -14
  450. package/dist/loader.d.ts.map +0 -1
  451. package/dist/loader.js +0 -20
  452. package/dist/loader.js.map +0 -1
  453. package/dist/loader.rsc.d.ts +0 -19
  454. package/dist/loader.rsc.d.ts.map +0 -1
  455. package/dist/loader.rsc.js +0 -99
  456. package/dist/loader.rsc.js.map +0 -1
  457. package/dist/network-error-thrower.d.ts +0 -17
  458. package/dist/network-error-thrower.d.ts.map +0 -1
  459. package/dist/network-error-thrower.js +0 -14
  460. package/dist/network-error-thrower.js.map +0 -1
  461. package/dist/outlet-context.d.ts +0 -13
  462. package/dist/outlet-context.d.ts.map +0 -1
  463. package/dist/outlet-context.js +0 -3
  464. package/dist/outlet-context.js.map +0 -1
  465. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  466. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  467. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  468. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  469. package/dist/prerender/param-hash.d.ts +0 -16
  470. package/dist/prerender/param-hash.d.ts.map +0 -1
  471. package/dist/prerender/param-hash.js +0 -36
  472. package/dist/prerender/param-hash.js.map +0 -1
  473. package/dist/prerender/store.d.ts +0 -38
  474. package/dist/prerender/store.d.ts.map +0 -1
  475. package/dist/prerender/store.js +0 -61
  476. package/dist/prerender/store.js.map +0 -1
  477. package/dist/prerender.d.ts +0 -66
  478. package/dist/prerender.d.ts.map +0 -1
  479. package/dist/prerender.js +0 -57
  480. package/dist/prerender.js.map +0 -1
  481. package/dist/reverse.d.ts +0 -196
  482. package/dist/reverse.d.ts.map +0 -1
  483. package/dist/reverse.js +0 -78
  484. package/dist/reverse.js.map +0 -1
  485. package/dist/root-error-boundary.d.ts +0 -33
  486. package/dist/root-error-boundary.d.ts.map +0 -1
  487. package/dist/root-error-boundary.js +0 -165
  488. package/dist/root-error-boundary.js.map +0 -1
  489. package/dist/route-content-wrapper.d.ts +0 -46
  490. package/dist/route-content-wrapper.d.ts.map +0 -1
  491. package/dist/route-content-wrapper.js +0 -77
  492. package/dist/route-content-wrapper.js.map +0 -1
  493. package/dist/route-definition.d.ts +0 -421
  494. package/dist/route-definition.d.ts.map +0 -1
  495. package/dist/route-definition.js +0 -868
  496. package/dist/route-definition.js.map +0 -1
  497. package/dist/route-map-builder.d.ts +0 -155
  498. package/dist/route-map-builder.d.ts.map +0 -1
  499. package/dist/route-map-builder.js +0 -237
  500. package/dist/route-map-builder.js.map +0 -1
  501. package/dist/route-types.d.ts +0 -165
  502. package/dist/route-types.d.ts.map +0 -1
  503. package/dist/route-types.js +0 -7
  504. package/dist/route-types.js.map +0 -1
  505. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  506. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  507. package/dist/router/__tests__/handler-context.test.js +0 -65
  508. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  509. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  510. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  511. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  512. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  513. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  514. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  515. package/dist/router/__tests__/match-context.test.js +0 -92
  516. package/dist/router/__tests__/match-context.test.js.map +0 -1
  517. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  518. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  519. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  520. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  521. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  522. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  523. package/dist/router/__tests__/match-result.test.js +0 -457
  524. package/dist/router/__tests__/match-result.test.js.map +0 -1
  525. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  526. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  527. package/dist/router/__tests__/on-error.test.js +0 -678
  528. package/dist/router/__tests__/on-error.test.js.map +0 -1
  529. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  530. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  531. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  532. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  533. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  534. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  535. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  536. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  537. package/dist/router/error-handling.d.ts +0 -77
  538. package/dist/router/error-handling.d.ts.map +0 -1
  539. package/dist/router/error-handling.js +0 -202
  540. package/dist/router/error-handling.js.map +0 -1
  541. package/dist/router/handler-context.d.ts +0 -20
  542. package/dist/router/handler-context.d.ts.map +0 -1
  543. package/dist/router/handler-context.js +0 -198
  544. package/dist/router/handler-context.js.map +0 -1
  545. package/dist/router/intercept-resolution.d.ts +0 -66
  546. package/dist/router/intercept-resolution.d.ts.map +0 -1
  547. package/dist/router/intercept-resolution.js +0 -246
  548. package/dist/router/intercept-resolution.js.map +0 -1
  549. package/dist/router/loader-resolution.d.ts +0 -64
  550. package/dist/router/loader-resolution.d.ts.map +0 -1
  551. package/dist/router/loader-resolution.js +0 -284
  552. package/dist/router/loader-resolution.js.map +0 -1
  553. package/dist/router/logging.d.ts +0 -15
  554. package/dist/router/logging.d.ts.map +0 -1
  555. package/dist/router/logging.js +0 -99
  556. package/dist/router/logging.js.map +0 -1
  557. package/dist/router/manifest.d.ts +0 -22
  558. package/dist/router/manifest.d.ts.map +0 -1
  559. package/dist/router/manifest.js +0 -181
  560. package/dist/router/manifest.js.map +0 -1
  561. package/dist/router/match-api.d.ts +0 -35
  562. package/dist/router/match-api.d.ts.map +0 -1
  563. package/dist/router/match-api.js +0 -406
  564. package/dist/router/match-api.js.map +0 -1
  565. package/dist/router/match-context.d.ts +0 -206
  566. package/dist/router/match-context.d.ts.map +0 -1
  567. package/dist/router/match-context.js +0 -17
  568. package/dist/router/match-context.js.map +0 -1
  569. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  570. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  571. package/dist/router/match-middleware/background-revalidation.js +0 -75
  572. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  573. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  574. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  575. package/dist/router/match-middleware/cache-lookup.js +0 -257
  576. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  577. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  578. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  579. package/dist/router/match-middleware/cache-store.js +0 -108
  580. package/dist/router/match-middleware/cache-store.js.map +0 -1
  581. package/dist/router/match-middleware/index.d.ts +0 -81
  582. package/dist/router/match-middleware/index.d.ts.map +0 -1
  583. package/dist/router/match-middleware/index.js +0 -80
  584. package/dist/router/match-middleware/index.js.map +0 -1
  585. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  586. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  587. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  588. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  589. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  590. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  591. package/dist/router/match-middleware/segment-resolution.js +0 -53
  592. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  593. package/dist/router/match-pipelines.d.ts +0 -147
  594. package/dist/router/match-pipelines.d.ts.map +0 -1
  595. package/dist/router/match-pipelines.js +0 -82
  596. package/dist/router/match-pipelines.js.map +0 -1
  597. package/dist/router/match-result.d.ts +0 -126
  598. package/dist/router/match-result.d.ts.map +0 -1
  599. package/dist/router/match-result.js +0 -93
  600. package/dist/router/match-result.js.map +0 -1
  601. package/dist/router/metrics.d.ts +0 -20
  602. package/dist/router/metrics.d.ts.map +0 -1
  603. package/dist/router/metrics.js +0 -47
  604. package/dist/router/metrics.js.map +0 -1
  605. package/dist/router/middleware.d.ts +0 -249
  606. package/dist/router/middleware.d.ts.map +0 -1
  607. package/dist/router/middleware.js +0 -434
  608. package/dist/router/middleware.js.map +0 -1
  609. package/dist/router/middleware.test.d.ts +0 -2
  610. package/dist/router/middleware.test.d.ts.map +0 -1
  611. package/dist/router/middleware.test.js +0 -816
  612. package/dist/router/middleware.test.js.map +0 -1
  613. package/dist/router/pattern-matching.d.ts +0 -149
  614. package/dist/router/pattern-matching.d.ts.map +0 -1
  615. package/dist/router/pattern-matching.js +0 -349
  616. package/dist/router/pattern-matching.js.map +0 -1
  617. package/dist/router/revalidation.d.ts +0 -44
  618. package/dist/router/revalidation.d.ts.map +0 -1
  619. package/dist/router/revalidation.js +0 -147
  620. package/dist/router/revalidation.js.map +0 -1
  621. package/dist/router/router-context.d.ts +0 -135
  622. package/dist/router/router-context.d.ts.map +0 -1
  623. package/dist/router/router-context.js +0 -36
  624. package/dist/router/router-context.js.map +0 -1
  625. package/dist/router/segment-resolution.d.ts +0 -127
  626. package/dist/router/segment-resolution.d.ts.map +0 -1
  627. package/dist/router/segment-resolution.js +0 -919
  628. package/dist/router/segment-resolution.js.map +0 -1
  629. package/dist/router/trie-matching.d.ts +0 -40
  630. package/dist/router/trie-matching.d.ts.map +0 -1
  631. package/dist/router/trie-matching.js +0 -127
  632. package/dist/router/trie-matching.js.map +0 -1
  633. package/dist/router/types.d.ts +0 -136
  634. package/dist/router/types.d.ts.map +0 -1
  635. package/dist/router/types.js +0 -7
  636. package/dist/router/types.js.map +0 -1
  637. package/dist/router.d.ts +0 -753
  638. package/dist/router.d.ts.map +0 -1
  639. package/dist/router.gen.d.ts +0 -6
  640. package/dist/router.gen.d.ts.map +0 -1
  641. package/dist/router.gen.js +0 -6
  642. package/dist/router.gen.js.map +0 -1
  643. package/dist/router.js +0 -1304
  644. package/dist/router.js.map +0 -1
  645. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  646. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  647. package/dist/rsc/__tests__/helpers.test.js +0 -140
  648. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  649. package/dist/rsc/handler.d.ts +0 -45
  650. package/dist/rsc/handler.d.ts.map +0 -1
  651. package/dist/rsc/handler.js +0 -1172
  652. package/dist/rsc/handler.js.map +0 -1
  653. package/dist/rsc/helpers.d.ts +0 -16
  654. package/dist/rsc/helpers.d.ts.map +0 -1
  655. package/dist/rsc/helpers.js +0 -55
  656. package/dist/rsc/helpers.js.map +0 -1
  657. package/dist/rsc/index.d.ts +0 -22
  658. package/dist/rsc/index.d.ts.map +0 -1
  659. package/dist/rsc/index.js +0 -23
  660. package/dist/rsc/index.js.map +0 -1
  661. package/dist/rsc/nonce.d.ts +0 -9
  662. package/dist/rsc/nonce.d.ts.map +0 -1
  663. package/dist/rsc/nonce.js +0 -18
  664. package/dist/rsc/nonce.js.map +0 -1
  665. package/dist/rsc/types.d.ts +0 -206
  666. package/dist/rsc/types.d.ts.map +0 -1
  667. package/dist/rsc/types.js +0 -8
  668. package/dist/rsc/types.js.map +0 -1
  669. package/dist/search-params.d.ts +0 -103
  670. package/dist/search-params.d.ts.map +0 -1
  671. package/dist/search-params.js +0 -74
  672. package/dist/search-params.js.map +0 -1
  673. package/dist/segment-system.d.ts +0 -75
  674. package/dist/segment-system.d.ts.map +0 -1
  675. package/dist/segment-system.js +0 -336
  676. package/dist/segment-system.js.map +0 -1
  677. package/dist/server/context.d.ts +0 -245
  678. package/dist/server/context.d.ts.map +0 -1
  679. package/dist/server/context.js +0 -197
  680. package/dist/server/context.js.map +0 -1
  681. package/dist/server/fetchable-loader-store.d.ts +0 -18
  682. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  683. package/dist/server/fetchable-loader-store.js +0 -18
  684. package/dist/server/fetchable-loader-store.js.map +0 -1
  685. package/dist/server/handle-store.d.ts +0 -85
  686. package/dist/server/handle-store.d.ts.map +0 -1
  687. package/dist/server/handle-store.js +0 -142
  688. package/dist/server/handle-store.js.map +0 -1
  689. package/dist/server/loader-registry.d.ts +0 -55
  690. package/dist/server/loader-registry.d.ts.map +0 -1
  691. package/dist/server/loader-registry.js +0 -132
  692. package/dist/server/loader-registry.js.map +0 -1
  693. package/dist/server/request-context.d.ts +0 -226
  694. package/dist/server/request-context.d.ts.map +0 -1
  695. package/dist/server/request-context.js +0 -290
  696. package/dist/server/request-context.js.map +0 -1
  697. package/dist/server/root-layout.d.ts +0 -4
  698. package/dist/server/root-layout.d.ts.map +0 -1
  699. package/dist/server/root-layout.js +0 -5
  700. package/dist/server/root-layout.js.map +0 -1
  701. package/dist/server.d.ts +0 -15
  702. package/dist/server.d.ts.map +0 -1
  703. package/dist/server.js +0 -20
  704. package/dist/server.js.map +0 -1
  705. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  706. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  707. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  708. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  709. package/dist/ssr/index.d.ts +0 -98
  710. package/dist/ssr/index.d.ts.map +0 -1
  711. package/dist/ssr/index.js +0 -158
  712. package/dist/ssr/index.js.map +0 -1
  713. package/dist/static-handler.d.ts +0 -50
  714. package/dist/static-handler.d.ts.map +0 -1
  715. package/dist/static-handler.gen.d.ts +0 -5
  716. package/dist/static-handler.gen.d.ts.map +0 -1
  717. package/dist/static-handler.gen.js +0 -5
  718. package/dist/static-handler.gen.js.map +0 -1
  719. package/dist/static-handler.js +0 -29
  720. package/dist/static-handler.js.map +0 -1
  721. package/dist/theme/ThemeProvider.d.ts +0 -20
  722. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  723. package/dist/theme/ThemeProvider.js +0 -240
  724. package/dist/theme/ThemeProvider.js.map +0 -1
  725. package/dist/theme/ThemeScript.d.ts +0 -48
  726. package/dist/theme/ThemeScript.d.ts.map +0 -1
  727. package/dist/theme/ThemeScript.js +0 -13
  728. package/dist/theme/ThemeScript.js.map +0 -1
  729. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  730. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  731. package/dist/theme/__tests__/theme.test.js +0 -103
  732. package/dist/theme/__tests__/theme.test.js.map +0 -1
  733. package/dist/theme/constants.d.ts +0 -29
  734. package/dist/theme/constants.d.ts.map +0 -1
  735. package/dist/theme/constants.js +0 -48
  736. package/dist/theme/constants.js.map +0 -1
  737. package/dist/theme/index.d.ts +0 -31
  738. package/dist/theme/index.d.ts.map +0 -1
  739. package/dist/theme/index.js +0 -36
  740. package/dist/theme/index.js.map +0 -1
  741. package/dist/theme/theme-context.d.ts +0 -40
  742. package/dist/theme/theme-context.d.ts.map +0 -1
  743. package/dist/theme/theme-context.js +0 -60
  744. package/dist/theme/theme-context.js.map +0 -1
  745. package/dist/theme/theme-script.d.ts +0 -27
  746. package/dist/theme/theme-script.d.ts.map +0 -1
  747. package/dist/theme/theme-script.js +0 -147
  748. package/dist/theme/theme-script.js.map +0 -1
  749. package/dist/theme/types.d.ts +0 -163
  750. package/dist/theme/types.d.ts.map +0 -1
  751. package/dist/theme/types.js +0 -11
  752. package/dist/theme/types.js.map +0 -1
  753. package/dist/theme/use-theme.d.ts +0 -12
  754. package/dist/theme/use-theme.d.ts.map +0 -1
  755. package/dist/theme/use-theme.js +0 -40
  756. package/dist/theme/use-theme.js.map +0 -1
  757. package/dist/types.d.ts +0 -1479
  758. package/dist/types.d.ts.map +0 -1
  759. package/dist/types.js +0 -10
  760. package/dist/types.js.map +0 -1
  761. package/dist/urls.d.ts +0 -441
  762. package/dist/urls.d.ts.map +0 -1
  763. package/dist/urls.gen.d.ts +0 -8
  764. package/dist/urls.gen.d.ts.map +0 -1
  765. package/dist/urls.gen.js +0 -8
  766. package/dist/urls.gen.js.map +0 -1
  767. package/dist/urls.js +0 -443
  768. package/dist/urls.js.map +0 -1
  769. package/dist/use-loader.d.ts +0 -127
  770. package/dist/use-loader.d.ts.map +0 -1
  771. package/dist/use-loader.js +0 -237
  772. package/dist/use-loader.js.map +0 -1
  773. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  774. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  775. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  776. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  777. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  778. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  779. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  780. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  781. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  782. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  783. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  784. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  785. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  786. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  787. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  788. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  789. package/dist/vite/ast-handler-extract.d.ts +0 -49
  790. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  791. package/dist/vite/ast-handler-extract.js +0 -249
  792. package/dist/vite/ast-handler-extract.js.map +0 -1
  793. package/dist/vite/expose-action-id.d.ts +0 -19
  794. package/dist/vite/expose-action-id.d.ts.map +0 -1
  795. package/dist/vite/expose-action-id.js +0 -250
  796. package/dist/vite/expose-action-id.js.map +0 -1
  797. package/dist/vite/expose-id-utils.d.ts +0 -69
  798. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  799. package/dist/vite/expose-id-utils.js +0 -289
  800. package/dist/vite/expose-id-utils.js.map +0 -1
  801. package/dist/vite/expose-internal-ids.d.ts +0 -22
  802. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  803. package/dist/vite/expose-internal-ids.js +0 -886
  804. package/dist/vite/expose-internal-ids.js.map +0 -1
  805. package/dist/vite/index.d.ts +0 -149
  806. package/dist/vite/index.d.ts.map +0 -1
  807. package/dist/vite/index.js.bak +0 -5448
  808. package/dist/vite/index.js.map +0 -1
  809. package/dist/vite/index.named-routes.gen.ts +0 -103
  810. package/dist/vite/package-resolution.d.ts +0 -43
  811. package/dist/vite/package-resolution.d.ts.map +0 -1
  812. package/dist/vite/package-resolution.js +0 -112
  813. package/dist/vite/package-resolution.js.map +0 -1
  814. package/dist/vite/virtual-entries.d.ts +0 -25
  815. package/dist/vite/virtual-entries.d.ts.map +0 -1
  816. package/dist/vite/virtual-entries.js +0 -110
  817. 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":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAgEvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA2B;IAE3B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEpE;;OAEG;IACH,SAAS,oBAAoB;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC/C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,kBAAkB,CAC/B,SAAiB,EACjB,UAAgC,EAChC,OAAgB,EAChB,MAA+B,EAC/B,EAAoB,EACpB,OAOC;QAED,MAAM,EACJ,QAAQ,GAAG,KAAK,EAChB,iBAAiB,GAAG,KAAK,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GAAG,KAAK,GACzB,GAAG,OAAO,IAAI,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE9C,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAEhD,gGAAgG;QAChG,2FAA2F;QAC3F,IAAI,QAAkB,CAAC;QACvB,IAAI,gBAAgB,EAAE,CAAC;YACrB,4EAA4E;YAC5E,gEAAgE;YAChE,MAAM,eAAe,GAAG,UAAU,IAAI,YAAY,CAAC,iBAAiB,CAAC;YACrE,wEAAwE;YACxE,+DAA+D;YAC/D,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CACT,oDAAoD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,UAAU,IAAI,YAAY,CAAC,iBAAiB,CAAC;QAC1D,CAAC;QAED,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,WAAW,GACf,kBAAkB,IAAI,EAAE,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,qCAAqC,kBAAkB,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,kDAAkD;QAClD,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,IAAI,iBAA+C,CAAC;QACpD,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;YAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QACD,oEAAoE;QACpE,+CAA+C;QAC/C,MAAM,cAAc,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;QAC3C,wEAAwE;QACxE,iFAAiF;QACjF,+DAA+D;QAC/D,IAAI,WAAkE,CAAC;QACvE,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACtC,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,QAAQ;gBACpB,WAAW;gBACX,iBAAiB;gBACjB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YACjD,cAAc,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;YAElE,0DAA0D;YAC1D,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEnD,6CAA6C;YAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;YACzD,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAkB,EAAE,EAAE,CACjD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAC3B,CAAC;YAEF,oDAAoD;YACpD,gFAAgF;YAChF,gFAAgF;YAChF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,OAAO,IAAI,EAAE,CAAC;gBACjC,MAAM,gBAAgB,GAAG,UAAU;qBAChC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC9C,MAAM,CAAC,OAAO,CAAsB,CAAC;gBAExC,0EAA0E;gBAC1E,+EAA+E;gBAC/E,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1D,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAC;oBAEF,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE;wBACrD,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBAEH,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;oBAExC,yEAAyE;oBACzE,gDAAgD;oBAChD,+EAA+E;oBAC/E,gFAAgF;oBAChF,sFAAsF;oBACtF,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE,GAC1D,OAAO,CAAC,QAAS,CAAC;oBACpB,QAAQ,CAAC;wBACP,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE;4BACR,GAAG,sBAAsB;4BACzB,gBAAgB,EAAE,qBAAqB;yBACxC;qBACF,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBACrE,OAAO,cAAc,CAAC;gBACxB,CAAC;gBAED,+DAA+D;gBAC/D,+EAA+E;gBAC/E,kCAAkC;gBAClC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;oBAEF,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE;wBACrD,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBAEH,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;oBAExC,QAAQ,CAAC;wBACP,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC3B,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;oBAChE,OAAO,cAAc,CAAC;gBACxB,CAAC;gBAED,2DAA2D;gBAC3D,OAAO,CAAC,GAAG,CACT,8EAA8E,CAC/E,CAAC;gBACF,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,sCAAsC;YACtC,qDAAqD;YACrD,iDAAiD;YACjD,MAAM,UAAU,GAAG,OAAO,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CACT,qCAAqC,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,iCAAiC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvE,aAAa,CACd,CAAC;YAEF,8CAA8C;YAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,UAAU;iBAC3B,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE;gBAClB,qDAAqD;gBACrD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,UAAU,EAAE,CAAC;oBACf,6EAA6E;oBAC7E,wEAAwE;oBACxE,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5C,0DAA0D;oBAC1D,IAAI,SAAS,EAAE,CAAC;wBACd,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;oBAClE,CAAC;oBACD,IACE,CAAC,iBAAiB,IAAI,QAAQ,CAAC;wBAC/B,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,EACvC,CAAC;wBACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBACpD,CAAC;oBACD,2EAA2E;oBAC3E,yEAAyE;oBACzE,oEAAoE;oBACpE,4DAA4D;oBAC5D,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,MAAM,GAAG,UAAU,CAAC;wBAExB,qEAAqE;wBACrE,2EAA2E;wBAC3E,8DAA8D;wBAC9D,IACE,UAAU,CAAC,SAAS,KAAK,IAAI;4BAC7B,UAAU,CAAC,IAAI,KAAK,QAAQ;4BAC5B,SAAS,CAAC,SAAS,IAAI,IAAI,EAC3B,CAAC;4BACD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;wBACzD,CAAC;wBAED,IACE,SAAS,CAAC,OAAO,KAAK,SAAS;4BAC/B,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,EACxC,CAAC;4BACD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;wBACrD,CAAC;wBAED,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;4BACjD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;wBACzD,CAAC;wBAED,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,8CAA8C;gBAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;oBACjD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,2DAA2D;gBAC3D,+EAA+E;gBAC/E,2DAA2D;gBAC3D,sEAAsE;gBACtE,2CAA2C;gBAC3C,wEAAwE;gBACxE,kFAAkF;gBAClF,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBACnE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBAC9C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAsB,CAAC;YAExC,0FAA0F;YAC1F,yBAAyB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAE1E,8DAA8D;YAC9D,8FAA8F;YAC9F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAClC,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CACzC,CAAC;YAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;gBAEvC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC5C,MAAM,IAAI,KAAK,CACb,6DAA6D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtF,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;oBACF,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,mCAAmC,YAAY,8BAA8B,CAC9E,CAAC;gBAEF,wDAAwD;gBACxD,OAAO,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,yEAAyE;YACzE,mFAAmF;YACnF,kDAAkD;YAClD,MAAM,kBAAkB,GAAG,CAAC,CAAkB,EAAE,EAAE,CAChD,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC;gBACrC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvE,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,6DAA6D,CAC9D,CAAC;gBACF,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,4DAA4D;YAC5D,yEAAyE;YACzE,2DAA2D;YAC3D,wEAAwE;YACxE,MAAM,aAAa,GAAG;gBACpB,QAAQ;gBACR,UAAU,EAAE,iBAAiB;gBAC7B,iBAAiB,EACf,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;aAC/D,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;gBAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBACX,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC;oBAC3C,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;wBAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,MAAM,CAAC,IAAI,YAAY,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;wBAC/D,CAAC;wBACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;4BACpC,MAAM,CAAC,IAAI,YAAY,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;wBAC/D,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;iBACH,CAAC;gBACJ,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;YAEjD,4EAA4E;YAC5E,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,6DAA6D,CAC9D,CAAC;gBACF,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,8DAA8D;YAC9D,4DAA4D;YAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK;gBAChD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;gBACnE,CAAC,CAAC,KAAK,CAAC;YAEV,0GAA0G;YAC1G,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpC,IAAI,kBAAkB,EAAE,CAAC;oBACvB,4EAA4E;oBAC5E,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,mEAAmE;oBACnE,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,iFAAiF;YACjF,6EAA6E;YAC7E,kFAAkF;YAClF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnD,EAAE,CAAC,MAAM,CACP,aAAa,EACb,WAAW,EACX,kBAAkB;gBAChB,CAAC,CAAC;oBACE,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,IAAI;oBACf,kBAAkB,EAAE,YAAY,CAAC,UAAU;iBAC5C;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YAEF,+EAA+E;YAC/E,0EAA0E;YAC1E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC5C,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CACT,sDAAsD,iBAAiB,OAAO,aAAa,uBAAuB,CACnH,CAAC;oBACF,OAAO,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAElD,sCAAsC;YACtC,sFAAsF;YACtF,8DAA8D;YAC9D,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAClC,eAAe,CAAC,GAAG,EAAE;oBACnB,QAAQ,CAAC;wBACP,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,OAAO,CAAC,QAAS;qBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,OAAO,CAAC,QAAS;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,cAAc,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,mEAAmE;YACnE,4DAA4D;YAC5D,mEAAmE;YACnE,oEAAoE;YACpE,qCAAqC;YACrC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;YAElD,0DAA0D;YAC1D,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9D,uDAAuD;YACvD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAE/C,4EAA4E;YAC5E,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,6DAA6D,CAC9D,CAAC;gBACF,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,yEAAyE;YACzE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEhC,sCAAsC;YACtC,mEAAmE;YACnE,8DAA8D;YAC9D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,iBAAiB,CAAC;gBACxB,eAAe,CAAC,GAAG,EAAE;oBACnB,QAAQ,CAAC;wBACP,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,OAAO,CAAC,QAAS;qBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,eAAe,CAAC,KAAK,IAAI,EAAE;oBACzB,QAAQ,CAAC;wBACP,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,OAAO,CAAC,QAAS;qBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,OAAO,CAAC,QAAS;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,CAAC"}
@@ -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"}