@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
package/dist/router/navigate.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { logger } from "../common/logger.js";
|
|
2
|
-
import { isPromiseLike } from "../common/promise.js";
|
|
3
|
-
import { configureScrollRestoration, saveScrollPosition } from "./navigation-scroll.js";
|
|
4
|
-
import { configureNavigationRegistryHost, getCurrentHref, hasRegisteredApps, parseTargetUrl, registerAppInstance, unregisterAppInstance } from "./navigation-registry.js";
|
|
5
|
-
import { applyNavigationTargets, applyPopStateNavigationTargets, beginRouteRequest, cancelRouteRequests, isStaleRouteRequest, resolveNavigationTargetsForApps } from "./navigation-targets.js";
|
|
6
|
-
import { updateRouteQuery } from "./route-query.js";
|
|
7
|
-
//#region src/router/navigate.ts
|
|
8
|
-
/**
|
|
9
|
-
* Client-side navigation with History API
|
|
10
|
-
*/
|
|
11
|
-
let navigationInitialized = false;
|
|
12
|
-
configureNavigationRegistryHost({ cancelRouteRequests });
|
|
13
|
-
function navigate(path, options = {}) {
|
|
14
|
-
if (typeof window === "undefined") return;
|
|
15
|
-
const initialTarget = parseTargetUrl(path);
|
|
16
|
-
navigateWithRedirectState(path, options, {
|
|
17
|
-
redirects: 0,
|
|
18
|
-
visited: /* @__PURE__ */ new Set([`${initialTarget.pathname}${initialTarget.search}${initialTarget.hash}`])
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
function navigateWithRedirectState(path, options, redirectState) {
|
|
22
|
-
if (typeof window === "undefined") return;
|
|
23
|
-
const request = beginRouteRequest();
|
|
24
|
-
const target = parseTargetUrl(path);
|
|
25
|
-
const pathname = target.pathname;
|
|
26
|
-
const href = `${target.pathname}${target.search}${target.hash}`;
|
|
27
|
-
const resolvedTargets = resolveNavigationTargetsForApps(pathname, href, request.signal);
|
|
28
|
-
if (isPromiseLike(resolvedTargets)) {
|
|
29
|
-
Promise.resolve(resolvedTargets).then((targets) => {
|
|
30
|
-
if (isStaleRouteRequest(request.id)) return;
|
|
31
|
-
try {
|
|
32
|
-
applyNavigationTargets(path, options, redirectState, pathname, href, targets, navigateWithRedirectState);
|
|
33
|
-
} catch (error) {
|
|
34
|
-
logger.error("[Askr] navigation failed:", error);
|
|
35
|
-
}
|
|
36
|
-
}, (error) => {
|
|
37
|
-
logger.error("[Askr] navigation failed:", error);
|
|
38
|
-
});
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
applyNavigationTargets(path, options, redirectState, pathname, href, resolvedTargets, navigateWithRedirectState);
|
|
42
|
-
}
|
|
43
|
-
function handlePopState(event) {
|
|
44
|
-
const request = beginRouteRequest();
|
|
45
|
-
const previousHref = getCurrentHref();
|
|
46
|
-
const pathname = window.location.pathname;
|
|
47
|
-
const href = `${window.location.pathname}${window.location.search}${window.location.hash}`;
|
|
48
|
-
saveScrollPosition(previousHref);
|
|
49
|
-
if (!hasRegisteredApps()) return;
|
|
50
|
-
const applyResolved = (targets) => {
|
|
51
|
-
try {
|
|
52
|
-
applyPopStateNavigationTargets(request.id, pathname, href, event.state, targets, navigate);
|
|
53
|
-
} catch (error) {
|
|
54
|
-
logger.error("[Askr] popstate navigation failed:", error);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
const resolvedTargets = resolveNavigationTargetsForApps(pathname, href, request.signal);
|
|
58
|
-
if (isPromiseLike(resolvedTargets)) {
|
|
59
|
-
Promise.resolve(resolvedTargets).then((next) => {
|
|
60
|
-
applyResolved(next);
|
|
61
|
-
}, (error) => {
|
|
62
|
-
logger.error("[Askr] popstate navigation failed:", error);
|
|
63
|
-
});
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
applyResolved(resolvedTargets);
|
|
67
|
-
}
|
|
68
|
-
function initializeNavigation() {
|
|
69
|
-
if (typeof window === "undefined" || navigationInitialized) return;
|
|
70
|
-
navigationInitialized = true;
|
|
71
|
-
window.addEventListener("popstate", handlePopState);
|
|
72
|
-
}
|
|
73
|
-
//#endregion
|
|
74
|
-
export { configureScrollRestoration, initializeNavigation, navigate, registerAppInstance, unregisterAppInstance, updateRouteQuery };
|
|
75
|
-
|
|
76
|
-
//# sourceMappingURL=navigate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","names":[],"sources":["../../src/router/navigate.ts"],"sourcesContent":["/**\n * Client-side navigation with History API\n */\n\nimport { isPromiseLike } from '../common/promise';\nimport { logger } from '../common/logger';\nimport { saveScrollPosition } from './navigation-scroll';\nimport {\n configureNavigationRegistryHost,\n getCurrentHref,\n hasRegisteredApps,\n parseTargetUrl,\n} from './navigation-registry';\nimport {\n applyNavigationTargets,\n applyPopStateNavigationTargets,\n beginRouteRequest,\n cancelRouteRequests,\n isStaleRouteRequest,\n resolveNavigationTargetsForApps,\n type AppNavigationTarget,\n type NavigateOptions,\n type NavigationRedirectState,\n} from './navigation-targets';\n\nexport { configureScrollRestoration } from './navigation-scroll';\nexport type {\n HistoryScrollBehavior,\n NavigationScrollBehavior,\n ScrollRestorationOptions,\n} from './navigation-scroll';\nexport {\n registerAppInstance,\n unregisterAppInstance,\n} from './navigation-registry';\nexport { updateRouteQuery } from './route-query';\nexport type {\n RouteQueryParamInput,\n RouteQueryParamValue,\n RouteQueryUpdater,\n RouteQueryUpdates,\n UpdateRouteQueryOptions,\n} from './route-query';\nexport type { NavigateOptions };\n\nlet navigationInitialized = false;\n\nconfigureNavigationRegistryHost({\n cancelRouteRequests,\n});\n\nexport function navigate(path: string, options: NavigateOptions = {}): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n const initialTarget = parseTargetUrl(path);\n navigateWithRedirectState(path, options, {\n redirects: 0,\n visited: new Set([\n `${initialTarget.pathname}${initialTarget.search}${initialTarget.hash}`,\n ]),\n });\n}\n\nfunction navigateWithRedirectState(\n path: string,\n options: NavigateOptions,\n redirectState: NavigationRedirectState\n): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n const request = beginRouteRequest();\n\n const target = parseTargetUrl(path);\n const pathname = target.pathname;\n const href = `${target.pathname}${target.search}${target.hash}`;\n const resolvedTargets = resolveNavigationTargetsForApps(\n pathname,\n href,\n request.signal\n );\n\n if (isPromiseLike(resolvedTargets)) {\n void Promise.resolve(resolvedTargets).then(\n (targets) => {\n if (isStaleRouteRequest(request.id)) {\n return;\n }\n\n try {\n applyNavigationTargets(\n path,\n options,\n redirectState,\n pathname,\n href,\n targets,\n navigateWithRedirectState\n );\n } catch (error) {\n logger.error('[Askr] navigation failed:', error);\n }\n },\n (error) => {\n logger.error('[Askr] navigation failed:', error);\n }\n );\n return;\n }\n\n applyNavigationTargets(\n path,\n options,\n redirectState,\n pathname,\n href,\n resolvedTargets,\n navigateWithRedirectState\n );\n}\n\nfunction handlePopState(event: PopStateEvent): void {\n const request = beginRouteRequest();\n const previousHref = getCurrentHref();\n const pathname = window.location.pathname;\n const href = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n\n saveScrollPosition(previousHref);\n\n if (!hasRegisteredApps()) {\n return;\n }\n\n const applyResolved = (targets: AppNavigationTarget[]) => {\n try {\n applyPopStateNavigationTargets(\n request.id,\n pathname,\n href,\n event.state,\n targets,\n navigate\n );\n } catch (error) {\n logger.error('[Askr] popstate navigation failed:', error);\n }\n };\n\n const resolvedTargets = resolveNavigationTargetsForApps(\n pathname,\n href,\n request.signal\n );\n\n if (isPromiseLike<AppNavigationTarget[]>(resolvedTargets)) {\n void Promise.resolve(resolvedTargets).then(\n (next) => {\n applyResolved(next);\n },\n (error) => {\n logger.error('[Askr] popstate navigation failed:', error);\n }\n );\n return;\n }\n\n applyResolved(resolvedTargets);\n}\n\nexport function initializeNavigation(): void {\n if (typeof window === 'undefined' || navigationInitialized) {\n return;\n }\n\n navigationInitialized = true;\n window.addEventListener('popstate', handlePopState);\n}\n\nexport function cleanupNavigation(): void {\n cancelRouteRequests();\n\n if (typeof window === 'undefined' || !navigationInitialized) {\n return;\n }\n\n navigationInitialized = false;\n window.removeEventListener('popstate', handlePopState);\n}\n"],"mappings":";;;;;;;;;;AA6CA,IAAI,wBAAwB;AAE5B,gCAAgC,EAC9B,oBACF,CAAC;AAED,SAAgB,SAAS,MAAc,UAA2B,CAAC,GAAS;CAC1E,IAAI,OAAO,WAAW,aACpB;CAGF,MAAM,gBAAgB,eAAe,IAAI;CACzC,0BAA0B,MAAM,SAAS;EACvC,WAAW;EACX,yBAAS,IAAI,IAAI,CACf,GAAG,cAAc,WAAW,cAAc,SAAS,cAAc,MACnE,CAAC;CACH,CAAC;AACH;AAEA,SAAS,0BACP,MACA,SACA,eACM;CACN,IAAI,OAAO,WAAW,aACpB;CAGF,MAAM,UAAU,kBAAkB;CAElC,MAAM,SAAS,eAAe,IAAI;CAClC,MAAM,WAAW,OAAO;CACxB,MAAM,OAAO,GAAG,OAAO,WAAW,OAAO,SAAS,OAAO;CACzD,MAAM,kBAAkB,gCACtB,UACA,MACA,QAAQ,MACV;CAEA,IAAI,cAAc,eAAe,GAAG;EAClC,AAAK,QAAQ,QAAQ,eAAe,CAAC,CAAC,MACnC,YAAY;GACX,IAAI,oBAAoB,QAAQ,EAAE,GAChC;GAGF,IAAI;IACF,uBACE,MACA,SACA,eACA,UACA,MACA,SACA,yBACF;GACF,SAAS,OAAO;IACd,OAAO,MAAM,6BAA6B,KAAK;GACjD;EACF,IACC,UAAU;GACT,OAAO,MAAM,6BAA6B,KAAK;EACjD,CACF;EACA;CACF;CAEA,uBACE,MACA,SACA,eACA,UACA,MACA,iBACA,yBACF;AACF;AAEA,SAAS,eAAe,OAA4B;CAClD,MAAM,UAAU,kBAAkB;CAClC,MAAM,eAAe,eAAe;CACpC,MAAM,WAAW,OAAO,SAAS;CACjC,MAAM,OAAO,GAAG,OAAO,SAAS,WAAW,OAAO,SAAS,SAAS,OAAO,SAAS;CAEpF,mBAAmB,YAAY;CAE/B,IAAI,CAAC,kBAAkB,GACrB;CAGF,MAAM,iBAAiB,YAAmC;EACxD,IAAI;GACF,+BACE,QAAQ,IACR,UACA,MACA,MAAM,OACN,SACA,QACF;EACF,SAAS,OAAO;GACd,OAAO,MAAM,sCAAsC,KAAK;EAC1D;CACF;CAEA,MAAM,kBAAkB,gCACtB,UACA,MACA,QAAQ,MACV;CAEA,IAAI,cAAqC,eAAe,GAAG;EACzD,AAAK,QAAQ,QAAQ,eAAe,CAAC,CAAC,MACnC,SAAS;GACR,cAAc,IAAI;EACpB,IACC,UAAU;GACT,OAAO,MAAM,sCAAsC,KAAK;EAC1D,CACF;EACA;CACF;CAEA,cAAc,eAAe;AAC/B;AAEA,SAAgB,uBAA6B;CAC3C,IAAI,OAAO,WAAW,eAAe,uBACnC;CAGF,wBAAwB;CACxB,OAAO,iBAAiB,YAAY,cAAc;AACpD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ComponentInstance } from "../runtime/component-internal.js";
|
|
2
|
-
import { Route, RouteAuthOptions, RouteManifest } from "../common/router.js";
|
|
3
|
-
|
|
4
|
-
//#region src/router/navigation-registry.d.ts
|
|
5
|
-
type AppNavigationSource = {
|
|
6
|
-
manifest?: RouteManifest;
|
|
7
|
-
routes?: readonly Route[];
|
|
8
|
-
auth?: RouteAuthOptions;
|
|
9
|
-
};
|
|
10
|
-
type AppRegistration = AppNavigationSource & {
|
|
11
|
-
instance: ComponentInstance;
|
|
12
|
-
pathname: string;
|
|
13
|
-
href: string;
|
|
14
|
-
};
|
|
15
|
-
type NavigationRegistryHost = {
|
|
16
|
-
cancelRouteRequests(): void;
|
|
17
|
-
};
|
|
18
|
-
declare function configureNavigationRegistryHost(host: NavigationRegistryHost): void;
|
|
19
|
-
declare function getCurrentPathname(): string;
|
|
20
|
-
declare function getCurrentHref(): string;
|
|
21
|
-
declare function setCurrentRouteLocation(pathname: string, href: string): void;
|
|
22
|
-
declare function getWindowHref(): string;
|
|
23
|
-
declare function parseTargetUrl(path: string): URL;
|
|
24
|
-
declare function getRegisteredAppsSnapshot(): AppRegistration[];
|
|
25
|
-
declare function hasRegisteredApps(): boolean;
|
|
26
|
-
declare function syncAppRegistrationLocation(app: AppRegistration, pathname: string, href: string): void;
|
|
27
|
-
declare function syncRegisteredRouteSnapshot(): void;
|
|
28
|
-
declare function registerAppInstance(instance: ComponentInstance, path: string, source?: AppNavigationSource): void;
|
|
29
|
-
declare function unregisterAppInstance(instance: ComponentInstance): void;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { AppNavigationSource, AppRegistration };
|
|
32
|
-
//# sourceMappingURL=navigation-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-registry.d.ts","names":[],"sources":["../../src/router/navigation-registry.ts"],"mappings":";;;;KASY,mBAAA;EACV,QAAA,GAAW,aAAA;EACX,MAAA,YAAkB,KAAA;EAClB,IAAA,GAAO,gBAAA;AAAA;AAAA,KAGG,eAAA,GAAkB,mBAAA;EAC5B,QAAA,EAAU,iBAAiB;EAC3B,QAAA;EACA,IAAA;AAAA;AAAA,KAGG,sBAAA;EACH,mBAAmB;AAAA;AAAA,iBAUL,+BAAA,CACd,IAA4B,EAAtB,sBAAsB;AAAA,iBAKd,kBAAA;AAAA,iBAIA,cAAA;AAAA,iBAIA,uBAAA,CAAwB,QAAA,UAAkB,IAAY;AAAA,iBAKtD,aAAA;AAAA,iBAQA,cAAA,CAAe,IAAA,WAAe,GAAG;AAAA,iBAiBjC,yBAAA,IAA6B,eAAe;AAAA,iBAI5C,iBAAA;AAAA,iBAIA,2BAAA,CACd,GAAA,EAAK,eAAe,EACpB,QAAA,UACA,IAAA;AAAA,iBA+Bc,2BAAA;AAAA,iBAcA,mBAAA,CACd,QAAA,EAAU,iBAAA,EACV,IAAA,UACA,MAAA,GAAQ,mBAAwB;AAAA,iBA0BlB,qBAAA,CAAsB,QAA2B,EAAjB,iBAAiB"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { isProductionEnvironment } from "../common/env.js";
|
|
2
|
-
import { lockRouteRegistration } from "./store.js";
|
|
3
|
-
import { computeRouteActivityMatches } from "./route-matching.js";
|
|
4
|
-
import { syncCurrentRouteSnapshot } from "./activity.js";
|
|
5
|
-
import "./route.js";
|
|
6
|
-
//#region src/router/navigation-registry.ts
|
|
7
|
-
let currentInstance = null;
|
|
8
|
-
let currentPathname = "/";
|
|
9
|
-
let currentHref = "/";
|
|
10
|
-
let navigationRegistryHost = null;
|
|
11
|
-
const registeredApps = [];
|
|
12
|
-
function configureNavigationRegistryHost(host) {
|
|
13
|
-
navigationRegistryHost = host;
|
|
14
|
-
}
|
|
15
|
-
function getCurrentPathname() {
|
|
16
|
-
return currentPathname;
|
|
17
|
-
}
|
|
18
|
-
function getCurrentHref() {
|
|
19
|
-
return currentHref;
|
|
20
|
-
}
|
|
21
|
-
function setCurrentRouteLocation(pathname, href) {
|
|
22
|
-
currentPathname = pathname;
|
|
23
|
-
currentHref = href;
|
|
24
|
-
}
|
|
25
|
-
function getWindowHref() {
|
|
26
|
-
if (typeof window === "undefined") return currentHref;
|
|
27
|
-
return `${window.location.pathname}${window.location.search}${window.location.hash}`;
|
|
28
|
-
}
|
|
29
|
-
function parseTargetUrl(path) {
|
|
30
|
-
const pathname = window.location.pathname || "/";
|
|
31
|
-
const search = window.location.search || "";
|
|
32
|
-
const hash = window.location.hash || "";
|
|
33
|
-
const href = typeof window.location.href === "string" ? window.location.href : "";
|
|
34
|
-
const base = href && href !== "about:blank" && !href.startsWith("about:") && !href.startsWith("data:") ? href : `http://localhost${pathname}${search}${hash}`;
|
|
35
|
-
return new URL(path, base);
|
|
36
|
-
}
|
|
37
|
-
function getRegisteredAppsSnapshot() {
|
|
38
|
-
return [...registeredApps];
|
|
39
|
-
}
|
|
40
|
-
function hasRegisteredApps() {
|
|
41
|
-
return registeredApps.length > 0;
|
|
42
|
-
}
|
|
43
|
-
function syncAppRegistrationLocation(app, pathname, href) {
|
|
44
|
-
app.pathname = pathname;
|
|
45
|
-
app.href = href;
|
|
46
|
-
}
|
|
47
|
-
function collectRouteActivityMatches(pathname, apps = registeredApps) {
|
|
48
|
-
const matches = [];
|
|
49
|
-
const seenPaths = /* @__PURE__ */ new Set();
|
|
50
|
-
for (const app of apps) {
|
|
51
|
-
const appMatches = computeRouteActivityMatches(pathname, {
|
|
52
|
-
manifest: app.manifest,
|
|
53
|
-
routes: app.routes
|
|
54
|
-
});
|
|
55
|
-
for (const match of appMatches) {
|
|
56
|
-
if (seenPaths.has(match.path)) continue;
|
|
57
|
-
seenPaths.add(match.path);
|
|
58
|
-
matches.push(match);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return matches;
|
|
62
|
-
}
|
|
63
|
-
function syncRegisteredRouteSnapshot() {
|
|
64
|
-
if (typeof window === "undefined") return;
|
|
65
|
-
const pathname = window.location.pathname || "/";
|
|
66
|
-
syncCurrentRouteSnapshot(pathname, window.location.search || "", window.location.hash || "", collectRouteActivityMatches(pathname));
|
|
67
|
-
}
|
|
68
|
-
function registerAppInstance(instance, path, source = {}) {
|
|
69
|
-
const existingIndex = registeredApps.findIndex((app) => app.instance === instance);
|
|
70
|
-
const registration = {
|
|
71
|
-
instance,
|
|
72
|
-
pathname: path,
|
|
73
|
-
href: getWindowHref(),
|
|
74
|
-
...source
|
|
75
|
-
};
|
|
76
|
-
if (existingIndex >= 0) registeredApps[existingIndex] = registration;
|
|
77
|
-
else registeredApps.push(registration);
|
|
78
|
-
currentInstance = instance;
|
|
79
|
-
currentPathname = path;
|
|
80
|
-
currentHref = getWindowHref();
|
|
81
|
-
syncRegisteredRouteSnapshot();
|
|
82
|
-
if (isProductionEnvironment()) lockRouteRegistration();
|
|
83
|
-
}
|
|
84
|
-
function unregisterAppInstance(instance) {
|
|
85
|
-
const existingIndex = registeredApps.findIndex((app) => app.instance === instance);
|
|
86
|
-
if (existingIndex >= 0) registeredApps.splice(existingIndex, 1);
|
|
87
|
-
syncRegisteredRouteSnapshot();
|
|
88
|
-
if (currentInstance !== instance) return;
|
|
89
|
-
const nextApp = registeredApps.length > 0 ? registeredApps[registeredApps.length - 1] : null;
|
|
90
|
-
currentInstance = nextApp?.instance ?? null;
|
|
91
|
-
if (nextApp) {
|
|
92
|
-
currentPathname = nextApp.pathname;
|
|
93
|
-
currentHref = nextApp.href;
|
|
94
|
-
syncRegisteredRouteSnapshot();
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
navigationRegistryHost?.cancelRouteRequests();
|
|
98
|
-
currentPathname = "/";
|
|
99
|
-
currentHref = "/";
|
|
100
|
-
if (typeof window === "undefined") syncCurrentRouteSnapshot("/", "", "", []);
|
|
101
|
-
}
|
|
102
|
-
//#endregion
|
|
103
|
-
export { configureNavigationRegistryHost, getCurrentHref, getCurrentPathname, getRegisteredAppsSnapshot, getWindowHref, hasRegisteredApps, parseTargetUrl, registerAppInstance, setCurrentRouteLocation, syncAppRegistrationLocation, syncRegisteredRouteSnapshot, unregisterAppInstance };
|
|
104
|
-
|
|
105
|
-
//# sourceMappingURL=navigation-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-registry.js","names":[],"sources":["../../src/router/navigation-registry.ts"],"sourcesContent":["import type { Route, RouteAuthOptions, RouteManifest } from '../common/router';\nimport { isProductionEnvironment } from '../common/env';\nimport type { ComponentInstance } from '../runtime';\nimport {\n computeRouteActivityMatches,\n lockRouteRegistration,\n syncCurrentRouteSnapshot,\n} from './route';\n\nexport type AppNavigationSource = {\n manifest?: RouteManifest;\n routes?: readonly Route[];\n auth?: RouteAuthOptions;\n};\n\nexport type AppRegistration = AppNavigationSource & {\n instance: ComponentInstance;\n pathname: string;\n href: string;\n};\n\ntype NavigationRegistryHost = {\n cancelRouteRequests(): void;\n};\n\nlet currentInstance: ComponentInstance | null = null;\nlet currentPathname = '/';\nlet currentHref = '/';\nlet navigationRegistryHost: NavigationRegistryHost | null = null;\n\nconst registeredApps: AppRegistration[] = [];\n\nexport function configureNavigationRegistryHost(\n host: NavigationRegistryHost\n): void {\n navigationRegistryHost = host;\n}\n\nexport function getCurrentPathname(): string {\n return currentPathname;\n}\n\nexport function getCurrentHref(): string {\n return currentHref;\n}\n\nexport function setCurrentRouteLocation(pathname: string, href: string): void {\n currentPathname = pathname;\n currentHref = href;\n}\n\nexport function getWindowHref(): string {\n if (typeof window === 'undefined') {\n return currentHref;\n }\n\n return `${window.location.pathname}${window.location.search}${window.location.hash}`;\n}\n\nexport function parseTargetUrl(path: string): URL {\n const pathname = window.location.pathname || '/';\n const search = window.location.search || '';\n const hash = window.location.hash || '';\n const href =\n typeof window.location.href === 'string' ? window.location.href : '';\n const base =\n href &&\n href !== 'about:blank' &&\n !href.startsWith('about:') &&\n !href.startsWith('data:')\n ? href\n : `http://localhost${pathname}${search}${hash}`;\n\n return new URL(path, base);\n}\n\nexport function getRegisteredAppsSnapshot(): AppRegistration[] {\n return [...registeredApps];\n}\n\nexport function hasRegisteredApps(): boolean {\n return registeredApps.length > 0;\n}\n\nexport function syncAppRegistrationLocation(\n app: AppRegistration,\n pathname: string,\n href: string\n): void {\n app.pathname = pathname;\n app.href = href;\n}\n\nfunction collectRouteActivityMatches(\n pathname: string,\n apps: readonly AppRegistration[] = registeredApps\n) {\n const matches: ReturnType<typeof computeRouteActivityMatches> = [];\n const seenPaths = new Set<string>();\n\n for (const app of apps) {\n const appMatches = computeRouteActivityMatches(pathname, {\n manifest: app.manifest,\n routes: app.routes,\n });\n\n for (const match of appMatches) {\n if (seenPaths.has(match.path)) {\n continue;\n }\n seenPaths.add(match.path);\n matches.push(match);\n }\n }\n\n return matches;\n}\n\nexport function syncRegisteredRouteSnapshot(): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n const pathname = window.location.pathname || '/';\n syncCurrentRouteSnapshot(\n pathname,\n window.location.search || '',\n window.location.hash || '',\n collectRouteActivityMatches(pathname)\n );\n}\n\nexport function registerAppInstance(\n instance: ComponentInstance,\n path: string,\n source: AppNavigationSource = {}\n): void {\n const existingIndex = registeredApps.findIndex(\n (app) => app.instance === instance\n );\n const registration: AppRegistration = {\n instance,\n pathname: path,\n href: getWindowHref(),\n ...source,\n };\n if (existingIndex >= 0) {\n registeredApps[existingIndex] = registration;\n } else {\n registeredApps.push(registration);\n }\n\n currentInstance = instance;\n currentPathname = path;\n currentHref = getWindowHref();\n syncRegisteredRouteSnapshot();\n if (isProductionEnvironment()) {\n lockRouteRegistration();\n }\n}\n\nexport function unregisterAppInstance(instance: ComponentInstance): void {\n const existingIndex = registeredApps.findIndex(\n (app) => app.instance === instance\n );\n if (existingIndex >= 0) {\n registeredApps.splice(existingIndex, 1);\n }\n syncRegisteredRouteSnapshot();\n\n if (currentInstance !== instance) {\n return;\n }\n\n const nextApp =\n registeredApps.length > 0\n ? registeredApps[registeredApps.length - 1]!\n : null;\n currentInstance = nextApp?.instance ?? null;\n if (nextApp) {\n currentPathname = nextApp.pathname;\n currentHref = nextApp.href;\n syncRegisteredRouteSnapshot();\n return;\n }\n\n navigationRegistryHost?.cancelRouteRequests();\n currentPathname = '/';\n currentHref = '/';\n if (typeof window === 'undefined') {\n syncCurrentRouteSnapshot('/', '', '', []);\n }\n}\n"],"mappings":";;;;;;AAyBA,IAAI,kBAA4C;AAChD,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,yBAAwD;AAE5D,MAAM,iBAAoC,CAAC;AAE3C,SAAgB,gCACd,MACM;CACN,yBAAyB;AAC3B;AAEA,SAAgB,qBAA6B;CAC3C,OAAO;AACT;AAEA,SAAgB,iBAAyB;CACvC,OAAO;AACT;AAEA,SAAgB,wBAAwB,UAAkB,MAAoB;CAC5E,kBAAkB;CAClB,cAAc;AAChB;AAEA,SAAgB,gBAAwB;CACtC,IAAI,OAAO,WAAW,aACpB,OAAO;CAGT,OAAO,GAAG,OAAO,SAAS,WAAW,OAAO,SAAS,SAAS,OAAO,SAAS;AAChF;AAEA,SAAgB,eAAe,MAAmB;CAChD,MAAM,WAAW,OAAO,SAAS,YAAY;CAC7C,MAAM,SAAS,OAAO,SAAS,UAAU;CACzC,MAAM,OAAO,OAAO,SAAS,QAAQ;CACrC,MAAM,OACJ,OAAO,OAAO,SAAS,SAAS,WAAW,OAAO,SAAS,OAAO;CACpE,MAAM,OACJ,QACA,SAAS,iBACT,CAAC,KAAK,WAAW,QAAQ,KACzB,CAAC,KAAK,WAAW,OAAO,IACpB,OACA,mBAAmB,WAAW,SAAS;CAE7C,OAAO,IAAI,IAAI,MAAM,IAAI;AAC3B;AAEA,SAAgB,4BAA+C;CAC7D,OAAO,CAAC,GAAG,cAAc;AAC3B;AAEA,SAAgB,oBAA6B;CAC3C,OAAO,eAAe,SAAS;AACjC;AAEA,SAAgB,4BACd,KACA,UACA,MACM;CACN,IAAI,WAAW;CACf,IAAI,OAAO;AACb;AAEA,SAAS,4BACP,UACA,OAAmC,gBACnC;CACA,MAAM,UAA0D,CAAC;CACjE,MAAM,4BAAY,IAAI,IAAY;CAElC,KAAK,MAAM,OAAO,MAAM;EACtB,MAAM,aAAa,4BAA4B,UAAU;GACvD,UAAU,IAAI;GACd,QAAQ,IAAI;EACd,CAAC;EAED,KAAK,MAAM,SAAS,YAAY;GAC9B,IAAI,UAAU,IAAI,MAAM,IAAI,GAC1B;GAEF,UAAU,IAAI,MAAM,IAAI;GACxB,QAAQ,KAAK,KAAK;EACpB;CACF;CAEA,OAAO;AACT;AAEA,SAAgB,8BAAoC;CAClD,IAAI,OAAO,WAAW,aACpB;CAGF,MAAM,WAAW,OAAO,SAAS,YAAY;CAC7C,yBACE,UACA,OAAO,SAAS,UAAU,IAC1B,OAAO,SAAS,QAAQ,IACxB,4BAA4B,QAAQ,CACtC;AACF;AAEA,SAAgB,oBACd,UACA,MACA,SAA8B,CAAC,GACzB;CACN,MAAM,gBAAgB,eAAe,WAClC,QAAQ,IAAI,aAAa,QAC5B;CACA,MAAM,eAAgC;EACpC;EACA,UAAU;EACV,MAAM,cAAc;EACpB,GAAG;CACL;CACA,IAAI,iBAAiB,GACnB,eAAe,iBAAiB;MAEhC,eAAe,KAAK,YAAY;CAGlC,kBAAkB;CAClB,kBAAkB;CAClB,cAAc,cAAc;CAC5B,4BAA4B;CAC5B,IAAI,wBAAwB,GAC1B,sBAAsB;AAE1B;AAEA,SAAgB,sBAAsB,UAAmC;CACvE,MAAM,gBAAgB,eAAe,WAClC,QAAQ,IAAI,aAAa,QAC5B;CACA,IAAI,iBAAiB,GACnB,eAAe,OAAO,eAAe,CAAC;CAExC,4BAA4B;CAE5B,IAAI,oBAAoB,UACtB;CAGF,MAAM,UACJ,eAAe,SAAS,IACpB,eAAe,eAAe,SAAS,KACvC;CACN,kBAAkB,SAAS,YAAY;CACvC,IAAI,SAAS;EACX,kBAAkB,QAAQ;EAC1B,cAAc,QAAQ;EACtB,4BAA4B;EAC5B;CACF;CAEA,wBAAwB,oBAAoB;CAC5C,kBAAkB;CAClB,cAAc;CACd,IAAI,OAAO,WAAW,aACpB,yBAAyB,KAAK,IAAI,IAAI,CAAC,CAAC;AAE5C"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/router/navigation-scroll.d.ts
|
|
2
|
-
type NavigationScrollBehavior = 'top' | 'preserve';
|
|
3
|
-
type HistoryScrollBehavior = 'restore' | 'top' | 'preserve';
|
|
4
|
-
type ScrollRestorationOptions = {
|
|
5
|
-
navigation?: NavigationScrollBehavior;
|
|
6
|
-
history?: HistoryScrollBehavior;
|
|
7
|
-
};
|
|
8
|
-
declare function saveScrollPosition(href: string): void;
|
|
9
|
-
declare function applyNavigationScroll(behavior?: NavigationScrollBehavior): void;
|
|
10
|
-
declare function applyHistoryScroll(href: string, state: PopStateEvent['state']): void;
|
|
11
|
-
declare function configureScrollRestoration(options?: boolean | ScrollRestorationOptions): void;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { HistoryScrollBehavior, NavigationScrollBehavior, ScrollRestorationOptions };
|
|
14
|
-
//# sourceMappingURL=navigation-scroll.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-scroll.d.ts","names":[],"sources":["../../src/router/navigation-scroll.ts"],"mappings":";KAAY,wBAAA;AAAA,KACA,qBAAA;AAAA,KAEA,wBAAA;EACV,UAAA,GAAa,wBAAA;EACb,OAAA,GAAU,qBAAqB;AAAA;AAAA,iBAkGjB,kBAAA,CAAmB,IAAY;AAAA,iBAkB/B,qBAAA,CACd,QAAmC,GAAxB,wBAAwB;AAAA,iBAUrB,kBAAA,CACd,IAAA,UACA,KAAA,EAAO,aAAa;AAAA,iBA6BN,0BAAA,CACd,OAA4C,aAAxB,wBAAwB"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
//#region src/router/navigation-scroll.ts
|
|
2
|
-
const DEFAULT_SCROLL_RESTORATION = {
|
|
3
|
-
enabled: true,
|
|
4
|
-
navigation: "top",
|
|
5
|
-
history: "restore"
|
|
6
|
-
};
|
|
7
|
-
let scrollRestorationOptions = { ...DEFAULT_SCROLL_RESTORATION };
|
|
8
|
-
const scrollPositions = /* @__PURE__ */ new Map();
|
|
9
|
-
function getWindowHref() {
|
|
10
|
-
if (typeof window === "undefined") return "/";
|
|
11
|
-
return `${window.location.pathname}${window.location.search}${window.location.hash}`;
|
|
12
|
-
}
|
|
13
|
-
function normalizeScrollRestorationOptions(options) {
|
|
14
|
-
if (options === false) return {
|
|
15
|
-
enabled: false,
|
|
16
|
-
navigation: DEFAULT_SCROLL_RESTORATION.navigation,
|
|
17
|
-
history: DEFAULT_SCROLL_RESTORATION.history
|
|
18
|
-
};
|
|
19
|
-
if (options === true || options === void 0) return { ...DEFAULT_SCROLL_RESTORATION };
|
|
20
|
-
return {
|
|
21
|
-
enabled: true,
|
|
22
|
-
navigation: options.navigation ?? DEFAULT_SCROLL_RESTORATION.navigation,
|
|
23
|
-
history: options.history ?? DEFAULT_SCROLL_RESTORATION.history
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function readScrollPosition() {
|
|
27
|
-
if (typeof window === "undefined") return {
|
|
28
|
-
x: 0,
|
|
29
|
-
y: 0
|
|
30
|
-
};
|
|
31
|
-
return {
|
|
32
|
-
x: typeof window.scrollX === "number" ? window.scrollX : typeof window.pageXOffset === "number" ? window.pageXOffset : 0,
|
|
33
|
-
y: typeof window.scrollY === "number" ? window.scrollY : typeof window.pageYOffset === "number" ? window.pageYOffset : 0
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function writeHistoryScrollPosition(href, position) {
|
|
37
|
-
if (typeof window === "undefined" || getWindowHref() !== href) return;
|
|
38
|
-
if (typeof window.history?.replaceState !== "function") return;
|
|
39
|
-
const state = window.history.state && typeof window.history.state === "object" ? window.history.state : {};
|
|
40
|
-
window.history.replaceState({
|
|
41
|
-
...state,
|
|
42
|
-
path: href,
|
|
43
|
-
scroll: position
|
|
44
|
-
}, "", href);
|
|
45
|
-
}
|
|
46
|
-
function saveScrollPosition(href) {
|
|
47
|
-
if (!scrollRestorationOptions.enabled || typeof window === "undefined") return;
|
|
48
|
-
const position = readScrollPosition();
|
|
49
|
-
scrollPositions.set(href, position);
|
|
50
|
-
writeHistoryScrollPosition(href, position);
|
|
51
|
-
}
|
|
52
|
-
function scrollToPosition(position) {
|
|
53
|
-
if (typeof window === "undefined" || typeof window.scrollTo !== "function") return;
|
|
54
|
-
window.scrollTo(position.x, position.y);
|
|
55
|
-
}
|
|
56
|
-
function applyNavigationScroll(behavior) {
|
|
57
|
-
const nextBehavior = behavior ?? scrollRestorationOptions.navigation;
|
|
58
|
-
if (!scrollRestorationOptions.enabled || nextBehavior === "preserve") return;
|
|
59
|
-
scrollToPosition({
|
|
60
|
-
x: 0,
|
|
61
|
-
y: 0
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
function applyHistoryScroll(href, state) {
|
|
65
|
-
if (!scrollRestorationOptions.enabled) return;
|
|
66
|
-
if (scrollRestorationOptions.history === "preserve") return;
|
|
67
|
-
if (scrollRestorationOptions.history === "top") {
|
|
68
|
-
scrollToPosition({
|
|
69
|
-
x: 0,
|
|
70
|
-
y: 0
|
|
71
|
-
});
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const fromState = state && typeof state === "object" && "scroll" in state ? state.scroll : void 0;
|
|
75
|
-
scrollToPosition((fromState && typeof fromState.x === "number" && typeof fromState.y === "number" ? {
|
|
76
|
-
x: fromState.x,
|
|
77
|
-
y: fromState.y
|
|
78
|
-
} : scrollPositions.get(href)) ?? {
|
|
79
|
-
x: 0,
|
|
80
|
-
y: 0
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
function configureScrollRestoration(options) {
|
|
84
|
-
scrollRestorationOptions = normalizeScrollRestorationOptions(options);
|
|
85
|
-
if (typeof window === "undefined") return;
|
|
86
|
-
if ("scrollRestoration" in window.history) try {
|
|
87
|
-
window.history.scrollRestoration = scrollRestorationOptions.enabled ? "manual" : "auto";
|
|
88
|
-
} catch {}
|
|
89
|
-
}
|
|
90
|
-
//#endregion
|
|
91
|
-
export { applyHistoryScroll, applyNavigationScroll, configureScrollRestoration, saveScrollPosition };
|
|
92
|
-
|
|
93
|
-
//# sourceMappingURL=navigation-scroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-scroll.js","names":[],"sources":["../../src/router/navigation-scroll.ts"],"sourcesContent":["export type NavigationScrollBehavior = 'top' | 'preserve';\nexport type HistoryScrollBehavior = 'restore' | 'top' | 'preserve';\n\nexport type ScrollRestorationOptions = {\n navigation?: NavigationScrollBehavior;\n history?: HistoryScrollBehavior;\n};\n\ntype NormalizedScrollRestorationOptions = {\n enabled: boolean;\n navigation: NavigationScrollBehavior;\n history: HistoryScrollBehavior;\n};\n\nconst DEFAULT_SCROLL_RESTORATION: NormalizedScrollRestorationOptions = {\n enabled: true,\n navigation: 'top',\n history: 'restore',\n};\n\nlet scrollRestorationOptions: NormalizedScrollRestorationOptions = {\n ...DEFAULT_SCROLL_RESTORATION,\n};\n\nconst scrollPositions = new Map<string, { x: number; y: number }>();\n\nfunction getWindowHref(): string {\n if (typeof window === 'undefined') {\n return '/';\n }\n\n return `${window.location.pathname}${window.location.search}${window.location.hash}`;\n}\n\nfunction normalizeScrollRestorationOptions(\n options?: boolean | ScrollRestorationOptions\n): NormalizedScrollRestorationOptions {\n if (options === false) {\n return {\n enabled: false,\n navigation: DEFAULT_SCROLL_RESTORATION.navigation,\n history: DEFAULT_SCROLL_RESTORATION.history,\n };\n }\n\n if (options === true || options === undefined) {\n return { ...DEFAULT_SCROLL_RESTORATION };\n }\n\n return {\n enabled: true,\n navigation: options.navigation ?? DEFAULT_SCROLL_RESTORATION.navigation,\n history: options.history ?? DEFAULT_SCROLL_RESTORATION.history,\n };\n}\n\nfunction readScrollPosition(): { x: number; y: number } {\n if (typeof window === 'undefined') {\n return { x: 0, y: 0 };\n }\n\n const x =\n typeof window.scrollX === 'number'\n ? window.scrollX\n : typeof window.pageXOffset === 'number'\n ? window.pageXOffset\n : 0;\n const y =\n typeof window.scrollY === 'number'\n ? window.scrollY\n : typeof window.pageYOffset === 'number'\n ? window.pageYOffset\n : 0;\n\n return { x, y };\n}\n\nfunction writeHistoryScrollPosition(\n href: string,\n position: { x: number; y: number }\n): void {\n if (typeof window === 'undefined' || getWindowHref() !== href) {\n return;\n }\n if (typeof window.history?.replaceState !== 'function') {\n return;\n }\n const state =\n window.history.state && typeof window.history.state === 'object'\n ? window.history.state\n : {};\n\n window.history.replaceState(\n {\n ...state,\n path: href,\n scroll: position,\n },\n '',\n href\n );\n}\n\nexport function saveScrollPosition(href: string): void {\n if (!scrollRestorationOptions.enabled || typeof window === 'undefined') {\n return;\n }\n\n const position = readScrollPosition();\n scrollPositions.set(href, position);\n writeHistoryScrollPosition(href, position);\n}\n\nfunction scrollToPosition(position: { x: number; y: number }): void {\n if (typeof window === 'undefined' || typeof window.scrollTo !== 'function') {\n return;\n }\n\n window.scrollTo(position.x, position.y);\n}\n\nexport function applyNavigationScroll(\n behavior?: NavigationScrollBehavior\n): void {\n const nextBehavior = behavior ?? scrollRestorationOptions.navigation;\n if (!scrollRestorationOptions.enabled || nextBehavior === 'preserve') {\n return;\n }\n\n scrollToPosition({ x: 0, y: 0 });\n}\n\nexport function applyHistoryScroll(\n href: string,\n state: PopStateEvent['state']\n): void {\n if (!scrollRestorationOptions.enabled) {\n return;\n }\n\n if (scrollRestorationOptions.history === 'preserve') {\n return;\n }\n\n if (scrollRestorationOptions.history === 'top') {\n scrollToPosition({ x: 0, y: 0 });\n return;\n }\n\n const fromState =\n state && typeof state === 'object' && 'scroll' in state\n ? (state.scroll as { x?: unknown; y?: unknown })\n : undefined;\n const saved =\n fromState &&\n typeof fromState.x === 'number' &&\n typeof fromState.y === 'number'\n ? { x: fromState.x, y: fromState.y }\n : scrollPositions.get(href);\n\n scrollToPosition(saved ?? { x: 0, y: 0 });\n}\n\nexport function configureScrollRestoration(\n options?: boolean | ScrollRestorationOptions\n): void {\n scrollRestorationOptions = normalizeScrollRestorationOptions(options);\n\n if (typeof window === 'undefined') {\n return;\n }\n\n if ('scrollRestoration' in window.history) {\n try {\n window.history.scrollRestoration = scrollRestorationOptions.enabled\n ? 'manual'\n : 'auto';\n } catch {\n // Ignore environments that expose but do not allow setting scrollRestoration.\n }\n }\n}\n"],"mappings":";AAcA,MAAM,6BAAiE;CACrE,SAAS;CACT,YAAY;CACZ,SAAS;AACX;AAEA,IAAI,2BAA+D,EACjE,GAAG,2BACL;AAEA,MAAM,kCAAkB,IAAI,IAAsC;AAElE,SAAS,gBAAwB;CAC/B,IAAI,OAAO,WAAW,aACpB,OAAO;CAGT,OAAO,GAAG,OAAO,SAAS,WAAW,OAAO,SAAS,SAAS,OAAO,SAAS;AAChF;AAEA,SAAS,kCACP,SACoC;CACpC,IAAI,YAAY,OACd,OAAO;EACL,SAAS;EACT,YAAY,2BAA2B;EACvC,SAAS,2BAA2B;CACtC;CAGF,IAAI,YAAY,QAAQ,YAAY,QAClC,OAAO,EAAE,GAAG,2BAA2B;CAGzC,OAAO;EACL,SAAS;EACT,YAAY,QAAQ,cAAc,2BAA2B;EAC7D,SAAS,QAAQ,WAAW,2BAA2B;CACzD;AACF;AAEA,SAAS,qBAA+C;CACtD,IAAI,OAAO,WAAW,aACpB,OAAO;EAAE,GAAG;EAAG,GAAG;CAAE;CAgBtB,OAAO;EAAE,GAZP,OAAO,OAAO,YAAY,WACtB,OAAO,UACP,OAAO,OAAO,gBAAgB,WAC5B,OAAO,cACP;EAQI,GANV,OAAO,OAAO,YAAY,WACtB,OAAO,UACP,OAAO,OAAO,gBAAgB,WAC5B,OAAO,cACP;CAEM;AAChB;AAEA,SAAS,2BACP,MACA,UACM;CACN,IAAI,OAAO,WAAW,eAAe,cAAc,MAAM,MACvD;CAEF,IAAI,OAAO,OAAO,SAAS,iBAAiB,YAC1C;CAEF,MAAM,QACJ,OAAO,QAAQ,SAAS,OAAO,OAAO,QAAQ,UAAU,WACpD,OAAO,QAAQ,QACf,CAAC;CAEP,OAAO,QAAQ,aACb;EACE,GAAG;EACH,MAAM;EACN,QAAQ;CACV,GACA,IACA,IACF;AACF;AAEA,SAAgB,mBAAmB,MAAoB;CACrD,IAAI,CAAC,yBAAyB,WAAW,OAAO,WAAW,aACzD;CAGF,MAAM,WAAW,mBAAmB;CACpC,gBAAgB,IAAI,MAAM,QAAQ;CAClC,2BAA2B,MAAM,QAAQ;AAC3C;AAEA,SAAS,iBAAiB,UAA0C;CAClE,IAAI,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa,YAC9D;CAGF,OAAO,SAAS,SAAS,GAAG,SAAS,CAAC;AACxC;AAEA,SAAgB,sBACd,UACM;CACN,MAAM,eAAe,YAAY,yBAAyB;CAC1D,IAAI,CAAC,yBAAyB,WAAW,iBAAiB,YACxD;CAGF,iBAAiB;EAAE,GAAG;EAAG,GAAG;CAAE,CAAC;AACjC;AAEA,SAAgB,mBACd,MACA,OACM;CACN,IAAI,CAAC,yBAAyB,SAC5B;CAGF,IAAI,yBAAyB,YAAY,YACvC;CAGF,IAAI,yBAAyB,YAAY,OAAO;EAC9C,iBAAiB;GAAE,GAAG;GAAG,GAAG;EAAE,CAAC;EAC/B;CACF;CAEA,MAAM,YACJ,SAAS,OAAO,UAAU,YAAY,YAAY,QAC7C,MAAM,SACP;CAQN,kBANE,aACA,OAAO,UAAU,MAAM,YACvB,OAAO,UAAU,MAAM,WACnB;EAAE,GAAG,UAAU;EAAG,GAAG,UAAU;CAAE,IACjC,gBAAgB,IAAI,IAAI,MAEJ;EAAE,GAAG;EAAG,GAAG;CAAE,CAAC;AAC1C;AAEA,SAAgB,2BACd,SACM;CACN,2BAA2B,kCAAkC,OAAO;CAEpE,IAAI,OAAO,WAAW,aACpB;CAGF,IAAI,uBAAuB,OAAO,SAChC,IAAI;EACF,OAAO,QAAQ,oBAAoB,yBAAyB,UACxD,WACA;CACN,QAAQ,CAER;AAEJ"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { RouteRequestResult } from "../common/router.js";
|
|
2
|
-
import { NavigationScrollBehavior } from "./navigation-scroll.js";
|
|
3
|
-
import { AppRegistration } from "./navigation-registry.js";
|
|
4
|
-
|
|
5
|
-
//#region src/router/navigation-targets.d.ts
|
|
6
|
-
type NavigateOptions = {
|
|
7
|
-
history?: 'push' | 'replace';
|
|
8
|
-
replace?: boolean;
|
|
9
|
-
scroll?: NavigationScrollBehavior;
|
|
10
|
-
};
|
|
11
|
-
type NavigationRedirectState = {
|
|
12
|
-
redirects: number;
|
|
13
|
-
visited: Set<string>;
|
|
14
|
-
};
|
|
15
|
-
type AppNavigationTarget = {
|
|
16
|
-
app: AppRegistration;
|
|
17
|
-
resolved: RouteRequestResult;
|
|
18
|
-
};
|
|
19
|
-
declare function beginRouteRequest(): {
|
|
20
|
-
id: number;
|
|
21
|
-
signal: AbortSignal;
|
|
22
|
-
};
|
|
23
|
-
declare function isStaleRouteRequest(requestId: number): boolean;
|
|
24
|
-
declare function cancelRouteRequests(): void;
|
|
25
|
-
declare function getRedirectHistoryMode(replace: boolean | undefined): 'push' | 'replace';
|
|
26
|
-
declare function resolveNavigationTargetsForApps(pathname: string, href: string, signal: AbortSignal): AppNavigationTarget[] | Promise<AppNavigationTarget[]>;
|
|
27
|
-
declare function applyNavigationTargets(path: string, options: NavigateOptions, redirectState: NavigationRedirectState, pathname: string, href: string, targets: AppNavigationTarget[], navigateWithRedirectState: (path: string, options: NavigateOptions, redirectState: NavigationRedirectState) => void): void;
|
|
28
|
-
declare function applyPopStateNavigationTargets(requestId: number, pathname: string, href: string, state: unknown, targets: AppNavigationTarget[], navigate: (path: string, options: NavigateOptions) => void): void;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { AppNavigationTarget, NavigateOptions, NavigationRedirectState };
|
|
31
|
-
//# sourceMappingURL=navigation-targets.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-targets.d.ts","names":[],"sources":["../../src/router/navigation-targets.ts"],"mappings":";;;;;KAkCY,eAAA;EACV,OAAA;EACA,OAAA;EACA,MAAA,GAAS,wBAAwB;AAAA;AAAA,KAGvB,uBAAA;EACV,SAAA;EACA,OAAA,EAAS,GAAG;AAAA;AAAA,KAGF,mBAAA;EACV,GAAA,EAAK,eAAA;EACL,QAAA,EAAU,kBAAkB;AAAA;AAAA,iBAQd,iBAAA;EAAuB,EAAA;EAAY,MAAA,EAAQ,WAAW;AAAA;AAAA,iBAWtD,mBAAA,CAAoB,SAAiB;AAAA,iBAIrC,mBAAA;AAAA,iBAYA,sBAAA,CACd,OAA4B;AAAA,iBA+Kd,+BAAA,CACd,QAAA,UACA,IAAA,UACA,MAAA,EAAQ,WAAA,GACP,mBAAA,KAAwB,OAAA,CAAQ,mBAAA;AAAA,iBAgDnB,sBAAA,CACd,IAAA,UACA,OAAA,EAAS,eAAA,EACT,aAAA,EAAe,uBAAA,EACf,QAAA,UACA,IAAA,UACA,OAAA,EAAS,mBAAA,IACT,yBAAA,GACE,IAAA,UACA,OAAA,EAAS,eAAA,EACT,aAAA,EAAe,uBAAA;AAAA,iBA6FH,8BAAA,CACd,SAAA,UACA,QAAA,UACA,IAAA,UACA,KAAA,WACA,OAAA,EAAS,mBAAA,IACT,QAAA,GAAW,IAAA,UAAc,OAAA,EAAS,eAAe"}
|