@angular/router 17.3.0 → 18.0.0-next.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 (33) hide show
  1. package/esm2022/src/components/empty_outlet.mjs +3 -3
  2. package/esm2022/src/directives/router_link.mjs +3 -3
  3. package/esm2022/src/directives/router_link_active.mjs +3 -3
  4. package/esm2022/src/directives/router_outlet.mjs +6 -6
  5. package/esm2022/src/events.mjs +3 -2
  6. package/esm2022/src/index.mjs +2 -1
  7. package/esm2022/src/models.mjs +16 -2
  8. package/esm2022/src/navigation_canceling_error.mjs +1 -1
  9. package/esm2022/src/navigation_transition.mjs +7 -7
  10. package/esm2022/src/operators/check_guards.mjs +2 -3
  11. package/esm2022/src/operators/prioritized_guard_value.mjs +8 -4
  12. package/esm2022/src/page_title_strategy.mjs +6 -6
  13. package/esm2022/src/route_reuse_strategy.mjs +6 -6
  14. package/esm2022/src/router.mjs +7 -4
  15. package/esm2022/src/router_config_loader.mjs +3 -3
  16. package/esm2022/src/router_module.mjs +4 -4
  17. package/esm2022/src/router_outlet_context.mjs +3 -3
  18. package/esm2022/src/router_preloader.mjs +9 -9
  19. package/esm2022/src/router_scroller.mjs +3 -3
  20. package/esm2022/src/statemanager/state_manager.mjs +6 -6
  21. package/esm2022/src/url_handling_strategy.mjs +6 -6
  22. package/esm2022/src/url_tree.mjs +3 -3
  23. package/esm2022/src/version.mjs +1 -1
  24. package/esm2022/testing/src/router_testing_harness.mjs +6 -6
  25. package/esm2022/testing/src/router_testing_module.mjs +4 -4
  26. package/fesm2022/router.mjs +102 -79
  27. package/fesm2022/router.mjs.map +1 -1
  28. package/fesm2022/testing.mjs +11 -11
  29. package/fesm2022/upgrade.mjs +1 -1
  30. package/index.d.ts +17 -2
  31. package/package.json +4 -4
  32. package/testing/index.d.ts +1 -1
  33. package/upgrade/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.3.0
2
+ * @license Angular v18.0.0-next.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -421,10 +421,10 @@ function mapChildrenIntoArray(segment, fn) {
421
421
  * @publicApi
422
422
  */
423
423
  class UrlSerializer {
424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
425
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
425
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
426
426
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UrlSerializer, decorators: [{
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: UrlSerializer, decorators: [{
428
428
  type: Injectable,
429
429
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
430
430
  }] });
@@ -1743,8 +1743,9 @@ class Scroll {
1743
1743
  class BeforeActivateRoutes {
1744
1744
  }
1745
1745
  class RedirectRequest {
1746
- constructor(url) {
1746
+ constructor(url, navigationBehaviorOptions) {
1747
1747
  this.url = url;
1748
+ this.navigationBehaviorOptions = navigationBehaviorOptions;
1748
1749
  }
1749
1750
  }
1750
1751
  function stringifyEvent(routerEvent) {
@@ -1854,10 +1855,10 @@ class ChildrenOutletContexts {
1854
1855
  getContext(childName) {
1855
1856
  return this.contexts.get(childName) || null;
1856
1857
  }
1857
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1858
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1858
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1859
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
1859
1860
  }
1860
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1861
1862
  type: Injectable,
1862
1863
  args: [{ providedIn: 'root' }]
1863
1864
  }] });
@@ -2569,10 +2570,10 @@ class RouterOutlet {
2569
2570
  this.inputBinder?.bindActivatedRouteToOutletComponent(this);
2570
2571
  this.activateEvents.emit(this.activated.instance);
2571
2572
  }
2572
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2573
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.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 }); }
2573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2574
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.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 }); }
2574
2575
  }
2575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterOutlet, decorators: [{
2576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterOutlet, decorators: [{
2576
2577
  type: Directive,
2577
2578
  args: [{
2578
2579
  selector: 'router-outlet',
@@ -2677,10 +2678,10 @@ class RoutedComponentInputBinder {
2677
2678
  });
2678
2679
  this.outletDataSubscriptions.set(outlet, dataSubscription);
2679
2680
  }
2680
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2681
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RoutedComponentInputBinder }); }
2681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2682
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RoutedComponentInputBinder }); }
2682
2683
  }
2683
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2684
2685
  type: Injectable
2685
2686
  }] });
2686
2687
 
@@ -2760,10 +2761,10 @@ function isNavigationCancelingError(error) {
2760
2761
  * to this `EmptyOutletComponent`.
2761
2762
  */
2762
2763
  class ɵEmptyOutletComponent {
2763
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2764
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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"] }] }); }
2764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2765
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.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"] }] }); }
2765
2766
  }
2766
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2767
2768
  type: Component,
2768
2769
  args: [{
2769
2770
  template: `<router-outlet></router-outlet>`,
@@ -3330,6 +3331,22 @@ function isEmptyError(e) {
3330
3331
  return e instanceof EmptyError || e?.name === 'EmptyError';
3331
3332
  }
3332
3333
 
3334
+ /**
3335
+ * Can be returned by a `Router` guard to instruct the `Router` to redirect rather than continue
3336
+ * processing the path of the in-flight navigation. The `redirectTo` indicates _where_ the new
3337
+ * navigation should go to and the optional `navigationBehaviorOptions` can provide more information
3338
+ * about _how_ to perform the navigation.
3339
+ *
3340
+ * @see [Routing tutorial](guide/router-tutorial-toh#milestone-5-route-guards)
3341
+ * @publicApi
3342
+ */
3343
+ class RedirectCommand {
3344
+ constructor(redirectTo, navigationBehaviorOptions) {
3345
+ this.redirectTo = redirectTo;
3346
+ this.navigationBehaviorOptions = navigationBehaviorOptions;
3347
+ }
3348
+ }
3349
+
3333
3350
  const INITIAL_VALUE = /* @__PURE__ */ Symbol('INITIAL_VALUE');
3334
3351
  function prioritizedGuardValue() {
3335
3352
  return switchMap((obs) => {
@@ -3343,9 +3360,9 @@ function prioritizedGuardValue() {
3343
3360
  // If guard has not finished, we need to stop processing.
3344
3361
  return INITIAL_VALUE;
3345
3362
  }
3346
- else if (result === false || result instanceof UrlTree) {
3363
+ else if (result === false || isRedirect(result)) {
3347
3364
  // Result finished and was not true. Return the result.
3348
- // Note that we only allow false/UrlTree. Other values are considered invalid and
3365
+ // Note that we only allow false/UrlTree/RedirectCommand. Other values are considered invalid and
3349
3366
  // ignored.
3350
3367
  return result;
3351
3368
  }
@@ -3355,6 +3372,9 @@ function prioritizedGuardValue() {
3355
3372
  }), filter((item) => item !== INITIAL_VALUE), take(1));
3356
3373
  });
3357
3374
  }
3375
+ function isRedirect(val) {
3376
+ return isUrlTree(val) || val instanceof RedirectCommand;
3377
+ }
3358
3378
 
3359
3379
  function checkGuards(injector, forwardEvent) {
3360
3380
  return mergeMap((t) => {
@@ -3477,7 +3497,7 @@ function runCanLoadGuards(injector, route, segments, urlSerializer) {
3477
3497
  }
3478
3498
  function redirectIfUrlTree(urlSerializer) {
3479
3499
  return pipe(tap((result) => {
3480
- if (!isUrlTree(result))
3500
+ if (typeof result === 'boolean')
3481
3501
  return;
3482
3502
  throw redirectingNavigationError(urlSerializer, result);
3483
3503
  }), map((result) => result === true));
@@ -4174,10 +4194,10 @@ class TitleStrategy {
4174
4194
  getResolvedTitleForRoute(snapshot) {
4175
4195
  return snapshot.data[RouteTitleKey];
4176
4196
  }
4177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4178
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4198
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
4179
4199
  }
4180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleStrategy, decorators: [{
4200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: TitleStrategy, decorators: [{
4181
4201
  type: Injectable,
4182
4202
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4183
4203
  }] });
@@ -4200,10 +4220,10 @@ class DefaultTitleStrategy extends TitleStrategy {
4200
4220
  this.title.setTitle(title);
4201
4221
  }
4202
4222
  }
4203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4204
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
4224
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
4205
4225
  }
4206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4207
4227
  type: Injectable,
4208
4228
  args: [{ providedIn: 'root' }]
4209
4229
  }], ctorParameters: () => [{ type: i1.Title }] });
@@ -4279,10 +4299,10 @@ class RouterConfigLoader {
4279
4299
  this.childrenLoaders.set(route, loader);
4280
4300
  return loader;
4281
4301
  }
4282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4283
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4302
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4303
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
4284
4304
  }
4285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterConfigLoader, decorators: [{
4305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterConfigLoader, decorators: [{
4286
4306
  type: Injectable,
4287
4307
  args: [{ providedIn: 'root' }]
4288
4308
  }] });
@@ -4349,10 +4369,10 @@ function maybeUnwrapDefaultExport(input) {
4349
4369
  * @publicApi
4350
4370
  */
4351
4371
  class UrlHandlingStrategy {
4352
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4353
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4373
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
4354
4374
  }
4355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4356
4376
  type: Injectable,
4357
4377
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
4358
4378
  }] });
@@ -4369,10 +4389,10 @@ class DefaultUrlHandlingStrategy {
4369
4389
  merge(newUrlPart, wholeUrl) {
4370
4390
  return newUrlPart;
4371
4391
  }
4372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4373
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4393
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
4374
4394
  }
4375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4376
4396
  type: Injectable,
4377
4397
  args: [{ providedIn: 'root' }]
4378
4398
  }] });
@@ -4615,7 +4635,7 @@ class NavigationTransitions {
4615
4635
  return overallTransitionState;
4616
4636
  }), checkGuards(this.environmentInjector, (evt) => this.events.next(evt)), tap((t) => {
4617
4637
  overallTransitionState.guardsResult = t.guardsResult;
4618
- if (isUrlTree(t.guardsResult)) {
4638
+ if (t.guardsResult && typeof t.guardsResult !== 'boolean') {
4619
4639
  throw redirectingNavigationError(this.urlSerializer, t.guardsResult);
4620
4640
  }
4621
4641
  const guardsEnd = new GuardsCheckEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot, !!t.guardsResult);
@@ -4738,7 +4758,7 @@ class NavigationTransitions {
4738
4758
  overallTransitionState.resolve(false);
4739
4759
  }
4740
4760
  else {
4741
- this.events.next(new RedirectRequest(e.url));
4761
+ this.events.next(new RedirectRequest(e.url, e.navigationBehaviorOptions));
4742
4762
  }
4743
4763
  /* All other errors should reset to the router's internal URL reference
4744
4764
  * to the pre-error state. */
@@ -4803,10 +4823,10 @@ class NavigationTransitions {
4803
4823
  return (extractedBrowserUrl.toString() !== this.currentTransition?.extractedUrl.toString() &&
4804
4824
  !this.currentTransition?.extras.skipLocationChange);
4805
4825
  }
4806
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4807
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4827
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
4808
4828
  }
4809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NavigationTransitions, decorators: [{
4829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: NavigationTransitions, decorators: [{
4810
4830
  type: Injectable,
4811
4831
  args: [{ providedIn: 'root' }]
4812
4832
  }], ctorParameters: () => [] });
@@ -4822,10 +4842,10 @@ function isBrowserTriggeredNavigation(source) {
4822
4842
  * @publicApi
4823
4843
  */
4824
4844
  class RouteReuseStrategy {
4825
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4826
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4845
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4846
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
4827
4847
  }
4828
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4829
4849
  type: Injectable,
4830
4850
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4831
4851
  }] });
@@ -4876,19 +4896,19 @@ class BaseRouteReuseStrategy {
4876
4896
  }
4877
4897
  }
4878
4898
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
4879
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4880
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4900
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
4881
4901
  }
4882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4883
4903
  type: Injectable,
4884
4904
  args: [{ providedIn: 'root' }]
4885
4905
  }] });
4886
4906
 
4887
4907
  class StateManager {
4888
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4889
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4908
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4909
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) }); }
4890
4910
  }
4891
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: StateManager, decorators: [{
4911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: StateManager, decorators: [{
4892
4912
  type: Injectable,
4893
4913
  args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
4894
4914
  }] });
@@ -5063,10 +5083,10 @@ class HistoryStateManager extends StateManager {
5063
5083
  }
5064
5084
  return { navigationId };
5065
5085
  }
5066
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5067
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5086
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5087
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: HistoryStateManager, providedIn: 'root' }); }
5068
5088
  }
5069
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HistoryStateManager, decorators: [{
5089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: HistoryStateManager, decorators: [{
5070
5090
  type: Injectable,
5071
5091
  args: [{ providedIn: 'root' }]
5072
5092
  }] });
@@ -5251,6 +5271,7 @@ class Router {
5251
5271
  this.navigated = true;
5252
5272
  }
5253
5273
  else if (e instanceof RedirectRequest) {
5274
+ const opts = e.navigationBehaviorOptions;
5254
5275
  const mergedTree = this.urlHandlingStrategy.merge(e.url, currentTransition.currentRawUrl);
5255
5276
  const extras = {
5256
5277
  // Persist transient navigation info from the original navigation request.
@@ -5262,6 +5283,8 @@ class Router {
5262
5283
  // if the navigation is rejected.
5263
5284
  replaceUrl: this.urlUpdateStrategy === 'eager' ||
5264
5285
  isBrowserTriggeredNavigation(currentTransition.source),
5286
+ // allow developer to override default options with RedirectCommand
5287
+ ...opts,
5265
5288
  };
5266
5289
  this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras, {
5267
5290
  resolve: currentTransition.resolve,
@@ -5642,10 +5665,10 @@ class Router {
5642
5665
  return Promise.reject(e);
5643
5666
  });
5644
5667
  }
5645
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5646
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: Router, providedIn: 'root' }); }
5668
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5669
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: Router, providedIn: 'root' }); }
5647
5670
  }
5648
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: Router, decorators: [{
5671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: Router, decorators: [{
5649
5672
  type: Injectable,
5650
5673
  args: [{ providedIn: 'root' }]
5651
5674
  }], ctorParameters: () => [] });
@@ -5920,10 +5943,10 @@ class RouterLink {
5920
5943
  preserveFragment: this.preserveFragment,
5921
5944
  });
5922
5945
  }
5923
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.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 }); }
5924
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.0", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", info: "info", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 }); }
5946
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.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 }); }
5947
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-next.0", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", info: "info", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 }); }
5925
5948
  }
5926
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterLink, decorators: [{
5949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterLink, decorators: [{
5927
5950
  type: Directive,
5928
5951
  args: [{
5929
5952
  selector: '[routerLink]',
@@ -6160,10 +6183,10 @@ class RouterLinkActive {
6160
6183
  const isActiveCheckFn = this.isLinkActive(this.router);
6161
6184
  return (this.link && isActiveCheckFn(this.link)) || this.links.some(isActiveCheckFn);
6162
6185
  }
6163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.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 }); }
6164
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.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 }); }
6186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.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 }); }
6187
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.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 }); }
6165
6188
  }
6166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterLinkActive, decorators: [{
6189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterLinkActive, decorators: [{
6167
6190
  type: Directive,
6168
6191
  args: [{
6169
6192
  selector: '[routerLinkActive]',
@@ -6215,10 +6238,10 @@ class PreloadAllModules {
6215
6238
  preload(route, fn) {
6216
6239
  return fn().pipe(catchError(() => of(null)));
6217
6240
  }
6218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6219
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6241
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6242
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
6220
6243
  }
6221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PreloadAllModules, decorators: [{
6244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: PreloadAllModules, decorators: [{
6222
6245
  type: Injectable,
6223
6246
  args: [{ providedIn: 'root' }]
6224
6247
  }] });
@@ -6235,10 +6258,10 @@ class NoPreloading {
6235
6258
  preload(route, fn) {
6236
6259
  return of(null);
6237
6260
  }
6238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6239
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6262
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
6240
6263
  }
6241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NoPreloading, decorators: [{
6264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: NoPreloading, decorators: [{
6242
6265
  type: Injectable,
6243
6266
  args: [{ providedIn: 'root' }]
6244
6267
  }] });
@@ -6329,10 +6352,10 @@ class RouterPreloader {
6329
6352
  }
6330
6353
  });
6331
6354
  }
6332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6333
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
6356
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
6334
6357
  }
6335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterPreloader, decorators: [{
6358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterPreloader, decorators: [{
6336
6359
  type: Injectable,
6337
6360
  args: [{ providedIn: 'root' }]
6338
6361
  }], ctorParameters: () => [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }] });
@@ -6425,10 +6448,10 @@ class RouterScroller {
6425
6448
  this.routerEventsSubscription?.unsubscribe();
6426
6449
  this.scrollEventsSubscription?.unsubscribe();
6427
6450
  }
6428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6429
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterScroller }); }
6451
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
6452
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterScroller }); }
6430
6453
  }
6431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterScroller, decorators: [{
6454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterScroller, decorators: [{
6432
6455
  type: Injectable
6433
6456
  }], ctorParameters: () => [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }] });
6434
6457
 
@@ -7078,11 +7101,11 @@ class RouterModule {
7078
7101
  providers: [{ provide: ROUTES, multi: true, useValue: routes }],
7079
7102
  };
7080
7103
  }
7081
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
7082
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
7083
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterModule }); }
7104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
7105
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
7106
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterModule }); }
7084
7107
  }
7085
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RouterModule, decorators: [{
7108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.0", ngImport: i0, type: RouterModule, decorators: [{
7086
7109
  type: NgModule,
7087
7110
  args: [{
7088
7111
  imports: ROUTER_DIRECTIVES,
@@ -7227,7 +7250,7 @@ function mapToResolve(provider) {
7227
7250
  /**
7228
7251
  * @publicApi
7229
7252
  */
7230
- const VERSION = new Version('17.3.0');
7253
+ const VERSION = new Version('18.0.0-next.0');
7231
7254
 
7232
7255
  /**
7233
7256
  * @module
@@ -7242,5 +7265,5 @@ const VERSION = new Version('17.3.0');
7242
7265
  * Generated bundle index. Do not edit.
7243
7266
  */
7244
7267
 
7245
- export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, 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, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren };
7268
+ export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTES, RedirectCommand, 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, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren };
7246
7269
  //# sourceMappingURL=router.mjs.map