@angular/router 17.0.4 → 17.0.6

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.
Files changed (32) hide show
  1. package/esm2022/src/components/empty_outlet.mjs +3 -3
  2. package/esm2022/src/directives/router_link.mjs +3 -3
  3. package/esm2022/src/directives/router_link_active.mjs +3 -3
  4. package/esm2022/src/directives/router_outlet.mjs +6 -6
  5. package/esm2022/src/navigation_transition.mjs +3 -3
  6. package/esm2022/src/operators/check_guards.mjs +7 -6
  7. package/esm2022/src/operators/resolve_data.mjs +19 -14
  8. package/esm2022/src/page_title_strategy.mjs +6 -6
  9. package/esm2022/src/provide_router.mjs +3 -3
  10. package/esm2022/src/recognize.mjs +5 -20
  11. package/esm2022/src/route_reuse_strategy.mjs +6 -6
  12. package/esm2022/src/router.mjs +3 -3
  13. package/esm2022/src/router_config_loader.mjs +3 -3
  14. package/esm2022/src/router_module.mjs +4 -4
  15. package/esm2022/src/router_outlet_context.mjs +3 -3
  16. package/esm2022/src/router_preloader.mjs +9 -9
  17. package/esm2022/src/router_scroller.mjs +3 -3
  18. package/esm2022/src/statemanager/state_manager.mjs +6 -6
  19. package/esm2022/src/url_handling_strategy.mjs +6 -6
  20. package/esm2022/src/url_tree.mjs +3 -3
  21. package/esm2022/src/utils/config_matching.mjs +14 -4
  22. package/esm2022/src/version.mjs +1 -1
  23. package/esm2022/testing/src/router_testing_harness.mjs +6 -6
  24. package/esm2022/testing/src/router_testing_module.mjs +4 -4
  25. package/fesm2022/router.mjs +110 -111
  26. package/fesm2022/router.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +11 -11
  28. package/fesm2022/upgrade.mjs +1 -1
  29. package/index.d.ts +1 -1
  30. package/package.json +4 -4
  31. package/testing/index.d.ts +1 -1
  32. package/upgrade/index.d.ts +1 -1
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v17.0.4
2
+ * @license Angular v17.0.6
3
3
  * (c) 2010-2022 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, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, InjectionToken, reflectComponentType, Component, createEnvironmentInjector, ɵisNgModule, isStandalone, ɵisInjectable, Compiler, NgModuleFactory, NgZone, runInInjectionContext, afterNextRender, ɵConsole, ɵInitialRenderPendingTasks, ɵɵsanitizeUrlOrResourceUrl, booleanAttribute, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, InjectFlags, APP_INITIALIZER, SkipSelf, NgModule, Inject, Version } from '@angular/core';
8
+ import { ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, InjectionToken, reflectComponentType, Component, createEnvironmentInjector, ɵisNgModule, isStandalone, ɵisInjectable, runInInjectionContext, Compiler, NgModuleFactory, NgZone, afterNextRender, ɵConsole, ɵInitialRenderPendingTasks, ɵɵsanitizeUrlOrResourceUrl, booleanAttribute, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, InjectFlags, APP_INITIALIZER, SkipSelf, NgModule, Inject, 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
11
  import { DOCUMENT, Location, ViewportScroller, LOCATION_INITIALIZED, LocationStrategy, HashLocationStrategy, PathLocationStrategy } from '@angular/common';
@@ -425,10 +425,10 @@ function mapChildrenIntoArray(segment, fn) {
425
425
  * @publicApi
426
426
  */
427
427
  class UrlSerializer {
428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
429
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
428
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
429
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
430
430
  }
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: UrlSerializer, decorators: [{
431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: UrlSerializer, decorators: [{
432
432
  type: Injectable,
433
433
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
434
434
  }] });
@@ -1785,10 +1785,10 @@ class ChildrenOutletContexts {
1785
1785
  getContext(childName) {
1786
1786
  return this.contexts.get(childName) || null;
1787
1787
  }
1788
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1789
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1788
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1789
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1790
1790
  }
1791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1792
1792
  type: Injectable,
1793
1793
  args: [{ providedIn: 'root' }]
1794
1794
  }] });
@@ -2508,10 +2508,10 @@ class RouterOutlet {
2508
2508
  this.inputBinder?.bindActivatedRouteToOutletComponent(this);
2509
2509
  this.activateEvents.emit(this.activated.instance);
2510
2510
  }
2511
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2512
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: RouterOutlet, isStandalone: true, selector: "router-outlet", inputs: { name: "name" }, outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], usesOnChanges: true, ngImport: i0 }); }
2511
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2512
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: RouterOutlet, isStandalone: true, selector: "router-outlet", inputs: { name: "name" }, outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], usesOnChanges: true, ngImport: i0 }); }
2513
2513
  }
2514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterOutlet, decorators: [{
2514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterOutlet, decorators: [{
2515
2515
  type: Directive,
2516
2516
  args: [{
2517
2517
  selector: 'router-outlet',
@@ -2614,10 +2614,10 @@ class RoutedComponentInputBinder {
2614
2614
  });
2615
2615
  this.outletDataSubscriptions.set(outlet, dataSubscription);
2616
2616
  }
2617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2618
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RoutedComponentInputBinder }); }
2617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2618
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutedComponentInputBinder }); }
2619
2619
  }
2620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2621
2621
  type: Injectable
2622
2622
  }] });
2623
2623
 
@@ -2697,10 +2697,10 @@ function isNavigationCancelingError$1(error) {
2697
2697
  * to this `EmptyOutletComponent`.
2698
2698
  */
2699
2699
  class ɵEmptyOutletComponent {
2700
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2701
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<router-outlet></router-outlet>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
2700
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2701
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<router-outlet></router-outlet>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
2702
2702
  }
2703
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2704
2704
  type: Component,
2705
2705
  args: [{
2706
2706
  template: `<router-outlet></router-outlet>`,
@@ -3355,7 +3355,7 @@ function runCanActivate(futureRSS, futureARS, injector) {
3355
3355
  const guard = getTokenOrFunctionIdentity(canActivate, closestInjector);
3356
3356
  const guardVal = isCanActivate(guard) ?
3357
3357
  guard.canActivate(futureARS, futureRSS) :
3358
- closestInjector.runInContext(() => guard(futureARS, futureRSS));
3358
+ runInInjectionContext(closestInjector, () => guard(futureARS, futureRSS));
3359
3359
  return wrapIntoObservable(guardVal).pipe(first());
3360
3360
  });
3361
3361
  });
@@ -3374,7 +3374,7 @@ function runCanActivateChild(futureRSS, path, injector) {
3374
3374
  const guard = getTokenOrFunctionIdentity(canActivateChild, closestInjector);
3375
3375
  const guardVal = isCanActivateChild(guard) ?
3376
3376
  guard.canActivateChild(futureARS, futureRSS) :
3377
- closestInjector.runInContext(() => guard(futureARS, futureRSS));
3377
+ runInInjectionContext(closestInjector, () => guard(futureARS, futureRSS));
3378
3378
  return wrapIntoObservable(guardVal).pipe(first());
3379
3379
  });
3380
3380
  return of(guardsMapped).pipe(prioritizedGuardValue());
@@ -3391,7 +3391,7 @@ function runCanDeactivate(component, currARS, currRSS, futureRSS, injector) {
3391
3391
  const guard = getTokenOrFunctionIdentity(c, closestInjector);
3392
3392
  const guardVal = isCanDeactivate(guard) ?
3393
3393
  guard.canDeactivate(component, currARS, currRSS, futureRSS) :
3394
- closestInjector.runInContext(() => guard(component, currARS, currRSS, futureRSS));
3394
+ runInInjectionContext(closestInjector, () => guard(component, currARS, currRSS, futureRSS));
3395
3395
  return wrapIntoObservable(guardVal).pipe(first());
3396
3396
  });
3397
3397
  return of(canDeactivateObservables).pipe(prioritizedGuardValue());
@@ -3405,7 +3405,7 @@ function runCanLoadGuards(injector, route, segments, urlSerializer) {
3405
3405
  const guard = getTokenOrFunctionIdentity(injectionToken, injector);
3406
3406
  const guardVal = isCanLoad(guard) ?
3407
3407
  guard.canLoad(route, segments) :
3408
- injector.runInContext(() => guard(route, segments));
3408
+ runInInjectionContext(injector, () => guard(route, segments));
3409
3409
  return wrapIntoObservable(guardVal);
3410
3410
  });
3411
3411
  return of(canLoadObservables)
@@ -3426,7 +3426,7 @@ function runCanMatchGuards(injector, route, segments, urlSerializer) {
3426
3426
  const guard = getTokenOrFunctionIdentity(injectionToken, injector);
3427
3427
  const guardVal = isCanMatch(guard) ?
3428
3428
  guard.canMatch(route, segments) :
3429
- injector.runInContext(() => guard(route, segments));
3429
+ runInInjectionContext(injector, () => guard(route, segments));
3430
3430
  return wrapIntoObservable(guardVal);
3431
3431
  });
3432
3432
  return of(canMatchObservables)
@@ -3557,6 +3557,9 @@ function matchWithChecks(segmentGroup, route, segments, injector, urlSerializer)
3557
3557
  .pipe(map((v) => v === true ? result : { ...noMatch }));
3558
3558
  }
3559
3559
  function match(segmentGroup, route, segments) {
3560
+ if (route.path === '**') {
3561
+ return createWildcardMatchResult(segments);
3562
+ }
3560
3563
  if (route.path === '') {
3561
3564
  if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {
3562
3565
  return { ...noMatch };
@@ -3589,6 +3592,15 @@ function match(segmentGroup, route, segments) {
3589
3592
  positionalParamSegments: res.posParams ?? {}
3590
3593
  };
3591
3594
  }
3595
+ function createWildcardMatchResult(segments) {
3596
+ return {
3597
+ matched: true,
3598
+ parameters: segments.length > 0 ? last(segments).parameters : {},
3599
+ consumedSegments: segments,
3600
+ remainingSegments: [],
3601
+ positionalParamSegments: {},
3602
+ };
3603
+ }
3592
3604
  function split(segmentGroup, consumedSegments, slicedSegments, config) {
3593
3605
  if (slicedSegments.length > 0 &&
3594
3606
  containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {
@@ -3657,9 +3669,6 @@ function isImmediateMatch(route, rawSegment, segments, outlet) {
3657
3669
  (outlet === PRIMARY_OUTLET || !emptyPathMatch(rawSegment, segments, route))) {
3658
3670
  return false;
3659
3671
  }
3660
- if (route.path === '**') {
3661
- return true;
3662
- }
3663
3672
  return match(rawSegment, route, segments).matched;
3664
3673
  }
3665
3674
  function noLeftoversInUrl(segmentGroup, segments, outlet) {
@@ -3819,8 +3828,7 @@ class Recognizer {
3819
3828
  return noMatch$1(rawSegment);
3820
3829
  }
3821
3830
  expandSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet) {
3822
- const { matched, consumedSegments, positionalParamSegments, remainingSegments, } = route.path === '**' ? createWildcardMatchResult(segments) :
3823
- match(segmentGroup, route, segments);
3831
+ const { matched, consumedSegments, positionalParamSegments, remainingSegments, } = match(segmentGroup, route, segments);
3824
3832
  if (!matched)
3825
3833
  return noMatch$1(segmentGroup);
3826
3834
  // TODO(atscott): Move all of this under an if(ngDevMode) as a breaking change and allow stack
@@ -3843,18 +3851,14 @@ class Recognizer {
3843
3851
  }));
3844
3852
  }
3845
3853
  matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet) {
3846
- let matchResult;
3854
+ const matchResult = matchWithChecks(rawSegment, route, segments, injector, this.urlSerializer);
3847
3855
  if (route.path === '**') {
3848
- matchResult = of(createWildcardMatchResult(segments));
3849
3856
  // Prior versions of the route matching algorithm would stop matching at the wildcard route.
3850
3857
  // We should investigate a better strategy for any existing children. Otherwise, these
3851
3858
  // child segments are silently dropped from the navigation.
3852
3859
  // https://github.com/angular/angular/issues/40089
3853
3860
  rawSegment.children = {};
3854
3861
  }
3855
- else {
3856
- matchResult = matchWithChecks(rawSegment, route, segments, injector, this.urlSerializer);
3857
- }
3858
3862
  return matchResult.pipe(switchMap((result) => {
3859
3863
  if (!result.matched) {
3860
3864
  return noMatch$1(rawSegment);
@@ -3986,15 +3990,6 @@ function getData(route) {
3986
3990
  function getResolve(route) {
3987
3991
  return route.resolve || {};
3988
3992
  }
3989
- function createWildcardMatchResult(segments) {
3990
- return {
3991
- matched: true,
3992
- parameters: segments.length > 0 ? last(segments).parameters : {},
3993
- consumedSegments: segments,
3994
- remainingSegments: [],
3995
- positionalParamSegments: {},
3996
- };
3997
- }
3998
3993
 
3999
3994
  function recognize(injector, configLoader, rootComponentType, config, serializer, paramsInheritanceStrategy) {
4000
3995
  return mergeMap(t => recognize$1(injector, configLoader, rootComponentType, config, t.extractedUrl, serializer, paramsInheritanceStrategy)
@@ -4009,27 +4004,31 @@ function resolveData(paramsInheritanceStrategy, injector) {
4009
4004
  if (!canActivateChecks.length) {
4010
4005
  return of(t);
4011
4006
  }
4012
- const routesWithResolversToRun = canActivateChecks.map(check => check.route);
4013
- const routesWithResolversSet = new Set(routesWithResolversToRun);
4014
- const routesNeedingDataUpdates =
4015
- // List all ActivatedRoutes in an array, starting from the parent of the first route to run
4016
- // resolvers. We go from the parent because the first route might have siblings that also
4017
- // run resolvers.
4018
- flattenRouteTree(routesWithResolversToRun[0].parent)
4019
- // Remove the parent from the list -- we do not need to recompute its inherited data
4020
- // because no resolvers at or above it run.
4021
- .slice(1);
4007
+ // Iterating a Set in javascript happens in insertion order so it is safe to use a `Set` to
4008
+ // preserve the correct order that the resolvers should run in.
4009
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#description
4010
+ const routesWithResolversToRun = new Set(canActivateChecks.map(check => check.route));
4011
+ const routesNeedingDataUpdates = new Set();
4012
+ for (const route of routesWithResolversToRun) {
4013
+ if (routesNeedingDataUpdates.has(route)) {
4014
+ continue;
4015
+ }
4016
+ // All children under the route with a resolver to run need to recompute inherited data.
4017
+ for (const newRoute of flattenRouteTree(route)) {
4018
+ routesNeedingDataUpdates.add(newRoute);
4019
+ }
4020
+ }
4022
4021
  let routesProcessed = 0;
4023
4022
  return from(routesNeedingDataUpdates)
4024
4023
  .pipe(concatMap(route => {
4025
- if (routesWithResolversSet.has(route)) {
4024
+ if (routesWithResolversToRun.has(route)) {
4026
4025
  return runResolve(route, targetSnapshot, paramsInheritanceStrategy, injector);
4027
4026
  }
4028
4027
  else {
4029
4028
  route.data = getInherited(route, route.parent, paramsInheritanceStrategy).resolve;
4030
4029
  return of(void 0);
4031
4030
  }
4032
- }), tap(() => routesProcessed++), takeLast(1), mergeMap(_ => routesProcessed === routesNeedingDataUpdates.length ? of(t) : EMPTY));
4031
+ }), tap(() => routesProcessed++), takeLast(1), mergeMap(_ => routesProcessed === routesNeedingDataUpdates.size ? of(t) : EMPTY));
4033
4032
  });
4034
4033
  }
4035
4034
  /**
@@ -4067,7 +4066,7 @@ function getResolver(injectionToken, futureARS, futureRSS, injector) {
4067
4066
  const resolver = getTokenOrFunctionIdentity(injectionToken, closestInjector);
4068
4067
  const resolverValue = resolver.resolve ?
4069
4068
  resolver.resolve(futureARS, futureRSS) :
4070
- closestInjector.runInContext(() => resolver(futureARS, futureRSS));
4069
+ runInInjectionContext(closestInjector, () => resolver(futureARS, futureRSS));
4071
4070
  return wrapIntoObservable(resolverValue);
4072
4071
  }
4073
4072
 
@@ -4130,10 +4129,10 @@ class TitleStrategy {
4130
4129
  getResolvedTitleForRoute(snapshot) {
4131
4130
  return snapshot.data[RouteTitleKey];
4132
4131
  }
4133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4134
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4133
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4135
4134
  }
4136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TitleStrategy, decorators: [{
4135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TitleStrategy, decorators: [{
4137
4136
  type: Injectable,
4138
4137
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4139
4138
  }] });
@@ -4156,10 +4155,10 @@ class DefaultTitleStrategy extends TitleStrategy {
4156
4155
  this.title.setTitle(title);
4157
4156
  }
4158
4157
  }
4159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4160
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4159
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4161
4160
  }
4162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4163
4162
  type: Injectable,
4164
4163
  args: [{ providedIn: 'root' }]
4165
4164
  }], ctorParameters: () => [{ type: i1.Title }] });
@@ -4237,10 +4236,10 @@ class RouterConfigLoader {
4237
4236
  this.childrenLoaders.set(route, loader);
4238
4237
  return loader;
4239
4238
  }
4240
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4241
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4240
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4242
4241
  }
4243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterConfigLoader, decorators: [{
4242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterConfigLoader, decorators: [{
4244
4243
  type: Injectable,
4245
4244
  args: [{ providedIn: 'root' }]
4246
4245
  }] });
@@ -4308,10 +4307,10 @@ function maybeUnwrapDefaultExport(input) {
4308
4307
  * @publicApi
4309
4308
  */
4310
4309
  class UrlHandlingStrategy {
4311
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4312
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4311
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4313
4312
  }
4314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4315
4314
  type: Injectable,
4316
4315
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
4317
4316
  }] });
@@ -4328,10 +4327,10 @@ class DefaultUrlHandlingStrategy {
4328
4327
  merge(newUrlPart, wholeUrl) {
4329
4328
  return newUrlPart;
4330
4329
  }
4331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4332
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4330
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4331
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4333
4332
  }
4334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4335
4334
  type: Injectable,
4336
4335
  args: [{ providedIn: 'root' }]
4337
4336
  }] });
@@ -4740,10 +4739,10 @@ class NavigationTransitions {
4740
4739
  return extractedBrowserUrl.toString() !== this.currentTransition?.extractedUrl.toString() &&
4741
4740
  !this.currentTransition?.extras.skipLocationChange;
4742
4741
  }
4743
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4744
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4742
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4743
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4745
4744
  }
4746
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NavigationTransitions, decorators: [{
4745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavigationTransitions, decorators: [{
4747
4746
  type: Injectable,
4748
4747
  args: [{ providedIn: 'root' }]
4749
4748
  }], ctorParameters: () => [] });
@@ -4759,10 +4758,10 @@ function isBrowserTriggeredNavigation(source) {
4759
4758
  * @publicApi
4760
4759
  */
4761
4760
  class RouteReuseStrategy {
4762
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4763
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4761
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4762
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4764
4763
  }
4765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4766
4765
  type: Injectable,
4767
4766
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4768
4767
  }] });
@@ -4813,19 +4812,19 @@ class BaseRouteReuseStrategy {
4813
4812
  }
4814
4813
  }
4815
4814
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
4816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4817
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4815
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4816
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4818
4817
  }
4819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4820
4819
  type: Injectable,
4821
4820
  args: [{ providedIn: 'root' }]
4822
4821
  }] });
4823
4822
 
4824
4823
  class StateManager {
4825
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4826
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4824
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4825
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4827
4826
  }
4828
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: StateManager, decorators: [{
4827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: StateManager, decorators: [{
4829
4828
  type: Injectable,
4830
4829
  args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
4831
4830
  }] });
@@ -5002,10 +5001,10 @@ class HistoryStateManager extends StateManager {
5002
5001
  }
5003
5002
  return { navigationId };
5004
5003
  }
5005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5006
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5004
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5005
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5007
5006
  }
5008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: HistoryStateManager, decorators: [{
5007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: HistoryStateManager, decorators: [{
5009
5008
  type: Injectable,
5010
5009
  args: [{ providedIn: 'root' }]
5011
5010
  }] });
@@ -5578,10 +5577,10 @@ class Router {
5578
5577
  return Promise.reject(e);
5579
5578
  });
5580
5579
  }
5581
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5582
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: Router, providedIn: 'root' }); }
5580
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5581
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: Router, providedIn: 'root' }); }
5583
5582
  }
5584
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: Router, decorators: [{
5583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: Router, decorators: [{
5585
5584
  type: Injectable,
5586
5585
  args: [{ providedIn: 'root' }]
5587
5586
  }], ctorParameters: () => [] });
@@ -5852,10 +5851,10 @@ class RouterLink {
5852
5851
  preserveFragment: this.preserveFragment,
5853
5852
  });
5854
5853
  }
5855
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", 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 }); }
5856
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.4", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", 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 }); }
5854
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", 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 }); }
5855
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.6", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", 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 }); }
5857
5856
  }
5858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterLink, decorators: [{
5857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterLink, decorators: [{
5859
5858
  type: Directive,
5860
5859
  args: [{
5861
5860
  selector: '[routerLink]',
@@ -6078,10 +6077,10 @@ class RouterLinkActive {
6078
6077
  const isActiveCheckFn = this.isLinkActive(this.router);
6079
6078
  return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6080
6079
  }
6081
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6082
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", 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 }); }
6080
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6081
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", 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 }); }
6083
6082
  }
6084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterLinkActive, decorators: [{
6083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterLinkActive, decorators: [{
6085
6084
  type: Directive,
6086
6085
  args: [{
6087
6086
  selector: '[routerLinkActive]',
@@ -6133,10 +6132,10 @@ class PreloadAllModules {
6133
6132
  preload(route, fn) {
6134
6133
  return fn().pipe(catchError(() => of(null)));
6135
6134
  }
6136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6137
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6136
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6138
6137
  }
6139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PreloadAllModules, decorators: [{
6138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PreloadAllModules, decorators: [{
6140
6139
  type: Injectable,
6141
6140
  args: [{ providedIn: 'root' }]
6142
6141
  }] });
@@ -6153,10 +6152,10 @@ class NoPreloading {
6153
6152
  preload(route, fn) {
6154
6153
  return of(null);
6155
6154
  }
6156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6157
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6156
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6158
6157
  }
6159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NoPreloading, decorators: [{
6158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NoPreloading, decorators: [{
6160
6159
  type: Injectable,
6161
6160
  args: [{ providedIn: 'root' }]
6162
6161
  }] });
@@ -6249,10 +6248,10 @@ class RouterPreloader {
6249
6248
  }
6250
6249
  });
6251
6250
  }
6252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6253
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6252
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6254
6253
  }
6255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterPreloader, decorators: [{
6254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterPreloader, decorators: [{
6256
6255
  type: Injectable,
6257
6256
  args: [{ providedIn: 'root' }]
6258
6257
  }], ctorParameters: () => [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }] });
@@ -6345,10 +6344,10 @@ class RouterScroller {
6345
6344
  this.routerEventsSubscription?.unsubscribe();
6346
6345
  this.scrollEventsSubscription?.unsubscribe();
6347
6346
  }
6348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6349
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterScroller }); }
6347
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6348
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterScroller }); }
6350
6349
  }
6351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterScroller, decorators: [{
6350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterScroller, decorators: [{
6352
6351
  type: Injectable
6353
6352
  }], ctorParameters: () => [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }] });
6354
6353
 
@@ -6804,7 +6803,7 @@ function withNavigationErrorHandler(fn) {
6804
6803
  const injector = inject(EnvironmentInjector);
6805
6804
  inject(Router).events.subscribe((e) => {
6806
6805
  if (e instanceof NavigationError) {
6807
- injector.runInContext(() => fn(e));
6806
+ runInInjectionContext(injector, () => fn(e));
6808
6807
  }
6809
6808
  });
6810
6809
  }
@@ -6989,11 +6988,11 @@ class RouterModule {
6989
6988
  providers: [{ provide: ROUTES, multi: true, useValue: routes }],
6990
6989
  };
6991
6990
  }
6992
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
6993
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
6994
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterModule }); }
6991
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
6992
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
6993
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterModule }); }
6995
6994
  }
6996
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterModule, decorators: [{
6995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: RouterModule, decorators: [{
6997
6996
  type: NgModule,
6998
6997
  args: [{
6999
6998
  imports: ROUTER_DIRECTIVES,
@@ -7138,7 +7137,7 @@ function mapToResolve(provider) {
7138
7137
  /**
7139
7138
  * @publicApi
7140
7139
  */
7141
- const VERSION = new Version('17.0.4');
7140
+ const VERSION = new Version('17.0.6');
7142
7141
 
7143
7142
  /**
7144
7143
  * @module