@angular/router 20.0.0-next.9 → 20.0.0-rc.1
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/fesm2022/{router-BxrGTdzL.mjs → router-BCAMvkKO.mjs} +116 -119
- package/fesm2022/router-BCAMvkKO.mjs.map +1 -0
- package/fesm2022/router.mjs +4 -4
- package/fesm2022/router.mjs.map +1 -1
- package/fesm2022/{router_module-avVs2gWt.mjs → router_module-CmZ6FD0-.mjs} +77 -61
- package/fesm2022/router_module-CmZ6FD0-.mjs.map +1 -0
- package/fesm2022/testing.mjs +15 -15
- package/fesm2022/upgrade.mjs +2 -2
- package/fesm2022/upgrade.mjs.map +1 -1
- package/index.d.ts +8 -11
- package/package.json +5 -5
- package/{router_module.d-D4HmHYPv.d.ts → router_module.d-BX1wlLux.d.ts} +22 -17
- package/testing/index.d.ts +3 -4
- package/upgrade/index.d.ts +1 -1
- package/fesm2022/router-BxrGTdzL.mjs.map +0 -1
- package/fesm2022/router_module-avVs2gWt.mjs.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.0.0-
|
|
2
|
+
* @license Angular v20.0.0-rc.1
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { DOCUMENT, Location } from '@angular/common';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
|
-
import { ɵisPromise as _isPromise, ɵRuntimeError as _RuntimeError, Injectable, ɵisNgModule as _isNgModule, isStandalone, createEnvironmentInjector, InjectionToken, EventEmitter, input, inject, ViewContainerRef, ChangeDetectorRef, Output, Input, Directive, reflectComponentType, ɵisInjectable as _isInjectable, runInInjectionContext,
|
|
9
|
+
import { ɵisPromise as _isPromise, ɵRuntimeError as _RuntimeError, Injectable, ɵisNgModule as _isNgModule, isStandalone, createEnvironmentInjector, InjectionToken, EventEmitter, input, inject, ViewContainerRef, ChangeDetectorRef, Output, Input, Directive, reflectComponentType, Component, ɵisInjectable as _isInjectable, runInInjectionContext, NgModuleFactory, Compiler, afterNextRender, EnvironmentInjector, DestroyRef, ɵConsole as _Console, ɵPendingTasksInternal as _PendingTasksInternal, ɵINTERNAL_APPLICATION_ERROR_HANDLER as _INTERNAL_APPLICATION_ERROR_HANDLER } from '@angular/core';
|
|
10
10
|
import { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, concat, defer, pipe, throwError, EMPTY, ConnectableObservable, Subject, Observable, Subscription } from 'rxjs';
|
|
11
11
|
import { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, defaultIfEmpty, last as last$1, takeLast, finalize, refCount, takeUntil } from 'rxjs/operators';
|
|
12
12
|
import * as i1 from '@angular/platform-browser';
|
|
@@ -432,10 +432,10 @@ function mapChildrenIntoArray(segment, fn) {
|
|
|
432
432
|
* @publicApi
|
|
433
433
|
*/
|
|
434
434
|
class UrlSerializer {
|
|
435
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
436
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
435
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
436
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
|
|
437
437
|
}
|
|
438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: UrlSerializer, decorators: [{
|
|
439
439
|
type: Injectable,
|
|
440
440
|
args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
|
|
441
441
|
}] });
|
|
@@ -2074,7 +2074,7 @@ class ChildrenOutletContexts {
|
|
|
2074
2074
|
rootInjector;
|
|
2075
2075
|
// contexts for child outlets, by name.
|
|
2076
2076
|
contexts = new Map();
|
|
2077
|
-
/** @
|
|
2077
|
+
/** @docs-private */
|
|
2078
2078
|
constructor(rootInjector) {
|
|
2079
2079
|
this.rootInjector = rootInjector;
|
|
2080
2080
|
}
|
|
@@ -2119,10 +2119,10 @@ class ChildrenOutletContexts {
|
|
|
2119
2119
|
getContext(childName) {
|
|
2120
2120
|
return this.contexts.get(childName) || null;
|
|
2121
2121
|
}
|
|
2122
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
2123
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
2122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: ChildrenOutletContexts, deps: [{ token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2123
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
|
|
2124
2124
|
}
|
|
2125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
2125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
|
|
2126
2126
|
type: Injectable,
|
|
2127
2127
|
args: [{ providedIn: 'root' }]
|
|
2128
2128
|
}], ctorParameters: () => [{ type: i0.EnvironmentInjector }] });
|
|
@@ -2778,9 +2778,9 @@ class RouterOutlet {
|
|
|
2778
2778
|
location = inject(ViewContainerRef);
|
|
2779
2779
|
changeDetector = inject(ChangeDetectorRef);
|
|
2780
2780
|
inputBinder = inject(INPUT_BINDER, { optional: true });
|
|
2781
|
-
/** @
|
|
2781
|
+
/** @docs-private */
|
|
2782
2782
|
supportsBindingToComponentInputs = true;
|
|
2783
|
-
/** @
|
|
2783
|
+
/** @docs-private */
|
|
2784
2784
|
ngOnChanges(changes) {
|
|
2785
2785
|
if (changes['name']) {
|
|
2786
2786
|
const { firstChange, previousValue } = changes['name'];
|
|
@@ -2798,7 +2798,7 @@ class RouterOutlet {
|
|
|
2798
2798
|
this.initializeOutletWithName();
|
|
2799
2799
|
}
|
|
2800
2800
|
}
|
|
2801
|
-
/** @
|
|
2801
|
+
/** @docs-private */
|
|
2802
2802
|
ngOnDestroy() {
|
|
2803
2803
|
// Ensure that the registered outlet is this one before removing it on the context.
|
|
2804
2804
|
if (this.isTrackedInParentContexts(this.name)) {
|
|
@@ -2809,7 +2809,7 @@ class RouterOutlet {
|
|
|
2809
2809
|
isTrackedInParentContexts(outletName) {
|
|
2810
2810
|
return this.parentContexts.getContext(outletName)?.outlet === this;
|
|
2811
2811
|
}
|
|
2812
|
-
/** @
|
|
2812
|
+
/** @docs-private */
|
|
2813
2813
|
ngOnInit() {
|
|
2814
2814
|
this.initializeOutletWithName();
|
|
2815
2815
|
}
|
|
@@ -2909,10 +2909,10 @@ class RouterOutlet {
|
|
|
2909
2909
|
this.inputBinder?.bindActivatedRouteToOutletComponent(this);
|
|
2910
2910
|
this.activateEvents.emit(this.activated.instance);
|
|
2911
2911
|
}
|
|
2912
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
2913
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.0-
|
|
2912
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2913
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.0-rc.1", type: RouterOutlet, isStandalone: true, selector: "router-outlet", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, routerOutletData: { classPropertyName: "routerOutletData", publicName: "routerOutletData", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], usesOnChanges: true, ngImport: i0 });
|
|
2914
2914
|
}
|
|
2915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
2915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouterOutlet, decorators: [{
|
|
2916
2916
|
type: Directive,
|
|
2917
2917
|
args: [{
|
|
2918
2918
|
selector: 'router-outlet',
|
|
@@ -3022,13 +3022,51 @@ class RoutedComponentInputBinder {
|
|
|
3022
3022
|
});
|
|
3023
3023
|
this.outletDataSubscriptions.set(outlet, dataSubscription);
|
|
3024
3024
|
}
|
|
3025
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
3026
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
3025
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3026
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RoutedComponentInputBinder });
|
|
3027
3027
|
}
|
|
3028
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
3028
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
|
|
3029
3029
|
type: Injectable
|
|
3030
3030
|
}] });
|
|
3031
3031
|
|
|
3032
|
+
/**
|
|
3033
|
+
* This component is used internally within the router to be a placeholder when an empty
|
|
3034
|
+
* router-outlet is needed. For example, with a config such as:
|
|
3035
|
+
*
|
|
3036
|
+
* `{path: 'parent', outlet: 'nav', children: [...]}`
|
|
3037
|
+
*
|
|
3038
|
+
* In order to render, there needs to be a component on this config, which will default
|
|
3039
|
+
* to this `EmptyOutletComponent`.
|
|
3040
|
+
*/
|
|
3041
|
+
class ɵEmptyOutletComponent {
|
|
3042
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3043
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-rc.1", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", exportAs: ["emptyRouterOutlet"], ngImport: i0, template: `<router-outlet/>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
3044
|
+
}
|
|
3045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
|
|
3046
|
+
type: Component,
|
|
3047
|
+
args: [{
|
|
3048
|
+
template: `<router-outlet/>`,
|
|
3049
|
+
imports: [RouterOutlet],
|
|
3050
|
+
// Used to avoid component ID collisions with user code.
|
|
3051
|
+
exportAs: 'emptyRouterOutlet',
|
|
3052
|
+
}]
|
|
3053
|
+
}] });
|
|
3054
|
+
/**
|
|
3055
|
+
* Makes a copy of the config and adds any default required properties.
|
|
3056
|
+
*/
|
|
3057
|
+
function standardizeConfig(r) {
|
|
3058
|
+
const children = r.children && r.children.map(standardizeConfig);
|
|
3059
|
+
const c = children ? { ...r, children } : { ...r };
|
|
3060
|
+
if (!c.component &&
|
|
3061
|
+
!c.loadComponent &&
|
|
3062
|
+
(children || c.loadChildren) &&
|
|
3063
|
+
c.outlet &&
|
|
3064
|
+
c.outlet !== PRIMARY_OUTLET) {
|
|
3065
|
+
c.component = ɵEmptyOutletComponent;
|
|
3066
|
+
}
|
|
3067
|
+
return c;
|
|
3068
|
+
}
|
|
3069
|
+
|
|
3032
3070
|
function createRouterState(routeReuseStrategy, curr, prevState) {
|
|
3033
3071
|
const root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : undefined);
|
|
3034
3072
|
return new RouterState(root, curr);
|
|
@@ -3089,7 +3127,7 @@ function createActivatedRoute(c) {
|
|
|
3089
3127
|
* if (!authService.isLoggedIn()) {
|
|
3090
3128
|
* const loginPath = router.parseUrl("/login");
|
|
3091
3129
|
* return new RedirectCommand(loginPath, {
|
|
3092
|
-
* skipLocationChange:
|
|
3130
|
+
* skipLocationChange: true,
|
|
3093
3131
|
* });
|
|
3094
3132
|
* }
|
|
3095
3133
|
*
|
|
@@ -4365,10 +4403,10 @@ class TitleStrategy {
|
|
|
4365
4403
|
getResolvedTitleForRoute(snapshot) {
|
|
4366
4404
|
return snapshot.data[RouteTitleKey];
|
|
4367
4405
|
}
|
|
4368
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
4369
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
4406
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4407
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
|
|
4370
4408
|
}
|
|
4371
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
4409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: TitleStrategy, decorators: [{
|
|
4372
4410
|
type: Injectable,
|
|
4373
4411
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
|
|
4374
4412
|
}] });
|
|
@@ -4392,10 +4430,10 @@ class DefaultTitleStrategy extends TitleStrategy {
|
|
|
4392
4430
|
this.title.setTitle(title);
|
|
4393
4431
|
}
|
|
4394
4432
|
}
|
|
4395
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
4396
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
4433
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4434
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
|
|
4397
4435
|
}
|
|
4398
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
4436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
|
|
4399
4437
|
type: Injectable,
|
|
4400
4438
|
args: [{ providedIn: 'root' }]
|
|
4401
4439
|
}], ctorParameters: () => [{ type: i1.Title }] });
|
|
@@ -4410,44 +4448,6 @@ const ROUTER_CONFIGURATION = new InjectionToken(typeof ngDevMode === 'undefined'
|
|
|
4410
4448
|
factory: () => ({}),
|
|
4411
4449
|
});
|
|
4412
4450
|
|
|
4413
|
-
/**
|
|
4414
|
-
* This component is used internally within the router to be a placeholder when an empty
|
|
4415
|
-
* router-outlet is needed. For example, with a config such as:
|
|
4416
|
-
*
|
|
4417
|
-
* `{path: 'parent', outlet: 'nav', children: [...]}`
|
|
4418
|
-
*
|
|
4419
|
-
* In order to render, there needs to be a component on this config, which will default
|
|
4420
|
-
* to this `EmptyOutletComponent`.
|
|
4421
|
-
*/
|
|
4422
|
-
class ɵEmptyOutletComponent {
|
|
4423
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.9", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4424
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-next.9", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", exportAs: ["emptyRouterOutlet"], ngImport: i0, template: `<router-outlet/>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
4425
|
-
}
|
|
4426
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.9", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
|
|
4427
|
-
type: Component,
|
|
4428
|
-
args: [{
|
|
4429
|
-
template: `<router-outlet/>`,
|
|
4430
|
-
imports: [RouterOutlet],
|
|
4431
|
-
// Used to avoid component ID collisions with user code.
|
|
4432
|
-
exportAs: 'emptyRouterOutlet',
|
|
4433
|
-
}]
|
|
4434
|
-
}] });
|
|
4435
|
-
/**
|
|
4436
|
-
* Makes a copy of the config and adds any default required properties.
|
|
4437
|
-
*/
|
|
4438
|
-
function standardizeConfig(r) {
|
|
4439
|
-
const children = r.children && r.children.map(standardizeConfig);
|
|
4440
|
-
const c = children ? { ...r, children } : { ...r };
|
|
4441
|
-
if (!c.component &&
|
|
4442
|
-
!c.loadComponent &&
|
|
4443
|
-
(children || c.loadChildren) &&
|
|
4444
|
-
c.outlet &&
|
|
4445
|
-
c.outlet !== PRIMARY_OUTLET) {
|
|
4446
|
-
c.component = ɵEmptyOutletComponent;
|
|
4447
|
-
}
|
|
4448
|
-
return c;
|
|
4449
|
-
}
|
|
4450
|
-
|
|
4451
4451
|
/**
|
|
4452
4452
|
* The DI token for a router configuration.
|
|
4453
4453
|
*
|
|
@@ -4509,10 +4509,10 @@ class RouterConfigLoader {
|
|
|
4509
4509
|
this.childrenLoaders.set(route, loader);
|
|
4510
4510
|
return loader;
|
|
4511
4511
|
}
|
|
4512
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
4513
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
4512
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4513
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
|
|
4514
4514
|
}
|
|
4515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
4515
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouterConfigLoader, decorators: [{
|
|
4516
4516
|
type: Injectable,
|
|
4517
4517
|
args: [{ providedIn: 'root' }]
|
|
4518
4518
|
}] });
|
|
@@ -4579,10 +4579,10 @@ function maybeUnwrapDefaultExport(input) {
|
|
|
4579
4579
|
* @publicApi
|
|
4580
4580
|
*/
|
|
4581
4581
|
class UrlHandlingStrategy {
|
|
4582
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
4583
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
4582
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4583
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
|
|
4584
4584
|
}
|
|
4585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
4585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
|
|
4586
4586
|
type: Injectable,
|
|
4587
4587
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
|
|
4588
4588
|
}] });
|
|
@@ -4599,10 +4599,10 @@ class DefaultUrlHandlingStrategy {
|
|
|
4599
4599
|
merge(newUrlPart, wholeUrl) {
|
|
4600
4600
|
return newUrlPart;
|
|
4601
4601
|
}
|
|
4602
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
4603
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
4602
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4603
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
|
|
4604
4604
|
}
|
|
4605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
4605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
|
|
4606
4606
|
type: Injectable,
|
|
4607
4607
|
args: [{ providedIn: 'root' }]
|
|
4608
4608
|
}] });
|
|
@@ -4618,33 +4618,30 @@ const VIEW_TRANSITION_OPTIONS = new InjectionToken(ngDevMode ? 'view transition
|
|
|
4618
4618
|
function createViewTransition(injector, from, to) {
|
|
4619
4619
|
const transitionOptions = injector.get(VIEW_TRANSITION_OPTIONS);
|
|
4620
4620
|
const document = injector.get(DOCUMENT);
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
const viewTransitionStarted = new Promise((resolve) => {
|
|
4632
|
-
resolveViewTransitionStarted = resolve;
|
|
4633
|
-
});
|
|
4634
|
-
const transition = document.startViewTransition(() => {
|
|
4635
|
-
resolveViewTransitionStarted();
|
|
4636
|
-
// We don't actually update dom within the transition callback. The resolving of the above
|
|
4637
|
-
// promise unblocks the Router navigation, which synchronously activates and deactivates
|
|
4638
|
-
// routes (the DOM update). This view transition waits for the next change detection to
|
|
4639
|
-
// complete (below), which includes the update phase of the routed components.
|
|
4640
|
-
return createRenderPromise(injector);
|
|
4641
|
-
});
|
|
4642
|
-
const { onViewTransitionCreated } = transitionOptions;
|
|
4643
|
-
if (onViewTransitionCreated) {
|
|
4644
|
-
runInInjectionContext(injector, () => onViewTransitionCreated({ transition, from, to }));
|
|
4645
|
-
}
|
|
4646
|
-
return viewTransitionStarted;
|
|
4621
|
+
if (!document.startViewTransition || transitionOptions.skipNextTransition) {
|
|
4622
|
+
transitionOptions.skipNextTransition = false;
|
|
4623
|
+
// The timing of `startViewTransition` is closer to a macrotask. It won't be called
|
|
4624
|
+
// until the current event loop exits so we use a promise resolved in a timeout instead
|
|
4625
|
+
// of Promise.resolve().
|
|
4626
|
+
return new Promise((resolve) => setTimeout(resolve));
|
|
4627
|
+
}
|
|
4628
|
+
let resolveViewTransitionStarted;
|
|
4629
|
+
const viewTransitionStarted = new Promise((resolve) => {
|
|
4630
|
+
resolveViewTransitionStarted = resolve;
|
|
4647
4631
|
});
|
|
4632
|
+
const transition = document.startViewTransition(() => {
|
|
4633
|
+
resolveViewTransitionStarted();
|
|
4634
|
+
// We don't actually update dom within the transition callback. The resolving of the above
|
|
4635
|
+
// promise unblocks the Router navigation, which synchronously activates and deactivates
|
|
4636
|
+
// routes (the DOM update). This view transition waits for the next change detection to
|
|
4637
|
+
// complete (below), which includes the update phase of the routed components.
|
|
4638
|
+
return createRenderPromise(injector);
|
|
4639
|
+
});
|
|
4640
|
+
const { onViewTransitionCreated } = transitionOptions;
|
|
4641
|
+
if (onViewTransitionCreated) {
|
|
4642
|
+
runInInjectionContext(injector, () => onViewTransitionCreated({ transition, from, to }));
|
|
4643
|
+
}
|
|
4644
|
+
return viewTransitionStarted;
|
|
4648
4645
|
}
|
|
4649
4646
|
/**
|
|
4650
4647
|
* Creates a promise that resolves after next render.
|
|
@@ -5059,10 +5056,10 @@ class NavigationTransitions {
|
|
|
5059
5056
|
return (currentBrowserUrl.toString() !== targetBrowserUrl?.toString() &&
|
|
5060
5057
|
!this.currentNavigation?.extras.skipLocationChange);
|
|
5061
5058
|
}
|
|
5062
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
5063
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
5059
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5060
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
|
|
5064
5061
|
}
|
|
5065
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
5062
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: NavigationTransitions, decorators: [{
|
|
5066
5063
|
type: Injectable,
|
|
5067
5064
|
args: [{ providedIn: 'root' }]
|
|
5068
5065
|
}], ctorParameters: () => [] });
|
|
@@ -5078,10 +5075,10 @@ function isBrowserTriggeredNavigation(source) {
|
|
|
5078
5075
|
* @publicApi
|
|
5079
5076
|
*/
|
|
5080
5077
|
class RouteReuseStrategy {
|
|
5081
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
5082
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
5078
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5079
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
|
|
5083
5080
|
}
|
|
5084
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
5081
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: RouteReuseStrategy, decorators: [{
|
|
5085
5082
|
type: Injectable,
|
|
5086
5083
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
|
|
5087
5084
|
}] });
|
|
@@ -5132,10 +5129,10 @@ class BaseRouteReuseStrategy {
|
|
|
5132
5129
|
}
|
|
5133
5130
|
}
|
|
5134
5131
|
class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
|
|
5135
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
5136
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
5132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5133
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
|
|
5137
5134
|
}
|
|
5138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
5135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
|
|
5139
5136
|
type: Injectable,
|
|
5140
5137
|
args: [{ providedIn: 'root' }]
|
|
5141
5138
|
}] });
|
|
@@ -5234,10 +5231,10 @@ class StateManager {
|
|
|
5234
5231
|
// when merging, such as the query params so they are not lost on a refresh.
|
|
5235
5232
|
this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, finalUrl ?? this.rawUrlTree);
|
|
5236
5233
|
}
|
|
5237
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
5238
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
5234
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5235
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) });
|
|
5239
5236
|
}
|
|
5240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
5237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: StateManager, decorators: [{
|
|
5241
5238
|
type: Injectable,
|
|
5242
5239
|
args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
|
|
5243
5240
|
}] });
|
|
@@ -5369,10 +5366,10 @@ class HistoryStateManager extends StateManager {
|
|
|
5369
5366
|
}
|
|
5370
5367
|
return { navigationId };
|
|
5371
5368
|
}
|
|
5372
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
5373
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
5369
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5370
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: HistoryStateManager, providedIn: 'root' });
|
|
5374
5371
|
}
|
|
5375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
5372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: HistoryStateManager, decorators: [{
|
|
5376
5373
|
type: Injectable,
|
|
5377
5374
|
args: [{ providedIn: 'root' }]
|
|
5378
5375
|
}] });
|
|
@@ -5677,7 +5674,7 @@ class Router {
|
|
|
5677
5674
|
this.config = config.map(standardizeConfig);
|
|
5678
5675
|
this.navigated = false;
|
|
5679
5676
|
}
|
|
5680
|
-
/** @
|
|
5677
|
+
/** @docs-private */
|
|
5681
5678
|
ngOnDestroy() {
|
|
5682
5679
|
this.dispose();
|
|
5683
5680
|
}
|
|
@@ -5934,10 +5931,10 @@ class Router {
|
|
|
5934
5931
|
return Promise.reject(e);
|
|
5935
5932
|
});
|
|
5936
5933
|
}
|
|
5937
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-
|
|
5938
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-
|
|
5934
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5935
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: Router, providedIn: 'root' });
|
|
5939
5936
|
}
|
|
5940
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-
|
|
5937
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-rc.1", ngImport: i0, type: Router, decorators: [{
|
|
5941
5938
|
type: Injectable,
|
|
5942
5939
|
args: [{ providedIn: 'root' }]
|
|
5943
5940
|
}], ctorParameters: () => [] });
|
|
@@ -5952,4 +5949,4 @@ function validateCommands(commands) {
|
|
|
5952
5949
|
}
|
|
5953
5950
|
|
|
5954
5951
|
export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, CREATE_VIEW_TRANSITION, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, IMPERATIVE_NAVIGATION, INPUT_BINDER, NAVIGATION_ERROR_HANDLER, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, NavigationTransitions, OutletContext, PRIMARY_OUTLET, ROUTER_CONFIGURATION, ROUTER_OUTLET_DATA, ROUTES, RedirectCommand, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, RoutedComponentInputBinder, Router, RouterConfigLoader, RouterEvent, RouterOutlet, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VIEW_TRANSITION_OPTIONS, afterNextNavigation, convertToParamMap, createUrlTreeFromSnapshot, createViewTransition, defaultUrlMatcher, isUrlTree, loadChildren, stringifyEvent, ɵEmptyOutletComponent };
|
|
5955
|
-
//# sourceMappingURL=router-
|
|
5952
|
+
//# sourceMappingURL=router-BCAMvkKO.mjs.map
|