@angular/router 19.2.1 → 19.2.2
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.mjs +117 -155
- package/fesm2022/router.mjs.map +1 -1
- package/fesm2022/testing.mjs +17 -36
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/upgrade.mjs +1 -14
- package/fesm2022/upgrade.mjs.map +1 -1
- package/index.d.ts +3637 -3835
- package/package.json +4 -4
- package/testing/index.d.ts +44 -49
- package/upgrade/index.d.ts +5 -8
package/fesm2022/router.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.2.
|
|
2
|
+
* @license Angular v19.2.2
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { ɵisPromise, ɵRuntimeError, Injectable,
|
|
8
|
+
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, Component, NgModuleFactory, Compiler, NgZone, afterNextRender, EnvironmentInjector, DestroyRef, ɵConsole as _Console, ɵPendingTasksInternal as _PendingTasksInternal, ɵɵsanitizeUrlOrResourceUrl as __sanitizeUrlOrResourceUrl, booleanAttribute, HostListener, HostBinding, Attribute, ContentChildren, Optional, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, InjectFlags, APP_INITIALIZER, SkipSelf, NgModule, Version } from '@angular/core';
|
|
9
9
|
import { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, concat, defer, pipe, throwError, EMPTY, ConnectableObservable, Subject, Subscription } from 'rxjs';
|
|
10
10
|
import * as i3 from '@angular/common';
|
|
11
|
-
import { DOCUMENT, Location,
|
|
11
|
+
import { DOCUMENT, Location, HashLocationStrategy, LocationStrategy, ViewportScroller, LOCATION_INITIALIZED, PathLocationStrategy } from '@angular/common';
|
|
12
12
|
import { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, defaultIfEmpty, last as last$1, takeLast, finalize, refCount, takeUntil, mergeAll } from 'rxjs/operators';
|
|
13
13
|
import * as i1 from '@angular/platform-browser';
|
|
14
14
|
|
|
@@ -160,7 +160,7 @@ function wrapIntoObservable(value) {
|
|
|
160
160
|
if (isObservable(value)) {
|
|
161
161
|
return value;
|
|
162
162
|
}
|
|
163
|
-
if (
|
|
163
|
+
if (_isPromise(value)) {
|
|
164
164
|
// Use `Promise.resolve()` to wrap promise-like instances.
|
|
165
165
|
// Required ie when a Resolver returns a AngularJS `$q` promise to correctly trigger the
|
|
166
166
|
// change detection.
|
|
@@ -300,7 +300,7 @@ class UrlTree {
|
|
|
300
300
|
this.fragment = fragment;
|
|
301
301
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
302
302
|
if (root.segments.length > 0) {
|
|
303
|
-
throw new
|
|
303
|
+
throw new _RuntimeError(4015 /* RuntimeErrorCode.INVALID_ROOT_URL_SEGMENT */, 'The root `UrlSegmentGroup` should not contain `segments`. ' +
|
|
304
304
|
'Instead, these segments belong in the `children` so they can be associated with a named outlet.');
|
|
305
305
|
}
|
|
306
306
|
}
|
|
@@ -433,10 +433,10 @@ function mapChildrenIntoArray(segment, fn) {
|
|
|
433
433
|
* @publicApi
|
|
434
434
|
*/
|
|
435
435
|
class UrlSerializer {
|
|
436
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
437
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
436
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
437
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
|
|
438
438
|
}
|
|
439
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: UrlSerializer, decorators: [{
|
|
440
440
|
type: Injectable,
|
|
441
441
|
args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
|
|
442
442
|
}] });
|
|
@@ -654,7 +654,7 @@ class UrlParser {
|
|
|
654
654
|
parseSegment() {
|
|
655
655
|
const path = matchSegments(this.remaining);
|
|
656
656
|
if (path === '' && this.peekStartsWith(';')) {
|
|
657
|
-
throw new
|
|
657
|
+
throw new _RuntimeError(4009 /* RuntimeErrorCode.EMPTY_PATH_WITH_PARAMS */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
658
658
|
`Empty path url segment cannot have parameters: '${this.remaining}'.`);
|
|
659
659
|
}
|
|
660
660
|
this.capture(path);
|
|
@@ -724,7 +724,7 @@ class UrlParser {
|
|
|
724
724
|
// if is is not one of these characters, then the segment was unescaped
|
|
725
725
|
// or the group was not closed
|
|
726
726
|
if (next !== '/' && next !== ')' && next !== ';') {
|
|
727
|
-
throw new
|
|
727
|
+
throw new _RuntimeError(4010 /* RuntimeErrorCode.UNPARSABLE_URL */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot parse url '${this.url}'`);
|
|
728
728
|
}
|
|
729
729
|
let outletName = undefined;
|
|
730
730
|
if (path.indexOf(':') > -1) {
|
|
@@ -757,7 +757,7 @@ class UrlParser {
|
|
|
757
757
|
}
|
|
758
758
|
capture(str) {
|
|
759
759
|
if (!this.consumeOptional(str)) {
|
|
760
|
-
throw new
|
|
760
|
+
throw new _RuntimeError(4011 /* RuntimeErrorCode.UNEXPECTED_VALUE_IN_URL */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Expected "${str}".`);
|
|
761
761
|
}
|
|
762
762
|
}
|
|
763
763
|
}
|
|
@@ -963,12 +963,12 @@ class Navigation {
|
|
|
963
963
|
this.numberOfDoubleDots = numberOfDoubleDots;
|
|
964
964
|
this.commands = commands;
|
|
965
965
|
if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {
|
|
966
|
-
throw new
|
|
966
|
+
throw new _RuntimeError(4003 /* RuntimeErrorCode.ROOT_SEGMENT_MATRIX_PARAMS */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
967
967
|
'Root segment cannot have matrix parameters');
|
|
968
968
|
}
|
|
969
969
|
const cmdWithOutlet = commands.find(isCommandWithOutlets);
|
|
970
970
|
if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {
|
|
971
|
-
throw new
|
|
971
|
+
throw new _RuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
972
972
|
'{outlets:{}} has to be the last command');
|
|
973
973
|
}
|
|
974
974
|
}
|
|
@@ -1001,9 +1001,7 @@ function computeNavigation(commands) {
|
|
|
1001
1001
|
}
|
|
1002
1002
|
if (cmdIdx === 0) {
|
|
1003
1003
|
cmd.split('/').forEach((urlPart, partIndex) => {
|
|
1004
|
-
if (partIndex == 0 && urlPart === '.')
|
|
1005
|
-
// skip './a'
|
|
1006
|
-
}
|
|
1004
|
+
if (partIndex == 0 && urlPart === '.') ;
|
|
1007
1005
|
else if (partIndex == 0 && urlPart === '') {
|
|
1008
1006
|
// '/a'
|
|
1009
1007
|
isAbsolute = true;
|
|
@@ -1058,7 +1056,7 @@ function createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {
|
|
|
1058
1056
|
dd -= ci;
|
|
1059
1057
|
g = g.parent;
|
|
1060
1058
|
if (!g) {
|
|
1061
|
-
throw new
|
|
1059
|
+
throw new _RuntimeError(4005 /* RuntimeErrorCode.INVALID_DOUBLE_DOTS */, (typeof ngDevMode === 'undefined' || ngDevMode) && "Invalid number of '../'");
|
|
1062
1060
|
}
|
|
1063
1061
|
ci = g.segments.length;
|
|
1064
1062
|
}
|
|
@@ -1882,18 +1880,6 @@ function getOrCreateRouteInjectorIfNeeded(route, currentInjector) {
|
|
|
1882
1880
|
}
|
|
1883
1881
|
return route._injector ?? currentInjector;
|
|
1884
1882
|
}
|
|
1885
|
-
function getLoadedRoutes$1(route) {
|
|
1886
|
-
return route._loadedRoutes;
|
|
1887
|
-
}
|
|
1888
|
-
function getLoadedInjector(route) {
|
|
1889
|
-
return route._loadedInjector;
|
|
1890
|
-
}
|
|
1891
|
-
function getLoadedComponent(route) {
|
|
1892
|
-
return route._loadedComponent;
|
|
1893
|
-
}
|
|
1894
|
-
function getProvidersInjector(route) {
|
|
1895
|
-
return route._injector;
|
|
1896
|
-
}
|
|
1897
1883
|
function validateConfig(config, parentPath = '', requireStandaloneComponents = false) {
|
|
1898
1884
|
// forEach doesn't iterate undefined values
|
|
1899
1885
|
for (let i = 0; i < config.length; i++) {
|
|
@@ -1903,18 +1889,18 @@ function validateConfig(config, parentPath = '', requireStandaloneComponents = f
|
|
|
1903
1889
|
}
|
|
1904
1890
|
}
|
|
1905
1891
|
function assertStandalone(fullPath, component) {
|
|
1906
|
-
if (component &&
|
|
1907
|
-
throw new
|
|
1892
|
+
if (component && _isNgModule(component)) {
|
|
1893
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}'. You are using 'loadComponent' with a module, ` +
|
|
1908
1894
|
`but it must be used with standalone components. Use 'loadChildren' instead.`);
|
|
1909
1895
|
}
|
|
1910
1896
|
else if (component && !isStandalone(component)) {
|
|
1911
|
-
throw new
|
|
1897
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}'. The component must be standalone.`);
|
|
1912
1898
|
}
|
|
1913
1899
|
}
|
|
1914
1900
|
function validateNode(route, fullPath, requireStandaloneComponents) {
|
|
1915
1901
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
1916
1902
|
if (!route) {
|
|
1917
|
-
throw new
|
|
1903
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `
|
|
1918
1904
|
Invalid configuration of route '${fullPath}': Encountered undefined route.
|
|
1919
1905
|
The reason might be an extra comma.
|
|
1920
1906
|
|
|
@@ -1927,7 +1913,7 @@ function validateNode(route, fullPath, requireStandaloneComponents) {
|
|
|
1927
1913
|
`);
|
|
1928
1914
|
}
|
|
1929
1915
|
if (Array.isArray(route)) {
|
|
1930
|
-
throw new
|
|
1916
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': Array cannot be specified`);
|
|
1931
1917
|
}
|
|
1932
1918
|
if (!route.redirectTo &&
|
|
1933
1919
|
!route.component &&
|
|
@@ -1936,46 +1922,46 @@ function validateNode(route, fullPath, requireStandaloneComponents) {
|
|
|
1936
1922
|
!route.loadChildren &&
|
|
1937
1923
|
route.outlet &&
|
|
1938
1924
|
route.outlet !== PRIMARY_OUTLET) {
|
|
1939
|
-
throw new
|
|
1925
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': a componentless route without children or loadChildren cannot have a named outlet set`);
|
|
1940
1926
|
}
|
|
1941
1927
|
if (route.redirectTo && route.children) {
|
|
1942
|
-
throw new
|
|
1928
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and children cannot be used together`);
|
|
1943
1929
|
}
|
|
1944
1930
|
if (route.redirectTo && route.loadChildren) {
|
|
1945
|
-
throw new
|
|
1931
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and loadChildren cannot be used together`);
|
|
1946
1932
|
}
|
|
1947
1933
|
if (route.children && route.loadChildren) {
|
|
1948
|
-
throw new
|
|
1934
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': children and loadChildren cannot be used together`);
|
|
1949
1935
|
}
|
|
1950
1936
|
if (route.redirectTo && (route.component || route.loadComponent)) {
|
|
1951
|
-
throw new
|
|
1937
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and component/loadComponent cannot be used together`);
|
|
1952
1938
|
}
|
|
1953
1939
|
if (route.component && route.loadComponent) {
|
|
1954
|
-
throw new
|
|
1940
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': component and loadComponent cannot be used together`);
|
|
1955
1941
|
}
|
|
1956
1942
|
if (route.redirectTo && route.canActivate) {
|
|
1957
|
-
throw new
|
|
1943
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and canActivate cannot be used together. Redirects happen before activation ` +
|
|
1958
1944
|
`so canActivate will never be executed.`);
|
|
1959
1945
|
}
|
|
1960
1946
|
if (route.path && route.matcher) {
|
|
1961
|
-
throw new
|
|
1947
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': path and matcher cannot be used together`);
|
|
1962
1948
|
}
|
|
1963
1949
|
if (route.redirectTo === void 0 &&
|
|
1964
1950
|
!route.component &&
|
|
1965
1951
|
!route.loadComponent &&
|
|
1966
1952
|
!route.children &&
|
|
1967
1953
|
!route.loadChildren) {
|
|
1968
|
-
throw new
|
|
1954
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}'. One of the following must be provided: component, loadComponent, redirectTo, children or loadChildren`);
|
|
1969
1955
|
}
|
|
1970
1956
|
if (route.path === void 0 && route.matcher === void 0) {
|
|
1971
|
-
throw new
|
|
1957
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': routes must have either a path or a matcher specified`);
|
|
1972
1958
|
}
|
|
1973
1959
|
if (typeof route.path === 'string' && route.path.charAt(0) === '/') {
|
|
1974
|
-
throw new
|
|
1960
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': path cannot start with a slash`);
|
|
1975
1961
|
}
|
|
1976
1962
|
if (route.path === '' && route.redirectTo !== void 0 && route.pathMatch === void 0) {
|
|
1977
1963
|
const exp = `The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`;
|
|
1978
|
-
throw new
|
|
1964
|
+
throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '{path: "${fullPath}", redirectTo: "${route.redirectTo}"}': please provide 'pathMatch'. ${exp}`);
|
|
1979
1965
|
}
|
|
1980
1966
|
if (requireStandaloneComponents) {
|
|
1981
1967
|
assertStandalone(fullPath, route.component);
|
|
@@ -2123,10 +2109,10 @@ class ChildrenOutletContexts {
|
|
|
2123
2109
|
getContext(childName) {
|
|
2124
2110
|
return this.contexts.get(childName) || null;
|
|
2125
2111
|
}
|
|
2126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2127
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
2112
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ChildrenOutletContexts, deps: [{ token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2113
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
|
|
2128
2114
|
}
|
|
2129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
|
|
2130
2116
|
type: Injectable,
|
|
2131
2117
|
args: [{ providedIn: 'root' }]
|
|
2132
2118
|
}], ctorParameters: () => [{ type: i0.EnvironmentInjector }] });
|
|
@@ -2845,12 +2831,12 @@ class RouterOutlet {
|
|
|
2845
2831
|
*/
|
|
2846
2832
|
get component() {
|
|
2847
2833
|
if (!this.activated)
|
|
2848
|
-
throw new
|
|
2834
|
+
throw new _RuntimeError(4012 /* RuntimeErrorCode.OUTLET_NOT_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');
|
|
2849
2835
|
return this.activated.instance;
|
|
2850
2836
|
}
|
|
2851
2837
|
get activatedRoute() {
|
|
2852
2838
|
if (!this.activated)
|
|
2853
|
-
throw new
|
|
2839
|
+
throw new _RuntimeError(4012 /* RuntimeErrorCode.OUTLET_NOT_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');
|
|
2854
2840
|
return this._activatedRoute;
|
|
2855
2841
|
}
|
|
2856
2842
|
get activatedRouteData() {
|
|
@@ -2864,7 +2850,7 @@ class RouterOutlet {
|
|
|
2864
2850
|
*/
|
|
2865
2851
|
detach() {
|
|
2866
2852
|
if (!this.activated)
|
|
2867
|
-
throw new
|
|
2853
|
+
throw new _RuntimeError(4012 /* RuntimeErrorCode.OUTLET_NOT_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');
|
|
2868
2854
|
this.location.detach();
|
|
2869
2855
|
const cmp = this.activated;
|
|
2870
2856
|
this.activated = null;
|
|
@@ -2893,7 +2879,7 @@ class RouterOutlet {
|
|
|
2893
2879
|
}
|
|
2894
2880
|
activateWith(activatedRoute, environmentInjector) {
|
|
2895
2881
|
if (this.isActivated) {
|
|
2896
|
-
throw new
|
|
2882
|
+
throw new _RuntimeError(4013 /* RuntimeErrorCode.OUTLET_ALREADY_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
2897
2883
|
'Cannot activate an already activated outlet');
|
|
2898
2884
|
}
|
|
2899
2885
|
this._activatedRoute = activatedRoute;
|
|
@@ -2913,10 +2899,10 @@ class RouterOutlet {
|
|
|
2913
2899
|
this.inputBinder?.bindActivatedRouteToOutletComponent(this);
|
|
2914
2900
|
this.activateEvents.emit(this.activated.instance);
|
|
2915
2901
|
}
|
|
2916
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2917
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
2902
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2903
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.2", 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 });
|
|
2918
2904
|
}
|
|
2919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2905
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterOutlet, decorators: [{
|
|
2920
2906
|
type: Directive,
|
|
2921
2907
|
args: [{
|
|
2922
2908
|
selector: 'router-outlet',
|
|
@@ -3044,10 +3030,10 @@ class RoutedComponentInputBinder {
|
|
|
3044
3030
|
});
|
|
3045
3031
|
this.outletDataSubscriptions.set(outlet, dataSubscription);
|
|
3046
3032
|
}
|
|
3047
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3048
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3033
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3034
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RoutedComponentInputBinder });
|
|
3049
3035
|
}
|
|
3050
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3036
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
|
|
3051
3037
|
type: Injectable
|
|
3052
3038
|
}] });
|
|
3053
3039
|
|
|
@@ -3372,7 +3358,7 @@ function getTokenOrFunctionIdentity(tokenOrFunction, injector) {
|
|
|
3372
3358
|
const NOT_FOUND = Symbol();
|
|
3373
3359
|
const result = injector.get(tokenOrFunction, NOT_FOUND);
|
|
3374
3360
|
if (result === NOT_FOUND) {
|
|
3375
|
-
if (typeof tokenOrFunction === 'function' &&
|
|
3361
|
+
if (typeof tokenOrFunction === 'function' && !_isInjectable(tokenOrFunction)) {
|
|
3376
3362
|
// We think the token is just a function so return it as-is
|
|
3377
3363
|
return tokenOrFunction;
|
|
3378
3364
|
}
|
|
@@ -3710,11 +3696,8 @@ class AbsoluteRedirect extends Error {
|
|
|
3710
3696
|
function noMatch$1(segmentGroup) {
|
|
3711
3697
|
return throwError(new NoMatch(segmentGroup));
|
|
3712
3698
|
}
|
|
3713
|
-
function absoluteRedirect(newTree) {
|
|
3714
|
-
return throwError(new AbsoluteRedirect(newTree));
|
|
3715
|
-
}
|
|
3716
3699
|
function namedOutletsRedirect(redirectTo) {
|
|
3717
|
-
return throwError(new
|
|
3700
|
+
return throwError(new _RuntimeError(4000 /* RuntimeErrorCode.NAMED_OUTLET_REDIRECT */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
3718
3701
|
`Only absolute redirects can have named outlets. redirectTo: '${redirectTo}'`));
|
|
3719
3702
|
}
|
|
3720
3703
|
function canLoadFails(route) {
|
|
@@ -3792,7 +3775,7 @@ class ApplyRedirects {
|
|
|
3792
3775
|
findPosParam(redirectTo, redirectToUrlSegment, posParams) {
|
|
3793
3776
|
const pos = posParams[redirectToUrlSegment.path.substring(1)];
|
|
3794
3777
|
if (!pos)
|
|
3795
|
-
throw new
|
|
3778
|
+
throw new _RuntimeError(4001 /* RuntimeErrorCode.MISSING_REDIRECT */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
3796
3779
|
`Cannot redirect to '${redirectTo}'. Cannot find '${redirectToUrlSegment.path}'.`);
|
|
3797
3780
|
return pos;
|
|
3798
3781
|
}
|
|
@@ -3955,7 +3938,7 @@ class Recognizer {
|
|
|
3955
3938
|
this.applyRedirects = new ApplyRedirects(this.urlSerializer, this.urlTree);
|
|
3956
3939
|
}
|
|
3957
3940
|
noMatchError(e) {
|
|
3958
|
-
return new
|
|
3941
|
+
return new _RuntimeError(4002 /* RuntimeErrorCode.NO_MATCH */, typeof ngDevMode === 'undefined' || ngDevMode
|
|
3959
3942
|
? `Cannot match any routes. URL Segment: '${e.segmentGroup}'`
|
|
3960
3943
|
: `'${e.segmentGroup}'`);
|
|
3961
3944
|
}
|
|
@@ -4094,7 +4077,7 @@ class Recognizer {
|
|
|
4094
4077
|
this.absoluteRedirectCount++;
|
|
4095
4078
|
if (this.absoluteRedirectCount > MAX_ALLOWED_REDIRECTS) {
|
|
4096
4079
|
if (ngDevMode) {
|
|
4097
|
-
throw new
|
|
4080
|
+
throw new _RuntimeError(4016 /* RuntimeErrorCode.INFINITE_REDIRECT */, `Detected possible infinite redirect when redirecting from '${this.urlTree}' to '${route.redirectTo}'.\n` +
|
|
4098
4081
|
`This is currently a dev mode only error but will become a` +
|
|
4099
4082
|
` call stack size exceeded error in production in a future major version.`);
|
|
4100
4083
|
}
|
|
@@ -4232,7 +4215,7 @@ function checkOutletNameUniqueness(nodes) {
|
|
|
4232
4215
|
if (routeWithSameOutletName) {
|
|
4233
4216
|
const p = routeWithSameOutletName.url.map((s) => s.toString()).join('/');
|
|
4234
4217
|
const c = n.value.url.map((s) => s.toString()).join('/');
|
|
4235
|
-
throw new
|
|
4218
|
+
throw new _RuntimeError(4006 /* RuntimeErrorCode.TWO_SEGMENTS_WITH_SAME_OUTLET */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
4236
4219
|
`Two segments cannot have the same outlet name: '${p}' and '${c}'.`);
|
|
4237
4220
|
}
|
|
4238
4221
|
names[n.value.outlet] = n.value;
|
|
@@ -4383,10 +4366,10 @@ class TitleStrategy {
|
|
|
4383
4366
|
getResolvedTitleForRoute(snapshot) {
|
|
4384
4367
|
return snapshot.data[RouteTitleKey];
|
|
4385
4368
|
}
|
|
4386
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4387
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4369
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4370
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
|
|
4388
4371
|
}
|
|
4389
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: TitleStrategy, decorators: [{
|
|
4390
4373
|
type: Injectable,
|
|
4391
4374
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
|
|
4392
4375
|
}] });
|
|
@@ -4410,10 +4393,10 @@ class DefaultTitleStrategy extends TitleStrategy {
|
|
|
4410
4393
|
this.title.setTitle(title);
|
|
4411
4394
|
}
|
|
4412
4395
|
}
|
|
4413
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4414
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4396
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4397
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
|
|
4415
4398
|
}
|
|
4416
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
|
|
4417
4400
|
type: Injectable,
|
|
4418
4401
|
args: [{ providedIn: 'root' }]
|
|
4419
4402
|
}], ctorParameters: () => [{ type: i1.Title }] });
|
|
@@ -4438,10 +4421,10 @@ const ROUTER_CONFIGURATION = new InjectionToken(typeof ngDevMode === 'undefined'
|
|
|
4438
4421
|
* to this `EmptyOutletComponent`.
|
|
4439
4422
|
*/
|
|
4440
4423
|
class ɵEmptyOutletComponent {
|
|
4441
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4442
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
4424
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4425
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.2", 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"] }] });
|
|
4443
4426
|
}
|
|
4444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
|
|
4445
4428
|
type: Component,
|
|
4446
4429
|
args: [{
|
|
4447
4430
|
template: `<router-outlet/>`,
|
|
@@ -4527,10 +4510,10 @@ class RouterConfigLoader {
|
|
|
4527
4510
|
this.childrenLoaders.set(route, loader);
|
|
4528
4511
|
return loader;
|
|
4529
4512
|
}
|
|
4530
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4531
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4513
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4514
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
|
|
4532
4515
|
}
|
|
4533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4516
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterConfigLoader, decorators: [{
|
|
4534
4517
|
type: Injectable,
|
|
4535
4518
|
args: [{ providedIn: 'root' }]
|
|
4536
4519
|
}] });
|
|
@@ -4597,10 +4580,10 @@ function maybeUnwrapDefaultExport(input) {
|
|
|
4597
4580
|
* @publicApi
|
|
4598
4581
|
*/
|
|
4599
4582
|
class UrlHandlingStrategy {
|
|
4600
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4601
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4583
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4584
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
|
|
4602
4585
|
}
|
|
4603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
|
|
4604
4587
|
type: Injectable,
|
|
4605
4588
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
|
|
4606
4589
|
}] });
|
|
@@ -4617,10 +4600,10 @@ class DefaultUrlHandlingStrategy {
|
|
|
4617
4600
|
merge(newUrlPart, wholeUrl) {
|
|
4618
4601
|
return newUrlPart;
|
|
4619
4602
|
}
|
|
4620
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4621
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4603
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4604
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
|
|
4622
4605
|
}
|
|
4623
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4606
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
|
|
4624
4607
|
type: Injectable,
|
|
4625
4608
|
args: [{ providedIn: 'root' }]
|
|
4626
4609
|
}] });
|
|
@@ -5085,10 +5068,10 @@ class NavigationTransitions {
|
|
|
5085
5068
|
return (currentBrowserUrl.toString() !== targetBrowserUrl?.toString() &&
|
|
5086
5069
|
!this.currentNavigation?.extras.skipLocationChange);
|
|
5087
5070
|
}
|
|
5088
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5089
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5071
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5072
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
|
|
5090
5073
|
}
|
|
5091
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5074
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: NavigationTransitions, decorators: [{
|
|
5092
5075
|
type: Injectable,
|
|
5093
5076
|
args: [{ providedIn: 'root' }]
|
|
5094
5077
|
}], ctorParameters: () => [] });
|
|
@@ -5104,10 +5087,10 @@ function isBrowserTriggeredNavigation(source) {
|
|
|
5104
5087
|
* @publicApi
|
|
5105
5088
|
*/
|
|
5106
5089
|
class RouteReuseStrategy {
|
|
5107
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5108
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5090
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5091
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
|
|
5109
5092
|
}
|
|
5110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5093
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouteReuseStrategy, decorators: [{
|
|
5111
5094
|
type: Injectable,
|
|
5112
5095
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
|
|
5113
5096
|
}] });
|
|
@@ -5158,19 +5141,19 @@ class BaseRouteReuseStrategy {
|
|
|
5158
5141
|
}
|
|
5159
5142
|
}
|
|
5160
5143
|
class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
|
|
5161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5162
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5145
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
|
|
5163
5146
|
}
|
|
5164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
|
|
5165
5148
|
type: Injectable,
|
|
5166
5149
|
args: [{ providedIn: 'root' }]
|
|
5167
5150
|
}] });
|
|
5168
5151
|
|
|
5169
5152
|
class StateManager {
|
|
5170
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5171
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5154
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) });
|
|
5172
5155
|
}
|
|
5173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: StateManager, decorators: [{
|
|
5174
5157
|
type: Injectable,
|
|
5175
5158
|
args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
|
|
5176
5159
|
}] });
|
|
@@ -5305,10 +5288,7 @@ class HistoryStateManager extends StateManager {
|
|
|
5305
5288
|
this.resetState(navigation);
|
|
5306
5289
|
this.resetUrlToCurrentUrlTree();
|
|
5307
5290
|
}
|
|
5308
|
-
else
|
|
5309
|
-
// The browser URL and router state was not updated before the navigation cancelled so
|
|
5310
|
-
// there's no restoration needed.
|
|
5311
|
-
}
|
|
5291
|
+
else ;
|
|
5312
5292
|
}
|
|
5313
5293
|
else if (this.canceledNavigationResolution === 'replace') {
|
|
5314
5294
|
// TODO(atscott): It seems like we should _always_ reset the state here. It would be a no-op
|
|
@@ -5340,10 +5320,10 @@ class HistoryStateManager extends StateManager {
|
|
|
5340
5320
|
}
|
|
5341
5321
|
return { navigationId };
|
|
5342
5322
|
}
|
|
5343
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5344
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5323
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5324
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: HistoryStateManager, providedIn: 'root' });
|
|
5345
5325
|
}
|
|
5346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: HistoryStateManager, decorators: [{
|
|
5347
5327
|
type: Injectable,
|
|
5348
5328
|
args: [{ providedIn: 'root' }]
|
|
5349
5329
|
}] });
|
|
@@ -5420,10 +5400,10 @@ class Router {
|
|
|
5420
5400
|
}
|
|
5421
5401
|
disposed = false;
|
|
5422
5402
|
nonRouterCurrentEntryChangeSubscription;
|
|
5423
|
-
console = inject(
|
|
5403
|
+
console = inject(_Console);
|
|
5424
5404
|
stateManager = inject(StateManager);
|
|
5425
5405
|
options = inject(ROUTER_CONFIGURATION, { optional: true }) || {};
|
|
5426
|
-
pendingTasks = inject(
|
|
5406
|
+
pendingTasks = inject(_PendingTasksInternal);
|
|
5427
5407
|
urlUpdateStrategy = this.options.urlUpdateStrategy || 'deferred';
|
|
5428
5408
|
navigationTransitions = inject(NavigationTransitions);
|
|
5429
5409
|
urlSerializer = inject(UrlSerializer);
|
|
@@ -5908,10 +5888,10 @@ class Router {
|
|
|
5908
5888
|
return Promise.reject(e);
|
|
5909
5889
|
});
|
|
5910
5890
|
}
|
|
5911
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5912
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5891
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5892
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: Router, providedIn: 'root' });
|
|
5913
5893
|
}
|
|
5914
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: Router, decorators: [{
|
|
5915
5895
|
type: Injectable,
|
|
5916
5896
|
args: [{ providedIn: 'root' }]
|
|
5917
5897
|
}], ctorParameters: () => [] });
|
|
@@ -5919,7 +5899,7 @@ function validateCommands(commands) {
|
|
|
5919
5899
|
for (let i = 0; i < commands.length; i++) {
|
|
5920
5900
|
const cmd = commands[i];
|
|
5921
5901
|
if (cmd == null) {
|
|
5922
|
-
throw new
|
|
5902
|
+
throw new _RuntimeError(4008 /* RuntimeErrorCode.NULLISH_COMMAND */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
5923
5903
|
`The requested path contains ${cmd} segment at index ${i}`);
|
|
5924
5904
|
}
|
|
5925
5905
|
}
|
|
@@ -6156,7 +6136,7 @@ class RouterLink {
|
|
|
6156
6136
|
this.queryParamsHandling ||
|
|
6157
6137
|
this.preserveFragment ||
|
|
6158
6138
|
this.relativeTo)) {
|
|
6159
|
-
throw new
|
|
6139
|
+
throw new _RuntimeError(4016 /* RuntimeErrorCode.INVALID_ROUTER_LINK_INPUTS */, 'Cannot configure queryParams or fragment when using a UrlTree as the routerLink input value.');
|
|
6160
6140
|
}
|
|
6161
6141
|
if (this.isAnchorElement) {
|
|
6162
6142
|
this.updateHref();
|
|
@@ -6240,7 +6220,7 @@ class RouterLink {
|
|
|
6240
6220
|
// Note: we should investigate whether we can switch to using `@HostBinding('attr.href')`
|
|
6241
6221
|
// instead of applying a value via a renderer, after a final merge of the
|
|
6242
6222
|
// `RouterLinkWithHref` directive.
|
|
6243
|
-
|
|
6223
|
+
__sanitizeUrlOrResourceUrl(this.href, this.el.nativeElement.tagName.toLowerCase(), 'href');
|
|
6244
6224
|
this.applyAttributeValue('href', sanitizedValue);
|
|
6245
6225
|
}
|
|
6246
6226
|
applyAttributeValue(attrName, attrValue) {
|
|
@@ -6270,10 +6250,10 @@ class RouterLink {
|
|
|
6270
6250
|
preserveFragment: this.preserveFragment,
|
|
6271
6251
|
});
|
|
6272
6252
|
}
|
|
6273
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6274
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.
|
|
6253
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterLink, deps: [{ token: Router }, { token: ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6254
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.2", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", info: "info", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 });
|
|
6275
6255
|
}
|
|
6276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterLink, decorators: [{
|
|
6277
6257
|
type: Directive,
|
|
6278
6258
|
args: [{
|
|
6279
6259
|
selector: '[routerLink]',
|
|
@@ -6526,10 +6506,10 @@ class RouterLinkActive {
|
|
|
6526
6506
|
const isActiveCheckFn = this.isLinkActive(this.router);
|
|
6527
6507
|
return (this.link && isActiveCheckFn(this.link)) || this.links.some(isActiveCheckFn);
|
|
6528
6508
|
}
|
|
6529
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6530
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
6509
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6510
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.2", type: RouterLinkActive, isStandalone: true, selector: "[routerLinkActive]", inputs: { routerLinkActiveOptions: "routerLinkActiveOptions", ariaCurrentWhenActive: "ariaCurrentWhenActive", routerLinkActive: "routerLinkActive" }, outputs: { isActiveChange: "isActiveChange" }, queries: [{ propertyName: "links", predicate: RouterLink, descendants: true }], exportAs: ["routerLinkActive"], usesOnChanges: true, ngImport: i0 });
|
|
6531
6511
|
}
|
|
6532
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterLinkActive, decorators: [{
|
|
6533
6513
|
type: Directive,
|
|
6534
6514
|
args: [{
|
|
6535
6515
|
selector: '[routerLinkActive]',
|
|
@@ -6580,10 +6560,10 @@ class PreloadAllModules {
|
|
|
6580
6560
|
preload(route, fn) {
|
|
6581
6561
|
return fn().pipe(catchError(() => of(null)));
|
|
6582
6562
|
}
|
|
6583
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6584
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
6563
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6564
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
|
|
6585
6565
|
}
|
|
6586
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: PreloadAllModules, decorators: [{
|
|
6587
6567
|
type: Injectable,
|
|
6588
6568
|
args: [{ providedIn: 'root' }]
|
|
6589
6569
|
}] });
|
|
@@ -6600,10 +6580,10 @@ class NoPreloading {
|
|
|
6600
6580
|
preload(route, fn) {
|
|
6601
6581
|
return of(null);
|
|
6602
6582
|
}
|
|
6603
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6604
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
6583
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6584
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: NoPreloading, providedIn: 'root' });
|
|
6605
6585
|
}
|
|
6606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: NoPreloading, decorators: [{
|
|
6607
6587
|
type: Injectable,
|
|
6608
6588
|
args: [{ providedIn: 'root' }]
|
|
6609
6589
|
}] });
|
|
@@ -6699,10 +6679,10 @@ class RouterPreloader {
|
|
|
6699
6679
|
}
|
|
6700
6680
|
});
|
|
6701
6681
|
}
|
|
6702
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6703
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
6682
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6683
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
|
|
6704
6684
|
}
|
|
6705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6685
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterPreloader, decorators: [{
|
|
6706
6686
|
type: Injectable,
|
|
6707
6687
|
args: [{ providedIn: 'root' }]
|
|
6708
6688
|
}], ctorParameters: () => [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }] });
|
|
@@ -6802,10 +6782,10 @@ class RouterScroller {
|
|
|
6802
6782
|
this.routerEventsSubscription?.unsubscribe();
|
|
6803
6783
|
this.scrollEventsSubscription?.unsubscribe();
|
|
6804
6784
|
}
|
|
6805
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6806
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
6785
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
|
|
6786
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterScroller });
|
|
6807
6787
|
}
|
|
6808
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6788
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterScroller, decorators: [{
|
|
6809
6789
|
type: Injectable
|
|
6810
6790
|
}], ctorParameters: () => [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }] });
|
|
6811
6791
|
|
|
@@ -7481,11 +7461,11 @@ class RouterModule {
|
|
|
7481
7461
|
providers: [{ provide: ROUTES, multi: true, useValue: routes }],
|
|
7482
7462
|
};
|
|
7483
7463
|
}
|
|
7484
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
7485
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
7486
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
7464
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7465
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] });
|
|
7466
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterModule });
|
|
7487
7467
|
}
|
|
7488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
7468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: RouterModule, decorators: [{
|
|
7489
7469
|
type: NgModule,
|
|
7490
7470
|
args: [{
|
|
7491
7471
|
imports: ROUTER_DIRECTIVES,
|
|
@@ -7524,7 +7504,7 @@ function providePathLocationStrategy() {
|
|
|
7524
7504
|
}
|
|
7525
7505
|
function provideForRootGuard(router) {
|
|
7526
7506
|
if (router) {
|
|
7527
|
-
throw new
|
|
7507
|
+
throw new _RuntimeError(4007 /* RuntimeErrorCode.FOR_ROOT_CALLED_TWICE */, `The Router was provided more than once. This can happen if 'forRoot' is used outside of the root injector.` +
|
|
7528
7508
|
` Lazy loaded modules should use RouterModule.forChild() instead.`);
|
|
7529
7509
|
}
|
|
7530
7510
|
return 'guarded';
|
|
@@ -7625,25 +7605,7 @@ function mapToResolve(provider) {
|
|
|
7625
7605
|
/**
|
|
7626
7606
|
* @publicApi
|
|
7627
7607
|
*/
|
|
7628
|
-
const VERSION = new Version('19.2.
|
|
7629
|
-
|
|
7630
|
-
function getLoadedRoutes(route) {
|
|
7631
|
-
return route._loadedRoutes;
|
|
7632
|
-
}
|
|
7633
|
-
ɵpublishExternalGlobalUtil('ɵgetLoadedRoutes', getLoadedRoutes);
|
|
7634
|
-
|
|
7635
|
-
/**
|
|
7636
|
-
* @module
|
|
7637
|
-
* @description
|
|
7638
|
-
* Entry point for all public APIs of this package.
|
|
7639
|
-
*/
|
|
7640
|
-
// This file only reexports content of the `src` folder. Keep it that way.
|
|
7641
|
-
|
|
7642
|
-
// This file is not used to build this module. It is only used during editing
|
|
7643
|
-
|
|
7644
|
-
/**
|
|
7645
|
-
* Generated bundle index. Do not edit.
|
|
7646
|
-
*/
|
|
7608
|
+
const VERSION = new Version('19.2.2');
|
|
7647
7609
|
|
|
7648
7610
|
export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTER_OUTLET_DATA, ROUTES, RedirectCommand, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterPreloader, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve, provideRouter, provideRoutes, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren };
|
|
7649
7611
|
//# sourceMappingURL=router.mjs.map
|