@askrjs/askr 0.0.47 → 0.0.49

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 (394) hide show
  1. package/dist/benchmark.js +6 -6
  2. package/dist/benchmark.js.map +1 -1
  3. package/dist/boot/hydration.js +140 -0
  4. package/dist/boot/hydration.js.map +1 -0
  5. package/dist/boot/index.d.ts +3 -56
  6. package/dist/boot/index.d.ts.map +1 -1
  7. package/dist/boot/index.js +62 -410
  8. package/dist/boot/index.js.map +1 -1
  9. package/dist/boot/root-lifecycle.d.ts +15 -0
  10. package/dist/boot/root-lifecycle.d.ts.map +1 -0
  11. package/dist/boot/root-lifecycle.js +205 -0
  12. package/dist/boot/root-lifecycle.js.map +1 -0
  13. package/dist/boot/route-startup.js +45 -0
  14. package/dist/boot/route-startup.js.map +1 -0
  15. package/dist/boot/types.d.ts +62 -0
  16. package/dist/boot/types.d.ts.map +1 -0
  17. package/dist/common/component.d.ts +3 -1
  18. package/dist/common/component.d.ts.map +1 -1
  19. package/dist/common/jsx.d.ts +1 -1
  20. package/dist/common/jsx.d.ts.map +1 -1
  21. package/dist/common/jsx.js.map +1 -1
  22. package/dist/common/props.d.ts +1 -1
  23. package/dist/common/render-context.js +55 -0
  24. package/dist/common/render-context.js.map +1 -0
  25. package/dist/common/router.d.ts +5 -1
  26. package/dist/common/router.d.ts.map +1 -1
  27. package/dist/common/ssr.d.ts +1 -1
  28. package/dist/common/ssr.js.map +1 -1
  29. package/dist/common/vnode.d.ts +5 -4
  30. package/dist/common/vnode.d.ts.map +1 -1
  31. package/dist/common/vnode.js.map +1 -1
  32. package/dist/components/error-boundary.d.ts +1 -1
  33. package/dist/components/error-boundary.js +2 -1
  34. package/dist/components/error-boundary.js.map +1 -1
  35. package/dist/components/link.js.map +1 -1
  36. package/dist/control/for.js +2 -1
  37. package/dist/control/for.js.map +1 -1
  38. package/dist/data/data-runtime.d.ts +28 -0
  39. package/dist/data/data-runtime.d.ts.map +1 -0
  40. package/dist/data/data-runtime.js +114 -0
  41. package/dist/data/data-runtime.js.map +1 -0
  42. package/dist/data/index.d.ts +6 -142
  43. package/dist/data/index.js +5 -539
  44. package/dist/data/invalidation.d.ts +9 -0
  45. package/dist/data/invalidation.d.ts.map +1 -0
  46. package/dist/data/invalidation.js +27 -0
  47. package/dist/data/invalidation.js.map +1 -0
  48. package/dist/data/mutation-cell.d.ts +28 -0
  49. package/dist/data/mutation-cell.d.ts.map +1 -0
  50. package/dist/data/mutation-cell.js +132 -0
  51. package/dist/data/mutation-cell.js.map +1 -0
  52. package/dist/data/query-cell.d.ts +46 -0
  53. package/dist/data/query-cell.d.ts.map +1 -0
  54. package/dist/data/query-cell.js +290 -0
  55. package/dist/data/query-cell.js.map +1 -0
  56. package/dist/data/query-key.js +42 -0
  57. package/dist/data/query-key.js.map +1 -0
  58. package/dist/data/shared.js +20 -0
  59. package/dist/data/shared.js.map +1 -0
  60. package/dist/data/types.d.ts +161 -0
  61. package/dist/data/types.d.ts.map +1 -0
  62. package/dist/foundations/icon/icon.d.ts.map +1 -1
  63. package/dist/foundations/icon/icon.js.map +1 -1
  64. package/dist/foundations/structures/portal.d.ts +1 -1
  65. package/dist/foundations/structures/portal.d.ts.map +1 -1
  66. package/dist/foundations/structures/portal.js +2 -1
  67. package/dist/foundations/structures/portal.js.map +1 -1
  68. package/dist/fx/fx.d.ts +1 -1
  69. package/dist/fx/fx.js +5 -4
  70. package/dist/fx/fx.js.map +1 -1
  71. package/dist/fx/timing.d.ts.map +1 -1
  72. package/dist/fx/timing.js +10 -6
  73. package/dist/fx/timing.js.map +1 -1
  74. package/dist/index.d.ts +3 -2
  75. package/dist/index.js +4 -2
  76. package/dist/index.js.map +1 -1
  77. package/dist/jsx/index.d.ts +2 -1
  78. package/dist/jsx/index.js +3 -2
  79. package/dist/jsx/types.d.ts +2 -0
  80. package/dist/jsx/types.js +2 -1
  81. package/dist/jsx-runtime2.d.ts +2 -1
  82. package/dist/jsx-runtime2.js +3 -2
  83. package/dist/renderer/attributes.js +231 -0
  84. package/dist/renderer/attributes.js.map +1 -0
  85. package/dist/renderer/boundaries.js +266 -0
  86. package/dist/renderer/boundaries.js.map +1 -0
  87. package/dist/renderer/child-shape.js +85 -0
  88. package/dist/renderer/child-shape.js.map +1 -0
  89. package/dist/renderer/children.js +3 -2
  90. package/dist/renderer/children.js.map +1 -1
  91. package/dist/renderer/cleanup.js +2 -1
  92. package/dist/renderer/cleanup.js.map +1 -1
  93. package/dist/renderer/component-host-cleanup.js +68 -0
  94. package/dist/renderer/component-host-cleanup.js.map +1 -0
  95. package/dist/renderer/component-host-instances.js +65 -0
  96. package/dist/renderer/component-host-instances.js.map +1 -0
  97. package/dist/renderer/component-host.js +247 -0
  98. package/dist/renderer/component-host.js.map +1 -0
  99. package/dist/renderer/dom-host.js +13 -0
  100. package/dist/renderer/dom-host.js.map +1 -0
  101. package/dist/renderer/dom-internal.js +185 -0
  102. package/dist/renderer/dom-internal.js.map +1 -0
  103. package/dist/renderer/dom.js +9 -2356
  104. package/dist/renderer/element-children.js +279 -0
  105. package/dist/renderer/element-children.js.map +1 -0
  106. package/dist/renderer/env.js +2 -1
  107. package/dist/renderer/error-boundary-dom.js +29 -0
  108. package/dist/renderer/error-boundary-dom.js.map +1 -0
  109. package/dist/renderer/evaluate-dom-range.js +85 -0
  110. package/dist/renderer/evaluate-dom-range.js.map +1 -0
  111. package/dist/renderer/evaluate-reconcile.js +281 -0
  112. package/dist/renderer/evaluate-reconcile.js.map +1 -0
  113. package/dist/renderer/evaluate.js +13 -399
  114. package/dist/renderer/evaluate.js.map +1 -1
  115. package/dist/renderer/fastpath.js +6 -5
  116. package/dist/renderer/fastpath.js.map +1 -1
  117. package/dist/renderer/for-commit-dom-map.js +83 -0
  118. package/dist/renderer/for-commit-dom-map.js.map +1 -0
  119. package/dist/renderer/for-commit-removal.js +36 -0
  120. package/dist/renderer/for-commit-removal.js.map +1 -0
  121. package/dist/renderer/for-commit-reorder.js +89 -0
  122. package/dist/renderer/for-commit-reorder.js.map +1 -0
  123. package/dist/renderer/for-commit.js +6 -188
  124. package/dist/renderer/for-commit.js.map +1 -1
  125. package/dist/renderer/index.js +28 -16
  126. package/dist/renderer/index.js.map +1 -1
  127. package/dist/renderer/keyed-children.js +32 -0
  128. package/dist/renderer/keyed-children.js.map +1 -0
  129. package/dist/renderer/keyed.js +2 -15
  130. package/dist/renderer/keyed.js.map +1 -1
  131. package/dist/renderer/namespaces.js +23 -0
  132. package/dist/renderer/namespaces.js.map +1 -0
  133. package/dist/renderer/prop-bindings.js +280 -0
  134. package/dist/renderer/prop-bindings.js.map +1 -0
  135. package/dist/renderer/reactive-child-dom.js +133 -0
  136. package/dist/renderer/reactive-child-dom.js.map +1 -0
  137. package/dist/renderer/reactive-child-sources.js +184 -0
  138. package/dist/renderer/reactive-child-sources.js.map +1 -0
  139. package/dist/renderer/reactive-children.js +294 -0
  140. package/dist/renderer/reactive-children.js.map +1 -0
  141. package/dist/renderer/reconcile-commit.js +38 -0
  142. package/dist/renderer/reconcile-commit.js.map +1 -0
  143. package/dist/renderer/reconcile-fastpaths.js +106 -0
  144. package/dist/renderer/reconcile-fastpaths.js.map +1 -0
  145. package/dist/renderer/reconcile-resolution.js +187 -0
  146. package/dist/renderer/reconcile-resolution.js.map +1 -0
  147. package/dist/renderer/reconcile.js +9 -371
  148. package/dist/renderer/reconcile.js.map +1 -1
  149. package/dist/renderer/retained-element-rollback.js +276 -0
  150. package/dist/renderer/retained-element-rollback.js.map +1 -0
  151. package/dist/renderer/stable-patch.js +82 -0
  152. package/dist/renderer/stable-patch.js.map +1 -0
  153. package/dist/renderer/static-reuse.js +96 -0
  154. package/dist/renderer/static-reuse.js.map +1 -0
  155. package/dist/renderer/types.js +2 -1
  156. package/dist/renderer/utils.js +4 -4
  157. package/dist/renderer/utils.js.map +1 -1
  158. package/dist/resources/index.d.ts +3 -2
  159. package/dist/resources/index.js +5 -2
  160. package/dist/router/access.js +36 -0
  161. package/dist/router/access.js.map +1 -0
  162. package/dist/router/activity.d.ts +10 -0
  163. package/dist/router/activity.d.ts.map +1 -0
  164. package/dist/router/activity.js +89 -0
  165. package/dist/router/activity.js.map +1 -0
  166. package/dist/router/authoring.d.ts +22 -0
  167. package/dist/router/authoring.d.ts.map +1 -0
  168. package/dist/router/authoring.js +198 -0
  169. package/dist/router/authoring.js.map +1 -0
  170. package/dist/router/index.d.ts +12 -4
  171. package/dist/router/index.js +9 -2
  172. package/dist/router/internal-types.d.ts +31 -0
  173. package/dist/router/internal-types.d.ts.map +1 -0
  174. package/dist/router/lazy.d.ts +19 -0
  175. package/dist/router/lazy.d.ts.map +1 -0
  176. package/dist/router/lazy.js +52 -0
  177. package/dist/router/lazy.js.map +1 -0
  178. package/dist/router/manifest.d.ts +10 -0
  179. package/dist/router/manifest.d.ts.map +1 -0
  180. package/dist/router/manifest.js +49 -0
  181. package/dist/router/manifest.js.map +1 -0
  182. package/dist/router/navigate.d.ts +4 -33
  183. package/dist/router/navigate.d.ts.map +1 -1
  184. package/dist/router/navigate.js +17 -414
  185. package/dist/router/navigate.js.map +1 -1
  186. package/dist/router/navigation-registry.d.ts +32 -0
  187. package/dist/router/navigation-registry.d.ts.map +1 -0
  188. package/dist/router/navigation-registry.js +105 -0
  189. package/dist/router/navigation-registry.js.map +1 -0
  190. package/dist/router/navigation-scroll.d.ts +14 -0
  191. package/dist/router/navigation-scroll.d.ts.map +1 -0
  192. package/dist/router/navigation-scroll.js +93 -0
  193. package/dist/router/navigation-scroll.js.map +1 -0
  194. package/dist/router/navigation-targets.d.ts +31 -0
  195. package/dist/router/navigation-targets.d.ts.map +1 -0
  196. package/dist/router/navigation-targets.js +253 -0
  197. package/dist/router/navigation-targets.js.map +1 -0
  198. package/dist/router/policy.d.ts +7 -1
  199. package/dist/router/policy.d.ts.map +1 -1
  200. package/dist/router/policy.js +27 -9
  201. package/dist/router/policy.js.map +1 -1
  202. package/dist/router/rendering.d.ts +10 -0
  203. package/dist/router/rendering.d.ts.map +1 -0
  204. package/dist/router/rendering.js +45 -0
  205. package/dist/router/rendering.js.map +1 -0
  206. package/dist/router/resolution.d.ts +17 -0
  207. package/dist/router/resolution.d.ts.map +1 -0
  208. package/dist/router/resolution.js +253 -0
  209. package/dist/router/resolution.js.map +1 -0
  210. package/dist/router/route-query.d.ts +17 -0
  211. package/dist/router/route-query.d.ts.map +1 -0
  212. package/dist/router/route-query.js +47 -0
  213. package/dist/router/route-query.js.map +1 -0
  214. package/dist/router/route.d.ts +8 -149
  215. package/dist/router/route.js +8 -854
  216. package/dist/router/store.d.ts +50 -0
  217. package/dist/router/store.d.ts.map +1 -0
  218. package/dist/router/store.js +171 -0
  219. package/dist/router/store.js.map +1 -0
  220. package/dist/runtime/access.js +45 -0
  221. package/dist/runtime/access.js.map +1 -0
  222. package/dist/runtime/child-scope.d.ts +1 -1
  223. package/dist/runtime/child-scope.js +4 -1
  224. package/dist/runtime/child-scope.js.map +1 -1
  225. package/dist/runtime/component-cleanup.d.ts +16 -0
  226. package/dist/runtime/component-cleanup.d.ts.map +1 -0
  227. package/dist/runtime/component-cleanup.js +70 -0
  228. package/dist/runtime/component-cleanup.js.map +1 -0
  229. package/dist/runtime/component-commit.js +165 -0
  230. package/dist/runtime/component-commit.js.map +1 -0
  231. package/dist/runtime/component-contracts.js +5 -0
  232. package/dist/runtime/component-facade.d.ts +5 -0
  233. package/dist/runtime/component-facade.js +4 -0
  234. package/dist/runtime/component-internal.d.ts +100 -0
  235. package/dist/runtime/component-internal.d.ts.map +1 -0
  236. package/dist/runtime/component-internal.js +219 -0
  237. package/dist/runtime/component-internal.js.map +1 -0
  238. package/dist/runtime/component-lifecycle.d.ts +49 -0
  239. package/dist/runtime/component-lifecycle.d.ts.map +1 -0
  240. package/dist/runtime/component-lifecycle.js +176 -0
  241. package/dist/runtime/component-lifecycle.js.map +1 -0
  242. package/dist/runtime/component-scope.d.ts +55 -0
  243. package/dist/runtime/component-scope.d.ts.map +1 -0
  244. package/dist/runtime/component-scope.js +154 -0
  245. package/dist/runtime/component-scope.js.map +1 -0
  246. package/dist/runtime/component.d.ts +4 -152
  247. package/dist/runtime/component.js +4 -692
  248. package/dist/runtime/context.d.ts +1 -1
  249. package/dist/runtime/context.js +6 -4
  250. package/dist/runtime/context.js.map +1 -1
  251. package/dist/runtime/control.d.ts +3 -3
  252. package/dist/runtime/control.js +2 -1
  253. package/dist/runtime/control.js.map +1 -1
  254. package/dist/runtime/derive.d.ts.map +1 -1
  255. package/dist/runtime/derive.js +6 -5
  256. package/dist/runtime/derive.js.map +1 -1
  257. package/dist/runtime/effect.d.ts +1 -1
  258. package/dist/runtime/effect.d.ts.map +1 -1
  259. package/dist/runtime/effect.js +2 -2
  260. package/dist/runtime/effect.js.map +1 -1
  261. package/dist/runtime/events.js +3 -3
  262. package/dist/runtime/events.js.map +1 -1
  263. package/dist/runtime/fastlane.js +13 -27
  264. package/dist/runtime/fastlane.js.map +1 -1
  265. package/dist/runtime/for-bench.d.ts +1 -1
  266. package/dist/runtime/for-bench.js +1 -4
  267. package/dist/runtime/for-bench.js.map +1 -1
  268. package/dist/runtime/for-internal.d.ts +43 -0
  269. package/dist/runtime/for-internal.d.ts.map +1 -0
  270. package/dist/runtime/for-internal.js +98 -0
  271. package/dist/runtime/for-internal.js.map +1 -0
  272. package/dist/runtime/for-reconcile.d.ts +8 -0
  273. package/dist/runtime/for-reconcile.d.ts.map +1 -0
  274. package/dist/runtime/for-reconcile.js +389 -0
  275. package/dist/runtime/for-reconcile.js.map +1 -0
  276. package/dist/runtime/for-scopes.d.ts +26 -0
  277. package/dist/runtime/for-scopes.d.ts.map +1 -0
  278. package/dist/runtime/for-scopes.js +160 -0
  279. package/dist/runtime/for-scopes.js.map +1 -0
  280. package/dist/runtime/for-signals.d.ts +30 -0
  281. package/dist/runtime/for-signals.d.ts.map +1 -0
  282. package/dist/runtime/for-signals.js +139 -0
  283. package/dist/runtime/for-signals.js.map +1 -0
  284. package/dist/runtime/for.d.ts +4 -66
  285. package/dist/runtime/for.js +5 -773
  286. package/dist/runtime/lifecycle-operations.d.ts +31 -0
  287. package/dist/runtime/lifecycle-operations.d.ts.map +1 -0
  288. package/dist/runtime/lifecycle-operations.js +195 -0
  289. package/dist/runtime/lifecycle-operations.js.map +1 -0
  290. package/dist/runtime/operations.d.ts +3 -40
  291. package/dist/runtime/operations.js +2 -357
  292. package/dist/runtime/readable.d.ts +2 -3
  293. package/dist/runtime/readable.d.ts.map +1 -1
  294. package/dist/runtime/readable.js +6 -5
  295. package/dist/runtime/readable.js.map +1 -1
  296. package/dist/runtime/resource-cell.js +2 -2
  297. package/dist/runtime/resource-cell.js.map +1 -1
  298. package/dist/runtime/resource-operation.d.ts +13 -0
  299. package/dist/runtime/resource-operation.d.ts.map +1 -0
  300. package/dist/runtime/resource-operation.js +170 -0
  301. package/dist/runtime/resource-operation.js.map +1 -0
  302. package/dist/runtime/runtime.d.ts +42 -0
  303. package/dist/runtime/runtime.d.ts.map +1 -0
  304. package/dist/runtime/runtime.js +59 -0
  305. package/dist/runtime/runtime.js.map +1 -0
  306. package/dist/runtime/scheduler.d.ts +5 -1
  307. package/dist/runtime/scheduler.d.ts.map +1 -1
  308. package/dist/runtime/scheduler.js +17 -17
  309. package/dist/runtime/scheduler.js.map +1 -1
  310. package/dist/runtime/selector.js +4 -3
  311. package/dist/runtime/selector.js.map +1 -1
  312. package/dist/runtime/snapshot-source.d.ts +1 -1
  313. package/dist/runtime/snapshot-source.js +1 -1
  314. package/dist/runtime/state.js +2 -1
  315. package/dist/runtime/state.js.map +1 -1
  316. package/dist/ssg/batch-render.js +2 -1
  317. package/dist/ssg/batch-render.js.map +1 -1
  318. package/dist/ssg/create-static-gen.d.ts +9 -3
  319. package/dist/ssg/create-static-gen.d.ts.map +1 -1
  320. package/dist/ssg/create-static-gen.js +12 -99
  321. package/dist/ssg/create-static-gen.js.map +1 -1
  322. package/dist/ssg/generation-plan.js +70 -0
  323. package/dist/ssg/generation-plan.js.map +1 -0
  324. package/dist/ssg/incremental-manifest.js +1 -1
  325. package/dist/ssg/static-routes.js +101 -0
  326. package/dist/ssg/static-routes.js.map +1 -0
  327. package/dist/ssg/types.d.ts +15 -7
  328. package/dist/ssg/types.d.ts.map +1 -1
  329. package/dist/ssr/boundaries.js +113 -0
  330. package/dist/ssr/boundaries.js.map +1 -0
  331. package/dist/ssr/component-runtime.js +111 -0
  332. package/dist/ssr/component-runtime.js.map +1 -0
  333. package/dist/ssr/context.d.ts +3 -1
  334. package/dist/ssr/context.d.ts.map +1 -1
  335. package/dist/ssr/context.js +9 -2
  336. package/dist/ssr/context.js.map +1 -1
  337. package/dist/ssr/errors.d.ts +2 -0
  338. package/dist/ssr/errors.js +11 -1
  339. package/dist/ssr/errors.js.map +1 -1
  340. package/dist/ssr/escape.js +3 -3
  341. package/dist/ssr/escape.js.map +1 -1
  342. package/dist/ssr/hydration-data.js +10 -0
  343. package/dist/ssr/hydration-data.js.map +1 -0
  344. package/dist/ssr/hydration-verify.d.ts +12 -0
  345. package/dist/ssr/hydration-verify.d.ts.map +1 -0
  346. package/dist/ssr/hydration-verify.js +144 -0
  347. package/dist/ssr/hydration-verify.js.map +1 -0
  348. package/dist/ssr/index-internal.d.ts +15 -0
  349. package/dist/ssr/index-internal.d.ts.map +1 -0
  350. package/dist/ssr/index-internal.js +19 -0
  351. package/dist/ssr/index-internal.js.map +1 -0
  352. package/dist/ssr/index.d.ts +5 -57
  353. package/dist/ssr/index.js +3 -738
  354. package/dist/ssr/render-keys.js +9 -32
  355. package/dist/ssr/render-keys.js.map +1 -1
  356. package/dist/ssr/render-resolved.d.ts +1 -1
  357. package/dist/ssr/render-resolved.d.ts.map +1 -1
  358. package/dist/ssr/render-resolved.js +4 -2
  359. package/dist/ssr/render-resolved.js.map +1 -1
  360. package/dist/ssr/render-sync.d.ts +21 -0
  361. package/dist/ssr/render-sync.d.ts.map +1 -0
  362. package/dist/ssr/render-sync.js +275 -0
  363. package/dist/ssr/render-sync.js.map +1 -0
  364. package/dist/ssr/route-policy-resolution.js +77 -0
  365. package/dist/ssr/route-policy-resolution.js.map +1 -0
  366. package/dist/ssr/route-render.d.ts +77 -0
  367. package/dist/ssr/route-render.d.ts.map +1 -0
  368. package/dist/ssr/route-render.js +119 -0
  369. package/dist/ssr/route-render.js.map +1 -0
  370. package/dist/ssr/sink.d.ts +26 -0
  371. package/dist/ssr/sink.d.ts.map +1 -0
  372. package/dist/ssr/types.d.ts +1 -0
  373. package/dist/ssr/types.d.ts.map +1 -1
  374. package/dist/ssr/verify-hydration.js.map +1 -1
  375. package/dist/testing/index.d.ts +1 -2
  376. package/dist/testing/index.d.ts.map +1 -1
  377. package/dist/testing/index.js +2 -1
  378. package/dist/testing/index.js.map +1 -1
  379. package/package.json +4 -3
  380. package/dist/data/index.d.ts.map +0 -1
  381. package/dist/data/index.js.map +0 -1
  382. package/dist/renderer/dom.js.map +0 -1
  383. package/dist/router/route.d.ts.map +0 -1
  384. package/dist/router/route.js.map +0 -1
  385. package/dist/runtime/component.d.ts.map +0 -1
  386. package/dist/runtime/component.js.map +0 -1
  387. package/dist/runtime/for.d.ts.map +0 -1
  388. package/dist/runtime/for.js.map +0 -1
  389. package/dist/runtime/operations.d.ts.map +0 -1
  390. package/dist/runtime/operations.js.map +0 -1
  391. package/dist/runtime/ssr-bridge.js +0 -24
  392. package/dist/runtime/ssr-bridge.js.map +0 -1
  393. package/dist/ssr/index.d.ts.map +0 -1
  394. package/dist/ssr/index.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { RenderableChild } from "../common/vnode.js";
2
+ import { LayoutScopeRecord, PageScopeRecord, Route, RouteHandler, RoutePolicy, RouteRecord } from "../common/router.js";
3
+
4
+ //#region src/router/internal-types.d.ts
5
+ type AnyRouteComponent = (...args: any[]) => RenderableChild;
6
+ type InternalRoute = Route & {
7
+ fallbackPrefix?: string;
8
+ };
9
+ type InternalRouteRecord = RouteRecord & {
10
+ fallbackPrefix?: string;
11
+ renderHandler?: RouteHandler;
12
+ };
13
+ type AccessScopeState = {
14
+ guestOnly: boolean;
15
+ authenticated: boolean;
16
+ };
17
+ type RegistrationScope = {
18
+ kind: 'group' | 'page';
19
+ pathPrefix: string;
20
+ layout?: LayoutScopeRecord['component'];
21
+ page?: PageScopeRecord['component'];
22
+ hasIndex?: boolean;
23
+ policies: readonly RoutePolicy[];
24
+ state: AccessScopeState;
25
+ };
26
+ type RegistrationSession = {
27
+ authConfigured: boolean;
28
+ };
29
+ //#endregion
30
+ export { AccessScopeState, AnyRouteComponent, InternalRoute, InternalRouteRecord, RegistrationScope, RegistrationSession };
31
+ //# sourceMappingURL=internal-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-types.d.ts","names":[],"sources":["../../src/router/internal-types.ts"],"mappings":";;;;KAUY,iBAAA,OAAwB,IAAA,YAAgB,eAAe;AAAA,KAEvD,aAAA,GAAgB,KAAK;EAC/B,cAAc;AAAA;AAAA,KAGJ,mBAAA,GAAsB,WAAA;EAChC,cAAA;EACA,aAAA,GAAgB,YAAY;AAAA;AAAA,KAGlB,gBAAA;EACV,SAAA;EACA,aAAa;AAAA;AAAA,KAGH,iBAAA;EACV,IAAA;EACA,UAAA;EACA,MAAA,GAAS,iBAAA;EACT,IAAA,GAAO,eAAA;EACP,QAAA;EACA,QAAA,WAAmB,WAAA;EACnB,KAAA,EAAO,gBAAA;AAAA;AAAA,KAGG,mBAAA;EACV,cAAc;AAAA"}
@@ -0,0 +1,19 @@
1
+ import { RouteManifest, RouteRegistry } from "../common/router.js";
2
+ import { AnyRouteComponent } from "./internal-types.js";
3
+
4
+ //#region src/router/lazy.d.ts
5
+ declare function lazy<TComponent extends AnyRouteComponent>(factory: () => Promise<{
6
+ default: TComponent;
7
+ } | TComponent>): TComponent;
8
+ declare function _snapshotLazy(): Promise<unknown>[];
9
+ declare function _snapshotRouteSourceLazy(source: {
10
+ registry?: RouteRegistry;
11
+ manifest?: RouteManifest;
12
+ }): Promise<unknown>[];
13
+ declare function _drainLazy(additionalPending?: Iterable<Promise<unknown>>): Promise<void>;
14
+ declare function associateRouteSourceLazy(registry: RouteRegistry, manifest: RouteManifest, lazyImports: Promise<unknown>[]): void;
15
+ declare function clearPendingLazy(): void;
16
+ declare function restorePendingLazy(lazyImports: readonly Promise<unknown>[]): void;
17
+ //#endregion
18
+ export { lazy };
19
+ //# sourceMappingURL=lazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.d.ts","names":[],"sources":["../../src/router/lazy.ts"],"mappings":";;;;iBAYgB,IAAA,oBAAwB,iBAAA,EACtC,OAAA,QAAe,OAAA;EAAU,OAAA,EAAS,UAAA;AAAA,IAAe,UAAA,IAChD,UAAA;AAAA,iBA+Ba,aAAA,IAAiB,OAAO;AAAA,iBAIxB,wBAAA,CAAyB,MAAA;EACvC,QAAA,GAAW,aAAA;EACX,QAAA,GAAW,aAAA;AAAA,IACT,OAAA;AAAA,iBAmBY,UAAA,CACd,iBAAA,GAAmB,QAAA,CAAS,OAAA,aAC3B,OAAA;AAAA,iBASa,wBAAA,CACd,QAAA,EAAU,aAAA,EACV,QAAA,EAAU,aAAA,EACV,WAAA,EAAa,OAAA;AAAA,iBAUC,gBAAA;AAAA,iBAIA,kBAAA,CAAmB,WAAwC,WAAlB,OAAO"}
@@ -0,0 +1,52 @@
1
+ //#region src/router/lazy.ts
2
+ const pendingLazy = /* @__PURE__ */ new Set();
3
+ const registryLazyImports = /* @__PURE__ */ new WeakMap();
4
+ const manifestLazyImports = /* @__PURE__ */ new WeakMap();
5
+ function lazy(factory) {
6
+ let resolved = null;
7
+ let loadError = null;
8
+ const promise = factory().then((mod) => {
9
+ resolved = typeof mod === "function" ? mod : mod.default;
10
+ pendingLazy.delete(promise);
11
+ }, (err) => {
12
+ loadError = err;
13
+ pendingLazy.delete(promise);
14
+ });
15
+ pendingLazy.add(promise);
16
+ return ((params) => {
17
+ if (loadError) throw loadError;
18
+ if (!resolved) throw new Error("lazy() component used before it was resolved. Await createSPA() / hydrateSPA() to ensure all chunks load first.");
19
+ return resolved(params);
20
+ });
21
+ }
22
+ function _snapshotLazy() {
23
+ return [...pendingLazy];
24
+ }
25
+ function _snapshotRouteSourceLazy(source) {
26
+ const imports = /* @__PURE__ */ new Set();
27
+ if (source.registry) for (const lazyImport of registryLazyImports.get(source.registry) ?? []) imports.add(lazyImport);
28
+ const manifest = source.manifest ?? source.registry?.manifest;
29
+ if (manifest) for (const lazyImport of manifestLazyImports.get(manifest) ?? []) imports.add(lazyImport);
30
+ return [...imports];
31
+ }
32
+ function _drainLazy(additionalPending = []) {
33
+ const combined = /* @__PURE__ */ new Set([...additionalPending, ...pendingLazy]);
34
+ if (combined.size === 0) return Promise.resolve();
35
+ return Promise.allSettled(combined).then(() => void 0);
36
+ }
37
+ function associateRouteSourceLazy(registry, manifest, lazyImports) {
38
+ if (lazyImports.length === 0) return;
39
+ registryLazyImports.set(registry, lazyImports);
40
+ manifestLazyImports.set(manifest, lazyImports);
41
+ }
42
+ function clearPendingLazy() {
43
+ pendingLazy.clear();
44
+ }
45
+ function restorePendingLazy(lazyImports) {
46
+ pendingLazy.clear();
47
+ for (const lazyImport of lazyImports) pendingLazy.add(lazyImport);
48
+ }
49
+ //#endregion
50
+ export { _drainLazy, _snapshotLazy, _snapshotRouteSourceLazy, associateRouteSourceLazy, clearPendingLazy, lazy, restorePendingLazy };
51
+
52
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","names":[],"sources":["../../src/router/lazy.ts"],"sourcesContent":["import type {\n RouteManifest,\n RouteParams,\n RouteRegistry,\n RouteComponent,\n} from '../common/router';\nimport type { AnyRouteComponent } from './internal-types';\n\nconst pendingLazy = new Set<Promise<unknown>>();\nconst registryLazyImports = new WeakMap<RouteRegistry, Promise<unknown>[]>();\nconst manifestLazyImports = new WeakMap<RouteManifest, Promise<unknown>[]>();\n\nexport function lazy<TComponent extends AnyRouteComponent>(\n factory: () => Promise<{ default: TComponent } | TComponent>\n): TComponent {\n let resolved: TComponent | null = null;\n let loadError: unknown = null;\n\n const promise = factory().then(\n (mod) => {\n resolved =\n typeof mod === 'function'\n ? mod\n : (mod as { default: TComponent }).default;\n pendingLazy.delete(promise);\n },\n (err: unknown) => {\n loadError = err;\n pendingLazy.delete(promise);\n }\n );\n pendingLazy.add(promise);\n\n return ((params: RouteParams) => {\n if (loadError) throw loadError as Error;\n if (!resolved) {\n throw new Error(\n 'lazy() component used before it was resolved. ' +\n 'Await createSPA() / hydrateSPA() to ensure all chunks load first.'\n );\n }\n return (resolved as RouteComponent<RouteParams>)(params);\n }) as TComponent;\n}\n\nexport function _snapshotLazy(): Promise<unknown>[] {\n return [...pendingLazy];\n}\n\nexport function _snapshotRouteSourceLazy(source: {\n registry?: RouteRegistry;\n manifest?: RouteManifest;\n}): Promise<unknown>[] {\n const imports = new Set<Promise<unknown>>();\n\n if (source.registry) {\n for (const lazyImport of registryLazyImports.get(source.registry) ?? []) {\n imports.add(lazyImport);\n }\n }\n\n const manifest = source.manifest ?? source.registry?.manifest;\n if (manifest) {\n for (const lazyImport of manifestLazyImports.get(manifest) ?? []) {\n imports.add(lazyImport);\n }\n }\n\n return [...imports];\n}\n\nexport function _drainLazy(\n additionalPending: Iterable<Promise<unknown>> = []\n): Promise<void> {\n const combined = new Set<Promise<unknown>>([\n ...additionalPending,\n ...pendingLazy,\n ]);\n if (combined.size === 0) return Promise.resolve();\n return Promise.allSettled(combined).then(() => undefined);\n}\n\nexport function associateRouteSourceLazy(\n registry: RouteRegistry,\n manifest: RouteManifest,\n lazyImports: Promise<unknown>[]\n): void {\n if (lazyImports.length === 0) {\n return;\n }\n\n registryLazyImports.set(registry, lazyImports);\n manifestLazyImports.set(manifest, lazyImports);\n}\n\nexport function clearPendingLazy(): void {\n pendingLazy.clear();\n}\n\nexport function restorePendingLazy(lazyImports: readonly Promise<unknown>[]) {\n pendingLazy.clear();\n for (const lazyImport of lazyImports) {\n pendingLazy.add(lazyImport);\n }\n}\n"],"mappings":";AAQA,MAAM,8BAAc,IAAI,IAAsB;AAC9C,MAAM,sCAAsB,IAAI,QAA2C;AAC3E,MAAM,sCAAsB,IAAI,QAA2C;AAE3E,SAAgB,KACd,SACY;CACZ,IAAI,WAA8B;CAClC,IAAI,YAAqB;CAEzB,MAAM,UAAU,QAAQ,CAAC,CAAC,MACvB,QAAQ;EACP,WACE,OAAO,QAAQ,aACX,MACC,IAAgC;EACvC,YAAY,OAAO,OAAO;CAC5B,IACC,QAAiB;EAChB,YAAY;EACZ,YAAY,OAAO,OAAO;CAC5B,CACF;CACA,YAAY,IAAI,OAAO;CAEvB,SAAS,WAAwB;EAC/B,IAAI,WAAW,MAAM;EACrB,IAAI,CAAC,UACH,MAAM,IAAI,MACR,iHAEF;EAEF,OAAQ,SAAyC,MAAM;CACzD;AACF;AAEA,SAAgB,gBAAoC;CAClD,OAAO,CAAC,GAAG,WAAW;AACxB;AAEA,SAAgB,yBAAyB,QAGlB;CACrB,MAAM,0BAAU,IAAI,IAAsB;CAE1C,IAAI,OAAO,UACT,KAAK,MAAM,cAAc,oBAAoB,IAAI,OAAO,QAAQ,KAAK,CAAC,GACpE,QAAQ,IAAI,UAAU;CAI1B,MAAM,WAAW,OAAO,YAAY,OAAO,UAAU;CACrD,IAAI,UACF,KAAK,MAAM,cAAc,oBAAoB,IAAI,QAAQ,KAAK,CAAC,GAC7D,QAAQ,IAAI,UAAU;CAI1B,OAAO,CAAC,GAAG,OAAO;AACpB;AAEA,SAAgB,WACd,oBAAgD,CAAC,GAClC;CACf,MAAM,2BAAW,IAAI,IAAsB,CACzC,GAAG,mBACH,GAAG,WACL,CAAC;CACD,IAAI,SAAS,SAAS,GAAG,OAAO,QAAQ,QAAQ;CAChD,OAAO,QAAQ,WAAW,QAAQ,CAAC,CAAC,WAAW,MAAS;AAC1D;AAEA,SAAgB,yBACd,UACA,UACA,aACM;CACN,IAAI,YAAY,WAAW,GACzB;CAGF,oBAAoB,IAAI,UAAU,WAAW;CAC7C,oBAAoB,IAAI,UAAU,WAAW;AAC/C;AAEA,SAAgB,mBAAyB;CACvC,YAAY,MAAM;AACpB;AAEA,SAAgB,mBAAmB,aAA0C;CAC3E,YAAY,MAAM;CAClB,KAAK,MAAM,cAAc,aACvB,YAAY,IAAI,UAAU;AAE9B"}
@@ -0,0 +1,10 @@
1
+ import { RegisterRoutesOptions, RouteDefinition, RouteManifest, RouteRegistry } from "../common/router.js";
2
+
3
+ //#region src/router/manifest.d.ts
4
+ declare function getManifest(): RouteManifest;
5
+ declare function _applyManifest(manifest: RouteManifest): void;
6
+ declare function clearRoutes(): void;
7
+ declare function createRouteRegistry(definition: RouteDefinition, options?: RegisterRoutesOptions): RouteRegistry;
8
+ //#endregion
9
+ export { clearRoutes, createRouteRegistry, getManifest };
10
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","names":[],"sources":["../../src/router/manifest.ts"],"mappings":";;;iBA0BgB,WAAA,IAAe,aAAa;AAAA,iBAQ5B,cAAA,CAAe,QAAuB,EAAb,aAAa;AAAA,iBAkBtC,WAAA;AAAA,iBAKA,mBAAA,CACd,UAAA,EAAY,eAAA,EACZ,OAAA,GAAS,qBAAA,GACR,aAAA"}
@@ -0,0 +1,49 @@
1
+ import { addRouteToStores, clearRouteState, getDefaultRouteAuthOptions, getRouteRecords, getRoutes, insertRecordSorted, restoreRouteState, setDefaultRouteAuthOptions, snapshotRouteState } from "./store.js";
2
+ import { registerRoutes } from "./authoring.js";
3
+ import { _snapshotLazy, associateRouteSourceLazy, clearPendingLazy, restorePendingLazy } from "./lazy.js";
4
+ //#region src/router/manifest.ts
5
+ function getManifest() {
6
+ const auth = getDefaultRouteAuthOptions();
7
+ return {
8
+ records: [...getRouteRecords()],
9
+ ...auth ? { auth } : {}
10
+ };
11
+ }
12
+ function _applyManifest(manifest) {
13
+ setDefaultRouteAuthOptions(manifest.auth);
14
+ for (const record of manifest.records) {
15
+ insertRecordSorted(record);
16
+ addRouteToStores({
17
+ path: record.path,
18
+ handler: record.handler,
19
+ namespace: record.options.namespace,
20
+ ..."fallbackPrefix" in record && typeof record.fallbackPrefix === "string" ? { fallbackPrefix: record.fallbackPrefix } : {}
21
+ });
22
+ }
23
+ }
24
+ function clearRoutes() {
25
+ clearRouteState();
26
+ clearPendingLazy();
27
+ }
28
+ function createRouteRegistry(definition, options = {}) {
29
+ const previous = snapshotRouteState();
30
+ const previousLazy = _snapshotLazy();
31
+ clearRoutes();
32
+ try {
33
+ registerRoutes(definition, options);
34
+ const manifest = getManifest();
35
+ const registry = Object.freeze({
36
+ manifest,
37
+ routes: getRoutes()
38
+ });
39
+ associateRouteSourceLazy(registry, manifest, _snapshotLazy());
40
+ return registry;
41
+ } finally {
42
+ restoreRouteState(previous);
43
+ restorePendingLazy(previousLazy);
44
+ }
45
+ }
46
+ //#endregion
47
+ export { _applyManifest, clearRoutes, createRouteRegistry, getManifest };
48
+
49
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","names":[],"sources":["../../src/router/manifest.ts"],"sourcesContent":["import type {\n RegisterRoutesOptions,\n RouteManifest,\n RouteRegistry,\n RouteDefinition,\n} from '../common/router';\nimport { registerRoutes } from './authoring';\nimport {\n addRouteToStores,\n clearRouteState,\n getDefaultRouteAuthOptions,\n getRouteRecords,\n getRoutes,\n insertRecordSorted,\n restoreRouteState,\n setDefaultRouteAuthOptions,\n snapshotRouteState,\n} from './store';\nimport type { InternalRouteRecord } from './internal-types';\nimport {\n _snapshotLazy,\n associateRouteSourceLazy,\n clearPendingLazy,\n restorePendingLazy,\n} from './lazy';\n\nexport function getManifest(): RouteManifest {\n const auth = getDefaultRouteAuthOptions();\n return {\n records: [...getRouteRecords()],\n ...(auth ? { auth } : {}),\n };\n}\n\nexport function _applyManifest(manifest: RouteManifest): void {\n setDefaultRouteAuthOptions(manifest.auth);\n for (const record of manifest.records) {\n insertRecordSorted(record as InternalRouteRecord);\n addRouteToStores({\n path: record.path,\n handler: record.handler,\n namespace: record.options.namespace,\n ...('fallbackPrefix' in record &&\n typeof (record as InternalRouteRecord).fallbackPrefix === 'string'\n ? {\n fallbackPrefix: (record as InternalRouteRecord).fallbackPrefix,\n }\n : {}),\n });\n }\n}\n\nexport function clearRoutes(): void {\n clearRouteState();\n clearPendingLazy();\n}\n\nexport function createRouteRegistry(\n definition: RouteDefinition,\n options: RegisterRoutesOptions = {}\n): RouteRegistry {\n const previous = snapshotRouteState();\n const previousLazy = _snapshotLazy();\n clearRoutes();\n\n try {\n registerRoutes(definition, options);\n const manifest = getManifest();\n const registry = Object.freeze({\n manifest,\n routes: getRoutes(),\n });\n const lazyImports = _snapshotLazy();\n associateRouteSourceLazy(registry, manifest, lazyImports);\n\n return registry;\n } finally {\n restoreRouteState(previous);\n restorePendingLazy(previousLazy);\n }\n}\n"],"mappings":";;;;AA0BA,SAAgB,cAA6B;CAC3C,MAAM,OAAO,2BAA2B;CACxC,OAAO;EACL,SAAS,CAAC,GAAG,gBAAgB,CAAC;EAC9B,GAAI,OAAO,EAAE,KAAK,IAAI,CAAC;CACzB;AACF;AAEA,SAAgB,eAAe,UAA+B;CAC5D,2BAA2B,SAAS,IAAI;CACxC,KAAK,MAAM,UAAU,SAAS,SAAS;EACrC,mBAAmB,MAA6B;EAChD,iBAAiB;GACf,MAAM,OAAO;GACb,SAAS,OAAO;GAChB,WAAW,OAAO,QAAQ;GAC1B,GAAI,oBAAoB,UACxB,OAAQ,OAA+B,mBAAmB,WACtD,EACE,gBAAiB,OAA+B,eAClD,IACA,CAAC;EACP,CAAC;CACH;AACF;AAEA,SAAgB,cAAoB;CAClC,gBAAgB;CAChB,iBAAiB;AACnB;AAEA,SAAgB,oBACd,YACA,UAAiC,CAAC,GACnB;CACf,MAAM,WAAW,mBAAmB;CACpC,MAAM,eAAe,cAAc;CACnC,YAAY;CAEZ,IAAI;EACF,eAAe,YAAY,OAAO;EAClC,MAAM,WAAW,YAAY;EAC7B,MAAM,WAAW,OAAO,OAAO;GAC7B;GACA,QAAQ,UAAU;EACpB,CAAC;EAED,yBAAyB,UAAU,UADf,cACyB,CAAW;EAExD,OAAO;CACT,UAAU;EACR,kBAAkB,QAAQ;EAC1B,mBAAmB,YAAY;CACjC;AACF"}
@@ -1,40 +1,11 @@
1
- import { ComponentInstance } from "../runtime/component.js";
2
- import { Route, RouteAuthOptions, RouteManifest } from "../common/router.js";
1
+ import { HistoryScrollBehavior, NavigationScrollBehavior, ScrollRestorationOptions } from "./navigation-scroll.js";
2
+ import { NavigateOptions } from "./navigation-targets.js";
3
+ import { RouteQueryParamInput, RouteQueryParamValue, RouteQueryUpdater, RouteQueryUpdates, UpdateRouteQueryOptions, updateRouteQuery } from "./route-query.js";
3
4
 
4
5
  //#region src/router/navigate.d.ts
5
- type AppNavigationSource = {
6
- manifest?: RouteManifest;
7
- routes?: readonly Route[];
8
- auth?: RouteAuthOptions;
9
- };
10
- type NavigationScrollBehavior = 'top' | 'preserve';
11
- type HistoryScrollBehavior = 'restore' | 'top' | 'preserve';
12
- type ScrollRestorationOptions = {
13
- navigation?: NavigationScrollBehavior;
14
- history?: HistoryScrollBehavior;
15
- };
16
- type NavigateOptions = {
17
- history?: 'push' | 'replace';
18
- replace?: boolean;
19
- scroll?: NavigationScrollBehavior;
20
- };
21
- declare function configureScrollRestoration(options?: boolean | ScrollRestorationOptions): void;
22
- /** Register the current app instance (called by createSPA/hydrateSPA). */
23
- declare function registerAppInstance(instance: ComponentInstance, path: string, source?: AppNavigationSource): void;
24
- declare function unregisterAppInstance(instance: ComponentInstance): void;
25
- /**
26
- * Navigate to a new path
27
- * Updates URL, resolves route, and re-mounts app with new handler
28
- */
29
6
  declare function navigate(path: string, options?: NavigateOptions): void;
30
- /**
31
- * Setup popstate listener for browser navigation
32
- */
33
7
  declare function initializeNavigation(): void;
34
- /**
35
- * Cleanup navigation listeners
36
- */
37
8
  declare function cleanupNavigation(): void;
38
9
  //#endregion
39
- export { HistoryScrollBehavior, NavigateOptions, NavigationScrollBehavior, ScrollRestorationOptions, navigate };
10
+ export { type HistoryScrollBehavior, type NavigateOptions, type NavigationScrollBehavior, type RouteQueryParamInput, type RouteQueryParamValue, type RouteQueryUpdater, type RouteQueryUpdates, type ScrollRestorationOptions, type UpdateRouteQueryOptions, navigate, updateRouteQuery };
40
11
  //# sourceMappingURL=navigate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.d.ts","names":[],"sources":["../../src/router/navigate.ts"],"mappings":";;;;KA8CK,mBAAA;EACH,QAAA,GAAW,aAAA;EACX,MAAA,YAAkB,KAAA;EAClB,IAAA,GAAO,gBAAA;AAAA;AAAA,KA2DG,wBAAA;AAAA,KACA,qBAAA;AAAA,KAEA,wBAAA;EACV,UAAA,GAAa,wBAAA;EACb,OAAA,GAAU,qBAAqB;AAAA;AAAA,KAqBrB,eAAA;EACV,OAAA;EACA,OAAA;EACA,MAAA,GAAS,wBAAwB;AAAA;AAAA,iBAsInB,0BAAA,CACd,OAA4C,aAAxB,wBAAwB;;iBA0Y9B,mBAAA,CACd,QAAA,EAAU,iBAAA,EACV,IAAA,UACA,MAAA,GAAQ,mBAAwB;AAAA,iBA4BlB,qBAAA,CAAsB,QAA2B,EAAjB,iBAAiB;AA5kBjE;;;;AAAA,iBAmnBgB,QAAA,CAAS,IAAA,UAAc,OAAA,GAAS,eAAoB;AAjnBpE;;;AAAA,iBAiyBgB,oBAAA;;;;iBAYA,iBAAA"}
1
+ {"version":3,"file":"navigate.d.ts","names":[],"sources":["../../src/router/navigate.ts"],"mappings":";;;;;iBAmDgB,QAAA,CAAS,IAAA,UAAc,OAAA,GAAS,eAAoB;AAAA,iBAyHpD,oBAAA;AAAA,iBASA,iBAAA"}