@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.
- package/README.md +5 -1
- package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +190 -20
- package/dist/actions/index.d.ts +2 -0
- package/dist/actions/index.js +103 -0
- package/dist/{common/attr-names.js → attr-names-CjhzmHOn.js} +1 -3
- package/dist/benchmark.d.ts +7 -4
- package/dist/benchmark.js +63 -13
- package/dist/boot/index.d.ts +62 -4
- package/dist/boot/index.js +1 -194
- package/dist/boot-j2KoN6ss.js +647 -0
- package/dist/cleanup-COv77su2.js +487 -0
- package/dist/component-internal-B3z7GXlD.js +614 -0
- package/dist/component-lifecycle-CO4hXlP4.js +357 -0
- package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +35 -9
- package/dist/component-scope-CvPba6O6.d.ts +12 -0
- package/dist/components/index.d.ts +17 -2
- package/dist/components/index.js +39 -1
- package/dist/compose-ref-Cc_YkUpM.js +92 -0
- package/dist/{foundations/utilities/compose-ref.d.ts → compose-ref-Cizq72-x.d.ts} +1 -2
- package/dist/control/index.d.ts +1 -3
- package/dist/control/index.js +1 -3
- package/dist/control-BQvNVfAd.d.ts +436 -0
- package/dist/control-BYyLTFyw.js +165 -0
- package/dist/control-Bf4Wkdvv.d.ts +9 -0
- package/dist/{common/control.js → control-DhFRTIoE.js} +1 -3
- package/dist/data/index.d.ts +2 -6
- package/dist/data/index.js +4 -5
- package/dist/data-DnxnDxD-.js +559 -0
- package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +35 -36
- package/dist/deferred-lKE8uR0z.js +386 -0
- package/dist/effect-BwnIvLah.js +260 -0
- package/dist/fastlane-Dw8SOBr9.js +343 -0
- package/dist/for-internal-BKf_Tnv1.js +1563 -0
- package/dist/foundations/icon/index.d.ts +68 -2
- package/dist/foundations/icon/index.js +85 -1
- package/dist/foundations/index.d.ts +2 -5
- package/dist/foundations/index.js +2 -5
- package/dist/foundations/interactions/index.d.ts +264 -6
- package/dist/foundations/interactions/index.js +1 -6
- package/dist/foundations/state/index.d.ts +32 -1
- package/dist/foundations/state/index.js +78 -1
- package/dist/foundations/structures/index.d.ts +2 -7
- package/dist/foundations/structures/index.js +2 -7
- package/dist/foundations/utilities/index.d.ts +2 -6
- package/dist/foundations/utilities/index.js +2 -5
- package/dist/fx/index.d.ts +190 -3
- package/dist/fx/index.js +454 -4
- package/dist/index-31Uoz_NS.d.ts +239 -0
- package/dist/index-Bki2rqcr.d.ts +233 -0
- package/dist/index-BnU0NPwM.d.ts +101 -0
- package/dist/index-D73jgYx1.d.ts +48 -0
- package/dist/{runtime/runtime.d.ts → index-R2JJIbM-.d.ts} +31 -9
- package/dist/index-SJXJkssx.d.ts +44 -0
- package/dist/index.d.ts +8 -13
- package/dist/index.js +150 -17
- package/dist/interactions-w7gQN4ha.js +280 -0
- package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -3
- package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -6
- package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -3
- package/dist/jsx-dev-runtime.d.ts +17 -5
- package/dist/jsx-dev-runtime.js +3 -10
- package/dist/jsx-runtime-92bV2hSa.d.ts +34 -0
- package/dist/jsx-runtime-BVVgDSdq.d.ts +1 -0
- package/dist/jsx-runtime.d.ts +3 -22
- package/dist/jsx-runtime.js +17 -20
- package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-D9va7GOU.js} +9 -11
- package/dist/navigate-BVDCzOuB.d.ts +34 -0
- package/dist/navigate-CmPLSXyw.js +1449 -0
- package/dist/{runtime/portal.js → portal-CyU3Ucf2.js} +124 -35
- package/dist/query-registry-CQIT4mXr.js +73 -0
- package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -8
- package/dist/renderer-DzPjeLby.js +6197 -0
- package/dist/resource-operation-CEzfpnDk.js +276 -0
- package/dist/resources/index.d.ts +42 -3
- package/dist/resources/index.js +3 -4
- package/dist/{common/route-activity.js → route-activity-CNJfpwx-.js} +1 -3
- package/dist/route-matching-vJpvLVbX.js +515 -0
- package/dist/router/index.d.ts +166 -14
- package/dist/router/index.js +150 -12
- package/dist/{common/router.d.ts → router-CeYvjj5_.d.ts} +72 -29
- package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -3
- package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -4
- package/dist/{runtime/selector.js → selector-DafVYzV4.js} +35 -20
- package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -3
- package/dist/ssg/index.d.ts +252 -4
- package/dist/ssg/index.js +857 -1
- package/dist/ssr/index.d.ts +225 -8
- package/dist/ssr/index.js +3 -6
- package/dist/{common/ssr.js → ssr-CbQO5xd3.js} +1 -3
- package/dist/ssr-D3t80Rc0.js +1413 -0
- package/dist/{runtime/state.js → state-DPl8lffD.js} +4 -8
- package/dist/structures-DUB3HchX.js +221 -0
- package/dist/testing/index.d.ts +4 -4
- package/dist/testing/index.js +2 -7
- package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -6
- package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -3
- package/dist/{ssr/verify-hydration.js → verify-hydration-io9ahUeq.js} +2 -4
- package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -4
- package/package.json +63 -45
- package/dist/bench/components/benchmark-row.d.ts +0 -20
- package/dist/bench/components/benchmark-row.d.ts.map +0 -1
- package/dist/bench/components/benchmark-row.js +0 -42
- package/dist/bench/components/benchmark-row.js.map +0 -1
- package/dist/bench/components/benchmark-table.js +0 -25
- package/dist/bench/components/benchmark-table.js.map +0 -1
- package/dist/benchmark.d.ts.map +0 -1
- package/dist/benchmark.js.map +0 -1
- package/dist/bin/askr-ssg.d.ts +0 -28
- package/dist/bin/askr-ssg.d.ts.map +0 -1
- package/dist/bin/askr-ssg.js +0 -171
- package/dist/bin/askr-ssg.js.map +0 -1
- package/dist/boot/hydration.js +0 -140
- package/dist/boot/hydration.js.map +0 -1
- package/dist/boot/index.d.ts.map +0 -1
- package/dist/boot/index.js.map +0 -1
- package/dist/boot/root-lifecycle.d.ts +0 -15
- package/dist/boot/root-lifecycle.d.ts.map +0 -1
- package/dist/boot/root-lifecycle.js +0 -205
- package/dist/boot/root-lifecycle.js.map +0 -1
- package/dist/boot/route-startup.js +0 -45
- package/dist/boot/route-startup.js.map +0 -1
- package/dist/boot/types.d.ts +0 -62
- package/dist/boot/types.d.ts.map +0 -1
- package/dist/common/attr-names.js.map +0 -1
- package/dist/common/component.d.ts +0 -19
- package/dist/common/component.d.ts.map +0 -1
- package/dist/common/control.d.ts +0 -13
- package/dist/common/control.d.ts.map +0 -1
- package/dist/common/control.js.map +0 -1
- package/dist/common/env.js +0 -47
- package/dist/common/env.js.map +0 -1
- package/dist/common/error-boundary.d.ts +0 -16
- package/dist/common/error-boundary.d.ts.map +0 -1
- package/dist/common/invariant.js +0 -17
- package/dist/common/invariant.js.map +0 -1
- package/dist/common/jsx.d.ts +0 -23
- package/dist/common/jsx.d.ts.map +0 -1
- package/dist/common/jsx.js.map +0 -1
- package/dist/common/logger.js +0 -36
- package/dist/common/logger.js.map +0 -1
- package/dist/common/promise.js +0 -8
- package/dist/common/promise.js.map +0 -1
- package/dist/common/props.d.ts.map +0 -1
- package/dist/common/render-context.js.map +0 -1
- package/dist/common/route-activity.js.map +0 -1
- package/dist/common/router-internal.js.map +0 -1
- package/dist/common/router.d.ts.map +0 -1
- package/dist/common/ssr-errors.d.ts +0 -11
- package/dist/common/ssr-errors.d.ts.map +0 -1
- package/dist/common/ssr-errors.js +0 -16
- package/dist/common/ssr-errors.js.map +0 -1
- package/dist/common/ssr.d.ts +0 -42
- package/dist/common/ssr.d.ts.map +0 -1
- package/dist/common/ssr.js.map +0 -1
- package/dist/common/vnode.d.ts +0 -22
- package/dist/common/vnode.d.ts.map +0 -1
- package/dist/common/vnode.js.map +0 -1
- package/dist/components/error-boundary.d.ts +0 -15
- package/dist/components/error-boundary.d.ts.map +0 -1
- package/dist/components/error-boundary.js +0 -43
- package/dist/components/error-boundary.js.map +0 -1
- package/dist/components/link.d.ts +0 -68
- package/dist/components/link.d.ts.map +0 -1
- package/dist/components/link.js +0 -76
- package/dist/components/link.js.map +0 -1
- package/dist/control/case.d.ts +0 -19
- package/dist/control/case.d.ts.map +0 -1
- package/dist/control/case.js +0 -70
- package/dist/control/case.js.map +0 -1
- package/dist/control/for.d.ts +0 -24
- package/dist/control/for.d.ts.map +0 -1
- package/dist/control/for.js +0 -63
- package/dist/control/for.js.map +0 -1
- package/dist/control/shared.d.ts +0 -9
- package/dist/control/shared.d.ts.map +0 -1
- package/dist/control/shared.js +0 -20
- package/dist/control/shared.js.map +0 -1
- package/dist/control/show.d.ts +0 -15
- package/dist/control/show.d.ts.map +0 -1
- package/dist/control/show.js +0 -34
- package/dist/control/show.js.map +0 -1
- package/dist/data/data-runtime.d.ts +0 -28
- package/dist/data/data-runtime.d.ts.map +0 -1
- package/dist/data/data-runtime.js.map +0 -1
- package/dist/data/invalidation-listeners.js.map +0 -1
- package/dist/data/invalidation.d.ts +0 -9
- package/dist/data/invalidation.d.ts.map +0 -1
- package/dist/data/invalidation.js +0 -27
- package/dist/data/invalidation.js.map +0 -1
- package/dist/data/mutation-cell.d.ts +0 -28
- package/dist/data/mutation-cell.d.ts.map +0 -1
- package/dist/data/mutation-cell.js +0 -132
- package/dist/data/mutation-cell.js.map +0 -1
- package/dist/data/query-cell.d.ts +0 -46
- package/dist/data/query-cell.d.ts.map +0 -1
- package/dist/data/query-cell.js +0 -290
- package/dist/data/query-cell.js.map +0 -1
- package/dist/data/query-key.js +0 -42
- package/dist/data/query-key.js.map +0 -1
- package/dist/data/shared.js +0 -21
- package/dist/data/shared.js.map +0 -1
- package/dist/data/testing.js +0 -2
- package/dist/data/types.d.ts +0 -161
- package/dist/data/types.d.ts.map +0 -1
- package/dist/foundations/icon/icon.d.ts +0 -53
- package/dist/foundations/icon/icon.d.ts.map +0 -1
- package/dist/foundations/icon/icon.js +0 -88
- package/dist/foundations/icon/icon.js.map +0 -1
- package/dist/foundations/icon/icon.types.d.ts +0 -22
- package/dist/foundations/icon/icon.types.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.d.ts +0 -72
- package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.js +0 -26
- package/dist/foundations/interactions/dismissable.js.map +0 -1
- package/dist/foundations/interactions/focusable.d.ts +0 -22
- package/dist/foundations/interactions/focusable.d.ts.map +0 -1
- package/dist/foundations/interactions/focusable.js +0 -18
- package/dist/foundations/interactions/focusable.js.map +0 -1
- package/dist/foundations/interactions/hoverable.d.ts +0 -26
- package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
- package/dist/foundations/interactions/hoverable.js +0 -15
- package/dist/foundations/interactions/hoverable.js.map +0 -1
- package/dist/foundations/interactions/interaction-policy.d.ts +0 -50
- package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
- package/dist/foundations/interactions/interaction-policy.js +0 -122
- package/dist/foundations/interactions/interaction-policy.js.map +0 -1
- package/dist/foundations/interactions/pressable.d.ts +0 -61
- package/dist/foundations/interactions/pressable.d.ts.map +0 -1
- package/dist/foundations/interactions/pressable.js +0 -51
- package/dist/foundations/interactions/pressable.js.map +0 -1
- package/dist/foundations/interactions/roving-focus.d.ts +0 -52
- package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
- package/dist/foundations/interactions/roving-focus.js +0 -71
- package/dist/foundations/interactions/roving-focus.js.map +0 -1
- package/dist/foundations/state/controllable.d.ts +0 -33
- package/dist/foundations/state/controllable.d.ts.map +0 -1
- package/dist/foundations/state/controllable.js +0 -82
- package/dist/foundations/state/controllable.js.map +0 -1
- package/dist/foundations/structures/collection.d.ts +0 -52
- package/dist/foundations/structures/collection.d.ts.map +0 -1
- package/dist/foundations/structures/collection.js +0 -51
- package/dist/foundations/structures/collection.js.map +0 -1
- package/dist/foundations/structures/layer.d.ts +0 -81
- package/dist/foundations/structures/layer.d.ts.map +0 -1
- package/dist/foundations/structures/layer.js +0 -81
- package/dist/foundations/structures/layer.js.map +0 -1
- package/dist/foundations/structures/layout.d.ts +0 -33
- package/dist/foundations/structures/layout.d.ts.map +0 -1
- package/dist/foundations/structures/layout.js +0 -13
- package/dist/foundations/structures/layout.js.map +0 -1
- package/dist/foundations/structures/portal.d.ts +0 -2
- package/dist/foundations/structures/portal.js +0 -3
- package/dist/foundations/structures/presence.d.ts +0 -37
- package/dist/foundations/structures/presence.d.ts.map +0 -1
- package/dist/foundations/structures/presence.js +0 -39
- package/dist/foundations/structures/presence.js.map +0 -1
- package/dist/foundations/structures/slot.d.ts +0 -35
- package/dist/foundations/structures/slot.d.ts.map +0 -1
- package/dist/foundations/structures/slot.js +0 -41
- package/dist/foundations/structures/slot.js.map +0 -1
- package/dist/foundations/utilities/aria.d.ts +0 -16
- package/dist/foundations/utilities/aria.d.ts.map +0 -1
- package/dist/foundations/utilities/aria.js +0 -17
- package/dist/foundations/utilities/aria.js.map +0 -1
- package/dist/foundations/utilities/compose-handlers.d.ts +0 -37
- package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-handlers.js +0 -20
- package/dist/foundations/utilities/compose-handlers.js.map +0 -1
- package/dist/foundations/utilities/compose-ref.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-ref.js +0 -18
- package/dist/foundations/utilities/compose-ref.js.map +0 -1
- package/dist/foundations/utilities/event-types.d.ts +0 -20
- package/dist/foundations/utilities/event-types.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.d.ts +0 -5
- package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.js +0 -49
- package/dist/foundations/utilities/merge-props.js.map +0 -1
- package/dist/foundations/utilities/use-id.d.ts +0 -32
- package/dist/foundations/utilities/use-id.d.ts.map +0 -1
- package/dist/foundations/utilities/use-id.js.map +0 -1
- package/dist/fx/fx.d.ts +0 -33
- package/dist/fx/fx.d.ts.map +0 -1
- package/dist/fx/fx.js +0 -213
- package/dist/fx/fx.js.map +0 -1
- package/dist/fx/noop.js +0 -9
- package/dist/fx/noop.js.map +0 -1
- package/dist/fx/timing.d.ts +0 -159
- package/dist/fx/timing.d.ts.map +0 -1
- package/dist/fx/timing.js +0 -243
- package/dist/fx/timing.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jsx/index.d.ts +0 -2
- package/dist/jsx/index.js +0 -4
- package/dist/jsx/types.d.ts.map +0 -1
- package/dist/jsx/types.js +0 -2
- package/dist/jsx/utils.d.ts +0 -5
- package/dist/jsx/utils.d.ts.map +0 -1
- package/dist/jsx/utils.js +0 -19
- package/dist/jsx/utils.js.map +0 -1
- package/dist/jsx-dev-runtime.d.ts.map +0 -1
- package/dist/jsx-dev-runtime.js.map +0 -1
- package/dist/jsx-runtime.d.ts.map +0 -1
- package/dist/jsx-runtime.js.map +0 -1
- package/dist/jsx-runtime2.d.ts +0 -3
- package/dist/jsx-runtime2.js +0 -4
- package/dist/renderer/attributes.js +0 -232
- package/dist/renderer/attributes.js.map +0 -1
- package/dist/renderer/boundaries.js +0 -266
- package/dist/renderer/boundaries.js.map +0 -1
- package/dist/renderer/child-shape.js +0 -85
- package/dist/renderer/child-shape.js.map +0 -1
- package/dist/renderer/children-fastpath.js +0 -149
- package/dist/renderer/children-fastpath.js.map +0 -1
- package/dist/renderer/children.js +0 -160
- package/dist/renderer/children.js.map +0 -1
- package/dist/renderer/cleanup.js +0 -210
- package/dist/renderer/cleanup.js.map +0 -1
- package/dist/renderer/component-host-cleanup.js +0 -68
- package/dist/renderer/component-host-cleanup.js.map +0 -1
- package/dist/renderer/component-host-instances.js +0 -65
- package/dist/renderer/component-host-instances.js.map +0 -1
- package/dist/renderer/component-host.js +0 -247
- package/dist/renderer/component-host.js.map +0 -1
- package/dist/renderer/dom-host.js +0 -13
- package/dist/renderer/dom-host.js.map +0 -1
- package/dist/renderer/dom-internal.js +0 -186
- package/dist/renderer/dom-internal.js.map +0 -1
- package/dist/renderer/dom.js +0 -10
- package/dist/renderer/element-children.js +0 -279
- package/dist/renderer/element-children.js.map +0 -1
- package/dist/renderer/env.js +0 -2
- package/dist/renderer/error-boundary-dom.js +0 -78
- package/dist/renderer/error-boundary-dom.js.map +0 -1
- package/dist/renderer/evaluate-dom-range.js +0 -85
- package/dist/renderer/evaluate-dom-range.js.map +0 -1
- package/dist/renderer/evaluate-reconcile.js +0 -282
- package/dist/renderer/evaluate-reconcile.js.map +0 -1
- package/dist/renderer/evaluate.js +0 -84
- package/dist/renderer/evaluate.js.map +0 -1
- package/dist/renderer/fastpath.js +0 -150
- package/dist/renderer/fastpath.js.map +0 -1
- package/dist/renderer/for-commit-dom-map.js +0 -83
- package/dist/renderer/for-commit-dom-map.js.map +0 -1
- package/dist/renderer/for-commit-removal.js +0 -36
- package/dist/renderer/for-commit-removal.js.map +0 -1
- package/dist/renderer/for-commit-reorder.js +0 -89
- package/dist/renderer/for-commit-reorder.js.map +0 -1
- package/dist/renderer/for-commit.js +0 -314
- package/dist/renderer/for-commit.js.map +0 -1
- package/dist/renderer/index.js +0 -38
- package/dist/renderer/index.js.map +0 -1
- package/dist/renderer/keyed-children.js +0 -32
- package/dist/renderer/keyed-children.js.map +0 -1
- package/dist/renderer/keyed.js +0 -167
- package/dist/renderer/keyed.js.map +0 -1
- package/dist/renderer/namespaces.js +0 -23
- package/dist/renderer/namespaces.js.map +0 -1
- package/dist/renderer/prop-bindings.js +0 -280
- package/dist/renderer/prop-bindings.js.map +0 -1
- package/dist/renderer/reactive-child-dom.js +0 -133
- package/dist/renderer/reactive-child-dom.js.map +0 -1
- package/dist/renderer/reactive-child-sources.js +0 -184
- package/dist/renderer/reactive-child-sources.js.map +0 -1
- package/dist/renderer/reactive-children.js +0 -294
- package/dist/renderer/reactive-children.js.map +0 -1
- package/dist/renderer/reconcile-commit.js +0 -38
- package/dist/renderer/reconcile-commit.js.map +0 -1
- package/dist/renderer/reconcile-fastpaths.js +0 -107
- package/dist/renderer/reconcile-fastpaths.js.map +0 -1
- package/dist/renderer/reconcile-resolution.js +0 -187
- package/dist/renderer/reconcile-resolution.js.map +0 -1
- package/dist/renderer/reconcile.js +0 -39
- package/dist/renderer/reconcile.js.map +0 -1
- package/dist/renderer/retained-element-rollback.js +0 -277
- package/dist/renderer/retained-element-rollback.js.map +0 -1
- package/dist/renderer/stable-patch.js +0 -81
- package/dist/renderer/stable-patch.js.map +0 -1
- package/dist/renderer/static-reuse.js +0 -96
- package/dist/renderer/static-reuse.js.map +0 -1
- package/dist/renderer/types.js +0 -2
- package/dist/renderer/utils.js +0 -256
- package/dist/renderer/utils.js.map +0 -1
- package/dist/router/access.js +0 -36
- package/dist/router/access.js.map +0 -1
- package/dist/router/activity.d.ts +0 -10
- package/dist/router/activity.d.ts.map +0 -1
- package/dist/router/activity.js +0 -87
- package/dist/router/activity.js.map +0 -1
- package/dist/router/authoring.d.ts +0 -22
- package/dist/router/authoring.d.ts.map +0 -1
- package/dist/router/authoring.js +0 -198
- package/dist/router/authoring.js.map +0 -1
- package/dist/router/internal-types.d.ts +0 -31
- package/dist/router/internal-types.d.ts.map +0 -1
- package/dist/router/lazy.d.ts +0 -19
- package/dist/router/lazy.d.ts.map +0 -1
- package/dist/router/lazy.js +0 -52
- package/dist/router/lazy.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -10
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -49
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match.js +0 -122
- package/dist/router/match.js.map +0 -1
- package/dist/router/navigate.d.ts +0 -11
- package/dist/router/navigate.d.ts.map +0 -1
- package/dist/router/navigate.js +0 -76
- package/dist/router/navigate.js.map +0 -1
- package/dist/router/navigation-registry.d.ts +0 -32
- package/dist/router/navigation-registry.d.ts.map +0 -1
- package/dist/router/navigation-registry.js +0 -105
- package/dist/router/navigation-registry.js.map +0 -1
- package/dist/router/navigation-scroll.d.ts +0 -14
- package/dist/router/navigation-scroll.d.ts.map +0 -1
- package/dist/router/navigation-scroll.js +0 -93
- package/dist/router/navigation-scroll.js.map +0 -1
- package/dist/router/navigation-targets.d.ts +0 -31
- package/dist/router/navigation-targets.d.ts.map +0 -1
- package/dist/router/navigation-targets.js +0 -255
- package/dist/router/navigation-targets.js.map +0 -1
- package/dist/router/policy.d.ts +0 -28
- package/dist/router/policy.d.ts.map +0 -1
- package/dist/router/policy.js +0 -132
- package/dist/router/policy.js.map +0 -1
- package/dist/router/rendering.d.ts +0 -10
- package/dist/router/rendering.d.ts.map +0 -1
- package/dist/router/rendering.js +0 -46
- package/dist/router/rendering.js.map +0 -1
- package/dist/router/resolution.d.ts +0 -4
- package/dist/router/resolution.d.ts.map +0 -1
- package/dist/router/resolution.js +0 -86
- package/dist/router/resolution.js.map +0 -1
- package/dist/router/route-context.js +0 -79
- package/dist/router/route-context.js.map +0 -1
- package/dist/router/route-matching.d.ts +0 -20
- package/dist/router/route-matching.d.ts.map +0 -1
- package/dist/router/route-matching.js +0 -175
- package/dist/router/route-matching.js.map +0 -1
- package/dist/router/route-query.d.ts +0 -17
- package/dist/router/route-query.d.ts.map +0 -1
- package/dist/router/route-query.js +0 -47
- package/dist/router/route-query.js.map +0 -1
- package/dist/router/route.d.ts +0 -8
- package/dist/router/route.js +0 -10
- package/dist/router/store.d.ts +0 -50
- package/dist/router/store.d.ts.map +0 -1
- package/dist/router/store.js +0 -171
- package/dist/router/store.js.map +0 -1
- package/dist/router/testing.js +0 -4
- package/dist/runtime/access.d.ts +0 -20
- package/dist/runtime/access.d.ts.map +0 -1
- package/dist/runtime/access.js +0 -45
- package/dist/runtime/access.js.map +0 -1
- package/dist/runtime/child-scope.d.ts +0 -22
- package/dist/runtime/child-scope.d.ts.map +0 -1
- package/dist/runtime/child-scope.js +0 -87
- package/dist/runtime/child-scope.js.map +0 -1
- package/dist/runtime/component-cleanup.d.ts +0 -16
- package/dist/runtime/component-cleanup.d.ts.map +0 -1
- package/dist/runtime/component-cleanup.js +0 -70
- package/dist/runtime/component-cleanup.js.map +0 -1
- package/dist/runtime/component-commit.js +0 -165
- package/dist/runtime/component-commit.js.map +0 -1
- package/dist/runtime/component-facade.d.ts +0 -5
- package/dist/runtime/component-facade.js +0 -4
- package/dist/runtime/component-internal.d.ts +0 -100
- package/dist/runtime/component-internal.d.ts.map +0 -1
- package/dist/runtime/component-internal.js +0 -219
- package/dist/runtime/component-internal.js.map +0 -1
- package/dist/runtime/component-lifecycle.d.ts +0 -49
- package/dist/runtime/component-lifecycle.d.ts.map +0 -1
- package/dist/runtime/component-lifecycle.js +0 -176
- package/dist/runtime/component-lifecycle.js.map +0 -1
- package/dist/runtime/component-scope.d.ts +0 -55
- package/dist/runtime/component-scope.d.ts.map +0 -1
- package/dist/runtime/component-scope.js.map +0 -1
- package/dist/runtime/component.d.ts +0 -5
- package/dist/runtime/component.js +0 -5
- package/dist/runtime/context.d.ts +0 -69
- package/dist/runtime/context.d.ts.map +0 -1
- package/dist/runtime/context.js +0 -210
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/control.d.ts +0 -43
- package/dist/runtime/control.d.ts.map +0 -1
- package/dist/runtime/control.js +0 -126
- package/dist/runtime/control.js.map +0 -1
- package/dist/runtime/derive.d.ts +0 -17
- package/dist/runtime/derive.d.ts.map +0 -1
- package/dist/runtime/derive.js +0 -142
- package/dist/runtime/derive.js.map +0 -1
- package/dist/runtime/dev-namespace.d.ts +0 -31
- package/dist/runtime/dev-namespace.d.ts.map +0 -1
- package/dist/runtime/dev-namespace.js +0 -57
- package/dist/runtime/dev-namespace.js.map +0 -1
- package/dist/runtime/effect.d.ts +0 -32
- package/dist/runtime/effect.d.ts.map +0 -1
- package/dist/runtime/effect.js +0 -177
- package/dist/runtime/effect.js.map +0 -1
- package/dist/runtime/error-boundary.d.ts +0 -5
- package/dist/runtime/error-boundary.d.ts.map +0 -1
- package/dist/runtime/error-boundary.js +0 -31
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/events.d.ts +0 -58
- package/dist/runtime/events.d.ts.map +0 -1
- package/dist/runtime/events.js +0 -204
- package/dist/runtime/events.js.map +0 -1
- package/dist/runtime/execution-model.d.ts +0 -7
- package/dist/runtime/execution-model.d.ts.map +0 -1
- package/dist/runtime/execution-model.js +0 -15
- package/dist/runtime/execution-model.js.map +0 -1
- package/dist/runtime/fastlane.d.ts +0 -34
- package/dist/runtime/fastlane.d.ts.map +0 -1
- package/dist/runtime/fastlane.js +0 -175
- package/dist/runtime/fastlane.js.map +0 -1
- package/dist/runtime/for-bench.d.ts +0 -41
- package/dist/runtime/for-bench.d.ts.map +0 -1
- package/dist/runtime/for-bench.js +0 -171
- package/dist/runtime/for-bench.js.map +0 -1
- package/dist/runtime/for-internal.d.ts +0 -43
- package/dist/runtime/for-internal.d.ts.map +0 -1
- package/dist/runtime/for-internal.js +0 -98
- package/dist/runtime/for-internal.js.map +0 -1
- package/dist/runtime/for-reconcile.d.ts +0 -8
- package/dist/runtime/for-reconcile.d.ts.map +0 -1
- package/dist/runtime/for-reconcile.js +0 -389
- package/dist/runtime/for-reconcile.js.map +0 -1
- package/dist/runtime/for-scopes.d.ts +0 -26
- package/dist/runtime/for-scopes.d.ts.map +0 -1
- package/dist/runtime/for-scopes.js +0 -160
- package/dist/runtime/for-scopes.js.map +0 -1
- package/dist/runtime/for-signals.d.ts +0 -30
- package/dist/runtime/for-signals.d.ts.map +0 -1
- package/dist/runtime/for-signals.js +0 -139
- package/dist/runtime/for-signals.js.map +0 -1
- package/dist/runtime/for-types.d.ts +0 -9
- package/dist/runtime/for-types.d.ts.map +0 -1
- package/dist/runtime/for.d.ts +0 -4
- package/dist/runtime/for.js +0 -5
- package/dist/runtime/index.d.ts +0 -24
- package/dist/runtime/index.js +0 -31
- package/dist/runtime/lifecycle-operations.d.ts +0 -31
- package/dist/runtime/lifecycle-operations.d.ts.map +0 -1
- package/dist/runtime/lifecycle-operations.js.map +0 -1
- package/dist/runtime/operations.d.ts +0 -3
- package/dist/runtime/operations.js +0 -3
- package/dist/runtime/perf-metrics.d.ts +0 -26
- package/dist/runtime/perf-metrics.d.ts.map +0 -1
- package/dist/runtime/perf-metrics.js +0 -70
- package/dist/runtime/perf-metrics.js.map +0 -1
- package/dist/runtime/portal.d.ts +0 -22
- package/dist/runtime/portal.d.ts.map +0 -1
- package/dist/runtime/portal.js.map +0 -1
- package/dist/runtime/readable.d.ts +0 -29
- package/dist/runtime/readable.d.ts.map +0 -1
- package/dist/runtime/readable.js +0 -159
- package/dist/runtime/readable.js.map +0 -1
- package/dist/runtime/resource-cell.js +0 -114
- package/dist/runtime/resource-cell.js.map +0 -1
- package/dist/runtime/resource-operation.d.ts +0 -13
- package/dist/runtime/resource-operation.d.ts.map +0 -1
- package/dist/runtime/resource-operation.js +0 -170
- package/dist/runtime/resource-operation.js.map +0 -1
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/runtime.js +0 -59
- package/dist/runtime/runtime.js.map +0 -1
- package/dist/runtime/scheduler.d.ts.map +0 -1
- package/dist/runtime/scheduler.js.map +0 -1
- package/dist/runtime/selector-store.js +0 -24
- package/dist/runtime/selector-store.js.map +0 -1
- package/dist/runtime/selector.d.ts +0 -11
- package/dist/runtime/selector.d.ts.map +0 -1
- package/dist/runtime/selector.js.map +0 -1
- package/dist/runtime/snapshot-source.d.ts +0 -10
- package/dist/runtime/snapshot-source.d.ts.map +0 -1
- package/dist/runtime/snapshot-source.js.map +0 -1
- package/dist/runtime/state.d.ts +0 -55
- package/dist/runtime/state.d.ts.map +0 -1
- package/dist/runtime/state.js.map +0 -1
- package/dist/ssg/batch-render.js +0 -103
- package/dist/ssg/batch-render.js.map +0 -1
- package/dist/ssg/create-static-gen.d.ts +0 -64
- package/dist/ssg/create-static-gen.d.ts.map +0 -1
- package/dist/ssg/create-static-gen.js +0 -199
- package/dist/ssg/create-static-gen.js.map +0 -1
- package/dist/ssg/generate-metadata.js +0 -94
- package/dist/ssg/generate-metadata.js.map +0 -1
- package/dist/ssg/generation-plan.js +0 -70
- package/dist/ssg/generation-plan.js.map +0 -1
- package/dist/ssg/incremental-manifest.js +0 -56
- package/dist/ssg/incremental-manifest.js.map +0 -1
- package/dist/ssg/resolve-ssg-data.js +0 -105
- package/dist/ssg/resolve-ssg-data.js.map +0 -1
- package/dist/ssg/route-utils.js +0 -24
- package/dist/ssg/route-utils.js.map +0 -1
- package/dist/ssg/static-routes.js +0 -102
- package/dist/ssg/static-routes.js.map +0 -1
- package/dist/ssg/types.d.ts +0 -189
- package/dist/ssg/types.d.ts.map +0 -1
- package/dist/ssg/write-static-files.js +0 -73
- package/dist/ssg/write-static-files.js.map +0 -1
- package/dist/ssr/attrs.js +0 -94
- package/dist/ssr/attrs.js.map +0 -1
- package/dist/ssr/boundaries.js +0 -113
- package/dist/ssr/boundaries.js.map +0 -1
- package/dist/ssr/component-runtime.js +0 -111
- package/dist/ssr/component-runtime.js.map +0 -1
- package/dist/ssr/context.d.ts +0 -50
- package/dist/ssr/context.d.ts.map +0 -1
- package/dist/ssr/context.js +0 -91
- package/dist/ssr/context.js.map +0 -1
- package/dist/ssr/errors.d.ts +0 -10
- package/dist/ssr/errors.d.ts.map +0 -1
- package/dist/ssr/errors.js +0 -14
- package/dist/ssr/errors.js.map +0 -1
- package/dist/ssr/escape.js +0 -193
- package/dist/ssr/escape.js.map +0 -1
- package/dist/ssr/hydration-data.js +0 -10
- package/dist/ssr/hydration-data.js.map +0 -1
- package/dist/ssr/hydration-verify.d.ts +0 -12
- package/dist/ssr/hydration-verify.d.ts.map +0 -1
- package/dist/ssr/hydration-verify.js +0 -144
- package/dist/ssr/hydration-verify.js.map +0 -1
- package/dist/ssr/index-internal.d.ts +0 -15
- package/dist/ssr/index-internal.d.ts.map +0 -1
- package/dist/ssr/index-internal.js +0 -19
- package/dist/ssr/index-internal.js.map +0 -1
- package/dist/ssr/render-keys.js +0 -16
- package/dist/ssr/render-keys.js.map +0 -1
- package/dist/ssr/render-resolved.d.ts +0 -20
- package/dist/ssr/render-resolved.d.ts.map +0 -1
- package/dist/ssr/render-resolved.js +0 -35
- package/dist/ssr/render-resolved.js.map +0 -1
- package/dist/ssr/render-sync.d.ts +0 -21
- package/dist/ssr/render-sync.d.ts.map +0 -1
- package/dist/ssr/render-sync.js +0 -275
- package/dist/ssr/render-sync.js.map +0 -1
- package/dist/ssr/route-policy-resolution.js +0 -78
- package/dist/ssr/route-policy-resolution.js.map +0 -1
- package/dist/ssr/route-render.d.ts +0 -77
- package/dist/ssr/route-render.d.ts.map +0 -1
- package/dist/ssr/route-render.js +0 -120
- package/dist/ssr/route-render.js.map +0 -1
- package/dist/ssr/sink.d.ts +0 -26
- package/dist/ssr/sink.d.ts.map +0 -1
- package/dist/ssr/sink.js +0 -86
- package/dist/ssr/sink.js.map +0 -1
- package/dist/ssr/types.d.ts +0 -23
- package/dist/ssr/types.d.ts.map +0 -1
- package/dist/ssr/verify-hydration.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- 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 };
|