@angular/common 14.2.0-rc.0 → 14.2.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 (59) hide show
  1. package/esm2020/http/src/client.mjs +3 -3
  2. package/esm2020/http/src/interceptor.mjs +3 -3
  3. package/esm2020/http/src/jsonp.mjs +6 -6
  4. package/esm2020/http/src/module.mjs +15 -15
  5. package/esm2020/http/src/xhr.mjs +3 -3
  6. package/esm2020/http/src/xsrf.mjs +6 -6
  7. package/esm2020/http/testing/src/backend.mjs +3 -3
  8. package/esm2020/http/testing/src/module.mjs +4 -4
  9. package/esm2020/src/common_module.mjs +4 -4
  10. package/esm2020/src/directives/ng_class.mjs +3 -3
  11. package/esm2020/src/directives/ng_component_outlet.mjs +3 -3
  12. package/esm2020/src/directives/ng_for_of.mjs +3 -3
  13. package/esm2020/src/directives/ng_if.mjs +3 -3
  14. package/esm2020/src/directives/ng_optimized_image/image_loaders/image_loader.mjs +12 -11
  15. package/esm2020/src/directives/ng_optimized_image/lcp_image_observer.mjs +3 -3
  16. package/esm2020/src/directives/ng_optimized_image/ng_optimized_image.mjs +22 -32
  17. package/esm2020/src/directives/ng_optimized_image/preconnect_link_checker.mjs +3 -3
  18. package/esm2020/src/directives/ng_optimized_image/url.mjs +1 -11
  19. package/esm2020/src/directives/ng_plural.mjs +6 -6
  20. package/esm2020/src/directives/ng_style.mjs +3 -3
  21. package/esm2020/src/directives/ng_switch.mjs +9 -9
  22. package/esm2020/src/directives/ng_template_outlet.mjs +3 -3
  23. package/esm2020/src/i18n/localization.mjs +6 -6
  24. package/esm2020/src/location/hash_location_strategy.mjs +3 -3
  25. package/esm2020/src/location/location.mjs +3 -3
  26. package/esm2020/src/location/location_strategy.mjs +6 -6
  27. package/esm2020/src/location/platform_location.mjs +6 -6
  28. package/esm2020/src/pipes/async_pipe.mjs +3 -3
  29. package/esm2020/src/pipes/case_conversion_pipes.mjs +9 -9
  30. package/esm2020/src/pipes/date_pipe.mjs +3 -3
  31. package/esm2020/src/pipes/i18n_plural_pipe.mjs +3 -3
  32. package/esm2020/src/pipes/i18n_select_pipe.mjs +3 -3
  33. package/esm2020/src/pipes/json_pipe.mjs +3 -3
  34. package/esm2020/src/pipes/keyvalue_pipe.mjs +3 -3
  35. package/esm2020/src/pipes/number_pipe.mjs +9 -9
  36. package/esm2020/src/pipes/slice_pipe.mjs +3 -3
  37. package/esm2020/src/version.mjs +1 -1
  38. package/esm2020/testing/src/location_mock.mjs +3 -3
  39. package/esm2020/testing/src/mock_location_strategy.mjs +3 -3
  40. package/esm2020/testing/src/mock_platform_location.mjs +3 -3
  41. package/esm2020/upgrade/src/location_upgrade_module.mjs +4 -4
  42. package/fesm2015/common.mjs +158 -177
  43. package/fesm2015/common.mjs.map +1 -1
  44. package/fesm2015/http/testing.mjs +8 -8
  45. package/fesm2015/http.mjs +37 -37
  46. package/fesm2015/testing.mjs +10 -10
  47. package/fesm2015/upgrade.mjs +5 -5
  48. package/fesm2020/common.mjs +158 -177
  49. package/fesm2020/common.mjs.map +1 -1
  50. package/fesm2020/http/testing.mjs +8 -8
  51. package/fesm2020/http.mjs +37 -37
  52. package/fesm2020/testing.mjs +10 -10
  53. package/fesm2020/upgrade.mjs +5 -5
  54. package/http/index.d.ts +1 -1
  55. package/http/testing/index.d.ts +1 -1
  56. package/index.d.ts +3 -2
  57. package/package.json +2 -2
  58. package/testing/index.d.ts +1 -1
  59. package/upgrade/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.2.0-rc.0
2
+ * @license Angular v14.2.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -87,9 +87,9 @@ class PlatformLocation {
87
87
  throw new Error('Not implemented');
88
88
  }
89
89
  }
90
- PlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
91
- PlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PlatformLocation, decorators: [{
90
+ PlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
91
+ PlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PlatformLocation, decorators: [{
93
93
  type: Injectable,
94
94
  args: [{
95
95
  providedIn: 'platform',
@@ -190,9 +190,9 @@ class BrowserPlatformLocation extends PlatformLocation {
190
190
  return this._history.state;
191
191
  }
192
192
  }
193
- BrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
194
- BrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
193
+ BrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
194
+ BrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
196
196
  type: Injectable,
197
197
  args: [{
198
198
  providedIn: 'platform',
@@ -313,9 +313,9 @@ class LocationStrategy {
313
313
  throw new Error('Not implemented');
314
314
  }
315
315
  }
316
- LocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
317
- LocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LocationStrategy, decorators: [{
316
+ LocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
317
+ LocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LocationStrategy, decorators: [{
319
319
  type: Injectable,
320
320
  args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]
321
321
  }] });
@@ -424,9 +424,9 @@ class PathLocationStrategy extends LocationStrategy {
424
424
  (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);
425
425
  }
426
426
  }
427
- PathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
428
- PathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PathLocationStrategy, decorators: [{
427
+ PathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
428
+ PathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PathLocationStrategy, decorators: [{
430
430
  type: Injectable,
431
431
  args: [{ providedIn: 'root' }]
432
432
  }], ctorParameters: function () {
@@ -525,9 +525,9 @@ class HashLocationStrategy extends LocationStrategy {
525
525
  (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);
526
526
  }
527
527
  }
528
- HashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
529
- HashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: HashLocationStrategy });
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: HashLocationStrategy, decorators: [{
528
+ HashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
529
+ HashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: HashLocationStrategy });
530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: HashLocationStrategy, decorators: [{
531
531
  type: Injectable
532
532
  }], ctorParameters: function () {
533
533
  return [{ type: PlatformLocation }, { type: undefined, decorators: [{
@@ -783,9 +783,9 @@ Location.joinWithSlash = joinWithSlash;
783
783
  * @returns The URL string, modified if needed.
784
784
  */
785
785
  Location.stripTrailingSlash = stripTrailingSlash;
786
- Location.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
787
- Location.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: Location, decorators: [{
786
+ Location.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
787
+ Location.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Location, decorators: [{
789
789
  type: Injectable,
790
790
  args: [{
791
791
  providedIn: 'root',
@@ -2601,9 +2601,9 @@ function parseIntAutoRadix(text) {
2601
2601
  */
2602
2602
  class NgLocalization {
2603
2603
  }
2604
- NgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2605
- NgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });
2606
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgLocalization, decorators: [{
2604
+ NgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2605
+ NgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });
2606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgLocalization, decorators: [{
2607
2607
  type: Injectable,
2608
2608
  args: [{
2609
2609
  providedIn: 'root',
@@ -2658,9 +2658,9 @@ class NgLocaleLocalization extends NgLocalization {
2658
2658
  }
2659
2659
  }
2660
2660
  }
2661
- NgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
2662
- NgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgLocaleLocalization });
2663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2661
+ NgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
2662
+ NgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgLocaleLocalization });
2663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2664
2664
  type: Injectable
2665
2665
  }], ctorParameters: function () {
2666
2666
  return [{ type: undefined, decorators: [{
@@ -2855,9 +2855,9 @@ class NgClass {
2855
2855
  }
2856
2856
  }
2857
2857
  }
2858
- NgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2859
- NgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 });
2860
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgClass, decorators: [{
2858
+ NgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2859
+ NgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 });
2860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgClass, decorators: [{
2861
2861
  type: Directive,
2862
2862
  args: [{
2863
2863
  selector: '[ngClass]',
@@ -2976,9 +2976,9 @@ class NgComponentOutlet {
2976
2976
  this._moduleRef.destroy();
2977
2977
  }
2978
2978
  }
2979
- NgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2980
- NgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 });
2981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgComponentOutlet, decorators: [{
2979
+ NgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2980
+ NgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 });
2981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgComponentOutlet, decorators: [{
2982
2982
  type: Directive,
2983
2983
  args: [{
2984
2984
  selector: '[ngComponentOutlet]',
@@ -3268,9 +3268,9 @@ class NgForOf {
3268
3268
  return true;
3269
3269
  }
3270
3270
  }
3271
- NgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
3272
- NgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
3273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgForOf, decorators: [{
3271
+ NgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
3272
+ NgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
3273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgForOf, decorators: [{
3274
3274
  type: Directive,
3275
3275
  args: [{
3276
3276
  selector: '[ngFor][ngForOf]',
@@ -3503,9 +3503,9 @@ class NgIf {
3503
3503
  return true;
3504
3504
  }
3505
3505
  }
3506
- NgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3507
- NgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
3508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgIf, decorators: [{
3506
+ NgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3507
+ NgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
3508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgIf, decorators: [{
3509
3509
  type: Directive,
3510
3510
  args: [{
3511
3511
  selector: '[ngIf]',
@@ -3676,9 +3676,9 @@ class NgSwitch {
3676
3676
  }
3677
3677
  }
3678
3678
  }
3679
- NgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3680
- NgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
3681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgSwitch, decorators: [{
3679
+ NgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3680
+ NgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
3681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgSwitch, decorators: [{
3682
3682
  type: Directive,
3683
3683
  args: [{
3684
3684
  selector: '[ngSwitch]',
@@ -3737,9 +3737,9 @@ class NgSwitchCase {
3737
3737
  this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
3738
3738
  }
3739
3739
  }
3740
- NgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3741
- NgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
3742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgSwitchCase, decorators: [{
3740
+ NgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3741
+ NgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
3742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgSwitchCase, decorators: [{
3743
3743
  type: Directive,
3744
3744
  args: [{
3745
3745
  selector: '[ngSwitchCase]',
@@ -3776,9 +3776,9 @@ class NgSwitchDefault {
3776
3776
  ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
3777
3777
  }
3778
3778
  }
3779
- NgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3780
- NgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
3781
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgSwitchDefault, decorators: [{
3779
+ NgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3780
+ NgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
3781
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgSwitchDefault, decorators: [{
3782
3782
  type: Directive,
3783
3783
  args: [{
3784
3784
  selector: '[ngSwitchDefault]',
@@ -3864,9 +3864,9 @@ class NgPlural {
3864
3864
  }
3865
3865
  }
3866
3866
  }
3867
- NgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });
3868
- NgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
3869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgPlural, decorators: [{
3867
+ NgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });
3868
+ NgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
3869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgPlural, decorators: [{
3870
3870
  type: Directive,
3871
3871
  args: [{
3872
3872
  selector: '[ngPlural]',
@@ -3902,9 +3902,9 @@ class NgPluralCase {
3902
3902
  ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));
3903
3903
  }
3904
3904
  }
3905
- NgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });
3906
- NgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
3907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgPluralCase, decorators: [{
3905
+ NgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });
3906
+ NgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
3907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgPluralCase, decorators: [{
3908
3908
  type: Directive,
3909
3909
  args: [{
3910
3910
  selector: '[ngPluralCase]',
@@ -4000,9 +4000,9 @@ class NgStyle {
4000
4000
  changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));
4001
4001
  }
4002
4002
  }
4003
- NgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
4004
- NgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
4005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgStyle, decorators: [{
4003
+ NgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
4004
+ NgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
4005
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgStyle, decorators: [{
4006
4006
  type: Directive,
4007
4007
  args: [{
4008
4008
  selector: '[ngStyle]',
@@ -4082,9 +4082,9 @@ class NgTemplateOutlet {
4082
4082
  }
4083
4083
  }
4084
4084
  }
4085
- NgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
4086
- NgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
4087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4085
+ NgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
4086
+ NgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
4087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4088
4088
  type: Directive,
4089
4089
  args: [{
4090
4090
  selector: '[ngTemplateOutlet]',
@@ -4256,9 +4256,9 @@ class AsyncPipe {
4256
4256
  }
4257
4257
  }
4258
4258
  }
4259
- AsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
4260
- AsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
4261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: AsyncPipe, decorators: [{
4259
+ AsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
4260
+ AsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
4261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AsyncPipe, decorators: [{
4262
4262
  type: Pipe,
4263
4263
  args: [{
4264
4264
  name: 'async',
@@ -4299,9 +4299,9 @@ class LowerCasePipe {
4299
4299
  return value.toLowerCase();
4300
4300
  }
4301
4301
  }
4302
- LowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4303
- LowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
4304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LowerCasePipe, decorators: [{
4302
+ LowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4303
+ LowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
4304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LowerCasePipe, decorators: [{
4305
4305
  type: Pipe,
4306
4306
  args: [{
4307
4307
  name: 'lowercase',
@@ -4344,9 +4344,9 @@ class TitleCasePipe {
4344
4344
  return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.slice(1).toLowerCase()));
4345
4345
  }
4346
4346
  }
4347
- TitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4348
- TitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
4349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: TitleCasePipe, decorators: [{
4347
+ TitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4348
+ TitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
4349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TitleCasePipe, decorators: [{
4350
4350
  type: Pipe,
4351
4351
  args: [{
4352
4352
  name: 'titlecase',
@@ -4371,9 +4371,9 @@ class UpperCasePipe {
4371
4371
  return value.toUpperCase();
4372
4372
  }
4373
4373
  }
4374
- UpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4375
- UpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
4376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: UpperCasePipe, decorators: [{
4374
+ UpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4375
+ UpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
4376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: UpperCasePipe, decorators: [{
4377
4377
  type: Pipe,
4378
4378
  args: [{
4379
4379
  name: 'uppercase',
@@ -4569,9 +4569,9 @@ class DatePipe {
4569
4569
  }
4570
4570
  }
4571
4571
  }
4572
- DatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
4573
- DatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
4574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: DatePipe, decorators: [{
4572
+ DatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
4573
+ DatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
4574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DatePipe, decorators: [{
4575
4575
  type: Pipe,
4576
4576
  args: [{
4577
4577
  name: 'date',
@@ -4633,9 +4633,9 @@ class I18nPluralPipe {
4633
4633
  return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
4634
4634
  }
4635
4635
  }
4636
- I18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });
4637
- I18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
4638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: I18nPluralPipe, decorators: [{
4636
+ I18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });
4637
+ I18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
4638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: I18nPluralPipe, decorators: [{
4639
4639
  type: Pipe,
4640
4640
  args: [{
4641
4641
  name: 'i18nPlural',
@@ -4689,9 +4689,9 @@ class I18nSelectPipe {
4689
4689
  return '';
4690
4690
  }
4691
4691
  }
4692
- I18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4693
- I18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
4694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: I18nSelectPipe, decorators: [{
4692
+ I18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4693
+ I18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
4694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: I18nSelectPipe, decorators: [{
4695
4695
  type: Pipe,
4696
4696
  args: [{
4697
4697
  name: 'i18nSelect',
@@ -4730,9 +4730,9 @@ class JsonPipe {
4730
4730
  return JSON.stringify(value, null, 2);
4731
4731
  }
4732
4732
  }
4733
- JsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4734
- JsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
4735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: JsonPipe, decorators: [{
4733
+ JsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4734
+ JsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
4735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: JsonPipe, decorators: [{
4736
4736
  type: Pipe,
4737
4737
  args: [{
4738
4738
  name: 'json',
@@ -4800,9 +4800,9 @@ class KeyValuePipe {
4800
4800
  return this.keyValues;
4801
4801
  }
4802
4802
  }
4803
- KeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });
4804
- KeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
4805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: KeyValuePipe, decorators: [{
4803
+ KeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });
4804
+ KeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
4805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: KeyValuePipe, decorators: [{
4806
4806
  type: Pipe,
4807
4807
  args: [{
4808
4808
  name: 'keyvalue',
@@ -4935,9 +4935,9 @@ class DecimalPipe {
4935
4935
  }
4936
4936
  }
4937
4937
  }
4938
- DecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
4939
- DecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
4940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: DecimalPipe, decorators: [{
4938
+ DecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
4939
+ DecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
4940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DecimalPipe, decorators: [{
4941
4941
  type: Pipe,
4942
4942
  args: [{
4943
4943
  name: 'number',
@@ -5002,9 +5002,9 @@ class PercentPipe {
5002
5002
  }
5003
5003
  }
5004
5004
  }
5005
- PercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
5006
- PercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
5007
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PercentPipe, decorators: [{
5005
+ PercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
5006
+ PercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
5007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PercentPipe, decorators: [{
5008
5008
  type: Pipe,
5009
5009
  args: [{
5010
5010
  name: 'percent',
@@ -5122,9 +5122,9 @@ class CurrencyPipe {
5122
5122
  }
5123
5123
  }
5124
5124
  }
5125
- CurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
5126
- CurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
5127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: CurrencyPipe, decorators: [{
5125
+ CurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
5126
+ CurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
5127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: CurrencyPipe, decorators: [{
5128
5128
  type: Pipe,
5129
5129
  args: [{
5130
5130
  name: 'currency',
@@ -5211,9 +5211,9 @@ class SlicePipe {
5211
5211
  return typeof obj === 'string' || Array.isArray(obj);
5212
5212
  }
5213
5213
  }
5214
- SlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5215
- SlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0-rc.0", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
5216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: SlicePipe, decorators: [{
5214
+ SlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5215
+ SlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
5216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SlicePipe, decorators: [{
5217
5217
  type: Pipe,
5218
5218
  args: [{
5219
5219
  name: 'slice',
@@ -5267,10 +5267,10 @@ const COMMON_PIPES = [
5267
5267
  */
5268
5268
  class CommonModule {
5269
5269
  }
5270
- CommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5271
- CommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0-rc.0", 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] });
5272
- CommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: CommonModule });
5273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: CommonModule, decorators: [{
5270
+ CommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5271
+ CommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", 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] });
5272
+ CommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: CommonModule });
5273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: CommonModule, decorators: [{
5274
5274
  type: NgModule,
5275
5275
  args: [{
5276
5276
  imports: [COMMON_DIRECTIVES, COMMON_PIPES],
@@ -5328,7 +5328,7 @@ function isPlatformWorkerUi(platformId) {
5328
5328
  /**
5329
5329
  * @publicApi
5330
5330
  */
5331
- const VERSION = new Version('14.2.0-rc.0');
5331
+ const VERSION = new Version('14.2.0');
5332
5332
 
5333
5333
  /**
5334
5334
  * @license
@@ -5580,7 +5580,7 @@ function assertDevMode(checkName) {
5580
5580
  * found in the LICENSE file at https://angular.io/license
5581
5581
  */
5582
5582
  // Assembles directive details string, useful for error messages.
5583
- function imgDirectiveDetails$1(rawSrc, includeRawSrc = true) {
5583
+ function imgDirectiveDetails(rawSrc, includeRawSrc = true) {
5584
5584
  const rawSrcInfo = includeRawSrc ? `(activated on an <img> element with the \`rawSrc="${rawSrc}"\`) ` : '';
5585
5585
  return `The NgOptimizedImage directive ${rawSrcInfo}has detected that`;
5586
5586
  }
@@ -5601,16 +5601,6 @@ function getUrl(src, win) {
5601
5601
  function isAbsoluteUrl(src) {
5602
5602
  return /^https?:\/\//.test(src);
5603
5603
  }
5604
- // Assembles directive details string, useful for error messages.
5605
- function imgDirectiveDetails(rawSrc, includeRawSrc = true) {
5606
- const rawSrcInfo = includeRawSrc ? `(activated on an <img> element with the \`rawSrc="${rawSrc}"\`) ` : '';
5607
- return `The NgOptimizedImage directive ${rawSrcInfo}has detected that`;
5608
- }
5609
- // Invokes a callback for each element in the array. Also invokes a callback
5610
- // recursively for each nested array.
5611
- function deepForEach$1(input, fn) {
5612
- input.forEach(value => Array.isArray(value) ? deepForEach$1(value, fn) : fn(value));
5613
- }
5614
5604
  // Given a URL, extract the hostname part.
5615
5605
  // If a URL is a relative one - the URL is returned as is.
5616
5606
  function extractHostname(url) {
@@ -5730,7 +5720,7 @@ class PreconnectLinkChecker {
5730
5720
  this.preconnectLinks = this.queryPreconnectLinks();
5731
5721
  }
5732
5722
  if (!this.preconnectLinks.has(imgUrl.origin)) {
5733
- console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails$1(rawSrc)} there is no preconnect tag present for this image. ` +
5723
+ console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(rawSrc)} there is no preconnect tag present for this image. ` +
5734
5724
  `Preconnecting to the origin(s) that serve priority images ensures that these ` +
5735
5725
  `images are delivered as soon as possible. To fix this, please add the following ` +
5736
5726
  `element into the <head> of the document:\n` +
@@ -5753,9 +5743,9 @@ class PreconnectLinkChecker {
5753
5743
  this.alreadySeen.clear();
5754
5744
  }
5755
5745
  }
5756
- PreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5757
- PreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
5758
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
5746
+ PreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5747
+ PreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
5748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
5759
5749
  type: Injectable,
5760
5750
  args: [{ providedIn: 'root' }]
5761
5751
  }], ctorParameters: function () { return []; } });
@@ -5807,14 +5797,14 @@ const IMAGE_LOADER = new InjectionToken('ImageLoader', {
5807
5797
  */
5808
5798
  function createImageLoader(buildUrlFn, exampleUrls) {
5809
5799
  return function provideImageLoader(path, options = { ensurePreconnect: true }) {
5810
- if (ngDevMode && !isValidPath(path)) {
5800
+ if (!isValidPath(path)) {
5811
5801
  throwInvalidPathError(path, exampleUrls || []);
5812
5802
  }
5813
5803
  // The trailing / is stripped (if provided) to make URL construction (concatenation) easier in
5814
5804
  // the individual loader functions.
5815
5805
  path = normalizePath(path);
5816
5806
  const loaderFn = (config) => {
5817
- if (ngDevMode && isAbsoluteUrl(config.src)) {
5807
+ if (isAbsoluteUrl(config.src)) {
5818
5808
  // Image loader functions expect an image file name (e.g. `my-image.png`)
5819
5809
  // or a relative path + a file name (e.g. `/a/b/c/my-image.png`) as an input,
5820
5810
  // so the final absolute URL can be constructed.
@@ -5832,16 +5822,17 @@ function createImageLoader(buildUrlFn, exampleUrls) {
5832
5822
  };
5833
5823
  }
5834
5824
  function throwInvalidPathError(path, exampleUrls) {
5835
- const exampleUrlsMsg = exampleUrls.join(' or ');
5836
- throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, `Image loader has detected an invalid path (\`${path}\`). ` +
5837
- `To fix this, supply a path using one of the following formats: ${exampleUrlsMsg}`);
5825
+ throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&
5826
+ `Image loader has detected an invalid path (\`${path}\`). ` +
5827
+ `To fix this, supply a path using one of the following formats: ${exampleUrls.join(' or ')}`);
5838
5828
  }
5839
5829
  function throwUnexpectedAbsoluteUrlError(path, url) {
5840
- throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, `Image loader has detected a \`<img>\` tag with an invalid \`rawSrc\` attribute: ${url}. ` +
5841
- `This image loader expects \`rawSrc\` to be a relative URL - ` +
5842
- `however the provided value is an absolute URL. ` +
5843
- `To fix this, provide \`rawSrc\` as a path relative to the base URL ` +
5844
- `configured for this loader (\`${path}\`).`);
5830
+ throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&
5831
+ `Image loader has detected a \`<img>\` tag with an invalid \`rawSrc\` attribute: ${url}. ` +
5832
+ `This image loader expects \`rawSrc\` to be a relative URL - ` +
5833
+ `however the provided value is an absolute URL. ` +
5834
+ `To fix this, provide \`rawSrc\` as a path relative to the base URL ` +
5835
+ `configured for this loader (\`${path}\`).`);
5845
5836
  }
5846
5837
 
5847
5838
  /**
@@ -6066,14 +6057,14 @@ class LCPImageObserver {
6066
6057
  this.alreadyWarned.clear();
6067
6058
  }
6068
6059
  }
6069
- LCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6070
- LCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
6071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: LCPImageObserver, decorators: [{
6060
+ LCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6061
+ LCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
6062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LCPImageObserver, decorators: [{
6072
6063
  type: Injectable,
6073
6064
  args: [{ providedIn: 'root' }]
6074
6065
  }], ctorParameters: function () { return []; } });
6075
6066
  function logMissingPriorityWarning(rawSrc) {
6076
- const directiveDetails = imgDirectiveDetails$1(rawSrc);
6067
+ const directiveDetails = imgDirectiveDetails(rawSrc);
6077
6068
  console.warn(ɵformatRuntimeError(2955 /* RuntimeErrorCode.LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` +
6078
6069
  `element but was not marked "priority". This image should be marked ` +
6079
6070
  `"priority" in order to prioritize its loading. ` +
@@ -6102,9 +6093,9 @@ const BASE64_IMG_MAX_LENGTH_IN_ERROR = 50;
6102
6093
  const VALID_WIDTH_DESCRIPTOR_SRCSET = /^((\s*\d+w\s*(,|$)){1,})$/;
6103
6094
  /**
6104
6095
  * RegExpr to determine whether a src in a srcset is using density descriptors.
6105
- * Should match something like: "1x, 2x".
6096
+ * Should match something like: "1x, 2x, 50x". Also supports decimals like "1.5x, 1.50x".
6106
6097
  */
6107
- const VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\s*\d(\.\d)?x\s*(,|$)){1,})$/;
6098
+ const VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\s*\d+(\.\d+)?x\s*(,|$)){1,})$/;
6108
6099
  /**
6109
6100
  * Srcset values with a density descriptor higher than this value will actively
6110
6101
  * throw an error. Such densities are not permitted as they cause image sizes
@@ -6175,7 +6166,7 @@ const OVERSIZED_IMAGE_TOLERANCE = 1000;
6175
6166
  *
6176
6167
  * To use the **default loader**: no additional code changes are necessary. The URL returned by the
6177
6168
  * generic loader will always match the value of "src". In other words, this loader applies no
6178
- * transformations to thr resource URL and the value of the `rawSrc` attribute will be used as is.
6169
+ * transformations to the resource URL and the value of the `rawSrc` attribute will be used as is.
6179
6170
  *
6180
6171
  * To use an existing loader for a **third-party image service**: add the provider factory for your
6181
6172
  * chosen service to the `providers` array. In the example below, the Imgix loader is used:
@@ -6230,6 +6221,8 @@ class NgOptimizedImage {
6230
6221
  this.renderer = inject(Renderer2);
6231
6222
  this.imgElement = inject(ElementRef).nativeElement;
6232
6223
  this.injector = inject(Injector);
6224
+ // a LCP image observer - should be injected only in the dev mode
6225
+ this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;
6233
6226
  /**
6234
6227
  * Calculate the rewritten `src` once and store it.
6235
6228
  * This is needed to avoid repetitive calculations and make sure the directive cleanup in the
@@ -6287,7 +6280,12 @@ class NgOptimizedImage {
6287
6280
  // Monitor whether an image is an LCP element only in case
6288
6281
  // the `priority` attribute is missing. Otherwise, an image
6289
6282
  // has the necessary settings and no extra checks are required.
6290
- invokeLCPImageObserverCallback(this.injector, (observer) => observer.registerImage(this.getRewrittenSrc(), this.rawSrc));
6283
+ if (this.lcpObserver !== null) {
6284
+ const ngZone = this.injector.get(NgZone);
6285
+ ngZone.runOutsideAngular(() => {
6286
+ this.lcpObserver.registerImage(this.getRewrittenSrc(), this.rawSrc);
6287
+ });
6288
+ }
6291
6289
  }
6292
6290
  }
6293
6291
  this.setHostAttributes();
@@ -6342,8 +6340,8 @@ class NgOptimizedImage {
6342
6340
  }
6343
6341
  ngOnDestroy() {
6344
6342
  if (ngDevMode) {
6345
- if (!this.priority && this._renderedSrc !== null) {
6346
- invokeLCPImageObserverCallback(this.injector, (observer) => observer.unregisterImage(this._renderedSrc));
6343
+ if (!this.priority && this._renderedSrc !== null && this.lcpObserver !== null) {
6344
+ this.lcpObserver.unregisterImage(this._renderedSrc);
6347
6345
  }
6348
6346
  }
6349
6347
  }
@@ -6351,9 +6349,9 @@ class NgOptimizedImage {
6351
6349
  this.renderer.setAttribute(this.imgElement, name, value);
6352
6350
  }
6353
6351
  }
6354
- NgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6355
- NgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0-rc.0", type: NgOptimizedImage, isStandalone: true, selector: "img[rawSrc]", inputs: { rawSrc: "rawSrc", rawSrcset: "rawSrcset", width: "width", height: "height", loading: "loading", priority: "priority", src: "src", srcset: "srcset" }, usesOnChanges: true, ngImport: i0 });
6356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-rc.0", ngImport: i0, type: NgOptimizedImage, decorators: [{
6352
+ NgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6353
+ NgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: NgOptimizedImage, isStandalone: true, selector: "img[rawSrc]", inputs: { rawSrc: "rawSrc", rawSrcset: "rawSrcset", width: "width", height: "height", loading: "loading", priority: "priority", src: "src", srcset: "srcset" }, usesOnChanges: true, ngImport: i0 });
6354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgOptimizedImage, decorators: [{
6357
6355
  type: Directive,
6358
6356
  args: [{
6359
6357
  standalone: true,
@@ -6389,30 +6387,13 @@ function inputToInteger(value) {
6389
6387
  function inputToBoolean(value) {
6390
6388
  return value != null && `${value}` !== 'false';
6391
6389
  }
6392
- /**
6393
- * Invokes a function, passing an instance of the `LCPImageObserver` as an argument.
6394
- *
6395
- * Notes:
6396
- * - the `LCPImageObserver` is a tree-shakable provider, provided in 'root',
6397
- * thus it's a singleton within this application
6398
- * - the process of `LCPImageObserver` creation and an actual operation are invoked outside of the
6399
- * NgZone to make sure none of the calls inside the `LCPImageObserver` class trigger unnecessary
6400
- * change detection
6401
- */
6402
- function invokeLCPImageObserverCallback(injector, operation) {
6403
- const ngZone = injector.get(NgZone);
6404
- return ngZone.runOutsideAngular(() => {
6405
- const observer = injector.get(LCPImageObserver);
6406
- operation(observer);
6407
- });
6408
- }
6409
6390
  /***** Assert functions *****/
6410
6391
  /**
6411
6392
  * Verifies that there is no `src` set on a host element.
6412
6393
  */
6413
6394
  function assertNoConflictingSrc(dir) {
6414
6395
  if (dir.src) {
6415
- throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails$1(dir.rawSrc)} both \`src\` and \`rawSrc\` have been set. ` +
6396
+ throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.rawSrc)} both \`src\` and \`rawSrc\` have been set. ` +
6416
6397
  `Supplying both of these attributes breaks lazy loading. ` +
6417
6398
  `The NgOptimizedImage directive sets \`src\` itself based on the value of \`rawSrc\`. ` +
6418
6399
  `To fix this, please remove the \`src\` attribute.`);
@@ -6423,7 +6404,7 @@ function assertNoConflictingSrc(dir) {
6423
6404
  */
6424
6405
  function assertNoConflictingSrcset(dir) {
6425
6406
  if (dir.srcset) {
6426
- throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails$1(dir.rawSrc)} both \`srcset\` and \`rawSrcset\` have been set. ` +
6407
+ throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.rawSrc)} both \`srcset\` and \`rawSrcset\` have been set. ` +
6427
6408
  `Supplying both of these attributes breaks lazy loading. ` +
6428
6409
  `The NgOptimizedImage directive sets \`srcset\` itself based on the value of ` +
6429
6410
  `\`rawSrcset\`. To fix this, please remove the \`srcset\` attribute.`);
@@ -6438,7 +6419,7 @@ function assertNotBase64Image(dir) {
6438
6419
  if (rawSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {
6439
6420
  rawSrc = rawSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';
6440
6421
  }
6441
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc, false)} \`rawSrc\` is a Base64-encoded string ` +
6422
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc, false)} \`rawSrc\` is a Base64-encoded string ` +
6442
6423
  `(${rawSrc}). NgOptimizedImage does not support Base64-encoded strings. ` +
6443
6424
  `To fix this, disable the NgOptimizedImage directive for this element ` +
6444
6425
  `by removing \`rawSrc\` and using a standard \`src\` attribute instead.`);
@@ -6450,7 +6431,7 @@ function assertNotBase64Image(dir) {
6450
6431
  function assertNotBlobUrl(dir) {
6451
6432
  const rawSrc = dir.rawSrc.trim();
6452
6433
  if (rawSrc.startsWith('blob:')) {
6453
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} \`rawSrc\` was set to a blob URL (${rawSrc}). ` +
6434
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} \`rawSrc\` was set to a blob URL (${rawSrc}). ` +
6454
6435
  `Blob URLs are not supported by the NgOptimizedImage directive. ` +
6455
6436
  `To fix this, disable the NgOptimizedImage directive for this element ` +
6456
6437
  `by removing \`rawSrc\` and using a regular \`src\` attribute instead.`);
@@ -6463,7 +6444,7 @@ function assertNonEmptyInput(dir, name, value) {
6463
6444
  const isString = typeof value === 'string';
6464
6445
  const isEmptyString = isString && value.trim() === '';
6465
6446
  if (!isString || isEmptyString) {
6466
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} \`${name}\` has an invalid value ` +
6447
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} \`${name}\` has an invalid value ` +
6467
6448
  `(\`${value}\`). To fix this, change the value to a non-empty string.`);
6468
6449
  }
6469
6450
  }
@@ -6482,7 +6463,7 @@ function assertValidRawSrcset(dir, value) {
6482
6463
  }
6483
6464
  const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;
6484
6465
  if (!isValidSrcset) {
6485
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} \`rawSrcset\` has an invalid value (\`${value}\`). ` +
6466
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} \`rawSrcset\` has an invalid value (\`${value}\`). ` +
6486
6467
  `To fix this, supply \`rawSrcset\` using a comma-separated list of one or more width ` +
6487
6468
  `descriptors (e.g. "100w, 200w") or density descriptors (e.g. "1x, 2x").`);
6488
6469
  }
@@ -6490,12 +6471,12 @@ function assertValidRawSrcset(dir, value) {
6490
6471
  function assertUnderDensityCap(dir, value) {
6491
6472
  const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);
6492
6473
  if (!underDensityCap) {
6493
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} the \`rawSrcset\` contains an unsupported image density:` +
6474
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} the \`rawSrcset\` contains an unsupported image density:` +
6494
6475
  `\`${value}\`. NgOptimizedImage generally recommends a max image density of ` +
6495
6476
  `${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` +
6496
6477
  `${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` +
6497
6478
  `greater than ${RECOMMENDED_SRCSET_DENSITY_CAP}x - which makes them unnecessary for ` +
6498
- `most use cases. Images that will be pinch-zoomed are typically the primary use case for` +
6479
+ `most use cases. Images that will be pinch-zoomed are typically the primary use case for ` +
6499
6480
  `${ABSOLUTE_SRCSET_DENSITY_CAP}x images. Please remove the high density descriptor and try again.`);
6500
6481
  }
6501
6482
  }
@@ -6504,7 +6485,7 @@ function assertUnderDensityCap(dir, value) {
6504
6485
  * the directive has initialized.
6505
6486
  */
6506
6487
  function postInitInputChangeError(dir, inputName) {
6507
- return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails$1(dir.rawSrc)} \`${inputName}\` was updated after initialization. ` +
6488
+ return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.rawSrc)} \`${inputName}\` was updated after initialization. ` +
6508
6489
  `The NgOptimizedImage directive will not react to this input change. ` +
6509
6490
  `To fix this, switch \`${inputName}\` a static value or wrap the image element ` +
6510
6491
  `in an *ngIf that is gated on the necessary value.`);
@@ -6534,7 +6515,7 @@ function assertGreaterThanZero(dir, inputValue, inputName) {
6534
6515
  const validNumber = typeof inputValue === 'number' && inputValue > 0;
6535
6516
  const validString = typeof inputValue === 'string' && /^\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;
6536
6517
  if (!validNumber && !validString) {
6537
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} \`${inputName}\` has an invalid value ` +
6518
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} \`${inputName}\` has an invalid value ` +
6538
6519
  `(\`${inputValue}\`). To fix this, provide \`${inputName}\` ` +
6539
6520
  `as a number greater than 0.`);
6540
6521
  }
@@ -6569,7 +6550,7 @@ function assertNoImageDistortion(dir, img, renderer) {
6569
6550
  const stylingDistortion = nonZeroRenderedDimensions &&
6570
6551
  Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;
6571
6552
  if (inaccurateDimensions) {
6572
- console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} the aspect ratio of the image does not match ` +
6553
+ console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} the aspect ratio of the image does not match ` +
6573
6554
  `the aspect ratio indicated by the width and height attributes. ` +
6574
6555
  `Intrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +
6575
6556
  `(aspect-ratio: ${intrinsicAspectRatio}). Supplied width and height attributes: ` +
@@ -6577,7 +6558,7 @@ function assertNoImageDistortion(dir, img, renderer) {
6577
6558
  `To fix this, update the width and height attributes.`));
6578
6559
  }
6579
6560
  else if (stylingDistortion) {
6580
- console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} the aspect ratio of the rendered image ` +
6561
+ console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} the aspect ratio of the rendered image ` +
6581
6562
  `does not match the image's intrinsic aspect ratio. ` +
6582
6563
  `Intrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +
6583
6564
  `(aspect-ratio: ${intrinsicAspectRatio}). Rendered image size: ` +
@@ -6595,12 +6576,12 @@ function assertNoImageDistortion(dir, img, renderer) {
6595
6576
  const oversizedWidth = (intrinsicWidth - recommendedWidth) >= OVERSIZED_IMAGE_TOLERANCE;
6596
6577
  const oversizedHeight = (intrinsicHeight - recommendedHeight) >= OVERSIZED_IMAGE_TOLERANCE;
6597
6578
  if (oversizedWidth || oversizedHeight) {
6598
- console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails$1(dir.rawSrc)} the intrinsic image is significantly ` +
6579
+ console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.rawSrc)} the intrinsic image is significantly ` +
6599
6580
  `larger than necessary. ` +
6600
- `Rendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +
6601
- `Intrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +
6602
- `Recommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +
6603
- `Note: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +
6581
+ `\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +
6582
+ `\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +
6583
+ `\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +
6584
+ `\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +
6604
6585
  `${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` +
6605
6586
  `or consider using the "rawSrcset" and "sizes" attributes.`));
6606
6587
  }
@@ -6617,7 +6598,7 @@ function assertNonEmptyWidthAndHeight(dir) {
6617
6598
  if (dir.height === undefined)
6618
6599
  missingAttributes.push('height');
6619
6600
  if (missingAttributes.length > 0) {
6620
- throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails$1(dir.rawSrc)} these required attributes ` +
6601
+ throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.rawSrc)} these required attributes ` +
6621
6602
  `are missing: ${missingAttributes.map(attr => `"${attr}"`).join(', ')}. ` +
6622
6603
  `Including "width" and "height" attributes will prevent image-related layout shifts. ` +
6623
6604
  `To fix this, include "width" and "height" attributes on the image tag.`);
@@ -6629,7 +6610,7 @@ function assertNonEmptyWidthAndHeight(dir) {
6629
6610
  */
6630
6611
  function assertValidLoadingInput(dir) {
6631
6612
  if (dir.loading && dir.priority) {
6632
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} the \`loading\` attribute ` +
6613
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} the \`loading\` attribute ` +
6633
6614
  `was used on an image that was marked "priority". ` +
6634
6615
  `Setting \`loading\` on priority images is not allowed ` +
6635
6616
  `because these images will always be eagerly loaded. ` +
@@ -6637,7 +6618,7 @@ function assertValidLoadingInput(dir) {
6637
6618
  }
6638
6619
  const validInputs = ['auto', 'eager', 'lazy'];
6639
6620
  if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {
6640
- throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails$1(dir.rawSrc)} the \`loading\` attribute ` +
6621
+ throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.rawSrc)} the \`loading\` attribute ` +
6641
6622
  `has an invalid value (\`${dir.loading}\`). ` +
6642
6623
  `To fix this, provide a valid value ("lazy", "eager", or "auto").`);
6643
6624
  }