@askrjs/askr 0.0.52 → 0.0.54

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 (386) hide show
  1. package/README.md +5 -1
  2. package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +182 -9
  3. package/dist/actions/index.d.ts +2 -0
  4. package/dist/actions/index.js +103 -0
  5. package/dist/{common/attr-names.js → attr-names-CjhzmHOn.js} +1 -1
  6. package/dist/benchmark.d.ts +6 -2
  7. package/dist/benchmark.js +63 -11
  8. package/dist/boot/index.d.ts +61 -2
  9. package/dist/boot/index.js +1 -203
  10. package/dist/boot-2ZR3MtO0.js +647 -0
  11. package/dist/cleanup-DScKZG2i.js +487 -0
  12. package/dist/component-internal-D9PLuFUc.js +614 -0
  13. package/dist/component-lifecycle-C7lnU9Bt.js +359 -0
  14. package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +8 -1
  15. package/dist/component-scope-CvPba6O6.d.ts +12 -0
  16. package/dist/components/index.d.ts +17 -2
  17. package/dist/components/index.js +39 -1
  18. package/dist/compose-ref-Cc_YkUpM.js +92 -0
  19. package/dist/{foundations/utilities/compose-ref.d.ts → compose-ref-Cizq72-x.d.ts} +1 -1
  20. package/dist/control/index.d.ts +1 -3
  21. package/dist/control/index.js +1 -3
  22. package/dist/control-BI4RMD2z.d.ts +437 -0
  23. package/dist/control-Bf4Wkdvv.d.ts +9 -0
  24. package/dist/{common/control.js → control-DhFRTIoE.js} +1 -1
  25. package/dist/control-mXROCjL3.js +165 -0
  26. package/dist/data/index.d.ts +2 -6
  27. package/dist/data/index.js +4 -5
  28. package/dist/data-B9dauyDn.js +559 -0
  29. package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +32 -31
  30. package/dist/deferred-DklLG4qM.js +386 -0
  31. package/dist/{runtime/effect.js → effect-BwnIvLah.js} +4 -4
  32. package/dist/fastlane-Dw8SOBr9.js +343 -0
  33. package/dist/for-internal-CSz8Unkq.js +1563 -0
  34. package/dist/foundations/icon/index.d.ts +68 -2
  35. package/dist/foundations/icon/index.js +85 -1
  36. package/dist/foundations/index.d.ts +2 -5
  37. package/dist/foundations/index.js +2 -5
  38. package/dist/foundations/interactions/index.d.ts +264 -6
  39. package/dist/foundations/interactions/index.js +1 -6
  40. package/dist/foundations/state/index.d.ts +32 -1
  41. package/dist/foundations/state/index.js +78 -1
  42. package/dist/foundations/structures/index.d.ts +2 -7
  43. package/dist/foundations/structures/index.js +2 -7
  44. package/dist/foundations/utilities/index.d.ts +2 -6
  45. package/dist/foundations/utilities/index.js +2 -5
  46. package/dist/fx/index.d.ts +190 -3
  47. package/dist/fx/index.js +454 -4
  48. package/dist/index-B1LNotpU.d.ts +239 -0
  49. package/dist/index-Bki2rqcr.d.ts +233 -0
  50. package/dist/index-BnU0NPwM.d.ts +101 -0
  51. package/dist/index-C8iW3xCt.d.ts +44 -0
  52. package/dist/index-DwxdIA-t.d.ts +48 -0
  53. package/dist/{runtime/runtime.d.ts → index-Zb31mCiU.d.ts} +31 -8
  54. package/dist/index.d.ts +8 -13
  55. package/dist/index.js +150 -15
  56. package/dist/interactions-w7gQN4ha.js +280 -0
  57. package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -1
  58. package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -5
  59. package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -1
  60. package/dist/jsx-dev-runtime.d.ts +2 -4
  61. package/dist/jsx-dev-runtime.js +7 -5
  62. package/dist/jsx-runtime-92bV2hSa.d.ts +34 -0
  63. package/dist/jsx-runtime-BVVgDSdq.d.ts +1 -0
  64. package/dist/jsx-runtime.d.ts +2 -35
  65. package/dist/jsx-runtime.js +11 -5
  66. package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-CdRjdsHo.js} +4 -5
  67. package/dist/navigate-BVDCzOuB.d.ts +34 -0
  68. package/dist/navigate-D17eVQyI.js +1449 -0
  69. package/dist/{runtime/portal.js → portal-C47xkwXj.js} +71 -41
  70. package/dist/query-registry-CQIT4mXr.js +73 -0
  71. package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -6
  72. package/dist/renderer-DrLRAD5y.js +6266 -0
  73. package/dist/{runtime/resource-operation.js → resource-operation-BNY29MVH.js} +118 -15
  74. package/dist/resources/index.d.ts +42 -3
  75. package/dist/resources/index.js +3 -4
  76. package/dist/{common/route-activity.js → route-activity-CNJfpwx-.js} +1 -1
  77. package/dist/route-matching-vJpvLVbX.js +515 -0
  78. package/dist/router/index.d.ts +166 -14
  79. package/dist/router/index.js +150 -12
  80. package/dist/{common/router.d.ts → router-DCfwLBr-.d.ts} +72 -28
  81. package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -1
  82. package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -3
  83. package/dist/{runtime/selector.js → selector-DafVYzV4.js} +34 -11
  84. package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -1
  85. package/dist/ssg/index.d.ts +252 -4
  86. package/dist/ssg/index.js +857 -1
  87. package/dist/ssr/index.d.ts +225 -8
  88. package/dist/ssr/index.js +3 -6
  89. package/dist/{common/ssr.js → ssr-CbQO5xd3.js} +1 -1
  90. package/dist/ssr-DEARZxJ5.js +1413 -0
  91. package/dist/{runtime/state.js → state-DPl8lffD.js} +3 -5
  92. package/dist/structures-DUB3HchX.js +221 -0
  93. package/dist/testing/index.d.ts +3 -2
  94. package/dist/testing/index.js +2 -5
  95. package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -5
  96. package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -1
  97. package/dist/{ssr/verify-hydration.js → verify-hydration-BWwu-mWu.js} +2 -2
  98. package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -2
  99. package/package.json +12 -7
  100. package/dist/bench/components/benchmark-row.d.ts +0 -20
  101. package/dist/bench/components/benchmark-row.js +0 -40
  102. package/dist/bench/components/benchmark-table.js +0 -23
  103. package/dist/bin/askr-ssg.d.ts +0 -27
  104. package/dist/bin/askr-ssg.js +0 -186
  105. package/dist/boot/hydration.js +0 -139
  106. package/dist/boot/root-lifecycle.d.ts +0 -18
  107. package/dist/boot/root-lifecycle.js +0 -209
  108. package/dist/boot/route-startup.js +0 -54
  109. package/dist/boot/types.d.ts +0 -61
  110. package/dist/common/component.d.ts +0 -18
  111. package/dist/common/control.d.ts +0 -12
  112. package/dist/common/dom-range.d.ts +0 -13
  113. package/dist/common/env.js +0 -41
  114. package/dist/common/error-boundary.d.ts +0 -15
  115. package/dist/common/invariant.js +0 -15
  116. package/dist/common/jsx.d.ts +0 -22
  117. package/dist/common/logger.js +0 -34
  118. package/dist/common/promise.js +0 -6
  119. package/dist/common/ssr-errors.d.ts +0 -10
  120. package/dist/common/ssr-errors.js +0 -14
  121. package/dist/common/ssr.d.ts +0 -41
  122. package/dist/common/vnode.d.ts +0 -21
  123. package/dist/components/error-boundary.d.ts +0 -14
  124. package/dist/components/error-boundary.js +0 -41
  125. package/dist/components/link.d.ts +0 -68
  126. package/dist/components/link.js +0 -74
  127. package/dist/control/case.d.ts +0 -18
  128. package/dist/control/case.js +0 -68
  129. package/dist/control/for.d.ts +0 -23
  130. package/dist/control/for.js +0 -61
  131. package/dist/control/shared.d.ts +0 -8
  132. package/dist/control/shared.js +0 -18
  133. package/dist/control/show.d.ts +0 -14
  134. package/dist/control/show.js +0 -32
  135. package/dist/data/data-runtime.d.ts +0 -27
  136. package/dist/data/invalidation.d.ts +0 -8
  137. package/dist/data/invalidation.js +0 -25
  138. package/dist/data/mutation-cell.d.ts +0 -27
  139. package/dist/data/mutation-cell.js +0 -133
  140. package/dist/data/query-cell.d.ts +0 -47
  141. package/dist/data/query-cell.js +0 -324
  142. package/dist/data/query-key.js +0 -40
  143. package/dist/data/shared.js +0 -20
  144. package/dist/data/testing.js +0 -2
  145. package/dist/data/types.d.ts +0 -160
  146. package/dist/foundations/icon/icon.d.ts +0 -52
  147. package/dist/foundations/icon/icon.js +0 -86
  148. package/dist/foundations/icon/icon.types.d.ts +0 -21
  149. package/dist/foundations/interactions/dismissable.d.ts +0 -71
  150. package/dist/foundations/interactions/dismissable.js +0 -24
  151. package/dist/foundations/interactions/focusable.d.ts +0 -21
  152. package/dist/foundations/interactions/focusable.js +0 -16
  153. package/dist/foundations/interactions/hoverable.d.ts +0 -25
  154. package/dist/foundations/interactions/hoverable.js +0 -13
  155. package/dist/foundations/interactions/interaction-policy.d.ts +0 -49
  156. package/dist/foundations/interactions/interaction-policy.js +0 -120
  157. package/dist/foundations/interactions/pressable.d.ts +0 -60
  158. package/dist/foundations/interactions/pressable.js +0 -49
  159. package/dist/foundations/interactions/roving-focus.d.ts +0 -51
  160. package/dist/foundations/interactions/roving-focus.js +0 -69
  161. package/dist/foundations/state/controllable.d.ts +0 -32
  162. package/dist/foundations/state/controllable.js +0 -80
  163. package/dist/foundations/structures/collection.d.ts +0 -51
  164. package/dist/foundations/structures/collection.js +0 -49
  165. package/dist/foundations/structures/layer.d.ts +0 -80
  166. package/dist/foundations/structures/layer.js +0 -79
  167. package/dist/foundations/structures/layout.d.ts +0 -32
  168. package/dist/foundations/structures/layout.js +0 -11
  169. package/dist/foundations/structures/portal.d.ts +0 -2
  170. package/dist/foundations/structures/portal.js +0 -3
  171. package/dist/foundations/structures/presence.d.ts +0 -36
  172. package/dist/foundations/structures/presence.js +0 -37
  173. package/dist/foundations/structures/slot.d.ts +0 -34
  174. package/dist/foundations/structures/slot.js +0 -39
  175. package/dist/foundations/utilities/aria.d.ts +0 -15
  176. package/dist/foundations/utilities/aria.js +0 -15
  177. package/dist/foundations/utilities/compose-handlers.d.ts +0 -36
  178. package/dist/foundations/utilities/compose-handlers.js +0 -18
  179. package/dist/foundations/utilities/compose-ref.js +0 -16
  180. package/dist/foundations/utilities/event-types.d.ts +0 -19
  181. package/dist/foundations/utilities/merge-props.d.ts +0 -4
  182. package/dist/foundations/utilities/merge-props.js +0 -47
  183. package/dist/foundations/utilities/use-id.d.ts +0 -31
  184. package/dist/fx/fx.d.ts +0 -32
  185. package/dist/fx/fx.js +0 -211
  186. package/dist/fx/noop.js +0 -7
  187. package/dist/fx/timing.d.ts +0 -158
  188. package/dist/fx/timing.js +0 -241
  189. package/dist/jsx/index.d.ts +0 -2
  190. package/dist/jsx/index.js +0 -4
  191. package/dist/jsx/types.js +0 -2
  192. package/dist/jsx/utils.d.ts +0 -4
  193. package/dist/jsx/utils.js +0 -17
  194. package/dist/jsx-runtime2.d.ts +0 -3
  195. package/dist/jsx-runtime2.js +0 -4
  196. package/dist/renderer/attributes.js +0 -254
  197. package/dist/renderer/boundaries.js +0 -142
  198. package/dist/renderer/boundary-materialization.js +0 -72
  199. package/dist/renderer/boundary-range-adoption.js +0 -76
  200. package/dist/renderer/boundary-range-sync.js +0 -101
  201. package/dist/renderer/boundary-state.js +0 -50
  202. package/dist/renderer/child-shape.js +0 -83
  203. package/dist/renderer/children-fastpath.js +0 -149
  204. package/dist/renderer/children.js +0 -158
  205. package/dist/renderer/cleanup.js +0 -267
  206. package/dist/renderer/component-host-cleanup.js +0 -143
  207. package/dist/renderer/component-host-instances.js +0 -116
  208. package/dist/renderer/component-host-replacement.js +0 -105
  209. package/dist/renderer/component-host-results.js +0 -138
  210. package/dist/renderer/component-host.js +0 -172
  211. package/dist/renderer/dom-host.js +0 -11
  212. package/dist/renderer/dom-internal.js +0 -243
  213. package/dist/renderer/dom-range.js +0 -161
  214. package/dist/renderer/dom.js +0 -11
  215. package/dist/renderer/element-children.js +0 -359
  216. package/dist/renderer/env.js +0 -2
  217. package/dist/renderer/error-boundary-dom.js +0 -86
  218. package/dist/renderer/evaluate-dom-range.js +0 -84
  219. package/dist/renderer/evaluate-reconcile.js +0 -257
  220. package/dist/renderer/evaluate.js +0 -95
  221. package/dist/renderer/fastpath.js +0 -142
  222. package/dist/renderer/for-commit-dom-map.js +0 -71
  223. package/dist/renderer/for-commit-removal.js +0 -27
  224. package/dist/renderer/for-commit-reorder.js +0 -87
  225. package/dist/renderer/for-commit.js +0 -442
  226. package/dist/renderer/hydration-boundaries.js +0 -60
  227. package/dist/renderer/hydration-listener-transaction.js +0 -49
  228. package/dist/renderer/index.js +0 -39
  229. package/dist/renderer/intrinsic-blueprint-analysis.js +0 -202
  230. package/dist/renderer/intrinsic-blueprint-bindings.js +0 -152
  231. package/dist/renderer/intrinsic-blueprint-materialization.js +0 -100
  232. package/dist/renderer/intrinsic-blueprint.js +0 -30
  233. package/dist/renderer/intrinsic-hydration-adoption.js +0 -66
  234. package/dist/renderer/keyed-children.js +0 -26
  235. package/dist/renderer/keyed.js +0 -167
  236. package/dist/renderer/namespaces.js +0 -21
  237. package/dist/renderer/prop-bindings.js +0 -315
  238. package/dist/renderer/reactive-child-dom.js +0 -139
  239. package/dist/renderer/reactive-child-sources.js +0 -182
  240. package/dist/renderer/reactive-children.js +0 -303
  241. package/dist/renderer/reconcile-commit.js +0 -36
  242. package/dist/renderer/reconcile-fastpaths.js +0 -100
  243. package/dist/renderer/reconcile-resolution.js +0 -163
  244. package/dist/renderer/reconcile.js +0 -37
  245. package/dist/renderer/retained-element-rollback.js +0 -288
  246. package/dist/renderer/stable-patch.js +0 -80
  247. package/dist/renderer/static-reuse.js +0 -94
  248. package/dist/renderer/types.js +0 -2
  249. package/dist/renderer/utils.js +0 -265
  250. package/dist/router/access.js +0 -34
  251. package/dist/router/activity.d.ts +0 -9
  252. package/dist/router/activity.js +0 -85
  253. package/dist/router/authoring.d.ts +0 -21
  254. package/dist/router/authoring.js +0 -196
  255. package/dist/router/internal-types.d.ts +0 -30
  256. package/dist/router/lazy.d.ts +0 -18
  257. package/dist/router/lazy.js +0 -50
  258. package/dist/router/manifest.d.ts +0 -9
  259. package/dist/router/manifest.js +0 -47
  260. package/dist/router/match.js +0 -120
  261. package/dist/router/navigate.d.ts +0 -10
  262. package/dist/router/navigate.js +0 -73
  263. package/dist/router/navigation-registry.d.ts +0 -31
  264. package/dist/router/navigation-registry.js +0 -103
  265. package/dist/router/navigation-scroll.d.ts +0 -13
  266. package/dist/router/navigation-scroll.js +0 -91
  267. package/dist/router/navigation-targets.d.ts +0 -30
  268. package/dist/router/navigation-targets.js +0 -634
  269. package/dist/router/policy.d.ts +0 -27
  270. package/dist/router/policy.js +0 -130
  271. package/dist/router/rendering.d.ts +0 -9
  272. package/dist/router/rendering.js +0 -47
  273. package/dist/router/resolution.d.ts +0 -3
  274. package/dist/router/resolution.js +0 -84
  275. package/dist/router/route-context.js +0 -77
  276. package/dist/router/route-matching.d.ts +0 -19
  277. package/dist/router/route-matching.js +0 -173
  278. package/dist/router/route-query.d.ts +0 -16
  279. package/dist/router/route-query.js +0 -45
  280. package/dist/router/route.d.ts +0 -8
  281. package/dist/router/route.js +0 -10
  282. package/dist/router/store.d.ts +0 -49
  283. package/dist/router/store.js +0 -169
  284. package/dist/router/testing.js +0 -4
  285. package/dist/runtime/access.d.ts +0 -19
  286. package/dist/runtime/access.js +0 -43
  287. package/dist/runtime/child-scope.d.ts +0 -41
  288. package/dist/runtime/child-scope.js +0 -134
  289. package/dist/runtime/component-cleanup.d.ts +0 -15
  290. package/dist/runtime/component-cleanup.js +0 -68
  291. package/dist/runtime/component-commit.js +0 -167
  292. package/dist/runtime/component-facade.d.ts +0 -5
  293. package/dist/runtime/component-facade.js +0 -6
  294. package/dist/runtime/component-internal.d.ts +0 -105
  295. package/dist/runtime/component-internal.js +0 -237
  296. package/dist/runtime/component-lifecycle.d.ts +0 -10
  297. package/dist/runtime/component-lifecycle.js +0 -33
  298. package/dist/runtime/component-scope.d.ts +0 -54
  299. package/dist/runtime/component.d.ts +0 -5
  300. package/dist/runtime/component.js +0 -6
  301. package/dist/runtime/context.d.ts +0 -72
  302. package/dist/runtime/context.js +0 -236
  303. package/dist/runtime/control.d.ts +0 -62
  304. package/dist/runtime/control.js +0 -239
  305. package/dist/runtime/derive.d.ts +0 -16
  306. package/dist/runtime/derive.js +0 -140
  307. package/dist/runtime/dev-namespace.d.ts +0 -30
  308. package/dist/runtime/dev-namespace.js +0 -64
  309. package/dist/runtime/effect.d.ts +0 -35
  310. package/dist/runtime/error-boundary.d.ts +0 -4
  311. package/dist/runtime/error-boundary.js +0 -29
  312. package/dist/runtime/events.d.ts +0 -58
  313. package/dist/runtime/events.js +0 -201
  314. package/dist/runtime/execution-model.d.ts +0 -6
  315. package/dist/runtime/execution-model.js +0 -13
  316. package/dist/runtime/fastlane.d.ts +0 -33
  317. package/dist/runtime/fastlane.js +0 -173
  318. package/dist/runtime/for-bench.d.ts +0 -40
  319. package/dist/runtime/for-bench.js +0 -13
  320. package/dist/runtime/for-internal.d.ts +0 -106
  321. package/dist/runtime/for-internal.js +0 -285
  322. package/dist/runtime/for-reconcile.d.ts +0 -7
  323. package/dist/runtime/for-reconcile.js +0 -442
  324. package/dist/runtime/for-scopes.d.ts +0 -26
  325. package/dist/runtime/for-scopes.js +0 -280
  326. package/dist/runtime/for-signals.d.ts +0 -39
  327. package/dist/runtime/for-signals.js +0 -213
  328. package/dist/runtime/for-types.d.ts +0 -8
  329. package/dist/runtime/for.d.ts +0 -4
  330. package/dist/runtime/for.js +0 -5
  331. package/dist/runtime/index.d.ts +0 -24
  332. package/dist/runtime/index.js +0 -33
  333. package/dist/runtime/lifecycle-batch.d.ts +0 -59
  334. package/dist/runtime/lifecycle-batch.js +0 -178
  335. package/dist/runtime/lifecycle-operation-settlement.d.ts +0 -5
  336. package/dist/runtime/lifecycle-operation-settlement.js +0 -51
  337. package/dist/runtime/lifecycle-operations.d.ts +0 -30
  338. package/dist/runtime/operations.d.ts +0 -3
  339. package/dist/runtime/operations.js +0 -3
  340. package/dist/runtime/perf-metrics.d.ts +0 -27
  341. package/dist/runtime/perf-metrics.js +0 -6
  342. package/dist/runtime/portal.d.ts +0 -21
  343. package/dist/runtime/readable.d.ts +0 -34
  344. package/dist/runtime/readable.js +0 -183
  345. package/dist/runtime/resource-cell.js +0 -112
  346. package/dist/runtime/resource-operation.d.ts +0 -12
  347. package/dist/runtime/runtime.js +0 -57
  348. package/dist/runtime/selector-store.js +0 -22
  349. package/dist/runtime/selector.d.ts +0 -10
  350. package/dist/runtime/snapshot-source.d.ts +0 -9
  351. package/dist/runtime/state.d.ts +0 -54
  352. package/dist/ssg/batch-render.js +0 -101
  353. package/dist/ssg/create-static-gen.d.ts +0 -66
  354. package/dist/ssg/create-static-gen.js +0 -250
  355. package/dist/ssg/generate-metadata.js +0 -92
  356. package/dist/ssg/generation-plan.js +0 -68
  357. package/dist/ssg/incremental-manifest.js +0 -54
  358. package/dist/ssg/resolve-ssg-data.js +0 -103
  359. package/dist/ssg/route-utils.js +0 -22
  360. package/dist/ssg/static-routes.js +0 -100
  361. package/dist/ssg/types.d.ts +0 -188
  362. package/dist/ssg/write-static-files.js +0 -77
  363. package/dist/ssr/attrs.js +0 -92
  364. package/dist/ssr/boundaries.js +0 -124
  365. package/dist/ssr/component-runtime.js +0 -85
  366. package/dist/ssr/context.d.ts +0 -49
  367. package/dist/ssr/context.js +0 -89
  368. package/dist/ssr/errors.d.ts +0 -9
  369. package/dist/ssr/errors.js +0 -12
  370. package/dist/ssr/escape.js +0 -191
  371. package/dist/ssr/hydration-data.js +0 -8
  372. package/dist/ssr/hydration-verify.d.ts +0 -11
  373. package/dist/ssr/hydration-verify.js +0 -171
  374. package/dist/ssr/index-internal.d.ts +0 -14
  375. package/dist/ssr/index-internal.js +0 -17
  376. package/dist/ssr/render-keys.js +0 -14
  377. package/dist/ssr/render-resolved.d.ts +0 -19
  378. package/dist/ssr/render-resolved.js +0 -33
  379. package/dist/ssr/render-sync.d.ts +0 -20
  380. package/dist/ssr/render-sync.js +0 -283
  381. package/dist/ssr/route-policy-resolution.js +0 -76
  382. package/dist/ssr/route-render.d.ts +0 -76
  383. package/dist/ssr/route-render.js +0 -118
  384. package/dist/ssr/sink.d.ts +0 -25
  385. package/dist/ssr/sink.js +0 -84
  386. package/dist/ssr/types.d.ts +0 -22
@@ -0,0 +1,386 @@
1
+ import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-CUpRxrLH.js";
2
+ import { h as readScope, u as defineScope } from "./component-internal-D9PLuFUc.js";
3
+ import { d as getCurrentAppRenderRuntime } from "./component-scope-CC3cojX9.js";
4
+ import { m as isPromiseLike } from "./component-lifecycle-C7lnU9Bt.js";
5
+ import { n as getActiveRenderContext, r as getCurrentRenderData } from "./render-context-Clw3rFiO.js";
6
+ import { t as resource } from "./resource-operation-BNY29MVH.js";
7
+ import { t as ROUTE_ROOT_COMPONENT } from "./router-internal-BC0w1_xk.js";
8
+ import { c as withTelemetry, t as createQueryPrefetchContext } from "./query-registry-CQIT4mXr.js";
9
+ import { E as getRouteRecords, h as getActiveRouteAuthOptions, i as getMatchingRouteRecord, o as buildRouteContext, s as buildRouteContextBase } from "./route-matching-vJpvLVbX.js";
10
+ //#region src/router/rendering.ts
11
+ const outletScope = defineScope(null);
12
+ function Outlet() {
13
+ return {
14
+ $$typeof: ELEMENT_TYPE,
15
+ type: Fragment,
16
+ props: { children: readScope(outletScope) },
17
+ key: null
18
+ };
19
+ }
20
+ function applyPageChain(pageChain, params, content, deferComponents = false) {
21
+ let nextContent = content;
22
+ for (let i = pageChain.length - 1; i >= 0; i--) nextContent = outletScope({
23
+ value: nextContent,
24
+ children: deferComponents ? createRouteComponentVNode(pageChain[i].component, params) : pageChain[i].component(params)
25
+ });
26
+ return nextContent;
27
+ }
28
+ function createRouteComponentVNode(component, params, routeRoot = false) {
29
+ return {
30
+ $$typeof: ELEMENT_TYPE,
31
+ type: component,
32
+ props: params,
33
+ key: null,
34
+ ...routeRoot ? { [ROUTE_ROOT_COMPONENT]: true } : {}
35
+ };
36
+ }
37
+ function createRouteHandler(component, pageChain, layoutChain, deferComponents = false) {
38
+ return (params) => {
39
+ let content = deferComponents ? createRouteComponentVNode(component, params, true) : component(params);
40
+ content = applyPageChain(pageChain, params, content, deferComponents);
41
+ for (let i = layoutChain.length - 1; i >= 0; i--) {
42
+ const layout = layoutChain[i].component;
43
+ content = layout({ children: content });
44
+ }
45
+ return content;
46
+ };
47
+ }
48
+ function getRenderHandler(record) {
49
+ return record.renderHandler ?? createRouteHandler(record.component, record.pageChain, record.layoutChain, true);
50
+ }
51
+ //#endregion
52
+ //#region src/common/page-render-envelope.ts
53
+ const PAGE_RENDER_ENVELOPE_VERSION = 1;
54
+ function ownedRecord(value) {
55
+ return Object.freeze({ ...value });
56
+ }
57
+ function createPageRenderEnvelope(input = {}) {
58
+ return Object.freeze({
59
+ version: PAGE_RENDER_ENVELOPE_VERSION,
60
+ resources: ownedRecord(input.resources),
61
+ route: input.route,
62
+ framework: ownedRecord(input.framework)
63
+ });
64
+ }
65
+ function isPageRenderEnvelope(value) {
66
+ if (!value || typeof value !== "object" || Array.isArray(value)) return false;
67
+ const candidate = value;
68
+ return candidate.version === PAGE_RENDER_ENVELOPE_VERSION && Boolean(candidate.resources && typeof candidate.resources === "object" && !Array.isArray(candidate.resources)) && Boolean(candidate.framework && typeof candidate.framework === "object" && !Array.isArray(candidate.framework));
69
+ }
70
+ function pageRenderEnvelope(value, fallback = {}) {
71
+ if (isPageRenderEnvelope(value)) return value;
72
+ return createPageRenderEnvelope({
73
+ ...fallback,
74
+ route: value ?? fallback.route
75
+ });
76
+ }
77
+ function replacePageRoute(value, route) {
78
+ const current = pageRenderEnvelope(value);
79
+ return createPageRenderEnvelope({
80
+ resources: current.resources,
81
+ route,
82
+ framework: current.framework
83
+ });
84
+ }
85
+ function isEmptyPageRenderEnvelope(value) {
86
+ return value.route === void 0 && Object.keys(value.resources).length === 0 && Object.keys(value.framework).length === 0;
87
+ }
88
+ //#endregion
89
+ //#region src/router/auth.ts
90
+ let clientAuth = Object.freeze({
91
+ authenticated: false,
92
+ principal: null,
93
+ session: null,
94
+ tenant: null
95
+ });
96
+ /** Return the identity resolved for the route currently being rendered. */
97
+ function currentAuth() {
98
+ return getActiveRenderContext()?.authContext ?? clientAuth;
99
+ }
100
+ /** @internal Updated atomically with route resolution. */
101
+ function setCurrentAuth(context) {
102
+ clientAuth = context;
103
+ const render = getActiveRenderContext();
104
+ if (render) render.authContext = context;
105
+ }
106
+ //#endregion
107
+ //#region src/router/resolution.ts
108
+ const anonymous = () => ({
109
+ authenticated: false,
110
+ principal: null,
111
+ session: null,
112
+ tenant: null
113
+ });
114
+ const routeRenderContexts = /* @__PURE__ */ new WeakMap();
115
+ const routeRenderData = /* @__PURE__ */ new WeakMap();
116
+ function getRouteRenderContext(result) {
117
+ return routeRenderContexts.get(result);
118
+ }
119
+ function getRouteRenderData(result) {
120
+ return routeRenderData.get(result);
121
+ }
122
+ function createRouteRenderResult(record, params, context, handler) {
123
+ const result = {
124
+ kind: "render",
125
+ handler,
126
+ params
127
+ };
128
+ Object.defineProperty(result, "record", {
129
+ value: record,
130
+ enumerable: false
131
+ });
132
+ routeRenderContexts.set(result, context);
133
+ return result;
134
+ }
135
+ function getDefaultRouteMode() {
136
+ return typeof window !== "undefined" ? "spa" : "ssr";
137
+ }
138
+ /** @internal Bind resolved loader output to one route subtree and its hydration envelope. */
139
+ function bindResolvedRouteData(handler, data) {
140
+ return (params, context) => {
141
+ const renderContext = getActiveRenderContext();
142
+ if (renderContext) {
143
+ const envelope = replacePageRoute(renderContext.renderData, data);
144
+ renderContext.renderData = envelope;
145
+ renderContext.hydrationData = envelope;
146
+ }
147
+ return handler(params, context);
148
+ };
149
+ }
150
+ function hasRouteRenderData(result) {
151
+ return routeRenderData.has(result);
152
+ }
153
+ function buildRenderResult(record, params, context, request, telemetry, load) {
154
+ const renderHandler = getRenderHandler(record);
155
+ const loader = context.mode !== "ssg" && load ? record.options?.loader : void 0;
156
+ const preload = record.options?.preload;
157
+ const active = getActiveRenderContext();
158
+ const prefetch = active?.queryPrefetch ?? createQueryPrefetchContext({
159
+ mode: context.mode === "ssg" ? "ssr" : context.mode,
160
+ request,
161
+ signal: context.signal,
162
+ runtime: active?.dataRuntime,
163
+ telemetry
164
+ });
165
+ const runPreload = preload ? Promise.resolve(preload({
166
+ ...context,
167
+ params,
168
+ request,
169
+ data: prefetch
170
+ })).then(() => void 0) : void 0;
171
+ if (loader) {
172
+ const load = () => withTelemetry(telemetry?.loader, { route: record.path }, () => loader({
173
+ ...context,
174
+ params,
175
+ request
176
+ }));
177
+ const loaded = runPreload ? runPreload.then(load) : load();
178
+ const finalize = (data) => {
179
+ const result = createRouteRenderResult(record, params, context, bindResolvedRouteData(renderHandler, data));
180
+ routeRenderData.set(result, data);
181
+ return result;
182
+ };
183
+ return isPromiseLike(loaded) ? Promise.resolve(loaded).then(finalize) : finalize(loaded);
184
+ }
185
+ if (runPreload) return runPreload.then(() => createRouteRenderResult(record, params, context, renderHandler));
186
+ return createRouteRenderResult(record, params, context, renderHandler);
187
+ }
188
+ function runPolicies(policies, context, record, params, request, telemetry, load, start = 0) {
189
+ for (let index = start; index < policies.length; index += 1) {
190
+ const result = policies[index](context);
191
+ if (isPromiseLike(result)) return Promise.resolve(result).then((decision) => decision.kind === "allow" ? runPolicies(policies, context, record, params, request, telemetry, load, index + 1) : decision);
192
+ if (result.kind !== "allow") return result;
193
+ }
194
+ return buildRenderResult(record, params, context, request, telemetry, load);
195
+ }
196
+ function resolvePath(value, fallback, context) {
197
+ return typeof value === "function" ? value(context) : value ?? fallback;
198
+ }
199
+ function appendNext(path, href) {
200
+ const target = new URL(path, "http://localhost");
201
+ target.searchParams.set("next", href);
202
+ return `${target.pathname}${target.search}${target.hash}`;
203
+ }
204
+ function mapAuthDecision(decision, context, options) {
205
+ if (decision.allowed) return { kind: "allow" };
206
+ if (decision.reason === "forbidden") return {
207
+ kind: "deny",
208
+ status: 403
209
+ };
210
+ const target = resolvePath(decision.reason === "unauthenticated" ? options?.loginPath : options?.authenticatedRedirectTo, decision.reason === "unauthenticated" ? "/login" : "/", context);
211
+ const finalize = (path) => ({
212
+ kind: "redirect",
213
+ to: decision.reason === "unauthenticated" ? appendNext(path, context.href) : path,
214
+ replace: decision.reason === "unauthenticated" ? context.mode === "spa" : true
215
+ });
216
+ return isPromiseLike(target) ? Promise.resolve(target).then(finalize) : finalize(target);
217
+ }
218
+ function resolveMatchedRoute(record, params, context, authOptions, request, telemetry, load) {
219
+ const continueResolution = (decision) => {
220
+ if (decision) {
221
+ const access = mapAuthDecision(decision, context, authOptions);
222
+ if (isPromiseLike(access)) return Promise.resolve(access).then((next) => next.kind === "allow" ? runPolicies(record.options.policies ?? [], context, record, params, request, telemetry, load) : next);
223
+ if (access.kind !== "allow") return access;
224
+ }
225
+ return runPolicies(record.options.policies ?? [], context, record, params, request, telemetry, load);
226
+ };
227
+ if (!record.options.auth) return continueResolution();
228
+ const decision = record.options.auth(context.auth);
229
+ return isPromiseLike(decision) ? Promise.resolve(decision).then(continueResolution) : continueResolution(decision);
230
+ }
231
+ function resolveRouteRequest(target, options = {}) {
232
+ return withTelemetry(options.telemetry?.routeMatch, {}, () => {
233
+ const match = getMatchingRouteRecord(target, options.manifest?.records ?? getRouteRecords());
234
+ if (!match) return null;
235
+ const mode = options.mode ?? getDefaultRouteMode();
236
+ const signal = options.signal ?? getActiveRenderContext()?.signal ?? new AbortController().signal;
237
+ const authOptions = getActiveRouteAuthOptions(options.auth ?? options.manifest?.auth);
238
+ const base = buildRouteContextBase(target, match.params, {
239
+ mode,
240
+ signal
241
+ });
242
+ const finalize = (authContext) => {
243
+ setCurrentAuth(authContext);
244
+ return resolveMatchedRoute(match.record, match.params, buildRouteContext(target, match.params, {
245
+ mode,
246
+ signal,
247
+ authContext
248
+ }), authOptions, options.request, options.telemetry, options.load !== false);
249
+ };
250
+ if (options.authContext) return finalize(options.authContext);
251
+ if (!authOptions?.resolve) return finalize(anonymous());
252
+ const resolved = authOptions.resolve(base);
253
+ return isPromiseLike(resolved) ? Promise.resolve(resolved).then(finalize) : finalize(resolved);
254
+ });
255
+ }
256
+ //#endregion
257
+ //#region src/router/deferred.tsx
258
+ const DEFERRED_VALUE = Symbol.for("@askrjs/askr/deferred-value");
259
+ const DEFERRED_BOUNDARY = Symbol.for("@askrjs/askr/deferred-boundary");
260
+ function defer(promise) {
261
+ let state = "pending";
262
+ let value;
263
+ let error;
264
+ const normalized = Promise.resolve(promise);
265
+ normalized.then((resolved) => {
266
+ state = "fulfilled";
267
+ value = resolved;
268
+ }, (reason) => {
269
+ state = "rejected";
270
+ error = reason;
271
+ });
272
+ return Object.freeze(Object.defineProperties({}, {
273
+ state: {
274
+ enumerable: true,
275
+ get: () => state
276
+ },
277
+ value: {
278
+ enumerable: true,
279
+ get: () => value
280
+ },
281
+ error: {
282
+ enumerable: true,
283
+ get: () => error
284
+ },
285
+ promise: { value: normalized },
286
+ [DEFERRED_VALUE]: { value: true }
287
+ }));
288
+ }
289
+ function isDeferred(value) {
290
+ return Boolean(value && typeof value === "object" && value[DEFERRED_VALUE] === true);
291
+ }
292
+ /** @internal Reconstruct settled server data without starting loader work. */
293
+ function reviveDeferredValue(state, value, error) {
294
+ const promise = state === "fulfilled" ? Promise.resolve(value) : Promise.reject(error);
295
+ if (state === "rejected") promise.catch(() => void 0);
296
+ return Object.freeze(Object.defineProperties({}, {
297
+ state: {
298
+ enumerable: true,
299
+ value: state
300
+ },
301
+ value: {
302
+ enumerable: true,
303
+ value
304
+ },
305
+ error: {
306
+ enumerable: true,
307
+ value: error
308
+ },
309
+ promise: { value: promise },
310
+ [DEFERRED_VALUE]: { value: true }
311
+ }));
312
+ }
313
+ function abortError() {
314
+ const error = /* @__PURE__ */ new Error("Deferred route data was aborted.");
315
+ error.name = "AbortError";
316
+ return error;
317
+ }
318
+ function awaitWithSignal(promise, signal) {
319
+ if (!signal) return promise;
320
+ if (signal.aborted) return Promise.reject(abortError());
321
+ return new Promise((resolve, reject) => {
322
+ const abort = () => reject(abortError());
323
+ signal.addEventListener("abort", abort, { once: true });
324
+ promise.then((value) => {
325
+ signal.removeEventListener("abort", abort);
326
+ resolve(value);
327
+ }, (error) => {
328
+ signal.removeEventListener("abort", abort);
329
+ reject(error);
330
+ });
331
+ });
332
+ }
333
+ async function resolveDeferredValues(input, signal) {
334
+ const seen = /* @__PURE__ */ new Set();
335
+ const visit = async (value) => {
336
+ if (!value || typeof value !== "object") return;
337
+ if (isDeferred(value)) {
338
+ const resolved = await awaitWithSignal(value.promise, signal);
339
+ await visit(resolved);
340
+ return;
341
+ }
342
+ if (seen.has(value)) return;
343
+ seen.add(value);
344
+ const children = Array.isArray(value) ? value : Object.values(value);
345
+ await Promise.all(children.map(visit));
346
+ };
347
+ await visit(input);
348
+ return input;
349
+ }
350
+ function routeData() {
351
+ const envelope = getCurrentRenderData();
352
+ if (envelope) return envelope.route;
353
+ const runtime = getCurrentAppRenderRuntime();
354
+ if (!runtime?.hasRoute) throw new Error("routeData() can only be read while rendering a route with loader data.");
355
+ return runtime.route;
356
+ }
357
+ function rejectedChild(props, error) {
358
+ return typeof props.rejected === "function" ? props.rejected(error) : props.rejected ?? null;
359
+ }
360
+ function Resolve(props) {
361
+ if (props.value.state === "fulfilled") return props.children(props.value.value);
362
+ if (props.value.state === "rejected") return rejectedChild(props, props.value.error);
363
+ const renderContext = getActiveRenderContext();
364
+ if (renderContext) {
365
+ const id = `d:${renderContext.deferredBoundaries.length}`;
366
+ renderContext.deferredBoundaries.push({
367
+ id,
368
+ promise: props.value.promise,
369
+ fulfilled: (value) => props.children(value),
370
+ rejected: (error) => rejectedChild(props, error)
371
+ });
372
+ return {
373
+ type: DEFERRED_BOUNDARY,
374
+ props: {
375
+ id,
376
+ pending: props.pending ?? null
377
+ }
378
+ };
379
+ }
380
+ const result = resource(() => props.value.promise, [props.value]);
381
+ if (result.error) return rejectedChild(props, result.error);
382
+ if (result.pending || result.value === null) return props.pending ?? null;
383
+ return props.children(result.value);
384
+ }
385
+ //#endregion
386
+ export { pageRenderEnvelope as _, resolveDeferredValues as a, getRenderHandler as b, bindResolvedRouteData as c, hasRouteRenderData as d, resolveRouteRequest as f, isPageRenderEnvelope as g, isEmptyPageRenderEnvelope as h, isDeferred as i, getRouteRenderContext as l, createPageRenderEnvelope as m, Resolve as n, reviveDeferredValue as o, currentAuth as p, defer as r, routeData as s, DEFERRED_BOUNDARY as t, getRouteRenderData as u, Outlet as v, createRouteHandler as y };
@@ -1,6 +1,6 @@
1
- import { enqueueRuntimeLane } from "./access.js";
2
- import { withFineGrainedReadTracking } from "./readable.js";
3
- import "./dev-namespace.js";
1
+ import { t as enqueueRuntimeLane } from "./access-Bg4RJNC8.js";
2
+ import { _ as withFineGrainedReadTracking } from "./fastlane-Dw8SOBr9.js";
3
+ //#region src/runtime/effect.ts
4
4
  const SOURCE_EFFECTS = Symbol("askr.source-effects");
5
5
  const effectSources = /* @__PURE__ */ new WeakMap();
6
6
  const dirtyEffectsByLane = {
@@ -257,4 +257,4 @@ function createOwnedFineGrainedEffect(lane, compute, commit, equals, onError, ow
257
257
  return effect;
258
258
  }
259
259
  //#endregion
260
- export { createFineGrainedEffect, createOwnedFineGrainedEffect, markFineGrainedEffectsDirtySource };
260
+ export { createOwnedFineGrainedEffect as n, markFineGrainedEffectsDirtySource as r, createFineGrainedEffect as t };