@angular/router 17.0.7 → 17.0.9

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 (34) hide show
  1. package/esm2022/src/components/empty_outlet.mjs +3 -3
  2. package/esm2022/src/create_url_tree.mjs +3 -3
  3. package/esm2022/src/directives/router_link.mjs +3 -3
  4. package/esm2022/src/directives/router_link_active.mjs +3 -3
  5. package/esm2022/src/directives/router_outlet.mjs +6 -6
  6. package/esm2022/src/navigation_transition.mjs +6 -6
  7. package/esm2022/src/operators/activate_routes.mjs +5 -5
  8. package/esm2022/src/page_title_strategy.mjs +6 -6
  9. package/esm2022/src/provide_router.mjs +1 -1
  10. package/esm2022/src/route_reuse_strategy.mjs +6 -6
  11. package/esm2022/src/router.mjs +7 -8
  12. package/esm2022/src/router_config.mjs +1 -1
  13. package/esm2022/src/router_config_loader.mjs +4 -4
  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/router_state.mjs +6 -6
  19. package/esm2022/src/statemanager/state_manager.mjs +8 -8
  20. package/esm2022/src/url_handling_strategy.mjs +6 -6
  21. package/esm2022/src/url_tree.mjs +10 -12
  22. package/esm2022/src/utils/collection.mjs +1 -7
  23. package/esm2022/src/utils/config_matching.mjs +4 -5
  24. package/esm2022/src/version.mjs +1 -1
  25. package/esm2022/testing/src/router_testing_harness.mjs +6 -6
  26. package/esm2022/testing/src/router_testing_module.mjs +4 -4
  27. package/fesm2022/router.mjs +99 -108
  28. package/fesm2022/router.mjs.map +1 -1
  29. package/fesm2022/testing.mjs +11 -11
  30. package/fesm2022/upgrade.mjs +1 -1
  31. package/index.d.ts +1 -1
  32. package/package.json +4 -4
  33. package/testing/index.d.ts +1 -1
  34. package/upgrade/index.d.ts +1 -1
@@ -1,15 +1,15 @@
1
1
  /**
2
- * @license Angular v17.0.7
2
+ * @license Angular v17.0.9
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, 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';
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, ɵPendingTasks, ɵɵ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';
12
- import { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, defaultIfEmpty, last as last$1, takeLast, mapTo, finalize, refCount, takeUntil, mergeAll } from 'rxjs/operators';
12
+ import { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, defaultIfEmpty, last, takeLast, mapTo, finalize, refCount, takeUntil, mergeAll } from 'rxjs/operators';
13
13
  import * as i1 from '@angular/platform-browser';
14
14
 
15
15
  /**
@@ -149,12 +149,6 @@ function equalArraysOrString(a, b) {
149
149
  return a === b;
150
150
  }
151
151
  }
152
- /**
153
- * Return the last element of an array.
154
- */
155
- function last(a) {
156
- return a.length > 0 ? a[a.length - 1] : null;
157
- }
158
152
  function wrapIntoObservable(value) {
159
153
  if (isObservable(value)) {
160
154
  return value;
@@ -425,10 +419,10 @@ function mapChildrenIntoArray(segment, fn) {
425
419
  * @publicApi
426
420
  */
427
421
  class UrlSerializer {
428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
429
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
422
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
423
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
430
424
  }
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: UrlSerializer, decorators: [{
425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlSerializer, decorators: [{
432
426
  type: Injectable,
433
427
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
434
428
  }] });
@@ -551,19 +545,18 @@ function serializePath(path) {
551
545
  return `${encodeUriSegment(path.path)}${serializeMatrixParams(path.parameters)}`;
552
546
  }
553
547
  function serializeMatrixParams(params) {
554
- return Object.keys(params)
555
- .map(key => `;${encodeUriSegment(key)}=${encodeUriSegment(params[key])}`)
548
+ return Object.entries(params)
549
+ .map(([key, value]) => `;${encodeUriSegment(key)}=${encodeUriSegment(value)}`)
556
550
  .join('');
557
551
  }
558
552
  function serializeQueryParams(params) {
559
- const strParams = Object.keys(params)
560
- .map((name) => {
561
- const value = params[name];
553
+ const strParams = Object.entries(params)
554
+ .map(([name, value]) => {
562
555
  return Array.isArray(value) ?
563
556
  value.map(v => `${encodeUriQuery(name)}=${encodeUriQuery(v)}`).join('&') :
564
557
  `${encodeUriQuery(name)}=${encodeUriQuery(value)}`;
565
558
  })
566
- .filter(s => !!s);
559
+ .filter(s => s);
567
560
  return strParams.length ? `?${strParams.join('&')}` : '';
568
561
  }
569
562
  const SEGMENT_RE = /^[^\/()?;#]+/;
@@ -767,8 +760,7 @@ function createRoot(rootCandidate) {
767
760
  */
768
761
  function squashSegmentGroup(segmentGroup) {
769
762
  const newChildren = {};
770
- for (const childOutlet of Object.keys(segmentGroup.children)) {
771
- const child = segmentGroup.children[childOutlet];
763
+ for (const [childOutlet, child] of Object.entries(segmentGroup.children)) {
772
764
  const childCandidate = squashSegmentGroup(child);
773
765
  // moves named children in an empty path primary child into this group
774
766
  if (childOutlet === PRIMARY_OUTLET && childCandidate.segments.length === 0 &&
@@ -953,7 +945,7 @@ class Navigation {
953
945
  'Root segment cannot have matrix parameters');
954
946
  }
955
947
  const cmdWithOutlet = commands.find(isCommandWithOutlets);
956
- if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {
948
+ if (cmdWithOutlet && cmdWithOutlet !== commands.at(-1)) {
957
949
  throw new ɵRuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
958
950
  '{outlets:{}} has to be the last command');
959
951
  }
@@ -1785,10 +1777,10 @@ class ChildrenOutletContexts {
1785
1777
  getContext(childName) {
1786
1778
  return this.contexts.get(childName) || null;
1787
1779
  }
1788
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1789
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1780
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1781
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1790
1782
  }
1791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1783
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1792
1784
  type: Injectable,
1793
1785
  args: [{ providedIn: 'root' }]
1794
1786
  }] });
@@ -1924,8 +1916,8 @@ class RouterState extends Tree {
1924
1916
  return this.snapshot.toString();
1925
1917
  }
1926
1918
  }
1927
- function createEmptyState(urlTree, rootComponent) {
1928
- const snapshot = createEmptyStateSnapshot(urlTree, rootComponent);
1919
+ function createEmptyState(rootComponent) {
1920
+ const snapshot = createEmptyStateSnapshot(rootComponent);
1929
1921
  const emptyUrl = new BehaviorSubject([new UrlSegment('', {})]);
1930
1922
  const emptyParams = new BehaviorSubject({});
1931
1923
  const emptyData = new BehaviorSubject({});
@@ -1935,7 +1927,7 @@ function createEmptyState(urlTree, rootComponent) {
1935
1927
  activated.snapshot = snapshot.root;
1936
1928
  return new RouterState(new TreeNode(activated, []), snapshot);
1937
1929
  }
1938
- function createEmptyStateSnapshot(urlTree, rootComponent) {
1930
+ function createEmptyStateSnapshot(rootComponent) {
1939
1931
  const emptyParams = {};
1940
1932
  const emptyData = {};
1941
1933
  const emptyQueryParams = {};
@@ -2082,8 +2074,8 @@ function getInherited(route, parent, paramsInheritanceStrategy = 'emptyOnly') {
2082
2074
  }
2083
2075
  else {
2084
2076
  inherited = {
2085
- params: route.params,
2086
- data: route.data,
2077
+ params: { ...route.params },
2078
+ data: { ...route.data },
2087
2079
  resolve: { ...route.data, ...(route._resolvedData ?? {}) }
2088
2080
  };
2089
2081
  }
@@ -2508,10 +2500,10 @@ class RouterOutlet {
2508
2500
  this.inputBinder?.bindActivatedRouteToOutletComponent(this);
2509
2501
  this.activateEvents.emit(this.activated.instance);
2510
2502
  }
2511
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2512
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", 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 }); }
2503
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2504
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", 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
2505
  }
2514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterOutlet, decorators: [{
2506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterOutlet, decorators: [{
2515
2507
  type: Directive,
2516
2508
  args: [{
2517
2509
  selector: 'router-outlet',
@@ -2614,10 +2606,10 @@ class RoutedComponentInputBinder {
2614
2606
  });
2615
2607
  this.outletDataSubscriptions.set(outlet, dataSubscription);
2616
2608
  }
2617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2618
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RoutedComponentInputBinder }); }
2609
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2610
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RoutedComponentInputBinder }); }
2619
2611
  }
2620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2621
2613
  type: Injectable
2622
2614
  }] });
2623
2615
 
@@ -2697,10 +2689,10 @@ function isNavigationCancelingError$1(error) {
2697
2689
  * to this `EmptyOutletComponent`.
2698
2690
  */
2699
2691
  class ɵEmptyOutletComponent {
2700
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2701
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", 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"] }] }); }
2692
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2693
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", 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
2694
  }
2703
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2704
2696
  type: Component,
2705
2697
  args: [{
2706
2698
  template: `<router-outlet></router-outlet>`,
@@ -2969,8 +2961,8 @@ class ActivateRoutes {
2969
2961
  const context = parentContexts.getContext(route.value.outlet);
2970
2962
  const contexts = context && route.value.component ? context.children : parentContexts;
2971
2963
  const children = nodeChildrenAsMap(route);
2972
- for (const childOutlet of Object.keys(children)) {
2973
- this.deactivateRouteAndItsChildren(children[childOutlet], contexts);
2964
+ for (const treeNode of Object.values(children)) {
2965
+ this.deactivateRouteAndItsChildren(treeNode, contexts);
2974
2966
  }
2975
2967
  if (context && context.outlet) {
2976
2968
  const componentRef = context.outlet.detach();
@@ -2984,8 +2976,8 @@ class ActivateRoutes {
2984
2976
  // children that need deactivating.
2985
2977
  const contexts = context && route.value.component ? context.children : parentContexts;
2986
2978
  const children = nodeChildrenAsMap(route);
2987
- for (const childOutlet of Object.keys(children)) {
2988
- this.deactivateRouteAndItsChildren(children[childOutlet], contexts);
2979
+ for (const treeNode of Object.values(children)) {
2980
+ this.deactivateRouteAndItsChildren(treeNode, contexts);
2989
2981
  }
2990
2982
  if (context) {
2991
2983
  if (context.outlet) {
@@ -3591,7 +3583,7 @@ function match(segmentGroup, route, segments) {
3591
3583
  function createWildcardMatchResult(segments) {
3592
3584
  return {
3593
3585
  matched: true,
3594
- parameters: segments.length > 0 ? last(segments).parameters : {},
3586
+ parameters: segments.at(-1)?.parameters ?? {},
3595
3587
  consumedSegments: segments,
3596
3588
  remainingSegments: [],
3597
3589
  positionalParamSegments: {},
@@ -3605,13 +3597,13 @@ function split(segmentGroup, consumedSegments, slicedSegments, config) {
3605
3597
  }
3606
3598
  if (slicedSegments.length === 0 &&
3607
3599
  containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {
3608
- const s = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, consumedSegments, slicedSegments, config, segmentGroup.children));
3600
+ const s = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));
3609
3601
  return { segmentGroup: s, slicedSegments };
3610
3602
  }
3611
3603
  const s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children);
3612
3604
  return { segmentGroup: s, slicedSegments };
3613
3605
  }
3614
- function addEmptyPathsToChildrenIfNeeded(segmentGroup, consumedSegments, slicedSegments, routes, children) {
3606
+ function addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {
3615
3607
  const res = {};
3616
3608
  for (const r of routes) {
3617
3609
  if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {
@@ -3777,7 +3769,7 @@ class Recognizer {
3777
3769
  }), scan((children, outletChildren) => {
3778
3770
  children.push(...outletChildren);
3779
3771
  return children;
3780
- }), defaultIfEmpty(null), last$1(), mergeMap(children => {
3772
+ }), defaultIfEmpty(null), last(), mergeMap(children => {
3781
3773
  if (children === null)
3782
3774
  return noMatch$1(segmentGroup);
3783
3775
  // Because we may have matched two outlets to the same empty path segment, we can have
@@ -4126,10 +4118,10 @@ class TitleStrategy {
4126
4118
  getResolvedTitleForRoute(snapshot) {
4127
4119
  return snapshot.data[RouteTitleKey];
4128
4120
  }
4129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4130
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4122
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4131
4123
  }
4132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TitleStrategy, decorators: [{
4124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TitleStrategy, decorators: [{
4133
4125
  type: Injectable,
4134
4126
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4135
4127
  }] });
@@ -4152,10 +4144,10 @@ class DefaultTitleStrategy extends TitleStrategy {
4152
4144
  this.title.setTitle(title);
4153
4145
  }
4154
4146
  }
4155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4156
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4157
4149
  }
4158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4159
4151
  type: Injectable,
4160
4152
  args: [{ providedIn: 'root' }]
4161
4153
  }], ctorParameters: () => [{ type: i1.Title }] });
@@ -4233,10 +4225,10 @@ class RouterConfigLoader {
4233
4225
  this.childrenLoaders.set(route, loader);
4234
4226
  return loader;
4235
4227
  }
4236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4237
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4229
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4238
4230
  }
4239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterConfigLoader, decorators: [{
4231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterConfigLoader, decorators: [{
4240
4232
  type: Injectable,
4241
4233
  args: [{ providedIn: 'root' }]
4242
4234
  }] });
@@ -4304,10 +4296,10 @@ function maybeUnwrapDefaultExport(input) {
4304
4296
  * @publicApi
4305
4297
  */
4306
4298
  class UrlHandlingStrategy {
4307
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4308
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4309
4301
  }
4310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4311
4303
  type: Injectable,
4312
4304
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
4313
4305
  }] });
@@ -4324,10 +4316,10 @@ class DefaultUrlHandlingStrategy {
4324
4316
  merge(newUrlPart, wholeUrl) {
4325
4317
  return newUrlPart;
4326
4318
  }
4327
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4328
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4320
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4329
4321
  }
4330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4331
4323
  type: Injectable,
4332
4324
  args: [{ providedIn: 'root' }]
4333
4325
  }] });
@@ -4521,7 +4513,7 @@ class NavigationTransitions {
4521
4513
  const { id, extractedUrl, source, restoredState, extras } = t;
4522
4514
  const navStart = new NavigationStart(id, this.urlSerializer.serialize(extractedUrl), source, restoredState);
4523
4515
  this.events.next(navStart);
4524
- const targetSnapshot = createEmptyState(extractedUrl, this.rootComponentType).snapshot;
4516
+ const targetSnapshot = createEmptyState(this.rootComponentType).snapshot;
4525
4517
  this.currentTransition = overallTransitionState = {
4526
4518
  ...t,
4527
4519
  targetSnapshot,
@@ -4612,7 +4604,7 @@ class NavigationTransitions {
4612
4604
  return loaders;
4613
4605
  };
4614
4606
  return combineLatest(loadComponents(t.targetSnapshot.root))
4615
- .pipe(defaultIfEmpty(), take(1));
4607
+ .pipe(defaultIfEmpty(null), take(1));
4616
4608
  }), switchTap(() => this.afterPreactivation()), switchMap(() => {
4617
4609
  const { currentSnapshot, targetSnapshot } = overallTransitionState;
4618
4610
  const viewTransitionStarted = this.createViewTransition?.(this.environmentInjector, currentSnapshot.root, targetSnapshot.root);
@@ -4736,10 +4728,10 @@ class NavigationTransitions {
4736
4728
  return extractedBrowserUrl.toString() !== this.currentTransition?.extractedUrl.toString() &&
4737
4729
  !this.currentTransition?.extras.skipLocationChange;
4738
4730
  }
4739
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4740
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4731
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4732
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4741
4733
  }
4742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NavigationTransitions, decorators: [{
4734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NavigationTransitions, decorators: [{
4743
4735
  type: Injectable,
4744
4736
  args: [{ providedIn: 'root' }]
4745
4737
  }], ctorParameters: () => [] });
@@ -4755,10 +4747,10 @@ function isBrowserTriggeredNavigation(source) {
4755
4747
  * @publicApi
4756
4748
  */
4757
4749
  class RouteReuseStrategy {
4758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4759
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4750
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4751
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4760
4752
  }
4761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4753
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4762
4754
  type: Injectable,
4763
4755
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4764
4756
  }] });
@@ -4809,19 +4801,19 @@ class BaseRouteReuseStrategy {
4809
4801
  }
4810
4802
  }
4811
4803
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
4812
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4813
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4804
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4805
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4814
4806
  }
4815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4807
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4816
4808
  type: Injectable,
4817
4809
  args: [{ providedIn: 'root' }]
4818
4810
  }] });
4819
4811
 
4820
4812
  class StateManager {
4821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4822
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4813
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4814
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4823
4815
  }
4824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: StateManager, decorators: [{
4816
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StateManager, decorators: [{
4825
4817
  type: Injectable,
4826
4818
  args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
4827
4819
  }] });
@@ -4846,7 +4838,7 @@ class HistoryStateManager extends StateManager {
4846
4838
  */
4847
4839
  this.currentPageId = 0;
4848
4840
  this.lastSuccessfulId = -1;
4849
- this.routerState = createEmptyState(this.currentUrlTree, null);
4841
+ this.routerState = createEmptyState(null);
4850
4842
  this.stateMemento = this.createStateMemento();
4851
4843
  }
4852
4844
  getCurrentUrlTree() {
@@ -4998,10 +4990,10 @@ class HistoryStateManager extends StateManager {
4998
4990
  }
4999
4991
  return { navigationId };
5000
4992
  }
5001
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5002
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
4993
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4994
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5003
4995
  }
5004
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: HistoryStateManager, decorators: [{
4996
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HistoryStateManager, decorators: [{
5005
4997
  type: Injectable,
5006
4998
  args: [{ providedIn: 'root' }]
5007
4999
  }] });
@@ -5103,7 +5095,7 @@ class Router {
5103
5095
  this.console = inject(ɵConsole);
5104
5096
  this.stateManager = inject(StateManager);
5105
5097
  this.options = inject(ROUTER_CONFIGURATION, { optional: true }) || {};
5106
- this.pendingTasks = inject(ɵInitialRenderPendingTasks);
5098
+ this.pendingTasks = inject(ɵPendingTasks);
5107
5099
  this.urlUpdateStrategy = this.options.urlUpdateStrategy || 'deferred';
5108
5100
  this.navigationTransitions = inject(NavigationTransitions);
5109
5101
  this.urlSerializer = inject(UrlSerializer);
@@ -5522,8 +5514,7 @@ class Router {
5522
5514
  return containsTree(this.currentUrlTree, urlTree, options);
5523
5515
  }
5524
5516
  removeEmptyProps(params) {
5525
- return Object.keys(params).reduce((result, key) => {
5526
- const value = params[key];
5517
+ return Object.entries(params).reduce((result, [key, value]) => {
5527
5518
  if (value !== null && value !== undefined) {
5528
5519
  result[key] = value;
5529
5520
  }
@@ -5574,10 +5565,10 @@ class Router {
5574
5565
  return Promise.reject(e);
5575
5566
  });
5576
5567
  }
5577
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5578
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: Router, providedIn: 'root' }); }
5568
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5569
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: Router, providedIn: 'root' }); }
5579
5570
  }
5580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: Router, decorators: [{
5571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: Router, decorators: [{
5581
5572
  type: Injectable,
5582
5573
  args: [{ providedIn: 'root' }]
5583
5574
  }], ctorParameters: () => [] });
@@ -5848,10 +5839,10 @@ class RouterLink {
5848
5839
  preserveFragment: this.preserveFragment,
5849
5840
  });
5850
5841
  }
5851
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", 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 }); }
5852
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.7", 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 }); }
5842
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", 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 }); }
5843
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.9", 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 }); }
5853
5844
  }
5854
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterLink, decorators: [{
5845
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterLink, decorators: [{
5855
5846
  type: Directive,
5856
5847
  args: [{
5857
5848
  selector: '[routerLink]',
@@ -6074,10 +6065,10 @@ class RouterLinkActive {
6074
6065
  const isActiveCheckFn = this.isLinkActive(this.router);
6075
6066
  return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6076
6067
  }
6077
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6078
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", 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 }); }
6068
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6069
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", 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 }); }
6079
6070
  }
6080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterLinkActive, decorators: [{
6071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterLinkActive, decorators: [{
6081
6072
  type: Directive,
6082
6073
  args: [{
6083
6074
  selector: '[routerLinkActive]',
@@ -6129,10 +6120,10 @@ class PreloadAllModules {
6129
6120
  preload(route, fn) {
6130
6121
  return fn().pipe(catchError(() => of(null)));
6131
6122
  }
6132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6133
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6124
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6134
6125
  }
6135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PreloadAllModules, decorators: [{
6126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PreloadAllModules, decorators: [{
6136
6127
  type: Injectable,
6137
6128
  args: [{ providedIn: 'root' }]
6138
6129
  }] });
@@ -6149,10 +6140,10 @@ class NoPreloading {
6149
6140
  preload(route, fn) {
6150
6141
  return of(null);
6151
6142
  }
6152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6153
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6144
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6154
6145
  }
6155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NoPreloading, decorators: [{
6146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NoPreloading, decorators: [{
6156
6147
  type: Injectable,
6157
6148
  args: [{ providedIn: 'root' }]
6158
6149
  }] });
@@ -6245,10 +6236,10 @@ class RouterPreloader {
6245
6236
  }
6246
6237
  });
6247
6238
  }
6248
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6249
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6240
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6250
6241
  }
6251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterPreloader, decorators: [{
6242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterPreloader, decorators: [{
6252
6243
  type: Injectable,
6253
6244
  args: [{ providedIn: 'root' }]
6254
6245
  }], ctorParameters: () => [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }] });
@@ -6341,10 +6332,10 @@ class RouterScroller {
6341
6332
  this.routerEventsSubscription?.unsubscribe();
6342
6333
  this.scrollEventsSubscription?.unsubscribe();
6343
6334
  }
6344
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6345
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterScroller }); }
6335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6336
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterScroller }); }
6346
6337
  }
6347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterScroller, decorators: [{
6338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterScroller, decorators: [{
6348
6339
  type: Injectable
6349
6340
  }], ctorParameters: () => [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }] });
6350
6341
 
@@ -6985,11 +6976,11 @@ class RouterModule {
6985
6976
  providers: [{ provide: ROUTES, multi: true, useValue: routes }],
6986
6977
  };
6987
6978
  }
6988
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
6989
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
6990
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterModule }); }
6979
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
6980
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
6981
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterModule }); }
6991
6982
  }
6992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterModule, decorators: [{
6983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RouterModule, decorators: [{
6993
6984
  type: NgModule,
6994
6985
  args: [{
6995
6986
  imports: ROUTER_DIRECTIVES,
@@ -7134,7 +7125,7 @@ function mapToResolve(provider) {
7134
7125
  /**
7135
7126
  * @publicApi
7136
7127
  */
7137
- const VERSION = new Version('17.0.7');
7128
+ const VERSION = new Version('17.0.9');
7138
7129
 
7139
7130
  /**
7140
7131
  * @module