@angular/router 17.0.0-next.7 → 17.0.0-next.8
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.
- package/esm2022/src/components/empty_outlet.mjs +3 -3
- package/esm2022/src/directives/router_link.mjs +3 -3
- package/esm2022/src/directives/router_link_active.mjs +3 -3
- package/esm2022/src/directives/router_outlet.mjs +6 -6
- package/esm2022/src/index.mjs +1 -1
- package/esm2022/src/navigation_transition.mjs +6 -5
- package/esm2022/src/page_title_strategy.mjs +6 -6
- package/esm2022/src/provide_router.mjs +3 -3
- package/esm2022/src/route_reuse_strategy.mjs +6 -6
- package/esm2022/src/router.mjs +13 -16
- package/esm2022/src/router_config_loader.mjs +3 -3
- package/esm2022/src/router_module.mjs +4 -4
- package/esm2022/src/router_outlet_context.mjs +3 -3
- package/esm2022/src/router_preloader.mjs +9 -9
- package/esm2022/src/router_scroller.mjs +3 -3
- package/esm2022/src/router_state.mjs +2 -2
- package/esm2022/src/state_manager.mjs +16 -5
- package/esm2022/src/url_handling_strategy.mjs +6 -6
- package/esm2022/src/url_tree.mjs +3 -3
- package/esm2022/src/utils/view_transition.mjs +12 -4
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/router_testing_harness.mjs +6 -6
- package/esm2022/testing/src/router_testing_module.mjs +4 -4
- package/fesm2022/router.mjs +106 -89
- package/fesm2022/router.mjs.map +1 -1
- package/fesm2022/testing.mjs +11 -11
- package/fesm2022/upgrade.mjs +1 -1
- package/index.d.ts +51 -5
- package/package.json +4 -4
- package/testing/index.d.ts +1 -1
- package/upgrade/index.d.ts +1 -1
package/fesm2022/router.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v17.0.0-next.
|
|
2
|
+
* @license Angular v17.0.0-next.8
|
|
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 { ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, InjectionToken, reflectComponentType, Component, createEnvironmentInjector, ɵisNgModule, isStandalone, ɵisInjectable, Compiler, NgModuleFactory, NgZone, afterNextRender, ɵConsole, ɵInitialRenderPendingTasks, ɵɵsanitizeUrlOrResourceUrl, booleanAttribute, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, InjectFlags, APP_INITIALIZER, NgProbeToken, SkipSelf, NgModule, Inject, Version } from '@angular/core';
|
|
8
|
+
import { ɵisPromise, ɵRuntimeError, Injectable, EventEmitter, inject, ViewContainerRef, ChangeDetectorRef, EnvironmentInjector, Directive, Input, Output, InjectionToken, reflectComponentType, Component, createEnvironmentInjector, ɵisNgModule, isStandalone, ɵisInjectable, Compiler, NgModuleFactory, NgZone, runInInjectionContext, afterNextRender, ɵConsole, ɵInitialRenderPendingTasks, ɵɵsanitizeUrlOrResourceUrl, booleanAttribute, Attribute, HostBinding, HostListener, Optional, ContentChildren, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, Injector, ApplicationRef, InjectFlags, APP_INITIALIZER, NgProbeToken, SkipSelf, NgModule, Inject, Version } from '@angular/core';
|
|
9
9
|
import { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, concat, defer, pipe, throwError, EMPTY, ConnectableObservable, Subject, Subscription } from 'rxjs';
|
|
10
10
|
import * as i3 from '@angular/common';
|
|
11
11
|
import { DOCUMENT, Location, ViewportScroller, LOCATION_INITIALIZED, LocationStrategy, HashLocationStrategy, PathLocationStrategy } from '@angular/common';
|
|
@@ -425,10 +425,10 @@ function mapChildrenIntoArray(segment, fn) {
|
|
|
425
425
|
* @publicApi
|
|
426
426
|
*/
|
|
427
427
|
class UrlSerializer {
|
|
428
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
429
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
428
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
429
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }); }
|
|
430
430
|
}
|
|
431
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: UrlSerializer, decorators: [{
|
|
432
432
|
type: Injectable,
|
|
433
433
|
args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
|
|
434
434
|
}] });
|
|
@@ -1785,10 +1785,10 @@ class ChildrenOutletContexts {
|
|
|
1785
1785
|
getContext(childName) {
|
|
1786
1786
|
return this.contexts.get(childName) || null;
|
|
1787
1787
|
}
|
|
1788
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
1789
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
1788
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1789
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' }); }
|
|
1790
1790
|
}
|
|
1791
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
1791
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
|
|
1792
1792
|
type: Injectable,
|
|
1793
1793
|
args: [{ providedIn: 'root' }]
|
|
1794
1794
|
}] });
|
|
@@ -2063,7 +2063,7 @@ function inheritedParamsDataResolve(route, paramsInheritanceStrategy = 'emptyOnl
|
|
|
2063
2063
|
inheritingStartingFrom--;
|
|
2064
2064
|
// parent is componentless => current route should inherit its params and data
|
|
2065
2065
|
}
|
|
2066
|
-
else if (!parent.component) {
|
|
2066
|
+
else if (!parent.component && parent.routeConfig?.loadComponent === undefined) {
|
|
2067
2067
|
inheritingStartingFrom--;
|
|
2068
2068
|
}
|
|
2069
2069
|
else {
|
|
@@ -2495,10 +2495,10 @@ class RouterOutlet {
|
|
|
2495
2495
|
this.inputBinder?.bindActivatedRouteToOutletComponent(this);
|
|
2496
2496
|
this.activateEvents.emit(this.activated.instance);
|
|
2497
2497
|
}
|
|
2498
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2499
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.
|
|
2498
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2499
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.8", 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 }); }
|
|
2500
2500
|
}
|
|
2501
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterOutlet, decorators: [{
|
|
2502
2502
|
type: Directive,
|
|
2503
2503
|
args: [{
|
|
2504
2504
|
selector: 'router-outlet',
|
|
@@ -2601,10 +2601,10 @@ class RoutedComponentInputBinder {
|
|
|
2601
2601
|
});
|
|
2602
2602
|
this.outletDataSubscriptions.set(outlet, dataSubscription);
|
|
2603
2603
|
}
|
|
2604
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2605
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2604
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2605
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RoutedComponentInputBinder }); }
|
|
2606
2606
|
}
|
|
2607
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2607
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
|
|
2608
2608
|
type: Injectable
|
|
2609
2609
|
}] });
|
|
2610
2610
|
|
|
@@ -2684,10 +2684,10 @@ function isNavigationCancelingError$1(error) {
|
|
|
2684
2684
|
* to this `EmptyOutletComponent`.
|
|
2685
2685
|
*/
|
|
2686
2686
|
class ɵEmptyOutletComponent {
|
|
2687
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2688
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.
|
|
2687
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2688
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.8", 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"] }] }); }
|
|
2689
2689
|
}
|
|
2690
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
2690
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
|
|
2691
2691
|
type: Component,
|
|
2692
2692
|
args: [{
|
|
2693
2693
|
template: `<router-outlet></router-outlet>`,
|
|
@@ -4098,10 +4098,10 @@ class TitleStrategy {
|
|
|
4098
4098
|
getResolvedTitleForRoute(snapshot) {
|
|
4099
4099
|
return snapshot.data[RouteTitleKey];
|
|
4100
4100
|
}
|
|
4101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4102
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4102
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }); }
|
|
4103
4103
|
}
|
|
4104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: TitleStrategy, decorators: [{
|
|
4105
4105
|
type: Injectable,
|
|
4106
4106
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
|
|
4107
4107
|
}] });
|
|
@@ -4124,10 +4124,10 @@ class DefaultTitleStrategy extends TitleStrategy {
|
|
|
4124
4124
|
this.title.setTitle(title);
|
|
4125
4125
|
}
|
|
4126
4126
|
}
|
|
4127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4128
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4128
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' }); }
|
|
4129
4129
|
}
|
|
4130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
|
|
4131
4131
|
type: Injectable,
|
|
4132
4132
|
args: [{ providedIn: 'root' }]
|
|
4133
4133
|
}], ctorParameters: () => [{ type: i1.Title }] });
|
|
@@ -4205,10 +4205,10 @@ class RouterConfigLoader {
|
|
|
4205
4205
|
this.childrenLoaders.set(route, loader);
|
|
4206
4206
|
return loader;
|
|
4207
4207
|
}
|
|
4208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4209
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4209
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' }); }
|
|
4210
4210
|
}
|
|
4211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterConfigLoader, decorators: [{
|
|
4212
4212
|
type: Injectable,
|
|
4213
4213
|
args: [{ providedIn: 'root' }]
|
|
4214
4214
|
}] });
|
|
@@ -4276,10 +4276,10 @@ function maybeUnwrapDefaultExport(input) {
|
|
|
4276
4276
|
* @publicApi
|
|
4277
4277
|
*/
|
|
4278
4278
|
class UrlHandlingStrategy {
|
|
4279
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4280
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4279
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4280
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }); }
|
|
4281
4281
|
}
|
|
4282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
|
|
4283
4283
|
type: Injectable,
|
|
4284
4284
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
|
|
4285
4285
|
}] });
|
|
@@ -4296,10 +4296,10 @@ class DefaultUrlHandlingStrategy {
|
|
|
4296
4296
|
merge(newUrlPart, wholeUrl) {
|
|
4297
4297
|
return newUrlPart;
|
|
4298
4298
|
}
|
|
4299
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4300
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4299
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4300
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' }); }
|
|
4301
4301
|
}
|
|
4302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
|
|
4303
4303
|
type: Injectable,
|
|
4304
4304
|
args: [{ providedIn: 'root' }]
|
|
4305
4305
|
}] });
|
|
@@ -4313,7 +4313,7 @@ const VIEW_TRANSITION_OPTIONS = new InjectionToken(ngDevMode ? 'view transition
|
|
|
4313
4313
|
*
|
|
4314
4314
|
* @returns A Promise that resolves when the view transition callback begins.
|
|
4315
4315
|
*/
|
|
4316
|
-
function createViewTransition(injector) {
|
|
4316
|
+
function createViewTransition(injector, from, to) {
|
|
4317
4317
|
const transitionOptions = injector.get(VIEW_TRANSITION_OPTIONS);
|
|
4318
4318
|
const document = injector.get(DOCUMENT);
|
|
4319
4319
|
// Create promises outside the Angular zone to avoid causing extra change detections
|
|
@@ -4326,10 +4326,18 @@ function createViewTransition(injector) {
|
|
|
4326
4326
|
const viewTransitionStarted = new Promise((resolve) => {
|
|
4327
4327
|
resolveViewTransitionStarted = resolve;
|
|
4328
4328
|
});
|
|
4329
|
-
document.startViewTransition(() => {
|
|
4329
|
+
const transition = document.startViewTransition(() => {
|
|
4330
4330
|
resolveViewTransitionStarted();
|
|
4331
|
+
// We don't actually update dom within the transition callback. The resolving of the above
|
|
4332
|
+
// promise unblocks the Router navigation, which synchronously activates and deactivates
|
|
4333
|
+
// routes (the DOM update). This view transition waits for the next change detection to
|
|
4334
|
+
// complete (below), which includes the update phase of the routed components.
|
|
4331
4335
|
return createRenderPromise(injector);
|
|
4332
4336
|
});
|
|
4337
|
+
const { onViewTransitionCreated } = transitionOptions;
|
|
4338
|
+
if (onViewTransitionCreated) {
|
|
4339
|
+
runInInjectionContext(injector, () => onViewTransitionCreated({ transition, from, to }));
|
|
4340
|
+
}
|
|
4333
4341
|
return viewTransitionStarted;
|
|
4334
4342
|
});
|
|
4335
4343
|
}
|
|
@@ -4578,7 +4586,8 @@ class NavigationTransitions {
|
|
|
4578
4586
|
return combineLatest(loadComponents(t.targetSnapshot.root))
|
|
4579
4587
|
.pipe(defaultIfEmpty(), take(1));
|
|
4580
4588
|
}), switchTap(() => this.afterPreactivation()), switchMap(() => {
|
|
4581
|
-
const
|
|
4589
|
+
const { currentSnapshot, targetSnapshot } = overallTransitionState;
|
|
4590
|
+
const viewTransitionStarted = this.createViewTransition?.(this.environmentInjector, currentSnapshot.root, targetSnapshot.root);
|
|
4582
4591
|
// If view transitions are enabled, block the navigation until the view
|
|
4583
4592
|
// transition callback starts. Otherwise, continue immediately.
|
|
4584
4593
|
return viewTransitionStarted ?
|
|
@@ -4699,10 +4708,10 @@ class NavigationTransitions {
|
|
|
4699
4708
|
return extractedBrowserUrl.toString() !== this.currentTransition?.extractedUrl.toString() &&
|
|
4700
4709
|
!this.currentTransition?.extras.skipLocationChange;
|
|
4701
4710
|
}
|
|
4702
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4703
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4711
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4712
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: NavigationTransitions, providedIn: 'root' }); }
|
|
4704
4713
|
}
|
|
4705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4714
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: NavigationTransitions, decorators: [{
|
|
4706
4715
|
type: Injectable,
|
|
4707
4716
|
args: [{ providedIn: 'root' }]
|
|
4708
4717
|
}], ctorParameters: () => [] });
|
|
@@ -4718,10 +4727,10 @@ function isBrowserTriggeredNavigation(source) {
|
|
|
4718
4727
|
* @publicApi
|
|
4719
4728
|
*/
|
|
4720
4729
|
class RouteReuseStrategy {
|
|
4721
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4722
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4730
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4731
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }); }
|
|
4723
4732
|
}
|
|
4724
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouteReuseStrategy, decorators: [{
|
|
4725
4734
|
type: Injectable,
|
|
4726
4735
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
|
|
4727
4736
|
}] });
|
|
@@ -4772,10 +4781,10 @@ class BaseRouteReuseStrategy {
|
|
|
4772
4781
|
}
|
|
4773
4782
|
}
|
|
4774
4783
|
class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
|
|
4775
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4776
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4784
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4785
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' }); }
|
|
4777
4786
|
}
|
|
4778
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4787
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
|
|
4779
4788
|
type: Injectable,
|
|
4780
4789
|
args: [{ providedIn: 'root' }]
|
|
4781
4790
|
}] });
|
|
@@ -4838,6 +4847,10 @@ class StateManager {
|
|
|
4838
4847
|
this.routerState = createEmptyState(this.currentUrlTree, null);
|
|
4839
4848
|
this.stateMemento = this.createStateMemento();
|
|
4840
4849
|
}
|
|
4850
|
+
/** Returns the current state from the browser. */
|
|
4851
|
+
restoredState() {
|
|
4852
|
+
return this.location.getState();
|
|
4853
|
+
}
|
|
4841
4854
|
/**
|
|
4842
4855
|
* The ɵrouterPageId of whatever page is currently active in the browser history. This is
|
|
4843
4856
|
* important for computing the target page id for new navigations because we need to ensure each
|
|
@@ -4847,7 +4860,7 @@ class StateManager {
|
|
|
4847
4860
|
if (this.canceledNavigationResolution !== 'computed') {
|
|
4848
4861
|
return this.currentPageId;
|
|
4849
4862
|
}
|
|
4850
|
-
return this.
|
|
4863
|
+
return this.restoredState()?.ɵrouterPageId ?? this.currentPageId;
|
|
4851
4864
|
}
|
|
4852
4865
|
createStateMemento() {
|
|
4853
4866
|
return {
|
|
@@ -4856,6 +4869,13 @@ class StateManager {
|
|
|
4856
4869
|
routerState: this.routerState,
|
|
4857
4870
|
};
|
|
4858
4871
|
}
|
|
4872
|
+
nonRouterCurrentEntryChange(listener) {
|
|
4873
|
+
return this.location.subscribe(event => {
|
|
4874
|
+
if (event['type'] === 'popstate') {
|
|
4875
|
+
listener(event['url'], event.state);
|
|
4876
|
+
}
|
|
4877
|
+
});
|
|
4878
|
+
}
|
|
4859
4879
|
handleNavigationEvent(e, currentTransition) {
|
|
4860
4880
|
if (e instanceof NavigationStart) {
|
|
4861
4881
|
this.stateMemento = this.createStateMemento();
|
|
@@ -4969,10 +4989,10 @@ class StateManager {
|
|
|
4969
4989
|
}
|
|
4970
4990
|
return { navigationId };
|
|
4971
4991
|
}
|
|
4972
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4973
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4992
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4993
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: StateManager, providedIn: 'root' }); }
|
|
4974
4994
|
}
|
|
4975
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
4995
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: StateManager, decorators: [{
|
|
4976
4996
|
type: Injectable,
|
|
4977
4997
|
args: [{ providedIn: 'root' }]
|
|
4978
4998
|
}] });
|
|
@@ -5196,8 +5216,7 @@ class Router {
|
|
|
5196
5216
|
initialNavigation() {
|
|
5197
5217
|
this.setUpLocationChangeListener();
|
|
5198
5218
|
if (!this.navigationTransitions.hasRequestedNavigation) {
|
|
5199
|
-
|
|
5200
|
-
this.navigateToSyncWithBrowser(this.location.path(true), IMPERATIVE_NAVIGATION, state);
|
|
5219
|
+
this.navigateToSyncWithBrowser(this.location.path(true), IMPERATIVE_NAVIGATION, this.stateManager.restoredState());
|
|
5201
5220
|
}
|
|
5202
5221
|
}
|
|
5203
5222
|
/**
|
|
@@ -5209,17 +5228,15 @@ class Router {
|
|
|
5209
5228
|
// Don't need to use Zone.wrap any more, because zone.js
|
|
5210
5229
|
// already patch onPopState, so location change callback will
|
|
5211
5230
|
// run into ngZone
|
|
5212
|
-
if (!this.
|
|
5213
|
-
this.
|
|
5214
|
-
|
|
5215
|
-
if (source === 'popstate') {
|
|
5231
|
+
if (!this.nonRouterCurrentEntryChangeSubscription) {
|
|
5232
|
+
this.nonRouterCurrentEntryChangeSubscription =
|
|
5233
|
+
this.stateManager.nonRouterCurrentEntryChange((url, state) => {
|
|
5216
5234
|
// The `setTimeout` was added in #12160 and is likely to support Angular/AngularJS
|
|
5217
5235
|
// hybrid apps.
|
|
5218
5236
|
setTimeout(() => {
|
|
5219
|
-
this.navigateToSyncWithBrowser(
|
|
5237
|
+
this.navigateToSyncWithBrowser(url, 'popstate', state);
|
|
5220
5238
|
}, 0);
|
|
5221
|
-
}
|
|
5222
|
-
});
|
|
5239
|
+
});
|
|
5223
5240
|
}
|
|
5224
5241
|
}
|
|
5225
5242
|
/**
|
|
@@ -5298,9 +5315,9 @@ class Router {
|
|
|
5298
5315
|
/** Disposes of the router. */
|
|
5299
5316
|
dispose() {
|
|
5300
5317
|
this.navigationTransitions.complete();
|
|
5301
|
-
if (this.
|
|
5302
|
-
this.
|
|
5303
|
-
this.
|
|
5318
|
+
if (this.nonRouterCurrentEntryChangeSubscription) {
|
|
5319
|
+
this.nonRouterCurrentEntryChangeSubscription.unsubscribe();
|
|
5320
|
+
this.nonRouterCurrentEntryChangeSubscription = undefined;
|
|
5304
5321
|
}
|
|
5305
5322
|
this.disposed = true;
|
|
5306
5323
|
this.eventsSubscription.unsubscribe();
|
|
@@ -5548,10 +5565,10 @@ class Router {
|
|
|
5548
5565
|
return Promise.reject(e);
|
|
5549
5566
|
});
|
|
5550
5567
|
}
|
|
5551
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
5552
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
5568
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5569
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Router, providedIn: 'root' }); }
|
|
5553
5570
|
}
|
|
5554
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
5571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Router, decorators: [{
|
|
5555
5572
|
type: Injectable,
|
|
5556
5573
|
args: [{ providedIn: 'root' }]
|
|
5557
5574
|
}], ctorParameters: () => [] });
|
|
@@ -5822,10 +5839,10 @@ class RouterLink {
|
|
|
5822
5839
|
preserveFragment: this.preserveFragment,
|
|
5823
5840
|
});
|
|
5824
5841
|
}
|
|
5825
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
5826
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-next.
|
|
5842
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", 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 }); }
|
|
5843
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-next.8", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", 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 }); }
|
|
5827
5844
|
}
|
|
5828
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
5845
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterLink, decorators: [{
|
|
5829
5846
|
type: Directive,
|
|
5830
5847
|
args: [{
|
|
5831
5848
|
selector: '[routerLink]',
|
|
@@ -6048,10 +6065,10 @@ class RouterLinkActive {
|
|
|
6048
6065
|
const isActiveCheckFn = this.isLinkActive(this.router);
|
|
6049
6066
|
return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
|
|
6050
6067
|
}
|
|
6051
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6052
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.
|
|
6068
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6069
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.8", 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 }); }
|
|
6053
6070
|
}
|
|
6054
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6071
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterLinkActive, decorators: [{
|
|
6055
6072
|
type: Directive,
|
|
6056
6073
|
args: [{
|
|
6057
6074
|
selector: '[routerLinkActive]',
|
|
@@ -6103,10 +6120,10 @@ class PreloadAllModules {
|
|
|
6103
6120
|
preload(route, fn) {
|
|
6104
6121
|
return fn().pipe(catchError(() => of(null)));
|
|
6105
6122
|
}
|
|
6106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6107
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6124
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: PreloadAllModules, providedIn: 'root' }); }
|
|
6108
6125
|
}
|
|
6109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: PreloadAllModules, decorators: [{
|
|
6110
6127
|
type: Injectable,
|
|
6111
6128
|
args: [{ providedIn: 'root' }]
|
|
6112
6129
|
}] });
|
|
@@ -6123,10 +6140,10 @@ class NoPreloading {
|
|
|
6123
6140
|
preload(route, fn) {
|
|
6124
6141
|
return of(null);
|
|
6125
6142
|
}
|
|
6126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6127
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6144
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: NoPreloading, providedIn: 'root' }); }
|
|
6128
6145
|
}
|
|
6129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: NoPreloading, decorators: [{
|
|
6130
6147
|
type: Injectable,
|
|
6131
6148
|
args: [{ providedIn: 'root' }]
|
|
6132
6149
|
}] });
|
|
@@ -6219,10 +6236,10 @@ class RouterPreloader {
|
|
|
6219
6236
|
}
|
|
6220
6237
|
});
|
|
6221
6238
|
}
|
|
6222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6223
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6240
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterPreloader, providedIn: 'root' }); }
|
|
6224
6241
|
}
|
|
6225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterPreloader, decorators: [{
|
|
6226
6243
|
type: Injectable,
|
|
6227
6244
|
args: [{ providedIn: 'root' }]
|
|
6228
6245
|
}], ctorParameters: () => [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }] });
|
|
@@ -6315,10 +6332,10 @@ class RouterScroller {
|
|
|
6315
6332
|
this.routerEventsSubscription?.unsubscribe();
|
|
6316
6333
|
this.scrollEventsSubscription?.unsubscribe();
|
|
6317
6334
|
}
|
|
6318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6319
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6335
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6336
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterScroller }); }
|
|
6320
6337
|
}
|
|
6321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterScroller, decorators: [{
|
|
6322
6339
|
type: Injectable
|
|
6323
6340
|
}], ctorParameters: () => [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }] });
|
|
6324
6341
|
|
|
@@ -6734,7 +6751,7 @@ function withHashLocation() {
|
|
|
6734
6751
|
const providers = [
|
|
6735
6752
|
{ provide: LocationStrategy, useClass: HashLocationStrategy },
|
|
6736
6753
|
];
|
|
6737
|
-
return routerFeature(
|
|
6754
|
+
return routerFeature(6 /* RouterFeatureKind.RouterHashLocationFeature */, providers);
|
|
6738
6755
|
}
|
|
6739
6756
|
/**
|
|
6740
6757
|
* Subscribes to the Router's navigation events and calls the given function when a
|
|
@@ -6840,7 +6857,7 @@ function withViewTransitions(options) {
|
|
|
6840
6857
|
{ provide: CREATE_VIEW_TRANSITION, useValue: createViewTransition },
|
|
6841
6858
|
{
|
|
6842
6859
|
provide: VIEW_TRANSITION_OPTIONS,
|
|
6843
|
-
useValue: { skipNextTransition: !!options?.skipInitialTransition }
|
|
6860
|
+
useValue: { skipNextTransition: !!options?.skipInitialTransition, ...options }
|
|
6844
6861
|
},
|
|
6845
6862
|
];
|
|
6846
6863
|
return routerFeature(9 /* RouterFeatureKind.ViewTransitionsFeature */, providers);
|
|
@@ -6963,11 +6980,11 @@ class RouterModule {
|
|
|
6963
6980
|
providers: [{ provide: ROUTES, multi: true, useValue: routes }],
|
|
6964
6981
|
};
|
|
6965
6982
|
}
|
|
6966
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6967
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.
|
|
6968
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6983
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6984
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] }); }
|
|
6985
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterModule }); }
|
|
6969
6986
|
}
|
|
6970
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
|
6987
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: RouterModule, decorators: [{
|
|
6971
6988
|
type: NgModule,
|
|
6972
6989
|
args: [{
|
|
6973
6990
|
imports: ROUTER_DIRECTIVES,
|
|
@@ -7112,7 +7129,7 @@ function mapToResolve(provider) {
|
|
|
7112
7129
|
/**
|
|
7113
7130
|
* @publicApi
|
|
7114
7131
|
*/
|
|
7115
|
-
const VERSION = new Version('17.0.0-next.
|
|
7132
|
+
const VERSION = new Version('17.0.0-next.8');
|
|
7116
7133
|
|
|
7117
7134
|
/**
|
|
7118
7135
|
* @module
|