@askrjs/askr 0.0.51 → 0.0.53

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 (651) hide show
  1. package/README.md +5 -1
  2. package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +190 -20
  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 -3
  6. package/dist/benchmark.d.ts +7 -4
  7. package/dist/benchmark.js +63 -13
  8. package/dist/boot/index.d.ts +62 -4
  9. package/dist/boot/index.js +1 -194
  10. package/dist/boot-j2KoN6ss.js +647 -0
  11. package/dist/cleanup-COv77su2.js +487 -0
  12. package/dist/component-internal-B3z7GXlD.js +614 -0
  13. package/dist/component-lifecycle-CO4hXlP4.js +357 -0
  14. package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +35 -9
  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 -2
  20. package/dist/control/index.d.ts +1 -3
  21. package/dist/control/index.js +1 -3
  22. package/dist/control-BQvNVfAd.d.ts +436 -0
  23. package/dist/control-BYyLTFyw.js +165 -0
  24. package/dist/control-Bf4Wkdvv.d.ts +9 -0
  25. package/dist/{common/control.js → control-DhFRTIoE.js} +1 -3
  26. package/dist/data/index.d.ts +2 -6
  27. package/dist/data/index.js +4 -5
  28. package/dist/data-DnxnDxD-.js +559 -0
  29. package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +35 -36
  30. package/dist/deferred-lKE8uR0z.js +386 -0
  31. package/dist/effect-BwnIvLah.js +260 -0
  32. package/dist/fastlane-Dw8SOBr9.js +343 -0
  33. package/dist/for-internal-BKf_Tnv1.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-31Uoz_NS.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-D73jgYx1.d.ts +48 -0
  52. package/dist/{runtime/runtime.d.ts → index-R2JJIbM-.d.ts} +31 -9
  53. package/dist/index-SJXJkssx.d.ts +44 -0
  54. package/dist/index.d.ts +8 -13
  55. package/dist/index.js +150 -17
  56. package/dist/interactions-w7gQN4ha.js +280 -0
  57. package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -3
  58. package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -6
  59. package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -3
  60. package/dist/jsx-dev-runtime.d.ts +17 -5
  61. package/dist/jsx-dev-runtime.js +3 -10
  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 +3 -22
  65. package/dist/jsx-runtime.js +17 -20
  66. package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-D9va7GOU.js} +9 -11
  67. package/dist/navigate-BVDCzOuB.d.ts +34 -0
  68. package/dist/navigate-CmPLSXyw.js +1449 -0
  69. package/dist/{runtime/portal.js → portal-CyU3Ucf2.js} +124 -35
  70. package/dist/query-registry-CQIT4mXr.js +73 -0
  71. package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -8
  72. package/dist/renderer-DzPjeLby.js +6197 -0
  73. package/dist/resource-operation-CEzfpnDk.js +276 -0
  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 -3
  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-CeYvjj5_.d.ts} +72 -29
  81. package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -3
  82. package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -4
  83. package/dist/{runtime/selector.js → selector-DafVYzV4.js} +35 -20
  84. package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -3
  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 -3
  90. package/dist/ssr-D3t80Rc0.js +1413 -0
  91. package/dist/{runtime/state.js → state-DPl8lffD.js} +4 -8
  92. package/dist/structures-DUB3HchX.js +221 -0
  93. package/dist/testing/index.d.ts +4 -4
  94. package/dist/testing/index.js +2 -7
  95. package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -6
  96. package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -3
  97. package/dist/{ssr/verify-hydration.js → verify-hydration-io9ahUeq.js} +2 -4
  98. package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -4
  99. package/package.json +63 -45
  100. package/dist/bench/components/benchmark-row.d.ts +0 -20
  101. package/dist/bench/components/benchmark-row.d.ts.map +0 -1
  102. package/dist/bench/components/benchmark-row.js +0 -42
  103. package/dist/bench/components/benchmark-row.js.map +0 -1
  104. package/dist/bench/components/benchmark-table.js +0 -25
  105. package/dist/bench/components/benchmark-table.js.map +0 -1
  106. package/dist/benchmark.d.ts.map +0 -1
  107. package/dist/benchmark.js.map +0 -1
  108. package/dist/bin/askr-ssg.d.ts +0 -28
  109. package/dist/bin/askr-ssg.d.ts.map +0 -1
  110. package/dist/bin/askr-ssg.js +0 -171
  111. package/dist/bin/askr-ssg.js.map +0 -1
  112. package/dist/boot/hydration.js +0 -140
  113. package/dist/boot/hydration.js.map +0 -1
  114. package/dist/boot/index.d.ts.map +0 -1
  115. package/dist/boot/index.js.map +0 -1
  116. package/dist/boot/root-lifecycle.d.ts +0 -15
  117. package/dist/boot/root-lifecycle.d.ts.map +0 -1
  118. package/dist/boot/root-lifecycle.js +0 -205
  119. package/dist/boot/root-lifecycle.js.map +0 -1
  120. package/dist/boot/route-startup.js +0 -45
  121. package/dist/boot/route-startup.js.map +0 -1
  122. package/dist/boot/types.d.ts +0 -62
  123. package/dist/boot/types.d.ts.map +0 -1
  124. package/dist/common/attr-names.js.map +0 -1
  125. package/dist/common/component.d.ts +0 -19
  126. package/dist/common/component.d.ts.map +0 -1
  127. package/dist/common/control.d.ts +0 -13
  128. package/dist/common/control.d.ts.map +0 -1
  129. package/dist/common/control.js.map +0 -1
  130. package/dist/common/env.js +0 -47
  131. package/dist/common/env.js.map +0 -1
  132. package/dist/common/error-boundary.d.ts +0 -16
  133. package/dist/common/error-boundary.d.ts.map +0 -1
  134. package/dist/common/invariant.js +0 -17
  135. package/dist/common/invariant.js.map +0 -1
  136. package/dist/common/jsx.d.ts +0 -23
  137. package/dist/common/jsx.d.ts.map +0 -1
  138. package/dist/common/jsx.js.map +0 -1
  139. package/dist/common/logger.js +0 -36
  140. package/dist/common/logger.js.map +0 -1
  141. package/dist/common/promise.js +0 -8
  142. package/dist/common/promise.js.map +0 -1
  143. package/dist/common/props.d.ts.map +0 -1
  144. package/dist/common/render-context.js.map +0 -1
  145. package/dist/common/route-activity.js.map +0 -1
  146. package/dist/common/router-internal.js.map +0 -1
  147. package/dist/common/router.d.ts.map +0 -1
  148. package/dist/common/ssr-errors.d.ts +0 -11
  149. package/dist/common/ssr-errors.d.ts.map +0 -1
  150. package/dist/common/ssr-errors.js +0 -16
  151. package/dist/common/ssr-errors.js.map +0 -1
  152. package/dist/common/ssr.d.ts +0 -42
  153. package/dist/common/ssr.d.ts.map +0 -1
  154. package/dist/common/ssr.js.map +0 -1
  155. package/dist/common/vnode.d.ts +0 -22
  156. package/dist/common/vnode.d.ts.map +0 -1
  157. package/dist/common/vnode.js.map +0 -1
  158. package/dist/components/error-boundary.d.ts +0 -15
  159. package/dist/components/error-boundary.d.ts.map +0 -1
  160. package/dist/components/error-boundary.js +0 -43
  161. package/dist/components/error-boundary.js.map +0 -1
  162. package/dist/components/link.d.ts +0 -68
  163. package/dist/components/link.d.ts.map +0 -1
  164. package/dist/components/link.js +0 -76
  165. package/dist/components/link.js.map +0 -1
  166. package/dist/control/case.d.ts +0 -19
  167. package/dist/control/case.d.ts.map +0 -1
  168. package/dist/control/case.js +0 -70
  169. package/dist/control/case.js.map +0 -1
  170. package/dist/control/for.d.ts +0 -24
  171. package/dist/control/for.d.ts.map +0 -1
  172. package/dist/control/for.js +0 -63
  173. package/dist/control/for.js.map +0 -1
  174. package/dist/control/shared.d.ts +0 -9
  175. package/dist/control/shared.d.ts.map +0 -1
  176. package/dist/control/shared.js +0 -20
  177. package/dist/control/shared.js.map +0 -1
  178. package/dist/control/show.d.ts +0 -15
  179. package/dist/control/show.d.ts.map +0 -1
  180. package/dist/control/show.js +0 -34
  181. package/dist/control/show.js.map +0 -1
  182. package/dist/data/data-runtime.d.ts +0 -28
  183. package/dist/data/data-runtime.d.ts.map +0 -1
  184. package/dist/data/data-runtime.js.map +0 -1
  185. package/dist/data/invalidation-listeners.js.map +0 -1
  186. package/dist/data/invalidation.d.ts +0 -9
  187. package/dist/data/invalidation.d.ts.map +0 -1
  188. package/dist/data/invalidation.js +0 -27
  189. package/dist/data/invalidation.js.map +0 -1
  190. package/dist/data/mutation-cell.d.ts +0 -28
  191. package/dist/data/mutation-cell.d.ts.map +0 -1
  192. package/dist/data/mutation-cell.js +0 -132
  193. package/dist/data/mutation-cell.js.map +0 -1
  194. package/dist/data/query-cell.d.ts +0 -46
  195. package/dist/data/query-cell.d.ts.map +0 -1
  196. package/dist/data/query-cell.js +0 -290
  197. package/dist/data/query-cell.js.map +0 -1
  198. package/dist/data/query-key.js +0 -42
  199. package/dist/data/query-key.js.map +0 -1
  200. package/dist/data/shared.js +0 -21
  201. package/dist/data/shared.js.map +0 -1
  202. package/dist/data/testing.js +0 -2
  203. package/dist/data/types.d.ts +0 -161
  204. package/dist/data/types.d.ts.map +0 -1
  205. package/dist/foundations/icon/icon.d.ts +0 -53
  206. package/dist/foundations/icon/icon.d.ts.map +0 -1
  207. package/dist/foundations/icon/icon.js +0 -88
  208. package/dist/foundations/icon/icon.js.map +0 -1
  209. package/dist/foundations/icon/icon.types.d.ts +0 -22
  210. package/dist/foundations/icon/icon.types.d.ts.map +0 -1
  211. package/dist/foundations/interactions/dismissable.d.ts +0 -72
  212. package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
  213. package/dist/foundations/interactions/dismissable.js +0 -26
  214. package/dist/foundations/interactions/dismissable.js.map +0 -1
  215. package/dist/foundations/interactions/focusable.d.ts +0 -22
  216. package/dist/foundations/interactions/focusable.d.ts.map +0 -1
  217. package/dist/foundations/interactions/focusable.js +0 -18
  218. package/dist/foundations/interactions/focusable.js.map +0 -1
  219. package/dist/foundations/interactions/hoverable.d.ts +0 -26
  220. package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
  221. package/dist/foundations/interactions/hoverable.js +0 -15
  222. package/dist/foundations/interactions/hoverable.js.map +0 -1
  223. package/dist/foundations/interactions/interaction-policy.d.ts +0 -50
  224. package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
  225. package/dist/foundations/interactions/interaction-policy.js +0 -122
  226. package/dist/foundations/interactions/interaction-policy.js.map +0 -1
  227. package/dist/foundations/interactions/pressable.d.ts +0 -61
  228. package/dist/foundations/interactions/pressable.d.ts.map +0 -1
  229. package/dist/foundations/interactions/pressable.js +0 -51
  230. package/dist/foundations/interactions/pressable.js.map +0 -1
  231. package/dist/foundations/interactions/roving-focus.d.ts +0 -52
  232. package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
  233. package/dist/foundations/interactions/roving-focus.js +0 -71
  234. package/dist/foundations/interactions/roving-focus.js.map +0 -1
  235. package/dist/foundations/state/controllable.d.ts +0 -33
  236. package/dist/foundations/state/controllable.d.ts.map +0 -1
  237. package/dist/foundations/state/controllable.js +0 -82
  238. package/dist/foundations/state/controllable.js.map +0 -1
  239. package/dist/foundations/structures/collection.d.ts +0 -52
  240. package/dist/foundations/structures/collection.d.ts.map +0 -1
  241. package/dist/foundations/structures/collection.js +0 -51
  242. package/dist/foundations/structures/collection.js.map +0 -1
  243. package/dist/foundations/structures/layer.d.ts +0 -81
  244. package/dist/foundations/structures/layer.d.ts.map +0 -1
  245. package/dist/foundations/structures/layer.js +0 -81
  246. package/dist/foundations/structures/layer.js.map +0 -1
  247. package/dist/foundations/structures/layout.d.ts +0 -33
  248. package/dist/foundations/structures/layout.d.ts.map +0 -1
  249. package/dist/foundations/structures/layout.js +0 -13
  250. package/dist/foundations/structures/layout.js.map +0 -1
  251. package/dist/foundations/structures/portal.d.ts +0 -2
  252. package/dist/foundations/structures/portal.js +0 -3
  253. package/dist/foundations/structures/presence.d.ts +0 -37
  254. package/dist/foundations/structures/presence.d.ts.map +0 -1
  255. package/dist/foundations/structures/presence.js +0 -39
  256. package/dist/foundations/structures/presence.js.map +0 -1
  257. package/dist/foundations/structures/slot.d.ts +0 -35
  258. package/dist/foundations/structures/slot.d.ts.map +0 -1
  259. package/dist/foundations/structures/slot.js +0 -41
  260. package/dist/foundations/structures/slot.js.map +0 -1
  261. package/dist/foundations/utilities/aria.d.ts +0 -16
  262. package/dist/foundations/utilities/aria.d.ts.map +0 -1
  263. package/dist/foundations/utilities/aria.js +0 -17
  264. package/dist/foundations/utilities/aria.js.map +0 -1
  265. package/dist/foundations/utilities/compose-handlers.d.ts +0 -37
  266. package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
  267. package/dist/foundations/utilities/compose-handlers.js +0 -20
  268. package/dist/foundations/utilities/compose-handlers.js.map +0 -1
  269. package/dist/foundations/utilities/compose-ref.d.ts.map +0 -1
  270. package/dist/foundations/utilities/compose-ref.js +0 -18
  271. package/dist/foundations/utilities/compose-ref.js.map +0 -1
  272. package/dist/foundations/utilities/event-types.d.ts +0 -20
  273. package/dist/foundations/utilities/event-types.d.ts.map +0 -1
  274. package/dist/foundations/utilities/merge-props.d.ts +0 -5
  275. package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
  276. package/dist/foundations/utilities/merge-props.js +0 -49
  277. package/dist/foundations/utilities/merge-props.js.map +0 -1
  278. package/dist/foundations/utilities/use-id.d.ts +0 -32
  279. package/dist/foundations/utilities/use-id.d.ts.map +0 -1
  280. package/dist/foundations/utilities/use-id.js.map +0 -1
  281. package/dist/fx/fx.d.ts +0 -33
  282. package/dist/fx/fx.d.ts.map +0 -1
  283. package/dist/fx/fx.js +0 -213
  284. package/dist/fx/fx.js.map +0 -1
  285. package/dist/fx/noop.js +0 -9
  286. package/dist/fx/noop.js.map +0 -1
  287. package/dist/fx/timing.d.ts +0 -159
  288. package/dist/fx/timing.d.ts.map +0 -1
  289. package/dist/fx/timing.js +0 -243
  290. package/dist/fx/timing.js.map +0 -1
  291. package/dist/index.js.map +0 -1
  292. package/dist/jsx/index.d.ts +0 -2
  293. package/dist/jsx/index.js +0 -4
  294. package/dist/jsx/types.d.ts.map +0 -1
  295. package/dist/jsx/types.js +0 -2
  296. package/dist/jsx/utils.d.ts +0 -5
  297. package/dist/jsx/utils.d.ts.map +0 -1
  298. package/dist/jsx/utils.js +0 -19
  299. package/dist/jsx/utils.js.map +0 -1
  300. package/dist/jsx-dev-runtime.d.ts.map +0 -1
  301. package/dist/jsx-dev-runtime.js.map +0 -1
  302. package/dist/jsx-runtime.d.ts.map +0 -1
  303. package/dist/jsx-runtime.js.map +0 -1
  304. package/dist/jsx-runtime2.d.ts +0 -3
  305. package/dist/jsx-runtime2.js +0 -4
  306. package/dist/renderer/attributes.js +0 -232
  307. package/dist/renderer/attributes.js.map +0 -1
  308. package/dist/renderer/boundaries.js +0 -266
  309. package/dist/renderer/boundaries.js.map +0 -1
  310. package/dist/renderer/child-shape.js +0 -85
  311. package/dist/renderer/child-shape.js.map +0 -1
  312. package/dist/renderer/children-fastpath.js +0 -149
  313. package/dist/renderer/children-fastpath.js.map +0 -1
  314. package/dist/renderer/children.js +0 -160
  315. package/dist/renderer/children.js.map +0 -1
  316. package/dist/renderer/cleanup.js +0 -210
  317. package/dist/renderer/cleanup.js.map +0 -1
  318. package/dist/renderer/component-host-cleanup.js +0 -68
  319. package/dist/renderer/component-host-cleanup.js.map +0 -1
  320. package/dist/renderer/component-host-instances.js +0 -65
  321. package/dist/renderer/component-host-instances.js.map +0 -1
  322. package/dist/renderer/component-host.js +0 -247
  323. package/dist/renderer/component-host.js.map +0 -1
  324. package/dist/renderer/dom-host.js +0 -13
  325. package/dist/renderer/dom-host.js.map +0 -1
  326. package/dist/renderer/dom-internal.js +0 -186
  327. package/dist/renderer/dom-internal.js.map +0 -1
  328. package/dist/renderer/dom.js +0 -10
  329. package/dist/renderer/element-children.js +0 -279
  330. package/dist/renderer/element-children.js.map +0 -1
  331. package/dist/renderer/env.js +0 -2
  332. package/dist/renderer/error-boundary-dom.js +0 -78
  333. package/dist/renderer/error-boundary-dom.js.map +0 -1
  334. package/dist/renderer/evaluate-dom-range.js +0 -85
  335. package/dist/renderer/evaluate-dom-range.js.map +0 -1
  336. package/dist/renderer/evaluate-reconcile.js +0 -282
  337. package/dist/renderer/evaluate-reconcile.js.map +0 -1
  338. package/dist/renderer/evaluate.js +0 -84
  339. package/dist/renderer/evaluate.js.map +0 -1
  340. package/dist/renderer/fastpath.js +0 -150
  341. package/dist/renderer/fastpath.js.map +0 -1
  342. package/dist/renderer/for-commit-dom-map.js +0 -83
  343. package/dist/renderer/for-commit-dom-map.js.map +0 -1
  344. package/dist/renderer/for-commit-removal.js +0 -36
  345. package/dist/renderer/for-commit-removal.js.map +0 -1
  346. package/dist/renderer/for-commit-reorder.js +0 -89
  347. package/dist/renderer/for-commit-reorder.js.map +0 -1
  348. package/dist/renderer/for-commit.js +0 -314
  349. package/dist/renderer/for-commit.js.map +0 -1
  350. package/dist/renderer/index.js +0 -38
  351. package/dist/renderer/index.js.map +0 -1
  352. package/dist/renderer/keyed-children.js +0 -32
  353. package/dist/renderer/keyed-children.js.map +0 -1
  354. package/dist/renderer/keyed.js +0 -167
  355. package/dist/renderer/keyed.js.map +0 -1
  356. package/dist/renderer/namespaces.js +0 -23
  357. package/dist/renderer/namespaces.js.map +0 -1
  358. package/dist/renderer/prop-bindings.js +0 -280
  359. package/dist/renderer/prop-bindings.js.map +0 -1
  360. package/dist/renderer/reactive-child-dom.js +0 -133
  361. package/dist/renderer/reactive-child-dom.js.map +0 -1
  362. package/dist/renderer/reactive-child-sources.js +0 -184
  363. package/dist/renderer/reactive-child-sources.js.map +0 -1
  364. package/dist/renderer/reactive-children.js +0 -294
  365. package/dist/renderer/reactive-children.js.map +0 -1
  366. package/dist/renderer/reconcile-commit.js +0 -38
  367. package/dist/renderer/reconcile-commit.js.map +0 -1
  368. package/dist/renderer/reconcile-fastpaths.js +0 -107
  369. package/dist/renderer/reconcile-fastpaths.js.map +0 -1
  370. package/dist/renderer/reconcile-resolution.js +0 -187
  371. package/dist/renderer/reconcile-resolution.js.map +0 -1
  372. package/dist/renderer/reconcile.js +0 -39
  373. package/dist/renderer/reconcile.js.map +0 -1
  374. package/dist/renderer/retained-element-rollback.js +0 -277
  375. package/dist/renderer/retained-element-rollback.js.map +0 -1
  376. package/dist/renderer/stable-patch.js +0 -81
  377. package/dist/renderer/stable-patch.js.map +0 -1
  378. package/dist/renderer/static-reuse.js +0 -96
  379. package/dist/renderer/static-reuse.js.map +0 -1
  380. package/dist/renderer/types.js +0 -2
  381. package/dist/renderer/utils.js +0 -256
  382. package/dist/renderer/utils.js.map +0 -1
  383. package/dist/router/access.js +0 -36
  384. package/dist/router/access.js.map +0 -1
  385. package/dist/router/activity.d.ts +0 -10
  386. package/dist/router/activity.d.ts.map +0 -1
  387. package/dist/router/activity.js +0 -87
  388. package/dist/router/activity.js.map +0 -1
  389. package/dist/router/authoring.d.ts +0 -22
  390. package/dist/router/authoring.d.ts.map +0 -1
  391. package/dist/router/authoring.js +0 -198
  392. package/dist/router/authoring.js.map +0 -1
  393. package/dist/router/internal-types.d.ts +0 -31
  394. package/dist/router/internal-types.d.ts.map +0 -1
  395. package/dist/router/lazy.d.ts +0 -19
  396. package/dist/router/lazy.d.ts.map +0 -1
  397. package/dist/router/lazy.js +0 -52
  398. package/dist/router/lazy.js.map +0 -1
  399. package/dist/router/manifest.d.ts +0 -10
  400. package/dist/router/manifest.d.ts.map +0 -1
  401. package/dist/router/manifest.js +0 -49
  402. package/dist/router/manifest.js.map +0 -1
  403. package/dist/router/match.js +0 -122
  404. package/dist/router/match.js.map +0 -1
  405. package/dist/router/navigate.d.ts +0 -11
  406. package/dist/router/navigate.d.ts.map +0 -1
  407. package/dist/router/navigate.js +0 -76
  408. package/dist/router/navigate.js.map +0 -1
  409. package/dist/router/navigation-registry.d.ts +0 -32
  410. package/dist/router/navigation-registry.d.ts.map +0 -1
  411. package/dist/router/navigation-registry.js +0 -105
  412. package/dist/router/navigation-registry.js.map +0 -1
  413. package/dist/router/navigation-scroll.d.ts +0 -14
  414. package/dist/router/navigation-scroll.d.ts.map +0 -1
  415. package/dist/router/navigation-scroll.js +0 -93
  416. package/dist/router/navigation-scroll.js.map +0 -1
  417. package/dist/router/navigation-targets.d.ts +0 -31
  418. package/dist/router/navigation-targets.d.ts.map +0 -1
  419. package/dist/router/navigation-targets.js +0 -255
  420. package/dist/router/navigation-targets.js.map +0 -1
  421. package/dist/router/policy.d.ts +0 -28
  422. package/dist/router/policy.d.ts.map +0 -1
  423. package/dist/router/policy.js +0 -132
  424. package/dist/router/policy.js.map +0 -1
  425. package/dist/router/rendering.d.ts +0 -10
  426. package/dist/router/rendering.d.ts.map +0 -1
  427. package/dist/router/rendering.js +0 -46
  428. package/dist/router/rendering.js.map +0 -1
  429. package/dist/router/resolution.d.ts +0 -4
  430. package/dist/router/resolution.d.ts.map +0 -1
  431. package/dist/router/resolution.js +0 -86
  432. package/dist/router/resolution.js.map +0 -1
  433. package/dist/router/route-context.js +0 -79
  434. package/dist/router/route-context.js.map +0 -1
  435. package/dist/router/route-matching.d.ts +0 -20
  436. package/dist/router/route-matching.d.ts.map +0 -1
  437. package/dist/router/route-matching.js +0 -175
  438. package/dist/router/route-matching.js.map +0 -1
  439. package/dist/router/route-query.d.ts +0 -17
  440. package/dist/router/route-query.d.ts.map +0 -1
  441. package/dist/router/route-query.js +0 -47
  442. package/dist/router/route-query.js.map +0 -1
  443. package/dist/router/route.d.ts +0 -8
  444. package/dist/router/route.js +0 -10
  445. package/dist/router/store.d.ts +0 -50
  446. package/dist/router/store.d.ts.map +0 -1
  447. package/dist/router/store.js +0 -171
  448. package/dist/router/store.js.map +0 -1
  449. package/dist/router/testing.js +0 -4
  450. package/dist/runtime/access.d.ts +0 -20
  451. package/dist/runtime/access.d.ts.map +0 -1
  452. package/dist/runtime/access.js +0 -45
  453. package/dist/runtime/access.js.map +0 -1
  454. package/dist/runtime/child-scope.d.ts +0 -22
  455. package/dist/runtime/child-scope.d.ts.map +0 -1
  456. package/dist/runtime/child-scope.js +0 -87
  457. package/dist/runtime/child-scope.js.map +0 -1
  458. package/dist/runtime/component-cleanup.d.ts +0 -16
  459. package/dist/runtime/component-cleanup.d.ts.map +0 -1
  460. package/dist/runtime/component-cleanup.js +0 -70
  461. package/dist/runtime/component-cleanup.js.map +0 -1
  462. package/dist/runtime/component-commit.js +0 -165
  463. package/dist/runtime/component-commit.js.map +0 -1
  464. package/dist/runtime/component-facade.d.ts +0 -5
  465. package/dist/runtime/component-facade.js +0 -4
  466. package/dist/runtime/component-internal.d.ts +0 -100
  467. package/dist/runtime/component-internal.d.ts.map +0 -1
  468. package/dist/runtime/component-internal.js +0 -219
  469. package/dist/runtime/component-internal.js.map +0 -1
  470. package/dist/runtime/component-lifecycle.d.ts +0 -49
  471. package/dist/runtime/component-lifecycle.d.ts.map +0 -1
  472. package/dist/runtime/component-lifecycle.js +0 -176
  473. package/dist/runtime/component-lifecycle.js.map +0 -1
  474. package/dist/runtime/component-scope.d.ts +0 -55
  475. package/dist/runtime/component-scope.d.ts.map +0 -1
  476. package/dist/runtime/component-scope.js.map +0 -1
  477. package/dist/runtime/component.d.ts +0 -5
  478. package/dist/runtime/component.js +0 -5
  479. package/dist/runtime/context.d.ts +0 -69
  480. package/dist/runtime/context.d.ts.map +0 -1
  481. package/dist/runtime/context.js +0 -210
  482. package/dist/runtime/context.js.map +0 -1
  483. package/dist/runtime/control.d.ts +0 -43
  484. package/dist/runtime/control.d.ts.map +0 -1
  485. package/dist/runtime/control.js +0 -126
  486. package/dist/runtime/control.js.map +0 -1
  487. package/dist/runtime/derive.d.ts +0 -17
  488. package/dist/runtime/derive.d.ts.map +0 -1
  489. package/dist/runtime/derive.js +0 -142
  490. package/dist/runtime/derive.js.map +0 -1
  491. package/dist/runtime/dev-namespace.d.ts +0 -31
  492. package/dist/runtime/dev-namespace.d.ts.map +0 -1
  493. package/dist/runtime/dev-namespace.js +0 -57
  494. package/dist/runtime/dev-namespace.js.map +0 -1
  495. package/dist/runtime/effect.d.ts +0 -32
  496. package/dist/runtime/effect.d.ts.map +0 -1
  497. package/dist/runtime/effect.js +0 -177
  498. package/dist/runtime/effect.js.map +0 -1
  499. package/dist/runtime/error-boundary.d.ts +0 -5
  500. package/dist/runtime/error-boundary.d.ts.map +0 -1
  501. package/dist/runtime/error-boundary.js +0 -31
  502. package/dist/runtime/error-boundary.js.map +0 -1
  503. package/dist/runtime/events.d.ts +0 -58
  504. package/dist/runtime/events.d.ts.map +0 -1
  505. package/dist/runtime/events.js +0 -204
  506. package/dist/runtime/events.js.map +0 -1
  507. package/dist/runtime/execution-model.d.ts +0 -7
  508. package/dist/runtime/execution-model.d.ts.map +0 -1
  509. package/dist/runtime/execution-model.js +0 -15
  510. package/dist/runtime/execution-model.js.map +0 -1
  511. package/dist/runtime/fastlane.d.ts +0 -34
  512. package/dist/runtime/fastlane.d.ts.map +0 -1
  513. package/dist/runtime/fastlane.js +0 -175
  514. package/dist/runtime/fastlane.js.map +0 -1
  515. package/dist/runtime/for-bench.d.ts +0 -41
  516. package/dist/runtime/for-bench.d.ts.map +0 -1
  517. package/dist/runtime/for-bench.js +0 -171
  518. package/dist/runtime/for-bench.js.map +0 -1
  519. package/dist/runtime/for-internal.d.ts +0 -43
  520. package/dist/runtime/for-internal.d.ts.map +0 -1
  521. package/dist/runtime/for-internal.js +0 -98
  522. package/dist/runtime/for-internal.js.map +0 -1
  523. package/dist/runtime/for-reconcile.d.ts +0 -8
  524. package/dist/runtime/for-reconcile.d.ts.map +0 -1
  525. package/dist/runtime/for-reconcile.js +0 -389
  526. package/dist/runtime/for-reconcile.js.map +0 -1
  527. package/dist/runtime/for-scopes.d.ts +0 -26
  528. package/dist/runtime/for-scopes.d.ts.map +0 -1
  529. package/dist/runtime/for-scopes.js +0 -160
  530. package/dist/runtime/for-scopes.js.map +0 -1
  531. package/dist/runtime/for-signals.d.ts +0 -30
  532. package/dist/runtime/for-signals.d.ts.map +0 -1
  533. package/dist/runtime/for-signals.js +0 -139
  534. package/dist/runtime/for-signals.js.map +0 -1
  535. package/dist/runtime/for-types.d.ts +0 -9
  536. package/dist/runtime/for-types.d.ts.map +0 -1
  537. package/dist/runtime/for.d.ts +0 -4
  538. package/dist/runtime/for.js +0 -5
  539. package/dist/runtime/index.d.ts +0 -24
  540. package/dist/runtime/index.js +0 -31
  541. package/dist/runtime/lifecycle-operations.d.ts +0 -31
  542. package/dist/runtime/lifecycle-operations.d.ts.map +0 -1
  543. package/dist/runtime/lifecycle-operations.js.map +0 -1
  544. package/dist/runtime/operations.d.ts +0 -3
  545. package/dist/runtime/operations.js +0 -3
  546. package/dist/runtime/perf-metrics.d.ts +0 -26
  547. package/dist/runtime/perf-metrics.d.ts.map +0 -1
  548. package/dist/runtime/perf-metrics.js +0 -70
  549. package/dist/runtime/perf-metrics.js.map +0 -1
  550. package/dist/runtime/portal.d.ts +0 -22
  551. package/dist/runtime/portal.d.ts.map +0 -1
  552. package/dist/runtime/portal.js.map +0 -1
  553. package/dist/runtime/readable.d.ts +0 -29
  554. package/dist/runtime/readable.d.ts.map +0 -1
  555. package/dist/runtime/readable.js +0 -159
  556. package/dist/runtime/readable.js.map +0 -1
  557. package/dist/runtime/resource-cell.js +0 -114
  558. package/dist/runtime/resource-cell.js.map +0 -1
  559. package/dist/runtime/resource-operation.d.ts +0 -13
  560. package/dist/runtime/resource-operation.d.ts.map +0 -1
  561. package/dist/runtime/resource-operation.js +0 -170
  562. package/dist/runtime/resource-operation.js.map +0 -1
  563. package/dist/runtime/runtime.d.ts.map +0 -1
  564. package/dist/runtime/runtime.js +0 -59
  565. package/dist/runtime/runtime.js.map +0 -1
  566. package/dist/runtime/scheduler.d.ts.map +0 -1
  567. package/dist/runtime/scheduler.js.map +0 -1
  568. package/dist/runtime/selector-store.js +0 -24
  569. package/dist/runtime/selector-store.js.map +0 -1
  570. package/dist/runtime/selector.d.ts +0 -11
  571. package/dist/runtime/selector.d.ts.map +0 -1
  572. package/dist/runtime/selector.js.map +0 -1
  573. package/dist/runtime/snapshot-source.d.ts +0 -10
  574. package/dist/runtime/snapshot-source.d.ts.map +0 -1
  575. package/dist/runtime/snapshot-source.js.map +0 -1
  576. package/dist/runtime/state.d.ts +0 -55
  577. package/dist/runtime/state.d.ts.map +0 -1
  578. package/dist/runtime/state.js.map +0 -1
  579. package/dist/ssg/batch-render.js +0 -103
  580. package/dist/ssg/batch-render.js.map +0 -1
  581. package/dist/ssg/create-static-gen.d.ts +0 -64
  582. package/dist/ssg/create-static-gen.d.ts.map +0 -1
  583. package/dist/ssg/create-static-gen.js +0 -199
  584. package/dist/ssg/create-static-gen.js.map +0 -1
  585. package/dist/ssg/generate-metadata.js +0 -94
  586. package/dist/ssg/generate-metadata.js.map +0 -1
  587. package/dist/ssg/generation-plan.js +0 -70
  588. package/dist/ssg/generation-plan.js.map +0 -1
  589. package/dist/ssg/incremental-manifest.js +0 -56
  590. package/dist/ssg/incremental-manifest.js.map +0 -1
  591. package/dist/ssg/resolve-ssg-data.js +0 -105
  592. package/dist/ssg/resolve-ssg-data.js.map +0 -1
  593. package/dist/ssg/route-utils.js +0 -24
  594. package/dist/ssg/route-utils.js.map +0 -1
  595. package/dist/ssg/static-routes.js +0 -102
  596. package/dist/ssg/static-routes.js.map +0 -1
  597. package/dist/ssg/types.d.ts +0 -189
  598. package/dist/ssg/types.d.ts.map +0 -1
  599. package/dist/ssg/write-static-files.js +0 -73
  600. package/dist/ssg/write-static-files.js.map +0 -1
  601. package/dist/ssr/attrs.js +0 -94
  602. package/dist/ssr/attrs.js.map +0 -1
  603. package/dist/ssr/boundaries.js +0 -113
  604. package/dist/ssr/boundaries.js.map +0 -1
  605. package/dist/ssr/component-runtime.js +0 -111
  606. package/dist/ssr/component-runtime.js.map +0 -1
  607. package/dist/ssr/context.d.ts +0 -50
  608. package/dist/ssr/context.d.ts.map +0 -1
  609. package/dist/ssr/context.js +0 -91
  610. package/dist/ssr/context.js.map +0 -1
  611. package/dist/ssr/errors.d.ts +0 -10
  612. package/dist/ssr/errors.d.ts.map +0 -1
  613. package/dist/ssr/errors.js +0 -14
  614. package/dist/ssr/errors.js.map +0 -1
  615. package/dist/ssr/escape.js +0 -193
  616. package/dist/ssr/escape.js.map +0 -1
  617. package/dist/ssr/hydration-data.js +0 -10
  618. package/dist/ssr/hydration-data.js.map +0 -1
  619. package/dist/ssr/hydration-verify.d.ts +0 -12
  620. package/dist/ssr/hydration-verify.d.ts.map +0 -1
  621. package/dist/ssr/hydration-verify.js +0 -144
  622. package/dist/ssr/hydration-verify.js.map +0 -1
  623. package/dist/ssr/index-internal.d.ts +0 -15
  624. package/dist/ssr/index-internal.d.ts.map +0 -1
  625. package/dist/ssr/index-internal.js +0 -19
  626. package/dist/ssr/index-internal.js.map +0 -1
  627. package/dist/ssr/render-keys.js +0 -16
  628. package/dist/ssr/render-keys.js.map +0 -1
  629. package/dist/ssr/render-resolved.d.ts +0 -20
  630. package/dist/ssr/render-resolved.d.ts.map +0 -1
  631. package/dist/ssr/render-resolved.js +0 -35
  632. package/dist/ssr/render-resolved.js.map +0 -1
  633. package/dist/ssr/render-sync.d.ts +0 -21
  634. package/dist/ssr/render-sync.d.ts.map +0 -1
  635. package/dist/ssr/render-sync.js +0 -275
  636. package/dist/ssr/render-sync.js.map +0 -1
  637. package/dist/ssr/route-policy-resolution.js +0 -78
  638. package/dist/ssr/route-policy-resolution.js.map +0 -1
  639. package/dist/ssr/route-render.d.ts +0 -77
  640. package/dist/ssr/route-render.d.ts.map +0 -1
  641. package/dist/ssr/route-render.js +0 -120
  642. package/dist/ssr/route-render.js.map +0 -1
  643. package/dist/ssr/sink.d.ts +0 -26
  644. package/dist/ssr/sink.d.ts.map +0 -1
  645. package/dist/ssr/sink.js +0 -86
  646. package/dist/ssr/sink.js.map +0 -1
  647. package/dist/ssr/types.d.ts +0 -23
  648. package/dist/ssr/types.d.ts.map +0 -1
  649. package/dist/ssr/verify-hydration.js.map +0 -1
  650. package/dist/testing/index.d.ts.map +0 -1
  651. package/dist/testing/index.js.map +0 -1
@@ -0,0 +1,487 @@
1
+ import { c as runRuntimeHandlerScope, v as logger } from "./access-Bg4RJNC8.js";
2
+ import "./fastlane-Dw8SOBr9.js";
3
+ import { f as registerLifecycleTransaction, h as cleanupComponent } from "./component-lifecycle-CO4hXlP4.js";
4
+ //#region src/runtime/events.ts
5
+ /**
6
+ * Event delegation system for Askr
7
+ *
8
+ * Provides efficient event handling by attaching listeners to a container
9
+ * instead of individual elements. This significantly reduces memory usage
10
+ * and improves performance when many elements have the same event type.
11
+ *
12
+ * Delegated handling is enabled by default. Tests and internal runtime code
13
+ * can still disable or re-enable it when they need to exercise both modes.
14
+ */
15
+ const DELEGATED_EVENTS = [
16
+ "click",
17
+ "dblclick",
18
+ "mousedown",
19
+ "mouseup",
20
+ "mouseover",
21
+ "mouseout",
22
+ "mousemove",
23
+ "focus",
24
+ "blur",
25
+ "input",
26
+ "change",
27
+ "keydown",
28
+ "keyup",
29
+ "keypress",
30
+ "submit",
31
+ "scroll",
32
+ "wheel",
33
+ "touchstart",
34
+ "touchend",
35
+ "touchmove",
36
+ "touchcancel"
37
+ ];
38
+ const DELEGATED_HANDLERS = Symbol("askr.delegated-handlers");
39
+ const delegatedHandlerFallback = /* @__PURE__ */ new WeakMap();
40
+ function getDelegatedHandlerStore(element) {
41
+ return element[DELEGATED_HANDLERS] ?? delegatedHandlerFallback.get(element);
42
+ }
43
+ function setDelegatedHandlerStore(element, store) {
44
+ const host = element;
45
+ try {
46
+ host[DELEGATED_HANDLERS] = store;
47
+ if (host[DELEGATED_HANDLERS] === store) return;
48
+ } catch {}
49
+ delegatedHandlerFallback.set(element, store);
50
+ }
51
+ function deleteDelegatedHandlerStore(element) {
52
+ const host = element;
53
+ if (host[DELEGATED_HANDLERS] !== void 0) try {
54
+ delete host[DELEGATED_HANDLERS];
55
+ return;
56
+ } catch {}
57
+ delegatedHandlerFallback.delete(element);
58
+ }
59
+ let eventDelegationEnabled = true;
60
+ const containerDelegatedListeners = /* @__PURE__ */ new Map();
61
+ function isEventDelegationEnabled() {
62
+ return eventDelegationEnabled;
63
+ }
64
+ function decrementContainerListenerUsage(entry) {
65
+ const listeners = containerDelegatedListeners.get(entry.container);
66
+ const listener = listeners?.get(entry.eventName);
67
+ if (!listener) return;
68
+ listener.usage -= 1;
69
+ if (listener.usage > 0) return;
70
+ entry.container.removeEventListener(entry.eventName, listener.handler);
71
+ listeners?.delete(entry.eventName);
72
+ if (listeners?.size === 0) containerDelegatedListeners.delete(entry.container);
73
+ }
74
+ function getDelegationContainer() {
75
+ if (typeof document !== "undefined") return document.body;
76
+ return null;
77
+ }
78
+ function attachDelegatedListener(container, element, eventName, handler, originalHandler, options, fresh = false) {
79
+ const existingStore = fresh ? void 0 : getDelegatedHandlerStore(element);
80
+ const hadHandler = existingStore instanceof Map ? existingStore.has(eventName) : existingStore?.eventName === eventName;
81
+ let containerListeners = containerDelegatedListeners.get(container);
82
+ if (!containerListeners) {
83
+ containerListeners = /* @__PURE__ */ new Map();
84
+ containerDelegatedListeners.set(container, containerListeners);
85
+ }
86
+ let containerListener = containerListeners.get(eventName);
87
+ if (!containerListener) {
88
+ const delegatedHandler = (e) => {
89
+ const target = e.target;
90
+ if (!target) return;
91
+ runRuntimeHandlerScope(() => {
92
+ let current = target;
93
+ while (current && current !== container) {
94
+ const store = getDelegatedHandlerStore(current);
95
+ const entry = !store ? void 0 : store instanceof Map ? store.get(eventName) : store.eventName === eventName ? store : void 0;
96
+ if (entry) try {
97
+ entry.handler(e);
98
+ } catch (error) {
99
+ logger.error("[Askr] Delegated event error:", error);
100
+ }
101
+ if (e.cancelBubble) break;
102
+ current = current.parentElement;
103
+ }
104
+ }, "sync");
105
+ };
106
+ const listenerOptions = getPassiveOptions(eventName) ?? options;
107
+ container.addEventListener(eventName, delegatedHandler, listenerOptions);
108
+ containerListener = {
109
+ handler: delegatedHandler,
110
+ usage: 0
111
+ };
112
+ containerListeners.set(eventName, containerListener);
113
+ }
114
+ setDelegatedHandlerForElement(element, {
115
+ handler,
116
+ original: originalHandler,
117
+ container,
118
+ eventName,
119
+ options
120
+ }, existingStore);
121
+ if (!hadHandler) containerListener.usage += 1;
122
+ }
123
+ function setDelegatedHandlerForElement(element, entry, existing = getDelegatedHandlerStore(element)) {
124
+ if (!existing) {
125
+ setDelegatedHandlerStore(element, entry);
126
+ return;
127
+ }
128
+ if (existing instanceof Map) {
129
+ existing.set(entry.eventName, entry);
130
+ return;
131
+ }
132
+ if (existing.eventName === entry.eventName) {
133
+ setDelegatedHandlerStore(element, entry);
134
+ return;
135
+ }
136
+ const next = /* @__PURE__ */ new Map();
137
+ next.set(existing.eventName, existing);
138
+ next.set(entry.eventName, entry);
139
+ setDelegatedHandlerStore(element, next);
140
+ }
141
+ function getPassiveOptions(eventName) {
142
+ if (eventName === "wheel" || eventName === "scroll" || eventName.startsWith("touch")) return { passive: true };
143
+ }
144
+ function addDelegatedListener(element, eventName, handler, originalHandler, options) {
145
+ const container = getDelegationContainer();
146
+ if (!container) return;
147
+ attachDelegatedListener(container, element, eventName, handler, originalHandler, options);
148
+ }
149
+ /** @internal Attach a delegated handler to a newly cloned element. */
150
+ function addFreshDelegatedListener(element, eventName, handler, originalHandler, options) {
151
+ const container = getDelegationContainer();
152
+ if (!container) return;
153
+ attachDelegatedListener(container, element, eventName, handler, originalHandler, options, true);
154
+ }
155
+ function updateDelegatedListener(element, eventName, handler, originalHandler, options) {
156
+ const existing = getDelegatedHandlerForElement(element, eventName);
157
+ if (!existing) return false;
158
+ const container = getDelegationContainer();
159
+ if (!container || existing.container !== container || !containerDelegatedListeners.get(existing.container)?.has(eventName)) {
160
+ removeDelegatedListener(element, eventName);
161
+ return false;
162
+ }
163
+ existing.handler = handler;
164
+ existing.original = originalHandler;
165
+ existing.options = options;
166
+ return true;
167
+ }
168
+ function removeDelegatedListener(element, eventName) {
169
+ const existing = getDelegatedHandlerStore(element);
170
+ if (!existing) return;
171
+ if (existing instanceof Map) {
172
+ if (existing.has(eventName)) decrementContainerListenerUsage(existing.get(eventName));
173
+ existing.delete(eventName);
174
+ if (existing.size === 0) {
175
+ deleteDelegatedHandlerStore(element);
176
+ return;
177
+ }
178
+ if (existing.size === 1) {
179
+ const only = existing.values().next().value;
180
+ setDelegatedHandlerStore(element, only);
181
+ }
182
+ return;
183
+ }
184
+ if (existing.eventName === eventName) {
185
+ decrementContainerListenerUsage(existing);
186
+ deleteDelegatedHandlerStore(element);
187
+ }
188
+ }
189
+ function getDelegatedHandlerForElement(element, eventName) {
190
+ const store = getDelegatedHandlerStore(element);
191
+ if (!store) return void 0;
192
+ if (store instanceof Map) return store.get(eventName);
193
+ return store.eventName === eventName ? store : void 0;
194
+ }
195
+ function getDelegatedHandlersForElement(element) {
196
+ const store = getDelegatedHandlerStore(element);
197
+ if (!store) return void 0;
198
+ if (store instanceof Map) return store;
199
+ return /* @__PURE__ */ new Map([[store.eventName, store]]);
200
+ }
201
+ function clearDelegatedHandlersForElement(element) {
202
+ const existing = getDelegatedHandlerStore(element);
203
+ if (existing instanceof Map) for (const entry of existing.values()) decrementContainerListenerUsage(entry);
204
+ else if (existing) decrementContainerListenerUsage(existing);
205
+ deleteDelegatedHandlerStore(element);
206
+ }
207
+ function isDelegatedEvent(eventName) {
208
+ return DELEGATED_EVENTS.includes(eventName);
209
+ }
210
+ //#endregion
211
+ //#region src/renderer/cleanup.ts
212
+ const elementRefs = /* @__PURE__ */ new WeakMap();
213
+ const refOwners = /* @__PURE__ */ new WeakMap();
214
+ function isRefOwnerKey(ref) {
215
+ return typeof ref === "function" || typeof ref === "object" && ref !== null;
216
+ }
217
+ /** @internal Return the current exact owner for ref reconciliation. */
218
+ function getElementRefOwner(ref) {
219
+ return isRefOwnerKey(ref) ? refOwners.get(ref) : void 0;
220
+ }
221
+ /** @internal Synchronize ref registries without invoking user callbacks. */
222
+ function replaceElementRefBookkeeping(element, ref) {
223
+ const previousRef = elementRefs.get(element);
224
+ if (isRefOwnerKey(previousRef) && refOwners.get(previousRef) === element) refOwners.delete(previousRef);
225
+ if (ref) {
226
+ elementRefs.set(element, ref);
227
+ if (isRefOwnerKey(ref)) refOwners.set(ref, element);
228
+ } else elementRefs.delete(element);
229
+ }
230
+ function applyRefValue(ref, value) {
231
+ const resolvedRef = ref;
232
+ if (!resolvedRef) return;
233
+ if (typeof resolvedRef === "function") {
234
+ resolvedRef(value);
235
+ return;
236
+ }
237
+ if (Object.isExtensible(resolvedRef)) resolvedRef.current = value;
238
+ }
239
+ function updateElementRef(element, ref) {
240
+ if (registerLifecycleTransaction({}, () => updateElementRefImmediately(element, ref), () => void 0)) return;
241
+ updateElementRefImmediately(element, ref);
242
+ }
243
+ function updateElementRefImmediately(element, ref) {
244
+ const previousRef = elementRefs.get(element);
245
+ if (previousRef === ref) return;
246
+ if (previousRef) {
247
+ applyRefValue(previousRef, null);
248
+ if (getElementRefOwner(previousRef) === element) refOwners.delete(previousRef);
249
+ }
250
+ if (ref) {
251
+ const previousOwner = getElementRefOwner(ref);
252
+ if (typeof ref === "function" && previousOwner && previousOwner !== element) {
253
+ elementRefs.set(element, ref);
254
+ refOwners.set(ref, element);
255
+ return;
256
+ }
257
+ applyRefValue(ref, element);
258
+ elementRefs.set(element, ref);
259
+ if (isRefOwnerKey(ref)) refOwners.set(ref, element);
260
+ } else elementRefs.delete(element);
261
+ }
262
+ function removeElementRef(element) {
263
+ const ref = elementRefs.get(element);
264
+ if (!ref) return;
265
+ if (typeof ref !== "function" && getElementRefOwner(ref) !== element) {
266
+ elementRefs.delete(element);
267
+ return;
268
+ }
269
+ applyRefValue(ref, null);
270
+ const nextOwner = getElementRefOwner(ref);
271
+ if (typeof ref === "function" && nextOwner && nextOwner !== element) applyRefValue(ref, nextOwner);
272
+ replaceElementRefBookkeeping(element, void 0);
273
+ }
274
+ function cleanupSingleInstance(node, errors, strict) {
275
+ const instanceList = node.__ASKR_INSTANCES;
276
+ const primaryInstance = node.__ASKR_INSTANCE;
277
+ if (!instanceList && !primaryInstance) return;
278
+ const instances = /* @__PURE__ */ new Set();
279
+ if (Array.isArray(instanceList)) {
280
+ for (const instance of instanceList) if (instance) instances.add(instance);
281
+ }
282
+ if (primaryInstance) instances.add(primaryInstance);
283
+ for (const instance of instances) try {
284
+ cleanupComponent(instance);
285
+ } catch (err) {
286
+ if (strict) errors.push(err);
287
+ else logger.warn("[Askr] cleanupComponent failed:", err);
288
+ }
289
+ try {
290
+ delete node.__ASKR_INSTANCE;
291
+ delete node.__ASKR_INSTANCES;
292
+ } catch (e) {
293
+ if (strict) errors.push(e);
294
+ }
295
+ }
296
+ function teardownSingleElement(element, errors, strict) {
297
+ try {
298
+ removeElementRef(element);
299
+ } catch (err) {
300
+ if (strict) errors.push(err);
301
+ else logger.warn("[Askr] removeElementRef failed:", err);
302
+ }
303
+ try {
304
+ removeElementListeners(element);
305
+ } catch (err) {
306
+ if (strict) errors.push(err);
307
+ else logger.warn("[Askr] removeElementListeners failed:", err);
308
+ }
309
+ try {
310
+ removeElementReactiveProps(element);
311
+ } catch (err) {
312
+ if (strict) errors.push(err);
313
+ else logger.warn("[Askr] removeElementReactiveProps failed:", err);
314
+ }
315
+ try {
316
+ cleanupSingleInstance(element, errors, strict);
317
+ } catch (err) {
318
+ if (strict) errors.push(err);
319
+ else logger.warn("[Askr] cleanupSingleInstance failed:", err);
320
+ }
321
+ }
322
+ function forEachDescendantElement(root, visit) {
323
+ try {
324
+ const doc = root.ownerDocument;
325
+ const createTreeWalker = doc?.createTreeWalker;
326
+ if (typeof createTreeWalker === "function") {
327
+ const walker = createTreeWalker.call(doc, root, 1);
328
+ let n = walker.firstChild();
329
+ while (n) {
330
+ visit(n);
331
+ n = walker.nextNode();
332
+ }
333
+ return;
334
+ }
335
+ } catch {}
336
+ const descendants = root.querySelectorAll("*");
337
+ for (let i = 0; i < descendants.length; i++) visit(descendants[i]);
338
+ }
339
+ /** @internal Walk every descendant node, including component-host comments. */
340
+ function forEachDescendantNode(root, visit) {
341
+ try {
342
+ const doc = root.ownerDocument;
343
+ const createTreeWalker = doc?.createTreeWalker;
344
+ if (typeof createTreeWalker === "function") {
345
+ const walker = createTreeWalker.call(doc, root, 4294967295);
346
+ let node = walker.nextNode();
347
+ while (node) {
348
+ visit(node);
349
+ node = walker.nextNode();
350
+ }
351
+ return;
352
+ }
353
+ } catch {}
354
+ const stack = Array.from(root.childNodes).reverse();
355
+ while (stack.length > 0) {
356
+ const node = stack.pop();
357
+ visit(node);
358
+ for (let child = node.lastChild; child; child = child.previousSibling) stack.push(child);
359
+ }
360
+ }
361
+ function forEachElementInSubtree(root, visit) {
362
+ visit(root);
363
+ forEachDescendantElement(root, visit);
364
+ }
365
+ const elementListeners = /* @__PURE__ */ new WeakMap();
366
+ /**
367
+ * Clean up component instance attached to a DOM node
368
+ * Accepts an optional `opts.strict` flag to surface errors instead of swallowing them.
369
+ */
370
+ function cleanupInstanceIfPresent(node, opts) {
371
+ if (!node) return;
372
+ const strict = opts?.strict ?? false;
373
+ const errors = strict ? [] : null;
374
+ try {
375
+ cleanupSingleInstance(node, errors, strict);
376
+ } catch (err) {
377
+ if (strict) errors.push(err);
378
+ else logger.warn("[Askr] cleanupInstanceIfPresent failed:", err);
379
+ }
380
+ try {
381
+ forEachDescendantNode(node, (descendant) => {
382
+ try {
383
+ cleanupSingleInstance(descendant, errors, strict);
384
+ } catch (err) {
385
+ if (strict) errors.push(err);
386
+ else logger.warn("[Askr] cleanupInstanceIfPresent descendant cleanup failed:", err);
387
+ }
388
+ });
389
+ } catch (err) {
390
+ if (strict) errors.push(err);
391
+ else logger.warn("[Askr] cleanupInstanceIfPresent descendant query failed:", err);
392
+ }
393
+ if (errors && errors.length > 0) throw new AggregateError(errors, "cleanupInstanceIfPresent failed");
394
+ }
395
+ function cleanupInstancesUnder(node, opts) {
396
+ cleanupInstanceIfPresent(node, opts);
397
+ }
398
+ function teardownNodeSubtree(node, opts) {
399
+ if (!node) return;
400
+ const strict = opts?.strict ?? false;
401
+ const errors = strict ? [] : null;
402
+ if (!(node instanceof Element)) {
403
+ cleanupSingleInstance(node, errors, strict);
404
+ if (errors && errors.length > 0) throw new AggregateError(errors, "teardownNodeSubtree failed");
405
+ return;
406
+ }
407
+ try {
408
+ teardownSingleElement(node, errors, strict);
409
+ forEachDescendantNode(node, (descendant) => {
410
+ if (descendant instanceof Element) teardownSingleElement(descendant, errors, strict);
411
+ else cleanupSingleInstance(descendant, errors, strict);
412
+ });
413
+ } catch (err) {
414
+ if (strict) errors.push(err);
415
+ else logger.warn("[Askr] teardownNodeSubtree failed:", err);
416
+ }
417
+ if (errors && errors.length > 0) throw new AggregateError(errors, "teardownNodeSubtree failed");
418
+ }
419
+ const REACTIVE_CHILDREN_KEY = "__askr_reactive_children__";
420
+ const elementReactivePropsCleanup = /* @__PURE__ */ new WeakMap();
421
+ function getElementReactivePropsCleanupMap(element, create = false) {
422
+ const store = elementReactivePropsCleanup.get(element);
423
+ if (store instanceof Map) return store;
424
+ if (store) {
425
+ const map = /* @__PURE__ */ new Map([[store._bindingKey, store]]);
426
+ elementReactivePropsCleanup.set(element, map);
427
+ return map;
428
+ }
429
+ if (!create) return;
430
+ const map = /* @__PURE__ */ new Map();
431
+ elementReactivePropsCleanup.set(element, map);
432
+ return map;
433
+ }
434
+ function setDirectElementReactivePropCleanup(element, bindingKey, entry) {
435
+ if (!elementReactivePropsCleanup.get(element)) {
436
+ entry._bindingKey = bindingKey;
437
+ elementReactivePropsCleanup.set(element, entry);
438
+ return;
439
+ }
440
+ getElementReactivePropsCleanupMap(element, true).set(bindingKey, entry);
441
+ }
442
+ /** @internal Publish the first reactive binding on a newly created element. */
443
+ function setFreshElementReactivePropCleanup(element, bindingKey, entry) {
444
+ entry._bindingKey = bindingKey;
445
+ elementReactivePropsCleanup.set(element, entry);
446
+ }
447
+ function getElementReactivePropCleanupSize(element) {
448
+ const store = elementReactivePropsCleanup.get(element);
449
+ return store instanceof Map ? store.size : store ? 1 : 0;
450
+ }
451
+ function forEachElementReactivePropCleanup(element, visit) {
452
+ const store = elementReactivePropsCleanup.get(element);
453
+ if (store instanceof Map) for (const entry of store.values()) visit(entry);
454
+ else if (store) visit(store);
455
+ }
456
+ function removeElementReactiveProps(element) {
457
+ if (elementReactivePropsCleanup.has(element)) {
458
+ forEachElementReactivePropCleanup(element, (entry) => {
459
+ try {
460
+ entry.cleanup();
461
+ } catch (err) {
462
+ logger.warn("[Askr] reactive prop cleanup failed:", err);
463
+ }
464
+ });
465
+ elementReactivePropsCleanup.delete(element);
466
+ }
467
+ }
468
+ function removeElementListeners(element) {
469
+ const map = elementListeners.get(element);
470
+ if (map) {
471
+ for (const entry of map.values()) if (entry.isDelegated) removeDelegatedListener(element, entry.eventName);
472
+ else if (entry.options !== void 0) element.removeEventListener(entry.eventName, entry.handler, entry.options);
473
+ else element.removeEventListener(entry.eventName, entry.handler);
474
+ elementListeners.delete(element);
475
+ }
476
+ clearDelegatedHandlersForElement(element);
477
+ }
478
+ function removeAllListeners(root) {
479
+ if (!root) return;
480
+ forEachElementInSubtree(root, (el) => {
481
+ removeElementRef(el);
482
+ removeElementListeners(el);
483
+ removeElementReactiveProps(el);
484
+ });
485
+ }
486
+ //#endregion
487
+ export { getDelegatedHandlersForElement as C, updateDelegatedListener as D, removeDelegatedListener as E, getDelegatedHandlerForElement as S, isEventDelegationEnabled as T, teardownNodeSubtree as _, elementReactivePropsCleanup as a, addFreshDelegatedListener as b, forEachElementReactivePropCleanup as c, removeAllListeners as d, removeElementReactiveProps as f, setFreshElementReactivePropCleanup as g, setDirectElementReactivePropCleanup as h, elementListeners as i, getElementReactivePropCleanupSize as l, replaceElementRefBookkeeping as m, cleanupInstanceIfPresent as n, elementRefs as o, removeElementRef as p, cleanupInstancesUnder as r, forEachDescendantNode as s, REACTIVE_CHILDREN_KEY as t, getElementReactivePropsCleanupMap as u, updateElementRef as v, isDelegatedEvent as w, clearDelegatedHandlersForElement as x, addDelegatedListener as y };