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