@angular/router 14.0.0-next.4 → 14.0.0-next.7

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.
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Angular v14.0.0-next.4
2
+ * @license Angular v14.0.0-next.7
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
8
  import { ɵisObservable, ɵisPromise, EventEmitter, Directive, Attribute, Output, Component, NgModuleRef, InjectionToken, InjectFlags, NgModuleFactory, ɵConsole, NgZone, Injectable, ɵcoerceToBoolean, Input, HostListener, HostBinding, Optional, ContentChildren, Injector, Compiler, NgProbeToken, ANALYZE_FOR_ENTRY_COMPONENTS, SkipSelf, Inject, APP_INITIALIZER, APP_BOOTSTRAP_LISTENER, NgModule, ApplicationRef, Version } from '@angular/core';
9
- import { from, of, BehaviorSubject, combineLatest, Observable, EmptyError, concat, defer, EMPTY, ConnectableObservable, Subject } from 'rxjs';
9
+ import { from, of, BehaviorSubject, combineLatest, throwError, EmptyError, concat, defer, Observable, EMPTY, ConnectableObservable, Subject } from 'rxjs';
10
10
  import { map, switchMap, take, startWith, scan, filter, catchError, concatMap, last as last$1, first, mergeMap, tap, takeLast, refCount, finalize, mergeAll } from 'rxjs/operators';
11
11
  import * as i3 from '@angular/common';
12
12
  import { Location, LocationStrategy, PlatformLocation, APP_BASE_HREF, ViewportScroller, HashLocationStrategy, PathLocationStrategy, LOCATION_INITIALIZED } from '@angular/common';
@@ -1713,17 +1713,17 @@ function createActivatedRoute(c) {
1713
1713
  */
1714
1714
  function createUrlTree(route, urlTree, commands, queryParams, fragment) {
1715
1715
  if (commands.length === 0) {
1716
- return tree(urlTree.root, urlTree.root, urlTree, queryParams, fragment);
1716
+ return tree(urlTree.root, urlTree.root, urlTree.root, queryParams, fragment);
1717
1717
  }
1718
1718
  const nav = computeNavigation(commands);
1719
1719
  if (nav.toRoot()) {
1720
- return tree(urlTree.root, new UrlSegmentGroup([], {}), urlTree, queryParams, fragment);
1720
+ return tree(urlTree.root, urlTree.root, new UrlSegmentGroup([], {}), queryParams, fragment);
1721
1721
  }
1722
1722
  const startingPosition = findStartingPosition(nav, urlTree, route);
1723
1723
  const segmentGroup = startingPosition.processChildren ?
1724
1724
  updateSegmentGroupChildren(startingPosition.segmentGroup, startingPosition.index, nav.commands) :
1725
1725
  updateSegmentGroup(startingPosition.segmentGroup, startingPosition.index, nav.commands);
1726
- return tree(startingPosition.segmentGroup, segmentGroup, urlTree, queryParams, fragment);
1726
+ return tree(urlTree.root, startingPosition.segmentGroup, segmentGroup, queryParams, fragment);
1727
1727
  }
1728
1728
  function isMatrixParams(command) {
1729
1729
  return typeof command === 'object' && command != null && !command.outlets && !command.segmentPath;
@@ -1735,17 +1735,18 @@ function isMatrixParams(command) {
1735
1735
  function isCommandWithOutlets(command) {
1736
1736
  return typeof command === 'object' && command != null && command.outlets;
1737
1737
  }
1738
- function tree(oldSegmentGroup, newSegmentGroup, urlTree, queryParams, fragment) {
1738
+ function tree(oldRoot, oldSegmentGroup, newSegmentGroup, queryParams, fragment) {
1739
1739
  let qp = {};
1740
1740
  if (queryParams) {
1741
1741
  forEach(queryParams, (value, name) => {
1742
1742
  qp[name] = Array.isArray(value) ? value.map((v) => `${v}`) : `${value}`;
1743
1743
  });
1744
1744
  }
1745
- if (urlTree.root === oldSegmentGroup) {
1745
+ if (oldRoot === oldSegmentGroup) {
1746
1746
  return new UrlTree(newSegmentGroup, qp, fragment);
1747
1747
  }
1748
- return new UrlTree(replaceSegment(urlTree.root, oldSegmentGroup, newSegmentGroup), qp, fragment);
1748
+ const newRoot = replaceSegment(oldRoot, oldSegmentGroup, newSegmentGroup);
1749
+ return new UrlTree(newRoot, qp, fragment);
1749
1750
  }
1750
1751
  function replaceSegment(current, oldSegment, newSegment) {
1751
1752
  const children = {};
@@ -2525,9 +2526,9 @@ class RouterOutlet {
2525
2526
  this.activateEvents.emit(this.activated.instance);
2526
2527
  }
2527
2528
  }
2528
- RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterOutlet, deps: [{ token: ChildrenOutletContexts }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: 'name', attribute: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
2529
- RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: RouterOutlet, selector: "router-outlet", outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], ngImport: i0 });
2530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterOutlet, decorators: [{
2529
+ RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterOutlet, deps: [{ token: ChildrenOutletContexts }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: 'name', attribute: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
2530
+ RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.7", type: RouterOutlet, selector: "router-outlet", outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], ngImport: i0 });
2531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterOutlet, decorators: [{
2531
2532
  type: Directive,
2532
2533
  args: [{ selector: 'router-outlet', exportAs: 'outlet' }]
2533
2534
  }], ctorParameters: function () {
@@ -2583,9 +2584,9 @@ class OutletInjector {
2583
2584
  */
2584
2585
  class ɵEmptyOutletComponent {
2585
2586
  }
2586
- ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2587
- ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.4", type: ɵEmptyOutletComponent, selector: "ng-component", ngImport: i0, template: `<router-outlet></router-outlet>`, isInline: true, directives: [{ type: RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
2588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2587
+ ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2588
+ ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.7", type: ɵEmptyOutletComponent, selector: "ng-component", ngImport: i0, template: `<router-outlet></router-outlet>`, isInline: true, directives: [{ type: RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
2589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2589
2590
  type: Component,
2590
2591
  args: [{ template: `<router-outlet></router-outlet>` }]
2591
2592
  }] });
@@ -2659,9 +2660,6 @@ function validateNode(route, fullPath) {
2659
2660
  const exp = `The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`;
2660
2661
  throw new Error(`Invalid configuration of route '{path: "${fullPath}", redirectTo: "${route.redirectTo}"}': please provide 'pathMatch'. ${exp}`);
2661
2662
  }
2662
- if (route.pathMatch !== void 0 && route.pathMatch !== 'full' && route.pathMatch !== 'prefix') {
2663
- throw new Error(`Invalid configuration of route '${fullPath}': pathMatch can only be set to 'prefix' or 'full'`);
2664
- }
2665
2663
  }
2666
2664
  if (route.children) {
2667
2665
  validateConfig(route.children, fullPath);
@@ -2719,7 +2717,7 @@ function sortByMatchingOutlets(routes, outletName) {
2719
2717
  const noMatch$1 = {
2720
2718
  matched: false,
2721
2719
  consumedSegments: [],
2722
- lastChild: 0,
2720
+ remainingSegments: [],
2723
2721
  parameters: {},
2724
2722
  positionalParamSegments: {}
2725
2723
  };
@@ -2732,7 +2730,7 @@ function match(segmentGroup, route, segments) {
2732
2730
  return {
2733
2731
  matched: true,
2734
2732
  consumedSegments: [],
2735
- lastChild: 0,
2733
+ remainingSegments: segments,
2736
2734
  parameters: {},
2737
2735
  positionalParamSegments: {}
2738
2736
  };
@@ -2750,7 +2748,7 @@ function match(segmentGroup, route, segments) {
2750
2748
  return {
2751
2749
  matched: true,
2752
2750
  consumedSegments: res.consumed,
2753
- lastChild: res.consumed.length,
2751
+ remainingSegments: segments.slice(res.consumed.length),
2754
2752
  // TODO(atscott): investigate combining parameters and positionalParamSegments
2755
2753
  parameters,
2756
2754
  positionalParamSegments: (_a = res.posParams) !== null && _a !== void 0 ? _a : {}
@@ -2868,16 +2866,16 @@ class AbsoluteRedirect {
2868
2866
  }
2869
2867
  }
2870
2868
  function noMatch(segmentGroup) {
2871
- return new Observable((obs) => obs.error(new NoMatch$1(segmentGroup)));
2869
+ return throwError(new NoMatch$1(segmentGroup));
2872
2870
  }
2873
2871
  function absoluteRedirect(newTree) {
2874
- return new Observable((obs) => obs.error(new AbsoluteRedirect(newTree)));
2872
+ return throwError(new AbsoluteRedirect(newTree));
2875
2873
  }
2876
2874
  function namedOutletsRedirect(redirectTo) {
2877
- return new Observable((obs) => obs.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${redirectTo}'`)));
2875
+ return throwError(new Error(`Only absolute redirects can have named outlets. redirectTo: '${redirectTo}'`));
2878
2876
  }
2879
2877
  function canLoadFails(route) {
2880
- return new Observable((obs) => obs.error(navigationCancelingError(`Cannot load children because the guard of the route "path: '${route.path}'" returned false`)));
2878
+ return throwError(navigationCancelingError(`Cannot load children because the guard of the route "path: '${route.path}'" returned false`));
2881
2879
  }
2882
2880
  /**
2883
2881
  * Returns the `UrlTree` with the redirection applied.
@@ -2992,7 +2990,7 @@ class ApplyRedirects {
2992
2990
  if (noLeftoversInUrl(segmentGroup, segments, outlet)) {
2993
2991
  return of(new UrlSegmentGroup([], {}));
2994
2992
  }
2995
- throw new NoMatch$1(segmentGroup);
2993
+ return noMatch(segmentGroup);
2996
2994
  }
2997
2995
  throw e;
2998
2996
  }));
@@ -3026,7 +3024,7 @@ class ApplyRedirects {
3026
3024
  }));
3027
3025
  }
3028
3026
  expandRegularSegmentAgainstRouteUsingRedirect(ngModule, segmentGroup, routes, route, segments, outlet) {
3029
- const { matched, consumedSegments, lastChild, positionalParamSegments } = match(segmentGroup, route, segments);
3027
+ const { matched, consumedSegments, remainingSegments, positionalParamSegments } = match(segmentGroup, route, segments);
3030
3028
  if (!matched)
3031
3029
  return noMatch(segmentGroup);
3032
3030
  const newTree = this.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
@@ -3034,7 +3032,7 @@ class ApplyRedirects {
3034
3032
  return absoluteRedirect(newTree);
3035
3033
  }
3036
3034
  return this.lineralizeSegments(route, newTree).pipe(mergeMap((newSegments) => {
3037
- return this.expandSegment(ngModule, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);
3035
+ return this.expandSegment(ngModule, segmentGroup, routes, newSegments.concat(remainingSegments), outlet, false);
3038
3036
  }));
3039
3037
  }
3040
3038
  matchSegmentAgainstRoute(ngModule, rawSegmentGroup, route, segments, outlet) {
@@ -3049,15 +3047,14 @@ class ApplyRedirects {
3049
3047
  }
3050
3048
  return of(new UrlSegmentGroup(segments, {}));
3051
3049
  }
3052
- const { matched, consumedSegments, lastChild } = match(rawSegmentGroup, route, segments);
3050
+ const { matched, consumedSegments, remainingSegments } = match(rawSegmentGroup, route, segments);
3053
3051
  if (!matched)
3054
3052
  return noMatch(rawSegmentGroup);
3055
- const rawSlicedSegments = segments.slice(lastChild);
3056
3053
  const childConfig$ = this.getChildConfig(ngModule, route, segments);
3057
3054
  return childConfig$.pipe(mergeMap((routerConfig) => {
3058
3055
  const childModule = routerConfig.module;
3059
3056
  const childConfig = routerConfig.routes;
3060
- const { segmentGroup: splitSegmentGroup, slicedSegments } = split(rawSegmentGroup, consumedSegments, rawSlicedSegments, childConfig);
3057
+ const { segmentGroup: splitSegmentGroup, slicedSegments } = split(rawSegmentGroup, consumedSegments, remainingSegments, childConfig);
3061
3058
  // See comment on the other call to `split` about why this is necessary.
3062
3059
  const segmentGroup = new UrlSegmentGroup(splitSegmentGroup.segments, splitSegmentGroup.children);
3063
3060
  if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {
@@ -3634,7 +3631,7 @@ class Recognizer {
3634
3631
  return null;
3635
3632
  let snapshot;
3636
3633
  let consumedSegments = [];
3637
- let rawSlicedSegments = [];
3634
+ let remainingSegments = [];
3638
3635
  if (route.path === '**') {
3639
3636
  const params = segments.length > 0 ? last(segments).parameters : {};
3640
3637
  snapshot = new ActivatedRouteSnapshot(segments, params, Object.freeze(Object.assign({}, this.urlTree.queryParams)), this.urlTree.fragment, getData(route), getOutlet(route), route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + segments.length, getResolve(route));
@@ -3645,11 +3642,11 @@ class Recognizer {
3645
3642
  return null;
3646
3643
  }
3647
3644
  consumedSegments = result.consumedSegments;
3648
- rawSlicedSegments = segments.slice(result.lastChild);
3645
+ remainingSegments = result.remainingSegments;
3649
3646
  snapshot = new ActivatedRouteSnapshot(consumedSegments, result.parameters, Object.freeze(Object.assign({}, this.urlTree.queryParams)), this.urlTree.fragment, getData(route), getOutlet(route), route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + consumedSegments.length, getResolve(route));
3650
3647
  }
3651
3648
  const childConfig = getChildConfig(route);
3652
- const { segmentGroup, slicedSegments } = split(rawSegment, consumedSegments, rawSlicedSegments,
3649
+ const { segmentGroup, slicedSegments } = split(rawSegment, consumedSegments, remainingSegments,
3653
3650
  // Filter out routes with redirectTo because we are trying to create activated route
3654
3651
  // snapshots and don't handle redirects here. That should have been done in
3655
3652
  // `applyRedirects`.
@@ -3832,7 +3829,7 @@ function resolveNode(resolve, futureARS, futureRSS, moduleInjector) {
3832
3829
  }
3833
3830
  const data = {};
3834
3831
  return from(keys).pipe(mergeMap(key => getResolver(resolve[key], futureARS, futureRSS, moduleInjector)
3835
- .pipe(tap((value) => {
3832
+ .pipe(take(1), tap((value) => {
3836
3833
  data[key] = value;
3837
3834
  }))), takeLast(1), mergeMap(() => {
3838
3835
  // Ensure all resolvers returned values, otherwise don't emit any "next" and just complete
@@ -4829,24 +4826,10 @@ class Router {
4829
4826
  });
4830
4827
  }
4831
4828
  scheduleNavigation(rawUrl, source, restoredState, extras, priorPromise) {
4832
- var _a, _b, _c;
4829
+ var _a, _b;
4833
4830
  if (this.disposed) {
4834
4831
  return Promise.resolve(false);
4835
4832
  }
4836
- // Duplicate navigations may be triggered by attempts to sync AngularJS and
4837
- // Angular router states. We have the setTimeout in the location listener to
4838
- // ensure the imperative nav is scheduled before the browser nav.
4839
- const lastNavigation = this.transitions.value;
4840
- const browserNavPrecededByRouterNav = isBrowserTriggeredNavigation(source) && lastNavigation &&
4841
- !isBrowserTriggeredNavigation(lastNavigation.source);
4842
- const navToSameUrl = lastNavigation.rawUrl.toString() === rawUrl.toString();
4843
- const lastNavigationInProgress = lastNavigation.id === ((_a = this.currentNavigation) === null || _a === void 0 ? void 0 : _a.id);
4844
- // We consider duplicates as ones that goes to the same URL while the first
4845
- // is still processing.
4846
- const isDuplicateNav = navToSameUrl && lastNavigationInProgress;
4847
- if (browserNavPrecededByRouterNav && isDuplicateNav) {
4848
- return Promise.resolve(true); // return value is not used
4849
- }
4850
4833
  let resolve;
4851
4834
  let reject;
4852
4835
  let promise;
@@ -4878,10 +4861,10 @@ class Router {
4878
4861
  // If we're replacing the URL or doing a silent navigation, we do not want to increment the
4879
4862
  // page id because we aren't pushing a new entry to history.
4880
4863
  if (extras.replaceUrl || extras.skipLocationChange) {
4881
- targetPageId = (_b = this.browserPageId) !== null && _b !== void 0 ? _b : 0;
4864
+ targetPageId = (_a = this.browserPageId) !== null && _a !== void 0 ? _a : 0;
4882
4865
  }
4883
4866
  else {
4884
- targetPageId = ((_c = this.browserPageId) !== null && _c !== void 0 ? _c : 0) + 1;
4867
+ targetPageId = ((_b = this.browserPageId) !== null && _b !== void 0 ? _b : 0) + 1;
4885
4868
  }
4886
4869
  }
4887
4870
  }
@@ -4989,9 +4972,9 @@ class Router {
4989
4972
  return { navigationId };
4990
4973
  }
4991
4974
  }
4992
- Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: Router, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
4993
- Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: Router });
4994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: Router, decorators: [{
4975
+ Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: Router, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
4976
+ Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: Router });
4977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: Router, decorators: [{
4995
4978
  type: Injectable
4996
4979
  }], ctorParameters: function () { return [{ type: i0.Type }, { type: UrlSerializer }, { type: ChildrenOutletContexts }, { type: i3.Location }, { type: i0.Injector }, { type: i0.Compiler }, { type: undefined }]; } });
4997
4980
  function validateCommands(commands) {
@@ -5183,9 +5166,9 @@ class RouterLink {
5183
5166
  });
5184
5167
  }
5185
5168
  }
5186
- RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterLink, deps: [{ token: Router }, { token: ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5187
- RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: { queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", relativeTo: "relativeTo", routerLink: "routerLink" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
5188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterLink, decorators: [{
5169
+ RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterLink, deps: [{ token: Router }, { token: ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5170
+ RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.7", type: RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: { queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", relativeTo: "relativeTo", routerLink: "routerLink" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
5171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterLink, decorators: [{
5189
5172
  type: Directive,
5190
5173
  args: [{ selector: ':not(a):not(area)[routerLink]' }]
5191
5174
  }], ctorParameters: function () {
@@ -5304,9 +5287,9 @@ class RouterLinkWithHref {
5304
5287
  });
5305
5288
  }
5306
5289
  }
5307
- RouterLinkWithHref.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterLinkWithHref, deps: [{ token: Router }, { token: ActivatedRoute }, { token: i3.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
5308
- RouterLinkWithHref.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", relativeTo: "relativeTo", routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target", "attr.href": "this.href" } }, usesOnChanges: true, ngImport: i0 });
5309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterLinkWithHref, decorators: [{
5290
+ RouterLinkWithHref.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterLinkWithHref, deps: [{ token: Router }, { token: ActivatedRoute }, { token: i3.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
5291
+ RouterLinkWithHref.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.7", type: RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", relativeTo: "relativeTo", routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target", "attr.href": "this.href" } }, usesOnChanges: true, ngImport: i0 });
5292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterLinkWithHref, decorators: [{
5310
5293
  type: Directive,
5311
5294
  args: [{ selector: 'a[routerLink],area[routerLink]' }]
5312
5295
  }], ctorParameters: function () { return [{ type: Router }, { type: ActivatedRoute }, { type: i3.LocationStrategy }]; }, propDecorators: { target: [{
@@ -5517,9 +5500,9 @@ class RouterLinkActive {
5517
5500
  this.links.some(isActiveCheckFn) || this.linksWithHrefs.some(isActiveCheckFn);
5518
5501
  }
5519
5502
  }
5520
- RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }, { token: RouterLinkWithHref, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5521
- RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: { routerLinkActiveOptions: "routerLinkActiveOptions", routerLinkActive: "routerLinkActive" }, outputs: { isActiveChange: "isActiveChange" }, queries: [{ propertyName: "links", predicate: RouterLink, descendants: true }, { propertyName: "linksWithHrefs", predicate: RouterLinkWithHref, descendants: true }], exportAs: ["routerLinkActive"], usesOnChanges: true, ngImport: i0 });
5522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterLinkActive, decorators: [{
5503
+ RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }, { token: RouterLinkWithHref, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5504
+ RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.7", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: { routerLinkActiveOptions: "routerLinkActiveOptions", routerLinkActive: "routerLinkActive" }, outputs: { isActiveChange: "isActiveChange" }, queries: [{ propertyName: "links", predicate: RouterLink, descendants: true }, { propertyName: "linksWithHrefs", predicate: RouterLinkWithHref, descendants: true }], exportAs: ["routerLinkActive"], usesOnChanges: true, ngImport: i0 });
5505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterLinkActive, decorators: [{
5523
5506
  type: Directive,
5524
5507
  args: [{
5525
5508
  selector: '[routerLinkActive]',
@@ -5623,9 +5606,9 @@ class DefaultTitleStrategy extends TitleStrategy {
5623
5606
  }
5624
5607
  }
5625
5608
  }
5626
- DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
5627
- DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
5628
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
5609
+ DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
5610
+ DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
5611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
5629
5612
  type: Injectable,
5630
5613
  args: [{ providedIn: 'root' }]
5631
5614
  }], ctorParameters: function () { return [{ type: i1.Title }]; } });
@@ -5743,9 +5726,9 @@ class RouterPreloader {
5743
5726
  });
5744
5727
  }
5745
5728
  }
5746
- RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.Injector }, { token: PreloadingStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
5747
- RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterPreloader });
5748
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterPreloader, decorators: [{
5729
+ RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.Injector }, { token: PreloadingStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
5730
+ RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterPreloader });
5731
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterPreloader, decorators: [{
5749
5732
  type: Injectable
5750
5733
  }], ctorParameters: function () { return [{ type: Router }, { type: i0.Compiler }, { type: i0.Injector }, { type: PreloadingStrategy }]; } });
5751
5734
 
@@ -5824,9 +5807,9 @@ class RouterScroller {
5824
5807
  }
5825
5808
  }
5826
5809
  }
5827
- RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
5828
- RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterScroller });
5829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterScroller, decorators: [{
5810
+ RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
5811
+ RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterScroller });
5812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterScroller, decorators: [{
5830
5813
  type: Injectable
5831
5814
  }], ctorParameters: function () { return [{ type: Router }, { type: i3.ViewportScroller }, { type: undefined }]; } });
5832
5815
 
@@ -5967,10 +5950,10 @@ class RouterModule {
5967
5950
  return { ngModule: RouterModule, providers: [provideRoutes(routes)] };
5968
5951
  }
5969
5952
  }
5970
- RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }, { token: Router, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
5971
- RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterModule, declarations: [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent] });
5972
- RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterModule });
5973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterModule, decorators: [{
5953
+ RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }, { token: Router, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
5954
+ RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterModule, declarations: [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent] });
5955
+ RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterModule });
5956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterModule, decorators: [{
5974
5957
  type: NgModule,
5975
5958
  args: [{
5976
5959
  declarations: ROUTER_DIRECTIVES,
@@ -6152,9 +6135,9 @@ class RouterInitializer {
6152
6135
  this.destroyed = true;
6153
6136
  }
6154
6137
  }
6155
- RouterInitializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterInitializer, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
6156
- RouterInitializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterInitializer });
6157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: RouterInitializer, decorators: [{
6138
+ RouterInitializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterInitializer, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
6139
+ RouterInitializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterInitializer });
6140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.7", ngImport: i0, type: RouterInitializer, decorators: [{
6158
6141
  type: Injectable
6159
6142
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
6160
6143
  function getAppInitializer(r) {
@@ -6194,7 +6177,7 @@ function provideRouterInitializer() {
6194
6177
  /**
6195
6178
  * @publicApi
6196
6179
  */
6197
- const VERSION = new Version('14.0.0-next.4');
6180
+ const VERSION = new Version('14.0.0-next.7');
6198
6181
 
6199
6182
  /**
6200
6183
  * @license