@angular/router 18.0.0-next.2 → 18.0.0-next.4

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/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 +9 -13
  5. package/esm2022/src/events.mjs +2 -2
  6. package/esm2022/src/models.mjs +2 -2
  7. package/esm2022/src/navigation_transition.mjs +16 -11
  8. package/esm2022/src/operators/activate_routes.mjs +2 -2
  9. package/esm2022/src/operators/resolve_data.mjs +7 -1
  10. package/esm2022/src/page_title_strategy.mjs +8 -8
  11. package/esm2022/src/provide_router.mjs +10 -19
  12. package/esm2022/src/route_reuse_strategy.mjs +6 -6
  13. package/esm2022/src/router.mjs +9 -9
  14. package/esm2022/src/router_config.mjs +2 -2
  15. package/esm2022/src/router_config_loader.mjs +5 -5
  16. package/esm2022/src/router_module.mjs +7 -7
  17. package/esm2022/src/router_outlet_context.mjs +13 -11
  18. package/esm2022/src/router_preloader.mjs +9 -9
  19. package/esm2022/src/router_scroller.mjs +3 -3
  20. package/esm2022/src/router_state.mjs +3 -3
  21. package/esm2022/src/statemanager/state_manager.mjs +6 -6
  22. package/esm2022/src/url_handling_strategy.mjs +6 -6
  23. package/esm2022/src/url_tree.mjs +3 -3
  24. package/esm2022/src/version.mjs +1 -1
  25. package/esm2022/testing/src/router_testing_harness.mjs +6 -6
  26. package/esm2022/testing/src/router_testing_module.mjs +4 -4
  27. package/fesm2022/router.mjs +118 -121
  28. package/fesm2022/router.mjs.map +1 -1
  29. package/fesm2022/testing.mjs +12 -12
  30. package/fesm2022/upgrade.mjs +2 -2
  31. package/index.d.ts +38 -34
  32. package/package.json +4 -4
  33. package/testing/index.d.ts +2 -2
  34. package/upgrade/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.2
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.4
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -59,16 +59,16 @@ class RouterTestingModule {
59
59
  ],
60
60
  };
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RouterTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
63
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.2", ngImport: i0, type: RouterTestingModule, exports: [RouterModule] }); }
64
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RouterTestingModule, providers: [
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RouterTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
63
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.4", ngImport: i0, type: RouterTestingModule, exports: [RouterModule] }); }
64
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RouterTestingModule, providers: [
65
65
  ɵROUTER_PROVIDERS,
66
66
  provideLocationMocks(),
67
67
  withPreloading(NoPreloading).ɵproviders,
68
68
  { provide: ROUTES, multi: true, useValue: [] },
69
69
  ], imports: [RouterModule] }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RouterTestingModule, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RouterTestingModule, decorators: [{
72
72
  type: NgModule,
73
73
  args: [{
74
74
  exports: [RouterModule],
@@ -97,18 +97,18 @@ class RootFixtureService {
97
97
  this.fixture.detectChanges();
98
98
  return this.fixture;
99
99
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RootFixtureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
101
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RootFixtureService, providedIn: 'root' }); }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RootFixtureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
101
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RootFixtureService, providedIn: 'root' }); }
102
102
  }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RootFixtureService, decorators: [{
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RootFixtureService, decorators: [{
104
104
  type: Injectable,
105
105
  args: [{ providedIn: 'root' }]
106
106
  }] });
107
107
  class RootCmp {
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RootCmp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.2", type: RootCmp, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "outlet", first: true, predicate: RouterOutlet, descendants: true }], 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"] }] }); }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RootCmp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.4", type: RootCmp, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "outlet", first: true, predicate: RouterOutlet, descendants: true }], 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"] }] }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: RootCmp, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: RootCmp, decorators: [{
112
112
  type: Component,
113
113
  args: [{
114
114
  standalone: true,
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.2
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.4
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.2
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.4
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -48,7 +48,7 @@ import { Version } from '@angular/core';
48
48
  * {@example router/activated-route/module.ts region="activated-route"
49
49
  * header="activated-route.component.ts"}
50
50
  *
51
- * @see [Getting route information](guide/router#getting-route-information)
51
+ * @see [Getting route information](guide/routing/common-router-tasks#getting-route-information)
52
52
  *
53
53
  * @publicApi
54
54
  */
@@ -690,7 +690,10 @@ export declare class ChildActivationStart {
690
690
  * @publicApi
691
691
  */
692
692
  export declare class ChildrenOutletContexts {
693
+ private parentInjector;
693
694
  private contexts;
695
+ /** @nodoc */
696
+ constructor(parentInjector: EnvironmentInjector);
694
697
  /** Called when a `RouterOutlet` directive is instantiated */
695
698
  onChildOutletCreated(childName: string, outlet: RouterOutletContract): void;
696
699
  /**
@@ -939,7 +942,7 @@ export declare type EnabledBlockingInitialNavigationFeature = RouterFeature<Rout
939
942
  *
940
943
  * * [NavigationStart](api/router/NavigationStart): Navigation starts.
941
944
  * * [RouteConfigLoadStart](api/router/RouteConfigLoadStart): Before
942
- * the router [lazy loads](/guide/router#lazy-loading) a route configuration.
945
+ * the router [lazy loads](guide/routing/common-router-tasks#lazy-loading) a route configuration.
943
946
  * * [RouteConfigLoadEnd](api/router/RouteConfigLoadEnd): After a route has been lazy loaded.
944
947
  * * [RoutesRecognized](api/router/RoutesRecognized): When the router parses the URL
945
948
  * and the routes are recognized.
@@ -1070,7 +1073,7 @@ export declare interface ExtraOptions extends InMemoryScrollingOptions, RouterCo
1070
1073
  /**
1071
1074
  * The supported types that can be returned from a `Router` guard.
1072
1075
  *
1073
- * @see [Routing tutorial](guide/router-tutorial-toh#milestone-5-route-guards)
1076
+ * @see [Routing guide](guide/routing/common-router-tasks#preventing-unauthorized-access)
1074
1077
  * @publicApi
1075
1078
  */
1076
1079
  export declare type GuardResult = boolean | UrlTree | RedirectCommand;
@@ -1500,7 +1503,7 @@ export declare interface Navigation {
1500
1503
  *
1501
1504
  * @see {@link Router#navigate}
1502
1505
  * @see {@link Router#navigateByUrl}
1503
- * @see [Routing and Navigation guide](guide/router)
1506
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
1504
1507
  *
1505
1508
  * @publicApi
1506
1509
  */
@@ -1729,7 +1732,7 @@ export declare type NavigationErrorHandlerFeature = RouterFeature<RouterFeatureK
1729
1732
  * @see {@link Router#navigate}
1730
1733
  * @see {@link Router#navigateByUrl}
1731
1734
  * @see {@link Router#createurltree}
1732
- * @see [Routing and Navigation guide](guide/router)
1735
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
1733
1736
  * @see {@link UrlCreationOptions}
1734
1737
  * @see {@link NavigationBehaviorOptions}
1735
1738
  *
@@ -1908,11 +1911,12 @@ export declare type OnSameUrlNavigation = 'reload' | 'ignore';
1908
1911
  * @publicApi
1909
1912
  */
1910
1913
  export declare class OutletContext {
1914
+ injector: EnvironmentInjector;
1911
1915
  outlet: RouterOutletContract | null;
1912
1916
  route: ActivatedRoute | null;
1913
- injector: EnvironmentInjector | null;
1914
1917
  children: ChildrenOutletContexts;
1915
1918
  attachRef: ComponentRef<any> | null;
1919
+ constructor(injector: EnvironmentInjector);
1916
1920
  }
1917
1921
 
1918
1922
  /**
@@ -2048,7 +2052,7 @@ export declare const PRIMARY_OUTLET = "primary";
2048
2052
  export declare function provideRouter(routes: Routes, ...features: RouterFeatures[]): EnvironmentProviders;
2049
2053
 
2050
2054
  /**
2051
- * Registers a [DI provider](guide/glossary#provider) for a set of routes.
2055
+ * Registers a DI provider for a set of routes.
2052
2056
  * @param routes The route configuration to provide.
2053
2057
  *
2054
2058
  * @usageNotes
@@ -2086,7 +2090,7 @@ export declare type QueryParamsHandling = 'merge' | 'preserve' | '';
2086
2090
  * navigation should go to and the optional `navigationBehaviorOptions` can provide more information
2087
2091
  * about _how_ to perform the navigation.
2088
2092
  *
2089
- * @see [Routing tutorial](guide/router-tutorial-toh#milestone-5-route-guards)
2093
+ * @see [Routing guide](guide/routing/common-router-tasks#preventing-unauthorized-access)
2090
2094
  * @publicApi
2091
2095
  */
2092
2096
  export declare class RedirectCommand {
@@ -2217,6 +2221,11 @@ export declare interface Resolve<T> {
2217
2221
  *
2218
2222
  * Represents the resolved data associated with a particular route.
2219
2223
  *
2224
+ * Returning a `RedirectCommand` directs the router to cancel the current navigation and redirect to
2225
+ * the location provided in the `RedirectCommand`. Note that there are no ordering guarantees when
2226
+ * resolvers execute. If multiple resolvers would return a `RedirectCommand`, only the first one
2227
+ * returned will be used.
2228
+ *
2220
2229
  * @see {@link Route#resolve}
2221
2230
  *
2222
2231
  * @publicApi
@@ -2290,7 +2299,7 @@ export declare class ResolveEnd extends RouterEvent {
2290
2299
  * @publicApi
2291
2300
  * @see {@link Route}
2292
2301
  */
2293
- export declare type ResolveFn<T> = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => MaybeAsync<T>;
2302
+ export declare type ResolveFn<T> = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => MaybeAsync<T | RedirectCommand>;
2294
2303
 
2295
2304
  /**
2296
2305
  * An event triggered at the start of the Resolve phase of routing.
@@ -2329,7 +2338,7 @@ export declare class ResolveStart extends RouterEvent {
2329
2338
  * Supports static, parameterized, redirect, and wildcard routes, as well as
2330
2339
  * custom route data and resolve methods.
2331
2340
  *
2332
- * For detailed usage information, see the [Routing Guide](guide/router).
2341
+ * For detailed usage information, see the [Routing Guide](guide/routing/common-router-tasks).
2333
2342
  *
2334
2343
  * @usageNotes
2335
2344
  *
@@ -2767,7 +2776,7 @@ declare class RoutedComponentInputBinder {
2767
2776
  * A service that provides navigation among views and URL manipulation capabilities.
2768
2777
  *
2769
2778
  * @see {@link Route}
2770
- * @see [Routing and Navigation Guide](guide/router).
2779
+ * @see [Routing and Navigation Guide](guide/routing/common-router-tasks).
2771
2780
  *
2772
2781
  * @ngModule RouterModule
2773
2782
  *
@@ -2964,7 +2973,7 @@ export declare class Router {
2964
2973
  * router.navigateByUrl("/team/33/user/11", { skipLocationChange: true });
2965
2974
  * ```
2966
2975
  *
2967
- * @see [Routing and Navigation guide](guide/router)
2976
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
2968
2977
  *
2969
2978
  */
2970
2979
  navigateByUrl(url: string | UrlTree, extras?: NavigationBehaviorOptions): Promise<boolean>;
@@ -2995,7 +3004,7 @@ export declare class Router {
2995
3004
  * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});
2996
3005
  * ```
2997
3006
  *
2998
- * @see [Routing and Navigation guide](guide/router)
3007
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
2999
3008
  *
3000
3009
  */
3001
3010
  navigate(commands: any[], extras?: NavigationExtras): Promise<boolean>;
@@ -3026,14 +3035,14 @@ export declare class Router {
3026
3035
  }
3027
3036
 
3028
3037
  /**
3029
- * A [DI token](guide/glossary/#di-token) for the router service.
3038
+ * A DI token for the router service.
3030
3039
  *
3031
3040
  * @publicApi
3032
3041
  */
3033
3042
  export declare const ROUTER_CONFIGURATION: InjectionToken<ExtraOptions>;
3034
3043
 
3035
3044
  /**
3036
- * A [DI token](guide/glossary/#di-token) for the router initializer that
3045
+ * A DI token for the router initializer that
3037
3046
  * is called after the app is bootstrapped.
3038
3047
  *
3039
3048
  * @publicApi
@@ -3181,7 +3190,7 @@ export declare abstract class RouteReuseStrategy {
3181
3190
  * ```
3182
3191
  *
3183
3192
  * @see {@link Event}
3184
- * @see [Router events summary](guide/router-reference#router-events)
3193
+ * @see [Router events summary](guide/routing/router-reference#router-events)
3185
3194
  * @publicApi
3186
3195
  */
3187
3196
  export declare class RouterEvent {
@@ -3610,7 +3619,7 @@ export declare class RouterLinkActive implements OnChanges, OnDestroy, AfterCont
3610
3619
  * * The `forChild()` method creates an `NgModule` that contains all the directives and the given
3611
3620
  * routes, but does not include the `Router` service.
3612
3621
  *
3613
- * @see [Routing and Navigation guide](guide/router) for an
3622
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks) for an
3614
3623
  * overview of how the `Router` service should be used.
3615
3624
  *
3616
3625
  * @publicApi
@@ -3701,8 +3710,6 @@ export declare class RouterModule {
3701
3710
  * (detach)='onDetach($event)'></router-outlet>
3702
3711
  * ```
3703
3712
  *
3704
- * @see [Routing tutorial](guide/router-tutorial-toh#named-outlets "Example of a named
3705
- * outlet and secondary route configuration").
3706
3713
  * @see {@link RouterLink}
3707
3714
  * @see {@link Route}
3708
3715
  * @ngModule RouterModule
@@ -3715,7 +3722,6 @@ export declare class RouterOutlet implements OnDestroy, OnInit, RouterOutletCont
3715
3722
  /**
3716
3723
  * The name of the outlet
3717
3724
  *
3718
- * @see [named outlets](guide/router-tutorial-toh#displaying-multiple-routes-in-named-outlets)
3719
3725
  */
3720
3726
  name: string;
3721
3727
  activateEvents: EventEmitter<any>;
@@ -3733,7 +3739,6 @@ export declare class RouterOutlet implements OnDestroy, OnInit, RouterOutletCont
3733
3739
  private parentContexts;
3734
3740
  private location;
3735
3741
  private changeDetector;
3736
- private environmentInjector;
3737
3742
  private inputBinder;
3738
3743
  /** @nodoc */
3739
3744
  readonly supportsBindingToComponentInputs = true;
@@ -3762,7 +3767,7 @@ export declare class RouterOutlet implements OnDestroy, OnInit, RouterOutletCont
3762
3767
  */
3763
3768
  attach(ref: ComponentRef<any>, activatedRoute: ActivatedRoute): void;
3764
3769
  deactivate(): void;
3765
- activateWith(activatedRoute: ActivatedRoute, environmentInjector?: EnvironmentInjector | null): void;
3770
+ activateWith(activatedRoute: ActivatedRoute, environmentInjector: EnvironmentInjector): void;
3766
3771
  static ɵfac: i0.ɵɵFactoryDeclaration<RouterOutlet, never>;
3767
3772
  static ɵdir: i0.ɵɵDirectiveDeclaration<RouterOutlet, "router-outlet", ["outlet"], { "name": { "alias": "name"; "required": false; }; }, { "activateEvents": "activate"; "deactivateEvents": "deactivate"; "attachEvents": "attach"; "detachEvents": "detach"; }, never, never, true, never>;
3768
3773
  }
@@ -3800,7 +3805,7 @@ export declare interface RouterOutletContract {
3800
3805
  /**
3801
3806
  * Called by the `Router` when the outlet should activate (create a component).
3802
3807
  */
3803
- activateWith(activatedRoute: ActivatedRoute, environmentInjector: EnvironmentInjector | null): void;
3808
+ activateWith(activatedRoute: ActivatedRoute, environmentInjector: EnvironmentInjector): void;
3804
3809
  /**
3805
3810
  * A request to destroy the currently activated component.
3806
3811
  *
@@ -3904,7 +3909,7 @@ export declare class RouterPreloader implements OnDestroy {
3904
3909
  * ```
3905
3910
  *
3906
3911
  * @see {@link ActivatedRoute}
3907
- * @see [Getting route information](guide/router#getting-route-information)
3912
+ * @see [Getting route information](guide/routing/common-router-tasks#getting-route-information)
3908
3913
  *
3909
3914
  * @publicApi
3910
3915
  */
@@ -3948,7 +3953,7 @@ export declare class RouterStateSnapshot extends Tree<ActivatedRouteSnapshot> {
3948
3953
  }
3949
3954
 
3950
3955
  /**
3951
- * The [DI token](guide/glossary/#di-token) for a router configuration.
3956
+ * The DI token for a router configuration.
3952
3957
  *
3953
3958
  * `ROUTES` is a low level API for router configuration via dependency injection.
3954
3959
  *
@@ -3966,7 +3971,7 @@ export declare const ROUTES: InjectionToken<Route[][]>;
3966
3971
  *
3967
3972
  * @see {@link Route}
3968
3973
  * @see {@link Router}
3969
- * @see [Router configuration guide](guide/router-reference#configuration)
3974
+ * @see [Router configuration guide](guide/routing/router-reference#configuration)
3970
3975
  * @publicApi
3971
3976
  */
3972
3977
  export declare type Routes = Route[];
@@ -4059,7 +4064,7 @@ export declare class Scroll {
4059
4064
  * incorporate titles in named outlets.
4060
4065
  *
4061
4066
  * @publicApi
4062
- * @see [Page title guide](guide/router#setting-the-page-title)
4067
+ * @see [Page title guide](guide/routing/common-router-tasks#setting-the-page-title)
4063
4068
  */
4064
4069
  export declare abstract class TitleStrategy {
4065
4070
  /** Performs the application title update. */
@@ -4099,7 +4104,7 @@ declare class TreeNode<T> {
4099
4104
  *
4100
4105
  * @see {@link Router#navigate}
4101
4106
  * @see {@link Router#createUrlTree}
4102
- * @see [Routing and Navigation guide](guide/router)
4107
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
4103
4108
  *
4104
4109
  * @publicApi
4105
4110
  */
@@ -4645,10 +4650,9 @@ export declare function withHashLocation(): RouterHashLocationFeature;
4645
4650
  export declare function withInMemoryScrolling(options?: InMemoryScrollingOptions): InMemoryScrollingFeature;
4646
4651
 
4647
4652
  /**
4648
- * Subscribes to the Router's navigation events and calls the given function when a
4649
- * `NavigationError` happens.
4653
+ * Provides a function which is called when a navigation error occurs.
4650
4654
  *
4651
- * This function is run inside application's [injection context](guide/dependency-injection-context)
4655
+ * This function is run inside application's [injection context](guide/di/dependency-injection-context)
4652
4656
  * so you can use the [`inject`](api/core/inject) function.
4653
4657
  *
4654
4658
  * @usageNotes
@@ -4674,7 +4678,7 @@ export declare function withInMemoryScrolling(options?: InMemoryScrollingOptions
4674
4678
  *
4675
4679
  * @publicApi
4676
4680
  */
4677
- export declare function withNavigationErrorHandler(fn: (error: NavigationError) => void): NavigationErrorHandlerFeature;
4681
+ export declare function withNavigationErrorHandler(handler: (error: NavigationError) => void): NavigationErrorHandlerFeature;
4678
4682
 
4679
4683
  /**
4680
4684
  * Allows to configure a preloading strategy to use. The strategy is configured by providing a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/router",
3
- "version": "18.0.0-next.2",
3
+ "version": "18.0.0-next.4",
4
4
  "description": "Angular - the routing library",
5
5
  "keywords": [
6
6
  "angular",
@@ -24,9 +24,9 @@
24
24
  "tslib": "^2.3.0"
25
25
  },
26
26
  "peerDependencies": {
27
- "@angular/core": "18.0.0-next.2",
28
- "@angular/common": "18.0.0-next.2",
29
- "@angular/platform-browser": "18.0.0-next.2",
27
+ "@angular/core": "18.0.0-next.4",
28
+ "@angular/common": "18.0.0-next.4",
29
+ "@angular/platform-browser": "18.0.0-next.4",
30
30
  "rxjs": "^6.5.3 || ^7.4.0"
31
31
  },
32
32
  "ng-update": {
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.2
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.4
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.2
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.4
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6