@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,359 @@
1
+ import { b as isDevelopmentEnvironment, v as logger } from "./access-Bg4RJNC8.js";
2
+ import { a as cleanupReadableSubscriptions, c as finalizeReadableSubscriptionsFromSnapshot, i as cleanupReadableSubscriptionSources, t as isBulkCommitActive } from "./fastlane-Dw8SOBr9.js";
3
+ import { a as clearCurrentComponentScope, y as restoreCurrentComponentScope } from "./component-scope-CC3cojX9.js";
4
+ //#region src/runtime/component-cleanup.ts
5
+ /**
6
+ * Component cleanup and owned child-scope bookkeeping.
7
+ */
8
+ /**
9
+ * Dispose an inactive ownership generation without swapping it back onto the
10
+ * component instance that now represents a different live route.
11
+ */
12
+ function cleanupComponentGeneration(instance, generation) {
13
+ const savedScope = clearCurrentComponentScope();
14
+ try {
15
+ const cleanupErrors = instance.cleanupStrict ? [] : void 0;
16
+ const recordCleanupError = (message, err) => {
17
+ if (cleanupErrors) cleanupErrors.push(err);
18
+ else if (isDevelopmentEnvironment()) logger.warn(message, err);
19
+ };
20
+ const ownedChildScopes = generation.ownedChildScopes;
21
+ if (ownedChildScopes && ownedChildScopes.size > 0) {
22
+ for (const scope of ownedChildScopes) try {
23
+ scope.dispose();
24
+ } catch (err) {
25
+ recordCleanupError("[Askr] child scope cleanup threw:", err);
26
+ }
27
+ ownedChildScopes.clear();
28
+ }
29
+ try {
30
+ cleanupReadableSubscriptionSources(instance, generation.readSources, generation.ownershipGeneration);
31
+ } catch (err) {
32
+ recordCleanupError("[Askr] readable subscription cleanup threw:", err);
33
+ }
34
+ const cleanupFns = generation.cleanupFns;
35
+ generation.cleanupFns = void 0;
36
+ if (cleanupFns) for (const cleanup of cleanupFns) try {
37
+ cleanup();
38
+ } catch (err) {
39
+ recordCleanupError("[Askr] cleanup function threw:", err);
40
+ }
41
+ try {
42
+ if (generation.abortController && !generation.abortController.signal.aborted) generation.abortController.abort();
43
+ } catch (err) {
44
+ recordCleanupError("[Askr] abort controller cleanup threw:", err);
45
+ }
46
+ generation.abortController = null;
47
+ if (cleanupErrors && cleanupErrors.length > 0) throw new AggregateError(cleanupErrors, `Cleanup failed for component ${instance.id}`);
48
+ } finally {
49
+ restoreCurrentComponentScope(savedScope);
50
+ }
51
+ }
52
+ /**
53
+ * Clean up component resources on unmount or route changes.
54
+ */
55
+ function cleanupComponent(instance) {
56
+ const savedScope = clearCurrentComponentScope();
57
+ try {
58
+ const cleanupErrors = instance.cleanupStrict ? [] : void 0;
59
+ const recordCleanupError = (message, err) => {
60
+ if (cleanupErrors) cleanupErrors.push(err);
61
+ else if (isDevelopmentEnvironment()) logger.warn(message, err);
62
+ };
63
+ const ownedChildScopes = instance._ownedChildScopes;
64
+ if (ownedChildScopes && ownedChildScopes.size > 0) {
65
+ instance._ownedChildScopes = /* @__PURE__ */ new Set();
66
+ for (const scope of ownedChildScopes) try {
67
+ scope.dispose();
68
+ } catch (err) {
69
+ recordCleanupError("[Askr] child scope cleanup threw:", err);
70
+ }
71
+ }
72
+ const cleanupFns = instance.cleanupFns;
73
+ instance.cleanupFns = void 0;
74
+ if (cleanupFns) for (const cleanup of cleanupFns) try {
75
+ cleanup();
76
+ } catch (err) {
77
+ recordCleanupError("[Askr] cleanup function threw:", err);
78
+ }
79
+ try {
80
+ cleanupReadableSubscriptions(instance);
81
+ } catch (err) {
82
+ recordCleanupError("[Askr] readable subscription cleanup threw:", err);
83
+ }
84
+ try {
85
+ if (instance.abortController && !instance.abortController.signal.aborted) instance.abortController.abort();
86
+ } catch (err) {
87
+ recordCleanupError("[Askr] abort controller cleanup threw:", err);
88
+ }
89
+ instance.abortController = null;
90
+ instance.lifecycleGeneration++;
91
+ instance.evaluationGeneration++;
92
+ instance.mountOperations = void 0;
93
+ instance.commitOperations = void 0;
94
+ instance.lifecycleSlots = void 0;
95
+ instance.hasPendingUpdate = false;
96
+ instance.notifyUpdate = null;
97
+ instance._placeholder = void 0;
98
+ instance.mounted = false;
99
+ if (cleanupErrors && cleanupErrors.length > 0) throw new AggregateError(cleanupErrors, `Cleanup failed for component ${instance.id}`);
100
+ } finally {
101
+ restoreCurrentComponentScope(savedScope);
102
+ }
103
+ }
104
+ function registerOwnedChildScope(instance, scope) {
105
+ (instance._ownedChildScopes ??= /* @__PURE__ */ new Set()).add(scope);
106
+ }
107
+ function unregisterOwnedChildScope(instance, scope) {
108
+ instance._ownedChildScopes?.delete(scope);
109
+ }
110
+ //#endregion
111
+ //#region src/common/promise.ts
112
+ function isPromiseLike(value) {
113
+ return value !== null && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
114
+ }
115
+ //#endregion
116
+ //#region src/runtime/lifecycle-operation-settlement.ts
117
+ function settleLifecycleOperationResult(instance, lifecycleGeneration, result) {
118
+ if (isPromiseLike(result)) Promise.resolve(result).then((cleanup) => {
119
+ if (typeof cleanup === "function") {
120
+ if (instance.lifecycleGeneration === lifecycleGeneration && instance.mounted) {
121
+ (instance.cleanupFns ??= []).push(cleanup);
122
+ return;
123
+ }
124
+ try {
125
+ cleanup();
126
+ } catch (err) {
127
+ logger.error("[Askr] async mount cleanup failed:", err);
128
+ }
129
+ }
130
+ }, (err) => {
131
+ logger.error("[Askr] async mount operation failed:", err);
132
+ });
133
+ else if (typeof result === "function") (instance.cleanupFns ??= []).push(result);
134
+ }
135
+ function executeOperations(instance, operations) {
136
+ if (operations.length === 0) return [];
137
+ const lifecycleGeneration = instance.lifecycleGeneration;
138
+ const errors = [];
139
+ for (const operation of operations) try {
140
+ settleLifecycleOperationResult(instance, lifecycleGeneration, operation());
141
+ } catch (error) {
142
+ errors.push(error);
143
+ }
144
+ return errors;
145
+ }
146
+ function discardCommitOperations(instance) {
147
+ instance.commitOperations = void 0;
148
+ }
149
+ function executeCommittedLifecycleOperations(instance, wasFirstMount) {
150
+ const errors = [];
151
+ if (wasFirstMount && (instance.mountOperations?.length ?? 0) > 0) {
152
+ const operations = instance.mountOperations;
153
+ instance.mountOperations = void 0;
154
+ errors.push(...executeOperations(instance, operations));
155
+ }
156
+ if ((instance.commitOperations?.length ?? 0) > 0) {
157
+ const operations = instance.commitOperations;
158
+ instance.commitOperations = void 0;
159
+ errors.push(...executeOperations(instance, operations));
160
+ }
161
+ if (errors.length > 0) throw new AggregateError(errors, `Committed lifecycle operations failed for ${instance.id}`);
162
+ }
163
+ //#endregion
164
+ //#region src/runtime/lifecycle-batch.ts
165
+ let currentLifecycleCommitBatch = null;
166
+ const pendingLifecycleCommitErrors = [];
167
+ /** @internal Drain commit-time cleanup errors for transaction owners such as the router. */
168
+ function drainLifecycleCommitErrors() {
169
+ if (pendingLifecycleCommitErrors.length === 0) return [];
170
+ return pendingLifecycleCommitErrors.splice(0);
171
+ }
172
+ function beginLifecycleCommitBatch() {
173
+ const batch = {
174
+ parent: currentLifecycleCommitBatch,
175
+ entries: [],
176
+ entriesByInstance: /* @__PURE__ */ new Map(),
177
+ readCommits: [],
178
+ readCommitsByInstance: /* @__PURE__ */ new Map(),
179
+ renderSnapshots: [],
180
+ renderSnapshotsByInstance: /* @__PURE__ */ new Map(),
181
+ transactions: [],
182
+ transactionsByKey: /* @__PURE__ */ new Map(),
183
+ retainedElementSnapshots: /* @__PURE__ */ new Map(),
184
+ active: true
185
+ };
186
+ currentLifecycleCommitBatch = batch;
187
+ return batch;
188
+ }
189
+ function getCurrentLifecycleCommitBatch() {
190
+ return currentLifecycleCommitBatch?.active ? currentLifecycleCommitBatch : null;
191
+ }
192
+ function enqueueLifecycleTransaction(batch, transaction) {
193
+ if (batch.transactionsByKey.has(transaction.key)) return;
194
+ batch.transactionsByKey.set(transaction.key, transaction);
195
+ batch.transactions.push(transaction);
196
+ }
197
+ function registerLifecycleTransaction(key, commit, rollback, merge) {
198
+ if (!currentLifecycleCommitBatch?.active) return false;
199
+ enqueueLifecycleTransaction(currentLifecycleCommitBatch, {
200
+ key,
201
+ commit,
202
+ rollback,
203
+ merge
204
+ });
205
+ return true;
206
+ }
207
+ function registerLifecycleRollback(rollback) {
208
+ if (!currentLifecycleCommitBatch?.active) return false;
209
+ currentLifecycleCommitBatch.transactions.push(rollback);
210
+ return true;
211
+ }
212
+ function closeLifecycleCommitBatch(batch) {
213
+ if (!batch.active) return false;
214
+ batch.active = false;
215
+ currentLifecycleCommitBatch = batch.parent;
216
+ return true;
217
+ }
218
+ function enqueueLifecycleCommit(batch, instance, wasFirstMount) {
219
+ const existing = batch.entriesByInstance.get(instance);
220
+ if (existing) {
221
+ existing.wasFirstMount = existing.wasFirstMount || wasFirstMount;
222
+ return;
223
+ }
224
+ const entry = {
225
+ instance,
226
+ wasFirstMount
227
+ };
228
+ batch.entriesByInstance.set(instance, entry);
229
+ batch.entries.push(entry);
230
+ }
231
+ function enqueueLifecycleCommitForInstance(instance, wasFirstMount) {
232
+ if (!currentLifecycleCommitBatch?.active) return false;
233
+ enqueueLifecycleCommit(currentLifecycleCommitBatch, instance, wasFirstMount);
234
+ return true;
235
+ }
236
+ function enqueueReadSubscriptionCommit(batch, instance, token, pendingReadSources, pendingReadSourceVersions) {
237
+ const existing = batch.readCommitsByInstance.get(instance);
238
+ const commit = existing ?? {
239
+ instance,
240
+ token,
241
+ pendingReadSources,
242
+ pendingReadSourceVersions
243
+ };
244
+ commit.token = token;
245
+ commit.pendingReadSources = pendingReadSources ? new Set(pendingReadSources) : void 0;
246
+ commit.pendingReadSourceVersions = pendingReadSourceVersions ? new Map(pendingReadSourceVersions) : void 0;
247
+ if (!existing) {
248
+ batch.readCommitsByInstance.set(instance, commit);
249
+ batch.readCommits.push(commit);
250
+ }
251
+ }
252
+ function enqueueInlineRenderSnapshot(batch, snapshot) {
253
+ if (batch.renderSnapshotsByInstance.has(snapshot.instance)) return;
254
+ batch.renderSnapshotsByInstance.set(snapshot.instance, snapshot);
255
+ batch.renderSnapshots.push(snapshot);
256
+ }
257
+ function captureInlineRenderSnapshot(instance) {
258
+ if (!currentLifecycleCommitBatch?.active) return;
259
+ enqueueInlineRenderSnapshot(currentLifecycleCommitBatch, {
260
+ instance,
261
+ props: instance.props,
262
+ ownerFrame: instance.ownerFrame,
263
+ portalScope: instance.portalScope,
264
+ parentInstance: instance.parentInstance,
265
+ isRoot: instance.isRoot,
266
+ vnodeParentGeneration: instance._vnodeParentGeneration
267
+ });
268
+ }
269
+ function finalizeInlineReadSubscriptions(instance, token, pendingReadSources, pendingReadSourceVersions) {
270
+ if ((!pendingReadSources || pendingReadSources.size === 0) && (!instance._lastReadSources || instance._lastReadSources.size === 0)) return;
271
+ if (currentLifecycleCommitBatch?.active) {
272
+ enqueueReadSubscriptionCommit(currentLifecycleCommitBatch, instance, token, pendingReadSources, pendingReadSourceVersions);
273
+ return;
274
+ }
275
+ finalizeReadableSubscriptionsFromSnapshot(instance, token, pendingReadSources, pendingReadSourceVersions);
276
+ }
277
+ function flushLifecycleCommitBatch(batch) {
278
+ if (!closeLifecycleCommitBatch(batch)) return;
279
+ if (batch.parent?.active) {
280
+ for (const [element, snapshot] of batch.retainedElementSnapshots) if (!batch.parent.retainedElementSnapshots.has(element)) batch.parent.retainedElementSnapshots.set(element, snapshot);
281
+ for (const entry of batch.transactions) if (typeof entry === "function") batch.parent.transactions.push(entry);
282
+ else {
283
+ const existing = batch.parent.transactionsByKey.get(entry.key);
284
+ if (existing && entry.merge) entry.merge(existing);
285
+ else enqueueLifecycleTransaction(batch.parent, entry);
286
+ }
287
+ for (const snapshot of batch.renderSnapshots) enqueueInlineRenderSnapshot(batch.parent, snapshot);
288
+ for (const commit of batch.readCommits) enqueueReadSubscriptionCommit(batch.parent, commit.instance, commit.token, commit.pendingReadSources, commit.pendingReadSourceVersions);
289
+ for (const entry of batch.entries) enqueueLifecycleCommit(batch.parent, entry.instance, entry.wasFirstMount);
290
+ return;
291
+ }
292
+ const commitErrors = [];
293
+ for (const commit of batch.readCommits) try {
294
+ finalizeReadableSubscriptionsFromSnapshot(commit.instance, commit.token, commit.pendingReadSources, commit.pendingReadSourceVersions);
295
+ } catch (error) {
296
+ commitErrors.push(error);
297
+ }
298
+ for (const transaction of batch.transactions) {
299
+ if (typeof transaction === "function") continue;
300
+ try {
301
+ transaction.commit();
302
+ } catch (error) {
303
+ commitErrors.push(error);
304
+ }
305
+ }
306
+ for (const entry of batch.entries) try {
307
+ executeCommittedLifecycleOperations(entry.instance, entry.wasFirstMount);
308
+ } catch (error) {
309
+ commitErrors.push(error);
310
+ }
311
+ if (commitErrors.length > 0) {
312
+ pendingLifecycleCommitErrors.push(...commitErrors);
313
+ logger.error("[Askr] committed lifecycle work failed:", new AggregateError(commitErrors, "Committed lifecycle work failed"));
314
+ }
315
+ }
316
+ function discardLifecycleCommitBatch(batch) {
317
+ if (!closeLifecycleCommitBatch(batch)) return;
318
+ for (let index = batch.transactions.length - 1; index >= 0; index -= 1) try {
319
+ const transaction = batch.transactions[index];
320
+ if (typeof transaction === "function") transaction();
321
+ else transaction.rollback();
322
+ } catch (error) {
323
+ logger.error("[Askr] transaction rollback failed:", error);
324
+ }
325
+ for (let index = batch.renderSnapshots.length - 1; index >= 0; index -= 1) {
326
+ const snapshot = batch.renderSnapshots[index];
327
+ snapshot.instance.props = snapshot.props;
328
+ snapshot.instance.ownerFrame = snapshot.ownerFrame;
329
+ snapshot.instance.portalScope = snapshot.portalScope;
330
+ snapshot.instance.parentInstance = snapshot.parentInstance;
331
+ snapshot.instance.isRoot = snapshot.isRoot;
332
+ snapshot.instance._vnodeParentGeneration = snapshot.vnodeParentGeneration;
333
+ }
334
+ for (const entry of batch.entries) {
335
+ if (entry.wasFirstMount) entry.instance.mountOperations = void 0;
336
+ discardCommitOperations(entry.instance);
337
+ }
338
+ }
339
+ //#endregion
340
+ //#region src/runtime/component-lifecycle.ts
341
+ function registerCommitOperationForInstance(instance, operation) {
342
+ if (instance) {
343
+ if (isBulkCommitActive()) {
344
+ if (isDevelopmentEnvironment()) throw new Error("registerCommitOperation called during bulk commit fast-lane");
345
+ return;
346
+ }
347
+ (instance.commitOperations ??= []).push(operation);
348
+ }
349
+ }
350
+ function commitLifecycleForInstance(instance, wasFirstMount) {
351
+ if ((instance.mountOperations?.length ?? 0) === 0 && (instance.commitOperations?.length ?? 0) === 0) return;
352
+ if (enqueueLifecycleCommitForInstance(instance, wasFirstMount)) return;
353
+ executeCommittedLifecycleOperations(instance, wasFirstMount);
354
+ }
355
+ function commitRenderedComponent(instance) {
356
+ if (instance.mounted && (instance.commitOperations?.length ?? 0) > 0) commitLifecycleForInstance(instance, false);
357
+ }
358
+ //#endregion
359
+ export { registerOwnedChildScope as _, captureInlineRenderSnapshot as a, finalizeInlineReadSubscriptions as c, registerLifecycleRollback as d, registerLifecycleTransaction as f, cleanupComponentGeneration as g, cleanupComponent as h, beginLifecycleCommitBatch as i, flushLifecycleCommitBatch as l, isPromiseLike as m, commitRenderedComponent as n, discardLifecycleCommitBatch as o, discardCommitOperations as p, registerCommitOperationForInstance as r, drainLifecycleCommitErrors as s, commitLifecycleForInstance as t, getCurrentLifecycleCommitBatch as u, unregisterOwnedChildScope as v };
@@ -42,6 +42,13 @@ function getCurrentComponentInstance() {
42
42
  function getCurrentInstance() {
43
43
  return currentInstance;
44
44
  }
45
+ function getCurrentAppRenderRuntime() {
46
+ let instance = currentInstance;
47
+ while (instance) {
48
+ if (instance._appRenderRuntime) return instance._appRenderRuntime;
49
+ instance = instance.parentInstance;
50
+ }
51
+ }
45
52
  function setCurrentComponentInstance(instance) {
46
53
  currentInstance = instance;
47
54
  currentPortalScope = instance?.portalScope ?? null;
@@ -170,4 +177,4 @@ function getCurrentStateIndex() {
170
177
  return stateIndex;
171
178
  }
172
179
  //#endregion
173
- export { beginRenderTracking, captureInlineComponentScope, captureInlineRenderTracking, claimHookIndex, clearCurrentComponentScope, clearRenderTracking, enterComponentExecutionScope, enterDomCommitScope, enterRenderScopedComponent, exitComponentExecutionScope, getCurrentComponentInstance, getCurrentInstance, getCurrentPortalScope, getCurrentStateIndex, getNextStateIndex, getSignal, getSignalForInstance, resetRenderState, restoreCurrentComponentScope, restoreDomCommitScope, restoreInlineComponentScope, restoreInlineRenderTracking, restoreRenderScopedComponent, setCurrentComponentInstance };
180
+ export { restoreRenderScopedComponent as C, restoreInlineRenderTracking as S, getSignalForInstance as _, clearCurrentComponentScope as a, restoreDomCommitScope as b, enterDomCommitScope as c, getCurrentAppRenderRuntime as d, getCurrentComponentInstance as f, getSignal as g, getCurrentStateIndex as h, claimHookIndex as i, enterRenderScopedComponent as l, getCurrentPortalScope as m, captureInlineComponentScope as n, clearRenderTracking as o, getCurrentInstance as p, captureInlineRenderTracking as r, enterComponentExecutionScope as s, beginRenderTracking as t, exitComponentExecutionScope as u, resetRenderState as v, setCurrentComponentInstance as w, restoreInlineComponentScope as x, restoreCurrentComponentScope as y };
@@ -0,0 +1,12 @@
1
+ //#region src/runtime/component-scope.d.ts
2
+ /**
3
+ * Get the abort signal for the current component.
4
+ *
5
+ * The signal is guaranteed to be aborted when:
6
+ * - Component unmounts
7
+ * - Navigation occurs (different route)
8
+ * - Parent is destroyed
9
+ */
10
+ declare function getSignal(): AbortSignal;
11
+ //#endregion
12
+ export { getSignal as t };
@@ -1,3 +1,18 @@
1
- import { ErrorBoundaryFallbackRender, ErrorBoundaryProps } from "../common/error-boundary.js";
2
- import { ErrorBoundary } from "./error-boundary.js";
1
+ import { l as VNode } from "../control-BI4RMD2z.js";
2
+ import { r as JSXElement, s as Props } from "../jsx-CP0gmYwJ.js";
3
+
4
+ //#region src/common/error-boundary.d.ts
5
+ type ErrorBoundaryContent = VNode | readonly VNode[];
6
+ type ErrorBoundaryFallbackValue = ErrorBoundaryContent | Node;
7
+ type ErrorBoundaryFallbackRender = (error: unknown, reset: () => void) => ErrorBoundaryFallbackValue;
8
+ interface ErrorBoundaryProps extends Props {
9
+ children?: ErrorBoundaryContent;
10
+ fallback?: ErrorBoundaryFallbackValue | ErrorBoundaryFallbackRender;
11
+ onError?: (error: unknown) => void;
12
+ resetKey?: unknown;
13
+ }
14
+ //#endregion
15
+ //#region src/components/error-boundary.d.ts
16
+ declare function ErrorBoundary(props: ErrorBoundaryProps): JSXElement;
17
+ //#endregion
3
18
  export { ErrorBoundary, type ErrorBoundaryFallbackRender, type ErrorBoundaryProps };
@@ -1,2 +1,40 @@
1
- import { ErrorBoundary } from "./error-boundary.js";
1
+ import { t as __ERROR_BOUNDARY__ } from "../vnode-CGMJYPMB.js";
2
+ import { t as ELEMENT_TYPE } from "../jsx-CUpRxrLH.js";
3
+ import { f as getCurrentComponentInstance } from "../component-scope-CC3cojX9.js";
4
+ //#region src/components/error-boundary.tsx
5
+ function ensureBoundaryState(instance, resetKey) {
6
+ const boundaryState = instance.errorBoundaryState ?? (instance.errorBoundaryState = {
7
+ error: null,
8
+ resetKey,
9
+ notified: false
10
+ });
11
+ if (!Object.is(boundaryState.resetKey, resetKey)) {
12
+ boundaryState.error = null;
13
+ boundaryState.resetKey = resetKey;
14
+ boundaryState.notified = false;
15
+ }
16
+ return boundaryState;
17
+ }
18
+ function createBoundaryVNode(instance, props) {
19
+ const key = typeof props.key === "symbol" ? null : props.key ?? null;
20
+ return {
21
+ $$typeof: ELEMENT_TYPE,
22
+ type: __ERROR_BOUNDARY__,
23
+ props: {
24
+ children: props.children,
25
+ fallback: props.fallback,
26
+ onError: props.onError,
27
+ resetKey: props.resetKey
28
+ },
29
+ key,
30
+ __instance: instance
31
+ };
32
+ }
33
+ function ErrorBoundary(props) {
34
+ const instance = getCurrentComponentInstance();
35
+ if (!instance) throw new Error("[Askr] ErrorBoundary() can only be used during component render execution.");
36
+ ensureBoundaryState(instance, props.resetKey);
37
+ return createBoundaryVNode(instance, props);
38
+ }
39
+ //#endregion
2
40
  export { ErrorBoundary };
@@ -0,0 +1,92 @@
1
+ //#region src/foundations/utilities/compose-handlers.ts
2
+ function isDefaultPrevented(value) {
3
+ return typeof value === "object" && value !== null && "defaultPrevented" in value && value.defaultPrevented === true;
4
+ }
5
+ function composeHandlers(first, second, options) {
6
+ if (!first && !second) return noop;
7
+ if (!first) return second;
8
+ if (!second) return first;
9
+ const checkDefaultPrevented = options?.checkDefaultPrevented !== false;
10
+ return function composed(...args) {
11
+ first(...args);
12
+ if (checkDefaultPrevented && isDefaultPrevented(args[0])) return;
13
+ second(...args);
14
+ };
15
+ }
16
+ function noop() {}
17
+ //#endregion
18
+ //#region src/foundations/utilities/merge-props.ts
19
+ /**
20
+ * mergeProps
21
+ *
22
+ * Deterministic props merging.
23
+ * - For non-handlers: `base` overwrites `injected`.
24
+ * - For handlers present in both: handlers are composed with `injected` running
25
+ * first; it may call `preventDefault()` to suppress the `base` handler.
26
+ *
27
+ * POLICY DECISIONS (LOCKED):
28
+ *
29
+ * 1. Merge Strategy
30
+ * Base props overwrite injected props (base wins).
31
+ * Exception: Event handlers are composed, not overwritten.
32
+ *
33
+ * 2. Event Handler Detection
34
+ * Keys starting with "on" are treated as event handlers.
35
+ * This matches JSX conventions.
36
+ *
37
+ * 3. Handler Composition Order
38
+ * Injected handler runs first, base handler second.
39
+ * This allows injected handlers to prevent default.
40
+ *
41
+ * 4. Return Type
42
+ * Returns intersection type (TInjected & TBase) for type safety.
43
+ */
44
+ function isEventHandlerKey(key) {
45
+ return key.startsWith("on");
46
+ }
47
+ function mergeProps(base, injected) {
48
+ const baseKeys = Object.keys(base);
49
+ if (baseKeys.length === 0) return injected;
50
+ const out = { ...injected };
51
+ for (const key of baseKeys) {
52
+ const baseValue = base[key];
53
+ const injectedValue = injected[key];
54
+ if (isEventHandlerKey(key) && typeof baseValue === "function" && typeof injectedValue === "function") {
55
+ out[key] = composeHandlers(injectedValue, baseValue);
56
+ continue;
57
+ }
58
+ out[key] = baseValue;
59
+ }
60
+ return out;
61
+ }
62
+ //#endregion
63
+ //#region src/foundations/utilities/aria.ts
64
+ /**
65
+ * Tiny aria helpers
66
+ */
67
+ function ariaDisabled(disabled) {
68
+ return disabled ? { "aria-disabled": "true" } : {};
69
+ }
70
+ function ariaExpanded(expanded) {
71
+ return expanded === void 0 ? {} : { "aria-expanded": String(expanded) };
72
+ }
73
+ function ariaSelected(selected) {
74
+ return selected === void 0 ? {} : { "aria-selected": String(selected) };
75
+ }
76
+ //#endregion
77
+ //#region src/foundations/utilities/compose-ref.ts
78
+ function setRef(ref, value) {
79
+ if (!ref) return;
80
+ if (typeof ref === "function") {
81
+ ref(value);
82
+ return;
83
+ }
84
+ if (Object.isExtensible(ref)) ref.current = value;
85
+ }
86
+ function composeRefs(...refs) {
87
+ return (value) => {
88
+ for (const ref of refs) setRef(ref, value);
89
+ };
90
+ }
91
+ //#endregion
92
+ export { ariaSelected as a, ariaExpanded as i, setRef as n, mergeProps as o, ariaDisabled as r, composeHandlers as s, composeRefs as t };
@@ -23,4 +23,4 @@ type Ref<T> = ((value: T | null) => void) | {
23
23
  declare function setRef<T>(ref: Ref<T>, value: T | null): void;
24
24
  declare function composeRefs<T>(...refs: Array<Ref<T>>): (value: T | null) => void;
25
25
  //#endregion
26
- export { Ref, composeRefs, setRef };
26
+ export { composeRefs as n, setRef as r, Ref as t };
@@ -1,4 +1,2 @@
1
- import { For, ForProps } from "./for.js";
2
- import { Show, ShowProps } from "./show.js";
3
- import { Case, CaseProps, Match, MatchProps } from "./case.js";
1
+ import { a as Show, c as ForProps, i as MatchProps, n as CaseProps, o as ShowProps, r as Match, s as For, t as Case } from "../index-DwxdIA-t.js";
4
2
  export { Case, type CaseProps, For, type ForProps, Match, type MatchProps, Show, type ShowProps };
@@ -1,4 +1,2 @@
1
- import { For } from "./for.js";
2
- import { Show } from "./show.js";
3
- import { Case, Match } from "./case.js";
1
+ import { i as For, n as Match, r as Show, t as Case } from "../control-mXROCjL3.js";
4
2
  export { Case, For, Match, Show };