@angular/router 16.0.0-next.1 → 16.0.0-next.3

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 (40) hide show
  1. package/esm2020/src/apply_redirects.mjs +3 -4
  2. package/esm2020/src/components/empty_outlet.mjs +3 -3
  3. package/esm2020/src/create_url_tree.mjs +9 -9
  4. package/esm2020/src/create_url_tree_strategy.mjs +9 -9
  5. package/esm2020/src/directives/router_link.mjs +3 -3
  6. package/esm2020/src/directives/router_link_active.mjs +3 -3
  7. package/esm2020/src/directives/router_outlet.mjs +10 -16
  8. package/esm2020/src/navigation_transition.mjs +3 -3
  9. package/esm2020/src/operators/activate_routes.mjs +2 -7
  10. package/esm2020/src/page_title_strategy.mjs +6 -6
  11. package/esm2020/src/private_export.mjs +1 -2
  12. package/esm2020/src/route_reuse_strategy.mjs +6 -6
  13. package/esm2020/src/router.mjs +12 -6
  14. package/esm2020/src/router_config_loader.mjs +6 -6
  15. package/esm2020/src/router_module.mjs +4 -4
  16. package/esm2020/src/router_outlet_context.mjs +4 -9
  17. package/esm2020/src/router_preloader.mjs +9 -9
  18. package/esm2020/src/router_scroller.mjs +3 -3
  19. package/esm2020/src/url_handling_strategy.mjs +6 -6
  20. package/esm2020/src/url_tree.mjs +9 -9
  21. package/esm2020/src/utils/collection.mjs +3 -22
  22. package/esm2020/src/utils/config_matching.mjs +2 -3
  23. package/esm2020/src/utils/preactivation.mjs +5 -4
  24. package/esm2020/src/version.mjs +1 -1
  25. package/esm2020/testing/src/router_testing_harness.mjs +6 -6
  26. package/esm2020/testing/src/router_testing_module.mjs +5 -5
  27. package/fesm2015/router.mjs +112 -138
  28. package/fesm2015/router.mjs.map +1 -1
  29. package/fesm2015/testing.mjs +11 -11
  30. package/fesm2015/testing.mjs.map +1 -1
  31. package/fesm2015/upgrade.mjs +1 -1
  32. package/fesm2020/router.mjs +109 -134
  33. package/fesm2020/router.mjs.map +1 -1
  34. package/fesm2020/testing.mjs +11 -11
  35. package/fesm2020/testing.mjs.map +1 -1
  36. package/fesm2020/upgrade.mjs +1 -1
  37. package/index.d.ts +7 -20
  38. package/package.json +4 -4
  39. package/testing/index.d.ts +1 -1
  40. package/upgrade/index.d.ts +1 -1
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Angular v16.0.0-next.1
2
+ * @license Angular v16.0.0-next.3
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 { ɵisObservable, ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, Component, createEnvironmentInjector, ɵisNgModule, isStandalone, ComponentFactoryResolver, ɵisInjectable, InjectionToken, InjectFlags, NgModuleFactory, ɵConsole, NgZone, ɵcoerceToBoolean, ɵɵsanitizeUrlOrResourceUrl, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, APP_INITIALIZER, NgProbeToken, SkipSelf, NgModule, Inject, Version } from '@angular/core';
9
- import { from, of, BehaviorSubject, EmptyError, combineLatest, concat, defer, pipe, throwError, Observable, EMPTY, ConnectableObservable, Subject } from 'rxjs';
8
+ import { ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, Component, createEnvironmentInjector, ɵisNgModule, isStandalone, ɵisInjectable, InjectionToken, InjectFlags, NgModuleFactory, ɵConsole, NgZone, ɵcoerceToBoolean, ɵɵsanitizeUrlOrResourceUrl, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, APP_INITIALIZER, NgProbeToken, SkipSelf, NgModule, Inject, Version } from '@angular/core';
9
+ import { isObservable, from, of, BehaviorSubject, EmptyError, combineLatest, concat, defer, pipe, throwError, Observable, EMPTY, ConnectableObservable, Subject } from 'rxjs';
10
10
  import * as i3 from '@angular/common';
11
11
  import { Location, ViewportScroller, LOCATION_INITIALIZED, LocationStrategy, HashLocationStrategy, PathLocationStrategy } from '@angular/common';
12
12
  import { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, last as last$1, takeWhile, defaultIfEmpty, takeLast, mapTo, finalize, refCount, mergeAll } from 'rxjs/operators';
@@ -143,33 +143,14 @@ function equalArraysOrString(a, b) {
143
143
  return a === b;
144
144
  }
145
145
  }
146
- /**
147
- * Flattens single-level nested arrays.
148
- */
149
- function flatten(arr) {
150
- return Array.prototype.concat.apply([], arr);
151
- }
152
146
  /**
153
147
  * Return the last element of an array.
154
148
  */
155
149
  function last(a) {
156
150
  return a.length > 0 ? a[a.length - 1] : null;
157
151
  }
158
- /**
159
- * Verifys all booleans in an array are `true`.
160
- */
161
- function and(bools) {
162
- return !bools.some(v => !v);
163
- }
164
- function forEach(map, callback) {
165
- for (const prop in map) {
166
- if (map.hasOwnProperty(prop)) {
167
- callback(map[prop], prop);
168
- }
169
- }
170
- }
171
152
  function wrapIntoObservable(value) {
172
- if (ɵisObservable(value)) {
153
+ if (isObservable(value)) {
173
154
  return value;
174
155
  }
175
156
  if (ɵisPromise(value)) {
@@ -343,7 +324,7 @@ class UrlSegmentGroup {
343
324
  this.children = children;
344
325
  /** The parent node in the url tree */
345
326
  this.parent = null;
346
- forEach(children, (v, k) => v.parent = this);
327
+ Object.values(children).forEach((v) => (v.parent = this));
347
328
  }
348
329
  /** Whether the segment has child segments */
349
330
  hasChildren() {
@@ -414,12 +395,12 @@ function equalPath(as, bs) {
414
395
  }
415
396
  function mapChildrenIntoArray(segment, fn) {
416
397
  let res = [];
417
- forEach(segment.children, (child, childOutlet) => {
398
+ Object.entries(segment.children).forEach(([childOutlet, child]) => {
418
399
  if (childOutlet === PRIMARY_OUTLET) {
419
400
  res = res.concat(fn(child, childOutlet));
420
401
  }
421
402
  });
422
- forEach(segment.children, (child, childOutlet) => {
403
+ Object.entries(segment.children).forEach(([childOutlet, child]) => {
423
404
  if (childOutlet !== PRIMARY_OUTLET) {
424
405
  res = res.concat(fn(child, childOutlet));
425
406
  }
@@ -440,9 +421,9 @@ function mapChildrenIntoArray(segment, fn) {
440
421
  */
441
422
  class UrlSerializer {
442
423
  }
443
- UrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
444
- UrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: UrlSerializer, decorators: [{
424
+ UrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
425
+ UrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: UrlSerializer, decorators: [{
446
427
  type: Injectable,
447
428
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
448
429
  }] });
@@ -491,7 +472,7 @@ function serializeSegment(segment, root) {
491
472
  serializeSegment(segment.children[PRIMARY_OUTLET], false) :
492
473
  '';
493
474
  const children = [];
494
- forEach(segment.children, (v, k) => {
475
+ Object.entries(segment.children).forEach(([k, v]) => {
495
476
  if (k !== PRIMARY_OUTLET) {
496
477
  children.push(`${k}:${serializeSegment(v, false)}`);
497
478
  }
@@ -930,7 +911,7 @@ function isCommandWithOutlets(command) {
930
911
  function tree(oldRoot, oldSegmentGroup, newSegmentGroup, queryParams, fragment) {
931
912
  let qp = {};
932
913
  if (queryParams) {
933
- forEach(queryParams, (value, name) => {
914
+ Object.entries(queryParams).forEach(([name, value]) => {
934
915
  qp[name] = Array.isArray(value) ? value.map((v) => `${v}`) : `${value}`;
935
916
  });
936
917
  }
@@ -953,7 +934,7 @@ function tree(oldRoot, oldSegmentGroup, newSegmentGroup, queryParams, fragment)
953
934
  */
954
935
  function replaceSegment(current, oldSegment, newSegment) {
955
936
  const children = {};
956
- forEach(current.children, (c, outletName) => {
937
+ Object.entries(current.children).forEach(([outletName, c]) => {
957
938
  if (c === oldSegment) {
958
939
  children[outletName] = newSegment;
959
940
  }
@@ -991,7 +972,7 @@ function computeNavigation(commands) {
991
972
  if (typeof cmd === 'object' && cmd != null) {
992
973
  if (cmd.outlets) {
993
974
  const outlets = {};
994
- forEach(cmd.outlets, (commands, name) => {
975
+ Object.entries(cmd.outlets).forEach(([name, commands]) => {
995
976
  outlets[name] = typeof commands === 'string' ? commands.split('/') : commands;
996
977
  });
997
978
  return [...res, { outlets }];
@@ -1144,7 +1125,7 @@ function updateSegmentGroupChildren(segmentGroup, startIndex, commands) {
1144
1125
  segmentGroup.children[PRIMARY_OUTLET].segments.length === 0) {
1145
1126
  return updateSegmentGroupChildren(segmentGroup.children[PRIMARY_OUTLET], startIndex, commands);
1146
1127
  }
1147
- forEach(outlets, (commands, outlet) => {
1128
+ Object.entries(outlets).forEach(([outlet, commands]) => {
1148
1129
  if (typeof commands === 'string') {
1149
1130
  commands = [commands];
1150
1131
  }
@@ -1152,7 +1133,7 @@ function updateSegmentGroupChildren(segmentGroup, startIndex, commands) {
1152
1133
  children[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands);
1153
1134
  }
1154
1135
  });
1155
- forEach(segmentGroup.children, (child, childOutlet) => {
1136
+ Object.entries(segmentGroup.children).forEach(([childOutlet, child]) => {
1156
1137
  if (outlets[childOutlet] === undefined) {
1157
1138
  children[childOutlet] = child;
1158
1139
  }
@@ -1224,7 +1205,7 @@ function createNewSegmentGroup(segmentGroup, startIndex, commands) {
1224
1205
  }
1225
1206
  function createNewSegmentChildren(outlets) {
1226
1207
  const children = {};
1227
- forEach(outlets, (commands, outlet) => {
1208
+ Object.entries(outlets).forEach(([outlet, commands]) => {
1228
1209
  if (typeof commands === 'string') {
1229
1210
  commands = [commands];
1230
1211
  }
@@ -1236,7 +1217,7 @@ function createNewSegmentChildren(outlets) {
1236
1217
  }
1237
1218
  function stringify(params) {
1238
1219
  const res = {};
1239
- forEach(params, (v, k) => res[k] = `${v}`);
1220
+ Object.entries(params).forEach(([k, v]) => res[k] = `${v}`);
1240
1221
  return res;
1241
1222
  }
1242
1223
  function compare(path, params, segment) {
@@ -1762,9 +1743,9 @@ class LegacyCreateUrlTree {
1762
1743
  return tree;
1763
1744
  }
1764
1745
  }
1765
- LegacyCreateUrlTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: LegacyCreateUrlTree, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1766
- LegacyCreateUrlTree.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: LegacyCreateUrlTree });
1767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: LegacyCreateUrlTree, decorators: [{
1746
+ LegacyCreateUrlTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: LegacyCreateUrlTree, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1747
+ LegacyCreateUrlTree.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: LegacyCreateUrlTree });
1748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: LegacyCreateUrlTree, decorators: [{
1768
1749
  type: Injectable
1769
1750
  }] });
1770
1751
  class CreateUrlTreeUsingSnapshot {
@@ -1795,16 +1776,16 @@ class CreateUrlTreeUsingSnapshot {
1795
1776
  return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, queryParams, fragment);
1796
1777
  }
1797
1778
  }
1798
- CreateUrlTreeUsingSnapshot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: CreateUrlTreeUsingSnapshot, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1799
- CreateUrlTreeUsingSnapshot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: CreateUrlTreeUsingSnapshot });
1800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: CreateUrlTreeUsingSnapshot, decorators: [{
1779
+ CreateUrlTreeUsingSnapshot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: CreateUrlTreeUsingSnapshot, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1780
+ CreateUrlTreeUsingSnapshot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: CreateUrlTreeUsingSnapshot });
1781
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: CreateUrlTreeUsingSnapshot, decorators: [{
1801
1782
  type: Injectable
1802
1783
  }] });
1803
1784
  class CreateUrlTreeStrategy {
1804
1785
  }
1805
- CreateUrlTreeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: CreateUrlTreeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1806
- CreateUrlTreeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: CreateUrlTreeStrategy, providedIn: 'root', useClass: CreateUrlTreeUsingSnapshot });
1807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: CreateUrlTreeStrategy, decorators: [{
1786
+ CreateUrlTreeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: CreateUrlTreeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1787
+ CreateUrlTreeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: CreateUrlTreeStrategy, providedIn: 'root', useClass: CreateUrlTreeUsingSnapshot });
1788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: CreateUrlTreeStrategy, decorators: [{
1808
1789
  type: Injectable,
1809
1790
  args: [{ providedIn: 'root', useClass: CreateUrlTreeUsingSnapshot }]
1810
1791
  }] });
@@ -2369,11 +2350,6 @@ class OutletContext {
2369
2350
  constructor() {
2370
2351
  this.outlet = null;
2371
2352
  this.route = null;
2372
- /**
2373
- * @deprecated Passing a resolver to retrieve a component factory is not required and is
2374
- * deprecated since v14.
2375
- */
2376
- this.resolver = null;
2377
2353
  this.injector = null;
2378
2354
  this.children = new ChildrenOutletContexts();
2379
2355
  this.attachRef = null;
@@ -2431,9 +2407,9 @@ class ChildrenOutletContexts {
2431
2407
  return this.contexts.get(childName) || null;
2432
2408
  }
2433
2409
  }
2434
- ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2435
- ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2410
+ ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2411
+ ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2437
2413
  type: Injectable,
2438
2414
  args: [{ providedIn: 'root' }]
2439
2415
  }] });
@@ -2622,7 +2598,7 @@ class RouterOutlet {
2622
2598
  this.deactivateEvents.emit(c);
2623
2599
  }
2624
2600
  }
2625
- activateWith(activatedRoute, resolverOrInjector) {
2601
+ activateWith(activatedRoute, environmentInjector) {
2626
2602
  if (this.isActivated) {
2627
2603
  throw new ɵRuntimeError(4013 /* RuntimeErrorCode.OUTLET_ALREADY_ACTIVATED */, NG_DEV_MODE$8 && 'Cannot activate an already activated outlet');
2628
2604
  }
@@ -2632,23 +2608,20 @@ class RouterOutlet {
2632
2608
  const component = snapshot.component;
2633
2609
  const childContexts = this.parentContexts.getOrCreateContext(this.name).children;
2634
2610
  const injector = new OutletInjector(activatedRoute, childContexts, location.injector);
2635
- if (resolverOrInjector && isComponentFactoryResolver(resolverOrInjector)) {
2636
- const factory = resolverOrInjector.resolveComponentFactory(component);
2637
- this.activated = location.createComponent(factory, location.length, injector);
2638
- }
2639
- else {
2640
- const environmentInjector = resolverOrInjector ?? this.environmentInjector;
2641
- this.activated = location.createComponent(component, { index: location.length, injector, environmentInjector });
2642
- }
2611
+ this.activated = location.createComponent(component, {
2612
+ index: location.length,
2613
+ injector,
2614
+ environmentInjector: environmentInjector ?? this.environmentInjector
2615
+ });
2643
2616
  // Calling `markForCheck` to make sure we will run the change detection when the
2644
2617
  // `RouterOutlet` is inside a `ChangeDetectionStrategy.OnPush` component.
2645
2618
  this.changeDetector.markForCheck();
2646
2619
  this.activateEvents.emit(this.activated.instance);
2647
2620
  }
2648
2621
  }
2649
- RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2650
- RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-next.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 });
2651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterOutlet, decorators: [{
2622
+ RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2623
+ RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-next.3", 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 });
2624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterOutlet, decorators: [{
2652
2625
  type: Directive,
2653
2626
  args: [{
2654
2627
  selector: 'router-outlet',
@@ -2686,9 +2659,6 @@ class OutletInjector {
2686
2659
  return this.parent.get(token, notFoundValue);
2687
2660
  }
2688
2661
  }
2689
- function isComponentFactoryResolver(item) {
2690
- return !!item.resolveComponentFactory;
2691
- }
2692
2662
 
2693
2663
  /**
2694
2664
  * This component is used internally within the router to be a placeholder when an empty
@@ -2701,9 +2671,9 @@ function isComponentFactoryResolver(item) {
2701
2671
  */
2702
2672
  class ɵEmptyOutletComponent {
2703
2673
  }
2704
- ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2705
- ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0-next.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"] }] });
2706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2674
+ ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2675
+ ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0-next.3", 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"] }] });
2676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2707
2677
  type: Component,
2708
2678
  args: [{
2709
2679
  template: `<router-outlet></router-outlet>`,
@@ -2928,7 +2898,7 @@ class ActivateRoutes {
2928
2898
  delete children[childOutletName];
2929
2899
  });
2930
2900
  // De-activate the routes that will not be re-used
2931
- forEach(children, (v, childName) => {
2901
+ Object.values(children).forEach((v) => {
2932
2902
  this.deactivateRouteAndItsChildren(v, contexts);
2933
2903
  });
2934
2904
  }
@@ -2996,7 +2966,6 @@ class ActivateRoutes {
2996
2966
  // Clear the information about the attached component on the context but keep the reference to
2997
2967
  // the outlet.
2998
2968
  context.attachRef = null;
2999
- context.resolver = null;
3000
2969
  context.route = null;
3001
2970
  }
3002
2971
  }
@@ -3046,10 +3015,8 @@ class ActivateRoutes {
3046
3015
  }
3047
3016
  else {
3048
3017
  const injector = getClosestRouteInjector(future.snapshot);
3049
- const cmpFactoryResolver = injector?.get(ComponentFactoryResolver) ?? null;
3050
3018
  context.attachRef = null;
3051
3019
  context.route = future;
3052
- context.resolver = cmpFactoryResolver;
3053
3020
  context.injector = injector;
3054
3021
  if (context.outlet) {
3055
3022
  // Activate the outlet when it has already been instantiated
@@ -3116,7 +3083,8 @@ function getChildRouteGuards(futureNode, currNode, contexts, futurePath, checks
3116
3083
  delete prevChildren[c.value.outlet];
3117
3084
  });
3118
3085
  // Process any children left from the current route (not active for the future route)
3119
- forEach(prevChildren, (v, k) => deactivateRouteAndItsChildren(v, contexts.getContext(k), checks));
3086
+ Object.entries(prevChildren)
3087
+ .forEach(([k, v]) => deactivateRouteAndItsChildren(v, contexts.getContext(k), checks));
3120
3088
  return checks;
3121
3089
  }
3122
3090
  function getRouteGuards(futureNode, currNode, parentContexts, futurePath, checks = {
@@ -3188,7 +3156,7 @@ function shouldRunGuardsAndResolvers(curr, future, mode) {
3188
3156
  function deactivateRouteAndItsChildren(route, context, checks) {
3189
3157
  const children = nodeChildrenAsMap(route);
3190
3158
  const r = route.value;
3191
- forEach(children, (node, childName) => {
3159
+ Object.entries(children).forEach(([childName, node]) => {
3192
3160
  if (!r.component) {
3193
3161
  deactivateRouteAndItsChildren(node, context, checks);
3194
3162
  }
@@ -3459,7 +3427,7 @@ function match(segmentGroup, route, segments) {
3459
3427
  if (!res)
3460
3428
  return { ...noMatch$1 };
3461
3429
  const posParams = {};
3462
- forEach(res.posParams, (v, k) => {
3430
+ Object.entries(res.posParams ?? {}).forEach(([k, v]) => {
3463
3431
  posParams[k] = v.path;
3464
3432
  });
3465
3433
  const parameters = res.consumed.length > 0 ?
@@ -3833,7 +3801,7 @@ class ApplyRedirects {
3833
3801
  }
3834
3802
  createQueryParams(redirectToParams, actualParams) {
3835
3803
  const res = {};
3836
- forEach(redirectToParams, (v, k) => {
3804
+ Object.entries(redirectToParams).forEach(([k, v]) => {
3837
3805
  const copySourceValue = typeof v === 'string' && v.startsWith(':');
3838
3806
  if (copySourceValue) {
3839
3807
  const sourceName = v.substring(1);
@@ -3848,7 +3816,7 @@ class ApplyRedirects {
3848
3816
  createSegmentGroup(redirectTo, group, segments, posParams) {
3849
3817
  const updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);
3850
3818
  let children = {};
3851
- forEach(group.children, (child, name) => {
3819
+ Object.entries(group.children).forEach(([name, child]) => {
3852
3820
  children[name] = this.createSegmentGroup(redirectTo, child, segments, posParams);
3853
3821
  });
3854
3822
  return new UrlSegmentGroup(updatedSegments, children);
@@ -4315,7 +4283,7 @@ class RouterConfigLoader {
4315
4283
  // will get stuck in an infinite loop. The child module's Injector will look to
4316
4284
  // its parent `Injector` when it doesn't find any ROUTES so it will return routes
4317
4285
  // for it's parent module instead.
4318
- rawRoutes = flatten(injector.get(ROUTES, [], InjectFlags.Self | InjectFlags.Optional));
4286
+ rawRoutes = injector.get(ROUTES, [], InjectFlags.Self | InjectFlags.Optional).flat();
4319
4287
  }
4320
4288
  const routes = rawRoutes.map(standardizeConfig);
4321
4289
  NG_DEV_MODE$5 && validateConfig(routes, route.path, requireStandaloneComponents);
@@ -4345,9 +4313,9 @@ class RouterConfigLoader {
4345
4313
  }));
4346
4314
  }
4347
4315
  }
4348
- RouterConfigLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterConfigLoader, deps: [{ token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
4349
- RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterConfigLoader, decorators: [{
4316
+ RouterConfigLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterConfigLoader, deps: [{ token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
4317
+ RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterConfigLoader, decorators: [{
4351
4319
  type: Injectable,
4352
4320
  args: [{ providedIn: 'root' }]
4353
4321
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.Compiler }]; } });
@@ -4726,9 +4694,9 @@ class NavigationTransitions {
4726
4694
  t.resolve(false);
4727
4695
  }
4728
4696
  }
4729
- NavigationTransitions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4730
- NavigationTransitions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
4731
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: NavigationTransitions, decorators: [{
4697
+ NavigationTransitions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4698
+ NavigationTransitions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
4699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: NavigationTransitions, decorators: [{
4732
4700
  type: Injectable,
4733
4701
  args: [{ providedIn: 'root' }]
4734
4702
  }], ctorParameters: function () { return []; } });
@@ -4780,9 +4748,9 @@ class TitleStrategy {
4780
4748
  return snapshot.data[RouteTitleKey];
4781
4749
  }
4782
4750
  }
4783
- TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4784
- TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4785
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: TitleStrategy, decorators: [{
4751
+ TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4752
+ TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4753
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: TitleStrategy, decorators: [{
4786
4754
  type: Injectable,
4787
4755
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4788
4756
  }] });
@@ -4806,9 +4774,9 @@ class DefaultTitleStrategy extends TitleStrategy {
4806
4774
  }
4807
4775
  }
4808
4776
  }
4809
- DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
4810
- DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4811
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4777
+ DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
4778
+ DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4812
4780
  type: Injectable,
4813
4781
  args: [{ providedIn: 'root' }]
4814
4782
  }], ctorParameters: function () { return [{ type: i1.Title }]; } });
@@ -4822,9 +4790,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1",
4822
4790
  */
4823
4791
  class RouteReuseStrategy {
4824
4792
  }
4825
- RouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4826
- RouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
4827
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4793
+ RouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4794
+ RouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
4795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4828
4796
  type: Injectable,
4829
4797
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4830
4798
  }] });
@@ -4876,9 +4844,9 @@ class BaseRouteReuseStrategy {
4876
4844
  }
4877
4845
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
4878
4846
  }
4879
- DefaultRouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4880
- DefaultRouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
4881
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4847
+ DefaultRouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4848
+ DefaultRouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
4849
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4882
4850
  type: Injectable,
4883
4851
  args: [{ providedIn: 'root' }]
4884
4852
  }] });
@@ -4903,9 +4871,9 @@ const ROUTER_CONFIGURATION = new InjectionToken(NG_DEV_MODE$3 ? 'router config'
4903
4871
  */
4904
4872
  class UrlHandlingStrategy {
4905
4873
  }
4906
- UrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4907
- UrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
4908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4874
+ UrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4875
+ UrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
4876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4909
4877
  type: Injectable,
4910
4878
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
4911
4879
  }] });
@@ -4923,9 +4891,9 @@ class DefaultUrlHandlingStrategy {
4923
4891
  return newUrlPart;
4924
4892
  }
4925
4893
  }
4926
- DefaultUrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4927
- DefaultUrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
4928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4894
+ DefaultUrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4895
+ DefaultUrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
4896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4929
4897
  type: Injectable,
4930
4898
  args: [{ providedIn: 'root' }]
4931
4899
  }] });
@@ -5121,7 +5089,7 @@ class Router {
5121
5089
  * @see `RouterModule`
5122
5090
  */
5123
5091
  this.canceledNavigationResolution = this.options.canceledNavigationResolution || 'replace';
5124
- this.config = flatten(inject(ROUTES, { optional: true }) ?? []);
5092
+ this.config = inject(ROUTES, { optional: true })?.flat() ?? [];
5125
5093
  this.navigationTransitions = inject(NavigationTransitions);
5126
5094
  this.urlSerializer = inject(UrlSerializer);
5127
5095
  this.location = inject(Location);
@@ -5218,6 +5186,13 @@ class Router {
5218
5186
  getCurrentNavigation() {
5219
5187
  return this.navigationTransitions.currentNavigation;
5220
5188
  }
5189
+ /**
5190
+ * The `Navigation` object of the most recent navigation to succeed and `null` if there
5191
+ * has not been a successful navigation yet.
5192
+ */
5193
+ get lastSuccessfulNavigation() {
5194
+ return this.navigationTransitions.lastSuccessfulNavigation;
5195
+ }
5221
5196
  /**
5222
5197
  * Resets the route configuration used for navigation and generating links.
5223
5198
  *
@@ -5575,9 +5550,9 @@ class Router {
5575
5550
  return { navigationId };
5576
5551
  }
5577
5552
  }
5578
- Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5579
- Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: Router, providedIn: 'root' });
5580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: Router, decorators: [{
5553
+ Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5554
+ Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: Router, providedIn: 'root' });
5555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: Router, decorators: [{
5581
5556
  type: Injectable,
5582
5557
  args: [{ providedIn: 'root' }]
5583
5558
  }], ctorParameters: function () { return []; } });
@@ -5863,9 +5838,9 @@ class RouterLink {
5863
5838
  });
5864
5839
  }
5865
5840
  }
5866
- RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.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 });
5867
- RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-next.1", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", relativeTo: "relativeTo", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", 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 });
5868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterLink, decorators: [{
5841
+ RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", 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 });
5842
+ RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-next.3", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", relativeTo: "relativeTo", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", 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 });
5843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterLink, decorators: [{
5869
5844
  type: Directive,
5870
5845
  args: [{
5871
5846
  selector: '[routerLink]',
@@ -6086,9 +6061,9 @@ class RouterLinkActive {
6086
6061
  return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6087
6062
  }
6088
6063
  }
6089
- RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.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 });
6090
- RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-next.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 });
6091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterLinkActive, decorators: [{
6064
+ RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6065
+ RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-next.3", 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 });
6066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterLinkActive, decorators: [{
6092
6067
  type: Directive,
6093
6068
  args: [{
6094
6069
  selector: '[routerLinkActive]',
@@ -6141,9 +6116,9 @@ class PreloadAllModules {
6141
6116
  return fn().pipe(catchError(() => of(null)));
6142
6117
  }
6143
6118
  }
6144
- PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6145
- PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: PreloadAllModules, decorators: [{
6119
+ PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6120
+ PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: PreloadAllModules, decorators: [{
6147
6122
  type: Injectable,
6148
6123
  args: [{ providedIn: 'root' }]
6149
6124
  }] });
@@ -6161,9 +6136,9 @@ class NoPreloading {
6161
6136
  return of(null);
6162
6137
  }
6163
6138
  }
6164
- NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6165
- NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: NoPreloading, decorators: [{
6139
+ NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6140
+ NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: NoPreloading, decorators: [{
6167
6142
  type: Injectable,
6168
6143
  args: [{ providedIn: 'root' }]
6169
6144
  }] });
@@ -6257,9 +6232,9 @@ class RouterPreloader {
6257
6232
  });
6258
6233
  }
6259
6234
  }
6260
- RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
6261
- RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterPreloader, decorators: [{
6235
+ RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
6236
+ RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterPreloader, decorators: [{
6263
6238
  type: Injectable,
6264
6239
  args: [{ providedIn: 'root' }]
6265
6240
  }], ctorParameters: function () { return [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }]; } });
@@ -6353,9 +6328,9 @@ class RouterScroller {
6353
6328
  this.scrollEventsSubscription?.unsubscribe();
6354
6329
  }
6355
6330
  }
6356
- RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6357
- RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterScroller });
6358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterScroller, decorators: [{
6331
+ RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6332
+ RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterScroller });
6333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterScroller, decorators: [{
6359
6334
  type: Injectable
6360
6335
  }], ctorParameters: function () { return [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }]; } });
6361
6336
 
@@ -6962,10 +6937,10 @@ class RouterModule {
6962
6937
  };
6963
6938
  }
6964
6939
  }
6965
- RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
6966
- RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] });
6967
- RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
6968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.1", ngImport: i0, type: RouterModule, decorators: [{
6940
+ RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
6941
+ RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] });
6942
+ RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
6943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.3", ngImport: i0, type: RouterModule, decorators: [{
6969
6944
  type: NgModule,
6970
6945
  args: [{
6971
6946
  imports: ROUTER_DIRECTIVES,
@@ -7110,7 +7085,7 @@ function mapToResolve(provider) {
7110
7085
  /**
7111
7086
  * @publicApi
7112
7087
  */
7113
- const VERSION = new Version('16.0.0-next.1');
7088
+ const VERSION = new Version('16.0.0-next.3');
7114
7089
 
7115
7090
  /**
7116
7091
  * @module
@@ -7125,5 +7100,5 @@ const VERSION = new Version('16.0.0-next.1');
7125
7100
  * Generated bundle index. Do not edit.
7126
7101
  */
7127
7102
 
7128
- export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, NavigationSkipped, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTES, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterPreloader, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve, provideRouter, provideRoutes, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, afterNextNavigation as ɵafterNextNavigation, flatten as ɵflatten, withPreloading as ɵwithPreloading };
7103
+ export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, NavigationSkipped, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTES, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterPreloader, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve, provideRouter, provideRoutes, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, afterNextNavigation as ɵafterNextNavigation, withPreloading as ɵwithPreloading };
7129
7104
  //# sourceMappingURL=router.mjs.map