@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
  *
@@ -997,11 +969,11 @@ class Navigation {
997
969
  this.numberOfDoubleDots = numberOfDoubleDots;
998
970
  this.commands = commands;
999
971
  if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {
1000
- throw new ɵRuntimeError(4003 /* RuntimeErrorCode.ROOT_SEGMENT_MATRIX_PARAMS */, NG_DEV_MODE$9 && 'Root segment cannot have matrix parameters');
972
+ throw new ɵRuntimeError(4003 /* RuntimeErrorCode.ROOT_SEGMENT_MATRIX_PARAMS */, NG_DEV_MODE$a && 'Root segment cannot have matrix parameters');
1001
973
  }
1002
974
  const cmdWithOutlet = commands.find(isCommandWithOutlets);
1003
975
  if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {
1004
- throw new ɵRuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, NG_DEV_MODE$9 && '{outlets:{}} has to be the last command');
976
+ throw new ɵRuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, NG_DEV_MODE$a && '{outlets:{}} has to be the last command');
1005
977
  }
1006
978
  }
1007
979
  toRoot() {
@@ -1100,7 +1072,7 @@ function createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {
1100
1072
  dd -= ci;
1101
1073
  g = g.parent;
1102
1074
  if (!g) {
1103
- throw new ɵRuntimeError(4005 /* RuntimeErrorCode.INVALID_DOUBLE_DOTS */, NG_DEV_MODE$9 && 'Invalid number of \'../\'');
1075
+ throw new ɵRuntimeError(4005 /* RuntimeErrorCode.INVALID_DOUBLE_DOTS */, NG_DEV_MODE$a && 'Invalid number of \'../\'');
1104
1076
  }
1105
1077
  ci = g.segments.length;
1106
1078
  }
@@ -1246,13 +1218,6 @@ function compare(path, params, segment) {
1246
1218
  return path == segment.path && shallowEqual(params, segment.parameters);
1247
1219
  }
1248
1220
 
1249
- /**
1250
- * @license
1251
- * Copyright Google LLC All Rights Reserved.
1252
- *
1253
- * Use of this source code is governed by an MIT-style license that can be
1254
- * found in the LICENSE file at https://angular.io/license
1255
- */
1256
1221
  /**
1257
1222
  * Base for events the router goes through, as opposed to events tied to a specific
1258
1223
  * route. Fired one time for any given navigation.
@@ -1756,13 +1721,63 @@ function stringifyEvent(routerEvent) {
1756
1721
  }
1757
1722
  }
1758
1723
 
1759
- /**
1760
- * @license
1761
- * Copyright Google LLC All Rights Reserved.
1762
- *
1763
- * Use of this source code is governed by an MIT-style license that can be
1764
- * found in the LICENSE file at https://angular.io/license
1765
- */
1724
+ const NG_DEV_MODE$9 = typeof ngDevMode === 'undefined' || ngDevMode;
1725
+ class LegacyCreateUrlTree {
1726
+ createUrlTree(relativeTo, currentState, currentUrlTree, commands, queryParams, fragment) {
1727
+ const a = relativeTo || currentState.root;
1728
+ return createUrlTree(a, currentUrlTree, commands, queryParams, fragment);
1729
+ }
1730
+ }
1731
+ LegacyCreateUrlTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: LegacyCreateUrlTree, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1732
+ LegacyCreateUrlTree.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: LegacyCreateUrlTree });
1733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: LegacyCreateUrlTree, decorators: [{
1734
+ type: Injectable
1735
+ }] });
1736
+ class CreateUrlTreeUsingSnapshot {
1737
+ createUrlTree(relativeTo, currentState, currentUrlTree, commands, queryParams, fragment) {
1738
+ let relativeToUrlSegmentGroup;
1739
+ try {
1740
+ const relativeToSnapshot = relativeTo ? relativeTo.snapshot : currentState.snapshot.root;
1741
+ relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeToSnapshot);
1742
+ }
1743
+ catch (e) {
1744
+ // This is strictly for backwards compatibility with tests that create
1745
+ // invalid `ActivatedRoute` mocks.
1746
+ // Note: the difference between having this fallback for invalid `ActivatedRoute` setups and
1747
+ // just throwing is ~500 test failures. Fixing all of those tests by hand is not feasible at
1748
+ // the moment.
1749
+ if (NG_DEV_MODE$9) {
1750
+ console.warn(`The ActivatedRoute has an invalid structure. This is likely due to an incomplete mock in tests.`);
1751
+ }
1752
+ if (typeof commands[0] !== 'string' || !commands[0].startsWith('/')) {
1753
+ // Navigations that were absolute in the old way of creating UrlTrees
1754
+ // would still work because they wouldn't attempt to match the
1755
+ // segments in the `ActivatedRoute` to the `currentUrlTree` but
1756
+ // instead just replace the root segment with the navigation result.
1757
+ // Non-absolute navigations would fail to apply the commands because
1758
+ // the logic could not find the segment to replace (so they'd act like there were no
1759
+ // commands).
1760
+ commands = [];
1761
+ }
1762
+ relativeToUrlSegmentGroup = currentUrlTree.root;
1763
+ }
1764
+ return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, queryParams, fragment);
1765
+ }
1766
+ }
1767
+ CreateUrlTreeUsingSnapshot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeUsingSnapshot, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1768
+ CreateUrlTreeUsingSnapshot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeUsingSnapshot });
1769
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeUsingSnapshot, decorators: [{
1770
+ type: Injectable
1771
+ }] });
1772
+ class CreateUrlTreeStrategy {
1773
+ }
1774
+ CreateUrlTreeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1775
+ CreateUrlTreeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeStrategy, providedIn: 'root', useClass: LegacyCreateUrlTree });
1776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: CreateUrlTreeStrategy, decorators: [{
1777
+ type: Injectable,
1778
+ args: [{ providedIn: 'root', useClass: LegacyCreateUrlTree }]
1779
+ }] });
1780
+
1766
1781
  class Tree {
1767
1782
  constructor(root) {
1768
1783
  this._root = root;
@@ -1850,13 +1865,6 @@ function nodeChildrenAsMap(node) {
1850
1865
  return map;
1851
1866
  }
1852
1867
 
1853
- /**
1854
- * @license
1855
- * Copyright Google LLC All Rights Reserved.
1856
- *
1857
- * Use of this source code is governed by an MIT-style license that can be
1858
- * found in the LICENSE file at https://angular.io/license
1859
- */
1860
1868
  /**
1861
1869
  * Represents the state of the router as a tree of activated routes.
1862
1870
  *
@@ -2255,13 +2263,6 @@ function equalParamsAndUrlSegments(a, b) {
2255
2263
  (!a.parent || equalParamsAndUrlSegments(a.parent, b.parent));
2256
2264
  }
2257
2265
 
2258
- /**
2259
- * @license
2260
- * Copyright Google LLC All Rights Reserved.
2261
- *
2262
- * Use of this source code is governed by an MIT-style license that can be
2263
- * found in the LICENSE file at https://angular.io/license
2264
- */
2265
2266
  function createRouterState(routeReuseStrategy, curr, prevState) {
2266
2267
  const root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : undefined);
2267
2268
  return new RouterState(root, curr);
@@ -2304,13 +2305,6 @@ function createActivatedRoute(c) {
2304
2305
  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);
2305
2306
  }
2306
2307
 
2307
- /**
2308
- * @license
2309
- * Copyright Google LLC All Rights Reserved.
2310
- *
2311
- * Use of this source code is governed by an MIT-style license that can be
2312
- * found in the LICENSE file at https://angular.io/license
2313
- */
2314
2308
  const NAVIGATION_CANCELING_ERROR = 'ngNavigationCancelingError';
2315
2309
  function redirectingNavigationError(urlSerializer, redirect) {
2316
2310
  const { redirectTo, navigationBehaviorOptions } = isUrlTree(redirect) ? { redirectTo: redirect, navigationBehaviorOptions: undefined } : redirect;
@@ -2335,13 +2329,6 @@ function isNavigationCancelingError$1(error) {
2335
2329
  return error && error[NAVIGATION_CANCELING_ERROR];
2336
2330
  }
2337
2331
 
2338
- /**
2339
- * @license
2340
- * Copyright Google LLC All Rights Reserved.
2341
- *
2342
- * Use of this source code is governed by an MIT-style license that can be
2343
- * found in the LICENSE file at https://angular.io/license
2344
- */
2345
2332
  /**
2346
2333
  * Store contextual information about a `RouterOutlet`
2347
2334
  *
@@ -2413,20 +2400,13 @@ class ChildrenOutletContexts {
2413
2400
  return this.contexts.get(childName) || null;
2414
2401
  }
2415
2402
  }
2416
- ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2417
- ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2403
+ ChildrenOutletContexts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2404
+ ChildrenOutletContexts.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
2405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
2419
2406
  type: Injectable,
2420
2407
  args: [{ providedIn: 'root' }]
2421
2408
  }] });
2422
2409
 
2423
- /**
2424
- * @license
2425
- * Copyright Google LLC All Rights Reserved.
2426
- *
2427
- * Use of this source code is governed by an MIT-style license that can be
2428
- * found in the LICENSE file at https://angular.io/license
2429
- */
2430
2410
  const NG_DEV_MODE$8 = typeof ngDevMode === 'undefined' || ngDevMode;
2431
2411
  /**
2432
2412
  * @description
@@ -2635,9 +2615,9 @@ class RouterOutlet {
2635
2615
  this.activateEvents.emit(this.activated.instance);
2636
2616
  }
2637
2617
  }
2638
- RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2639
- 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 });
2640
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterOutlet, decorators: [{
2618
+ RouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2619
+ 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 });
2620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterOutlet, decorators: [{
2641
2621
  type: Directive,
2642
2622
  args: [{
2643
2623
  selector: 'router-outlet',
@@ -2679,13 +2659,6 @@ function isComponentFactoryResolver(item) {
2679
2659
  return !!item.resolveComponentFactory;
2680
2660
  }
2681
2661
 
2682
- /**
2683
- * @license
2684
- * Copyright Google LLC All Rights Reserved.
2685
- *
2686
- * Use of this source code is governed by an MIT-style license that can be
2687
- * found in the LICENSE file at https://angular.io/license
2688
- */
2689
2662
  /**
2690
2663
  * This component is used internally within the router to be a placeholder when an empty
2691
2664
  * router-outlet is needed. For example, with a config such as:
@@ -2697,9 +2670,9 @@ function isComponentFactoryResolver(item) {
2697
2670
  */
2698
2671
  class ɵEmptyOutletComponent {
2699
2672
  }
2700
- ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2701
- ɵ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"] }] });
2702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2673
+ ɵEmptyOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2674
+ ɵ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"] }] });
2675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
2703
2676
  type: Component,
2704
2677
  args: [{
2705
2678
  template: `<router-outlet></router-outlet>`,
@@ -2708,13 +2681,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
2708
2681
  }]
2709
2682
  }] });
2710
2683
 
2711
- /**
2712
- * @license
2713
- * Copyright Google LLC All Rights Reserved.
2714
- *
2715
- * Use of this source code is governed by an MIT-style license that can be
2716
- * found in the LICENSE file at https://angular.io/license
2717
- */
2718
2684
  /**
2719
2685
  * Creates an `EnvironmentInjector` if the `Route` has providers and one does not already exist
2720
2686
  * and returns the injector. Otherwise, if the `Route` does not have `providers`, returns the
@@ -2898,13 +2864,6 @@ function getClosestRouteInjector(snapshot) {
2898
2864
  return null;
2899
2865
  }
2900
2866
 
2901
- /**
2902
- * @license
2903
- * Copyright Google LLC All Rights Reserved.
2904
- *
2905
- * Use of this source code is governed by an MIT-style license that can be
2906
- * found in the LICENSE file at https://angular.io/license
2907
- */
2908
2867
  const activateRoutes = (rootContexts, routeReuseStrategy, forwardEvent) => map(t => {
2909
2868
  new ActivateRoutes(routeReuseStrategy, t.targetRouterState, t.currentRouterState, forwardEvent)
2910
2869
  .activate(rootContexts);
@@ -3073,13 +3032,6 @@ class ActivateRoutes {
3073
3032
  }
3074
3033
  }
3075
3034
 
3076
- /**
3077
- * @license
3078
- * Copyright Google LLC All Rights Reserved.
3079
- *
3080
- * Use of this source code is governed by an MIT-style license that can be
3081
- * found in the LICENSE file at https://angular.io/license
3082
- */
3083
3035
  class CanActivate {
3084
3036
  constructor(path) {
3085
3037
  this.path = path;
@@ -3223,13 +3175,6 @@ function deactivateRouteAndItsChildren(route, context, checks) {
3223
3175
  }
3224
3176
  }
3225
3177
 
3226
- /**
3227
- * @license
3228
- * Copyright Google LLC All Rights Reserved.
3229
- *
3230
- * Use of this source code is governed by an MIT-style license that can be
3231
- * found in the LICENSE file at https://angular.io/license
3232
- */
3233
3178
  /**
3234
3179
  * Simple function check, but generic so type inference will flow. Example:
3235
3180
  *
@@ -3274,13 +3219,6 @@ function isEmptyError(e) {
3274
3219
  return e instanceof EmptyError || e?.name === 'EmptyError';
3275
3220
  }
3276
3221
 
3277
- /**
3278
- * @license
3279
- * Copyright Google LLC All Rights Reserved.
3280
- *
3281
- * Use of this source code is governed by an MIT-style license that can be
3282
- * found in the LICENSE file at https://angular.io/license
3283
- */
3284
3222
  const INITIAL_VALUE = Symbol('INITIAL_VALUE');
3285
3223
  function prioritizedGuardValue() {
3286
3224
  return switchMap(obs => {
@@ -3308,13 +3246,6 @@ function prioritizedGuardValue() {
3308
3246
  });
3309
3247
  }
3310
3248
 
3311
- /**
3312
- * @license
3313
- * Copyright Google LLC All Rights Reserved.
3314
- *
3315
- * Use of this source code is governed by an MIT-style license that can be
3316
- * found in the LICENSE file at https://angular.io/license
3317
- */
3318
3249
  function checkGuards(injector, forwardEvent) {
3319
3250
  return mergeMap(t => {
3320
3251
  const { targetSnapshot, currentSnapshot, guards: { canActivateChecks, canDeactivateChecks } } = t;
@@ -3457,13 +3388,6 @@ function runCanMatchGuards(injector, route, segments, urlSerializer) {
3457
3388
  .pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));
3458
3389
  }
3459
3390
 
3460
- /**
3461
- * @license
3462
- * Copyright Google LLC All Rights Reserved.
3463
- *
3464
- * Use of this source code is governed by an MIT-style license that can be
3465
- * found in the LICENSE file at https://angular.io/license
3466
- */
3467
3391
  const noMatch$1 = {
3468
3392
  matched: false,
3469
3393
  consumedSegments: [],
@@ -3604,13 +3528,6 @@ function noLeftoversInUrl(segmentGroup, segments, outlet) {
3604
3528
  return segments.length === 0 && !segmentGroup.children[outlet];
3605
3529
  }
3606
3530
 
3607
- /**
3608
- * @license
3609
- * Copyright Google LLC All Rights Reserved.
3610
- *
3611
- * Use of this source code is governed by an MIT-style license that can be
3612
- * found in the LICENSE file at https://angular.io/license
3613
- */
3614
3531
  const NG_DEV_MODE$7 = typeof ngDevMode === 'undefined' || ngDevMode;
3615
3532
  class NoMatch$1 {
3616
3533
  constructor(segmentGroup) {
@@ -3925,25 +3842,11 @@ class ApplyRedirects {
3925
3842
  }
3926
3843
  }
3927
3844
 
3928
- /**
3929
- * @license
3930
- * Copyright Google LLC All Rights Reserved.
3931
- *
3932
- * Use of this source code is governed by an MIT-style license that can be
3933
- * found in the LICENSE file at https://angular.io/license
3934
- */
3935
3845
  function applyRedirects(environmentInjector, configLoader, urlSerializer, config) {
3936
3846
  return switchMap(t => applyRedirects$1(environmentInjector, configLoader, urlSerializer, t.extractedUrl, config)
3937
3847
  .pipe(map(urlAfterRedirects => ({ ...t, urlAfterRedirects }))));
3938
3848
  }
3939
3849
 
3940
- /**
3941
- * @license
3942
- * Copyright Google LLC All Rights Reserved.
3943
- *
3944
- * Use of this source code is governed by an MIT-style license that can be
3945
- * found in the LICENSE file at https://angular.io/license
3946
- */
3947
3850
  const NG_DEV_MODE$6 = typeof ngDevMode === 'undefined' || !!ngDevMode;
3948
3851
  class NoMatch {
3949
3852
  }
@@ -4224,25 +4127,11 @@ function getResolve(route) {
4224
4127
  return route.resolve || {};
4225
4128
  }
4226
4129
 
4227
- /**
4228
- * @license
4229
- * Copyright Google LLC All Rights Reserved.
4230
- *
4231
- * Use of this source code is governed by an MIT-style license that can be
4232
- * found in the LICENSE file at https://angular.io/license
4233
- */
4234
4130
  function recognize(injector, rootComponentType, config, serializer, paramsInheritanceStrategy) {
4235
4131
  return mergeMap(t => recognize$1(injector, rootComponentType, config, t.urlAfterRedirects, serializer.serialize(t.urlAfterRedirects), serializer, paramsInheritanceStrategy)
4236
4132
  .pipe(map(targetSnapshot => ({ ...t, targetSnapshot }))));
4237
4133
  }
4238
4134
 
4239
- /**
4240
- * @license
4241
- * Copyright Google LLC All Rights Reserved.
4242
- *
4243
- * Use of this source code is governed by an MIT-style license that can be
4244
- * found in the LICENSE file at https://angular.io/license
4245
- */
4246
4135
  function resolveData(paramsInheritanceStrategy, injector) {
4247
4136
  return mergeMap(t => {
4248
4137
  const { targetSnapshot, guards: { canActivateChecks } } = t;
@@ -4295,13 +4184,6 @@ function hasStaticTitle(config) {
4295
4184
  return typeof config.title === 'string' || config.title === null;
4296
4185
  }
4297
4186
 
4298
- /**
4299
- * @license
4300
- * Copyright Google LLC All Rights Reserved.
4301
- *
4302
- * Use of this source code is governed by an MIT-style license that can be
4303
- * found in the LICENSE file at https://angular.io/license
4304
- */
4305
4187
  /**
4306
4188
  * Perform a side effect through a switchMap for every emission on the source Observable,
4307
4189
  * but return an Observable that is identical to the source. It's essentially the same as
@@ -4318,26 +4200,12 @@ function switchTap(next) {
4318
4200
  });
4319
4201
  }
4320
4202
 
4321
- /**
4322
- * @license
4323
- * Copyright Google LLC All Rights Reserved.
4324
- *
4325
- * Use of this source code is governed by an MIT-style license that can be
4326
- * found in the LICENSE file at https://angular.io/license
4327
- */
4328
4203
  // This file exists to support the legacy `loadChildren: string` behavior being patched back into
4329
4204
  // Angular.
4330
4205
  function deprecatedLoadChildrenString(injector, loadChildren) {
4331
4206
  return null;
4332
4207
  }
4333
4208
 
4334
- /**
4335
- * @license
4336
- * Copyright Google LLC All Rights Reserved.
4337
- *
4338
- * Use of this source code is governed by an MIT-style license that can be
4339
- * found in the LICENSE file at https://angular.io/license
4340
- */
4341
4209
  const NG_DEV_MODE$5 = typeof ngDevMode === 'undefined' || !!ngDevMode;
4342
4210
  /**
4343
4211
  * The [DI token](guide/glossary/#di-token) for a router configuration.
@@ -4345,7 +4213,7 @@ const NG_DEV_MODE$5 = typeof ngDevMode === 'undefined' || !!ngDevMode;
4345
4213
  * `ROUTES` is a low level API for router configuration via dependency injection.
4346
4214
  *
4347
4215
  * We recommend that in almost all cases to use higher level APIs such as `RouterModule.forRoot()`,
4348
- * `RouterModule.forChild()`, `provideRoutes`, or `Router.resetConfig()`.
4216
+ * `provideRouter`, or `Router.resetConfig()`.
4349
4217
  *
4350
4218
  * @publicApi
4351
4219
  */
@@ -4442,9 +4310,9 @@ class RouterConfigLoader {
4442
4310
  }));
4443
4311
  }
4444
4312
  }
4445
- 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 });
4446
- RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterConfigLoader, decorators: [{
4313
+ 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 });
4314
+ RouterConfigLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
4315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterConfigLoader, decorators: [{
4448
4316
  type: Injectable,
4449
4317
  args: [{ providedIn: 'root' }]
4450
4318
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.Compiler }]; } });
@@ -4460,13 +4328,6 @@ function maybeUnwrapDefaultExport(input) {
4460
4328
  return isWrappedDefaultExport(input) ? input['default'] : input;
4461
4329
  }
4462
4330
 
4463
- /**
4464
- * @license
4465
- * Copyright Google LLC All Rights Reserved.
4466
- *
4467
- * Use of this source code is governed by an MIT-style license that can be
4468
- * found in the LICENSE file at https://angular.io/license
4469
- */
4470
4331
  const NG_DEV_MODE$4 = typeof ngDevMode === 'undefined' || !!ngDevMode;
4471
4332
  class NavigationTransitions {
4472
4333
  get hasRequestedNavigation() {
@@ -4812,7 +4673,7 @@ class NavigationTransitions {
4812
4673
  }
4813
4674
  return EMPTY;
4814
4675
  }));
4815
- // TODO(jasonaden): remove cast once g3 is on updated TypeScript
4676
+ // casting because `pipe` returns observable({}) when called with 8+ arguments
4816
4677
  }));
4817
4678
  }
4818
4679
  cancelNavigationTransition(t, reason, code, router) {
@@ -4821,9 +4682,9 @@ class NavigationTransitions {
4821
4682
  t.resolve(false);
4822
4683
  }
4823
4684
  }
4824
- NavigationTransitions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4825
- NavigationTransitions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
4826
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NavigationTransitions, decorators: [{
4685
+ NavigationTransitions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4686
+ NavigationTransitions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
4687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NavigationTransitions, decorators: [{
4827
4688
  type: Injectable,
4828
4689
  args: [{ providedIn: 'root' }]
4829
4690
  }], ctorParameters: function () { return []; } });
@@ -4831,13 +4692,6 @@ function isBrowserTriggeredNavigation(source) {
4831
4692
  return source !== 'imperative';
4832
4693
  }
4833
4694
 
4834
- /**
4835
- * @license
4836
- * Copyright Google LLC All Rights Reserved.
4837
- *
4838
- * Use of this source code is governed by an MIT-style license that can be
4839
- * found in the LICENSE file at https://angular.io/license
4840
- */
4841
4695
  /**
4842
4696
  * Provides a strategy for setting the page title after a router navigation.
4843
4697
  *
@@ -4882,9 +4736,9 @@ class TitleStrategy {
4882
4736
  return snapshot.data[RouteTitleKey];
4883
4737
  }
4884
4738
  }
4885
- TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4886
- TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4887
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: TitleStrategy, decorators: [{
4739
+ TitleStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4740
+ TitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
4741
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: TitleStrategy, decorators: [{
4888
4742
  type: Injectable,
4889
4743
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
4890
4744
  }] });
@@ -4908,20 +4762,13 @@ class DefaultTitleStrategy extends TitleStrategy {
4908
4762
  }
4909
4763
  }
4910
4764
  }
4911
- 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 });
4912
- DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4913
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4765
+ 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 });
4766
+ DefaultTitleStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
4767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
4914
4768
  type: Injectable,
4915
4769
  args: [{ providedIn: 'root' }]
4916
4770
  }], ctorParameters: function () { return [{ type: i1.Title }]; } });
4917
4771
 
4918
- /**
4919
- * @license
4920
- * Copyright Google LLC All Rights Reserved.
4921
- *
4922
- * Use of this source code is governed by an MIT-style license that can be
4923
- * found in the LICENSE file at https://angular.io/license
4924
- */
4925
4772
  /**
4926
4773
  * @description
4927
4774
  *
@@ -4931,9 +4778,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
4931
4778
  */
4932
4779
  class RouteReuseStrategy {
4933
4780
  }
4934
- RouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4935
- RouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
4936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4781
+ RouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4782
+ RouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
4783
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouteReuseStrategy, decorators: [{
4937
4784
  type: Injectable,
4938
4785
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
4939
4786
  }] });
@@ -4985,20 +4832,13 @@ class BaseRouteReuseStrategy {
4985
4832
  }
4986
4833
  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
4987
4834
  }
4988
- DefaultRouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4989
- DefaultRouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
4990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4835
+ DefaultRouteReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4836
+ DefaultRouteReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
4837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
4991
4838
  type: Injectable,
4992
4839
  args: [{ providedIn: 'root' }]
4993
4840
  }] });
4994
4841
 
4995
- /**
4996
- * @license
4997
- * Copyright Google LLC All Rights Reserved.
4998
- *
4999
- * Use of this source code is governed by an MIT-style license that can be
5000
- * found in the LICENSE file at https://angular.io/license
5001
- */
5002
4842
  const NG_DEV_MODE$3 = typeof ngDevMode === 'undefined' || !!ngDevMode;
5003
4843
  /**
5004
4844
  * A [DI token](guide/glossary/#di-token) for the router service.
@@ -5010,13 +4850,6 @@ const ROUTER_CONFIGURATION = new InjectionToken(NG_DEV_MODE$3 ? 'router config'
5010
4850
  factory: () => ({}),
5011
4851
  });
5012
4852
 
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
4853
  /**
5021
4854
  * @description
5022
4855
  *
@@ -5026,9 +4859,9 @@ const ROUTER_CONFIGURATION = new InjectionToken(NG_DEV_MODE$3 ? 'router config'
5026
4859
  */
5027
4860
  class UrlHandlingStrategy {
5028
4861
  }
5029
- UrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5030
- UrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
5031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
4862
+ UrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4863
+ UrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
4864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
5032
4865
  type: Injectable,
5033
4866
  args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
5034
4867
  }] });
@@ -5046,20 +4879,13 @@ class DefaultUrlHandlingStrategy {
5046
4879
  return newUrlPart;
5047
4880
  }
5048
4881
  }
5049
- DefaultUrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5050
- DefaultUrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
5051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
4882
+ DefaultUrlHandlingStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4883
+ DefaultUrlHandlingStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
4884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
5052
4885
  type: Injectable,
5053
4886
  args: [{ providedIn: 'root' }]
5054
4887
  }] });
5055
4888
 
5056
- /**
5057
- * @license
5058
- * Copyright Google LLC All Rights Reserved.
5059
- *
5060
- * Use of this source code is governed by an MIT-style license that can be
5061
- * found in the LICENSE file at https://angular.io/license
5062
- */
5063
4889
  const NG_DEV_MODE$2 = typeof ngDevMode === 'undefined' || !!ngDevMode;
5064
4890
  function defaultErrorHandler(error) {
5065
4891
  throw error;
@@ -5182,6 +5008,8 @@ class Router {
5182
5008
  * `{provide: RouteReuseStrategy, useClass: MyStrategy}`.
5183
5009
  */
5184
5010
  this.routeReuseStrategy = inject(RouteReuseStrategy);
5011
+ /** Strategy used to create a UrlTree. */
5012
+ this.urlCreationStrategy = inject(CreateUrlTreeStrategy);
5185
5013
  /**
5186
5014
  * A strategy for setting the title based on the `routerState`.
5187
5015
  *
@@ -5427,7 +5255,6 @@ class Router {
5427
5255
  */
5428
5256
  createUrlTree(commands, navigationExtras = {}) {
5429
5257
  const { relativeTo, queryParams, fragment, queryParamsHandling, preserveFragment } = navigationExtras;
5430
- const a = relativeTo || this.routerState.root;
5431
5258
  const f = preserveFragment ? this.currentUrlTree.fragment : fragment;
5432
5259
  let q = null;
5433
5260
  switch (queryParamsHandling) {
@@ -5443,7 +5270,7 @@ class Router {
5443
5270
  if (q !== null) {
5444
5271
  q = this.removeEmptyProps(q);
5445
5272
  }
5446
- return createUrlTree(a, this.currentUrlTree, commands, q, f ?? null);
5273
+ return this.urlCreationStrategy.createUrlTree(relativeTo, this.routerState, this.currentUrlTree, commands, q, f ?? null);
5447
5274
  }
5448
5275
  /**
5449
5276
  * Navigates to a view using an absolute route path.
@@ -5700,9 +5527,9 @@ class Router {
5700
5527
  return { navigationId };
5701
5528
  }
5702
5529
  }
5703
- Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5704
- Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: Router, providedIn: 'root' });
5705
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: Router, decorators: [{
5530
+ Router.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5531
+ Router.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: Router, providedIn: 'root' });
5532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: Router, decorators: [{
5706
5533
  type: Injectable,
5707
5534
  args: [{ providedIn: 'root' }]
5708
5535
  }], ctorParameters: function () { return []; } });
@@ -5715,13 +5542,6 @@ function validateCommands(commands) {
5715
5542
  }
5716
5543
  }
5717
5544
 
5718
- /**
5719
- * @license
5720
- * Copyright Google LLC All Rights Reserved.
5721
- *
5722
- * Use of this source code is governed by an MIT-style license that can be
5723
- * found in the LICENSE file at https://angular.io/license
5724
- */
5725
5545
  /**
5726
5546
  * @description
5727
5547
  *
@@ -5995,9 +5815,9 @@ class RouterLink {
5995
5815
  });
5996
5816
  }
5997
5817
  }
5998
- 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 });
5999
- 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 });
6000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterLink, decorators: [{
5818
+ 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 });
5819
+ 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 });
5820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterLink, decorators: [{
6001
5821
  type: Directive,
6002
5822
  args: [{
6003
5823
  selector: '[routerLink]',
@@ -6035,13 +5855,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
6035
5855
  ['$event.button', '$event.ctrlKey', '$event.shiftKey', '$event.altKey', '$event.metaKey']]
6036
5856
  }] } });
6037
5857
 
6038
- /**
6039
- * @license
6040
- * Copyright Google LLC All Rights Reserved.
6041
- *
6042
- * Use of this source code is governed by an MIT-style license that can be
6043
- * found in the LICENSE file at https://angular.io/license
6044
- */
6045
5858
  /**
6046
5859
  *
6047
5860
  * @description
@@ -6112,6 +5925,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2",
6112
5925
  * @publicApi
6113
5926
  */
6114
5927
  class RouterLinkActive {
5928
+ get isActive() {
5929
+ return this._isActive;
5930
+ }
6115
5931
  constructor(router, element, renderer, cdr, link) {
6116
5932
  this.router = router;
6117
5933
  this.element = element;
@@ -6119,7 +5935,7 @@ class RouterLinkActive {
6119
5935
  this.cdr = cdr;
6120
5936
  this.link = link;
6121
5937
  this.classes = [];
6122
- this.isActive = false;
5938
+ this._isActive = false;
6123
5939
  /**
6124
5940
  * Options to configure how to determine if the router link is active.
6125
5941
  *
@@ -6165,7 +5981,7 @@ class RouterLinkActive {
6165
5981
  .filter((link) => !!link)
6166
5982
  .map(link => link.onChanges);
6167
5983
  this.linkInputChangesSubscription = from(allLinkChanges).pipe(mergeAll()).subscribe(link => {
6168
- if (this.isActive !== this.isLinkActive(this.router)(link)) {
5984
+ if (this._isActive !== this.isLinkActive(this.router)(link)) {
6169
5985
  this.update();
6170
5986
  }
6171
5987
  });
@@ -6188,8 +6004,8 @@ class RouterLinkActive {
6188
6004
  return;
6189
6005
  Promise.resolve().then(() => {
6190
6006
  const hasActiveLinks = this.hasActiveLinks();
6191
- if (this.isActive !== hasActiveLinks) {
6192
- this.isActive = hasActiveLinks;
6007
+ if (this._isActive !== hasActiveLinks) {
6008
+ this._isActive = hasActiveLinks;
6193
6009
  this.cdr.markForCheck();
6194
6010
  this.classes.forEach((c) => {
6195
6011
  if (hasActiveLinks) {
@@ -6222,9 +6038,9 @@ class RouterLinkActive {
6222
6038
  return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);
6223
6039
  }
6224
6040
  }
6225
- 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 });
6226
- 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 });
6227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterLinkActive, decorators: [{
6041
+ 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 });
6042
+ 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 });
6043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterLinkActive, decorators: [{
6228
6044
  type: Directive,
6229
6045
  args: [{
6230
6046
  selector: '[routerLinkActive]',
@@ -6252,13 +6068,6 @@ function isActiveMatchOptions(options) {
6252
6068
  return !!options.paths;
6253
6069
  }
6254
6070
 
6255
- /**
6256
- * @license
6257
- * Copyright Google LLC All Rights Reserved.
6258
- *
6259
- * Use of this source code is governed by an MIT-style license that can be
6260
- * found in the LICENSE file at https://angular.io/license
6261
- */
6262
6071
  /**
6263
6072
  * @description
6264
6073
  *
@@ -6284,9 +6093,9 @@ class PreloadAllModules {
6284
6093
  return fn().pipe(catchError(() => of(null)));
6285
6094
  }
6286
6095
  }
6287
- PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6288
- PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: PreloadAllModules, decorators: [{
6096
+ PreloadAllModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: PreloadAllModules, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6097
+ PreloadAllModules.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: PreloadAllModules, providedIn: 'root' });
6098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: PreloadAllModules, decorators: [{
6290
6099
  type: Injectable,
6291
6100
  args: [{ providedIn: 'root' }]
6292
6101
  }] });
@@ -6304,9 +6113,9 @@ class NoPreloading {
6304
6113
  return of(null);
6305
6114
  }
6306
6115
  }
6307
- NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6308
- NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: NoPreloading, decorators: [{
6116
+ NoPreloading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NoPreloading, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6117
+ NoPreloading.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NoPreloading, providedIn: 'root' });
6118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: NoPreloading, decorators: [{
6310
6119
  type: Injectable,
6311
6120
  args: [{ providedIn: 'root' }]
6312
6121
  }] });
@@ -6400,20 +6209,13 @@ class RouterPreloader {
6400
6209
  });
6401
6210
  }
6402
6211
  }
6403
- 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 });
6404
- RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterPreloader, decorators: [{
6212
+ 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 });
6213
+ RouterPreloader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterPreloader, providedIn: 'root' });
6214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterPreloader, decorators: [{
6406
6215
  type: Injectable,
6407
6216
  args: [{ providedIn: 'root' }]
6408
6217
  }], ctorParameters: function () { return [{ type: Router }, { type: i0.Compiler }, { type: i0.EnvironmentInjector }, { type: PreloadingStrategy }, { type: RouterConfigLoader }]; } });
6409
6218
 
6410
- /**
6411
- * @license
6412
- * Copyright Google LLC All Rights Reserved.
6413
- *
6414
- * Use of this source code is governed by an MIT-style license that can be
6415
- * found in the LICENSE file at https://angular.io/license
6416
- */
6417
6219
  const ROUTER_SCROLLER = new InjectionToken('');
6418
6220
  class RouterScroller {
6419
6221
  /** @nodoc */
@@ -6497,19 +6299,12 @@ class RouterScroller {
6497
6299
  this.scrollEventsSubscription?.unsubscribe();
6498
6300
  }
6499
6301
  }
6500
- RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6501
- RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterScroller });
6502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterScroller, decorators: [{
6302
+ RouterScroller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterScroller, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
6303
+ RouterScroller.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterScroller });
6304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterScroller, decorators: [{
6503
6305
  type: Injectable
6504
6306
  }], ctorParameters: function () { return [{ type: UrlSerializer }, { type: NavigationTransitions }, { type: i3.ViewportScroller }, { type: i0.NgZone }, { type: undefined }]; } });
6505
6307
 
6506
- /**
6507
- * @license
6508
- * Copyright Google LLC All Rights Reserved.
6509
- *
6510
- * Use of this source code is governed by an MIT-style license that can be
6511
- * found in the LICENSE file at https://angular.io/license
6512
- */
6513
6308
  const NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || ngDevMode;
6514
6309
  /**
6515
6310
  * Sets up providers necessary to enable `Router` functionality for the application.
@@ -6917,14 +6712,37 @@ function withRouterConfig(options) {
6917
6712
  ];
6918
6713
  return routerFeature(5 /* RouterFeatureKind.RouterConfigurationFeature */, providers);
6919
6714
  }
6920
-
6921
6715
  /**
6922
- * @license
6923
- * Copyright Google LLC All Rights Reserved.
6716
+ * Provides the location strategy that uses the URL fragment instead of the history API.
6717
+ *
6718
+ * @usageNotes
6719
+ *
6720
+ * Basic example of how you can use the hash location option:
6721
+ * ```
6722
+ * const appRoutes: Routes = [];
6723
+ * bootstrapApplication(AppComponent,
6724
+ * {
6725
+ * providers: [
6726
+ * provideRouter(appRoutes, withHashLocation())
6727
+ * ]
6728
+ * }
6729
+ * );
6730
+ * ```
6731
+ *
6732
+ * @see `provideRouter`
6733
+ * @see `HashLocationStrategy`
6734
+ *
6735
+ * @returns A set of providers for use with `provideRouter`.
6924
6736
  *
6925
- * Use of this source code is governed by an MIT-style license that can be
6926
- * found in the LICENSE file at https://angular.io/license
6737
+ * @publicApi
6927
6738
  */
6739
+ function withHashLocation() {
6740
+ const providers = [
6741
+ { provide: LocationStrategy, useClass: HashLocationStrategy },
6742
+ ];
6743
+ return routerFeature(5 /* RouterFeatureKind.RouterConfigurationFeature */, providers);
6744
+ }
6745
+
6928
6746
  const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
6929
6747
  /**
6930
6748
  * The directives defined in the `RouterModule`.
@@ -7038,10 +6856,10 @@ class RouterModule {
7038
6856
  };
7039
6857
  }
7040
6858
  }
7041
- 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 });
7042
- 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] });
7043
- RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
7044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-next.2", ngImport: i0, type: RouterModule, decorators: [{
6859
+ 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 });
6860
+ 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] });
6861
+ RouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterModule, imports: [ɵEmptyOutletComponent] });
6862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0-rc.0", ngImport: i0, type: RouterModule, decorators: [{
7045
6863
  type: NgModule,
7046
6864
  args: [{
7047
6865
  imports: ROUTER_DIRECTIVES,
@@ -7118,53 +6936,27 @@ function provideRouterInitializer() {
7118
6936
  }
7119
6937
 
7120
6938
  /**
7121
- * @license
7122
- * Copyright Google LLC All Rights Reserved.
7123
- *
7124
- * Use of this source code is governed by an MIT-style license that can be
7125
- * found in the LICENSE file at https://angular.io/license
6939
+ * @module
6940
+ * @description
6941
+ * Entry point for all public APIs of the router package.
7126
6942
  */
7127
6943
  /**
7128
6944
  * @publicApi
7129
6945
  */
7130
- const VERSION = new Version('15.1.0-next.2');
6946
+ const VERSION = new Version('15.1.0-rc.0');
7131
6947
 
7132
6948
  /**
7133
- * @license
7134
- * Copyright Google LLC All Rights Reserved.
7135
- *
7136
- * Use of this source code is governed by an MIT-style license that can be
7137
- * found in the LICENSE file at https://angular.io/license
7138
- */
7139
-
7140
- /**
7141
- * @license
7142
- * Copyright Google LLC All Rights Reserved.
7143
- *
7144
- * Use of this source code is governed by an MIT-style license that can be
7145
- * found in the LICENSE file at https://angular.io/license
7146
- */
7147
-
7148
- /**
7149
- * @license
7150
- * Copyright Google LLC All Rights Reserved.
7151
- *
7152
- * Use of this source code is governed by an MIT-style license that can be
7153
- * found in the LICENSE file at https://angular.io/license
6949
+ * @module
6950
+ * @description
6951
+ * Entry point for all public APIs of this package.
7154
6952
  */
7155
6953
  // This file only reexports content of the `src` folder. Keep it that way.
7156
6954
 
7157
- /**
7158
- * @license
7159
- * Copyright Google LLC All Rights Reserved.
7160
- *
7161
- * Use of this source code is governed by an MIT-style license that can be
7162
- * found in the LICENSE file at https://angular.io/license
7163
- */
6955
+ // This file is not used to build this module. It is only used during editing
7164
6956
 
7165
6957
  /**
7166
6958
  * Generated bundle index. Do not edit.
7167
6959
  */
7168
6960
 
7169
- 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 };
6961
+ 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 };
7170
6962
  //# sourceMappingURL=router.mjs.map