@angular/common 17.1.2 → 17.2.0-next.1

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 (66) hide show
  1. package/esm2022/http/src/client.mjs +3 -3
  2. package/esm2022/http/src/fetch.mjs +3 -3
  3. package/esm2022/http/src/interceptor.mjs +3 -3
  4. package/esm2022/http/src/jsonp.mjs +6 -6
  5. package/esm2022/http/src/module.mjs +12 -12
  6. package/esm2022/http/src/xhr.mjs +3 -3
  7. package/esm2022/http/src/xsrf.mjs +6 -6
  8. package/esm2022/http/testing/src/backend.mjs +3 -3
  9. package/esm2022/http/testing/src/module.mjs +4 -4
  10. package/esm2022/src/common.mjs +1 -1
  11. package/esm2022/src/common_module.mjs +4 -4
  12. package/esm2022/src/directives/ng_class.mjs +3 -3
  13. package/esm2022/src/directives/ng_component_outlet.mjs +3 -3
  14. package/esm2022/src/directives/ng_for_of.mjs +3 -3
  15. package/esm2022/src/directives/ng_if.mjs +3 -3
  16. package/esm2022/src/directives/ng_optimized_image/image_loaders/image_loader.mjs +1 -1
  17. package/esm2022/src/directives/ng_optimized_image/index.mjs +1 -1
  18. package/esm2022/src/directives/ng_optimized_image/lcp_image_observer.mjs +3 -3
  19. package/esm2022/src/directives/ng_optimized_image/ng_optimized_image.mjs +130 -5
  20. package/esm2022/src/directives/ng_optimized_image/preconnect_link_checker.mjs +3 -3
  21. package/esm2022/src/directives/ng_optimized_image/preload-link-creator.mjs +3 -3
  22. package/esm2022/src/directives/ng_plural.mjs +6 -6
  23. package/esm2022/src/directives/ng_style.mjs +3 -3
  24. package/esm2022/src/directives/ng_switch.mjs +9 -9
  25. package/esm2022/src/directives/ng_template_outlet.mjs +3 -3
  26. package/esm2022/src/errors.mjs +1 -1
  27. package/esm2022/src/i18n/localization.mjs +6 -6
  28. package/esm2022/src/location/hash_location_strategy.mjs +3 -3
  29. package/esm2022/src/location/location.mjs +3 -3
  30. package/esm2022/src/location/location_strategy.mjs +6 -6
  31. package/esm2022/src/location/platform_location.mjs +6 -6
  32. package/esm2022/src/navigation/navigation_types.mjs +9 -0
  33. package/esm2022/src/navigation/platform_navigation.mjs +4 -4
  34. package/esm2022/src/pipes/async_pipe.mjs +3 -3
  35. package/esm2022/src/pipes/case_conversion_pipes.mjs +9 -9
  36. package/esm2022/src/pipes/date_pipe.mjs +3 -3
  37. package/esm2022/src/pipes/i18n_plural_pipe.mjs +3 -3
  38. package/esm2022/src/pipes/i18n_select_pipe.mjs +3 -3
  39. package/esm2022/src/pipes/json_pipe.mjs +3 -3
  40. package/esm2022/src/pipes/keyvalue_pipe.mjs +3 -3
  41. package/esm2022/src/pipes/number_pipe.mjs +9 -9
  42. package/esm2022/src/pipes/slice_pipe.mjs +3 -3
  43. package/esm2022/src/private_export.mjs +2 -1
  44. package/esm2022/src/version.mjs +1 -1
  45. package/esm2022/testing/src/location_mock.mjs +3 -3
  46. package/esm2022/testing/src/mock_location_strategy.mjs +3 -3
  47. package/esm2022/testing/src/mock_platform_location.mjs +83 -5
  48. package/esm2022/testing/src/navigation/fake_navigation.mjs +1 -3
  49. package/esm2022/testing/src/navigation/navigation_types.mjs +9 -0
  50. package/esm2022/testing/src/navigation/provide_fake_platform_navigation.mjs +7 -4
  51. package/esm2022/testing/src/private_export.mjs +9 -0
  52. package/esm2022/testing/src/testing.mjs +2 -1
  53. package/esm2022/upgrade/src/location_upgrade_module.mjs +4 -4
  54. package/fesm2022/common.mjs +255 -117
  55. package/fesm2022/common.mjs.map +1 -1
  56. package/fesm2022/http/testing.mjs +8 -8
  57. package/fesm2022/http.mjs +37 -37
  58. package/fesm2022/testing.mjs +986 -228
  59. package/fesm2022/testing.mjs.map +1 -1
  60. package/fesm2022/upgrade.mjs +5 -5
  61. package/http/index.d.ts +1 -1
  62. package/http/testing/index.d.ts +1 -1
  63. package/index.d.ts +197 -2
  64. package/package.json +2 -2
  65. package/testing/index.d.ts +6 -1
  66. package/upgrade/index.d.ts +1 -1
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v17.1.2
2
+ * @license Angular v17.2.0-next.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
7
  import * as i0 from '@angular/core';
8
- import { InjectionToken, inject, Injectable, Optional, Inject, EventEmitter, ɵɵinject, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, ɵformatRuntimeError, Host, Attribute, RendererStyleFlags2, untracked, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, PLATFORM_ID, ɵIMAGE_CONFIG, Renderer2, ElementRef, Injector, ɵperformanceMarkFeature, NgZone, numberAttribute, booleanAttribute, ɵIMAGE_CONFIG_DEFAULTS, ɵunwrapSafeValue } from '@angular/core';
8
+ import { Injectable, InjectionToken, inject, Optional, Inject, EventEmitter, ɵɵinject, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, ɵformatRuntimeError, Host, Attribute, RendererStyleFlags2, untracked, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, PLATFORM_ID, ɵIMAGE_CONFIG, Renderer2, ElementRef, Injector, ɵperformanceMarkFeature, NgZone, numberAttribute, booleanAttribute, ɵIMAGE_CONFIG_DEFAULTS, ɵunwrapSafeValue } from '@angular/core';
9
9
  export { ɵIMAGE_CONFIG as IMAGE_CONFIG } from '@angular/core';
10
10
 
11
11
  let _DOM = null;
@@ -25,6 +25,19 @@ function setRootDomAdapter(adapter) {
25
25
  class DomAdapter {
26
26
  }
27
27
 
28
+ /**
29
+ * This class wraps the platform Navigation API which allows server-specific and test
30
+ * implementations.
31
+ */
32
+ class PlatformNavigation {
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PlatformNavigation, decorators: [{
37
+ type: Injectable,
38
+ args: [{ providedIn: 'platform', useFactory: () => window.navigation }]
39
+ }] });
40
+
28
41
  /**
29
42
  * A DI Token representing the main rendering context.
30
43
  * In a browser and SSR this is the DOM Document.
@@ -60,10 +73,10 @@ class PlatformLocation {
60
73
  historyGo(relativePosition) {
61
74
  throw new Error(ngDevMode ? 'Not implemented' : '');
62
75
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
77
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }); }
65
78
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PlatformLocation, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PlatformLocation, decorators: [{
67
80
  type: Injectable,
68
81
  args: [{ providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }]
69
82
  }] });
@@ -143,10 +156,10 @@ class BrowserPlatformLocation extends PlatformLocation {
143
156
  getState() {
144
157
  return this._history.state;
145
158
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() }); }
148
161
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
150
163
  type: Injectable,
151
164
  args: [{
152
165
  providedIn: 'platform',
@@ -232,10 +245,10 @@ class LocationStrategy {
232
245
  historyGo(relativePosition) {
233
246
  throw new Error(ngDevMode ? 'Not implemented' : '');
234
247
  }
235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
236
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }); }
248
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
249
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }); }
237
250
  }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LocationStrategy, decorators: [{
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LocationStrategy, decorators: [{
239
252
  type: Injectable,
240
253
  args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]
241
254
  }] });
@@ -345,10 +358,10 @@ class PathLocationStrategy extends LocationStrategy {
345
358
  historyGo(relativePosition = 0) {
346
359
  this._platformLocation.historyGo?.(relativePosition);
347
360
  }
348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
349
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' }); }
361
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
362
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' }); }
350
363
  }
351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PathLocationStrategy, decorators: [{
364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PathLocationStrategy, decorators: [{
352
365
  type: Injectable,
353
366
  args: [{ providedIn: 'root' }]
354
367
  }], ctorParameters: () => [{ type: PlatformLocation }, { type: undefined, decorators: [{
@@ -434,10 +447,10 @@ class HashLocationStrategy extends LocationStrategy {
434
447
  historyGo(relativePosition = 0) {
435
448
  this._platformLocation.historyGo?.(relativePosition);
436
449
  }
437
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
438
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HashLocationStrategy }); }
450
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
451
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: HashLocationStrategy }); }
439
452
  }
440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HashLocationStrategy, decorators: [{
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: HashLocationStrategy, decorators: [{
441
454
  type: Injectable
442
455
  }], ctorParameters: () => [{ type: PlatformLocation }, { type: undefined, decorators: [{
443
456
  type: Optional
@@ -684,10 +697,10 @@ class Location {
684
697
  * @returns The URL string, modified if needed.
685
698
  */
686
699
  static { this.stripTrailingSlash = stripTrailingSlash; }
687
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
688
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation }); }
700
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
701
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation }); }
689
702
  }
690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Location, decorators: [{
703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: Location, decorators: [{
691
704
  type: Injectable,
692
705
  args: [{
693
706
  providedIn: 'root',
@@ -2505,10 +2518,10 @@ function parseIntAutoRadix(text) {
2505
2518
  * @publicApi
2506
2519
  */
2507
2520
  class NgLocalization {
2508
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2509
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] }); }
2521
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2522
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] }); }
2510
2523
  }
2511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgLocalization, decorators: [{
2524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgLocalization, decorators: [{
2512
2525
  type: Injectable,
2513
2526
  args: [{
2514
2527
  providedIn: 'root',
@@ -2562,10 +2575,10 @@ class NgLocaleLocalization extends NgLocalization {
2562
2575
  return 'other';
2563
2576
  }
2564
2577
  }
2565
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
2566
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgLocaleLocalization }); }
2578
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
2579
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgLocaleLocalization }); }
2567
2580
  }
2568
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2569
2582
  type: Injectable
2570
2583
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2571
2584
  type: Inject,
@@ -2734,10 +2747,10 @@ class NgClass {
2734
2747
  });
2735
2748
  }
2736
2749
  }
2737
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgClass, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
2738
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 }); }
2750
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgClass, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
2751
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 }); }
2739
2752
  }
2740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgClass, decorators: [{
2753
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgClass, decorators: [{
2741
2754
  type: Directive,
2742
2755
  args: [{
2743
2756
  selector: '[ngClass]',
@@ -2904,10 +2917,10 @@ class NgComponentOutlet {
2904
2917
  }
2905
2918
  }
2906
2919
  }
2907
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2908
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInputs: "ngComponentOutletInputs", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 }); }
2920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2921
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInputs: "ngComponentOutletInputs", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 }); }
2909
2922
  }
2910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgComponentOutlet, decorators: [{
2923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgComponentOutlet, decorators: [{
2911
2924
  type: Directive,
2912
2925
  args: [{
2913
2926
  selector: '[ngComponentOutlet]',
@@ -3187,10 +3200,10 @@ class NgForOf {
3187
3200
  static ngTemplateContextGuard(dir, ctx) {
3188
3201
  return true;
3189
3202
  }
3190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
3191
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 }); }
3203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
3204
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 }); }
3192
3205
  }
3193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgForOf, decorators: [{
3206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgForOf, decorators: [{
3194
3207
  type: Directive,
3195
3208
  args: [{
3196
3209
  selector: '[ngFor][ngForOf]',
@@ -3413,10 +3426,10 @@ class NgIf {
3413
3426
  static ngTemplateContextGuard(dir, ctx) {
3414
3427
  return true;
3415
3428
  }
3416
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3417
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 }); }
3429
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3430
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 }); }
3418
3431
  }
3419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgIf, decorators: [{
3432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgIf, decorators: [{
3420
3433
  type: Directive,
3421
3434
  args: [{
3422
3435
  selector: '[ngIf]',
@@ -3589,10 +3602,10 @@ class NgSwitch {
3589
3602
  }
3590
3603
  }
3591
3604
  }
3592
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3593
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 }); }
3605
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3606
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 }); }
3594
3607
  }
3595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgSwitch, decorators: [{
3608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgSwitch, decorators: [{
3596
3609
  type: Directive,
3597
3610
  args: [{
3598
3611
  selector: '[ngSwitch]',
@@ -3650,10 +3663,10 @@ class NgSwitchCase {
3650
3663
  ngDoCheck() {
3651
3664
  this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
3652
3665
  }
3653
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3654
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 }); }
3666
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3667
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 }); }
3655
3668
  }
3656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgSwitchCase, decorators: [{
3669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgSwitchCase, decorators: [{
3657
3670
  type: Directive,
3658
3671
  args: [{
3659
3672
  selector: '[ngSwitchCase]',
@@ -3687,10 +3700,10 @@ class NgSwitchDefault {
3687
3700
  }
3688
3701
  ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
3689
3702
  }
3690
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3691
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 }); }
3703
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3704
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 }); }
3692
3705
  }
3693
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgSwitchDefault, decorators: [{
3706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgSwitchDefault, decorators: [{
3694
3707
  type: Directive,
3695
3708
  args: [{
3696
3709
  selector: '[ngSwitchDefault]',
@@ -3768,10 +3781,10 @@ class NgPlural {
3768
3781
  this._activeView.create();
3769
3782
  }
3770
3783
  }
3771
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive }); }
3772
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 }); }
3784
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive }); }
3785
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 }); }
3773
3786
  }
3774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgPlural, decorators: [{
3787
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgPlural, decorators: [{
3775
3788
  type: Directive,
3776
3789
  args: [{
3777
3790
  selector: '[ngPlural]',
@@ -3806,10 +3819,10 @@ class NgPluralCase {
3806
3819
  const isANumber = !isNaN(Number(value));
3807
3820
  ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));
3808
3821
  }
3809
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3810
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 }); }
3822
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3823
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 }); }
3811
3824
  }
3812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgPluralCase, decorators: [{
3825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgPluralCase, decorators: [{
3813
3826
  type: Directive,
3814
3827
  args: [{
3815
3828
  selector: '[ngPluralCase]',
@@ -3895,10 +3908,10 @@ class NgStyle {
3895
3908
  changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));
3896
3909
  changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));
3897
3910
  }
3898
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
3899
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 }); }
3911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
3912
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 }); }
3900
3913
  }
3901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgStyle, decorators: [{
3914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgStyle, decorators: [{
3902
3915
  type: Directive,
3903
3916
  args: [{
3904
3917
  selector: '[ngStyle]',
@@ -3999,10 +4012,10 @@ class NgTemplateOutlet {
3999
4012
  },
4000
4013
  });
4001
4014
  }
4002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4003
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 }); }
4015
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4016
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0-next.1", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 }); }
4004
4017
  }
4005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4006
4019
  type: Directive,
4007
4020
  args: [{
4008
4021
  selector: '[ngTemplateOutlet]',
@@ -4160,10 +4173,10 @@ class AsyncPipe {
4160
4173
  this._ref.markForCheck();
4161
4174
  }
4162
4175
  }
4163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
4164
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false }); }
4176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
4177
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false }); }
4165
4178
  }
4166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AsyncPipe, decorators: [{
4179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: AsyncPipe, decorators: [{
4167
4180
  type: Pipe,
4168
4181
  args: [{
4169
4182
  name: 'async',
@@ -4196,10 +4209,10 @@ class LowerCasePipe {
4196
4209
  }
4197
4210
  return value.toLowerCase();
4198
4211
  }
4199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4200
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" }); }
4212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4213
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" }); }
4201
4214
  }
4202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LowerCasePipe, decorators: [{
4215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LowerCasePipe, decorators: [{
4203
4216
  type: Pipe,
4204
4217
  args: [{
4205
4218
  name: 'lowercase',
@@ -4241,10 +4254,10 @@ class TitleCasePipe {
4241
4254
  }
4242
4255
  return value.replace(unicodeWordMatch, (txt) => txt[0].toUpperCase() + txt.slice(1).toLowerCase());
4243
4256
  }
4244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4245
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" }); }
4257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4258
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" }); }
4246
4259
  }
4247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TitleCasePipe, decorators: [{
4260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: TitleCasePipe, decorators: [{
4248
4261
  type: Pipe,
4249
4262
  args: [{
4250
4263
  name: 'titlecase',
@@ -4268,10 +4281,10 @@ class UpperCasePipe {
4268
4281
  }
4269
4282
  return value.toUpperCase();
4270
4283
  }
4271
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4272
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" }); }
4284
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4285
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" }); }
4273
4286
  }
4274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UpperCasePipe, decorators: [{
4287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: UpperCasePipe, decorators: [{
4275
4288
  type: Pipe,
4276
4289
  args: [{
4277
4290
  name: 'uppercase',
@@ -4502,10 +4515,10 @@ class DatePipe {
4502
4515
  throw invalidPipeArgumentError(DatePipe, error.message);
4503
4516
  }
4504
4517
  }
4505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }, { token: DATE_PIPE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
4506
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" }); }
4518
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }, { token: DATE_PIPE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
4519
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" }); }
4507
4520
  }
4508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DatePipe, decorators: [{
4521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: DatePipe, decorators: [{
4509
4522
  type: Pipe,
4510
4523
  args: [{
4511
4524
  name: 'date',
@@ -4561,10 +4574,10 @@ class I18nPluralPipe {
4561
4574
  const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);
4562
4575
  return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
4563
4576
  }
4564
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe }); }
4565
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" }); }
4577
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe }); }
4578
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" }); }
4566
4579
  }
4567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: I18nPluralPipe, decorators: [{
4580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: I18nPluralPipe, decorators: [{
4568
4581
  type: Pipe,
4569
4582
  args: [{
4570
4583
  name: 'i18nPlural',
@@ -4609,10 +4622,10 @@ class I18nSelectPipe {
4609
4622
  }
4610
4623
  return '';
4611
4624
  }
4612
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4613
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" }); }
4625
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4626
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" }); }
4614
4627
  }
4615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: I18nSelectPipe, decorators: [{
4628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: I18nSelectPipe, decorators: [{
4616
4629
  type: Pipe,
4617
4630
  args: [{
4618
4631
  name: 'i18nSelect',
@@ -4642,10 +4655,10 @@ class JsonPipe {
4642
4655
  transform(value) {
4643
4656
  return JSON.stringify(value, null, 2);
4644
4657
  }
4645
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4646
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false }); }
4658
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4659
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false }); }
4647
4660
  }
4648
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: JsonPipe, decorators: [{
4661
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: JsonPipe, decorators: [{
4649
4662
  type: Pipe,
4650
4663
  args: [{
4651
4664
  name: 'json',
@@ -4703,10 +4716,10 @@ class KeyValuePipe {
4703
4716
  }
4704
4717
  return this.keyValues;
4705
4718
  }
4706
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe }); }
4707
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false }); }
4719
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe }); }
4720
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false }); }
4708
4721
  }
4709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: KeyValuePipe, decorators: [{
4722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: KeyValuePipe, decorators: [{
4710
4723
  type: Pipe,
4711
4724
  args: [{
4712
4725
  name: 'keyvalue',
@@ -4831,10 +4844,10 @@ class DecimalPipe {
4831
4844
  throw invalidPipeArgumentError(DecimalPipe, error.message);
4832
4845
  }
4833
4846
  }
4834
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4835
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" }); }
4847
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4848
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" }); }
4836
4849
  }
4837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DecimalPipe, decorators: [{
4850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: DecimalPipe, decorators: [{
4838
4851
  type: Pipe,
4839
4852
  args: [{
4840
4853
  name: 'number',
@@ -4896,10 +4909,10 @@ class PercentPipe {
4896
4909
  throw invalidPipeArgumentError(PercentPipe, error.message);
4897
4910
  }
4898
4911
  }
4899
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4900
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" }); }
4912
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4913
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" }); }
4901
4914
  }
4902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PercentPipe, decorators: [{
4915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PercentPipe, decorators: [{
4903
4916
  type: Pipe,
4904
4917
  args: [{
4905
4918
  name: 'percent',
@@ -4995,10 +5008,10 @@ class CurrencyPipe {
4995
5008
  throw invalidPipeArgumentError(CurrencyPipe, error.message);
4996
5009
  }
4997
5010
  }
4998
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
4999
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" }); }
5011
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
5012
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" }); }
5000
5013
  }
5001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CurrencyPipe, decorators: [{
5014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: CurrencyPipe, decorators: [{
5002
5015
  type: Pipe,
5003
5016
  args: [{
5004
5017
  name: 'currency',
@@ -5075,10 +5088,10 @@ class SlicePipe {
5075
5088
  supports(obj) {
5076
5089
  return typeof obj === 'string' || Array.isArray(obj);
5077
5090
  }
5078
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5079
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false }); }
5091
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5092
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false }); }
5080
5093
  }
5081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SlicePipe, decorators: [{
5094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: SlicePipe, decorators: [{
5082
5095
  type: Pipe,
5083
5096
  args: [{
5084
5097
  name: 'slice',
@@ -5122,11 +5135,11 @@ const COMMON_PIPES = [
5122
5135
  * @publicApi
5123
5136
  */
5124
5137
  class CommonModule {
5125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5126
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] }); }
5127
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CommonModule }); }
5138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5139
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0-next.1", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] }); }
5140
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: CommonModule }); }
5128
5141
  }
5129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CommonModule, decorators: [{
5142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: CommonModule, decorators: [{
5130
5143
  type: NgModule,
5131
5144
  args: [{
5132
5145
  imports: [COMMON_DIRECTIVES, COMMON_PIPES],
@@ -5179,7 +5192,7 @@ function isPlatformWorkerUi(platformId) {
5179
5192
  /**
5180
5193
  * @publicApi
5181
5194
  */
5182
- const VERSION = new Version('17.1.2');
5195
+ const VERSION = new Version('17.2.0-next.1');
5183
5196
 
5184
5197
  /**
5185
5198
  * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.
@@ -5693,10 +5706,10 @@ class LCPImageObserver {
5693
5706
  this.observer.disconnect();
5694
5707
  this.images.clear();
5695
5708
  }
5696
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5697
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LCPImageObserver, providedIn: 'root' }); }
5709
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5710
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LCPImageObserver, providedIn: 'root' }); }
5698
5711
  }
5699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LCPImageObserver, decorators: [{
5712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: LCPImageObserver, decorators: [{
5700
5713
  type: Injectable,
5701
5714
  args: [{ providedIn: 'root' }]
5702
5715
  }], ctorParameters: () => [] });
@@ -5819,10 +5832,10 @@ class PreconnectLinkChecker {
5819
5832
  this.preconnectLinks?.clear();
5820
5833
  this.alreadySeen.clear();
5821
5834
  }
5822
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5823
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' }); }
5835
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5836
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' }); }
5824
5837
  }
5825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
5838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
5826
5839
  type: Injectable,
5827
5840
  args: [{ providedIn: 'root' }]
5828
5841
  }], ctorParameters: () => [] });
@@ -5911,10 +5924,10 @@ class PreloadLinkCreator {
5911
5924
  }
5912
5925
  renderer.appendChild(this.document.head, preload);
5913
5926
  }
5914
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5915
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' }); }
5927
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5928
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' }); }
5916
5929
  }
5917
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PreloadLinkCreator, decorators: [{
5930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: PreloadLinkCreator, decorators: [{
5918
5931
  type: Injectable,
5919
5932
  args: [{ providedIn: 'root' }]
5920
5933
  }] });
@@ -5972,6 +5985,21 @@ const OVERSIZED_IMAGE_TOLERANCE = 1000;
5972
5985
  */
5973
5986
  const FIXED_SRCSET_WIDTH_LIMIT = 1920;
5974
5987
  const FIXED_SRCSET_HEIGHT_LIMIT = 1080;
5988
+ /**
5989
+ * Default blur radius of the CSS filter used on placeholder images, in pixels
5990
+ */
5991
+ const PLACEHOLDER_BLUR_AMOUNT = 15;
5992
+ /**
5993
+ * Used to warn or error when the user provides an overly large dataURL for the placeholder
5994
+ * attribute.
5995
+ * Character count of Base64 images is 1 character per byte, and base64 encoding is approximately
5996
+ * 33% larger than base images, so 4000 characters is around 3KB on disk and 10000 characters is
5997
+ * around 7.7KB. Experimentally, 4000 characters is about 20x20px in PNG or medium-quality JPEG
5998
+ * format, and 10,000 is around 50x50px, but there's quite a bit of variation depending on how the
5999
+ * image is saved.
6000
+ */
6001
+ const DATA_URL_WARN_LIMIT = 4000;
6002
+ const DATA_URL_ERROR_LIMIT = 10000;
5975
6003
  /** Info about built-in loaders we can test for. */
5976
6004
  const BUILT_IN_LOADERS = [imgixLoaderInfo, imageKitLoaderInfo, cloudinaryLoaderInfo];
5977
6005
  /**
@@ -6139,6 +6167,7 @@ class NgOptimizedImage {
6139
6167
  if (!this.ngSrcset) {
6140
6168
  assertNoComplexSizes(this);
6141
6169
  }
6170
+ assertValidPlaceholder(this, this.imageLoader);
6142
6171
  assertNotMissingBuiltInLoader(this.ngSrc, this.imageLoader);
6143
6172
  assertNoNgSrcsetWithoutLoader(this, this.imageLoader);
6144
6173
  assertNoLoaderParamsWithoutLoader(this, this.imageLoader);
@@ -6153,6 +6182,9 @@ class NgOptimizedImage {
6153
6182
  checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);
6154
6183
  }
6155
6184
  }
6185
+ if (this.placeholder) {
6186
+ this.removePlaceholderOnLoad(this, this.imgElement, this.renderer);
6187
+ }
6156
6188
  this.setHostAttributes();
6157
6189
  }
6158
6190
  setHostAttributes() {
@@ -6303,6 +6335,47 @@ class NgOptimizedImage {
6303
6335
  this.imageLoader !== noopImageLoader &&
6304
6336
  !oversizedImage);
6305
6337
  }
6338
+ /**
6339
+ * Returns an image url formatted for use with the CSS background-image property. Expects one of:
6340
+ * * A base64 encoded image, which is wrapped and passed through.
6341
+ * * A boolean. If true, calls the image loader to generate a small placeholder url.
6342
+ */
6343
+ generatePlaceholder(placeholderInput) {
6344
+ const { placeholderResolution } = this.config;
6345
+ if (placeholderInput === true) {
6346
+ return `url(${this.callImageLoader({
6347
+ src: this.ngSrc,
6348
+ width: placeholderResolution,
6349
+ isPlaceholder: true,
6350
+ })})`;
6351
+ }
6352
+ else if (typeof placeholderInput === 'string' && placeholderInput.startsWith('data:')) {
6353
+ return `url(${placeholderInput})`;
6354
+ }
6355
+ return null;
6356
+ }
6357
+ /**
6358
+ * Determines if blur should be applied, based on an optional boolean
6359
+ * property `blur` within the optional configuration object `placeholderConfig`.
6360
+ */
6361
+ shouldBlurPlaceholder(placeholderConfig) {
6362
+ if (!placeholderConfig || !placeholderConfig.hasOwnProperty('blur')) {
6363
+ return true;
6364
+ }
6365
+ return Boolean(placeholderConfig.blur);
6366
+ }
6367
+ removePlaceholderOnLoad(dir, img, renderer) {
6368
+ const removeLoadListenerFn = renderer.listen(img, 'load', () => {
6369
+ removeLoadListenerFn();
6370
+ removeErrorListenerFn();
6371
+ dir.placeholder = false;
6372
+ });
6373
+ const removeErrorListenerFn = renderer.listen(img, 'error', () => {
6374
+ removeLoadListenerFn();
6375
+ removeErrorListenerFn();
6376
+ dir.placeholder = false;
6377
+ });
6378
+ }
6306
6379
  /** @nodoc */
6307
6380
  ngOnDestroy() {
6308
6381
  if (ngDevMode) {
@@ -6314,10 +6387,10 @@ class NgOptimizedImage {
6314
6387
  setHostAttribute(name, value) {
6315
6388
  this.renderer.setAttribute(this.imgElement, name, value);
6316
6389
  }
6317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6318
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.2", type: NgOptimizedImage, isStandalone: true, selector: "img[ngSrc]", inputs: { ngSrc: ["ngSrc", "ngSrc", unwrapSafeUrl], ngSrcset: "ngSrcset", sizes: "sizes", width: ["width", "width", numberAttribute], height: ["height", "height", numberAttribute], loading: "loading", priority: ["priority", "priority", booleanAttribute], loaderParams: "loaderParams", disableOptimizedSrcset: ["disableOptimizedSrcset", "disableOptimizedSrcset", booleanAttribute], fill: ["fill", "fill", booleanAttribute], src: "src", srcset: "srcset" }, host: { properties: { "style.position": "fill ? \"absolute\" : null", "style.width": "fill ? \"100%\" : null", "style.height": "fill ? \"100%\" : null", "style.inset": "fill ? \"0px\" : null" } }, usesOnChanges: true, ngImport: i0 }); }
6390
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6391
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.0-next.1", type: NgOptimizedImage, isStandalone: true, selector: "img[ngSrc]", inputs: { ngSrc: ["ngSrc", "ngSrc", unwrapSafeUrl], ngSrcset: "ngSrcset", sizes: "sizes", width: ["width", "width", numberAttribute], height: ["height", "height", numberAttribute], loading: "loading", priority: ["priority", "priority", booleanAttribute], loaderParams: "loaderParams", disableOptimizedSrcset: ["disableOptimizedSrcset", "disableOptimizedSrcset", booleanAttribute], fill: ["fill", "fill", booleanAttribute], placeholder: ["placeholder", "placeholder", booleanOrDataUrlAttribute], placeholderConfig: "placeholderConfig", src: "src", srcset: "srcset" }, host: { properties: { "style.position": "fill ? \"absolute\" : null", "style.width": "fill ? \"100%\" : null", "style.height": "fill ? \"100%\" : null", "style.inset": "fill ? \"0\" : null", "style.background-size": "placeholder ? \"cover\" : null", "style.background-position": "placeholder ? \"50% 50%\" : null", "style.background-repeat": "placeholder ? \"no-repeat\" : null", "style.background-image": "placeholder ? generatePlaceholder(placeholder) : null", "style.filter": "placeholder && shouldBlurPlaceholder(placeholderConfig) ? \"blur(15px)\" : null" } }, usesOnChanges: true, ngImport: i0 }); }
6319
6392
  }
6320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgOptimizedImage, decorators: [{
6393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0-next.1", ngImport: i0, type: NgOptimizedImage, decorators: [{
6321
6394
  type: Directive,
6322
6395
  args: [{
6323
6396
  standalone: true,
@@ -6326,7 +6399,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
6326
6399
  '[style.position]': 'fill ? "absolute" : null',
6327
6400
  '[style.width]': 'fill ? "100%" : null',
6328
6401
  '[style.height]': 'fill ? "100%" : null',
6329
- '[style.inset]': 'fill ? "0px" : null',
6402
+ '[style.inset]': 'fill ? "0" : null',
6403
+ '[style.background-size]': 'placeholder ? "cover" : null',
6404
+ '[style.background-position]': 'placeholder ? "50% 50%" : null',
6405
+ '[style.background-repeat]': 'placeholder ? "no-repeat" : null',
6406
+ '[style.background-image]': 'placeholder ? generatePlaceholder(placeholder) : null',
6407
+ '[style.filter]': `placeholder && shouldBlurPlaceholder(placeholderConfig) ? "blur(${PLACEHOLDER_BLUR_AMOUNT}px)" : null`,
6330
6408
  },
6331
6409
  }]
6332
6410
  }], propDecorators: { ngSrc: [{
@@ -6355,6 +6433,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
6355
6433
  }], fill: [{
6356
6434
  type: Input,
6357
6435
  args: [{ transform: booleanAttribute }]
6436
+ }], placeholder: [{
6437
+ type: Input,
6438
+ args: [{ transform: booleanOrDataUrlAttribute }]
6439
+ }], placeholderConfig: [{
6440
+ type: Input
6358
6441
  }], src: [{
6359
6442
  type: Input
6360
6443
  }], srcset: [{
@@ -6421,6 +6504,53 @@ function assertNoComplexSizes(dir) {
6421
6504
  `To fix this, modify the \`sizes\` attribute, or provide your own \`ngSrcset\` value directly.`);
6422
6505
  }
6423
6506
  }
6507
+ function assertValidPlaceholder(dir, imageLoader) {
6508
+ assertNoPlaceholderConfigWithoutPlaceholder(dir);
6509
+ assertNoRelativePlaceholderWithoutLoader(dir, imageLoader);
6510
+ assertNoOversizedDataUrl(dir);
6511
+ }
6512
+ /**
6513
+ * Verifies that placeholderConfig isn't being used without placeholder
6514
+ */
6515
+ function assertNoPlaceholderConfigWithoutPlaceholder(dir) {
6516
+ if (dir.placeholderConfig && !dir.placeholder) {
6517
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \`placeholderConfig\` options were provided for an ` +
6518
+ `image that does not use the \`placeholder\` attribute, and will have no effect.`);
6519
+ }
6520
+ }
6521
+ /**
6522
+ * Warns if a relative URL placeholder is specified, but no loader is present to provide the small
6523
+ * image.
6524
+ */
6525
+ function assertNoRelativePlaceholderWithoutLoader(dir, imageLoader) {
6526
+ if (dir.placeholder === true && imageLoader === noopImageLoader) {
6527
+ throw new ɵRuntimeError(2963 /* RuntimeErrorCode.MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \`placeholder\` attribute is set to true but ` +
6528
+ `no image loader is configured (i.e. the default one is being used), ` +
6529
+ `which would result in the same image being used for the primary image and its placeholder. ` +
6530
+ `To fix this, provide a loader or remove the \`placeholder\` attribute from the image.`);
6531
+ }
6532
+ }
6533
+ /**
6534
+ * Warns or throws an error if an oversized dataURL placeholder is provided.
6535
+ */
6536
+ function assertNoOversizedDataUrl(dir) {
6537
+ if (dir.placeholder &&
6538
+ typeof dir.placeholder === 'string' &&
6539
+ dir.placeholder.startsWith('data:')) {
6540
+ if (dir.placeholder.length > DATA_URL_ERROR_LIMIT) {
6541
+ throw new ɵRuntimeError(2965 /* RuntimeErrorCode.OVERSIZED_PLACEHOLDER */, `${imgDirectiveDetails(dir.ngSrc)} the \`placeholder\` attribute is set to a data URL which is longer ` +
6542
+ `than ${DATA_URL_ERROR_LIMIT} characters. This is strongly discouraged, as large inline placeholders ` +
6543
+ `directly increase the bundle size of Angular and hurt page load performance. To fix this, generate ` +
6544
+ `a smaller data URL placeholder.`);
6545
+ }
6546
+ if (dir.placeholder.length > DATA_URL_WARN_LIMIT) {
6547
+ console.warn(ɵformatRuntimeError(2965 /* RuntimeErrorCode.OVERSIZED_PLACEHOLDER */, `${imgDirectiveDetails(dir.ngSrc)} the \`placeholder\` attribute is set to a data URL which is longer ` +
6548
+ `than ${DATA_URL_WARN_LIMIT} characters. This is discouraged, as large inline placeholders ` +
6549
+ `directly increase the bundle size of Angular and hurt page load performance. For better loading performance, ` +
6550
+ `generate a smaller data URL placeholder.`));
6551
+ }
6552
+ }
6553
+ }
6424
6554
  /**
6425
6555
  * Verifies that the `ngSrc` is not a Blob URL.
6426
6556
  */
@@ -6745,6 +6875,14 @@ function unwrapSafeUrl(value) {
6745
6875
  }
6746
6876
  return ɵunwrapSafeValue(value);
6747
6877
  }
6878
+ // Transform function to handle inputs which may be booleans, strings, or string representations
6879
+ // of boolean values. Used for the placeholder attribute.
6880
+ function booleanOrDataUrlAttribute(value) {
6881
+ if (typeof value === 'string' && value.startsWith(`data:`)) {
6882
+ return value;
6883
+ }
6884
+ return booleanAttribute(value);
6885
+ }
6748
6886
 
6749
6887
  /**
6750
6888
  * @module
@@ -6765,5 +6903,5 @@ function unwrapSafeUrl(value) {
6765
6903
  * Generated bundle index. Do not edit.
6766
6904
  */
6767
6905
 
6768
- export { APP_BASE_HREF, AsyncPipe, BrowserPlatformLocation, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_OPTIONS, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, normalizeQueryParams as ɵnormalizeQueryParams, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };
6906
+ export { APP_BASE_HREF, AsyncPipe, BrowserPlatformLocation, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_OPTIONS, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, PlatformNavigation as ɵPlatformNavigation, getDOM as ɵgetDOM, normalizeQueryParams as ɵnormalizeQueryParams, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };
6769
6907
  //# sourceMappingURL=common.mjs.map