@angular/router 15.0.0-next.5 → 15.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2020/src/components/empty_outlet.mjs +3 -3
  2. package/esm2020/src/directives/router_link.mjs +9 -22
  3. package/esm2020/src/directives/router_link_active.mjs +10 -18
  4. package/esm2020/src/directives/router_outlet.mjs +3 -3
  5. package/esm2020/src/models.mjs +1 -1
  6. package/esm2020/src/page_title_strategy.mjs +6 -6
  7. package/esm2020/src/patchable_relative_link_resolution.mjs +1 -1
  8. package/esm2020/src/provide_router.mjs +6 -12
  9. package/esm2020/src/route_reuse_strategy.mjs +2 -2
  10. package/esm2020/src/router.mjs +7 -11
  11. package/esm2020/src/router_config.mjs +1 -1
  12. package/esm2020/src/router_config_loader.mjs +3 -3
  13. package/esm2020/src/router_module.mjs +10 -9
  14. package/esm2020/src/router_outlet_context.mjs +3 -3
  15. package/esm2020/src/router_preloader.mjs +9 -9
  16. package/esm2020/src/router_scroller.mjs +18 -8
  17. package/esm2020/src/url_tree.mjs +3 -3
  18. package/esm2020/src/version.mjs +1 -1
  19. package/esm2020/testing/src/router_testing_module.mjs +9 -11
  20. package/fesm2015/router.mjs +80 -109
  21. package/fesm2015/router.mjs.map +1 -1
  22. package/fesm2015/testing.mjs +9 -11
  23. package/fesm2015/testing.mjs.map +1 -1
  24. package/fesm2015/upgrade.mjs +1 -1
  25. package/fesm2020/router.mjs +80 -109
  26. package/fesm2020/router.mjs.map +1 -1
  27. package/fesm2020/testing.mjs +9 -11
  28. package/fesm2020/testing.mjs.map +1 -1
  29. package/fesm2020/upgrade.mjs +1 -1
  30. package/index.d.ts +18 -91
  31. package/package.json +5 -5
  32. package/testing/index.d.ts +1 -1
  33. package/upgrade/index.d.ts +1 -1
  34. package/esm2020/testing/src/provide_router_for_testing.mjs +0 -51
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v15.0.0-next.5
2
+ * @license Angular v15.0.0-rc.0
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, ɵisStandalone, ComponentFactoryResolver, ɵisInjectable, InjectionToken, InjectFlags, NgModuleFactory, Injector, Compiler, NgModuleRef, ɵConsole, NgZone, ɵcoerceToBoolean, ɵɵsanitizeUrlOrResourceUrl, Attribute, HostBinding, HostListener, Optional, ContentChildren, APP_BOOTSTRAP_LISTENER, ApplicationRef, APP_INITIALIZER, ENVIRONMENT_INITIALIZER, NgProbeToken, SkipSelf, NgModule, Inject, Version } from '@angular/core';
8
+ import { ɵisObservable, ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, Component, createEnvironmentInjector, ɵisStandalone, ComponentFactoryResolver, ɵisInjectable, InjectionToken, InjectFlags, NgModuleFactory, Injector, Compiler, NgModuleRef, ɵConsole, NgZone, ɵcoerceToBoolean, ɵɵsanitizeUrlOrResourceUrl, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ApplicationRef, APP_INITIALIZER, ENVIRONMENT_INITIALIZER, NgProbeToken, SkipSelf, NgModule, Inject, Version } from '@angular/core';
9
9
  import { 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';
@@ -461,9 +461,9 @@ function mapChildrenIntoArray(segment, fn) {
461
461
  */
462
462
  class UrlSerializer {
463
463
  }
464
- UrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
465
- UrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: UrlSerializer, decorators: [{
464
+ UrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
465
+ UrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: UrlSerializer, decorators: [{
467
467
  type: Injectable,
468
468
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
469
469
  }] });
@@ -2394,9 +2394,9 @@ class ChildrenOutletContexts {
2394
2394
  return this.contexts.get(childName) || null;
2395
2395
  }
2396
2396
  }
2397
- ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2398
- ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2397
+ ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2398
+ ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2400
2400
  type: Injectable,
2401
2401
  args: [{ providedIn: 'root' }]
2402
2402
  }] });
@@ -2617,9 +2617,9 @@ class RouterOutlet {
2617
2617
  this.activateEvents.emit(this.activated.instance);
2618
2618
  }
2619
2619
  }
2620
- RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2621
- RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.5", 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 });
2622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterOutlet, decorators: [{
2620
+ RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2621
+ RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.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 });
2622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterOutlet, decorators: [{
2623
2623
  type: Directive,
2624
2624
  args: [{
2625
2625
  selector: 'router-outlet',
@@ -2679,9 +2679,9 @@ function isComponentFactoryResolver(item) {
2679
2679
  */
2680
2680
  class ɵEmptyOutletComponent {
2681
2681
  }
2682
- ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2683
- ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.5", 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"] }] });
2684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2682
+ ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2683
+ ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.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"] }] });
2684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2685
2685
  type: Component,
2686
2686
  args: [{
2687
2687
  template: `<router-outlet></router-outlet>`,
@@ -4383,9 +4383,9 @@ class TitleStrategy {
4383
4383
  return snapshot.data[RouteTitleKey];
4384
4384
  }
4385
4385
  }
4386
- TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4387
- TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: TitleStrategy, decorators: [{
4386
+ TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4387
+ TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: TitleStrategy, decorators: [{
4389
4389
  type: Injectable,
4390
4390
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4391
4391
  }] });
@@ -4409,9 +4409,9 @@ class DefaultTitleStrategy extends TitleStrategy {
4409
4409
  }
4410
4410
  }
4411
4411
  }
4412
- DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
4413
- DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4412
+ DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
4413
+ DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4415
4415
  type: Injectable,
4416
4416
  args: [{ providedIn: 'root' }]
4417
4417
  }], ctorParameters: function () { return [{ type: i1.Title }]; } });
@@ -4449,7 +4449,7 @@ class RouteReuseStrategy {
4449
4449
  *
4450
4450
  * This base route reuse strategy only reuses routes when the matched router configs are
4451
4451
  * identical. This prevents components from being destroyed and recreated
4452
- * when just the fragment or query parameters change
4452
+ * when just the route parameters, query parameters or fragment change
4453
4453
  * (that is, the existing component is _reused_).
4454
4454
  *
4455
4455
  * This strategy does not store any routes for later reuse.
@@ -4634,9 +4634,9 @@ class RouterConfigLoader {
4634
4634
  }));
4635
4635
  }
4636
4636
  }
4637
- RouterConfigLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterConfigLoader, deps: [{ token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
4638
- RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4639
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterConfigLoader, decorators: [{
4637
+ RouterConfigLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterConfigLoader, deps: [{ token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
4638
+ RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterConfigLoader, decorators: [{
4640
4640
  type: Injectable,
4641
4641
  args: [{ providedIn: 'root' }]
4642
4642
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.Compiler }]; } });
@@ -4730,9 +4730,6 @@ function assignExtraOptionsToRouter(opts, router) {
4730
4730
  if (opts.paramsInheritanceStrategy) {
4731
4731
  router.paramsInheritanceStrategy = opts.paramsInheritanceStrategy;
4732
4732
  }
4733
- if (opts.relativeLinkResolution) {
4734
- router.relativeLinkResolution = opts.relativeLinkResolution;
4735
- }
4736
4733
  if (opts.urlUpdateStrategy) {
4737
4734
  router.urlUpdateStrategy = opts.urlUpdateStrategy;
4738
4735
  }
@@ -4872,10 +4869,9 @@ class Router {
4872
4869
  */
4873
4870
  this.urlUpdateStrategy = 'deferred';
4874
4871
  /**
4875
- * Enables a bug fix that corrects relative link resolution in components with empty paths.
4876
- * @see `RouterModule`
4877
- *
4878
- * @deprecated
4872
+ * TODO(atscott): Remove all references to relativeLinkResolution when internal cleanup is
4873
+ * finished.
4874
+ * @internal
4879
4875
  */
4880
4876
  this.relativeLinkResolution = 'corrected';
4881
4877
  /**
@@ -5672,9 +5668,9 @@ class Router {
5672
5668
  return { navigationId };
5673
5669
  }
5674
5670
  }
5675
- Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: Router, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
5676
- Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: Router, providedIn: 'root', useFactory: setupRouter });
5677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: Router, decorators: [{
5671
+ Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: Router, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
5672
+ Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: Router, providedIn: 'root', useFactory: setupRouter });
5673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: Router, decorators: [{
5678
5674
  type: Injectable,
5679
5675
  args: [{
5680
5676
  providedIn: 'root',
@@ -5968,12 +5964,12 @@ class RouterLink {
5968
5964
  });
5969
5965
  }
5970
5966
  }
5971
- RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", 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 });
5972
- RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.5", type: RouterLink, isStandalone: true, selector: ":not(a):not(area)[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 });
5973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterLink, decorators: [{
5967
+ RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.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 });
5968
+ RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-rc.0", type: RouterLink, isStandalone: true, selector: ":not(a):not(area)[routerLink],a[routerLink],area[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 });
5969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterLink, decorators: [{
5974
5970
  type: Directive,
5975
5971
  args: [{
5976
- selector: ':not(a):not(area)[routerLink]',
5972
+ selector: ':not(a):not(area)[routerLink],a[routerLink],area[routerLink]',
5977
5973
  standalone: true,
5978
5974
  }]
5979
5975
  }], ctorParameters: function () {
@@ -6009,28 +6005,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5",
6009
6005
  args: ['click',
6010
6006
  ['$event.button', '$event.ctrlKey', '$event.shiftKey', '$event.altKey', '$event.metaKey']]
6011
6007
  }] } });
6012
- /**
6013
- * @description
6014
- *
6015
- * Lets you link to specific routes in your app.
6016
- *
6017
- * See `RouterLink` for more information.
6018
- *
6019
- * @ngModule RouterModule
6020
- *
6021
- * @publicApi
6022
- */
6023
- class RouterLinkWithHref extends RouterLink {
6024
- }
6025
- RouterLinkWithHref.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterLinkWithHref, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6026
- RouterLinkWithHref.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.5", type: RouterLinkWithHref, isStandalone: true, selector: "a[routerLink],area[routerLink]", usesInheritance: true, ngImport: i0 });
6027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterLinkWithHref, decorators: [{
6028
- type: Directive,
6029
- args: [{
6030
- selector: 'a[routerLink],area[routerLink]',
6031
- standalone: true,
6032
- }]
6033
- }] });
6034
6008
 
6035
6009
  /**
6036
6010
  * @license
@@ -6109,13 +6083,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5",
6109
6083
  * @publicApi
6110
6084
  */
6111
6085
  class RouterLinkActive {
6112
- constructor(router, element, renderer, cdr, link, linkWithHref) {
6086
+ constructor(router, element, renderer, cdr, link) {
6113
6087
  this.router = router;
6114
6088
  this.element = element;
6115
6089
  this.renderer = renderer;
6116
6090
  this.cdr = cdr;
6117
6091
  this.link = link;
6118
- this.linkWithHref = linkWithHref;
6119
6092
  this.classes = [];
6120
6093
  this.isActive = false;
6121
6094
  /**
@@ -6152,7 +6125,7 @@ class RouterLinkActive {
6152
6125
  /** @nodoc */
6153
6126
  ngAfterContentInit() {
6154
6127
  // `of(null)` is used to force subscribe body to execute once immediately (like `startWith`).
6155
- of(this.links.changes, this.linksWithHrefs.changes, of(null)).pipe(mergeAll()).subscribe(_ => {
6128
+ of(this.links.changes, of(null)).pipe(mergeAll()).subscribe(_ => {
6156
6129
  this.update();
6157
6130
  this.subscribeToEachLinkOnChanges();
6158
6131
  });
@@ -6160,7 +6133,7 @@ class RouterLinkActive {
6160
6133
  subscribeToEachLinkOnChanges() {
6161
6134
  var _a;
6162
6135
  (_a = this.linkInputChangesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
6163
- const allLinkChanges = [...this.links.toArray(), ...this.linksWithHrefs.toArray(), this.link, this.linkWithHref]
6136
+ const allLinkChanges = [...this.links.toArray(), this.link]
6164
6137
  .filter((link) => !!link)
6165
6138
  .map(link => link.onChanges);
6166
6139
  this.linkInputChangesSubscription = from(allLinkChanges).pipe(mergeAll()).subscribe(link => {
@@ -6184,7 +6157,7 @@ class RouterLinkActive {
6184
6157
  (_a = this.linkInputChangesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
6185
6158
  }
6186
6159
  update() {
6187
- if (!this.links || !this.linksWithHrefs || !this.router.navigated)
6160
+ if (!this.links || !this.router.navigated)
6188
6161
  return;
6189
6162
  Promise.resolve().then(() => {
6190
6163
  const hasActiveLinks = this.hasActiveLinks();
@@ -6219,14 +6192,12 @@ class RouterLinkActive {
6219
6192
  }
6220
6193
  hasActiveLinks() {
6221
6194
  const isActiveCheckFn = this.isLinkActive(this.router);
6222
- return this.link && isActiveCheckFn(this.link) ||
6223
- this.linkWithHref && isActiveCheckFn(this.linkWithHref) ||
6224
- this.links.some(isActiveCheckFn) || this.linksWithHrefs.some(isActiveCheckFn);
6195
+ return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6225
6196
  }
6226
6197
  }
6227
- RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", 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 });
6228
- RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.5", type: RouterLinkActive, isStandalone: true, selector: "[routerLinkActive]", inputs: { routerLinkActiveOptions: "routerLinkActiveOptions", ariaCurrentWhenActive: "ariaCurrentWhenActive", routerLinkActive: "routerLinkActive" }, outputs: { isActiveChange: "isActiveChange" }, queries: [{ propertyName: "links", predicate: RouterLink, descendants: true }, { propertyName: "linksWithHrefs", predicate: RouterLinkWithHref, descendants: true }], exportAs: ["routerLinkActive"], usesOnChanges: true, ngImport: i0 });
6229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterLinkActive, decorators: [{
6198
+ RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.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 });
6199
+ RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.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 });
6200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterLinkActive, decorators: [{
6230
6201
  type: Directive,
6231
6202
  args: [{
6232
6203
  selector: '[routerLinkActive]',
@@ -6236,15 +6207,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5",
6236
6207
  }], ctorParameters: function () {
6237
6208
  return [{ type: Router }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: RouterLink, decorators: [{
6238
6209
  type: Optional
6239
- }] }, { type: RouterLinkWithHref, decorators: [{
6240
- type: Optional
6241
6210
  }] }];
6242
6211
  }, propDecorators: { links: [{
6243
6212
  type: ContentChildren,
6244
6213
  args: [RouterLink, { descendants: true }]
6245
- }], linksWithHrefs: [{
6246
- type: ContentChildren,
6247
- args: [RouterLinkWithHref, { descendants: true }]
6248
6214
  }], routerLinkActiveOptions: [{
6249
6215
  type: Input
6250
6216
  }], ariaCurrentWhenActive: [{
@@ -6293,9 +6259,9 @@ class PreloadAllModules {
6293
6259
  return fn().pipe(catchError(() => of(null)));
6294
6260
  }
6295
6261
  }
6296
- PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6297
- PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: PreloadAllModules, decorators: [{
6262
+ PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6263
+ PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: PreloadAllModules, decorators: [{
6299
6265
  type: Injectable,
6300
6266
  args: [{ providedIn: 'root' }]
6301
6267
  }] });
@@ -6313,9 +6279,9 @@ class NoPreloading {
6313
6279
  return of(null);
6314
6280
  }
6315
6281
  }
6316
- NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6317
- NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: NoPreloading, decorators: [{
6282
+ NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6283
+ NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: NoPreloading, decorators: [{
6319
6285
  type: Injectable,
6320
6286
  args: [{ providedIn: 'root' }]
6321
6287
  }] });
@@ -6411,9 +6377,9 @@ class RouterPreloader {
6411
6377
  });
6412
6378
  }
6413
6379
  }
6414
- RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
6415
- RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterPreloader, decorators: [{
6380
+ RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
6381
+ RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterPreloader, decorators: [{
6417
6383
  type: Injectable,
6418
6384
  args: [{ providedIn: 'root' }]
6419
6385
  }], ctorParameters: function () { return [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }]; } });
@@ -6421,9 +6387,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5",
6421
6387
  const ROUTER_SCROLLER = new InjectionToken('');
6422
6388
  class RouterScroller {
6423
6389
  constructor(router,
6424
- /** @docsNotRequired */ viewportScroller, options = {}) {
6390
+ /** @docsNotRequired */ viewportScroller, zone, options = {}) {
6425
6391
  this.router = router;
6426
6392
  this.viewportScroller = viewportScroller;
6393
+ this.zone = zone;
6427
6394
  this.options = options;
6428
6395
  this.lastId = 0;
6429
6396
  this.lastSource = 'imperative';
@@ -6482,7 +6449,16 @@ class RouterScroller {
6482
6449
  });
6483
6450
  }
6484
6451
  scheduleScrollEvent(routerEvent, anchor) {
6485
- this.router.triggerEvent(new Scroll(routerEvent, this.lastSource === 'popstate' ? this.store[this.restoredId] : null, anchor));
6452
+ this.zone.runOutsideAngular(() => {
6453
+ // The scroll event needs to be delayed until after change detection. Otherwise, we may
6454
+ // attempt to restore the scroll position before the router outlet has fully rendered the
6455
+ // component by executing its update block of the template function.
6456
+ setTimeout(() => {
6457
+ this.zone.run(() => {
6458
+ this.router.triggerEvent(new Scroll(routerEvent, this.lastSource === 'popstate' ? this.store[this.restoredId] : null, anchor));
6459
+ });
6460
+ }, 0);
6461
+ });
6486
6462
  }
6487
6463
  /** @nodoc */
6488
6464
  ngOnDestroy() {
@@ -6494,11 +6470,11 @@ class RouterScroller {
6494
6470
  }
6495
6471
  }
6496
6472
  }
6497
- RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6498
- RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterScroller });
6499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterScroller, decorators: [{
6473
+ RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6474
+ RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterScroller });
6475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterScroller, decorators: [{
6500
6476
  type: Injectable
6501
- }], ctorParameters: function () { return [{ type: Router }, { type: i3.ViewportScroller }, { type: undefined }]; } });
6477
+ }], ctorParameters: function () { return [{ type: Router }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }]; } });
6502
6478
 
6503
6479
  /**
6504
6480
  * @license
@@ -6540,13 +6516,12 @@ const NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || ngDevMode;
6540
6516
  * @see `RouterFeatures`
6541
6517
  *
6542
6518
  * @publicApi
6543
- * @developerPreview
6544
6519
  * @param routes A set of `Route`s to use for the application routing table.
6545
6520
  * @param features Optional features to configure additional router behaviors.
6546
6521
  * @returns A set of providers to setup a Router.
6547
6522
  */
6548
6523
  function provideRouter(routes, ...features) {
6549
- return [
6524
+ return makeEnvironmentProviders([
6550
6525
  provideRoutes(routes), { provide: ActivatedRoute, useFactory: rootRoute, deps: [Router] },
6551
6526
  { provide: APP_BOOTSTRAP_LISTENER, multi: true, useFactory: getBootstrapListener },
6552
6527
  features.map(feature => feature.ɵproviders),
@@ -6554,7 +6529,7 @@ function provideRouter(routes, ...features) {
6554
6529
  // how we want them to be configured. This API doesn't currently have a way to configure them
6555
6530
  // and we should decide what the _best_ way to do that is rather than just sticking with the
6556
6531
  // status quo of how it's done today.
6557
- ];
6532
+ ]);
6558
6533
  }
6559
6534
  function rootRoute(router) {
6560
6535
  return router.routerState.root;
@@ -6606,7 +6581,6 @@ function provideRoutes(routes) {
6606
6581
  * @see `ViewportScroller`
6607
6582
  *
6608
6583
  * @publicApi
6609
- * @developerPreview
6610
6584
  * @param options Set of configuration parameters to customize scrolling behavior, see
6611
6585
  * `InMemoryScrollingOptions` for additional information.
6612
6586
  * @returns A set of providers for use with `provideRouter`.
@@ -6617,7 +6591,8 @@ function withInMemoryScrolling(options = {}) {
6617
6591
  useFactory: () => {
6618
6592
  const router = inject(Router);
6619
6593
  const viewportScroller = inject(ViewportScroller);
6620
- return new RouterScroller(router, viewportScroller, options);
6594
+ const zone = inject(NgZone);
6595
+ return new RouterScroller(router, viewportScroller, zone, options);
6621
6596
  },
6622
6597
  }];
6623
6598
  return routerFeature(4 /* RouterFeatureKind.InMemoryScrollingFeature */, providers);
@@ -6676,7 +6651,6 @@ const INITIAL_NAVIGATION = new InjectionToken(NG_DEV_MODE$1 ? 'initial navigatio
6676
6651
  * @see `provideRouter`
6677
6652
  *
6678
6653
  * @publicApi
6679
- * @developerPreview
6680
6654
  * @returns A set of providers for use with `provideRouter`.
6681
6655
  */
6682
6656
  function withEnabledBlockingInitialNavigation() {
@@ -6773,7 +6747,6 @@ function withEnabledBlockingInitialNavigation() {
6773
6747
  * @returns A set of providers for use with `provideRouter`.
6774
6748
  *
6775
6749
  * @publicApi
6776
- * @developerPreview
6777
6750
  */
6778
6751
  function withDisabledInitialNavigation() {
6779
6752
  const providers = [
@@ -6814,7 +6787,6 @@ function withDisabledInitialNavigation() {
6814
6787
  * @returns A set of providers for use with `provideRouter`.
6815
6788
  *
6816
6789
  * @publicApi
6817
- * @developerPreview
6818
6790
  */
6819
6791
  function withDebugTracing() {
6820
6792
  let providers = [];
@@ -6867,7 +6839,6 @@ const ROUTER_PRELOADER = new InjectionToken(NG_DEV_MODE$1 ? 'router preloader' :
6867
6839
  * @returns A set of providers for use with `provideRouter`.
6868
6840
  *
6869
6841
  * @publicApi
6870
- * @developerPreview
6871
6842
  */
6872
6843
  function withPreloading(preloadingStrategy) {
6873
6844
  const providers = [
@@ -6902,7 +6873,6 @@ function withPreloading(preloadingStrategy) {
6902
6873
  * @returns A set of providers for use with `provideRouter`.
6903
6874
  *
6904
6875
  * @publicApi
6905
- * @developerPreview
6906
6876
  */
6907
6877
  function withRouterConfig(options) {
6908
6878
  const providers = [
@@ -6922,7 +6892,7 @@ const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
6922
6892
  /**
6923
6893
  * The directives defined in the `RouterModule`.
6924
6894
  */
6925
- const ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent];
6895
+ const ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent];
6926
6896
  /**
6927
6897
  * @docsNotRequired
6928
6898
  */
@@ -7025,10 +6995,10 @@ class RouterModule {
7025
6995
  return { ngModule: RouterModule, providers: [provideRoutes(routes)] };
7026
6996
  }
7027
6997
  }
7028
- RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
7029
- RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive, ɵEmptyOutletComponent] });
7030
- RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
7031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.5", ngImport: i0, type: RouterModule, decorators: [{
6998
+ RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
6999
+ RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] });
7000
+ RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
7001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-rc.0", ngImport: i0, type: RouterModule, decorators: [{
7032
7002
  type: NgModule,
7033
7003
  args: [{
7034
7004
  imports: ROUTER_DIRECTIVES,
@@ -7052,11 +7022,12 @@ function provideRouterScroller() {
7052
7022
  useFactory: () => {
7053
7023
  const router = inject(Router);
7054
7024
  const viewportScroller = inject(ViewportScroller);
7025
+ const zone = inject(NgZone);
7055
7026
  const config = inject(ROUTER_CONFIGURATION);
7056
7027
  if (config.scrollOffset) {
7057
7028
  viewportScroller.setOffset(config.scrollOffset);
7058
7029
  }
7059
- return new RouterScroller(router, viewportScroller, config);
7030
+ return new RouterScroller(router, viewportScroller, zone, config);
7060
7031
  },
7061
7032
  };
7062
7033
  }
@@ -7114,7 +7085,7 @@ function provideRouterInitializer() {
7114
7085
  /**
7115
7086
  * @publicApi
7116
7087
  */
7117
- const VERSION = new Version('15.0.0-next.5');
7088
+ const VERSION = new Version('15.0.0-rc.0');
7118
7089
 
7119
7090
  /**
7120
7091
  * @license
@@ -7153,5 +7124,5 @@ const VERSION = new Version('15.0.0-next.5');
7153
7124
  * Generated bundle index. Do not edit.
7154
7125
  */
7155
7126
 
7156
- export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTES, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterLink, RouterLinkActive, RouterLinkWithHref, RouterModule, RouterOutlet, RouterPreloader, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, provideRouter, provideRoutes, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withInMemoryScrolling, withPreloading, withRouterConfig, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, assignExtraOptionsToRouter as ɵassignExtraOptionsToRouter, flatten as ɵflatten, withPreloading as ɵwithPreloading };
7127
+ export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, 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, provideRouter, provideRoutes, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withInMemoryScrolling, withPreloading, withRouterConfig, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, assignExtraOptionsToRouter as ɵassignExtraOptionsToRouter, flatten as ɵflatten, withPreloading as ɵwithPreloading };
7157
7128
  //# sourceMappingURL=router.mjs.map