@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
@@ -1,7 +1,5 @@
1
- import { ComponentInstance } from "./component-internal.js";
2
- import { ReadableSource } from "./readable.js";
3
- import { Scheduler } from "./scheduler.js";
4
-
1
+ import { n as ReadableSource, r as ComponentInstance } from "./control-BI4RMD2z.js";
2
+ import { t as Scheduler } from "./scheduler-CmLO4Dfm.js";
5
3
  //#region src/runtime/runtime.d.ts
6
4
  interface RuntimeKeyedReorderDecision {
7
5
  useFastPath: boolean;
@@ -16,7 +14,7 @@ interface RuntimeKeyedReorderDecision {
16
14
  interface RuntimeRendererHost {
17
15
  evaluate(node: unknown, target: Element | null, context?: object, retainedOwner?: ComponentInstance): void;
18
16
  cleanupInstancesUnder(node: Node): void;
19
- teardownNodeSubtree(root: Element): void;
17
+ teardownNodeSubtree(root: Node): void;
20
18
  populateKeyMapForElement(parent: Element): void;
21
19
  getKeyMapForElement(parent: Element): Map<string | number, Element> | undefined;
22
20
  isKeyedReorderFastPathEligible(parent: Element, children: unknown[], oldKeyMap: Map<string | number, Element> | undefined): RuntimeKeyedReorderDecision;
@@ -33,9 +31,34 @@ declare class AskrRuntime {
33
31
  get renderer(): RuntimeRendererHost;
34
32
  configureRenderer(renderer: RuntimeRendererHost): void;
35
33
  }
36
- declare const defaultRuntime: AskrRuntime;
37
34
  declare function createRuntime(options?: AskrRuntimeOptions): AskrRuntime;
38
35
  declare function getDefaultRuntime(): AskrRuntime;
39
- declare function configureRuntimeRenderer(renderer: RuntimeRendererHost, runtime?: AskrRuntime): void;
40
36
  //#endregion
41
- export { AskrRuntime, AskrRuntimeOptions, RuntimeKeyedReorderDecision, RuntimeRendererHost, createRuntime, getDefaultRuntime };
37
+ //#region src/runtime/snapshot-source.d.ts
38
+ declare const SNAPSHOT_SOURCE_BRAND: unique symbol;
39
+ type SnapshotSourceBrand = {
40
+ readonly [SNAPSHOT_SOURCE_BRAND]: true;
41
+ };
42
+ //#endregion
43
+ //#region src/runtime/derive.d.ts
44
+ interface Derived<T> extends ReadableSource<T> {
45
+ (): T;
46
+ }
47
+ type SnapshotSource<T> = {
48
+ value: T | null;
49
+ pending?: boolean;
50
+ error?: Error | null;
51
+ } & SnapshotSourceBrand;
52
+ declare function derive<TOut>(fn: () => TOut): Derived<TOut>;
53
+ declare function derive<TIn, TOut>(source: SnapshotSource<TIn> | TIn | (() => TIn), map: (value: TIn) => TOut): Derived<TOut | null>;
54
+ //#endregion
55
+ //#region src/runtime/selector.d.ts
56
+ interface Selector<T> {
57
+ (candidate: T): boolean;
58
+ }
59
+ type SelectorEquals<T> = {
60
+ bivarianceHack(a: T, b: T): boolean;
61
+ }['bivarianceHack'];
62
+ declare function selector<T>(source: () => T, equals?: SelectorEquals<T>): Selector<T>;
63
+ //#endregion
64
+ export { AskrRuntime as a, RuntimeRendererHost as c, derive as i, createRuntime as l, selector as n, AskrRuntimeOptions as o, Derived as r, RuntimeKeyedReorderDecision as s, Selector as t, getDefaultRuntime as u };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,8 @@
1
- import { Props } from "./common/props.js";
2
- import { Fragment } from "./common/jsx.js";
3
- import { jsx, jsxs } from "./jsx-runtime.js";
4
- import { State, StateSetter, StateTuple, state } from "./runtime/state.js";
5
- import { Context, defineContext, readContext } from "./runtime/context.js";
6
- import { getSignal } from "./runtime/component-scope.js";
7
- import { AskrRuntime, AskrRuntimeOptions, RuntimeKeyedReorderDecision, RuntimeRendererHost, createRuntime, getDefaultRuntime } from "./runtime/runtime.js";
8
- import { Derived, derive } from "./runtime/derive.js";
9
- import { Selector, selector } from "./runtime/selector.js";
10
- import { For, ForProps } from "./control/for.js";
11
- import { Show, ShowProps } from "./control/show.js";
12
- import { Case, CaseProps, Match, MatchProps } from "./control/case.js";
13
- export { AskrRuntime, type AskrRuntimeOptions, Case, type CaseProps, type Context, type Derived, For, type ForProps, Fragment, Match, type MatchProps, type Props, type RuntimeKeyedReorderDecision, type RuntimeRendererHost, type Selector, Show, type ShowProps, type State, type StateSetter, type StateTuple, createRuntime, defineContext, derive, getDefaultRuntime, getSignal, jsx, jsxs, readContext, selector, state };
1
+ import { _ as state, a as defineScope, g as StateTuple, h as StateSetter, i as Scope, m as State, o as readScope } from "./control-BI4RMD2z.js";
2
+ import { s as Props, t as Fragment } from "./jsx-CP0gmYwJ.js";
3
+ import { t as getSignal } from "./component-scope-CvPba6O6.js";
4
+ import { a as AskrRuntime, c as RuntimeRendererHost, i as derive, l as createRuntime, n as selector, o as AskrRuntimeOptions, r as Derived, s as RuntimeKeyedReorderDecision, t as Selector, u as getDefaultRuntime } from "./index-Zb31mCiU.js";
5
+ 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";
6
+ import { i as jsxs, n as jsx } from "./jsx-runtime-92bV2hSa.js";
7
+ import { A as ServerQueryHandler, D as QueryPrefetchContext, T as QueryDefinition, a as defineServerQueries, c as prefetchQuery, g as createQuery, i as defineQuery, l as serveQuery, o as dehydrateDataRuntime, s as hydrateDataRuntime, v as DataRuntime } from "./index-Bki2rqcr.js";
8
+ export { AskrRuntime, type AskrRuntimeOptions, Case, type CaseProps, type DataRuntime, type Derived, For, type ForProps, Fragment, Match, type MatchProps, type Props, type QueryDefinition, type QueryPrefetchContext, type RuntimeKeyedReorderDecision, type RuntimeRendererHost, type Scope, type Selector, type ServerQueryHandler, Show, type ShowProps, type State, type StateSetter, type StateTuple, createQuery, createRuntime, defineQuery, defineScope, defineServerQueries, dehydrateDataRuntime, derive, getDefaultRuntime, getSignal, hydrateDataRuntime, jsx, jsxs, prefetchQuery, readScope, selector, serveQuery, state };
package/dist/index.js CHANGED
@@ -1,18 +1,153 @@
1
- import { AskrRuntime, createRuntime, getDefaultRuntime } from "./runtime/runtime.js";
2
- import { Fragment } from "./common/jsx.js";
3
- import { defineContext, readContext } from "./runtime/context.js";
4
- import { getSignal } from "./runtime/component-scope.js";
5
- import { derive } from "./runtime/derive.js";
6
- import { state } from "./runtime/state.js";
7
- import { selector } from "./runtime/selector.js";
8
- import "./runtime/index.js";
1
+ import { a as getRuntimeFlushVersion, d as AskrRuntime, m as getDefaultRuntime, p as createRuntime, t as enqueueRuntimeLane } from "./access-Bg4RJNC8.js";
2
+ import { f as notifyReadableReaders, g as withDerivedReadTracking, h as syncDerivedDependencySubscriptions, l as markReactivePropsDirtySource, o as clearDerivedDependencySubscriptions, p as recordReadableRead, u as markReadableDerivedSubscribersDirty } from "./fastlane-Dw8SOBr9.js";
3
+ import { n as Fragment } from "./jsx-CUpRxrLH.js";
4
+ import { h as readScope, u as defineScope } from "./component-internal-D9PLuFUc.js";
5
+ import { g as getSignal, i as claimHookIndex, p as getCurrentInstance } from "./component-scope-CC3cojX9.js";
6
+ import { n as isSnapshotSource } from "./snapshot-source-BB42xgwb.js";
7
+ import { t as installRendererBridge } from "./renderer-DrLRAD5y.js";
8
+ import { t as state } from "./state-DPl8lffD.js";
9
+ import { t as selector } from "./selector-DafVYzV4.js";
9
10
  import { jsx, jsxs } from "./jsx-runtime.js";
10
- import { installRendererBridge } from "./renderer/index.js";
11
- import { For } from "./control/for.js";
12
- import { Show } from "./control/show.js";
13
- import { Case, Match } from "./control/case.js";
14
- import "./control/index.js";
15
- import "./jsx-runtime2.js";
11
+ import { i as For, n as Match, r as Show, t as Case } from "./control-mXROCjL3.js";
12
+ import { t as createQuery } from "./data-B9dauyDn.js";
13
+ import { a as hydrateDataRuntime, i as dehydrateDataRuntime, n as defineQuery, o as prefetchQuery, r as defineServerQueries, s as serveQuery } from "./query-registry-CQIT4mXr.js";
14
+ //#region src/runtime/derive.ts
15
+ const deriveCells = /* @__PURE__ */ new WeakMap();
16
+ const dirtyDerivedCells = /* @__PURE__ */ new Set();
17
+ let hasPendingDerivedFlush = false;
18
+ function getDeriveStore(instance) {
19
+ const generation = instance._ownershipGeneration;
20
+ let store = deriveCells.get(generation);
21
+ if (!store) {
22
+ store = /* @__PURE__ */ new Map();
23
+ deriveCells.set(generation, store);
24
+ }
25
+ return store;
26
+ }
27
+ function markDerivedCellDirty(cell) {
28
+ cell._dirty = true;
29
+ if (cell._scheduled) return;
30
+ cell._scheduled = true;
31
+ dirtyDerivedCells.add(cell);
32
+ if (!hasPendingDerivedFlush) {
33
+ hasPendingDerivedFlush = true;
34
+ enqueueRuntimeLane("derived", flushDirtyDerivedCells);
35
+ }
36
+ }
37
+ function flushDirtyDerivedCells() {
38
+ hasPendingDerivedFlush = false;
39
+ if (dirtyDerivedCells.size === 0) return;
40
+ const pending = dirtyDerivedCells.values();
41
+ let next = pending.next();
42
+ while (!next.done) {
43
+ const cell = next.value;
44
+ dirtyDerivedCells.delete(cell);
45
+ cell._scheduled = false;
46
+ if (!cell._dirty) {
47
+ next = pending.next();
48
+ continue;
49
+ }
50
+ recomputeDerivedCell(cell, true);
51
+ next = pending.next();
52
+ }
53
+ }
54
+ function recomputeDerivedCell(cell, notifyDownstream) {
55
+ if (!cell._dirty && cell._hasValue) return cell._value;
56
+ if (cell._evaluating) throw new Error("derive() cannot read itself recursively");
57
+ cell._evaluating = true;
58
+ cell._dirty = false;
59
+ cell._pendingDependencySources = /* @__PURE__ */ new Set();
60
+ const prevSources = cell._sources;
61
+ let nextValue;
62
+ try {
63
+ nextValue = withDerivedReadTracking(cell, cell._compute);
64
+ } catch (error) {
65
+ cell._dirty = true;
66
+ cell._pendingDependencySources = void 0;
67
+ throw error;
68
+ } finally {
69
+ cell._evaluating = false;
70
+ }
71
+ const nextSources = cell._pendingDependencySources ?? /* @__PURE__ */ new Set();
72
+ cell._pendingDependencySources = void 0;
73
+ syncDerivedDependencySubscriptions(cell, prevSources, nextSources);
74
+ cell._sources = nextSources;
75
+ const valueChanged = !cell._hasValue || !Object.is(cell._value, nextValue);
76
+ cell._hasValue = true;
77
+ cell._value = nextValue;
78
+ cell._lastRecomputeFlushVersion = getRuntimeFlushVersion();
79
+ if (valueChanged && notifyDownstream) {
80
+ markReadableDerivedSubscribersDirty(cell);
81
+ markReactivePropsDirtySource(cell);
82
+ notifyReadableReaders(cell);
83
+ }
84
+ return cell._value;
85
+ }
86
+ function createDerivedCell(instance, generation, store, hookIndex, compute) {
87
+ const cell = function derivedGetter() {
88
+ recordReadableRead(cell);
89
+ return recomputeDerivedCell(cell, cell._scheduled);
90
+ };
91
+ cell._owner = instance;
92
+ cell._hookIndex = hookIndex;
93
+ cell._compute = compute;
94
+ cell._value = void 0;
95
+ cell._hasValue = false;
96
+ cell._dirty = true;
97
+ cell._scheduled = false;
98
+ cell._evaluating = false;
99
+ cell._lastRecomputeFlushVersion = -1;
100
+ cell._sources = /* @__PURE__ */ new Set();
101
+ cell._markDirty = () => {
102
+ markDerivedCellDirty(cell);
103
+ };
104
+ cell._cleanup = () => {
105
+ cell._scheduled = false;
106
+ cell._dirty = false;
107
+ cell._hasValue = false;
108
+ dirtyDerivedCells.delete(cell);
109
+ clearDerivedDependencySubscriptions(cell, cell._sources);
110
+ cell._derivedSubscribers?.clear();
111
+ cell._readers?.size;
112
+ cell._readers?.clear();
113
+ };
114
+ (instance.cleanupFns ??= []).push(() => {
115
+ cell._cleanup();
116
+ store.delete(hookIndex);
117
+ if (store.size === 0 && deriveCells.get(generation) === store) deriveCells.delete(generation);
118
+ });
119
+ return cell;
120
+ }
121
+ function getOrCreateDerivedCell(instance, hookIndex, compute) {
122
+ const store = getDeriveStore(instance);
123
+ const existing = store.get(hookIndex);
124
+ if (existing) {
125
+ existing._compute = compute;
126
+ if (existing._lastRecomputeFlushVersion !== getRuntimeFlushVersion()) existing._dirty = true;
127
+ return existing;
128
+ }
129
+ const created = createDerivedCell(instance, instance._ownershipGeneration, store, hookIndex, compute);
130
+ store.set(hookIndex, created);
131
+ return created;
132
+ }
133
+ function createMappedSelector(source, map) {
134
+ return () => {
135
+ let value;
136
+ if (typeof source === "function") value = source();
137
+ else if (isSnapshotSource(source)) value = source.value ?? source;
138
+ else value = source;
139
+ if (value == null) return null;
140
+ return map(value);
141
+ };
142
+ }
143
+ function derive(source, map) {
144
+ const instance = getCurrentInstance();
145
+ if (!instance) throw new Error("derive() can only be called during component render execution. Move derive() calls to the top level of your component function.");
146
+ const cell = getOrCreateDerivedCell(instance, claimHookIndex(instance, "derive"), map === void 0 ? () => source() : createMappedSelector(source, map));
147
+ recomputeDerivedCell(cell, false);
148
+ return cell;
149
+ }
150
+ //#endregion
16
151
  //#region src/index.ts
17
152
  /**
18
153
  * Askr: Actor-backed deterministic UI framework
@@ -21,4 +156,4 @@ import "./jsx-runtime2.js";
21
156
  */
22
157
  installRendererBridge();
23
158
  //#endregion
24
- export { AskrRuntime, Case, For, Fragment, Match, Show, createRuntime, defineContext, derive, getDefaultRuntime, getSignal, jsx, jsxs, readContext, selector, state };
159
+ export { AskrRuntime, Case, For, Fragment, Match, Show, createQuery, createRuntime, defineQuery, defineScope, defineServerQueries, dehydrateDataRuntime, derive, getDefaultRuntime, getSignal, hydrateDataRuntime, jsx, jsxs, prefetchQuery, readScope, selector, serveQuery, state };
@@ -0,0 +1,280 @@
1
+ import { o as mergeProps, r as ariaDisabled, s as composeHandlers, t as composeRefs } from "./compose-ref-Cc_YkUpM.js";
2
+ //#region src/foundations/interactions/pressable.ts
3
+ function pressable({ disabled, onPress, isNativeButton = false }) {
4
+ const props = { onClick: (e) => {
5
+ if (disabled) {
6
+ e.preventDefault?.();
7
+ e.stopPropagation?.();
8
+ return;
9
+ }
10
+ onPress?.(e);
11
+ } };
12
+ if (isNativeButton) {
13
+ if (disabled) {
14
+ props.disabled = true;
15
+ Object.assign(props, ariaDisabled(disabled));
16
+ }
17
+ return props;
18
+ }
19
+ props.role = "button";
20
+ props.tabIndex = disabled ? -1 : 0;
21
+ props.onKeyDown = (e) => {
22
+ if (disabled) {
23
+ e.preventDefault?.();
24
+ e.stopPropagation?.();
25
+ return;
26
+ }
27
+ if (e.key === "Enter") {
28
+ e.preventDefault?.();
29
+ onPress?.(e);
30
+ return;
31
+ }
32
+ if (e.key === " ") e.preventDefault?.();
33
+ };
34
+ props.onKeyUp = (e) => {
35
+ if (disabled) {
36
+ e.preventDefault?.();
37
+ e.stopPropagation?.();
38
+ return;
39
+ }
40
+ if (e.key === " ") {
41
+ e.preventDefault?.();
42
+ onPress?.(e);
43
+ }
44
+ };
45
+ if (disabled) Object.assign(props, ariaDisabled(disabled));
46
+ return props;
47
+ }
48
+ //#endregion
49
+ //#region src/foundations/interactions/dismissable.ts
50
+ function dismissable({ node, disabled, onDismiss }) {
51
+ function handleKeyDown(e) {
52
+ if (disabled) return;
53
+ if (e.key === "Escape") {
54
+ e.preventDefault?.();
55
+ e.stopPropagation?.();
56
+ onDismiss?.("escape");
57
+ }
58
+ }
59
+ function handlePointerDownCapture(e) {
60
+ if (disabled) return;
61
+ const target = e.target;
62
+ if (!(target instanceof Node)) return;
63
+ if (!node) return;
64
+ if (!node.contains(target)) onDismiss?.("outside");
65
+ }
66
+ return {
67
+ onKeyDown: handleKeyDown,
68
+ onPointerDownCapture: handlePointerDownCapture
69
+ };
70
+ }
71
+ //#endregion
72
+ //#region src/foundations/interactions/focusable.ts
73
+ /**
74
+ * focusable
75
+ *
76
+ * Normalize focus-related props for hosts.
77
+ * - No DOM manipulation here; returns props that the runtime may attach.
78
+ */
79
+ function focusable({ disabled, tabIndex }) {
80
+ return {
81
+ tabIndex: disabled ? -1 : tabIndex === void 0 ? 0 : tabIndex,
82
+ ...ariaDisabled(disabled)
83
+ };
84
+ }
85
+ //#endregion
86
+ //#region src/foundations/interactions/hoverable.ts
87
+ function hoverable({ disabled, onEnter, onLeave }) {
88
+ return {
89
+ onPointerEnter: disabled ? void 0 : (e) => {
90
+ onEnter?.(e);
91
+ },
92
+ onPointerLeave: disabled ? void 0 : (e) => {
93
+ onLeave?.(e);
94
+ }
95
+ };
96
+ }
97
+ //#endregion
98
+ //#region src/foundations/interactions/roving-focus.ts
99
+ function rovingFocus(options) {
100
+ const { currentIndex, itemCount, orientation = "horizontal", loop = false, onNavigate, isDisabled } = options;
101
+ function findNextIndex(from, direction) {
102
+ let next = from;
103
+ for (let steps = 0; steps < itemCount; steps += 1) {
104
+ next += direction;
105
+ if (loop) {
106
+ if (next < 0) next = itemCount - 1;
107
+ if (next >= itemCount) next = 0;
108
+ } else if (next < 0 || next >= itemCount) return;
109
+ if (next === from) return void 0;
110
+ if (!isDisabled?.(next)) return next;
111
+ }
112
+ }
113
+ function handleKeyDown(e) {
114
+ const { key } = e;
115
+ let direction;
116
+ if (orientation === "horizontal" || orientation === "both") {
117
+ if (key === "ArrowRight") direction = 1;
118
+ if (key === "ArrowLeft") direction = -1;
119
+ }
120
+ if (orientation === "vertical" || orientation === "both") {
121
+ if (key === "ArrowDown") direction = 1;
122
+ if (key === "ArrowUp") direction = -1;
123
+ }
124
+ if (direction === void 0) return;
125
+ const nextIndex = findNextIndex(currentIndex, direction);
126
+ if (nextIndex === void 0) return;
127
+ e.preventDefault?.();
128
+ e.stopPropagation?.();
129
+ onNavigate?.(nextIndex);
130
+ }
131
+ return {
132
+ container: { onKeyDown: handleKeyDown },
133
+ item: (index) => ({
134
+ tabIndex: index === currentIndex ? 0 : -1,
135
+ "data-roving-index": index
136
+ })
137
+ };
138
+ }
139
+ /**
140
+ * USAGE EXAMPLE:
141
+ *
142
+ * function Menu() {
143
+ * const [focusIndex, setFocusIndex] = state(0);
144
+ * const items = ['File', 'Edit', 'View'];
145
+ *
146
+ * const navigation = rovingFocus({
147
+ * currentIndex: focusIndex(),
148
+ * itemCount: items.length,
149
+ * orientation: 'horizontal',
150
+ * loop: true,
151
+ * onNavigate: setFocusIndex,
152
+ * });
153
+ *
154
+ * return (
155
+ * <div {...navigation.container}>
156
+ * {items.map((label, index) => (
157
+ * <button {...navigation.item(index)}>
158
+ * {label}
159
+ * </button>
160
+ * ))}
161
+ * </div>
162
+ * );
163
+ * }
164
+ */
165
+ //#endregion
166
+ //#region src/foundations/interactions/interaction-policy.ts
167
+ /**
168
+ * INTERACTION POLICY (FRAMEWORK LAW)
169
+ *
170
+ * This is THE ONLY way to create interactive elements. Components MUST NOT
171
+ * implement interaction logic directly.
172
+ *
173
+ * INVARIANTS (ENFORCED):
174
+ * 1. "Press" is the semantic. Click/touch/Enter/Space are implementation details.
175
+ * 2. Disabled is enforced exactly once, here. Components may not check disabled.
176
+ * 3. Keyboard handling is automatic. Components may not add onKeyDown for activation.
177
+ * 4. Native elements opt out of polyfills, not semantics.
178
+ * 5. asChild may replace the host element, not interaction behavior.
179
+ * 6. This policy is the SINGLE SOURCE OF TRUTH for interactive behavior.
180
+ *
181
+ * DESIGN:
182
+ * - Single public function: applyInteractionPolicy
183
+ * - Returns props that compose via mergeProps
184
+ * - Delegates to pressable for mechanics
185
+ * - Enforces disabled once and only once
186
+ * - No configuration beyond disabled and native element type
187
+ *
188
+ * PIT OF SUCCESS:
189
+ * ✓ Can't bypass policy (only way to get interaction behavior)
190
+ * ✓ Can't duplicate disabled checks (enforced once, here)
191
+ * ✓ Can't write custom keyboard handlers for buttons (policy owns it)
192
+ * ✓ Composes via mergeProps (standard props)
193
+ * ✓ Wrong usage is impossible (no escape hatch)
194
+ *
195
+ * USAGE:
196
+ * function Button({ onPress, disabled }) {
197
+ * const interaction = applyInteractionPolicy({
198
+ * isNative: true,
199
+ * disabled,
200
+ * onPress
201
+ * });
202
+ *
203
+ * return <button {...interaction}>Click me</button>;
204
+ * }
205
+ *
206
+ * MISUSE EXAMPLE (PREVENTED):
207
+ * ❌ Button checking disabled again:
208
+ * function Button({ disabled, onPress }) {
209
+ * if (disabled) return; // NO! Policy handles this
210
+ * const interaction = applyInteractionPolicy(...);
211
+ * }
212
+ *
213
+ * ❌ Custom keyboard handler:
214
+ * function Button({ onPress }) {
215
+ * const interaction = applyInteractionPolicy(...);
216
+ * return <button {...interaction} onKeyDown={...}>; // NO! Policy owns this
217
+ * }
218
+ *
219
+ * ❌ Direct event handler:
220
+ * <button onClick={onPress}>; // NO! Use applyInteractionPolicy
221
+ */
222
+ /**
223
+ * THE interaction policy. Components MUST use this, NEVER implement
224
+ * interaction logic directly.
225
+ */
226
+ function applyInteractionPolicy({ isNative, disabled, onPress, ref }) {
227
+ function invokePress(e) {
228
+ if (disabled) {
229
+ e.preventDefault?.();
230
+ return;
231
+ }
232
+ onPress?.(e);
233
+ }
234
+ if (isNative) return {
235
+ disabled: disabled || void 0,
236
+ onClick: (e) => invokePress(e),
237
+ ref
238
+ };
239
+ const interaction = pressable({
240
+ disabled,
241
+ isNativeButton: false,
242
+ onPress: (e) => invokePress(e)
243
+ });
244
+ return {
245
+ ...interaction,
246
+ ...ariaDisabled(disabled),
247
+ tabIndex: disabled ? -1 : interaction.tabIndex ?? 0,
248
+ ref
249
+ };
250
+ }
251
+ /**
252
+ * Merge rule for Slot / asChild
253
+ *
254
+ * Precedence:
255
+ * policy → user → child
256
+ *
257
+ * Event handlers are composed (policy first).
258
+ * Refs are always composed.
259
+ * Policy props MUST take precedence to enforce invariants.
260
+ */
261
+ function mergeInteractionProps(childProps, policyProps, userProps) {
262
+ const out = mergeProps(policyProps, userProps ? mergeProps(userProps, childProps) : childProps);
263
+ for (const k in out) {
264
+ if (!k.startsWith("on")) continue;
265
+ const policyHandler = policyProps?.[k];
266
+ const userHandler = userProps?.[k];
267
+ const childHandler = childProps?.[k];
268
+ if (policyHandler || userHandler || childHandler) {
269
+ const toHandler = (h) => typeof h === "function" ? h : void 0;
270
+ out[k] = composeHandlers(toHandler(policyHandler), composeHandlers(toHandler(userHandler), toHandler(childHandler)));
271
+ }
272
+ }
273
+ const childRef = childProps?.ref;
274
+ const userRef = userProps?.ref;
275
+ const policyRef = policyProps?.ref;
276
+ out.ref = composeRefs(childRef, userRef, policyRef);
277
+ return out;
278
+ }
279
+ //#endregion
280
+ export { focusable as a, hoverable as i, mergeInteractionProps as n, dismissable as o, rovingFocus as r, pressable as s, applyInteractionPolicy as t };
@@ -10,4 +10,4 @@ function emitInvalidation(event) {
10
10
  for (const listener of invalidationListeners) listener(event);
11
11
  }
12
12
  //#endregion
13
- export { addInvalidationListener, emitInvalidation };
13
+ export { emitInvalidation as n, addInvalidationListener as t };
@@ -301,10 +301,22 @@ interface KnownIntrinsicElementProps {
301
301
  tr: LayoutIntrinsicProps;
302
302
  ul: LayoutIntrinsicProps;
303
303
  }
304
- interface ComponentNode {
305
- type: 'component' | 'element' | 'text';
306
- value?: unknown;
307
- children?: ComponentNode[];
304
+ //#endregion
305
+ //#region src/common/jsx.d.ts
306
+ declare const Fragment: unique symbol;
307
+ type JSXComponent<TProps extends object = Props> = {
308
+ bivarianceHack(props: TProps): unknown;
309
+ }['bivarianceHack'];
310
+ type JSXElementType = string | JSXComponent | symbol;
311
+ interface JSXElement {
312
+ /** Internal element marker */
313
+ $$typeof: symbol;
314
+ /** Element type: string, component, Fragment, etc */
315
+ type: JSXElementType;
316
+ /** Props bag */
317
+ props: Props;
318
+ /** Optional key (normalized by runtime) */
319
+ key?: string | number | null;
308
320
  }
309
321
  //#endregion
310
- export { AnchorIntrinsicProps, ButtonIntrinsicProps, ComponentNode, FormIntrinsicProps, ImageIntrinsicProps, InputIntrinsicProps, IntrinsicFallbackProps, IntrinsicProps, KnownIntrinsicElementProps, LabelIntrinsicProps, LayoutIntrinsicProps, ListItemIntrinsicProps, OptionIntrinsicProps, OrderedListIntrinsicProps, OutputIntrinsicProps, Props, SelectIntrinsicProps, SvgCircleIntrinsicProps, SvgGroupIntrinsicProps, SvgIntrinsicProps, SvgPathIntrinsicProps, SvgRectIntrinsicProps, TableCellIntrinsicProps, TableHeaderIntrinsicProps, TextareaIntrinsicProps };
322
+ export { IntrinsicFallbackProps as a, JSXElementType as i, JSXComponent as n, KnownIntrinsicElementProps as o, JSXElement as r, Props as s, Fragment as t };
@@ -3,4 +3,4 @@ const ELEMENT_TYPE = Symbol.for("askr.element");
3
3
  const Fragment = Symbol.for("askr.fragment");
4
4
  const STATIC_CHILDREN = Symbol.for("askr.static-children");
5
5
  //#endregion
6
- export { ELEMENT_TYPE, Fragment, STATIC_CHILDREN };
6
+ export { Fragment as n, STATIC_CHILDREN as r, ELEMENT_TYPE as t };
@@ -1,7 +1,5 @@
1
- import { IntrinsicFallbackProps, KnownIntrinsicElementProps, Props } from "./common/props.js";
2
- import { Fragment, JSXComponent, JSXElement, JSXElementType } from "./common/jsx.js";
3
- import { EagerControlPrimitive } from "./common/control.js";
4
-
1
+ import { a as IntrinsicFallbackProps, i as JSXElementType, n as JSXComponent, o as KnownIntrinsicElementProps, r as JSXElement, s as Props, t as Fragment } from "./jsx-CP0gmYwJ.js";
2
+ import { t as EagerControlPrimitive } from "./control-Bf4Wkdvv.js";
5
3
  //#region src/jsx/jsx-dev-runtime.d.ts
6
4
  declare namespace JSX {
7
5
  interface Element extends JSXElement {
@@ -1,12 +1,14 @@
1
- import { isEagerControlPrimitive } from "./common/control.js";
2
- import { ELEMENT_TYPE, Fragment } from "./common/jsx.js";
3
- import "./runtime/readable.js";
4
- import "./runtime/index.js";
5
- import "./jsx/types.js";
1
+ import { n as isEagerControlPrimitive } from "./control-DhFRTIoE.js";
2
+ import { n as Fragment, r as STATIC_CHILDREN, t as ELEMENT_TYPE } from "./jsx-CUpRxrLH.js";
3
+ //#region src/jsx/jsx-dev-runtime.ts
6
4
  function annotatePropsUsage(props) {
7
5
  return props ?? {};
8
6
  }
9
7
  function markStaticChildren(props) {
8
+ if (Array.isArray(props.children)) Object.defineProperty(props.children, STATIC_CHILDREN, {
9
+ value: true,
10
+ configurable: true
11
+ });
10
12
  return props;
11
13
  }
12
14
  function jsxDEV(type, props, key, isStaticChildren = false) {
@@ -0,0 +1,34 @@
1
+ import { a as IntrinsicFallbackProps, o as KnownIntrinsicElementProps, r as JSXElement, s as Props } from "./jsx-CP0gmYwJ.js";
2
+ import { t as EagerControlPrimitive } from "./control-Bf4Wkdvv.js";
3
+ //#region src/jsx/jsx-runtime.d.ts
4
+ declare namespace JSX {
5
+ interface Element extends JSXElement {
6
+ readonly __askrJsxElementBrand?: never;
7
+ }
8
+ interface IntrinsicElements extends KnownIntrinsicElementProps {
9
+ [elem: string]: IntrinsicFallbackProps | KnownIntrinsicElementProps[keyof KnownIntrinsicElementProps];
10
+ }
11
+ interface ElementAttributesProperty {
12
+ props: Props;
13
+ }
14
+ interface ElementChildrenAttribute {
15
+ children: unknown;
16
+ }
17
+ }
18
+ declare function jsxDEV(type: EagerControlPrimitive, props: Props | null, key?: string | number, isStaticChildren?: boolean): unknown;
19
+ declare function jsxDEV<TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[TTag] | null, key?: string | number, isStaticChildren?: boolean): JSXElement;
20
+ declare function jsxDEV<TTag extends string>(type: Exclude<TTag, keyof KnownIntrinsicElementProps>, props: IntrinsicFallbackProps | null, key?: string | number, isStaticChildren?: boolean): JSXElement;
21
+ declare function jsxDEV<TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number, isStaticChildren?: boolean): JSXElement;
22
+ declare function jsxDEV(type: symbol, props: Props | null, key?: string | number, isStaticChildren?: boolean): JSXElement;
23
+ declare function jsx(type: EagerControlPrimitive, props: Props | null, key?: string | number): unknown;
24
+ declare function jsx<TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[TTag] | null, key?: string | number): JSXElement;
25
+ declare function jsx<TTag extends string>(type: Exclude<TTag, keyof KnownIntrinsicElementProps>, props: IntrinsicFallbackProps | null, key?: string | number): JSXElement;
26
+ declare function jsx<TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number): JSXElement;
27
+ declare function jsx(type: symbol, props: Props | null, key?: string | number): JSXElement;
28
+ declare function jsxs(type: EagerControlPrimitive, props: Props | null, key?: string | number): unknown;
29
+ declare function jsxs<TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[TTag] | null, key?: string | number): JSXElement;
30
+ declare function jsxs<TTag extends string>(type: Exclude<TTag, keyof KnownIntrinsicElementProps>, props: IntrinsicFallbackProps | null, key?: string | number): JSXElement;
31
+ declare function jsxs<TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number): JSXElement;
32
+ declare function jsxs(type: symbol, props: Props | null, key?: string | number): JSXElement;
33
+ //#endregion
34
+ export { jsxs as i, jsx as n, jsxDEV as r, JSX as t };
@@ -0,0 +1 @@
1
+ export { };