@askrjs/askr 0.0.50 → 0.0.52
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/dist/bench/components/benchmark-row.d.ts +2 -2
- package/dist/bench/components/benchmark-row.js +0 -2
- package/dist/bench/components/benchmark-table.js +0 -2
- package/dist/benchmark.d.ts +1 -2
- package/dist/benchmark.js +5 -6
- package/dist/bin/askr-ssg.d.ts +1 -2
- package/dist/bin/askr-ssg.js +21 -6
- package/dist/boot/hydration.js +10 -11
- package/dist/boot/index.d.ts +1 -2
- package/dist/boot/index.js +21 -11
- package/dist/boot/root-lifecycle.d.ts +6 -3
- package/dist/boot/root-lifecycle.js +18 -14
- package/dist/boot/route-startup.js +13 -4
- package/dist/boot/types.d.ts +1 -2
- package/dist/common/attr-names.js +0 -2
- package/dist/common/component.d.ts +1 -2
- package/dist/common/control.d.ts +1 -2
- package/dist/common/control.js +0 -2
- package/dist/common/dom-range.d.ts +13 -0
- package/dist/common/env.js +1 -7
- package/dist/common/error-boundary.d.ts +15 -0
- package/dist/common/invariant.js +15 -0
- package/dist/common/jsx.d.ts +1 -2
- package/dist/common/jsx.js +0 -2
- package/dist/{dev → common}/logger.js +5 -8
- package/dist/common/promise.js +0 -2
- package/dist/common/props.d.ts +1 -2
- package/dist/common/render-context.js +0 -2
- package/dist/common/route-activity.js +0 -2
- package/dist/common/router-internal.js +0 -2
- package/dist/common/router.d.ts +1 -2
- package/dist/common/ssr-errors.d.ts +1 -2
- package/dist/common/ssr-errors.js +0 -2
- package/dist/common/ssr.d.ts +1 -2
- package/dist/common/ssr.js +0 -2
- package/dist/common/vnode.d.ts +1 -2
- package/dist/common/vnode.js +0 -2
- package/dist/components/error-boundary.d.ts +2 -16
- package/dist/components/error-boundary.js +2 -76
- package/dist/components/index.d.ts +2 -1
- package/dist/components/link.d.ts +2 -2
- package/dist/components/link.js +2 -2
- package/dist/control/case.d.ts +1 -2
- package/dist/control/case.js +1 -2
- package/dist/control/for.d.ts +3 -4
- package/dist/control/for.js +2 -4
- package/dist/control/shared.d.ts +1 -2
- package/dist/control/shared.js +0 -2
- package/dist/control/show.d.ts +1 -2
- package/dist/control/show.js +1 -2
- package/dist/data/data-runtime.d.ts +1 -2
- package/dist/data/data-runtime.js +3 -5
- package/dist/data/invalidation-listeners.js +0 -2
- package/dist/data/invalidation.d.ts +1 -2
- package/dist/data/invalidation.js +2 -4
- package/dist/data/mutation-cell.d.ts +1 -2
- package/dist/data/mutation-cell.js +7 -6
- package/dist/data/query-cell.d.ts +3 -2
- package/dist/data/query-cell.js +45 -11
- package/dist/data/query-key.js +0 -2
- package/dist/data/shared.js +3 -3
- package/dist/data/testing.js +2 -0
- package/dist/data/types.d.ts +1 -2
- package/dist/foundations/icon/icon.d.ts +1 -2
- package/dist/foundations/icon/icon.js +0 -2
- package/dist/foundations/icon/icon.types.d.ts +1 -2
- package/dist/foundations/index.d.ts +1 -1
- package/dist/foundations/index.js +1 -1
- package/dist/foundations/interactions/dismissable.d.ts +1 -2
- package/dist/foundations/interactions/dismissable.js +0 -2
- package/dist/foundations/interactions/focusable.d.ts +1 -2
- package/dist/foundations/interactions/focusable.js +0 -2
- package/dist/foundations/interactions/hoverable.d.ts +1 -2
- package/dist/foundations/interactions/hoverable.js +0 -2
- package/dist/foundations/interactions/interaction-policy.d.ts +1 -2
- package/dist/foundations/interactions/interaction-policy.js +0 -2
- package/dist/foundations/interactions/pressable.d.ts +1 -2
- package/dist/foundations/interactions/pressable.js +0 -2
- package/dist/foundations/interactions/roving-focus.d.ts +1 -2
- package/dist/foundations/interactions/roving-focus.js +0 -2
- package/dist/foundations/state/controllable.d.ts +1 -3
- package/dist/foundations/state/controllable.js +1 -2
- package/dist/foundations/structures/collection.d.ts +1 -2
- package/dist/foundations/structures/collection.js +0 -2
- package/dist/foundations/structures/index.d.ts +1 -1
- package/dist/foundations/structures/index.js +2 -1
- package/dist/foundations/structures/layer.d.ts +1 -2
- package/dist/foundations/structures/layer.js +0 -2
- package/dist/foundations/structures/layout.d.ts +1 -2
- package/dist/foundations/structures/layout.js +0 -2
- package/dist/foundations/structures/portal.d.ts +2 -24
- package/dist/foundations/structures/portal.js +3 -187
- package/dist/foundations/structures/presence.d.ts +1 -2
- package/dist/foundations/structures/presence.js +0 -2
- package/dist/foundations/structures/slot.d.ts +1 -2
- package/dist/foundations/structures/slot.js +0 -2
- package/dist/foundations/utilities/aria.d.ts +1 -2
- package/dist/foundations/utilities/aria.js +0 -2
- package/dist/foundations/utilities/compose-handlers.d.ts +1 -2
- package/dist/foundations/utilities/compose-handlers.js +0 -2
- package/dist/foundations/utilities/compose-ref.d.ts +1 -2
- package/dist/foundations/utilities/compose-ref.js +0 -2
- package/dist/foundations/utilities/event-types.d.ts +1 -2
- package/dist/foundations/utilities/merge-props.d.ts +1 -2
- package/dist/foundations/utilities/merge-props.js +0 -2
- package/dist/foundations/utilities/use-id.d.ts +1 -2
- package/dist/foundations/utilities/use-id.js +0 -2
- package/dist/fx/fx.d.ts +1 -2
- package/dist/fx/fx.js +2 -4
- package/dist/fx/index.js +1 -0
- package/dist/fx/noop.js +0 -2
- package/dist/fx/timing.d.ts +1 -2
- package/dist/fx/timing.js +0 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -6
- package/dist/jsx/types.d.ts +1 -2
- package/dist/jsx/utils.d.ts +1 -2
- package/dist/jsx/utils.js +0 -2
- package/dist/jsx-dev-runtime.d.ts +16 -2
- package/dist/jsx-dev-runtime.js +4 -12
- package/dist/jsx-runtime.d.ts +16 -2
- package/dist/jsx-runtime.js +16 -24
- package/dist/jsx-runtime2.d.ts +1 -1
- package/dist/renderer/attributes.js +29 -6
- package/dist/renderer/boundaries.js +50 -174
- package/dist/renderer/boundary-materialization.js +72 -0
- package/dist/renderer/boundary-range-adoption.js +76 -0
- package/dist/renderer/boundary-range-sync.js +101 -0
- package/dist/renderer/boundary-state.js +50 -0
- package/dist/renderer/child-shape.js +2 -4
- package/dist/renderer/children-fastpath.js +149 -0
- package/dist/renderer/children.js +3 -140
- package/dist/renderer/cleanup.js +72 -15
- package/dist/renderer/component-host-cleanup.js +124 -49
- package/dist/renderer/component-host-instances.js +60 -9
- package/dist/renderer/component-host-replacement.js +105 -0
- package/dist/renderer/component-host-results.js +138 -0
- package/dist/renderer/component-host.js +95 -170
- package/dist/renderer/dom-host.js +0 -2
- package/dist/renderer/dom-internal.js +115 -57
- package/dist/renderer/dom-range.js +161 -0
- package/dist/renderer/dom.js +7 -5
- package/dist/renderer/element-children.js +112 -32
- package/dist/renderer/error-boundary-dom.js +70 -13
- package/dist/renderer/evaluate-dom-range.js +3 -4
- package/dist/renderer/evaluate-reconcile.js +18 -42
- package/dist/renderer/evaluate.js +14 -3
- package/dist/renderer/fastpath.js +7 -14
- package/dist/renderer/for-commit-dom-map.js +6 -18
- package/dist/renderer/for-commit-removal.js +8 -17
- package/dist/renderer/for-commit-reorder.js +2 -4
- package/dist/renderer/for-commit.js +173 -45
- package/dist/renderer/hydration-boundaries.js +60 -0
- package/dist/renderer/hydration-listener-transaction.js +49 -0
- package/dist/renderer/index.js +11 -8
- package/dist/renderer/intrinsic-blueprint-analysis.js +202 -0
- package/dist/renderer/intrinsic-blueprint-bindings.js +152 -0
- package/dist/renderer/intrinsic-blueprint-materialization.js +100 -0
- package/dist/renderer/intrinsic-blueprint.js +30 -0
- package/dist/renderer/intrinsic-hydration-adoption.js +66 -0
- package/dist/renderer/keyed-children.js +3 -9
- package/dist/renderer/keyed.js +10 -10
- package/dist/renderer/namespaces.js +0 -2
- package/dist/renderer/prop-bindings.js +59 -24
- package/dist/renderer/reactive-child-dom.js +10 -4
- package/dist/renderer/reactive-child-sources.js +0 -2
- package/dist/renderer/reactive-children.js +33 -24
- package/dist/renderer/reconcile-commit.js +0 -2
- package/dist/renderer/reconcile-fastpaths.js +6 -12
- package/dist/renderer/reconcile-resolution.js +32 -56
- package/dist/renderer/reconcile.js +0 -2
- package/dist/renderer/retained-element-rollback.js +161 -149
- package/dist/renderer/stable-patch.js +5 -7
- package/dist/renderer/static-reuse.js +0 -2
- package/dist/renderer/utils.js +20 -10
- package/dist/resources/index.js +1 -2
- package/dist/router/access.js +0 -2
- package/dist/router/activity.d.ts +1 -2
- package/dist/router/activity.js +20 -24
- package/dist/router/authoring.d.ts +1 -2
- package/dist/router/authoring.js +1 -3
- package/dist/router/index.d.ts +1 -1
- package/dist/router/internal-types.d.ts +1 -2
- package/dist/router/lazy.d.ts +1 -2
- package/dist/router/lazy.js +0 -2
- package/dist/router/manifest.d.ts +1 -2
- package/dist/router/manifest.js +0 -2
- package/dist/router/match.js +0 -2
- package/dist/router/navigate.d.ts +1 -2
- package/dist/router/navigate.js +5 -8
- package/dist/router/navigation-registry.d.ts +1 -2
- package/dist/router/navigation-registry.js +1 -3
- package/dist/router/navigation-scroll.d.ts +1 -2
- package/dist/router/navigation-scroll.js +0 -2
- package/dist/router/navigation-targets.d.ts +3 -4
- package/dist/router/navigation-targets.js +425 -44
- package/dist/router/policy.d.ts +1 -2
- package/dist/router/policy.js +0 -2
- package/dist/router/rendering.d.ts +1 -2
- package/dist/router/rendering.js +5 -3
- package/dist/router/resolution.d.ts +2 -16
- package/dist/router/resolution.js +6 -175
- package/dist/router/route-context.js +0 -2
- package/dist/router/route-matching.d.ts +19 -0
- package/dist/router/route-matching.js +173 -0
- package/dist/router/route-query.d.ts +1 -2
- package/dist/router/route-query.js +1 -3
- package/dist/router/route.js +4 -2
- package/dist/router/store.d.ts +1 -2
- package/dist/router/store.js +0 -2
- package/dist/router/testing.js +4 -0
- package/dist/runtime/access.d.ts +19 -0
- package/dist/runtime/access.js +0 -2
- package/dist/runtime/child-scope.d.ts +21 -2
- package/dist/runtime/child-scope.js +101 -54
- package/dist/runtime/component-cleanup.d.ts +1 -2
- package/dist/runtime/component-cleanup.js +3 -5
- package/dist/runtime/component-commit.js +26 -24
- package/dist/runtime/component-facade.js +5 -3
- package/dist/runtime/component-internal.d.ts +12 -7
- package/dist/runtime/component-internal.js +64 -46
- package/dist/runtime/component-lifecycle.d.ts +2 -41
- package/dist/runtime/component-lifecycle.js +6 -149
- package/dist/runtime/component-scope.d.ts +4 -5
- package/dist/runtime/component-scope.js +27 -8
- package/dist/runtime/component.js +4 -3
- package/dist/runtime/context.d.ts +5 -2
- package/dist/runtime/context.js +29 -3
- package/dist/runtime/control.d.ts +22 -3
- package/dist/runtime/control.js +168 -55
- package/dist/runtime/derive.d.ts +1 -2
- package/dist/runtime/derive.js +0 -2
- package/dist/runtime/dev-namespace.d.ts +30 -0
- package/dist/runtime/dev-namespace.js +32 -25
- package/dist/runtime/effect.d.ts +8 -5
- package/dist/runtime/effect.js +158 -75
- package/dist/runtime/error-boundary.d.ts +4 -0
- package/dist/runtime/error-boundary.js +29 -0
- package/dist/runtime/events.d.ts +58 -0
- package/dist/runtime/events.js +67 -70
- package/dist/runtime/execution-model.d.ts +6 -0
- package/dist/runtime/execution-model.js +0 -2
- package/dist/runtime/fastlane.d.ts +33 -0
- package/dist/runtime/fastlane.js +0 -2
- package/dist/runtime/for-bench.d.ts +1 -2
- package/dist/runtime/for-bench.js +9 -167
- package/dist/runtime/for-internal.d.ts +73 -10
- package/dist/runtime/for-internal.js +201 -14
- package/dist/runtime/for-reconcile.d.ts +1 -2
- package/dist/runtime/for-reconcile.js +76 -23
- package/dist/runtime/for-scopes.d.ts +5 -5
- package/dist/runtime/for-scopes.js +168 -48
- package/dist/runtime/for-signals.d.ts +14 -5
- package/dist/runtime/for-signals.js +157 -83
- package/dist/runtime/for-types.d.ts +8 -0
- package/dist/runtime/for.d.ts +2 -2
- package/dist/runtime/for.js +3 -3
- package/dist/runtime/index.d.ts +24 -0
- package/dist/runtime/index.js +33 -0
- package/dist/runtime/lifecycle-batch.d.ts +59 -0
- package/dist/runtime/lifecycle-batch.js +178 -0
- package/dist/runtime/lifecycle-operation-settlement.d.ts +5 -0
- package/dist/runtime/lifecycle-operation-settlement.js +51 -0
- package/dist/runtime/lifecycle-operations.d.ts +1 -2
- package/dist/runtime/lifecycle-operations.js +5 -6
- package/dist/runtime/perf-metrics.d.ts +27 -0
- package/dist/runtime/perf-metrics.js +4 -68
- package/dist/runtime/portal.d.ts +21 -0
- package/dist/runtime/portal.js +305 -0
- package/dist/runtime/readable.d.ts +9 -4
- package/dist/runtime/readable.js +41 -17
- package/dist/runtime/resource-cell.js +3 -5
- package/dist/runtime/resource-operation.d.ts +1 -2
- package/dist/runtime/resource-operation.js +38 -35
- package/dist/runtime/runtime.d.ts +2 -3
- package/dist/runtime/runtime.js +0 -2
- package/dist/runtime/scheduler.d.ts +1 -2
- package/dist/runtime/scheduler.js +10 -13
- package/dist/runtime/selector-store.js +22 -0
- package/dist/runtime/selector.d.ts +1 -2
- package/dist/runtime/selector.js +6 -29
- package/dist/runtime/snapshot-source.d.ts +1 -2
- package/dist/runtime/snapshot-source.js +0 -2
- package/dist/runtime/state.d.ts +1 -2
- package/dist/runtime/state.js +1 -3
- package/dist/ssg/batch-render.js +0 -2
- package/dist/ssg/create-static-gen.d.ts +4 -2
- package/dist/ssg/create-static-gen.js +66 -14
- package/dist/ssg/generate-metadata.js +0 -2
- package/dist/ssg/generation-plan.js +0 -2
- package/dist/ssg/incremental-manifest.js +1 -3
- package/dist/ssg/resolve-ssg-data.js +0 -2
- package/dist/ssg/route-utils.js +0 -2
- package/dist/ssg/static-routes.js +1 -2
- package/dist/ssg/types.d.ts +2 -3
- package/dist/ssg/write-static-files.js +16 -12
- package/dist/ssr/attrs.js +0 -2
- package/dist/ssr/boundaries.js +17 -6
- package/dist/ssr/component-runtime.js +4 -30
- package/dist/ssr/context.d.ts +1 -2
- package/dist/ssr/context.js +0 -2
- package/dist/ssr/errors.d.ts +1 -2
- package/dist/ssr/errors.js +0 -2
- package/dist/ssr/escape.js +0 -2
- package/dist/ssr/hydration-data.js +0 -2
- package/dist/ssr/hydration-verify.d.ts +1 -2
- package/dist/ssr/hydration-verify.js +34 -7
- package/dist/ssr/index-internal.d.ts +1 -2
- package/dist/ssr/index-internal.js +0 -2
- package/dist/ssr/render-keys.js +0 -2
- package/dist/ssr/render-resolved.d.ts +1 -2
- package/dist/ssr/render-resolved.js +1 -3
- package/dist/ssr/render-sync.d.ts +1 -2
- package/dist/ssr/render-sync.js +28 -20
- package/dist/ssr/route-policy-resolution.js +2 -3
- package/dist/ssr/route-render.d.ts +1 -2
- package/dist/ssr/route-render.js +2 -3
- package/dist/ssr/sink.d.ts +1 -2
- package/dist/ssr/sink.js +0 -2
- package/dist/ssr/types.d.ts +1 -2
- package/dist/ssr/verify-hydration.js +0 -2
- package/dist/testing/index.d.ts +1 -2
- package/dist/testing/index.js +3 -4
- package/package.json +60 -47
- package/dist/bench/components/benchmark-row.d.ts.map +0 -1
- package/dist/bench/components/benchmark-row.js.map +0 -1
- 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.map +0 -1
- package/dist/bin/askr-ssg.js.map +0 -1
- 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.map +0 -1
- package/dist/boot/root-lifecycle.js.map +0 -1
- package/dist/boot/route-startup.js.map +0 -1
- package/dist/boot/types.d.ts.map +0 -1
- package/dist/common/attr-names.js.map +0 -1
- package/dist/common/component.d.ts.map +0 -1
- package/dist/common/control.d.ts.map +0 -1
- package/dist/common/control.js.map +0 -1
- package/dist/common/env.js.map +0 -1
- package/dist/common/jsx.d.ts.map +0 -1
- package/dist/common/jsx.js.map +0 -1
- 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.map +0 -1
- package/dist/common/ssr-errors.js.map +0 -1
- package/dist/common/ssr.d.ts.map +0 -1
- package/dist/common/ssr.js.map +0 -1
- package/dist/common/vnode.d.ts.map +0 -1
- package/dist/common/vnode.js.map +0 -1
- package/dist/components/error-boundary.d.ts.map +0 -1
- package/dist/components/error-boundary.js.map +0 -1
- package/dist/components/link.d.ts.map +0 -1
- package/dist/components/link.js.map +0 -1
- package/dist/control/case.d.ts.map +0 -1
- package/dist/control/case.js.map +0 -1
- package/dist/control/for.d.ts.map +0 -1
- package/dist/control/for.js.map +0 -1
- package/dist/control/shared.d.ts.map +0 -1
- package/dist/control/shared.js.map +0 -1
- package/dist/control/show.d.ts.map +0 -1
- package/dist/control/show.js.map +0 -1
- 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.map +0 -1
- package/dist/data/invalidation.js.map +0 -1
- package/dist/data/mutation-cell.d.ts.map +0 -1
- package/dist/data/mutation-cell.js.map +0 -1
- package/dist/data/query-cell.d.ts.map +0 -1
- package/dist/data/query-cell.js.map +0 -1
- package/dist/data/query-key.js.map +0 -1
- package/dist/data/shared.js.map +0 -1
- package/dist/data/types.d.ts.map +0 -1
- package/dist/dev/invariant.js +0 -29
- package/dist/dev/invariant.js.map +0 -1
- package/dist/dev/logger.js.map +0 -1
- package/dist/foundations/icon/icon.d.ts.map +0 -1
- package/dist/foundations/icon/icon.js.map +0 -1
- package/dist/foundations/icon/icon.types.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.js.map +0 -1
- package/dist/foundations/interactions/focusable.d.ts.map +0 -1
- package/dist/foundations/interactions/focusable.js.map +0 -1
- package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
- package/dist/foundations/interactions/hoverable.js.map +0 -1
- package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
- package/dist/foundations/interactions/interaction-policy.js.map +0 -1
- package/dist/foundations/interactions/pressable.d.ts.map +0 -1
- package/dist/foundations/interactions/pressable.js.map +0 -1
- package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
- package/dist/foundations/interactions/roving-focus.js.map +0 -1
- package/dist/foundations/state/controllable.d.ts.map +0 -1
- package/dist/foundations/state/controllable.js.map +0 -1
- package/dist/foundations/structures/collection.d.ts.map +0 -1
- package/dist/foundations/structures/collection.js.map +0 -1
- package/dist/foundations/structures/layer.d.ts.map +0 -1
- package/dist/foundations/structures/layer.js.map +0 -1
- package/dist/foundations/structures/layout.d.ts.map +0 -1
- package/dist/foundations/structures/layout.js.map +0 -1
- package/dist/foundations/structures/portal.d.ts.map +0 -1
- package/dist/foundations/structures/portal.js.map +0 -1
- package/dist/foundations/structures/presence.d.ts.map +0 -1
- package/dist/foundations/structures/presence.js.map +0 -1
- package/dist/foundations/structures/slot.d.ts.map +0 -1
- package/dist/foundations/structures/slot.js.map +0 -1
- package/dist/foundations/utilities/aria.d.ts.map +0 -1
- package/dist/foundations/utilities/aria.js.map +0 -1
- package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/foundations/utilities/event-types.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.js.map +0 -1
- 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.map +0 -1
- package/dist/fx/fx.js.map +0 -1
- package/dist/fx/noop.js.map +0 -1
- package/dist/fx/timing.d.ts.map +0 -1
- package/dist/fx/timing.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jsx/types.d.ts.map +0 -1
- package/dist/jsx/utils.d.ts.map +0 -1
- 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/renderer/attributes.js.map +0 -1
- package/dist/renderer/boundaries.js.map +0 -1
- package/dist/renderer/child-shape.js.map +0 -1
- package/dist/renderer/children.js.map +0 -1
- package/dist/renderer/cleanup.js.map +0 -1
- package/dist/renderer/component-host-cleanup.js.map +0 -1
- package/dist/renderer/component-host-instances.js.map +0 -1
- package/dist/renderer/component-host.js.map +0 -1
- package/dist/renderer/dom-host.js.map +0 -1
- package/dist/renderer/dom-internal.js.map +0 -1
- package/dist/renderer/element-children.js.map +0 -1
- package/dist/renderer/error-boundary-dom.js.map +0 -1
- package/dist/renderer/evaluate-dom-range.js.map +0 -1
- package/dist/renderer/evaluate-reconcile.js.map +0 -1
- package/dist/renderer/evaluate.js.map +0 -1
- package/dist/renderer/fastpath.js.map +0 -1
- package/dist/renderer/for-commit-dom-map.js.map +0 -1
- package/dist/renderer/for-commit-removal.js.map +0 -1
- package/dist/renderer/for-commit-reorder.js.map +0 -1
- package/dist/renderer/for-commit.js.map +0 -1
- package/dist/renderer/index.js.map +0 -1
- package/dist/renderer/keyed-children.js.map +0 -1
- package/dist/renderer/keyed.js.map +0 -1
- package/dist/renderer/namespaces.js.map +0 -1
- package/dist/renderer/prop-bindings.js.map +0 -1
- package/dist/renderer/reactive-child-dom.js.map +0 -1
- package/dist/renderer/reactive-child-sources.js.map +0 -1
- package/dist/renderer/reactive-children.js.map +0 -1
- package/dist/renderer/reconcile-commit.js.map +0 -1
- package/dist/renderer/reconcile-fastpaths.js.map +0 -1
- package/dist/renderer/reconcile-resolution.js.map +0 -1
- package/dist/renderer/reconcile.js.map +0 -1
- package/dist/renderer/retained-element-rollback.js.map +0 -1
- package/dist/renderer/stable-patch.js.map +0 -1
- package/dist/renderer/static-reuse.js.map +0 -1
- package/dist/renderer/utils.js.map +0 -1
- package/dist/router/access.js.map +0 -1
- package/dist/router/activity.d.ts.map +0 -1
- package/dist/router/activity.js.map +0 -1
- package/dist/router/authoring.d.ts.map +0 -1
- package/dist/router/authoring.js.map +0 -1
- package/dist/router/internal-types.d.ts.map +0 -1
- package/dist/router/lazy.d.ts.map +0 -1
- package/dist/router/lazy.js.map +0 -1
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match.js.map +0 -1
- package/dist/router/navigate.d.ts.map +0 -1
- package/dist/router/navigate.js.map +0 -1
- package/dist/router/navigation-registry.d.ts.map +0 -1
- package/dist/router/navigation-registry.js.map +0 -1
- package/dist/router/navigation-scroll.d.ts.map +0 -1
- package/dist/router/navigation-scroll.js.map +0 -1
- package/dist/router/navigation-targets.d.ts.map +0 -1
- package/dist/router/navigation-targets.js.map +0 -1
- package/dist/router/policy.d.ts.map +0 -1
- package/dist/router/policy.js.map +0 -1
- package/dist/router/rendering.d.ts.map +0 -1
- package/dist/router/rendering.js.map +0 -1
- package/dist/router/resolution.d.ts.map +0 -1
- package/dist/router/resolution.js.map +0 -1
- package/dist/router/route-context.js.map +0 -1
- package/dist/router/route-query.d.ts.map +0 -1
- package/dist/router/route-query.js.map +0 -1
- package/dist/router/store.d.ts.map +0 -1
- package/dist/router/store.js.map +0 -1
- package/dist/runtime/access.js.map +0 -1
- package/dist/runtime/child-scope.d.ts.map +0 -1
- package/dist/runtime/child-scope.js.map +0 -1
- package/dist/runtime/component-cleanup.d.ts.map +0 -1
- package/dist/runtime/component-cleanup.js.map +0 -1
- package/dist/runtime/component-commit.js.map +0 -1
- package/dist/runtime/component-contracts.js +0 -5
- package/dist/runtime/component-internal.d.ts.map +0 -1
- package/dist/runtime/component-internal.js.map +0 -1
- package/dist/runtime/component-lifecycle.d.ts.map +0 -1
- package/dist/runtime/component-lifecycle.js.map +0 -1
- package/dist/runtime/component-scope.d.ts.map +0 -1
- package/dist/runtime/component-scope.js.map +0 -1
- package/dist/runtime/context.d.ts.map +0 -1
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/control.d.ts.map +0 -1
- package/dist/runtime/control.js.map +0 -1
- package/dist/runtime/derive.d.ts.map +0 -1
- package/dist/runtime/derive.js.map +0 -1
- package/dist/runtime/dev-namespace.js.map +0 -1
- package/dist/runtime/effect.d.ts.map +0 -1
- package/dist/runtime/effect.js.map +0 -1
- package/dist/runtime/events.js.map +0 -1
- package/dist/runtime/execution-model.js.map +0 -1
- package/dist/runtime/fastlane.js.map +0 -1
- package/dist/runtime/for-bench.d.ts.map +0 -1
- package/dist/runtime/for-bench.js.map +0 -1
- package/dist/runtime/for-internal.d.ts.map +0 -1
- package/dist/runtime/for-internal.js.map +0 -1
- package/dist/runtime/for-reconcile.d.ts.map +0 -1
- package/dist/runtime/for-reconcile.js.map +0 -1
- package/dist/runtime/for-scopes.d.ts.map +0 -1
- package/dist/runtime/for-scopes.js.map +0 -1
- package/dist/runtime/for-signals.d.ts.map +0 -1
- package/dist/runtime/for-signals.js.map +0 -1
- package/dist/runtime/lifecycle-operations.d.ts.map +0 -1
- package/dist/runtime/lifecycle-operations.js.map +0 -1
- package/dist/runtime/perf-metrics.js.map +0 -1
- package/dist/runtime/readable.d.ts.map +0 -1
- package/dist/runtime/readable.js.map +0 -1
- package/dist/runtime/resource-cell.js.map +0 -1
- package/dist/runtime/resource-operation.d.ts.map +0 -1
- package/dist/runtime/resource-operation.js.map +0 -1
- package/dist/runtime/runtime.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- package/dist/runtime/selector.js.map +0 -1
- 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.map +0 -1
- package/dist/runtime/state.js.map +0 -1
- package/dist/ssg/batch-render.js.map +0 -1
- package/dist/ssg/create-static-gen.d.ts.map +0 -1
- package/dist/ssg/create-static-gen.js.map +0 -1
- package/dist/ssg/generate-metadata.js.map +0 -1
- package/dist/ssg/generation-plan.js.map +0 -1
- package/dist/ssg/incremental-manifest.js.map +0 -1
- package/dist/ssg/resolve-ssg-data.js.map +0 -1
- package/dist/ssg/route-utils.js.map +0 -1
- package/dist/ssg/static-routes.js.map +0 -1
- package/dist/ssg/types.d.ts.map +0 -1
- package/dist/ssg/write-static-files.js.map +0 -1
- package/dist/ssr/attrs.js.map +0 -1
- package/dist/ssr/boundaries.js.map +0 -1
- package/dist/ssr/component-runtime.js.map +0 -1
- package/dist/ssr/context.d.ts.map +0 -1
- package/dist/ssr/context.js.map +0 -1
- package/dist/ssr/errors.d.ts.map +0 -1
- package/dist/ssr/errors.js.map +0 -1
- package/dist/ssr/escape.js.map +0 -1
- package/dist/ssr/hydration-data.js.map +0 -1
- package/dist/ssr/hydration-verify.d.ts.map +0 -1
- package/dist/ssr/hydration-verify.js.map +0 -1
- package/dist/ssr/index-internal.d.ts.map +0 -1
- package/dist/ssr/index-internal.js.map +0 -1
- package/dist/ssr/render-keys.js.map +0 -1
- package/dist/ssr/render-resolved.d.ts.map +0 -1
- package/dist/ssr/render-resolved.js.map +0 -1
- package/dist/ssr/render-sync.d.ts.map +0 -1
- package/dist/ssr/render-sync.js.map +0 -1
- package/dist/ssr/route-policy-resolution.js.map +0 -1
- package/dist/ssr/route-render.d.ts.map +0 -1
- package/dist/ssr/route-render.js.map +0 -1
- package/dist/ssr/sink.d.ts.map +0 -1
- package/dist/ssr/sink.js.map +0 -1
- 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
|
@@ -1,33 +1,27 @@
|
|
|
1
|
-
import { logger } from "../
|
|
1
|
+
import { logger } from "../common/logger.js";
|
|
2
|
+
import { getCurrentLifecycleCommitBatch, registerLifecycleTransaction } from "../runtime/lifecycle-batch.js";
|
|
2
3
|
import { addDelegatedListener, getDelegatedHandlersForElement, removeDelegatedListener, updateDelegatedListener } from "../runtime/events.js";
|
|
3
|
-
import
|
|
4
|
+
import "../runtime/index.js";
|
|
5
|
+
import { elementListeners, elementReactivePropsCleanup, elementRefs, getElementReactivePropsCleanupMap } from "./cleanup.js";
|
|
4
6
|
import { keyedElements } from "./keyed.js";
|
|
5
7
|
//#region src/renderer/retained-element-rollback.ts
|
|
6
|
-
function collectElementSubtree(root) {
|
|
7
|
-
const elements = [root];
|
|
8
|
-
const descendants = root.querySelectorAll("*");
|
|
9
|
-
for (let index = 0; index < descendants.length; index += 1) elements.push(descendants[index]);
|
|
10
|
-
return elements;
|
|
11
|
-
}
|
|
12
8
|
function collectTextSnapshots(root) {
|
|
13
9
|
const snapshots = [];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const node = stack.pop();
|
|
10
|
+
for (let index = 0; index < root.childNodes.length; index += 1) {
|
|
11
|
+
const node = root.childNodes[index];
|
|
17
12
|
if (node.nodeType === 3) {
|
|
13
|
+
const text = node;
|
|
18
14
|
snapshots.push({
|
|
19
|
-
node,
|
|
20
|
-
data:
|
|
15
|
+
node: text,
|
|
16
|
+
data: text.data
|
|
21
17
|
});
|
|
22
|
-
continue;
|
|
23
18
|
}
|
|
24
|
-
for (let child = node.lastChild; child; child = child.previousSibling) stack.push(child);
|
|
25
19
|
}
|
|
26
20
|
return snapshots;
|
|
27
21
|
}
|
|
28
22
|
function getFormControlSnapshot(element) {
|
|
29
23
|
const control = element;
|
|
30
|
-
const snapshot = {
|
|
24
|
+
const snapshot = {};
|
|
31
25
|
if ("value" in control) snapshot.value = String(control.value ?? "");
|
|
32
26
|
if ("checked" in control) snapshot.checked = Boolean(control.checked);
|
|
33
27
|
return snapshot.value !== void 0 || snapshot.checked !== void 0 ? snapshot : null;
|
|
@@ -46,72 +40,38 @@ function cloneReactivePropEntry(entry) {
|
|
|
46
40
|
return {
|
|
47
41
|
cleanup: entry.cleanup,
|
|
48
42
|
fnRef: entry.fnRef,
|
|
43
|
+
groupedScalar: entry.groupedScalar,
|
|
49
44
|
restoreFn: entry.restoreFn,
|
|
50
45
|
updateFn: entry.updateFn
|
|
51
46
|
};
|
|
52
47
|
}
|
|
53
|
-
function snapshotRetainedElement(element) {
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
const delegatedListeners = [];
|
|
58
|
-
const formControls = [];
|
|
59
|
-
const listeners = [];
|
|
60
|
-
const reactiveProps = [];
|
|
61
|
-
const refs = [];
|
|
62
|
-
for (const currentElement of elements) {
|
|
63
|
-
attributes.push({
|
|
64
|
-
element: currentElement,
|
|
65
|
-
attributes: Array.from(currentElement.attributes, (attribute) => [attribute.name, attribute.value])
|
|
66
|
-
});
|
|
67
|
-
childNodes.push({
|
|
68
|
-
element: currentElement,
|
|
69
|
-
childNodes: Array.from(currentElement.childNodes)
|
|
70
|
-
});
|
|
71
|
-
const formControl = getFormControlSnapshot(currentElement);
|
|
72
|
-
if (formControl) formControls.push(formControl);
|
|
73
|
-
const listenerMap = elementListeners.get(currentElement);
|
|
74
|
-
listeners.push({
|
|
75
|
-
element: currentElement,
|
|
76
|
-
entries: listenerMap ? Array.from(listenerMap, ([listenerKey, entry]) => ({
|
|
77
|
-
listenerKey,
|
|
78
|
-
entry: cloneListenerEntry(entry)
|
|
79
|
-
})) : []
|
|
80
|
-
});
|
|
81
|
-
const delegatedHandlerMap = getDelegatedHandlersForElement(currentElement);
|
|
82
|
-
delegatedListeners.push({
|
|
83
|
-
element: currentElement,
|
|
84
|
-
entries: delegatedHandlerMap ? Array.from(delegatedHandlerMap, ([eventName, entry]) => ({
|
|
85
|
-
eventName,
|
|
86
|
-
handler: entry.handler,
|
|
87
|
-
original: entry.original,
|
|
88
|
-
options: entry.options
|
|
89
|
-
})) : []
|
|
90
|
-
});
|
|
91
|
-
const reactivePropMap = elementReactivePropsCleanup.get(currentElement);
|
|
92
|
-
reactiveProps.push({
|
|
93
|
-
element: currentElement,
|
|
94
|
-
entries: reactivePropMap ? Array.from(reactivePropMap, ([propName, entry]) => ({
|
|
95
|
-
propName,
|
|
96
|
-
entry: cloneReactivePropEntry(entry)
|
|
97
|
-
})) : []
|
|
98
|
-
});
|
|
99
|
-
refs.push({
|
|
100
|
-
element: currentElement,
|
|
101
|
-
ref: elementRefs.get(currentElement)
|
|
102
|
-
});
|
|
103
|
-
}
|
|
48
|
+
function snapshotRetainedElement(element, bindingsOnly = false) {
|
|
49
|
+
const listenerMap = elementListeners.get(element);
|
|
50
|
+
const delegatedHandlerMap = getDelegatedHandlersForElement(element);
|
|
51
|
+
const reactivePropMap = getElementReactivePropsCleanupMap(element);
|
|
104
52
|
const keyedMap = keyedElements.get(element);
|
|
105
53
|
return {
|
|
106
|
-
attributes,
|
|
107
|
-
childNodes,
|
|
108
|
-
delegatedListeners,
|
|
109
|
-
|
|
54
|
+
attributes: bindingsOnly ? [] : Array.from(element.attributes, (attribute) => [attribute.name, attribute.value]),
|
|
55
|
+
childNodes: bindingsOnly ? [] : Array.from(element.childNodes),
|
|
56
|
+
delegatedListeners: delegatedHandlerMap ? Array.from(delegatedHandlerMap, ([eventName, entry]) => ({
|
|
57
|
+
eventName,
|
|
58
|
+
handler: entry.handler,
|
|
59
|
+
original: entry.original,
|
|
60
|
+
options: entry.options
|
|
61
|
+
})) : [],
|
|
62
|
+
domCaptured: !bindingsOnly,
|
|
63
|
+
formControl: bindingsOnly ? null : getFormControlSnapshot(element),
|
|
110
64
|
keyedMap: keyedMap ? new Map(keyedMap) : void 0,
|
|
111
|
-
listeners,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
65
|
+
listeners: listenerMap ? Array.from(listenerMap, ([listenerKey, entry]) => ({
|
|
66
|
+
listenerKey,
|
|
67
|
+
entry: cloneListenerEntry(entry)
|
|
68
|
+
})) : [],
|
|
69
|
+
reactiveProps: reactivePropMap ? Array.from(reactivePropMap, ([propName, entry]) => ({
|
|
70
|
+
propName,
|
|
71
|
+
entry: cloneReactivePropEntry(entry)
|
|
72
|
+
})) : [],
|
|
73
|
+
ref: elementRefs.get(element),
|
|
74
|
+
textNodes: bindingsOnly ? [] : collectTextSnapshots(element)
|
|
115
75
|
};
|
|
116
76
|
}
|
|
117
77
|
function sameChildOrder(element, childNodes) {
|
|
@@ -119,19 +79,17 @@ function sameChildOrder(element, childNodes) {
|
|
|
119
79
|
for (let index = 0; index < childNodes.length; index += 1) if (element.childNodes[index] !== childNodes[index]) return false;
|
|
120
80
|
return true;
|
|
121
81
|
}
|
|
122
|
-
function restoreAttributes(snapshot) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
for (const [name, value] of attributes) if (element.getAttribute(name) !== value) element.setAttribute(name, value);
|
|
127
|
-
}
|
|
82
|
+
function restoreAttributes(element, snapshot) {
|
|
83
|
+
const expectedNames = new Set(snapshot.attributes.map(([name]) => name));
|
|
84
|
+
for (const attribute of Array.from(element.attributes)) if (!expectedNames.has(attribute.name)) element.removeAttribute(attribute.name);
|
|
85
|
+
for (const [name, value] of snapshot.attributes) if (element.getAttribute(name) !== value) element.setAttribute(name, value);
|
|
128
86
|
}
|
|
129
|
-
function
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
87
|
+
function restoreFormControl(element, snapshot) {
|
|
88
|
+
if (!snapshot.formControl) return;
|
|
89
|
+
const { value, checked } = snapshot.formControl;
|
|
90
|
+
const control = element;
|
|
91
|
+
if (value !== void 0 && "value" in control) control.value = value;
|
|
92
|
+
if (checked !== void 0 && "checked" in control) control.checked = checked;
|
|
135
93
|
}
|
|
136
94
|
function applyRefValue(ref, value) {
|
|
137
95
|
if (!ref) return;
|
|
@@ -143,15 +101,13 @@ function applyRefValue(ref, value) {
|
|
|
143
101
|
if (Object.isExtensible(ref)) ref.current = value;
|
|
144
102
|
} catch {}
|
|
145
103
|
}
|
|
146
|
-
function
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
} else elementRefs.delete(element);
|
|
154
|
-
}
|
|
104
|
+
function restoreRef(element, snapshot) {
|
|
105
|
+
const currentRef = elementRefs.get(element);
|
|
106
|
+
if (currentRef !== snapshot.ref) applyRefValue(currentRef, null);
|
|
107
|
+
if (snapshot.ref) {
|
|
108
|
+
applyRefValue(snapshot.ref, element);
|
|
109
|
+
elementRefs.set(element, snapshot.ref);
|
|
110
|
+
} else elementRefs.delete(element);
|
|
155
111
|
}
|
|
156
112
|
function removeDirectListener(element, entry) {
|
|
157
113
|
if (entry.isDelegated) return;
|
|
@@ -163,63 +119,86 @@ function addDirectListener(element, entry) {
|
|
|
163
119
|
if (entry.options !== void 0) element.addEventListener(entry.eventName, entry.handler, entry.options);
|
|
164
120
|
else element.addEventListener(entry.eventName, entry.handler);
|
|
165
121
|
}
|
|
166
|
-
function restoreListeners(snapshot) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
122
|
+
function restoreListeners(element, snapshot) {
|
|
123
|
+
const errors = [];
|
|
124
|
+
const expectedKeys = new Set(snapshot.listeners.map(({ listenerKey }) => listenerKey));
|
|
125
|
+
let currentMap = elementListeners.get(element);
|
|
126
|
+
if (currentMap) {
|
|
127
|
+
for (const [listenerKey, entry] of Array.from(currentMap)) if (!expectedKeys.has(listenerKey)) {
|
|
128
|
+
try {
|
|
172
129
|
removeDirectListener(element, entry);
|
|
173
|
-
|
|
130
|
+
} catch (error) {
|
|
131
|
+
errors.push(error);
|
|
174
132
|
}
|
|
133
|
+
currentMap.delete(listenerKey);
|
|
175
134
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
135
|
+
}
|
|
136
|
+
if (snapshot.listeners.length === 0) {
|
|
137
|
+
if (currentMap?.size === 0) elementListeners.delete(element);
|
|
138
|
+
} else {
|
|
180
139
|
if (!currentMap) {
|
|
181
140
|
currentMap = /* @__PURE__ */ new Map();
|
|
182
141
|
elementListeners.set(element, currentMap);
|
|
183
142
|
}
|
|
184
|
-
for (const { listenerKey, entry } of
|
|
143
|
+
for (const { listenerKey, entry } of snapshot.listeners) {
|
|
185
144
|
const currentEntry = currentMap.get(listenerKey);
|
|
186
145
|
entry.updateHandler?.(entry.original);
|
|
187
|
-
if (currentEntry && currentEntry.handler !== entry.handler)
|
|
188
|
-
|
|
146
|
+
if (currentEntry && currentEntry.handler !== entry.handler) try {
|
|
147
|
+
removeDirectListener(element, currentEntry);
|
|
148
|
+
} catch (error) {
|
|
149
|
+
errors.push(error);
|
|
150
|
+
}
|
|
151
|
+
if (!currentEntry || currentEntry.handler !== entry.handler) try {
|
|
152
|
+
addDirectListener(element, entry);
|
|
153
|
+
} catch (error) {
|
|
154
|
+
errors.push(error);
|
|
155
|
+
}
|
|
189
156
|
else currentEntry.updateHandler?.(entry.original);
|
|
190
157
|
currentMap.set(listenerKey, cloneListenerEntry(entry));
|
|
191
158
|
}
|
|
192
159
|
}
|
|
160
|
+
if (errors.length > 0) throw new AggregateError(errors, "Listener rollback failed");
|
|
193
161
|
}
|
|
194
|
-
function restoreDelegatedListeners(snapshot) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
162
|
+
function restoreDelegatedListeners(element, snapshot) {
|
|
163
|
+
const errors = [];
|
|
164
|
+
const expectedEventNames = new Set(snapshot.delegatedListeners.map(({ eventName }) => eventName));
|
|
165
|
+
const currentMap = getDelegatedHandlersForElement(element);
|
|
166
|
+
if (currentMap) {
|
|
167
|
+
for (const eventName of currentMap.keys()) if (!expectedEventNames.has(eventName)) try {
|
|
168
|
+
removeDelegatedListener(element, eventName);
|
|
169
|
+
} catch (error) {
|
|
170
|
+
errors.push(error);
|
|
200
171
|
}
|
|
201
|
-
for (const { eventName, handler, original, options } of entries) if (!updateDelegatedListener(element, eventName, handler, original, options)) addDelegatedListener(element, eventName, handler, original, options);
|
|
202
172
|
}
|
|
173
|
+
for (const { eventName, handler, original, options } of snapshot.delegatedListeners) try {
|
|
174
|
+
if (!updateDelegatedListener(element, eventName, handler, original, options)) addDelegatedListener(element, eventName, handler, original, options);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
errors.push(error);
|
|
177
|
+
}
|
|
178
|
+
if (errors.length > 0) throw new AggregateError(errors, "Delegated listener rollback failed");
|
|
203
179
|
}
|
|
204
|
-
function restoreReactiveProps(snapshot) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
180
|
+
function restoreReactiveProps(element, snapshot) {
|
|
181
|
+
const errors = [];
|
|
182
|
+
const expectedPropNames = new Set(snapshot.reactiveProps.map(({ propName }) => propName));
|
|
183
|
+
let currentMap = getElementReactivePropsCleanupMap(element);
|
|
184
|
+
if (currentMap) {
|
|
185
|
+
for (const [propName, entry] of Array.from(currentMap)) if (!expectedPropNames.has(propName)) {
|
|
186
|
+
try {
|
|
210
187
|
entry.cleanup();
|
|
211
|
-
|
|
188
|
+
} catch (error) {
|
|
189
|
+
errors.push(error);
|
|
212
190
|
}
|
|
191
|
+
currentMap.delete(propName);
|
|
213
192
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
193
|
+
}
|
|
194
|
+
if (snapshot.reactiveProps.length === 0) {
|
|
195
|
+
if (currentMap?.size === 0) elementReactivePropsCleanup.delete(element);
|
|
196
|
+
} else {
|
|
218
197
|
if (!currentMap) {
|
|
219
198
|
currentMap = /* @__PURE__ */ new Map();
|
|
220
199
|
elementReactivePropsCleanup.set(element, currentMap);
|
|
221
200
|
}
|
|
222
|
-
for (const { propName, entry } of
|
|
201
|
+
for (const { propName, entry } of snapshot.reactiveProps) {
|
|
223
202
|
const currentEntry = currentMap.get(propName);
|
|
224
203
|
if (currentEntry) {
|
|
225
204
|
currentEntry.updateFn?.(entry.fnRef);
|
|
@@ -227,16 +206,28 @@ function restoreReactiveProps(snapshot) {
|
|
|
227
206
|
currentMap.set(propName, currentEntry);
|
|
228
207
|
continue;
|
|
229
208
|
}
|
|
230
|
-
currentMap.set(propName,
|
|
209
|
+
currentMap.set(propName, (() => {
|
|
210
|
+
try {
|
|
211
|
+
return entry.restoreFn?.(entry.fnRef) ?? cloneReactivePropEntry(entry);
|
|
212
|
+
} catch (error) {
|
|
213
|
+
errors.push(error);
|
|
214
|
+
return cloneReactivePropEntry(entry);
|
|
215
|
+
}
|
|
216
|
+
})());
|
|
231
217
|
}
|
|
232
218
|
}
|
|
219
|
+
if (errors.length > 0) throw new AggregateError(errors, "Reactive property rollback failed");
|
|
233
220
|
}
|
|
234
|
-
function restoreChildNodes(snapshot, cleanupRangeNode) {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
221
|
+
function restoreChildNodes(element, snapshot, cleanupRangeNode) {
|
|
222
|
+
const errors = [];
|
|
223
|
+
const expectedChildren = new Set(snapshot.childNodes);
|
|
224
|
+
for (const child of Array.from(element.childNodes)) if (!expectedChildren.has(child)) try {
|
|
225
|
+
cleanupRangeNode(child);
|
|
226
|
+
} catch (error) {
|
|
227
|
+
errors.push(error);
|
|
238
228
|
}
|
|
239
|
-
|
|
229
|
+
if (!sameChildOrder(element, snapshot.childNodes)) element.replaceChildren(...snapshot.childNodes);
|
|
230
|
+
if (errors.length > 0) throw new AggregateError(errors, "DOM range rollback cleanup failed");
|
|
240
231
|
}
|
|
241
232
|
function restoreTextNodes(snapshot) {
|
|
242
233
|
for (const { node, data } of snapshot.textNodes) if (node.data !== data) node.data = data;
|
|
@@ -246,31 +237,52 @@ function restoreKeyedMap(element, snapshot) {
|
|
|
246
237
|
else keyedElements.delete(element);
|
|
247
238
|
}
|
|
248
239
|
function restoreRetainedElement(element, snapshot, cleanupRangeNode) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
240
|
+
const errors = [];
|
|
241
|
+
const phases = [
|
|
242
|
+
...snapshot.domCaptured ? [
|
|
243
|
+
() => restoreChildNodes(element, snapshot, cleanupRangeNode),
|
|
244
|
+
() => restoreTextNodes(snapshot),
|
|
245
|
+
() => restoreFormControl(element, snapshot),
|
|
246
|
+
() => restoreAttributes(element, snapshot)
|
|
247
|
+
] : [],
|
|
248
|
+
() => restoreReactiveProps(element, snapshot),
|
|
249
|
+
() => restoreRef(element, snapshot),
|
|
250
|
+
() => restoreListeners(element, snapshot),
|
|
251
|
+
() => restoreDelegatedListeners(element, snapshot),
|
|
252
|
+
...snapshot.domCaptured ? [() => restoreKeyedMap(element, snapshot)] : []
|
|
253
|
+
];
|
|
254
|
+
for (const phase of phases) try {
|
|
255
|
+
phase();
|
|
256
|
+
} catch (error) {
|
|
257
|
+
errors.push(error);
|
|
258
|
+
}
|
|
259
|
+
if (errors.length > 0) throw new AggregateError(errors, "Retained element rollback failed");
|
|
258
260
|
}
|
|
259
|
-
function runRetainedElementUpdate(element, cleanupRangeNode, update, onError) {
|
|
260
|
-
const
|
|
261
|
+
function runRetainedElementUpdate(element, cleanupRangeNode, update, onError, bindingsOnly = false) {
|
|
262
|
+
const batch = getCurrentLifecycleCommitBatch();
|
|
263
|
+
const existingSnapshot = batch?.retainedElementSnapshots.get(element);
|
|
264
|
+
const snapshot = existingSnapshot ?? snapshotRetainedElement(element, bindingsOnly);
|
|
265
|
+
let restored = false;
|
|
266
|
+
if (batch && !existingSnapshot) {
|
|
267
|
+
batch.retainedElementSnapshots.set(element, snapshot);
|
|
268
|
+
registerLifecycleTransaction(element, () => void 0, () => {
|
|
269
|
+
if (restored) return;
|
|
270
|
+
restored = true;
|
|
271
|
+
restoreRetainedElement(element, snapshot, cleanupRangeNode);
|
|
272
|
+
});
|
|
273
|
+
}
|
|
261
274
|
try {
|
|
262
275
|
update();
|
|
263
276
|
} catch (err) {
|
|
264
277
|
onError?.();
|
|
265
278
|
try {
|
|
279
|
+
restored = true;
|
|
266
280
|
restoreRetainedElement(element, snapshot, cleanupRangeNode);
|
|
267
281
|
} catch (rollbackError) {
|
|
268
|
-
logger.warn("[Askr] retained element rollback failed:", rollbackError);
|
|
282
|
+
logger.warn("[Askr] retained element rollback failed:", new AggregateError([err, rollbackError], "Render failed and retained rollback reported errors"));
|
|
269
283
|
}
|
|
270
284
|
throw err;
|
|
271
285
|
}
|
|
272
286
|
}
|
|
273
287
|
//#endregion
|
|
274
288
|
export { restoreRetainedElement, runRetainedElementUpdate, snapshotRetainedElement };
|
|
275
|
-
|
|
276
|
-
//# sourceMappingURL=retained-element-rollback.js.map
|
|
@@ -5,13 +5,13 @@ import { incDevCounter } from "../runtime/dev-namespace.js";
|
|
|
5
5
|
import { getCurrentInstance } from "../runtime/component-scope.js";
|
|
6
6
|
import { isPromiseLike } from "../common/promise.js";
|
|
7
7
|
import { captureInlineRenderSnapshot, renderComponentInline, warnUnusedStateReads } from "../runtime/component-internal.js";
|
|
8
|
-
import "../runtime/component-contracts.js";
|
|
9
|
-
import { tagNamesEqualIgnoreCase } from "./utils.js";
|
|
10
8
|
import { recordBenchEvent } from "../runtime/for-bench.js";
|
|
11
|
-
import "../runtime/
|
|
9
|
+
import "../runtime/index.js";
|
|
10
|
+
import { tagNamesEqualIgnoreCase } from "./utils.js";
|
|
12
11
|
import { getRendererDOMHost } from "./dom-host.js";
|
|
13
12
|
import { findHostInstanceByType, inheritComponentCleanupStrict, inheritComponentKey, isRouteRootComponentVNode } from "./component-host-instances.js";
|
|
14
|
-
import { resolveNestedComponentResult } from "./component-host.js";
|
|
13
|
+
import { resolveNestedComponentResult } from "./component-host-results.js";
|
|
14
|
+
import "./component-host.js";
|
|
15
15
|
//#region src/renderer/stable-patch.ts
|
|
16
16
|
function normalizeStableIntrinsicChildren(children) {
|
|
17
17
|
if (children === null || children === void 0 || children === false) return [];
|
|
@@ -50,7 +50,7 @@ function resolveStableIntrinsicPatchVNode(dom, vnode) {
|
|
|
50
50
|
if (typeof vnode.type === "string") return tagNamesEqualIgnoreCase(dom.tagName, vnode.type) ? vnode : null;
|
|
51
51
|
if (typeof vnode.type !== "function") return null;
|
|
52
52
|
const host = dom;
|
|
53
|
-
const existingInstance = findHostInstanceByType(host, vnode.type);
|
|
53
|
+
const existingInstance = findHostInstanceByType(host, vnode.type, vnode, getCurrentInstance());
|
|
54
54
|
if (!existingInstance || existingInstance.fn !== vnode.type || host.__ASKR_WRAPPER_HOST) return null;
|
|
55
55
|
const snapshot = getVNodeContextFrame(vnode) || getCurrentContextFrame() || existingInstance.ownerFrame || null;
|
|
56
56
|
captureInlineRenderSnapshot(existingInstance);
|
|
@@ -78,5 +78,3 @@ function tryPatchStableForDirtyItem(scope) {
|
|
|
78
78
|
}
|
|
79
79
|
//#endregion
|
|
80
80
|
export { tryPatchStableForDirtyItem };
|
|
81
|
-
|
|
82
|
-
//# sourceMappingURL=stable-patch.js.map
|
package/dist/renderer/utils.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getRuntimeEnv } from "../common/env.js";
|
|
2
|
-
import { logger } from "../
|
|
2
|
+
import { logger } from "../common/logger.js";
|
|
3
3
|
import { runRuntimeHandlerScope } from "../runtime/access.js";
|
|
4
4
|
import { incDevCounter, setDevValue } from "../runtime/dev-namespace.js";
|
|
5
|
+
import "../runtime/index.js";
|
|
5
6
|
import { getPublicAttributeName } from "../common/attr-names.js";
|
|
6
7
|
import "./env.js";
|
|
7
8
|
//#region src/renderer/utils.ts
|
|
@@ -14,6 +15,14 @@ const DIRECT_REPLACE_CHILDREN_SPREAD_LIMIT = 4096;
|
|
|
14
15
|
function canUseDirectReplaceChildrenSpread(count) {
|
|
15
16
|
return count <= DIRECT_REPLACE_CHILDREN_SPREAD_LIMIT;
|
|
16
17
|
}
|
|
18
|
+
const CLICK_EVENT_PROP = {
|
|
19
|
+
eventName: "click",
|
|
20
|
+
capture: false
|
|
21
|
+
};
|
|
22
|
+
const CLICK_CAPTURE_EVENT_PROP = {
|
|
23
|
+
eventName: "click",
|
|
24
|
+
capture: true
|
|
25
|
+
};
|
|
17
26
|
const handlerCache = /* @__PURE__ */ new WeakMap();
|
|
18
27
|
let cacheSize = 0;
|
|
19
28
|
const MAX_CACHE_SIZE = 1e3;
|
|
@@ -24,6 +33,8 @@ function parseEventName(propName) {
|
|
|
24
33
|
return parseEventProp(propName)?.eventName ?? null;
|
|
25
34
|
}
|
|
26
35
|
function parseEventProp(propName) {
|
|
36
|
+
if (propName === "onClick") return CLICK_EVENT_PROP;
|
|
37
|
+
if (propName === "onClickCapture") return CLICK_CAPTURE_EVENT_PROP;
|
|
27
38
|
if (!propName.startsWith("on") || propName.length <= 2) return null;
|
|
28
39
|
const capture = propName.endsWith("Capture") && propName.length > 9;
|
|
29
40
|
const normalizedPropName = capture ? propName.slice(0, -7) : propName;
|
|
@@ -206,15 +217,16 @@ function extractKey(vnode) {
|
|
|
206
217
|
function buildKeyMapFromChildren(parent) {
|
|
207
218
|
const map = /* @__PURE__ */ new Map();
|
|
208
219
|
for (let ch = parent.firstElementChild; ch; ch = ch.nextElementSibling) {
|
|
209
|
-
const
|
|
210
|
-
if (
|
|
211
|
-
map.set(k, ch);
|
|
212
|
-
const n = Number(k);
|
|
213
|
-
if (!Number.isNaN(n)) map.set(n, ch);
|
|
214
|
-
}
|
|
220
|
+
const key = getMaterializedKey(ch);
|
|
221
|
+
if (key !== void 0) map.set(key, ch);
|
|
215
222
|
}
|
|
216
223
|
return map;
|
|
217
224
|
}
|
|
225
|
+
function getMaterializedKey(element) {
|
|
226
|
+
const value = element.getAttribute("data-key");
|
|
227
|
+
if (value === null) return void 0;
|
|
228
|
+
return element.getAttribute("data-askr-key-kind") === "number" ? Number(value) : value;
|
|
229
|
+
}
|
|
218
230
|
/**
|
|
219
231
|
* Record DOM replace operation for diagnostics
|
|
220
232
|
*/
|
|
@@ -250,6 +262,4 @@ function now() {
|
|
|
250
262
|
return typeof performance !== "undefined" && performance.now ? performance.now() : Date.now();
|
|
251
263
|
}
|
|
252
264
|
//#endregion
|
|
253
|
-
export { DIRECT_REPLACE_CHILDREN_SPREAD_LIMIT, buildKeyMapFromChildren, canUseDirectReplaceChildrenSpread, checkPropChanges, createMutableWrappedHandler, createWrappedHandler, extractKey, getEventListenerKey, getEventListenerOptions, getPassiveOptions, getRenderedAttributeName, hasNonTrivialProps, hasPropChanged, isIgnoredForPropChanges, isSVGDomElement, isSkippedProp, logFastPathDebug, now, parseEventName, parseEventProp, readElementClassName, recordDOMReplace, recordFastPathStats, removeRenderedAttribute, setRenderedAttribute, tagNamesEqualIgnoreCase, writeElementClassName };
|
|
254
|
-
|
|
255
|
-
//# sourceMappingURL=utils.js.map
|
|
265
|
+
export { DIRECT_REPLACE_CHILDREN_SPREAD_LIMIT, buildKeyMapFromChildren, canUseDirectReplaceChildrenSpread, checkPropChanges, createMutableWrappedHandler, createWrappedHandler, extractKey, getEventListenerKey, getEventListenerOptions, getMaterializedKey, getPassiveOptions, getRenderedAttributeName, hasNonTrivialProps, hasPropChanged, isIgnoredForPropChanges, isSVGDomElement, isSkippedProp, logFastPathDebug, now, parseEventName, parseEventProp, readElementClassName, recordDOMReplace, recordFastPathStats, removeRenderedAttribute, setRenderedAttribute, tagNamesEqualIgnoreCase, writeElementClassName };
|
package/dist/resources/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getSignal } from "../runtime/component-scope.js";
|
|
2
|
-
import "../runtime/component.js";
|
|
3
2
|
import { resource } from "../runtime/resource-operation.js";
|
|
4
3
|
import { capture, documentVisible, on, routeActive, stream, task, timer, windowFocused } from "../runtime/lifecycle-operations.js";
|
|
5
|
-
import "../runtime/
|
|
4
|
+
import "../runtime/index.js";
|
|
6
5
|
export { capture, documentVisible, getSignal, on, resource, routeActive, stream, task, timer, windowFocused };
|
package/dist/router/access.js
CHANGED
|
@@ -6,5 +6,4 @@ declare function isRoutePathActive(pathOrPaths: string | readonly string[]): boo
|
|
|
6
6
|
declare function currentRoute<TParams extends RouteParams = RouteParams>(): RouteSnapshot<TParams>;
|
|
7
7
|
declare function syncCurrentRouteSnapshot(pathname: string, search: string, hash: string, activityMatches?: readonly RouteMatch[]): void;
|
|
8
8
|
//#endregion
|
|
9
|
-
export { currentRoute };
|
|
10
|
-
//# sourceMappingURL=activity.d.ts.map
|
|
9
|
+
export { currentRoute };
|
package/dist/router/activity.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { markReactivePropsDirtySource, markReadableDerivedSubscribersDirty, notifyReadableReaders, recordReadableRead } from "../runtime/readable.js";
|
|
2
2
|
import { getCurrentComponentInstance } from "../runtime/component-scope.js";
|
|
3
|
-
import "../runtime/component.js";
|
|
4
3
|
import { getActiveRenderContext } from "../common/render-context.js";
|
|
5
|
-
import { getActiveRoutes } from "./store.js";
|
|
6
4
|
import { syncRouteActivitySnapshot } from "../common/route-activity.js";
|
|
5
|
+
import "../runtime/index.js";
|
|
6
|
+
import { getActiveRoutes } from "./store.js";
|
|
7
7
|
import { deepFreeze, makeQuery, parseLocation } from "./route-context.js";
|
|
8
|
-
import { computeMatchesFromRoutes } from "./
|
|
8
|
+
import { computeMatchesFromRoutes } from "./route-matching.js";
|
|
9
|
+
import "./resolution.js";
|
|
9
10
|
//#region src/router/activity.ts
|
|
10
11
|
let currentRouteSnapshot = buildRouteSnapshot("/", "", "");
|
|
11
12
|
const currentRouteSource = (() => currentRouteSnapshot);
|
|
@@ -39,28 +40,25 @@ function setCurrentRouteSnapshot(pathname, search, hash, activityMatches) {
|
|
|
39
40
|
markReactivePropsDirtySource(currentRouteSource);
|
|
40
41
|
notifyReadableReaders(currentRouteSource, instance);
|
|
41
42
|
}
|
|
43
|
+
function readCurrentRouteLocation() {
|
|
44
|
+
const renderContext = getActiveRenderContext();
|
|
45
|
+
if (renderContext?.url) return parseLocation(renderContext.url);
|
|
46
|
+
if (typeof window !== "undefined" && window.location) return {
|
|
47
|
+
pathname: window.location.pathname || "/",
|
|
48
|
+
search: window.location.search || "",
|
|
49
|
+
hash: window.location.hash || ""
|
|
50
|
+
};
|
|
51
|
+
if (serverLocation) return parseLocation(serverLocation);
|
|
52
|
+
return {
|
|
53
|
+
pathname: currentRouteSnapshot.path,
|
|
54
|
+
search: "",
|
|
55
|
+
hash: currentRouteSnapshot.hash ?? ""
|
|
56
|
+
};
|
|
57
|
+
}
|
|
42
58
|
function readCurrentRouteSnapshot() {
|
|
43
59
|
const instance = getCurrentComponentInstance();
|
|
44
60
|
if (!instance) throw new Error("currentRoute() can only be called during component render execution. Call currentRoute() from inside your component function.");
|
|
45
|
-
|
|
46
|
-
let search = "";
|
|
47
|
-
let hash = "";
|
|
48
|
-
const renderContext = getActiveRenderContext();
|
|
49
|
-
if (instance.ssr && renderContext?.url) {
|
|
50
|
-
const parsed = parseLocation(renderContext.url);
|
|
51
|
-
pathname = parsed.pathname;
|
|
52
|
-
search = parsed.search;
|
|
53
|
-
hash = parsed.hash;
|
|
54
|
-
} else if (typeof window !== "undefined" && window.location) {
|
|
55
|
-
pathname = window.location.pathname || "/";
|
|
56
|
-
search = window.location.search || "";
|
|
57
|
-
hash = window.location.hash || "";
|
|
58
|
-
} else if (serverLocation) {
|
|
59
|
-
const parsed = parseLocation(serverLocation);
|
|
60
|
-
pathname = parsed.pathname;
|
|
61
|
-
search = parsed.search;
|
|
62
|
-
hash = parsed.hash;
|
|
63
|
-
}
|
|
61
|
+
const { pathname, search, hash } = readCurrentRouteLocation();
|
|
64
62
|
const query = makeQuery(search);
|
|
65
63
|
const matches = computeMatchesFromRoutes(pathname, getActiveRoutes());
|
|
66
64
|
const instanceParams = instance.props;
|
|
@@ -85,5 +83,3 @@ function syncCurrentRouteSnapshot(pathname, search, hash, activityMatches) {
|
|
|
85
83
|
}
|
|
86
84
|
//#endregion
|
|
87
85
|
export { currentRoute, setServerLocation, syncCurrentRouteSnapshot };
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=activity.js.map
|
|
@@ -18,5 +18,4 @@ declare function registerRoutes(definition: RouteDefinition, options?: RegisterR
|
|
|
18
18
|
declare function route<const TPath extends string>(path: TPath, Component: RouteComponent<RoutePathParams<TPath>>, options?: RouteOptions<RoutePathParams<TPath>>): void;
|
|
19
19
|
declare function route<const TPath extends string, TComponent extends AnyRouteComponent>(path: TPath, Component: CompatibleRouteComponent<TPath, TComponent>, options?: RouteOptionsForComponent<TPath, TComponent>): void;
|
|
20
20
|
//#endregion
|
|
21
|
-
export { fallback, group, index, page, registerRoutes, route };
|
|
22
|
-
//# sourceMappingURL=authoring.d.ts.map
|
|
21
|
+
export { fallback, group, index, page, registerRoutes, route };
|
package/dist/router/authoring.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getCurrentComponentInstance } from "../runtime/component-scope.js";
|
|
2
|
-
import "../runtime/component.js";
|
|
3
2
|
import { getExecutionModel } from "../runtime/execution-model.js";
|
|
3
|
+
import "../runtime/index.js";
|
|
4
4
|
import { computeRank, normalizeRouteSegmentName, parseSegments } from "./match.js";
|
|
5
5
|
import { compileNodePolicies, nextAccessScopeState, validateAccessMetadata } from "./access.js";
|
|
6
6
|
import { createRouteHandler } from "./rendering.js";
|
|
@@ -194,5 +194,3 @@ function route(path, Component, options) {
|
|
|
194
194
|
}
|
|
195
195
|
//#endregion
|
|
196
196
|
export { fallback, group, index, page, registerRoutes, route };
|
|
197
|
-
|
|
198
|
-
//# sourceMappingURL=authoring.js.map
|
package/dist/router/index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ import { RouteQueryParamInput, RouteQueryParamValue, RouteQueryUpdater, RouteQue
|
|
|
5
5
|
import { navigate } from "./navigate.js";
|
|
6
6
|
import { fallback, group, index, page, registerRoutes, route } from "./authoring.js";
|
|
7
7
|
import { currentRoute } from "./activity.js";
|
|
8
|
+
import { allow, deny, forbidden, notFound, redirect, requireAuth, requirePermission, requireRole, unauthorized } from "./policy.js";
|
|
8
9
|
import { clearRoutes, createRouteRegistry, getManifest } from "./manifest.js";
|
|
9
10
|
import { getRoutes } from "./store.js";
|
|
10
11
|
import { lazy } from "./lazy.js";
|
|
11
12
|
import { Outlet } from "./rendering.js";
|
|
12
|
-
import { allow, deny, forbidden, notFound, redirect, requireAuth, requirePermission, requireRole, unauthorized } from "./policy.js";
|
|
13
13
|
import { Link, LinkProps } from "../components/link.js";
|
|
14
14
|
export { type AccessDecision, type AccessDenyDecision, type AccessRedirectDecision, type GroupHelperOptions, type HistoryScrollBehavior, type LayoutScopeRecord, Link, type LinkProps, type NavigateOptions, type NavigationScrollBehavior, Outlet, type PageHelperOptions, type PageScopeRecord, type ParsedSegment, type RegisterRoutesOptions, type Route, type RouteAuthMode, type RouteAuthOptions, type RouteAuthResolver, type RouteAuthState, type RouteComponent, type RouteContext, type RouteDefinition, type RouteHandler, type RouteManifest, type RouteMatch, type RouteMode, type RouteOptions, type RouteParams, type RoutePathParams, type RoutePolicy, type RouteQuery, type RouteQueryParamInput, type RouteQueryParamValue, type RouteQueryUpdater, type RouteQueryUpdates, type RouteRecord, type RouteRegistry, type RouteRenderResult, type RouteRequestOptions, type RouteRequestResult, type RouteSnapshot, type ScrollRestorationOptions, type UpdateRouteQueryOptions, allow, clearRoutes, createRouteRegistry, currentRoute, deny, fallback, forbidden, getManifest, getRoutes, group, index, lazy, navigate, notFound, page, redirect, registerRoutes, requireAuth, requirePermission, requireRole, route, unauthorized, updateRouteQuery };
|