@angular/common 19.0.6 → 19.0.7

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.
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v19.0.6
2
+ * @license Angular v19.0.7
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
7
  import * as i0 from '@angular/core';
8
- import { Injectable, InjectionToken, inject, Optional, Inject, ɵɵinject, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, Host, Attribute, RendererStyleFlags2, untracked, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, PLATFORM_ID, ɵformatRuntimeError, ɵIMAGE_CONFIG, Renderer2, ElementRef, Injector, ɵperformanceMarkFeature, NgZone, ApplicationRef, ChangeDetectorRef, numberAttribute, booleanAttribute, ɵIMAGE_CONFIG_DEFAULTS, ɵunwrapSafeValue } from '@angular/core';
8
+ import { Injectable, InjectionToken, inject, Optional, Inject, ɵɵinject, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, Host, Attribute, RendererStyleFlags2, untracked, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, ɵformatRuntimeError, PLATFORM_ID, ɵIMAGE_CONFIG, Renderer2, ElementRef, Injector, DestroyRef, ɵperformanceMarkFeature, NgZone, ApplicationRef, ChangeDetectorRef, numberAttribute, booleanAttribute, ɵIMAGE_CONFIG_DEFAULTS, ɵunwrapSafeValue } from '@angular/core';
9
9
  export { ɵIMAGE_CONFIG as IMAGE_CONFIG } from '@angular/core';
10
10
  import { Subject } from 'rxjs';
11
11
 
@@ -30,10 +30,10 @@ class DomAdapter {
30
30
  * implementations.
31
31
  */
32
32
  class PlatformNavigation {
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation });
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PlatformNavigation, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PlatformNavigation, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{ providedIn: 'platform', useFactory: () => window.navigation }]
39
39
  }] });
@@ -73,10 +73,10 @@ class PlatformLocation {
73
73
  historyGo(relativePosition) {
74
74
  throw new Error(ngDevMode ? 'Not implemented' : '');
75
75
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
77
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) });
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
77
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) });
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PlatformLocation, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PlatformLocation, decorators: [{
80
80
  type: Injectable,
81
81
  args: [{ providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }]
82
82
  }] });
@@ -158,10 +158,10 @@ class BrowserPlatformLocation extends PlatformLocation {
158
158
  getState() {
159
159
  return this._history.state;
160
160
  }
161
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
162
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() });
161
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
162
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() });
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
165
165
  type: Injectable,
166
166
  args: [{
167
167
  providedIn: 'platform',
@@ -247,10 +247,10 @@ class LocationStrategy {
247
247
  historyGo(relativePosition) {
248
248
  throw new Error(ngDevMode ? 'Not implemented' : '');
249
249
  }
250
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
251
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
251
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
252
252
  }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LocationStrategy, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LocationStrategy, decorators: [{
254
254
  type: Injectable,
255
255
  args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]
256
256
  }] });
@@ -362,10 +362,10 @@ class PathLocationStrategy extends LocationStrategy {
362
362
  historyGo(relativePosition = 0) {
363
363
  this._platformLocation.historyGo?.(relativePosition);
364
364
  }
365
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
366
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
365
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
366
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
367
367
  }
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PathLocationStrategy, decorators: [{
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PathLocationStrategy, decorators: [{
369
369
  type: Injectable,
370
370
  args: [{ providedIn: 'root' }]
371
371
  }], ctorParameters: () => [{ type: PlatformLocation }, { type: undefined, decorators: [{
@@ -452,10 +452,10 @@ class HashLocationStrategy extends LocationStrategy {
452
452
  historyGo(relativePosition = 0) {
453
453
  this._platformLocation.historyGo?.(relativePosition);
454
454
  }
455
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
456
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: HashLocationStrategy });
455
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
456
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: HashLocationStrategy });
457
457
  }
458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: HashLocationStrategy, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: HashLocationStrategy, decorators: [{
459
459
  type: Injectable
460
460
  }], ctorParameters: () => [{ type: PlatformLocation }, { type: undefined, decorators: [{
461
461
  type: Optional
@@ -709,10 +709,10 @@ class Location {
709
709
  * @returns The URL string, modified if needed.
710
710
  */
711
711
  static stripTrailingSlash = stripTrailingSlash;
712
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
713
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
712
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
713
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
714
714
  }
715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: Location, decorators: [{
715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: Location, decorators: [{
716
716
  type: Injectable,
717
717
  args: [{
718
718
  providedIn: 'root',
@@ -1470,31 +1470,6 @@ const ISO8601_DATE_REGEX = /^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(
1470
1470
  // 1 2 3 4 5 6 7 8 9 10 11
1471
1471
  const NAMED_FORMATS = {};
1472
1472
  const DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;
1473
- var ZoneWidth;
1474
- (function (ZoneWidth) {
1475
- ZoneWidth[ZoneWidth["Short"] = 0] = "Short";
1476
- ZoneWidth[ZoneWidth["ShortGMT"] = 1] = "ShortGMT";
1477
- ZoneWidth[ZoneWidth["Long"] = 2] = "Long";
1478
- ZoneWidth[ZoneWidth["Extended"] = 3] = "Extended";
1479
- })(ZoneWidth || (ZoneWidth = {}));
1480
- var DateType;
1481
- (function (DateType) {
1482
- DateType[DateType["FullYear"] = 0] = "FullYear";
1483
- DateType[DateType["Month"] = 1] = "Month";
1484
- DateType[DateType["Date"] = 2] = "Date";
1485
- DateType[DateType["Hours"] = 3] = "Hours";
1486
- DateType[DateType["Minutes"] = 4] = "Minutes";
1487
- DateType[DateType["Seconds"] = 5] = "Seconds";
1488
- DateType[DateType["FractionalSeconds"] = 6] = "FractionalSeconds";
1489
- DateType[DateType["Day"] = 7] = "Day";
1490
- })(DateType || (DateType = {}));
1491
- var TranslationType;
1492
- (function (TranslationType) {
1493
- TranslationType[TranslationType["DayPeriods"] = 0] = "DayPeriods";
1494
- TranslationType[TranslationType["Days"] = 1] = "Days";
1495
- TranslationType[TranslationType["Months"] = 2] = "Months";
1496
- TranslationType[TranslationType["Eras"] = 3] = "Eras";
1497
- })(TranslationType || (TranslationType = {}));
1498
1473
  /**
1499
1474
  * @ngModule CommonModule
1500
1475
  * @description
@@ -1691,12 +1666,12 @@ function dateGetter(name, size, offset = 0, trim = false, negWrap = false) {
1691
1666
  if (offset > 0 || part > -offset) {
1692
1667
  part += offset;
1693
1668
  }
1694
- if (name === DateType.Hours) {
1669
+ if (name === 3 /* DateType.Hours */) {
1695
1670
  if (part === 0 && offset === -12) {
1696
1671
  part = 12;
1697
1672
  }
1698
1673
  }
1699
- else if (name === DateType.FractionalSeconds) {
1674
+ else if (name === 6 /* DateType.FractionalSeconds */) {
1700
1675
  return formatFractionalSeconds(part, size);
1701
1676
  }
1702
1677
  const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);
@@ -1705,21 +1680,21 @@ function dateGetter(name, size, offset = 0, trim = false, negWrap = false) {
1705
1680
  }
1706
1681
  function getDatePart(part, date) {
1707
1682
  switch (part) {
1708
- case DateType.FullYear:
1683
+ case 0 /* DateType.FullYear */:
1709
1684
  return date.getFullYear();
1710
- case DateType.Month:
1685
+ case 1 /* DateType.Month */:
1711
1686
  return date.getMonth();
1712
- case DateType.Date:
1687
+ case 2 /* DateType.Date */:
1713
1688
  return date.getDate();
1714
- case DateType.Hours:
1689
+ case 3 /* DateType.Hours */:
1715
1690
  return date.getHours();
1716
- case DateType.Minutes:
1691
+ case 4 /* DateType.Minutes */:
1717
1692
  return date.getMinutes();
1718
- case DateType.Seconds:
1693
+ case 5 /* DateType.Seconds */:
1719
1694
  return date.getSeconds();
1720
- case DateType.FractionalSeconds:
1695
+ case 6 /* DateType.FractionalSeconds */:
1721
1696
  return date.getMilliseconds();
1722
- case DateType.Day:
1697
+ case 7 /* DateType.Day */:
1723
1698
  return date.getDay();
1724
1699
  default:
1725
1700
  throw new Error(`Unknown DateType value "${part}".`);
@@ -1738,11 +1713,11 @@ function dateStrGetter(name, width, form = FormStyle.Format, extended = false) {
1738
1713
  */
1739
1714
  function getDateTranslation(date, locale, name, width, form, extended) {
1740
1715
  switch (name) {
1741
- case TranslationType.Months:
1716
+ case 2 /* TranslationType.Months */:
1742
1717
  return getLocaleMonthNames(locale, form, width)[date.getMonth()];
1743
- case TranslationType.Days:
1718
+ case 1 /* TranslationType.Days */:
1744
1719
  return getLocaleDayNames(locale, form, width)[date.getDay()];
1745
- case TranslationType.DayPeriods:
1720
+ case 0 /* TranslationType.DayPeriods */:
1746
1721
  const currentHours = date.getHours();
1747
1722
  const currentMinutes = date.getMinutes();
1748
1723
  if (extended) {
@@ -1787,7 +1762,7 @@ function getDateTranslation(date, locale, name, width, form, extended) {
1787
1762
  }
1788
1763
  // if no rules for the day periods, we use am/pm by default
1789
1764
  return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];
1790
- case TranslationType.Eras:
1765
+ case 3 /* TranslationType.Eras */:
1791
1766
  return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];
1792
1767
  default:
1793
1768
  // This default case is not needed by TypeScript compiler, as the switch is exhaustive.
@@ -1809,19 +1784,19 @@ function timeZoneGetter(width) {
1809
1784
  const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);
1810
1785
  const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);
1811
1786
  switch (width) {
1812
- case ZoneWidth.Short:
1787
+ case 0 /* ZoneWidth.Short */:
1813
1788
  return ((zone >= 0 ? '+' : '') +
1814
1789
  padNumber(hours, 2, minusSign) +
1815
1790
  padNumber(Math.abs(zone % 60), 2, minusSign));
1816
- case ZoneWidth.ShortGMT:
1791
+ case 1 /* ZoneWidth.ShortGMT */:
1817
1792
  return 'GMT' + (zone >= 0 ? '+' : '') + padNumber(hours, 1, minusSign);
1818
- case ZoneWidth.Long:
1793
+ case 2 /* ZoneWidth.Long */:
1819
1794
  return ('GMT' +
1820
1795
  (zone >= 0 ? '+' : '') +
1821
1796
  padNumber(hours, 2, minusSign) +
1822
1797
  ':' +
1823
1798
  padNumber(Math.abs(zone % 60), 2, minusSign));
1824
- case ZoneWidth.Extended:
1799
+ case 3 /* ZoneWidth.Extended */:
1825
1800
  if (offset === 0) {
1826
1801
  return 'Z';
1827
1802
  }
@@ -1896,29 +1871,29 @@ function getDateFormatter(format) {
1896
1871
  case 'G':
1897
1872
  case 'GG':
1898
1873
  case 'GGG':
1899
- formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);
1874
+ formatter = dateStrGetter(3 /* TranslationType.Eras */, TranslationWidth.Abbreviated);
1900
1875
  break;
1901
1876
  case 'GGGG':
1902
- formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);
1877
+ formatter = dateStrGetter(3 /* TranslationType.Eras */, TranslationWidth.Wide);
1903
1878
  break;
1904
1879
  case 'GGGGG':
1905
- formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);
1880
+ formatter = dateStrGetter(3 /* TranslationType.Eras */, TranslationWidth.Narrow);
1906
1881
  break;
1907
1882
  // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)
1908
1883
  case 'y':
1909
- formatter = dateGetter(DateType.FullYear, 1, 0, false, true);
1884
+ formatter = dateGetter(0 /* DateType.FullYear */, 1, 0, false, true);
1910
1885
  break;
1911
1886
  // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)
1912
1887
  case 'yy':
1913
- formatter = dateGetter(DateType.FullYear, 2, 0, true, true);
1888
+ formatter = dateGetter(0 /* DateType.FullYear */, 2, 0, true, true);
1914
1889
  break;
1915
1890
  // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)
1916
1891
  case 'yyy':
1917
- formatter = dateGetter(DateType.FullYear, 3, 0, false, true);
1892
+ formatter = dateGetter(0 /* DateType.FullYear */, 3, 0, false, true);
1918
1893
  break;
1919
1894
  // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)
1920
1895
  case 'yyyy':
1921
- formatter = dateGetter(DateType.FullYear, 4, 0, false, true);
1896
+ formatter = dateGetter(0 /* DateType.FullYear */, 4, 0, false, true);
1922
1897
  break;
1923
1898
  // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)
1924
1899
  case 'Y':
@@ -1941,31 +1916,31 @@ function getDateFormatter(format) {
1941
1916
  // Month of the year (1-12), numeric
1942
1917
  case 'M':
1943
1918
  case 'L':
1944
- formatter = dateGetter(DateType.Month, 1, 1);
1919
+ formatter = dateGetter(1 /* DateType.Month */, 1, 1);
1945
1920
  break;
1946
1921
  case 'MM':
1947
1922
  case 'LL':
1948
- formatter = dateGetter(DateType.Month, 2, 1);
1923
+ formatter = dateGetter(1 /* DateType.Month */, 2, 1);
1949
1924
  break;
1950
1925
  // Month of the year (January, ...), string, format
1951
1926
  case 'MMM':
1952
- formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);
1927
+ formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Abbreviated);
1953
1928
  break;
1954
1929
  case 'MMMM':
1955
- formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);
1930
+ formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Wide);
1956
1931
  break;
1957
1932
  case 'MMMMM':
1958
- formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);
1933
+ formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Narrow);
1959
1934
  break;
1960
1935
  // Month of the year (January, ...), string, standalone
1961
1936
  case 'LLL':
1962
- formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);
1937
+ formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Abbreviated, FormStyle.Standalone);
1963
1938
  break;
1964
1939
  case 'LLLL':
1965
- formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);
1940
+ formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Wide, FormStyle.Standalone);
1966
1941
  break;
1967
1942
  case 'LLLLL':
1968
- formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);
1943
+ formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Narrow, FormStyle.Standalone);
1969
1944
  break;
1970
1945
  // Week of the year (1, ... 52)
1971
1946
  case 'w':
@@ -1980,127 +1955,127 @@ function getDateFormatter(format) {
1980
1955
  break;
1981
1956
  // Day of the month (1-31)
1982
1957
  case 'd':
1983
- formatter = dateGetter(DateType.Date, 1);
1958
+ formatter = dateGetter(2 /* DateType.Date */, 1);
1984
1959
  break;
1985
1960
  case 'dd':
1986
- formatter = dateGetter(DateType.Date, 2);
1961
+ formatter = dateGetter(2 /* DateType.Date */, 2);
1987
1962
  break;
1988
1963
  // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)
1989
1964
  case 'c':
1990
1965
  case 'cc':
1991
- formatter = dateGetter(DateType.Day, 1);
1966
+ formatter = dateGetter(7 /* DateType.Day */, 1);
1992
1967
  break;
1993
1968
  case 'ccc':
1994
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);
1969
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Abbreviated, FormStyle.Standalone);
1995
1970
  break;
1996
1971
  case 'cccc':
1997
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);
1972
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Wide, FormStyle.Standalone);
1998
1973
  break;
1999
1974
  case 'ccccc':
2000
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);
1975
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Narrow, FormStyle.Standalone);
2001
1976
  break;
2002
1977
  case 'cccccc':
2003
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);
1978
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Short, FormStyle.Standalone);
2004
1979
  break;
2005
1980
  // Day of the Week
2006
1981
  case 'E':
2007
1982
  case 'EE':
2008
1983
  case 'EEE':
2009
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);
1984
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Abbreviated);
2010
1985
  break;
2011
1986
  case 'EEEE':
2012
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);
1987
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Wide);
2013
1988
  break;
2014
1989
  case 'EEEEE':
2015
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);
1990
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Narrow);
2016
1991
  break;
2017
1992
  case 'EEEEEE':
2018
- formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);
1993
+ formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Short);
2019
1994
  break;
2020
1995
  // Generic period of the day (am-pm)
2021
1996
  case 'a':
2022
1997
  case 'aa':
2023
1998
  case 'aaa':
2024
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);
1999
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Abbreviated);
2025
2000
  break;
2026
2001
  case 'aaaa':
2027
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);
2002
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Wide);
2028
2003
  break;
2029
2004
  case 'aaaaa':
2030
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);
2005
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Narrow);
2031
2006
  break;
2032
2007
  // Extended period of the day (midnight, at night, ...), standalone
2033
2008
  case 'b':
2034
2009
  case 'bb':
2035
2010
  case 'bbb':
2036
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);
2011
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Abbreviated, FormStyle.Standalone, true);
2037
2012
  break;
2038
2013
  case 'bbbb':
2039
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);
2014
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Wide, FormStyle.Standalone, true);
2040
2015
  break;
2041
2016
  case 'bbbbb':
2042
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);
2017
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Narrow, FormStyle.Standalone, true);
2043
2018
  break;
2044
2019
  // Extended period of the day (midnight, night, ...), standalone
2045
2020
  case 'B':
2046
2021
  case 'BB':
2047
2022
  case 'BBB':
2048
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);
2023
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Abbreviated, FormStyle.Format, true);
2049
2024
  break;
2050
2025
  case 'BBBB':
2051
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);
2026
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Wide, FormStyle.Format, true);
2052
2027
  break;
2053
2028
  case 'BBBBB':
2054
- formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);
2029
+ formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Narrow, FormStyle.Format, true);
2055
2030
  break;
2056
2031
  // Hour in AM/PM, (1-12)
2057
2032
  case 'h':
2058
- formatter = dateGetter(DateType.Hours, 1, -12);
2033
+ formatter = dateGetter(3 /* DateType.Hours */, 1, -12);
2059
2034
  break;
2060
2035
  case 'hh':
2061
- formatter = dateGetter(DateType.Hours, 2, -12);
2036
+ formatter = dateGetter(3 /* DateType.Hours */, 2, -12);
2062
2037
  break;
2063
2038
  // Hour of the day (0-23)
2064
2039
  case 'H':
2065
- formatter = dateGetter(DateType.Hours, 1);
2040
+ formatter = dateGetter(3 /* DateType.Hours */, 1);
2066
2041
  break;
2067
2042
  // Hour in day, padded (00-23)
2068
2043
  case 'HH':
2069
- formatter = dateGetter(DateType.Hours, 2);
2044
+ formatter = dateGetter(3 /* DateType.Hours */, 2);
2070
2045
  break;
2071
2046
  // Minute of the hour (0-59)
2072
2047
  case 'm':
2073
- formatter = dateGetter(DateType.Minutes, 1);
2048
+ formatter = dateGetter(4 /* DateType.Minutes */, 1);
2074
2049
  break;
2075
2050
  case 'mm':
2076
- formatter = dateGetter(DateType.Minutes, 2);
2051
+ formatter = dateGetter(4 /* DateType.Minutes */, 2);
2077
2052
  break;
2078
2053
  // Second of the minute (0-59)
2079
2054
  case 's':
2080
- formatter = dateGetter(DateType.Seconds, 1);
2055
+ formatter = dateGetter(5 /* DateType.Seconds */, 1);
2081
2056
  break;
2082
2057
  case 'ss':
2083
- formatter = dateGetter(DateType.Seconds, 2);
2058
+ formatter = dateGetter(5 /* DateType.Seconds */, 2);
2084
2059
  break;
2085
2060
  // Fractional second
2086
2061
  case 'S':
2087
- formatter = dateGetter(DateType.FractionalSeconds, 1);
2062
+ formatter = dateGetter(6 /* DateType.FractionalSeconds */, 1);
2088
2063
  break;
2089
2064
  case 'SS':
2090
- formatter = dateGetter(DateType.FractionalSeconds, 2);
2065
+ formatter = dateGetter(6 /* DateType.FractionalSeconds */, 2);
2091
2066
  break;
2092
2067
  case 'SSS':
2093
- formatter = dateGetter(DateType.FractionalSeconds, 3);
2068
+ formatter = dateGetter(6 /* DateType.FractionalSeconds */, 3);
2094
2069
  break;
2095
2070
  // Timezone ISO8601 short format (-0430)
2096
2071
  case 'Z':
2097
2072
  case 'ZZ':
2098
2073
  case 'ZZZ':
2099
- formatter = timeZoneGetter(ZoneWidth.Short);
2074
+ formatter = timeZoneGetter(0 /* ZoneWidth.Short */);
2100
2075
  break;
2101
2076
  // Timezone ISO8601 extended format (-04:30)
2102
2077
  case 'ZZZZZ':
2103
- formatter = timeZoneGetter(ZoneWidth.Extended);
2078
+ formatter = timeZoneGetter(3 /* ZoneWidth.Extended */);
2104
2079
  break;
2105
2080
  // Timezone GMT short format (GMT+4)
2106
2081
  case 'O':
@@ -2110,14 +2085,14 @@ function getDateFormatter(format) {
2110
2085
  case 'z':
2111
2086
  case 'zz':
2112
2087
  case 'zzz':
2113
- formatter = timeZoneGetter(ZoneWidth.ShortGMT);
2088
+ formatter = timeZoneGetter(1 /* ZoneWidth.ShortGMT */);
2114
2089
  break;
2115
2090
  // Timezone GMT long format (GMT+0430)
2116
2091
  case 'OOOO':
2117
2092
  case 'ZZZZ':
2118
2093
  // Should be location, but fallback to format O instead because we don't have the data yet
2119
2094
  case 'zzzz':
2120
- formatter = timeZoneGetter(ZoneWidth.Long);
2095
+ formatter = timeZoneGetter(2 /* ZoneWidth.Long */);
2121
2096
  break;
2122
2097
  default:
2123
2098
  return null;
@@ -2614,10 +2589,10 @@ function parseIntAutoRadix(text) {
2614
2589
  * @publicApi
2615
2590
  */
2616
2591
  class NgLocalization {
2617
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2618
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });
2592
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2593
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });
2619
2594
  }
2620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgLocalization, decorators: [{
2595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgLocalization, decorators: [{
2621
2596
  type: Injectable,
2622
2597
  args: [{
2623
2598
  providedIn: 'root',
@@ -2672,10 +2647,10 @@ class NgLocaleLocalization extends NgLocalization {
2672
2647
  return 'other';
2673
2648
  }
2674
2649
  }
2675
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
2676
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgLocaleLocalization });
2650
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
2651
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgLocaleLocalization });
2677
2652
  }
2678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2679
2654
  type: Injectable
2680
2655
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2681
2656
  type: Inject,
@@ -2714,17 +2689,23 @@ const EMPTY_ARRAY = [];
2714
2689
  *
2715
2690
  * @usageNotes
2716
2691
  * ```html
2717
- * <some-element [ngClass]="'first second'">...</some-element>
2692
+ * <some-element [ngClass]="stringExp|arrayExp|objExp|Set">...</some-element>
2718
2693
  *
2719
- * <some-element [ngClass]="['first', 'second']">...</some-element>
2694
+ * <some-element [ngClass]="{'class1 class2 class3' : true}">...</some-element>
2695
+ * ```
2720
2696
  *
2721
- * <some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>
2697
+ * For more simple use cases you can use the [class bindings](/guide/templates/binding#css-class-and-style-property-bindings) directly.
2698
+ * It doesn't require importing a directive.
2722
2699
  *
2723
- * <some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
2700
+ * ```html
2701
+ * <some-element [class]="'first second'">...</some-element>
2724
2702
  *
2725
- * <some-element [ngClass]="{'class1 class2 class3' : true}">...</some-element>
2726
- * ```
2703
+ * <some-element [class.expanded]="isExpanded">...</some-element>
2727
2704
  *
2705
+ * <some-element [class]="['first', 'second']">...</some-element>
2706
+ *
2707
+ * <some-element [class]="{'first': true, 'second': true, 'third': false}">...</some-element>
2708
+ * ```
2728
2709
  * @description
2729
2710
  *
2730
2711
  * Adds and removes CSS classes on an HTML element.
@@ -2735,6 +2716,9 @@ const EMPTY_ARRAY = [];
2735
2716
  * - `Object` - keys are CSS classes that get added when the expression given in the value
2736
2717
  * evaluates to a truthy value, otherwise they are removed.
2737
2718
  *
2719
+ *
2720
+ * @see [Class bindings](/guide/templates/binding#css-class-and-style-property-bindings)
2721
+ *
2738
2722
  * @publicApi
2739
2723
  */
2740
2724
  class NgClass {
@@ -2847,10 +2831,10 @@ class NgClass {
2847
2831
  });
2848
2832
  }
2849
2833
  }
2850
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgClass, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2851
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 });
2834
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgClass, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2835
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 });
2852
2836
  }
2853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgClass, decorators: [{
2837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgClass, decorators: [{
2854
2838
  type: Directive,
2855
2839
  args: [{
2856
2840
  selector: '[ngClass]',
@@ -3027,10 +3011,10 @@ class NgComponentOutlet {
3027
3011
  }
3028
3012
  }
3029
3013
  }
3030
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
3031
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInputs: "ngComponentOutletInputs", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 });
3014
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
3015
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInputs: "ngComponentOutletInputs", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 });
3032
3016
  }
3033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgComponentOutlet, decorators: [{
3017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgComponentOutlet, decorators: [{
3034
3018
  type: Directive,
3035
3019
  args: [{
3036
3020
  selector: '[ngComponentOutlet]',
@@ -3337,10 +3321,10 @@ class NgForOf {
3337
3321
  static ngTemplateContextGuard(dir, ctx) {
3338
3322
  return true;
3339
3323
  }
3340
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
3341
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
3324
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
3325
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
3342
3326
  }
3343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgForOf, decorators: [{
3327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgForOf, decorators: [{
3344
3328
  type: Directive,
3345
3329
  args: [{
3346
3330
  selector: '[ngFor][ngForOf]',
@@ -3574,10 +3558,10 @@ class NgIf {
3574
3558
  static ngTemplateContextGuard(dir, ctx) {
3575
3559
  return true;
3576
3560
  }
3577
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3578
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
3561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3562
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
3579
3563
  }
3580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgIf, decorators: [{
3564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgIf, decorators: [{
3581
3565
  type: Directive,
3582
3566
  args: [{
3583
3567
  selector: '[ngIf]',
@@ -3735,10 +3719,10 @@ class NgSwitch {
3735
3719
  }
3736
3720
  }
3737
3721
  }
3738
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3739
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
3722
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3723
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
3740
3724
  }
3741
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgSwitch, decorators: [{
3725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgSwitch, decorators: [{
3742
3726
  type: Directive,
3743
3727
  args: [{
3744
3728
  selector: '[ngSwitch]',
@@ -3801,10 +3785,10 @@ class NgSwitchCase {
3801
3785
  ngDoCheck() {
3802
3786
  this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
3803
3787
  }
3804
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3805
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
3788
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3789
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
3806
3790
  }
3807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgSwitchCase, decorators: [{
3791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgSwitchCase, decorators: [{
3808
3792
  type: Directive,
3809
3793
  args: [{
3810
3794
  selector: '[ngSwitchCase]',
@@ -3837,10 +3821,10 @@ class NgSwitchDefault {
3837
3821
  }
3838
3822
  ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
3839
3823
  }
3840
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3841
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
3824
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3825
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
3842
3826
  }
3843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgSwitchDefault, decorators: [{
3827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgSwitchDefault, decorators: [{
3844
3828
  type: Directive,
3845
3829
  args: [{
3846
3830
  selector: '[ngSwitchDefault]',
@@ -3919,10 +3903,10 @@ class NgPlural {
3919
3903
  this._activeView.create();
3920
3904
  }
3921
3905
  }
3922
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });
3923
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
3906
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });
3907
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
3924
3908
  }
3925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgPlural, decorators: [{
3909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgPlural, decorators: [{
3926
3910
  type: Directive,
3927
3911
  args: [{
3928
3912
  selector: '[ngPlural]',
@@ -3957,10 +3941,10 @@ class NgPluralCase {
3957
3941
  const isANumber = !isNaN(Number(value));
3958
3942
  ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));
3959
3943
  }
3960
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });
3961
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
3944
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });
3945
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
3962
3946
  }
3963
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgPluralCase, decorators: [{
3947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgPluralCase, decorators: [{
3964
3948
  type: Directive,
3965
3949
  args: [{
3966
3950
  selector: '[ngPluralCase]',
@@ -3977,12 +3961,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
3977
3961
  *
3978
3962
  * @usageNotes
3979
3963
  *
3980
- * Set the font of the containing element to the result of an expression.
3981
- *
3982
- * ```html
3983
- * <some-element [ngStyle]="{'font-style': styleExp}">...</some-element>
3984
- * ```
3985
- *
3986
3964
  * Set the width of the containing element to a pixel value returned by an expression.
3987
3965
  *
3988
3966
  * ```html
@@ -3995,6 +3973,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
3995
3973
  * <some-element [ngStyle]="objExp">...</some-element>
3996
3974
  * ```
3997
3975
  *
3976
+ * For more simple use cases you can use the [style bindings](/guide/templates/binding#css-class-and-style-property-bindings) directly.
3977
+ * It doesn't require importing a directive.
3978
+ *
3979
+ * Set the font of the containing element to the result of an expression.
3980
+ *
3981
+ * ```html
3982
+ * <some-element [style]="{'font-style': styleExp}">...</some-element>
3983
+ * ```
3984
+ *
3998
3985
  * @description
3999
3986
  *
4000
3987
  * An attribute directive that updates styles for the containing HTML element.
@@ -4006,6 +3993,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
4006
3993
  * is assigned to the given style property.
4007
3994
  * If the result of evaluation is null, the corresponding style is removed.
4008
3995
  *
3996
+ * @see [Style bindings](/guide/templates/binding#css-class-and-style-property-bindings)
3997
+ *
4009
3998
  * @publicApi
4010
3999
  */
4011
4000
  class NgStyle {
@@ -4048,10 +4037,10 @@ class NgStyle {
4048
4037
  changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));
4049
4038
  changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));
4050
4039
  }
4051
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
4052
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
4040
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
4041
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
4053
4042
  }
4054
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgStyle, decorators: [{
4043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgStyle, decorators: [{
4055
4044
  type: Directive,
4056
4045
  args: [{
4057
4046
  selector: '[ngStyle]',
@@ -4152,10 +4141,10 @@ class NgTemplateOutlet {
4152
4141
  },
4153
4142
  });
4154
4143
  }
4155
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
4156
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.6", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
4144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
4145
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
4157
4146
  }
4158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4159
4148
  type: Directive,
4160
4149
  args: [{
4161
4150
  selector: '[ngTemplateOutlet]',
@@ -4323,10 +4312,10 @@ class AsyncPipe {
4323
4312
  }
4324
4313
  }
4325
4314
  }
4326
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
4327
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
4315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
4316
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
4328
4317
  }
4329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: AsyncPipe, decorators: [{
4318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: AsyncPipe, decorators: [{
4330
4319
  type: Pipe,
4331
4320
  args: [{
4332
4321
  name: 'async',
@@ -4358,10 +4347,10 @@ class LowerCasePipe {
4358
4347
  }
4359
4348
  return value.toLowerCase();
4360
4349
  }
4361
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4362
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
4350
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4351
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
4363
4352
  }
4364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LowerCasePipe, decorators: [{
4353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LowerCasePipe, decorators: [{
4365
4354
  type: Pipe,
4366
4355
  args: [{
4367
4356
  name: 'lowercase',
@@ -4402,10 +4391,10 @@ class TitleCasePipe {
4402
4391
  }
4403
4392
  return value.replace(unicodeWordMatch, (txt) => txt[0].toUpperCase() + txt.slice(1).toLowerCase());
4404
4393
  }
4405
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4406
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
4394
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4395
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
4407
4396
  }
4408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: TitleCasePipe, decorators: [{
4397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TitleCasePipe, decorators: [{
4409
4398
  type: Pipe,
4410
4399
  args: [{
4411
4400
  name: 'titlecase',
@@ -4428,10 +4417,10 @@ class UpperCasePipe {
4428
4417
  }
4429
4418
  return value.toUpperCase();
4430
4419
  }
4431
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4432
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
4420
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4421
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
4433
4422
  }
4434
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: UpperCasePipe, decorators: [{
4423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: UpperCasePipe, decorators: [{
4435
4424
  type: Pipe,
4436
4425
  args: [{
4437
4426
  name: 'uppercase',
@@ -4662,10 +4651,10 @@ class DatePipe {
4662
4651
  throw invalidPipeArgumentError(DatePipe, error.message);
4663
4652
  }
4664
4653
  }
4665
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", 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 });
4666
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
4654
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", 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 });
4655
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
4667
4656
  }
4668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: DatePipe, decorators: [{
4657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DatePipe, decorators: [{
4669
4658
  type: Pipe,
4670
4659
  args: [{
4671
4660
  name: 'date',
@@ -4721,10 +4710,10 @@ class I18nPluralPipe {
4721
4710
  const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);
4722
4711
  return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
4723
4712
  }
4724
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });
4725
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
4713
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });
4714
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
4726
4715
  }
4727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: I18nPluralPipe, decorators: [{
4716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: I18nPluralPipe, decorators: [{
4728
4717
  type: Pipe,
4729
4718
  args: [{
4730
4719
  name: 'i18nPlural',
@@ -4768,10 +4757,10 @@ class I18nSelectPipe {
4768
4757
  }
4769
4758
  return '';
4770
4759
  }
4771
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4772
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
4760
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4761
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
4773
4762
  }
4774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: I18nSelectPipe, decorators: [{
4763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: I18nSelectPipe, decorators: [{
4775
4764
  type: Pipe,
4776
4765
  args: [{
4777
4766
  name: 'i18nSelect',
@@ -4800,10 +4789,10 @@ class JsonPipe {
4800
4789
  transform(value) {
4801
4790
  return JSON.stringify(value, null, 2);
4802
4791
  }
4803
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4804
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
4792
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4793
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
4805
4794
  }
4806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: JsonPipe, decorators: [{
4795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: JsonPipe, decorators: [{
4807
4796
  type: Pipe,
4808
4797
  args: [{
4809
4798
  name: 'json',
@@ -4865,10 +4854,10 @@ class KeyValuePipe {
4865
4854
  }
4866
4855
  return this.keyValues;
4867
4856
  }
4868
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });
4869
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
4857
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });
4858
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
4870
4859
  }
4871
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: KeyValuePipe, decorators: [{
4860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: KeyValuePipe, decorators: [{
4872
4861
  type: Pipe,
4873
4862
  args: [{
4874
4863
  name: 'keyvalue',
@@ -4986,10 +4975,10 @@ class DecimalPipe {
4986
4975
  throw invalidPipeArgumentError(DecimalPipe, error.message);
4987
4976
  }
4988
4977
  }
4989
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
4990
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
4978
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
4979
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
4991
4980
  }
4992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: DecimalPipe, decorators: [{
4981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DecimalPipe, decorators: [{
4993
4982
  type: Pipe,
4994
4983
  args: [{
4995
4984
  name: 'number',
@@ -5051,10 +5040,10 @@ class PercentPipe {
5051
5040
  throw invalidPipeArgumentError(PercentPipe, error.message);
5052
5041
  }
5053
5042
  }
5054
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
5055
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
5043
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
5044
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
5056
5045
  }
5057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PercentPipe, decorators: [{
5046
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PercentPipe, decorators: [{
5058
5047
  type: Pipe,
5059
5048
  args: [{
5060
5049
  name: 'percent',
@@ -5118,10 +5107,10 @@ class CurrencyPipe {
5118
5107
  throw invalidPipeArgumentError(CurrencyPipe, error.message);
5119
5108
  }
5120
5109
  }
5121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
5122
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
5110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
5111
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
5123
5112
  }
5124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: CurrencyPipe, decorators: [{
5113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CurrencyPipe, decorators: [{
5125
5114
  type: Pipe,
5126
5115
  args: [{
5127
5116
  name: 'currency',
@@ -5197,10 +5186,10 @@ class SlicePipe {
5197
5186
  supports(obj) {
5198
5187
  return typeof obj === 'string' || Array.isArray(obj);
5199
5188
  }
5200
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5201
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
5189
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5190
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
5202
5191
  }
5203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SlicePipe, decorators: [{
5192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SlicePipe, decorators: [{
5204
5193
  type: Pipe,
5205
5194
  args: [{
5206
5195
  name: 'slice',
@@ -5243,11 +5232,11 @@ const COMMON_PIPES = [
5243
5232
  * @publicApi
5244
5233
  */
5245
5234
  class CommonModule {
5246
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5247
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", 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] });
5248
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: CommonModule });
5235
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5236
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", 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] });
5237
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CommonModule });
5249
5238
  }
5250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: CommonModule, decorators: [{
5239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CommonModule, decorators: [{
5251
5240
  type: NgModule,
5252
5241
  args: [{
5253
5242
  imports: [COMMON_DIRECTIVES, COMMON_PIPES],
@@ -5280,7 +5269,7 @@ function isPlatformServer(platformId) {
5280
5269
  /**
5281
5270
  * @publicApi
5282
5271
  */
5283
- const VERSION = new Version('19.0.6');
5272
+ const VERSION = new Version('19.0.7');
5284
5273
 
5285
5274
  /**
5286
5275
  * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.
@@ -5294,9 +5283,9 @@ class ViewportScroller {
5294
5283
  static ɵprov = /** @pureOrBreakMyCode */ /* @__PURE__ */ ɵɵdefineInjectable({
5295
5284
  token: ViewportScroller,
5296
5285
  providedIn: 'root',
5297
- factory: () => isPlatformBrowser(inject(PLATFORM_ID))
5298
- ? new BrowserViewportScroller(inject(DOCUMENT), window)
5299
- : new NullViewportScroller(),
5286
+ factory: () => typeof ngServerMode !== 'undefined' && ngServerMode
5287
+ ? new NullViewportScroller()
5288
+ : new BrowserViewportScroller(inject(DOCUMENT), window),
5300
5289
  });
5301
5290
  }
5302
5291
  /**
@@ -5898,10 +5887,10 @@ class LCPImageObserver {
5898
5887
  this.observer.disconnect();
5899
5888
  this.images.clear();
5900
5889
  }
5901
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5902
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
5890
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5891
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
5903
5892
  }
5904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: LCPImageObserver, decorators: [{
5893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LCPImageObserver, decorators: [{
5905
5894
  type: Injectable,
5906
5895
  args: [{ providedIn: 'root' }]
5907
5896
  }], ctorParameters: () => [] });
@@ -6025,10 +6014,10 @@ class PreconnectLinkChecker {
6025
6014
  this.preconnectLinks?.clear();
6026
6015
  this.alreadySeen.clear();
6027
6016
  }
6028
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6029
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
6017
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6018
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
6030
6019
  }
6031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
6020
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
6032
6021
  type: Injectable,
6033
6022
  args: [{ providedIn: 'root' }]
6034
6023
  }], ctorParameters: () => [] });
@@ -6115,10 +6104,10 @@ class PreloadLinkCreator {
6115
6104
  }
6116
6105
  renderer.appendChild(this.document.head, preload);
6117
6106
  }
6118
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6119
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });
6107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6108
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });
6120
6109
  }
6121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: PreloadLinkCreator, decorators: [{
6110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PreloadLinkCreator, decorators: [{
6122
6111
  type: Injectable,
6123
6112
  args: [{ providedIn: 'root' }]
6124
6113
  }] });
@@ -6324,8 +6313,9 @@ class NgOptimizedImage {
6324
6313
  injector = inject(Injector);
6325
6314
  isServer = isPlatformServer(inject(PLATFORM_ID));
6326
6315
  preloadLinkCreator = inject(PreloadLinkCreator);
6327
- // a LCP image observer - should be injected only in the dev mode
6328
- lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;
6316
+ // An LCP image observer should be injected only in development mode.
6317
+ // Do not assign it to `null` to avoid having a redundant property in the production bundle.
6318
+ lcpObserver;
6329
6319
  /**
6330
6320
  * Calculate the rewritten `src` once and store it.
6331
6321
  * This is needed to avoid repetitive calculations and make sure the directive cleanup in the
@@ -6345,7 +6335,7 @@ class NgOptimizedImage {
6345
6335
  * descriptors to generate the final `srcset` property of the image.
6346
6336
  *
6347
6337
  * Example:
6348
- * ```
6338
+ * ```html
6349
6339
  * <img ngSrc="hello.jpg" ngSrcset="100w, 200w" /> =>
6350
6340
  * <img src="path/hello.jpg" srcset="path/hello.jpg?w=100 100w, path/hello.jpg?w=200 200w" />
6351
6341
  * ```
@@ -6415,6 +6405,19 @@ class NgOptimizedImage {
6415
6405
  * @internal
6416
6406
  */
6417
6407
  srcset;
6408
+ constructor() {
6409
+ if (ngDevMode) {
6410
+ this.lcpObserver = this.injector.get(LCPImageObserver);
6411
+ // Using `DestroyRef` to avoid having an empty `ngOnDestroy` method since this
6412
+ // is only run in development mode.
6413
+ const destroyRef = inject(DestroyRef);
6414
+ destroyRef.onDestroy(() => {
6415
+ if (!this.priority && this._renderedSrc !== null) {
6416
+ this.lcpObserver.unregisterImage(this._renderedSrc);
6417
+ }
6418
+ });
6419
+ }
6420
+ }
6418
6421
  /** @nodoc */
6419
6422
  ngOnInit() {
6420
6423
  ɵperformanceMarkFeature('NgOptimizedImage');
@@ -6454,12 +6457,9 @@ class NgOptimizedImage {
6454
6457
  assertNotMissingBuiltInLoader(this.ngSrc, this.imageLoader);
6455
6458
  assertNoNgSrcsetWithoutLoader(this, this.imageLoader);
6456
6459
  assertNoLoaderParamsWithoutLoader(this, this.imageLoader);
6457
- if (this.lcpObserver !== null) {
6458
- const ngZone = this.injector.get(NgZone);
6459
- ngZone.runOutsideAngular(() => {
6460
- this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc, this.priority);
6461
- });
6462
- }
6460
+ ngZone.runOutsideAngular(() => {
6461
+ this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc, this.priority);
6462
+ });
6463
6463
  if (this.priority) {
6464
6464
  const checker = this.injector.get(PreconnectLinkChecker);
6465
6465
  checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);
@@ -6529,12 +6529,14 @@ class NgOptimizedImage {
6529
6529
  if (changes['ngSrc'] && !changes['ngSrc'].isFirstChange()) {
6530
6530
  const oldSrc = this._renderedSrc;
6531
6531
  this.updateSrcAndSrcset(true);
6532
- const newSrc = this._renderedSrc;
6533
- if (this.lcpObserver !== null && oldSrc && newSrc && oldSrc !== newSrc) {
6534
- const ngZone = this.injector.get(NgZone);
6535
- ngZone.runOutsideAngular(() => {
6536
- this.lcpObserver?.updateImage(oldSrc, newSrc);
6537
- });
6532
+ if (ngDevMode) {
6533
+ const newSrc = this._renderedSrc;
6534
+ if (oldSrc && newSrc && oldSrc !== newSrc) {
6535
+ const ngZone = this.injector.get(NgZone);
6536
+ ngZone.runOutsideAngular(() => {
6537
+ this.lcpObserver.updateImage(oldSrc, newSrc);
6538
+ });
6539
+ }
6538
6540
  }
6539
6541
  }
6540
6542
  if (ngDevMode && changes['placeholder']?.currentValue && !this.isServer) {
@@ -6678,21 +6680,13 @@ class NgOptimizedImage {
6678
6680
  const removeErrorListenerFn = this.renderer.listen(img, 'error', callback);
6679
6681
  callOnLoadIfImageIsLoaded(img, callback);
6680
6682
  }
6681
- /** @nodoc */
6682
- ngOnDestroy() {
6683
- if (ngDevMode) {
6684
- if (!this.priority && this._renderedSrc !== null && this.lcpObserver !== null) {
6685
- this.lcpObserver.unregisterImage(this._renderedSrc);
6686
- }
6687
- }
6688
- }
6689
6683
  setHostAttribute(name, value) {
6690
6684
  this.renderer.setAttribute(this.imgElement, name, value);
6691
6685
  }
6692
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6693
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.6", 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", booleanOrUrlAttribute], 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 });
6686
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6687
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.7", 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", booleanOrUrlAttribute], 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 });
6694
6688
  }
6695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: NgOptimizedImage, decorators: [{
6689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NgOptimizedImage, decorators: [{
6696
6690
  type: Directive,
6697
6691
  args: [{
6698
6692
  selector: 'img[ngSrc]',
@@ -6708,7 +6702,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
6708
6702
  '[style.filter]': `placeholder && shouldBlurPlaceholder(placeholderConfig) ? "blur(${PLACEHOLDER_BLUR_AMOUNT}px)" : null`,
6709
6703
  },
6710
6704
  }]
6711
- }], propDecorators: { ngSrc: [{
6705
+ }], ctorParameters: () => [], propDecorators: { ngSrc: [{
6712
6706
  type: Input,
6713
6707
  args: [{ required: true, transform: unwrapSafeUrl }]
6714
6708
  }], ngSrcset: [{