@angular/router 17.1.0-rc.0 → 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2022/src/components/empty_outlet.mjs +3 -3
  2. package/esm2022/src/create_url_tree.mjs +4 -6
  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 +3 -3
  7. package/esm2022/src/page_title_strategy.mjs +6 -6
  8. package/esm2022/src/route_reuse_strategy.mjs +6 -6
  9. package/esm2022/src/router.mjs +12 -14
  10. package/esm2022/src/router_config_loader.mjs +3 -3
  11. package/esm2022/src/router_module.mjs +4 -4
  12. package/esm2022/src/router_outlet_context.mjs +3 -3
  13. package/esm2022/src/router_preloader.mjs +9 -9
  14. package/esm2022/src/router_scroller.mjs +6 -6
  15. package/esm2022/src/router_state.mjs +6 -14
  16. package/esm2022/src/statemanager/state_manager.mjs +6 -6
  17. package/esm2022/src/url_handling_strategy.mjs +6 -6
  18. package/esm2022/src/url_tree.mjs +6 -10
  19. package/esm2022/src/utils/collection.mjs +7 -1
  20. package/esm2022/src/utils/config_matching.mjs +3 -2
  21. package/esm2022/src/version.mjs +1 -1
  22. package/esm2022/testing/src/router_testing_harness.mjs +6 -6
  23. package/esm2022/testing/src/router_testing_module.mjs +4 -4
  24. package/esm2022/upgrade/src/upgrade.mjs +2 -4
  25. package/fesm2022/router.mjs +100 -110
  26. package/fesm2022/router.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +11 -11
  28. package/fesm2022/upgrade.mjs +2 -4
  29. package/fesm2022/upgrade.mjs.map +1 -1
  30. package/index.d.ts +1 -1
  31. package/package.json +4 -4
  32. package/testing/index.d.ts +1 -1
  33. package/upgrade/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.1.0-rc.0
2
+ * @license Angular v17.1.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -9,7 +9,7 @@ import { ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewCont
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, takeLast, mapTo, finalize, refCount, takeUntil, mergeAll } from 'rxjs/operators';
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';
13
13
  import * as i1 from '@angular/platform-browser';
14
14
 
15
15
  /**
@@ -149,6 +149,12 @@ 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
+ }
152
158
  function wrapIntoObservable(value) {
153
159
  if (isObservable(value)) {
154
160
  return value;
@@ -294,9 +300,7 @@ class UrlTree {
294
300
  }
295
301
  }
296
302
  get queryParamMap() {
297
- if (!this._queryParamMap) {
298
- this._queryParamMap = convertToParamMap(this.queryParams);
299
- }
303
+ this._queryParamMap ??= convertToParamMap(this.queryParams);
300
304
  return this._queryParamMap;
301
305
  }
302
306
  /** @docsNotRequired */
@@ -374,9 +378,7 @@ class UrlSegment {
374
378
  this.parameters = parameters;
375
379
  }
376
380
  get parameterMap() {
377
- if (!this._parameterMap) {
378
- this._parameterMap = convertToParamMap(this.parameters);
379
- }
381
+ this._parameterMap ??= convertToParamMap(this.parameters);
380
382
  return this._parameterMap;
381
383
  }
382
384
  /** @docsNotRequired */
@@ -419,10 +421,10 @@ function mapChildrenIntoArray(segment, fn) {
419
421
  * @publicApi
420
422
  */
421
423
  class UrlSerializer {
422
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
423
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
425
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
424
426
  }
425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: UrlSerializer, decorators: [{
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlSerializer, decorators: [{
426
428
  type: Injectable,
427
429
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
428
430
  }] });
@@ -945,7 +947,7 @@ class Navigation {
945
947
  'Root segment cannot have matrix parameters');
946
948
  }
947
949
  const cmdWithOutlet = commands.find(isCommandWithOutlets);
948
- if (cmdWithOutlet && cmdWithOutlet !== commands.at(-1)) {
950
+ if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {
949
951
  throw new ɵRuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, (typeof ngDevMode === 'undefined' || ngDevMode) &&
950
952
  '{outlets:{}} has to be the last command');
951
953
  }
@@ -1044,9 +1046,7 @@ function getOutlets(commands) {
1044
1046
  return { [PRIMARY_OUTLET]: commands };
1045
1047
  }
1046
1048
  function updateSegmentGroup(segmentGroup, startIndex, commands) {
1047
- if (!segmentGroup) {
1048
- segmentGroup = new UrlSegmentGroup([], {});
1049
- }
1049
+ segmentGroup ??= new UrlSegmentGroup([], {});
1050
1050
  if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
1051
1051
  return updateSegmentGroupChildren(segmentGroup, startIndex, commands);
1052
1052
  }
@@ -1847,10 +1847,10 @@ class ChildrenOutletContexts {
1847
1847
  getContext(childName) {
1848
1848
  return this.contexts.get(childName) || null;
1849
1849
  }
1850
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1851
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1850
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1851
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1852
1852
  }
1853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1854
1854
  type: Injectable,
1855
1855
  args: [{ providedIn: 'root' }]
1856
1856
  }] });
@@ -2087,9 +2087,7 @@ class ActivatedRoute {
2087
2087
  * The map supports retrieving single and multiple values from the same parameter.
2088
2088
  */
2089
2089
  get paramMap() {
2090
- if (!this._paramMap) {
2091
- this._paramMap = this.params.pipe(map((p) => convertToParamMap(p)));
2092
- }
2090
+ this._paramMap ??= this.params.pipe(map((p) => convertToParamMap(p)));
2093
2091
  return this._paramMap;
2094
2092
  }
2095
2093
  /**
@@ -2097,10 +2095,8 @@ class ActivatedRoute {
2097
2095
  * The map supports retrieving single and multiple values from the query parameter.
2098
2096
  */
2099
2097
  get queryParamMap() {
2100
- if (!this._queryParamMap) {
2101
- this._queryParamMap =
2102
- this.queryParams.pipe(map((p) => convertToParamMap(p)));
2103
- }
2098
+ this._queryParamMap ??=
2099
+ this.queryParams.pipe(map((p) => convertToParamMap(p)));
2104
2100
  return this._queryParamMap;
2105
2101
  }
2106
2102
  toString() {
@@ -2249,15 +2245,11 @@ class ActivatedRouteSnapshot {
2249
2245
  return this._routerState.pathFromRoot(this);
2250
2246
  }
2251
2247
  get paramMap() {
2252
- if (!this._paramMap) {
2253
- this._paramMap = convertToParamMap(this.params);
2254
- }
2248
+ this._paramMap ??= convertToParamMap(this.params);
2255
2249
  return this._paramMap;
2256
2250
  }
2257
2251
  get queryParamMap() {
2258
- if (!this._queryParamMap) {
2259
- this._queryParamMap = convertToParamMap(this.queryParams);
2260
- }
2252
+ this._queryParamMap ??= convertToParamMap(this.queryParams);
2261
2253
  return this._queryParamMap;
2262
2254
  }
2263
2255
  toString() {
@@ -2570,10 +2562,10 @@ class RouterOutlet {
2570
2562
  this.inputBinder?.bindActivatedRouteToOutletComponent(this);
2571
2563
  this.activateEvents.emit(this.activated.instance);
2572
2564
  }
2573
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2574
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0-rc.0", 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 }); }
2565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2566
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", 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 }); }
2575
2567
  }
2576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterOutlet, decorators: [{
2568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterOutlet, decorators: [{
2577
2569
  type: Directive,
2578
2570
  args: [{
2579
2571
  selector: 'router-outlet',
@@ -2676,10 +2668,10 @@ class RoutedComponentInputBinder {
2676
2668
  });
2677
2669
  this.outletDataSubscriptions.set(outlet, dataSubscription);
2678
2670
  }
2679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2680
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RoutedComponentInputBinder }); }
2671
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2672
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RoutedComponentInputBinder }); }
2681
2673
  }
2682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2683
2675
  type: Injectable
2684
2676
  }] });
2685
2677
 
@@ -2759,10 +2751,10 @@ function isNavigationCancelingError$1(error) {
2759
2751
  * to this `EmptyOutletComponent`.
2760
2752
  */
2761
2753
  class ɵEmptyOutletComponent {
2762
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2763
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0-rc.0", 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"] }] }); }
2754
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2755
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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"] }] }); }
2764
2756
  }
2765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2766
2758
  type: Component,
2767
2759
  args: [{
2768
2760
  template: `<router-outlet></router-outlet>`,
@@ -3653,7 +3645,7 @@ function match(segmentGroup, route, segments) {
3653
3645
  function createWildcardMatchResult(segments) {
3654
3646
  return {
3655
3647
  matched: true,
3656
- parameters: segments.at(-1)?.parameters ?? {},
3648
+ parameters: segments.length > 0 ? last(segments).parameters : {},
3657
3649
  consumedSegments: segments,
3658
3650
  remainingSegments: [],
3659
3651
  positionalParamSegments: {},
@@ -3839,7 +3831,7 @@ class Recognizer {
3839
3831
  }), scan((children, outletChildren) => {
3840
3832
  children.push(...outletChildren);
3841
3833
  return children;
3842
- }), defaultIfEmpty(null), last(), mergeMap(children => {
3834
+ }), defaultIfEmpty(null), last$1(), mergeMap(children => {
3843
3835
  if (children === null)
3844
3836
  return noMatch$1(segmentGroup);
3845
3837
  // Because we may have matched two outlets to the same empty path segment, we can have
@@ -4188,10 +4180,10 @@ class TitleStrategy {
4188
4180
  getResolvedTitleForRoute(snapshot) {
4189
4181
  return snapshot.data[RouteTitleKey];
4190
4182
  }
4191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4192
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4184
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4193
4185
  }
4194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: TitleStrategy, decorators: [{
4186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TitleStrategy, decorators: [{
4195
4187
  type: Injectable,
4196
4188
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4197
4189
  }] });
@@ -4214,10 +4206,10 @@ class DefaultTitleStrategy extends TitleStrategy {
4214
4206
  this.title.setTitle(title);
4215
4207
  }
4216
4208
  }
4217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4218
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4210
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4219
4211
  }
4220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4221
4213
  type: Injectable,
4222
4214
  args: [{ providedIn: 'root' }]
4223
4215
  }], ctorParameters: () => [{ type: i1.Title }] });
@@ -4295,10 +4287,10 @@ class RouterConfigLoader {
4295
4287
  this.childrenLoaders.set(route, loader);
4296
4288
  return loader;
4297
4289
  }
4298
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4299
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4291
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4300
4292
  }
4301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, decorators: [{
4293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterConfigLoader, decorators: [{
4302
4294
  type: Injectable,
4303
4295
  args: [{ providedIn: 'root' }]
4304
4296
  }] });
@@ -4366,10 +4358,10 @@ function maybeUnwrapDefaultExport(input) {
4366
4358
  * @publicApi
4367
4359
  */
4368
4360
  class UrlHandlingStrategy {
4369
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4370
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4361
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4362
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4371
4363
  }
4372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4373
4365
  type: Injectable,
4374
4366
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
4375
4367
  }] });
@@ -4386,10 +4378,10 @@ class DefaultUrlHandlingStrategy {
4386
4378
  merge(newUrlPart, wholeUrl) {
4387
4379
  return newUrlPart;
4388
4380
  }
4389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4390
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4381
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4382
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4391
4383
  }
4392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4393
4385
  type: Injectable,
4394
4386
  args: [{ providedIn: 'root' }]
4395
4387
  }] });
@@ -4812,10 +4804,10 @@ class NavigationTransitions {
4812
4804
  return extractedBrowserUrl.toString() !== this.currentTransition?.extractedUrl.toString() &&
4813
4805
  !this.currentTransition?.extras.skipLocationChange;
4814
4806
  }
4815
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4816
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4807
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4808
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4817
4809
  }
4818
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: NavigationTransitions, decorators: [{
4810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NavigationTransitions, decorators: [{
4819
4811
  type: Injectable,
4820
4812
  args: [{ providedIn: 'root' }]
4821
4813
  }], ctorParameters: () => [] });
@@ -4831,10 +4823,10 @@ function isBrowserTriggeredNavigation(source) {
4831
4823
  * @publicApi
4832
4824
  */
4833
4825
  class RouteReuseStrategy {
4834
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4835
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4827
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4836
4828
  }
4837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4838
4830
  type: Injectable,
4839
4831
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4840
4832
  }] });
@@ -4885,19 +4877,19 @@ class BaseRouteReuseStrategy {
4885
4877
  }
4886
4878
  }
4887
4879
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
4888
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4889
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4880
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4881
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4890
4882
  }
4891
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4892
4884
  type: Injectable,
4893
4885
  args: [{ providedIn: 'root' }]
4894
4886
  }] });
4895
4887
 
4896
4888
  class StateManager {
4897
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4898
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4890
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4899
4891
  }
4900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: StateManager, decorators: [{
4892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StateManager, decorators: [{
4901
4893
  type: Injectable,
4902
4894
  args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
4903
4895
  }] });
@@ -5074,10 +5066,10 @@ class HistoryStateManager extends StateManager {
5074
5066
  }
5075
5067
  return { navigationId };
5076
5068
  }
5077
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5078
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5069
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5070
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5079
5071
  }
5080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: HistoryStateManager, decorators: [{
5072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HistoryStateManager, decorators: [{
5081
5073
  type: Injectable,
5082
5074
  args: [{ providedIn: 'root' }]
5083
5075
  }] });
@@ -5315,16 +5307,14 @@ class Router {
5315
5307
  // Don't need to use Zone.wrap any more, because zone.js
5316
5308
  // already patch onPopState, so location change callback will
5317
5309
  // run into ngZone
5318
- if (!this.nonRouterCurrentEntryChangeSubscription) {
5319
- this.nonRouterCurrentEntryChangeSubscription =
5320
- this.stateManager.registerNonRouterCurrentEntryChangeListener((url, state) => {
5321
- // The `setTimeout` was added in #12160 and is likely to support Angular/AngularJS
5322
- // hybrid apps.
5323
- setTimeout(() => {
5324
- this.navigateToSyncWithBrowser(url, 'popstate', state);
5325
- }, 0);
5326
- });
5327
- }
5310
+ this.nonRouterCurrentEntryChangeSubscription ??=
5311
+ this.stateManager.registerNonRouterCurrentEntryChangeListener((url, state) => {
5312
+ // The `setTimeout` was added in #12160 and is likely to support Angular/AngularJS
5313
+ // hybrid apps.
5314
+ setTimeout(() => {
5315
+ this.navigateToSyncWithBrowser(url, 'popstate', state);
5316
+ }, 0);
5317
+ });
5328
5318
  }
5329
5319
  /**
5330
5320
  * Schedules a router navigation to synchronize Router state with the browser state.
@@ -5651,10 +5641,10 @@ class Router {
5651
5641
  return Promise.reject(e);
5652
5642
  });
5653
5643
  }
5654
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5655
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: Router, providedIn: 'root' }); }
5644
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5645
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: Router, providedIn: 'root' }); }
5656
5646
  }
5657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: Router, decorators: [{
5647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: Router, decorators: [{
5658
5648
  type: Injectable,
5659
5649
  args: [{ providedIn: 'root' }]
5660
5650
  }], ctorParameters: () => [] });
@@ -5926,10 +5916,10 @@ class RouterLink {
5926
5916
  preserveFragment: this.preserveFragment,
5927
5917
  });
5928
5918
  }
5929
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", 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 }); }
5930
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-rc.0", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", info: "info", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 }); }
5919
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", 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 }); }
5920
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.1", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", info: "info", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 }); }
5931
5921
  }
5932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterLink, decorators: [{
5922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterLink, decorators: [{
5933
5923
  type: Directive,
5934
5924
  args: [{
5935
5925
  selector: '[routerLink]',
@@ -6154,10 +6144,10 @@ class RouterLinkActive {
6154
6144
  const isActiveCheckFn = this.isLinkActive(this.router);
6155
6145
  return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6156
6146
  }
6157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6158
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0-rc.0", 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 }); }
6147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6148
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", 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 }); }
6159
6149
  }
6160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterLinkActive, decorators: [{
6150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterLinkActive, decorators: [{
6161
6151
  type: Directive,
6162
6152
  args: [{
6163
6153
  selector: '[routerLinkActive]',
@@ -6209,10 +6199,10 @@ class PreloadAllModules {
6209
6199
  preload(route, fn) {
6210
6200
  return fn().pipe(catchError(() => of(null)));
6211
6201
  }
6212
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6213
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6203
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6214
6204
  }
6215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: PreloadAllModules, decorators: [{
6205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PreloadAllModules, decorators: [{
6216
6206
  type: Injectable,
6217
6207
  args: [{ providedIn: 'root' }]
6218
6208
  }] });
@@ -6229,10 +6219,10 @@ class NoPreloading {
6229
6219
  preload(route, fn) {
6230
6220
  return of(null);
6231
6221
  }
6232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6233
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6223
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6234
6224
  }
6235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: NoPreloading, decorators: [{
6225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NoPreloading, decorators: [{
6236
6226
  type: Injectable,
6237
6227
  args: [{ providedIn: 'root' }]
6238
6228
  }] });
@@ -6325,10 +6315,10 @@ class RouterPreloader {
6325
6315
  }
6326
6316
  });
6327
6317
  }
6328
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6329
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6319
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6330
6320
  }
6331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterPreloader, decorators: [{
6321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterPreloader, decorators: [{
6332
6322
  type: Injectable,
6333
6323
  args: [{ providedIn: 'root' }]
6334
6324
  }], ctorParameters: () => [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }] });
@@ -6347,8 +6337,8 @@ class RouterScroller {
6347
6337
  this.restoredId = 0;
6348
6338
  this.store = {};
6349
6339
  // Default both options to 'disabled'
6350
- options.scrollPositionRestoration = options.scrollPositionRestoration || 'disabled';
6351
- options.anchorScrolling = options.anchorScrolling || 'disabled';
6340
+ options.scrollPositionRestoration ||= 'disabled';
6341
+ options.anchorScrolling ||= 'disabled';
6352
6342
  }
6353
6343
  init() {
6354
6344
  // we want to disable the automatic scrolling because having two places
@@ -6421,10 +6411,10 @@ class RouterScroller {
6421
6411
  this.routerEventsSubscription?.unsubscribe();
6422
6412
  this.scrollEventsSubscription?.unsubscribe();
6423
6413
  }
6424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6425
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterScroller }); }
6414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6415
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterScroller }); }
6426
6416
  }
6427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterScroller, decorators: [{
6417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterScroller, decorators: [{
6428
6418
  type: Injectable
6429
6419
  }], ctorParameters: () => [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }] });
6430
6420
 
@@ -7065,11 +7055,11 @@ class RouterModule {
7065
7055
  providers: [{ provide: ROUTES, multi: true, useValue: routes }],
7066
7056
  };
7067
7057
  }
7068
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
7069
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
7070
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterModule }); }
7058
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
7059
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
7060
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterModule }); }
7071
7061
  }
7072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-rc.0", ngImport: i0, type: RouterModule, decorators: [{
7062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterModule, decorators: [{
7073
7063
  type: NgModule,
7074
7064
  args: [{
7075
7065
  imports: ROUTER_DIRECTIVES,
@@ -7214,7 +7204,7 @@ function mapToResolve(provider) {
7214
7204
  /**
7215
7205
  * @publicApi
7216
7206
  */
7217
- const VERSION = new Version('17.1.0-rc.0');
7207
+ const VERSION = new Version('17.1.1');
7218
7208
 
7219
7209
  /**
7220
7210
  * @module