@angular/router 15.1.0-next.2 → 15.1.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2020/src/components/empty_outlet.mjs +3 -3
  2. package/esm2020/src/create_url_tree.mjs +2 -2
  3. package/esm2020/src/create_url_tree_strategy.mjs +67 -0
  4. package/esm2020/src/directives/router_link.mjs +3 -3
  5. package/esm2020/src/directives/router_link_active.mjs +11 -8
  6. package/esm2020/src/directives/router_outlet.mjs +3 -3
  7. package/esm2020/src/index.mjs +2 -2
  8. package/esm2020/src/navigation_transition.mjs +5 -5
  9. package/esm2020/src/page_title_strategy.mjs +6 -6
  10. package/esm2020/src/provide_router.mjs +32 -2
  11. package/esm2020/src/route_reuse_strategy.mjs +6 -6
  12. package/esm2020/src/router.mjs +8 -7
  13. package/esm2020/src/router_config_loader.mjs +5 -5
  14. package/esm2020/src/router_module.mjs +4 -4
  15. package/esm2020/src/router_outlet_context.mjs +3 -3
  16. package/esm2020/src/router_preloader.mjs +9 -9
  17. package/esm2020/src/router_scroller.mjs +3 -3
  18. package/esm2020/src/url_handling_strategy.mjs +6 -6
  19. package/esm2020/src/url_tree.mjs +4 -4
  20. package/esm2020/src/version.mjs +1 -1
  21. package/esm2020/testing/src/router_testing_module.mjs +4 -4
  22. package/fesm2015/router.mjs +177 -371
  23. package/fesm2015/router.mjs.map +1 -1
  24. package/fesm2015/testing.mjs +12 -43
  25. package/fesm2015/testing.mjs.map +1 -1
  26. package/fesm2015/upgrade.mjs +5 -20
  27. package/fesm2015/upgrade.mjs.map +1 -1
  28. package/fesm2020/router.mjs +177 -385
  29. package/fesm2020/router.mjs.map +1 -1
  30. package/fesm2020/testing.mjs +12 -43
  31. package/fesm2020/testing.mjs.map +1 -1
  32. package/fesm2020/upgrade.mjs +5 -20
  33. package/fesm2020/upgrade.mjs.map +1 -1
  34. package/index.d.ts +44 -4
  35. package/package.json +4 -4
  36. package/testing/index.d.ts +1 -1
  37. package/upgrade/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.1.0-next.2
2
+ * @license Angular v15.1.0-rc.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -12,13 +12,6 @@ import { Location, ViewportScroller, LOCATION_INITIALIZED, LocationStrategy, Has
12
12
  import { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, last as last$1, takeWhile, defaultIfEmpty, takeLast, mapTo, finalize, refCount, mergeAll } from 'rxjs/operators';
13
13
  import * as i1 from '@angular/platform-browser';
14
14
 
15
- /**
16
- * @license
17
- * Copyright Google LLC All Rights Reserved.
18
- *
19
- * Use of this source code is governed by an MIT-style license that can be
20
- * found in the LICENSE file at https://angular.io/license
21
- */
22
15
  /**
23
16
  * The primary routing outlet.
24
17
  *
@@ -109,13 +102,6 @@ function defaultUrlMatcher(segments, segmentGroup, route) {
109
102
  return { consumed: segments.slice(0, parts.length), posParams };
110
103
  }
111
104
 
112
- /**
113
- * @license
114
- * Copyright Google LLC All Rights Reserved.
115
- *
116
- * Use of this source code is governed by an MIT-style license that can be
117
- * found in the LICENSE file at https://angular.io/license
118
- */
119
105
  function shallowEqualArrays(a, b) {
120
106
  if (a.length !== b.length)
121
107
  return false;
@@ -195,14 +181,7 @@ function wrapIntoObservable(value) {
195
181
  return of(value);
196
182
  }
197
183
 
198
- /**
199
- * @license
200
- * Copyright Google LLC All Rights Reserved.
201
- *
202
- * Use of this source code is governed by an MIT-style license that can be
203
- * found in the LICENSE file at https://angular.io/license
204
- */
205
- const NG_DEV_MODE$a = typeof ngDevMode === 'undefined' || ngDevMode;
184
+ const NG_DEV_MODE$b = typeof ngDevMode === 'undefined' || ngDevMode;
206
185
  const pathCompareMap = {
207
186
  'exact': equalSegmentGroups,
208
187
  'subset': containsSegmentGroup,
@@ -327,7 +306,7 @@ class UrlTree {
327
306
  this.root = root;
328
307
  this.queryParams = queryParams;
329
308
  this.fragment = fragment;
330
- if (NG_DEV_MODE$a) {
309
+ if (NG_DEV_MODE$b) {
331
310
  if (root.segments.length > 0) {
332
311
  throw new ɵRuntimeError(4015 /* RuntimeErrorCode.INVALID_ROOT_URL_SEGMENT */, 'The root `UrlSegmentGroup` should not contain `segments`. ' +
333
312
  'Instead, these segments belong in the `children` so they can be associated with a named outlet.');
@@ -461,9 +440,9 @@ function mapChildrenIntoArray(segment, fn) {
461
440
  */
462
441
  class UrlSerializer {
463
442
  }
464
- UrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
465
- UrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlSerializer, decorators: [{
443
+ UrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
444
+ UrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlSerializer, decorators: [{
467
446
  type: Injectable,
468
447
  args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
469
448
  }] });
@@ -675,7 +654,7 @@ class UrlParser {
675
654
  parseSegment() {
676
655
  const path = matchSegments(this.remaining);
677
656
  if (path === '' && this.peekStartsWith(';')) {
678
- throw new ɵRuntimeError(4009 /* RuntimeErrorCode.EMPTY_PATH_WITH_PARAMS */, NG_DEV_MODE$a && `Empty path url segment cannot have parameters: '${this.remaining}'.`);
657
+ throw new ɵRuntimeError(4009 /* RuntimeErrorCode.EMPTY_PATH_WITH_PARAMS */, NG_DEV_MODE$b && `Empty path url segment cannot have parameters: '${this.remaining}'.`);
679
658
  }
680
659
  this.capture(path);
681
660
  return new UrlSegment(decode(path), this.parseMatrixParams());
@@ -744,7 +723,7 @@ class UrlParser {
744
723
  // if is is not one of these characters, then the segment was unescaped
745
724
  // or the group was not closed
746
725
  if (next !== '/' && next !== ')' && next !== ';') {
747
- throw new ɵRuntimeError(4010 /* RuntimeErrorCode.UNPARSABLE_URL */, NG_DEV_MODE$a && `Cannot parse url '${this.url}'`);
726
+ throw new ɵRuntimeError(4010 /* RuntimeErrorCode.UNPARSABLE_URL */, NG_DEV_MODE$b && `Cannot parse url '${this.url}'`);
748
727
  }
749
728
  let outletName = undefined;
750
729
  if (path.indexOf(':') > -1) {
@@ -775,7 +754,7 @@ class UrlParser {
775
754
  }
776
755
  capture(str) {
777
756
  if (!this.consumeOptional(str)) {
778
- throw new ɵRuntimeError(4011 /* RuntimeErrorCode.UNEXPECTED_VALUE_IN_URL */, NG_DEV_MODE$a && `Expected "${str}".`);
757
+ throw new ɵRuntimeError(4011 /* RuntimeErrorCode.UNEXPECTED_VALUE_IN_URL */, NG_DEV_MODE$b && `Expected "${str}".`);
779
758
  }
780
759
  }
781
760
  }
@@ -821,14 +800,7 @@ function isUrlTree(v) {
821
800
  return v instanceof UrlTree;
822
801
  }
823
802
 
824
- /**
825
- * @license
826
- * Copyright Google LLC All Rights Reserved.
827
- *
828
- * Use of this source code is governed by an MIT-style license that can be
829
- * found in the LICENSE file at https://angular.io/license
830
- */
831
- const NG_DEV_MODE$9 = typeof ngDevMode === 'undefined' || ngDevMode;
803
+ const NG_DEV_MODE$a = typeof ngDevMode === 'undefined' || ngDevMode;
832
804
  /**
833
805
  * Creates a `UrlTree` relative to an `ActivatedRouteSnapshot`.
834
806
  *
@@ -999,11 +971,11 @@ class Navigation {
999
971
  this.numberOfDoubleDots = numberOfDoubleDots;
1000
972
  this.commands = commands;
1001
973
  if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {
1002
- throw new ɵRuntimeError(4003 /* RuntimeErrorCode.ROOT_SEGMENT_MATRIX_PARAMS */, NG_DEV_MODE$9 && 'Root segment cannot have matrix parameters');
974
+ throw new ɵRuntimeError(4003 /* RuntimeErrorCode.ROOT_SEGMENT_MATRIX_PARAMS */, NG_DEV_MODE$a && 'Root segment cannot have matrix parameters');
1003
975
  }
1004
976
  const cmdWithOutlet = commands.find(isCommandWithOutlets);
1005
977
  if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {
1006
- throw new ɵRuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, NG_DEV_MODE$9 && '{outlets:{}} has to be the last command');
978
+ throw new ɵRuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, NG_DEV_MODE$a && '{outlets:{}} has to be the last command');
1007
979
  }
1008
980
  }
1009
981
  toRoot() {
@@ -1102,7 +1074,7 @@ function createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {
1102
1074
  dd -= ci;
1103
1075
  g = g.parent;
1104
1076
  if (!g) {
1105
- throw new ɵRuntimeError(4005 /* RuntimeErrorCode.INVALID_DOUBLE_DOTS */, NG_DEV_MODE$9 && 'Invalid number of \'../\'');
1077
+ throw new ɵRuntimeError(4005 /* RuntimeErrorCode.INVALID_DOUBLE_DOTS */, NG_DEV_MODE$a && 'Invalid number of \'../\'');
1106
1078
  }
1107
1079
  ci = g.segments.length;
1108
1080
  }
@@ -1248,13 +1220,6 @@ function compare(path, params, segment) {
1248
1220
  return path == segment.path && shallowEqual(params, segment.parameters);
1249
1221
  }
1250
1222
 
1251
- /**
1252
- * @license
1253
- * Copyright Google LLC All Rights Reserved.
1254
- *
1255
- * Use of this source code is governed by an MIT-style license that can be
1256
- * found in the LICENSE file at https://angular.io/license
1257
- */
1258
1223
  /**
1259
1224
  * Base for events the router goes through, as opposed to events tied to a specific
1260
1225
  * route. Fired one time for any given navigation.
@@ -1759,13 +1724,63 @@ function stringifyEvent(routerEvent) {
1759
1724
  }
1760
1725
  }
1761
1726
 
1762
- /**
1763
- * @license
1764
- * Copyright Google LLC All Rights Reserved.
1765
- *
1766
- * Use of this source code is governed by an MIT-style license that can be
1767
- * found in the LICENSE file at https://angular.io/license
1768
- */
1727
+ const NG_DEV_MODE$9 = typeof ngDevMode === 'undefined' || ngDevMode;
1728
+ class LegacyCreateUrlTree {
1729
+ createUrlTree(relativeTo, currentState, currentUrlTree, commands, queryParams, fragment) {
1730
+ const a = relativeTo || currentState.root;
1731
+ return createUrlTree(a, currentUrlTree, commands, queryParams, fragment);
1732
+ }
1733
+ }
1734
+ LegacyCreateUrlTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: LegacyCreateUrlTree, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1735
+ LegacyCreateUrlTree.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: LegacyCreateUrlTree });
1736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: LegacyCreateUrlTree, decorators: [{
1737
+ type: Injectable
1738
+ }] });
1739
+ class CreateUrlTreeUsingSnapshot {
1740
+ createUrlTree(relativeTo, currentState, currentUrlTree, commands, queryParams, fragment) {
1741
+ let relativeToUrlSegmentGroup;
1742
+ try {
1743
+ const relativeToSnapshot = relativeTo ? relativeTo.snapshot : currentState.snapshot.root;
1744
+ relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeToSnapshot);
1745
+ }
1746
+ catch (e) {
1747
+ // This is strictly for backwards compatibility with tests that create
1748
+ // invalid `ActivatedRoute` mocks.
1749
+ // Note: the difference between having this fallback for invalid `ActivatedRoute` setups and
1750
+ // just throwing is ~500 test failures. Fixing all of those tests by hand is not feasible at
1751
+ // the moment.
1752
+ if (NG_DEV_MODE$9) {
1753
+ console.warn(`The ActivatedRoute has an invalid structure. This is likely due to an incomplete mock in tests.`);
1754
+ }
1755
+ if (typeof commands[0] !== 'string' || !commands[0].startsWith('/')) {
1756
+ // Navigations that were absolute in the old way of creating UrlTrees
1757
+ // would still work because they wouldn't attempt to match the
1758
+ // segments in the `ActivatedRoute` to the `currentUrlTree` but
1759
+ // instead just replace the root segment with the navigation result.
1760
+ // Non-absolute navigations would fail to apply the commands because
1761
+ // the logic could not find the segment to replace (so they'd act like there were no
1762
+ // commands).
1763
+ commands = [];
1764
+ }
1765
+ relativeToUrlSegmentGroup = currentUrlTree.root;
1766
+ }
1767
+ return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, queryParams, fragment);
1768
+ }
1769
+ }
1770
+ CreateUrlTreeUsingSnapshot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeUsingSnapshot, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1771
+ CreateUrlTreeUsingSnapshot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeUsingSnapshot });
1772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeUsingSnapshot, decorators: [{
1773
+ type: Injectable
1774
+ }] });
1775
+ class CreateUrlTreeStrategy {
1776
+ }
1777
+ CreateUrlTreeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1778
+ CreateUrlTreeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeStrategy, providedIn: 'root', useClass: LegacyCreateUrlTree });
1779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeStrategy, decorators: [{
1780
+ type: Injectable,
1781
+ args: [{ providedIn: 'root', useClass: LegacyCreateUrlTree }]
1782
+ }] });
1783
+
1769
1784
  class Tree {
1770
1785
  constructor(root) {
1771
1786
  this._root = root;
@@ -1853,13 +1868,6 @@ function nodeChildrenAsMap(node) {
1853
1868
  return map;
1854
1869
  }
1855
1870
 
1856
- /**
1857
- * @license
1858
- * Copyright Google LLC All Rights Reserved.
1859
- *
1860
- * Use of this source code is governed by an MIT-style license that can be
1861
- * found in the LICENSE file at https://angular.io/license
1862
- */
1863
1871
  /**
1864
1872
  * Represents the state of the router as a tree of activated routes.
1865
1873
  *
@@ -2261,13 +2269,6 @@ function equalParamsAndUrlSegments(a, b) {
2261
2269
  (!a.parent || equalParamsAndUrlSegments(a.parent, b.parent));
2262
2270
  }
2263
2271
 
2264
- /**
2265
- * @license
2266
- * Copyright Google LLC All Rights Reserved.
2267
- *
2268
- * Use of this source code is governed by an MIT-style license that can be
2269
- * found in the LICENSE file at https://angular.io/license
2270
- */
2271
2272
  function createRouterState(routeReuseStrategy, curr, prevState) {
2272
2273
  const root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : undefined);
2273
2274
  return new RouterState(root, curr);
@@ -2310,13 +2311,6 @@ function createActivatedRoute(c) {
2310
2311
  return new ActivatedRoute(new BehaviorSubject(c.url), new BehaviorSubject(c.params), new BehaviorSubject(c.queryParams), new BehaviorSubject(c.fragment), new BehaviorSubject(c.data), c.outlet, c.component, c);
2311
2312
  }
2312
2313
 
2313
- /**
2314
- * @license
2315
- * Copyright Google LLC All Rights Reserved.
2316
- *
2317
- * Use of this source code is governed by an MIT-style license that can be
2318
- * found in the LICENSE file at https://angular.io/license
2319
- */
2320
2314
  const NAVIGATION_CANCELING_ERROR = 'ngNavigationCancelingError';
2321
2315
  function redirectingNavigationError(urlSerializer, redirect) {
2322
2316
  const { redirectTo, navigationBehaviorOptions } = isUrlTree(redirect) ? { redirectTo: redirect, navigationBehaviorOptions: undefined } : redirect;
@@ -2341,13 +2335,6 @@ function isNavigationCancelingError$1(error) {
2341
2335
  return error && error[NAVIGATION_CANCELING_ERROR];
2342
2336
  }
2343
2337
 
2344
- /**
2345
- * @license
2346
- * Copyright Google LLC All Rights Reserved.
2347
- *
2348
- * Use of this source code is governed by an MIT-style license that can be
2349
- * found in the LICENSE file at https://angular.io/license
2350
- */
2351
2338
  /**
2352
2339
  * Store contextual information about a `RouterOutlet`
2353
2340
  *
@@ -2419,20 +2406,13 @@ class ChildrenOutletContexts {
2419
2406
  return this.contexts.get(childName) || null;
2420
2407
  }
2421
2408
  }
2422
- ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2423
- ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2409
+ ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2410
+ ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2425
2412
  type: Injectable,
2426
2413
  args: [{ providedIn: 'root' }]
2427
2414
  }] });
2428
2415
 
2429
- /**
2430
- * @license
2431
- * Copyright Google LLC All Rights Reserved.
2432
- *
2433
- * Use of this source code is governed by an MIT-style license that can be
2434
- * found in the LICENSE file at https://angular.io/license
2435
- */
2436
2416
  const NG_DEV_MODE$8 = typeof ngDevMode === 'undefined' || ngDevMode;
2437
2417
  /**
2438
2418
  * @description
@@ -2642,9 +2622,9 @@ class RouterOutlet {
2642
2622
  this.activateEvents.emit(this.activated.instance);
2643
2623
  }
2644
2624
  }
2645
- RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2646
- RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0-next.2", 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 });
2647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterOutlet, decorators: [{
2625
+ RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2626
+ RouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0-rc.0", type: RouterOutlet, isStandalone: true, selector: "router-outlet", inputs: { name: "name" }, outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], usesOnChanges: true, ngImport: i0 });
2627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterOutlet, decorators: [{
2648
2628
  type: Directive,
2649
2629
  args: [{
2650
2630
  selector: 'router-outlet',
@@ -2686,13 +2666,6 @@ function isComponentFactoryResolver(item) {
2686
2666
  return !!item.resolveComponentFactory;
2687
2667
  }
2688
2668
 
2689
- /**
2690
- * @license
2691
- * Copyright Google LLC All Rights Reserved.
2692
- *
2693
- * Use of this source code is governed by an MIT-style license that can be
2694
- * found in the LICENSE file at https://angular.io/license
2695
- */
2696
2669
  /**
2697
2670
  * This component is used internally within the router to be a placeholder when an empty
2698
2671
  * router-outlet is needed. For example, with a config such as:
@@ -2704,9 +2677,9 @@ function isComponentFactoryResolver(item) {
2704
2677
  */
2705
2678
  class ɵEmptyOutletComponent {
2706
2679
  }
2707
- ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2708
- ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0-next.2", 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"] }] });
2709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2680
+ ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2681
+ ɵEmptyOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0-rc.0", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<router-outlet></router-outlet>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
2682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2710
2683
  type: Component,
2711
2684
  args: [{
2712
2685
  template: `<router-outlet></router-outlet>`,
@@ -2715,13 +2688,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
2715
2688
  }]
2716
2689
  }] });
2717
2690
 
2718
- /**
2719
- * @license
2720
- * Copyright Google LLC All Rights Reserved.
2721
- *
2722
- * Use of this source code is governed by an MIT-style license that can be
2723
- * found in the LICENSE file at https://angular.io/license
2724
- */
2725
2691
  /**
2726
2692
  * Creates an `EnvironmentInjector` if the `Route` has providers and one does not already exist
2727
2693
  * and returns the injector. Otherwise, if the `Route` does not have `providers`, returns the
@@ -2907,13 +2873,6 @@ function getClosestRouteInjector(snapshot) {
2907
2873
  return null;
2908
2874
  }
2909
2875
 
2910
- /**
2911
- * @license
2912
- * Copyright Google LLC All Rights Reserved.
2913
- *
2914
- * Use of this source code is governed by an MIT-style license that can be
2915
- * found in the LICENSE file at https://angular.io/license
2916
- */
2917
2876
  const activateRoutes = (rootContexts, routeReuseStrategy, forwardEvent) => map(t => {
2918
2877
  new ActivateRoutes(routeReuseStrategy, t.targetRouterState, t.currentRouterState, forwardEvent)
2919
2878
  .activate(rootContexts);
@@ -3083,13 +3042,6 @@ class ActivateRoutes {
3083
3042
  }
3084
3043
  }
3085
3044
 
3086
- /**
3087
- * @license
3088
- * Copyright Google LLC All Rights Reserved.
3089
- *
3090
- * Use of this source code is governed by an MIT-style license that can be
3091
- * found in the LICENSE file at https://angular.io/license
3092
- */
3093
3045
  class CanActivate {
3094
3046
  constructor(path) {
3095
3047
  this.path = path;
@@ -3233,13 +3185,6 @@ function deactivateRouteAndItsChildren(route, context, checks) {
3233
3185
  }
3234
3186
  }
3235
3187
 
3236
- /**
3237
- * @license
3238
- * Copyright Google LLC All Rights Reserved.
3239
- *
3240
- * Use of this source code is governed by an MIT-style license that can be
3241
- * found in the LICENSE file at https://angular.io/license
3242
- */
3243
3188
  /**
3244
3189
  * Simple function check, but generic so type inference will flow. Example:
3245
3190
  *
@@ -3284,13 +3229,6 @@ function isEmptyError(e) {
3284
3229
  return e instanceof EmptyError || (e === null || e === void 0 ? void 0 : e.name) === 'EmptyError';
3285
3230
  }
3286
3231
 
3287
- /**
3288
- * @license
3289
- * Copyright Google LLC All Rights Reserved.
3290
- *
3291
- * Use of this source code is governed by an MIT-style license that can be
3292
- * found in the LICENSE file at https://angular.io/license
3293
- */
3294
3232
  const INITIAL_VALUE = Symbol('INITIAL_VALUE');
3295
3233
  function prioritizedGuardValue() {
3296
3234
  return switchMap(obs => {
@@ -3318,13 +3256,6 @@ function prioritizedGuardValue() {
3318
3256
  });
3319
3257
  }
3320
3258
 
3321
- /**
3322
- * @license
3323
- * Copyright Google LLC All Rights Reserved.
3324
- *
3325
- * Use of this source code is governed by an MIT-style license that can be
3326
- * found in the LICENSE file at https://angular.io/license
3327
- */
3328
3259
  function checkGuards(injector, forwardEvent) {
3329
3260
  return mergeMap(t => {
3330
3261
  const { targetSnapshot, currentSnapshot, guards: { canActivateChecks, canDeactivateChecks } } = t;
@@ -3470,13 +3401,6 @@ function runCanMatchGuards(injector, route, segments, urlSerializer) {
3470
3401
  .pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));
3471
3402
  }
3472
3403
 
3473
- /**
3474
- * @license
3475
- * Copyright Google LLC All Rights Reserved.
3476
- *
3477
- * Use of this source code is governed by an MIT-style license that can be
3478
- * found in the LICENSE file at https://angular.io/license
3479
- */
3480
3404
  const noMatch$1 = {
3481
3405
  matched: false,
3482
3406
  consumedSegments: [],
@@ -3617,13 +3541,6 @@ function noLeftoversInUrl(segmentGroup, segments, outlet) {
3617
3541
  return segments.length === 0 && !segmentGroup.children[outlet];
3618
3542
  }
3619
3543
 
3620
- /**
3621
- * @license
3622
- * Copyright Google LLC All Rights Reserved.
3623
- *
3624
- * Use of this source code is governed by an MIT-style license that can be
3625
- * found in the LICENSE file at https://angular.io/license
3626
- */
3627
3544
  const NG_DEV_MODE$7 = typeof ngDevMode === 'undefined' || ngDevMode;
3628
3545
  class NoMatch$1 {
3629
3546
  constructor(segmentGroup) {
@@ -3940,25 +3857,11 @@ class ApplyRedirects {
3940
3857
  }
3941
3858
  }
3942
3859
 
3943
- /**
3944
- * @license
3945
- * Copyright Google LLC All Rights Reserved.
3946
- *
3947
- * Use of this source code is governed by an MIT-style license that can be
3948
- * found in the LICENSE file at https://angular.io/license
3949
- */
3950
3860
  function applyRedirects(environmentInjector, configLoader, urlSerializer, config) {
3951
3861
  return switchMap(t => applyRedirects$1(environmentInjector, configLoader, urlSerializer, t.extractedUrl, config)
3952
3862
  .pipe(map(urlAfterRedirects => (Object.assign(Object.assign({}, t), { urlAfterRedirects })))));
3953
3863
  }
3954
3864
 
3955
- /**
3956
- * @license
3957
- * Copyright Google LLC All Rights Reserved.
3958
- *
3959
- * Use of this source code is governed by an MIT-style license that can be
3960
- * found in the LICENSE file at https://angular.io/license
3961
- */
3962
3865
  const NG_DEV_MODE$6 = typeof ngDevMode === 'undefined' || !!ngDevMode;
3963
3866
  class NoMatch {
3964
3867
  }
@@ -4245,25 +4148,11 @@ function getResolve(route) {
4245
4148
  return route.resolve || {};
4246
4149
  }
4247
4150
 
4248
- /**
4249
- * @license
4250
- * Copyright Google LLC All Rights Reserved.
4251
- *
4252
- * Use of this source code is governed by an MIT-style license that can be
4253
- * found in the LICENSE file at https://angular.io/license
4254
- */
4255
4151
  function recognize(injector, rootComponentType, config, serializer, paramsInheritanceStrategy) {
4256
4152
  return mergeMap(t => recognize$1(injector, rootComponentType, config, t.urlAfterRedirects, serializer.serialize(t.urlAfterRedirects), serializer, paramsInheritanceStrategy)
4257
4153
  .pipe(map(targetSnapshot => (Object.assign(Object.assign({}, t), { targetSnapshot })))));
4258
4154
  }
4259
4155
 
4260
- /**
4261
- * @license
4262
- * Copyright Google LLC All Rights Reserved.
4263
- *
4264
- * Use of this source code is governed by an MIT-style license that can be
4265
- * found in the LICENSE file at https://angular.io/license
4266
- */
4267
4156
  function resolveData(paramsInheritanceStrategy, injector) {
4268
4157
  return mergeMap(t => {
4269
4158
  const { targetSnapshot, guards: { canActivateChecks } } = t;
@@ -4317,13 +4206,6 @@ function hasStaticTitle(config) {
4317
4206
  return typeof config.title === 'string' || config.title === null;
4318
4207
  }
4319
4208
 
4320
- /**
4321
- * @license
4322
- * Copyright Google LLC All Rights Reserved.
4323
- *
4324
- * Use of this source code is governed by an MIT-style license that can be
4325
- * found in the LICENSE file at https://angular.io/license
4326
- */
4327
4209
  /**
4328
4210
  * Perform a side effect through a switchMap for every emission on the source Observable,
4329
4211
  * but return an Observable that is identical to the source. It's essentially the same as
@@ -4340,26 +4222,12 @@ function switchTap(next) {
4340
4222
  });
4341
4223
  }
4342
4224
 
4343
- /**
4344
- * @license
4345
- * Copyright Google LLC All Rights Reserved.
4346
- *
4347
- * Use of this source code is governed by an MIT-style license that can be
4348
- * found in the LICENSE file at https://angular.io/license
4349
- */
4350
4225
  // This file exists to support the legacy `loadChildren: string` behavior being patched back into
4351
4226
  // Angular.
4352
4227
  function deprecatedLoadChildrenString(injector, loadChildren) {
4353
4228
  return null;
4354
4229
  }
4355
4230
 
4356
- /**
4357
- * @license
4358
- * Copyright Google LLC All Rights Reserved.
4359
- *
4360
- * Use of this source code is governed by an MIT-style license that can be
4361
- * found in the LICENSE file at https://angular.io/license
4362
- */
4363
4231
  const NG_DEV_MODE$5 = typeof ngDevMode === 'undefined' || !!ngDevMode;
4364
4232
  /**
4365
4233
  * The [DI token](guide/glossary/#di-token) for a router configuration.
@@ -4367,7 +4235,7 @@ const NG_DEV_MODE$5 = typeof ngDevMode === 'undefined' || !!ngDevMode;
4367
4235
  * `ROUTES` is a low level API for router configuration via dependency injection.
4368
4236
  *
4369
4237
  * We recommend that in almost all cases to use higher level APIs such as `RouterModule.forRoot()`,
4370
- * `RouterModule.forChild()`, `provideRoutes`, or `Router.resetConfig()`.
4238
+ * `provideRouter`, or `Router.resetConfig()`.
4371
4239
  *
4372
4240
  * @publicApi
4373
4241
  */
@@ -4465,9 +4333,9 @@ class RouterConfigLoader {
4465
4333
  }));
4466
4334
  }
4467
4335
  }
4468
- RouterConfigLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterConfigLoader, deps: [{ token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
4469
- RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterConfigLoader, decorators: [{
4336
+ RouterConfigLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, deps: [{ token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
4337
+ RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, decorators: [{
4471
4339
  type: Injectable,
4472
4340
  args: [{ providedIn: 'root' }]
4473
4341
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.Compiler }]; } });
@@ -4483,13 +4351,6 @@ function maybeUnwrapDefaultExport(input) {
4483
4351
  return isWrappedDefaultExport(input) ? input['default'] : input;
4484
4352
  }
4485
4353
 
4486
- /**
4487
- * @license
4488
- * Copyright Google LLC All Rights Reserved.
4489
- *
4490
- * Use of this source code is governed by an MIT-style license that can be
4491
- * found in the LICENSE file at https://angular.io/license
4492
- */
4493
4354
  const NG_DEV_MODE$4 = typeof ngDevMode === 'undefined' || !!ngDevMode;
4494
4355
  class NavigationTransitions {
4495
4356
  get hasRequestedNavigation() {
@@ -4829,7 +4690,7 @@ class NavigationTransitions {
4829
4690
  }
4830
4691
  return EMPTY;
4831
4692
  }));
4832
- // TODO(jasonaden): remove cast once g3 is on updated TypeScript
4693
+ // casting because `pipe` returns observable({}) when called with 8+ arguments
4833
4694
  }));
4834
4695
  }
4835
4696
  cancelNavigationTransition(t, reason, code, router) {
@@ -4838,9 +4699,9 @@ class NavigationTransitions {
4838
4699
  t.resolve(false);
4839
4700
  }
4840
4701
  }
4841
- NavigationTransitions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4842
- NavigationTransitions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
4843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NavigationTransitions, decorators: [{
4702
+ NavigationTransitions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4703
+ NavigationTransitions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
4704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NavigationTransitions, decorators: [{
4844
4705
  type: Injectable,
4845
4706
  args: [{ providedIn: 'root' }]
4846
4707
  }], ctorParameters: function () { return []; } });
@@ -4848,13 +4709,6 @@ function isBrowserTriggeredNavigation(source) {
4848
4709
  return source !== 'imperative';
4849
4710
  }
4850
4711
 
4851
- /**
4852
- * @license
4853
- * Copyright Google LLC All Rights Reserved.
4854
- *
4855
- * Use of this source code is governed by an MIT-style license that can be
4856
- * found in the LICENSE file at https://angular.io/license
4857
- */
4858
4712
  /**
4859
4713
  * Provides a strategy for setting the page title after a router navigation.
4860
4714
  *
@@ -4900,9 +4754,9 @@ class TitleStrategy {
4900
4754
  return snapshot.data[RouteTitleKey];
4901
4755
  }
4902
4756
  }
4903
- TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4904
- TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: TitleStrategy, decorators: [{
4757
+ TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4758
+ TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: TitleStrategy, decorators: [{
4906
4760
  type: Injectable,
4907
4761
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4908
4762
  }] });
@@ -4926,20 +4780,13 @@ class DefaultTitleStrategy extends TitleStrategy {
4926
4780
  }
4927
4781
  }
4928
4782
  }
4929
- DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
4930
- DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4783
+ DefaultTitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
4784
+ DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4932
4786
  type: Injectable,
4933
4787
  args: [{ providedIn: 'root' }]
4934
4788
  }], ctorParameters: function () { return [{ type: i1.Title }]; } });
4935
4789
 
4936
- /**
4937
- * @license
4938
- * Copyright Google LLC All Rights Reserved.
4939
- *
4940
- * Use of this source code is governed by an MIT-style license that can be
4941
- * found in the LICENSE file at https://angular.io/license
4942
- */
4943
4790
  /**
4944
4791
  * @description
4945
4792
  *
@@ -4949,9 +4796,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
4949
4796
  */
4950
4797
  class RouteReuseStrategy {
4951
4798
  }
4952
- RouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4953
- RouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
4954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4799
+ RouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4800
+ RouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
4801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4955
4802
  type: Injectable,
4956
4803
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4957
4804
  }] });
@@ -5003,20 +4850,13 @@ class BaseRouteReuseStrategy {
5003
4850
  }
5004
4851
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
5005
4852
  }
5006
- DefaultRouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
5007
- DefaultRouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
5008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4853
+ DefaultRouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4854
+ DefaultRouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
4855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
5009
4856
  type: Injectable,
5010
4857
  args: [{ providedIn: 'root' }]
5011
4858
  }] });
5012
4859
 
5013
- /**
5014
- * @license
5015
- * Copyright Google LLC All Rights Reserved.
5016
- *
5017
- * Use of this source code is governed by an MIT-style license that can be
5018
- * found in the LICENSE file at https://angular.io/license
5019
- */
5020
4860
  const NG_DEV_MODE$3 = typeof ngDevMode === 'undefined' || !!ngDevMode;
5021
4861
  /**
5022
4862
  * A [DI token](guide/glossary/#di-token) for the router service.
@@ -5028,13 +4868,6 @@ const ROUTER_CONFIGURATION = new InjectionToken(NG_DEV_MODE$3 ? 'router config'
5028
4868
  factory: () => ({}),
5029
4869
  });
5030
4870
 
5031
- /**
5032
- * @license
5033
- * Copyright Google LLC All Rights Reserved.
5034
- *
5035
- * Use of this source code is governed by an MIT-style license that can be
5036
- * found in the LICENSE file at https://angular.io/license
5037
- */
5038
4871
  /**
5039
4872
  * @description
5040
4873
  *
@@ -5044,9 +4877,9 @@ const ROUTER_CONFIGURATION = new InjectionToken(NG_DEV_MODE$3 ? 'router config'
5044
4877
  */
5045
4878
  class UrlHandlingStrategy {
5046
4879
  }
5047
- UrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5048
- UrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
5049
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4880
+ UrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4881
+ UrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
4882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
5050
4883
  type: Injectable,
5051
4884
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
5052
4885
  }] });
@@ -5064,20 +4897,13 @@ class DefaultUrlHandlingStrategy {
5064
4897
  return newUrlPart;
5065
4898
  }
5066
4899
  }
5067
- DefaultUrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5068
- DefaultUrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
5069
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4900
+ DefaultUrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4901
+ DefaultUrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
4902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
5070
4903
  type: Injectable,
5071
4904
  args: [{ providedIn: 'root' }]
5072
4905
  }] });
5073
4906
 
5074
- /**
5075
- * @license
5076
- * Copyright Google LLC All Rights Reserved.
5077
- *
5078
- * Use of this source code is governed by an MIT-style license that can be
5079
- * found in the LICENSE file at https://angular.io/license
5080
- */
5081
4907
  const NG_DEV_MODE$2 = typeof ngDevMode === 'undefined' || !!ngDevMode;
5082
4908
  function defaultErrorHandler(error) {
5083
4909
  throw error;
@@ -5202,6 +5028,8 @@ class Router {
5202
5028
  * `{provide: RouteReuseStrategy, useClass: MyStrategy}`.
5203
5029
  */
5204
5030
  this.routeReuseStrategy = inject(RouteReuseStrategy);
5031
+ /** Strategy used to create a UrlTree. */
5032
+ this.urlCreationStrategy = inject(CreateUrlTreeStrategy);
5205
5033
  /**
5206
5034
  * A strategy for setting the title based on the `routerState`.
5207
5035
  *
@@ -5448,7 +5276,6 @@ class Router {
5448
5276
  */
5449
5277
  createUrlTree(commands, navigationExtras = {}) {
5450
5278
  const { relativeTo, queryParams, fragment, queryParamsHandling, preserveFragment } = navigationExtras;
5451
- const a = relativeTo || this.routerState.root;
5452
5279
  const f = preserveFragment ? this.currentUrlTree.fragment : fragment;
5453
5280
  let q = null;
5454
5281
  switch (queryParamsHandling) {
@@ -5464,7 +5291,7 @@ class Router {
5464
5291
  if (q !== null) {
5465
5292
  q = this.removeEmptyProps(q);
5466
5293
  }
5467
- return createUrlTree(a, this.currentUrlTree, commands, q, f !== null && f !== void 0 ? f : null);
5294
+ return this.urlCreationStrategy.createUrlTree(relativeTo, this.routerState, this.currentUrlTree, commands, q, f !== null && f !== void 0 ? f : null);
5468
5295
  }
5469
5296
  /**
5470
5297
  * Navigates to a view using an absolute route path.
@@ -5720,9 +5547,9 @@ class Router {
5720
5547
  return { navigationId };
5721
5548
  }
5722
5549
  }
5723
- Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5724
- Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: Router, providedIn: 'root' });
5725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: Router, decorators: [{
5550
+ Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5551
+ Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: Router, providedIn: 'root' });
5552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: Router, decorators: [{
5726
5553
  type: Injectable,
5727
5554
  args: [{ providedIn: 'root' }]
5728
5555
  }], ctorParameters: function () { return []; } });
@@ -6010,9 +5837,9 @@ class RouterLink {
6010
5837
  });
6011
5838
  }
6012
5839
  }
6013
- RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", 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 });
6014
- RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0-next.2", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", relativeTo: "relativeTo", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 });
6015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterLink, decorators: [{
5840
+ RouterLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterLink, deps: [{ token: Router }, { token: ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
5841
+ RouterLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0-rc.0", type: RouterLink, isStandalone: true, selector: "[routerLink]", inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", relativeTo: "relativeTo", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 });
5842
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterLink, decorators: [{
6016
5843
  type: Directive,
6017
5844
  args: [{
6018
5845
  selector: '[routerLink]',
@@ -6052,13 +5879,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
6052
5879
  ['$event.button', '$event.ctrlKey', '$event.shiftKey', '$event.altKey', '$event.metaKey']]
6053
5880
  }] } });
6054
5881
 
6055
- /**
6056
- * @license
6057
- * Copyright Google LLC All Rights Reserved.
6058
- *
6059
- * Use of this source code is governed by an MIT-style license that can be
6060
- * found in the LICENSE file at https://angular.io/license
6061
- */
6062
5882
  /**
6063
5883
  *
6064
5884
  * @description
@@ -6129,6 +5949,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
6129
5949
  * @publicApi
6130
5950
  */
6131
5951
  class RouterLinkActive {
5952
+ get isActive() {
5953
+ return this._isActive;
5954
+ }
6132
5955
  constructor(router, element, renderer, cdr, link) {
6133
5956
  this.router = router;
6134
5957
  this.element = element;
@@ -6136,7 +5959,7 @@ class RouterLinkActive {
6136
5959
  this.cdr = cdr;
6137
5960
  this.link = link;
6138
5961
  this.classes = [];
6139
- this.isActive = false;
5962
+ this._isActive = false;
6140
5963
  /**
6141
5964
  * Options to configure how to determine if the router link is active.
6142
5965
  *
@@ -6183,7 +6006,7 @@ class RouterLinkActive {
6183
6006
  .filter((link) => !!link)
6184
6007
  .map(link => link.onChanges);
6185
6008
  this.linkInputChangesSubscription = from(allLinkChanges).pipe(mergeAll()).subscribe(link => {
6186
- if (this.isActive !== this.isLinkActive(this.router)(link)) {
6009
+ if (this._isActive !== this.isLinkActive(this.router)(link)) {
6187
6010
  this.update();
6188
6011
  }
6189
6012
  });
@@ -6207,8 +6030,8 @@ class RouterLinkActive {
6207
6030
  return;
6208
6031
  Promise.resolve().then(() => {
6209
6032
  const hasActiveLinks = this.hasActiveLinks();
6210
- if (this.isActive !== hasActiveLinks) {
6211
- this.isActive = hasActiveLinks;
6033
+ if (this._isActive !== hasActiveLinks) {
6034
+ this._isActive = hasActiveLinks;
6212
6035
  this.cdr.markForCheck();
6213
6036
  this.classes.forEach((c) => {
6214
6037
  if (hasActiveLinks) {
@@ -6241,9 +6064,9 @@ class RouterLinkActive {
6241
6064
  return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6242
6065
  }
6243
6066
  }
6244
- RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6245
- RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0-next.2", 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 });
6246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterLinkActive, decorators: [{
6067
+ RouterLinkActive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterLinkActive, deps: [{ token: Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6068
+ RouterLinkActive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0-rc.0", type: RouterLinkActive, isStandalone: true, selector: "[routerLinkActive]", inputs: { routerLinkActiveOptions: "routerLinkActiveOptions", ariaCurrentWhenActive: "ariaCurrentWhenActive", routerLinkActive: "routerLinkActive" }, outputs: { isActiveChange: "isActiveChange" }, queries: [{ propertyName: "links", predicate: RouterLink, descendants: true }], exportAs: ["routerLinkActive"], usesOnChanges: true, ngImport: i0 });
6069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterLinkActive, decorators: [{
6247
6070
  type: Directive,
6248
6071
  args: [{
6249
6072
  selector: '[routerLinkActive]',
@@ -6273,13 +6096,6 @@ function isActiveMatchOptions(options) {
6273
6096
  return !!options.paths;
6274
6097
  }
6275
6098
 
6276
- /**
6277
- * @license
6278
- * Copyright Google LLC All Rights Reserved.
6279
- *
6280
- * Use of this source code is governed by an MIT-style license that can be
6281
- * found in the LICENSE file at https://angular.io/license
6282
- */
6283
6099
  /**
6284
6100
  * @description
6285
6101
  *
@@ -6305,9 +6121,9 @@ class PreloadAllModules {
6305
6121
  return fn().pipe(catchError(() => of(null)));
6306
6122
  }
6307
6123
  }
6308
- PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6309
- PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: PreloadAllModules, decorators: [{
6124
+ PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6125
+ PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: PreloadAllModules, decorators: [{
6311
6127
  type: Injectable,
6312
6128
  args: [{ providedIn: 'root' }]
6313
6129
  }] });
@@ -6325,9 +6141,9 @@ class NoPreloading {
6325
6141
  return of(null);
6326
6142
  }
6327
6143
  }
6328
- NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6329
- NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NoPreloading, decorators: [{
6144
+ NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6145
+ NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NoPreloading, decorators: [{
6331
6147
  type: Injectable,
6332
6148
  args: [{ providedIn: 'root' }]
6333
6149
  }] });
@@ -6423,9 +6239,9 @@ class RouterPreloader {
6423
6239
  });
6424
6240
  }
6425
6241
  }
6426
- RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
6427
- RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterPreloader, decorators: [{
6242
+ RouterPreloader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterPreloader, deps: [{ token: Router }, { token: i0.Compiler }, { token: i0.EnvironmentInjector }, { token: PreloadingStrategy }, { token: RouterConfigLoader }], target: i0.ɵɵFactoryTarget.Injectable });
6243
+ RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterPreloader, decorators: [{
6429
6245
  type: Injectable,
6430
6246
  args: [{ providedIn: 'root' }]
6431
6247
  }], ctorParameters: function () { return [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }]; } });
@@ -6514,19 +6330,12 @@ class RouterScroller {
6514
6330
  (_b = this.scrollEventsSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
6515
6331
  }
6516
6332
  }
6517
- RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6518
- RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterScroller });
6519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterScroller, decorators: [{
6333
+ RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6334
+ RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterScroller });
6335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterScroller, decorators: [{
6520
6336
  type: Injectable
6521
6337
  }], ctorParameters: function () { return [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }]; } });
6522
6338
 
6523
- /**
6524
- * @license
6525
- * Copyright Google LLC All Rights Reserved.
6526
- *
6527
- * Use of this source code is governed by an MIT-style license that can be
6528
- * found in the LICENSE file at https://angular.io/license
6529
- */
6530
6339
  const NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || ngDevMode;
6531
6340
  /**
6532
6341
  * Sets up providers necessary to enable `Router` functionality for the application.
@@ -6936,14 +6745,37 @@ function withRouterConfig(options) {
6936
6745
  ];
6937
6746
  return routerFeature(5 /* RouterFeatureKind.RouterConfigurationFeature */, providers);
6938
6747
  }
6939
-
6940
6748
  /**
6941
- * @license
6942
- * Copyright Google LLC All Rights Reserved.
6749
+ * Provides the location strategy that uses the URL fragment instead of the history API.
6750
+ *
6751
+ * @usageNotes
6752
+ *
6753
+ * Basic example of how you can use the hash location option:
6754
+ * ```
6755
+ * const appRoutes: Routes = [];
6756
+ * bootstrapApplication(AppComponent,
6757
+ * {
6758
+ * providers: [
6759
+ * provideRouter(appRoutes, withHashLocation())
6760
+ * ]
6761
+ * }
6762
+ * );
6763
+ * ```
6764
+ *
6765
+ * @see `provideRouter`
6766
+ * @see `HashLocationStrategy`
6767
+ *
6768
+ * @returns A set of providers for use with `provideRouter`.
6943
6769
  *
6944
- * Use of this source code is governed by an MIT-style license that can be
6945
- * found in the LICENSE file at https://angular.io/license
6770
+ * @publicApi
6946
6771
  */
6772
+ function withHashLocation() {
6773
+ const providers = [
6774
+ { provide: LocationStrategy, useClass: HashLocationStrategy },
6775
+ ];
6776
+ return routerFeature(5 /* RouterFeatureKind.RouterConfigurationFeature */, providers);
6777
+ }
6778
+
6947
6779
  const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
6948
6780
  /**
6949
6781
  * The directives defined in the `RouterModule`.
@@ -7057,10 +6889,10 @@ class RouterModule {
7057
6889
  };
7058
6890
  }
7059
6891
  }
7060
- RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
7061
- RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] });
7062
- RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
7063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterModule, decorators: [{
6892
+ RouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterModule, deps: [{ token: ROUTER_FORROOT_GUARD, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
6893
+ RouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterModule, imports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent], exports: [RouterOutlet, RouterLink, RouterLinkActive, ɵEmptyOutletComponent] });
6894
+ RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
6895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterModule, decorators: [{
7064
6896
  type: NgModule,
7065
6897
  args: [{
7066
6898
  imports: ROUTER_DIRECTIVES,
@@ -7139,53 +6971,27 @@ function provideRouterInitializer() {
7139
6971
  }
7140
6972
 
7141
6973
  /**
7142
- * @license
7143
- * Copyright Google LLC All Rights Reserved.
7144
- *
7145
- * Use of this source code is governed by an MIT-style license that can be
7146
- * found in the LICENSE file at https://angular.io/license
6974
+ * @module
6975
+ * @description
6976
+ * Entry point for all public APIs of the router package.
7147
6977
  */
7148
6978
  /**
7149
6979
  * @publicApi
7150
6980
  */
7151
- const VERSION = new Version('15.1.0-next.2');
6981
+ const VERSION = new Version('15.1.0-rc.0');
7152
6982
 
7153
6983
  /**
7154
- * @license
7155
- * Copyright Google LLC All Rights Reserved.
7156
- *
7157
- * Use of this source code is governed by an MIT-style license that can be
7158
- * found in the LICENSE file at https://angular.io/license
7159
- */
7160
-
7161
- /**
7162
- * @license
7163
- * Copyright Google LLC All Rights Reserved.
7164
- *
7165
- * Use of this source code is governed by an MIT-style license that can be
7166
- * found in the LICENSE file at https://angular.io/license
7167
- */
7168
-
7169
- /**
7170
- * @license
7171
- * Copyright Google LLC All Rights Reserved.
7172
- *
7173
- * Use of this source code is governed by an MIT-style license that can be
7174
- * found in the LICENSE file at https://angular.io/license
6984
+ * @module
6985
+ * @description
6986
+ * Entry point for all public APIs of this package.
7175
6987
  */
7176
6988
  // This file only reexports content of the `src` folder. Keep it that way.
7177
6989
 
7178
- /**
7179
- * @license
7180
- * Copyright Google LLC All Rights Reserved.
7181
- *
7182
- * Use of this source code is governed by an MIT-style license that can be
7183
- * found in the LICENSE file at https://angular.io/license
7184
- */
6990
+ // This file is not used to build this module. It is only used during editing
7185
6991
 
7186
6992
  /**
7187
6993
  * Generated bundle index. Do not edit.
7188
6994
  */
7189
6995
 
7190
- export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, NavigationSkipped, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTES, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterPreloader, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, provideRouter, provideRoutes, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withInMemoryScrolling, withPreloading, withRouterConfig, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, flatten as ɵflatten, withPreloading as ɵwithPreloading };
6996
+ export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, NavigationSkipped, NavigationStart, NoPreloading, OutletContext, PRIMARY_OUTLET, PreloadAllModules, PreloadingStrategy, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTES, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterPreloader, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, provideRouter, provideRoutes, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withPreloading, withRouterConfig, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, flatten as ɵflatten, withPreloading as ɵwithPreloading };
7191
6997
  //# sourceMappingURL=router.mjs.map