@angular/common 19.0.0-next.8 → 19.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.8
2
+ * @license Angular v19.0.0-rc.0
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -31,10 +31,10 @@ class DomAdapter {
31
31
  * implementations.
32
32
  */
33
33
  class PlatformNavigation {
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation }); }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PlatformNavigation, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PlatformNavigation, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{ providedIn: 'platform', useFactory: () => window.navigation }]
40
40
  }] });
@@ -74,10 +74,10 @@ class PlatformLocation {
74
74
  historyGo(relativePosition) {
75
75
  throw new Error(ngDevMode ? 'Not implemented' : '');
76
76
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
78
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }); }
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) });
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PlatformLocation, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PlatformLocation, decorators: [{
81
81
  type: Injectable,
82
82
  args: [{ providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }]
83
83
  }] });
@@ -96,9 +96,11 @@ const LOCATION_INITIALIZED = new InjectionToken(ngDevMode ? 'Location Initialize
96
96
  * @publicApi
97
97
  */
98
98
  class BrowserPlatformLocation extends PlatformLocation {
99
+ _location;
100
+ _history;
101
+ _doc = inject(DOCUMENT);
99
102
  constructor() {
100
103
  super();
101
- this._doc = inject(DOCUMENT);
102
104
  this._location = window.location;
103
105
  this._history = window.history;
104
106
  }
@@ -157,10 +159,10 @@ class BrowserPlatformLocation extends PlatformLocation {
157
159
  getState() {
158
160
  return this._history.state;
159
161
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
161
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() }); }
162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
163
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() });
162
164
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
164
166
  type: Injectable,
165
167
  args: [{
166
168
  providedIn: 'platform',
@@ -246,10 +248,10 @@ class LocationStrategy {
246
248
  historyGo(relativePosition) {
247
249
  throw new Error(ngDevMode ? 'Not implemented' : '');
248
250
  }
249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
250
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }); }
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
252
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
251
253
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LocationStrategy, decorators: [{
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LocationStrategy, decorators: [{
253
255
  type: Injectable,
254
256
  args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]
255
257
  }] });
@@ -309,10 +311,12 @@ const APP_BASE_HREF = new InjectionToken(ngDevMode ? 'appBaseHref' : '');
309
311
  * @publicApi
310
312
  */
311
313
  class PathLocationStrategy extends LocationStrategy {
314
+ _platformLocation;
315
+ _baseHref;
316
+ _removeListenerFns = [];
312
317
  constructor(_platformLocation, href) {
313
318
  super();
314
319
  this._platformLocation = _platformLocation;
315
- this._removeListenerFns = [];
316
320
  this._baseHref =
317
321
  href ??
318
322
  this._platformLocation.getBaseHrefFromDOM() ??
@@ -359,10 +363,10 @@ class PathLocationStrategy extends LocationStrategy {
359
363
  historyGo(relativePosition = 0) {
360
364
  this._platformLocation.historyGo?.(relativePosition);
361
365
  }
362
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
363
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' }); }
366
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
367
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
364
368
  }
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PathLocationStrategy, decorators: [{
369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PathLocationStrategy, decorators: [{
366
370
  type: Injectable,
367
371
  args: [{ providedIn: 'root' }]
368
372
  }], ctorParameters: () => [{ type: PlatformLocation }, { type: undefined, decorators: [{
@@ -391,11 +395,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
391
395
  * @publicApi
392
396
  */
393
397
  class HashLocationStrategy extends LocationStrategy {
398
+ _platformLocation;
399
+ _baseHref = '';
400
+ _removeListenerFns = [];
394
401
  constructor(_platformLocation, _baseHref) {
395
402
  super();
396
403
  this._platformLocation = _platformLocation;
397
- this._baseHref = '';
398
- this._removeListenerFns = [];
399
404
  if (_baseHref != null) {
400
405
  this._baseHref = _baseHref;
401
406
  }
@@ -448,10 +453,10 @@ class HashLocationStrategy extends LocationStrategy {
448
453
  historyGo(relativePosition = 0) {
449
454
  this._platformLocation.historyGo?.(relativePosition);
450
455
  }
451
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
452
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: HashLocationStrategy }); }
456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
457
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HashLocationStrategy });
453
458
  }
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: HashLocationStrategy, decorators: [{
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HashLocationStrategy, decorators: [{
455
460
  type: Injectable
456
461
  }], ctorParameters: () => [{ type: PlatformLocation }, { type: undefined, decorators: [{
457
462
  type: Optional
@@ -489,13 +494,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
489
494
  * @publicApi
490
495
  */
491
496
  class Location {
497
+ /** @internal */
498
+ _subject = new Subject();
499
+ /** @internal */
500
+ _basePath;
501
+ /** @internal */
502
+ _locationStrategy;
503
+ /** @internal */
504
+ _urlChangeListeners = [];
505
+ /** @internal */
506
+ _urlChangeSubscription = null;
492
507
  constructor(locationStrategy) {
493
- /** @internal */
494
- this._subject = new Subject();
495
- /** @internal */
496
- this._urlChangeListeners = [];
497
- /** @internal */
498
- this._urlChangeSubscription = null;
499
508
  this._locationStrategy = locationStrategy;
500
509
  const baseHref = this._locationStrategy.getBaseHref();
501
510
  // Note: This class's interaction with base HREF does not fully follow the rules
@@ -681,7 +690,7 @@ class Location {
681
690
  *
682
691
  * @returns The normalized URL parameters string.
683
692
  */
684
- static { this.normalizeQueryParams = normalizeQueryParams; }
693
+ static normalizeQueryParams = normalizeQueryParams;
685
694
  /**
686
695
  * Joins two parts of a URL with a slash if needed.
687
696
  *
@@ -691,7 +700,7 @@ class Location {
691
700
  *
692
701
  * @returns The joined URL string.
693
702
  */
694
- static { this.joinWithSlash = joinWithSlash; }
703
+ static joinWithSlash = joinWithSlash;
695
704
  /**
696
705
  * Removes a trailing slash from a URL string if needed.
697
706
  * Looks for the first occurrence of either `#`, `?`, or the end of the
@@ -701,11 +710,11 @@ class Location {
701
710
  *
702
711
  * @returns The URL string, modified if needed.
703
712
  */
704
- static { this.stripTrailingSlash = stripTrailingSlash; }
705
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
706
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation }); }
713
+ static stripTrailingSlash = stripTrailingSlash;
714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
715
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
707
716
  }
708
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: Location, decorators: [{
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: Location, decorators: [{
709
718
  type: Injectable,
710
719
  args: [{
711
720
  providedIn: 'root',
@@ -2607,10 +2616,10 @@ function parseIntAutoRadix(text) {
2607
2616
  * @publicApi
2608
2617
  */
2609
2618
  class NgLocalization {
2610
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2611
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] }); }
2619
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2620
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });
2612
2621
  }
2613
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgLocalization, decorators: [{
2622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgLocalization, decorators: [{
2614
2623
  type: Injectable,
2615
2624
  args: [{
2616
2625
  providedIn: 'root',
@@ -2643,6 +2652,7 @@ function getPluralCategory(value, cases, ngLocalization, locale) {
2643
2652
  * @publicApi
2644
2653
  */
2645
2654
  class NgLocaleLocalization extends NgLocalization {
2655
+ locale;
2646
2656
  constructor(locale) {
2647
2657
  super();
2648
2658
  this.locale = locale;
@@ -2664,10 +2674,10 @@ class NgLocaleLocalization extends NgLocalization {
2664
2674
  return 'other';
2665
2675
  }
2666
2676
  }
2667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
2668
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgLocaleLocalization }); }
2677
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
2678
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgLocaleLocalization });
2669
2679
  }
2670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2671
2681
  type: Injectable
2672
2682
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2673
2683
  type: Inject,
@@ -2730,11 +2740,14 @@ const EMPTY_ARRAY = [];
2730
2740
  * @publicApi
2731
2741
  */
2732
2742
  class NgClass {
2743
+ _ngEl;
2744
+ _renderer;
2745
+ initialClasses = EMPTY_ARRAY;
2746
+ rawClass;
2747
+ stateMap = new Map();
2733
2748
  constructor(_ngEl, _renderer) {
2734
2749
  this._ngEl = _ngEl;
2735
2750
  this._renderer = _renderer;
2736
- this.initialClasses = EMPTY_ARRAY;
2737
- this.stateMap = new Map();
2738
2751
  }
2739
2752
  set klass(value) {
2740
2753
  this.initialClasses = value != null ? value.trim().split(WS_REGEXP) : EMPTY_ARRAY;
@@ -2836,10 +2849,10 @@ class NgClass {
2836
2849
  });
2837
2850
  }
2838
2851
  }
2839
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgClass, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
2840
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 }); }
2852
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgClass, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2853
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 });
2841
2854
  }
2842
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgClass, decorators: [{
2855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgClass, decorators: [{
2843
2856
  type: Directive,
2844
2857
  args: [{
2845
2858
  selector: '[ngClass]',
@@ -2923,15 +2936,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
2923
2936
  * @ngModule CommonModule
2924
2937
  */
2925
2938
  class NgComponentOutlet {
2939
+ _viewContainerRef;
2940
+ ngComponentOutlet = null;
2941
+ ngComponentOutletInputs;
2942
+ ngComponentOutletInjector;
2943
+ ngComponentOutletContent;
2944
+ ngComponentOutletNgModule;
2945
+ /**
2946
+ * @deprecated This input is deprecated, use `ngComponentOutletNgModule` instead.
2947
+ */
2948
+ ngComponentOutletNgModuleFactory;
2949
+ _componentRef;
2950
+ _moduleRef;
2951
+ /**
2952
+ * A helper data structure that allows us to track inputs that were part of the
2953
+ * ngComponentOutletInputs expression. Tracking inputs is necessary for proper removal of ones
2954
+ * that are no longer referenced.
2955
+ */
2956
+ _inputsUsed = new Map();
2926
2957
  constructor(_viewContainerRef) {
2927
2958
  this._viewContainerRef = _viewContainerRef;
2928
- this.ngComponentOutlet = null;
2929
- /**
2930
- * A helper data structure that allows us to track inputs that were part of the
2931
- * ngComponentOutletInputs expression. Tracking inputs is necessary for proper removal of ones
2932
- * that are no longer referenced.
2933
- */
2934
- this._inputsUsed = new Map();
2935
2959
  }
2936
2960
  _needToReCreateNgModuleInstance(changes) {
2937
2961
  // Note: square brackets property accessor is safe for Closure compiler optimizations (the
@@ -3006,10 +3030,10 @@ class NgComponentOutlet {
3006
3030
  }
3007
3031
  }
3008
3032
  }
3009
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3010
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInputs: "ngComponentOutletInputs", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 }); }
3033
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
3034
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInputs: "ngComponentOutletInputs", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 });
3011
3035
  }
3012
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgComponentOutlet, decorators: [{
3036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgComponentOutlet, decorators: [{
3013
3037
  type: Directive,
3014
3038
  args: [{
3015
3039
  selector: '[ngComponentOutlet]',
@@ -3038,21 +3062,41 @@ function getParentInjector(injector) {
3038
3062
  * @publicApi
3039
3063
  */
3040
3064
  class NgForOfContext {
3041
- constructor($implicit, ngForOf, index, count) {
3065
+ $implicit;
3066
+ ngForOf;
3067
+ index;
3068
+ count;
3069
+ constructor(
3070
+ /** Reference to the current item from the collection. */
3071
+ $implicit,
3072
+ /**
3073
+ * The value of the iterable expression. Useful when the expression is
3074
+ * more complex then a property access, for example when using the async pipe
3075
+ * (`userStreams | async`).
3076
+ */
3077
+ ngForOf,
3078
+ /** Returns an index of the current item in the collection. */
3079
+ index,
3080
+ /** Returns total amount of items in the collection. */
3081
+ count) {
3042
3082
  this.$implicit = $implicit;
3043
3083
  this.ngForOf = ngForOf;
3044
3084
  this.index = index;
3045
3085
  this.count = count;
3046
3086
  }
3087
+ // Indicates whether this is the first item in the collection.
3047
3088
  get first() {
3048
3089
  return this.index === 0;
3049
3090
  }
3091
+ // Indicates whether this is the last item in the collection.
3050
3092
  get last() {
3051
3093
  return this.index === this.count - 1;
3052
3094
  }
3095
+ // Indicates whether an index of this item in the collection is even.
3053
3096
  get even() {
3054
3097
  return this.index % 2 === 0;
3055
3098
  }
3099
+ // Indicates whether an index of this item in the collection is odd.
3056
3100
  get odd() {
3057
3101
  return !this.even;
3058
3102
  }
@@ -3156,6 +3200,9 @@ class NgForOfContext {
3156
3200
  * @publicApi
3157
3201
  */
3158
3202
  class NgForOf {
3203
+ _viewContainer;
3204
+ _template;
3205
+ _differs;
3159
3206
  /**
3160
3207
  * The value of the iterable expression, which can be used as a
3161
3208
  * [template input variable](guide/directives/structural-directives#shorthand).
@@ -3192,13 +3239,17 @@ class NgForOf {
3192
3239
  get ngForTrackBy() {
3193
3240
  return this._trackByFn;
3194
3241
  }
3242
+ _ngForOf = null;
3243
+ _ngForOfDirty = true;
3244
+ _differ = null;
3245
+ // TODO(issue/24571): remove '!'
3246
+ // waiting for microsoft/typescript#43662 to allow the return type `TrackByFunction|undefined` for
3247
+ // the getter
3248
+ _trackByFn;
3195
3249
  constructor(_viewContainer, _template, _differs) {
3196
3250
  this._viewContainer = _viewContainer;
3197
3251
  this._template = _template;
3198
3252
  this._differs = _differs;
3199
- this._ngForOf = null;
3200
- this._ngForOfDirty = true;
3201
- this._differ = null;
3202
3253
  }
3203
3254
  /**
3204
3255
  * A reference to the template that is stamped out for each item in the iterable.
@@ -3289,10 +3340,10 @@ class NgForOf {
3289
3340
  static ngTemplateContextGuard(dir, ctx) {
3290
3341
  return true;
3291
3342
  }
3292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
3293
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 }); }
3343
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
3344
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
3294
3345
  }
3295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgForOf, decorators: [{
3346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgForOf, decorators: [{
3296
3347
  type: Directive,
3297
3348
  args: [{
3298
3349
  selector: '[ngFor][ngForOf]',
@@ -3452,13 +3503,14 @@ function getTypeName(type) {
3452
3503
  * @publicApi
3453
3504
  */
3454
3505
  class NgIf {
3506
+ _viewContainer;
3507
+ _context = new NgIfContext();
3508
+ _thenTemplateRef = null;
3509
+ _elseTemplateRef = null;
3510
+ _thenViewRef = null;
3511
+ _elseViewRef = null;
3455
3512
  constructor(_viewContainer, templateRef) {
3456
3513
  this._viewContainer = _viewContainer;
3457
- this._context = new NgIfContext();
3458
- this._thenTemplateRef = null;
3459
- this._elseTemplateRef = null;
3460
- this._thenViewRef = null;
3461
- this._elseViewRef = null;
3462
3514
  this._thenTemplateRef = templateRef;
3463
3515
  }
3464
3516
  /**
@@ -3506,6 +3558,17 @@ class NgIf {
3506
3558
  }
3507
3559
  }
3508
3560
  }
3561
+ /** @internal */
3562
+ static ngIfUseIfTypeGuard;
3563
+ /**
3564
+ * Assert the correct type of the expression bound to the `ngIf` input within the template.
3565
+ *
3566
+ * The presence of this static field is a signal to the Ivy template type check compiler that
3567
+ * when the `NgIf` structural directive renders its template, the type of the expression bound
3568
+ * to `ngIf` should be narrowed in some way. For `NgIf`, the binding expression itself is used to
3569
+ * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `NgIf`.
3570
+ */
3571
+ static ngTemplateGuard_ngIf;
3509
3572
  /**
3510
3573
  * Asserts the correct type of the context for the template that `NgIf` will render.
3511
3574
  *
@@ -3515,10 +3578,10 @@ class NgIf {
3515
3578
  static ngTemplateContextGuard(dir, ctx) {
3516
3579
  return true;
3517
3580
  }
3518
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3519
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 }); }
3581
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3582
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
3520
3583
  }
3521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgIf, decorators: [{
3584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgIf, decorators: [{
3522
3585
  type: Directive,
3523
3586
  args: [{
3524
3587
  selector: '[ngIf]',
@@ -3535,10 +3598,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
3535
3598
  * @publicApi
3536
3599
  */
3537
3600
  class NgIfContext {
3538
- constructor() {
3539
- this.$implicit = null;
3540
- this.ngIf = null;
3541
- }
3601
+ $implicit = null;
3602
+ ngIf = null;
3542
3603
  }
3543
3604
  function assertTemplate(property, templateRef) {
3544
3605
  const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);
@@ -3548,10 +3609,12 @@ function assertTemplate(property, templateRef) {
3548
3609
  }
3549
3610
 
3550
3611
  class SwitchView {
3612
+ _viewContainerRef;
3613
+ _templateRef;
3614
+ _created = false;
3551
3615
  constructor(_viewContainerRef, _templateRef) {
3552
3616
  this._viewContainerRef = _viewContainerRef;
3553
3617
  this._templateRef = _templateRef;
3554
- this._created = false;
3555
3618
  }
3556
3619
  create() {
3557
3620
  this._created = true;
@@ -3637,13 +3700,12 @@ class SwitchView {
3637
3700
  *
3638
3701
  */
3639
3702
  class NgSwitch {
3640
- constructor() {
3641
- this._defaultViews = [];
3642
- this._defaultUsed = false;
3643
- this._caseCount = 0;
3644
- this._lastCaseCheckIndex = 0;
3645
- this._lastCasesMatched = false;
3646
- }
3703
+ _defaultViews = [];
3704
+ _defaultUsed = false;
3705
+ _caseCount = 0;
3706
+ _lastCaseCheckIndex = 0;
3707
+ _lastCasesMatched = false;
3708
+ _ngSwitch;
3647
3709
  set ngSwitch(newValue) {
3648
3710
  this._ngSwitch = newValue;
3649
3711
  if (this._caseCount === 0) {
@@ -3678,10 +3740,10 @@ class NgSwitch {
3678
3740
  }
3679
3741
  }
3680
3742
  }
3681
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3682
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 }); }
3743
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3744
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
3683
3745
  }
3684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgSwitch, decorators: [{
3746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgSwitch, decorators: [{
3685
3747
  type: Directive,
3686
3748
  args: [{
3687
3749
  selector: '[ngSwitch]',
@@ -3724,6 +3786,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
3724
3786
  *
3725
3787
  */
3726
3788
  class NgSwitchCase {
3789
+ ngSwitch;
3790
+ _view;
3791
+ /**
3792
+ * Stores the HTML template to be selected on match.
3793
+ */
3794
+ ngSwitchCase;
3727
3795
  constructor(viewContainer, templateRef, ngSwitch) {
3728
3796
  this.ngSwitch = ngSwitch;
3729
3797
  if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {
@@ -3739,10 +3807,10 @@ class NgSwitchCase {
3739
3807
  ngDoCheck() {
3740
3808
  this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
3741
3809
  }
3742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3743
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 }); }
3810
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3811
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
3744
3812
  }
3745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgSwitchCase, decorators: [{
3813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgSwitchCase, decorators: [{
3746
3814
  type: Directive,
3747
3815
  args: [{
3748
3816
  selector: '[ngSwitchCase]',
@@ -3776,10 +3844,10 @@ class NgSwitchDefault {
3776
3844
  }
3777
3845
  ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
3778
3846
  }
3779
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3780
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 }); }
3847
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3848
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
3781
3849
  }
3782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgSwitchDefault, decorators: [{
3850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgSwitchDefault, decorators: [{
3783
3851
  type: Directive,
3784
3852
  args: [{
3785
3853
  selector: '[ngSwitchDefault]',
@@ -3831,9 +3899,11 @@ function stringifyValue(value) {
3831
3899
  * @publicApi
3832
3900
  */
3833
3901
  class NgPlural {
3902
+ _localization;
3903
+ _activeView;
3904
+ _caseViews = {};
3834
3905
  constructor(_localization) {
3835
3906
  this._localization = _localization;
3836
- this._caseViews = {};
3837
3907
  }
3838
3908
  set ngPlural(value) {
3839
3909
  this._updateView(value);
@@ -3857,10 +3927,10 @@ class NgPlural {
3857
3927
  this._activeView.create();
3858
3928
  }
3859
3929
  }
3860
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive }); }
3861
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 }); }
3930
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });
3931
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
3862
3932
  }
3863
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgPlural, decorators: [{
3933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgPlural, decorators: [{
3864
3934
  type: Directive,
3865
3935
  args: [{
3866
3936
  selector: '[ngPlural]',
@@ -3890,15 +3960,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
3890
3960
  * @publicApi
3891
3961
  */
3892
3962
  class NgPluralCase {
3963
+ value;
3893
3964
  constructor(value, template, viewContainer, ngPlural) {
3894
3965
  this.value = value;
3895
3966
  const isANumber = !isNaN(Number(value));
3896
3967
  ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));
3897
3968
  }
3898
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3899
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 }); }
3969
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.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 });
3970
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
3900
3971
  }
3901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgPluralCase, decorators: [{
3972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgPluralCase, decorators: [{
3902
3973
  type: Directive,
3903
3974
  args: [{
3904
3975
  selector: '[ngPluralCase]',
@@ -3948,12 +4019,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
3948
4019
  * @publicApi
3949
4020
  */
3950
4021
  class NgStyle {
4022
+ _ngEl;
4023
+ _differs;
4024
+ _renderer;
4025
+ _ngStyle = null;
4026
+ _differ = null;
3951
4027
  constructor(_ngEl, _differs, _renderer) {
3952
4028
  this._ngEl = _ngEl;
3953
4029
  this._differs = _differs;
3954
4030
  this._renderer = _renderer;
3955
- this._ngStyle = null;
3956
- this._differ = null;
3957
4031
  }
3958
4032
  set ngStyle(values) {
3959
4033
  this._ngStyle = values;
@@ -3984,10 +4058,10 @@ class NgStyle {
3984
4058
  changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));
3985
4059
  changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));
3986
4060
  }
3987
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
3988
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 }); }
4061
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
4062
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
3989
4063
  }
3990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgStyle, decorators: [{
4064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgStyle, decorators: [{
3991
4065
  type: Directive,
3992
4066
  args: [{
3993
4067
  selector: '[ngStyle]',
@@ -4023,22 +4097,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
4023
4097
  * @publicApi
4024
4098
  */
4025
4099
  class NgTemplateOutlet {
4100
+ _viewContainerRef;
4101
+ _viewRef = null;
4102
+ /**
4103
+ * A context object to attach to the {@link EmbeddedViewRef}. This should be an
4104
+ * object, the object's keys will be available for binding by the local template `let`
4105
+ * declarations.
4106
+ * Using the key `$implicit` in the context object will set its value as default.
4107
+ */
4108
+ ngTemplateOutletContext = null;
4109
+ /**
4110
+ * A string defining the template reference and optionally the context object for the template.
4111
+ */
4112
+ ngTemplateOutlet = null;
4113
+ /** Injector to be used within the embedded view. */
4114
+ ngTemplateOutletInjector = null;
4026
4115
  constructor(_viewContainerRef) {
4027
4116
  this._viewContainerRef = _viewContainerRef;
4028
- this._viewRef = null;
4029
- /**
4030
- * A context object to attach to the {@link EmbeddedViewRef}. This should be an
4031
- * object, the object's keys will be available for binding by the local template `let`
4032
- * declarations.
4033
- * Using the key `$implicit` in the context object will set its value as default.
4034
- */
4035
- this.ngTemplateOutletContext = null;
4036
- /**
4037
- * A string defining the template reference and optionally the context object for the template.
4038
- */
4039
- this.ngTemplateOutlet = null;
4040
- /** Injector to be used within the embedded view. */
4041
- this.ngTemplateOutletInjector = null;
4042
4117
  }
4043
4118
  ngOnChanges(changes) {
4044
4119
  if (this._shouldRecreateView(changes)) {
@@ -4088,10 +4163,10 @@ class NgTemplateOutlet {
4088
4163
  },
4089
4164
  });
4090
4165
  }
4091
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4092
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 }); }
4166
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
4167
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
4093
4168
  }
4094
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4095
4170
  type: Directive,
4096
4171
  args: [{
4097
4172
  selector: '[ngTemplateOutlet]',
@@ -4187,12 +4262,13 @@ const _subscribableStrategy = new SubscribableStrategy();
4187
4262
  * @publicApi
4188
4263
  */
4189
4264
  class AsyncPipe {
4265
+ _ref;
4266
+ _latestValue = null;
4267
+ markForCheckOnValueUpdate = true;
4268
+ _subscription = null;
4269
+ _obj = null;
4270
+ _strategy = null;
4190
4271
  constructor(ref) {
4191
- this._latestValue = null;
4192
- this.markForCheckOnValueUpdate = true;
4193
- this._subscription = null;
4194
- this._obj = null;
4195
- this._strategy = null;
4196
4272
  // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor
4197
4273
  // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.
4198
4274
  this._ref = ref;
@@ -4259,10 +4335,10 @@ class AsyncPipe {
4259
4335
  }
4260
4336
  }
4261
4337
  }
4262
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
4263
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false }); }
4338
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
4339
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
4264
4340
  }
4265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: AsyncPipe, decorators: [{
4341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: AsyncPipe, decorators: [{
4266
4342
  type: Pipe,
4267
4343
  args: [{
4268
4344
  name: 'async',
@@ -4295,10 +4371,10 @@ class LowerCasePipe {
4295
4371
  }
4296
4372
  return value.toLowerCase();
4297
4373
  }
4298
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4299
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" }); }
4374
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4375
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
4300
4376
  }
4301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LowerCasePipe, decorators: [{
4377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LowerCasePipe, decorators: [{
4302
4378
  type: Pipe,
4303
4379
  args: [{
4304
4380
  name: 'lowercase',
@@ -4340,10 +4416,10 @@ class TitleCasePipe {
4340
4416
  }
4341
4417
  return value.replace(unicodeWordMatch, (txt) => txt[0].toUpperCase() + txt.slice(1).toLowerCase());
4342
4418
  }
4343
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4344
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" }); }
4419
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4420
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
4345
4421
  }
4346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: TitleCasePipe, decorators: [{
4422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: TitleCasePipe, decorators: [{
4347
4423
  type: Pipe,
4348
4424
  args: [{
4349
4425
  name: 'titlecase',
@@ -4367,10 +4443,10 @@ class UpperCasePipe {
4367
4443
  }
4368
4444
  return value.toUpperCase();
4369
4445
  }
4370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4371
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" }); }
4446
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4447
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
4372
4448
  }
4373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: UpperCasePipe, decorators: [{
4449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: UpperCasePipe, decorators: [{
4374
4450
  type: Pipe,
4375
4451
  args: [{
4376
4452
  name: 'uppercase',
@@ -4582,6 +4658,9 @@ const DATE_PIPE_DEFAULT_OPTIONS = new InjectionToken(ngDevMode ? 'DATE_PIPE_DEFA
4582
4658
  * @publicApi
4583
4659
  */
4584
4660
  class DatePipe {
4661
+ locale;
4662
+ defaultTimezone;
4663
+ defaultOptions;
4585
4664
  constructor(locale, defaultTimezone, defaultOptions) {
4586
4665
  this.locale = locale;
4587
4666
  this.defaultTimezone = defaultTimezone;
@@ -4599,10 +4678,10 @@ class DatePipe {
4599
4678
  throw invalidPipeArgumentError(DatePipe, error.message);
4600
4679
  }
4601
4680
  }
4602
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", 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 }); }
4603
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" }); }
4681
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", 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 });
4682
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
4604
4683
  }
4605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: DatePipe, decorators: [{
4684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: DatePipe, decorators: [{
4606
4685
  type: Pipe,
4607
4686
  args: [{
4608
4687
  name: 'date',
@@ -4639,6 +4718,7 @@ const _INTERPOLATION_REGEXP = /#/g;
4639
4718
  * @publicApi
4640
4719
  */
4641
4720
  class I18nPluralPipe {
4721
+ _localization;
4642
4722
  constructor(_localization) {
4643
4723
  this._localization = _localization;
4644
4724
  }
@@ -4658,10 +4738,10 @@ class I18nPluralPipe {
4658
4738
  const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);
4659
4739
  return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
4660
4740
  }
4661
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe }); }
4662
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" }); }
4741
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });
4742
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
4663
4743
  }
4664
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: I18nPluralPipe, decorators: [{
4744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: I18nPluralPipe, decorators: [{
4665
4745
  type: Pipe,
4666
4746
  args: [{
4667
4747
  name: 'i18nPlural',
@@ -4706,10 +4786,10 @@ class I18nSelectPipe {
4706
4786
  }
4707
4787
  return '';
4708
4788
  }
4709
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4710
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" }); }
4789
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4790
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
4711
4791
  }
4712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: I18nSelectPipe, decorators: [{
4792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: I18nSelectPipe, decorators: [{
4713
4793
  type: Pipe,
4714
4794
  args: [{
4715
4795
  name: 'i18nSelect',
@@ -4739,10 +4819,10 @@ class JsonPipe {
4739
4819
  transform(value) {
4740
4820
  return JSON.stringify(value, null, 2);
4741
4821
  }
4742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4743
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false }); }
4822
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4823
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
4744
4824
  }
4745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: JsonPipe, decorators: [{
4825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonPipe, decorators: [{
4746
4826
  type: Pipe,
4747
4827
  args: [{
4748
4828
  name: 'json',
@@ -4763,6 +4843,7 @@ function makeKeyValuePair(key, value) {
4763
4843
  * The output array will be ordered by keys.
4764
4844
  * By default the comparator will be by Unicode point value.
4765
4845
  * You can optionally pass a compareFn if your keys are complex types.
4846
+ * Passing `null` as the compareFn will use natural ordering of the input.
4766
4847
  *
4767
4848
  * @usageNotes
4768
4849
  * ### Examples
@@ -4775,11 +4856,13 @@ function makeKeyValuePair(key, value) {
4775
4856
  * @publicApi
4776
4857
  */
4777
4858
  class KeyValuePipe {
4859
+ differs;
4778
4860
  constructor(differs) {
4779
4861
  this.differs = differs;
4780
- this.keyValues = [];
4781
- this.compareFn = defaultComparator;
4782
4862
  }
4863
+ differ;
4864
+ keyValues = [];
4865
+ compareFn = defaultComparator;
4783
4866
  transform(input, compareFn = defaultComparator) {
4784
4867
  if (!input || (!(input instanceof Map) && typeof input !== 'object')) {
4785
4868
  return null;
@@ -4795,15 +4878,17 @@ class KeyValuePipe {
4795
4878
  });
4796
4879
  }
4797
4880
  if (differChanges || compareFnChanged) {
4798
- this.keyValues.sort(compareFn);
4881
+ if (compareFn) {
4882
+ this.keyValues.sort(compareFn);
4883
+ }
4799
4884
  this.compareFn = compareFn;
4800
4885
  }
4801
4886
  return this.keyValues;
4802
4887
  }
4803
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe }); }
4804
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false }); }
4888
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });
4889
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
4805
4890
  }
4806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: KeyValuePipe, decorators: [{
4891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: KeyValuePipe, decorators: [{
4807
4892
  type: Pipe,
4808
4893
  args: [{
4809
4894
  name: 'keyvalue',
@@ -4906,16 +4991,10 @@ function defaultComparator(keyValueA, keyValueB) {
4906
4991
  * @publicApi
4907
4992
  */
4908
4993
  class DecimalPipe {
4994
+ _locale;
4909
4995
  constructor(_locale) {
4910
4996
  this._locale = _locale;
4911
4997
  }
4912
- /**
4913
- * @param value The value to be formatted.
4914
- * @param digitsInfo Sets digit and decimal representation.
4915
- * [See more](#digitsinfo).
4916
- * @param locale Specifies what locale format rules to use.
4917
- * [See more](#locale).
4918
- */
4919
4998
  transform(value, digitsInfo, locale) {
4920
4999
  if (!isValue(value))
4921
5000
  return null;
@@ -4928,10 +5007,10 @@ class DecimalPipe {
4928
5007
  throw invalidPipeArgumentError(DecimalPipe, error.message);
4929
5008
  }
4930
5009
  }
4931
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4932
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" }); }
5010
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
5011
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
4933
5012
  }
4934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: DecimalPipe, decorators: [{
5013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: DecimalPipe, decorators: [{
4935
5014
  type: Pipe,
4936
5015
  args: [{
4937
5016
  name: 'number',
@@ -4962,6 +5041,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
4962
5041
  * @publicApi
4963
5042
  */
4964
5043
  class PercentPipe {
5044
+ _locale;
4965
5045
  constructor(_locale) {
4966
5046
  this._locale = _locale;
4967
5047
  }
@@ -4993,10 +5073,10 @@ class PercentPipe {
4993
5073
  throw invalidPipeArgumentError(PercentPipe, error.message);
4994
5074
  }
4995
5075
  }
4996
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4997
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" }); }
5076
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
5077
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
4998
5078
  }
4999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PercentPipe, decorators: [{
5079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PercentPipe, decorators: [{
5000
5080
  type: Pipe,
5001
5081
  args: [{
5002
5082
  name: 'percent',
@@ -5028,43 +5108,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
5028
5108
  * @publicApi
5029
5109
  */
5030
5110
  class CurrencyPipe {
5111
+ _locale;
5112
+ _defaultCurrencyCode;
5031
5113
  constructor(_locale, _defaultCurrencyCode = 'USD') {
5032
5114
  this._locale = _locale;
5033
5115
  this._defaultCurrencyCode = _defaultCurrencyCode;
5034
5116
  }
5035
- /**
5036
- *
5037
- * @param value The number to be formatted as currency.
5038
- * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,
5039
- * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be
5040
- * configured using the `DEFAULT_CURRENCY_CODE` injection token.
5041
- * @param display The format for the currency indicator. One of the following:
5042
- * - `code`: Show the code (such as `USD`).
5043
- * - `symbol`(default): Show the symbol (such as `$`).
5044
- * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their
5045
- * currency.
5046
- * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the
5047
- * locale has no narrow symbol, uses the standard symbol for the locale.
5048
- * - String: Use the given string value instead of a code or a symbol.
5049
- * For example, an empty string will suppress the currency & symbol.
5050
- * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.
5051
- *
5052
- * @param digitsInfo Decimal representation options, specified by a string
5053
- * in the following format:<br>
5054
- * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
5055
- * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
5056
- * Default is `1`.
5057
- * - `minFractionDigits`: The minimum number of digits after the decimal point.
5058
- * Default is `2`.
5059
- * - `maxFractionDigits`: The maximum number of digits after the decimal point.
5060
- * Default is `2`.
5061
- * If not provided, the number will be formatted with the proper amount of digits,
5062
- * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.
5063
- * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.
5064
- * @param locale A locale code for the locale format rules to use.
5065
- * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.
5066
- * See [Setting your app locale](guide/i18n/locale-id).
5067
- */
5068
5117
  transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {
5069
5118
  if (!isValue(value))
5070
5119
  return null;
@@ -5092,10 +5141,10 @@ class CurrencyPipe {
5092
5141
  throw invalidPipeArgumentError(CurrencyPipe, error.message);
5093
5142
  }
5094
5143
  }
5095
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
5096
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" }); }
5144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
5145
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
5097
5146
  }
5098
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: CurrencyPipe, decorators: [{
5147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: CurrencyPipe, decorators: [{
5099
5148
  type: Pipe,
5100
5149
  args: [{
5101
5150
  name: 'currency',
@@ -5172,10 +5221,10 @@ class SlicePipe {
5172
5221
  supports(obj) {
5173
5222
  return typeof obj === 'string' || Array.isArray(obj);
5174
5223
  }
5175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5176
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.8", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false }); }
5224
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5225
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
5177
5226
  }
5178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: SlicePipe, decorators: [{
5227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: SlicePipe, decorators: [{
5179
5228
  type: Pipe,
5180
5229
  args: [{
5181
5230
  name: 'slice',
@@ -5219,11 +5268,11 @@ const COMMON_PIPES = [
5219
5268
  * @publicApi
5220
5269
  */
5221
5270
  class CommonModule {
5222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5223
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-next.8", 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] }); }
5224
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: CommonModule }); }
5271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5272
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.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] });
5273
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: CommonModule });
5225
5274
  }
5226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: CommonModule, decorators: [{
5275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: CommonModule, decorators: [{
5227
5276
  type: NgModule,
5228
5277
  args: [{
5229
5278
  imports: [COMMON_DIRECTIVES, COMMON_PIPES],
@@ -5256,7 +5305,7 @@ function isPlatformServer(platformId) {
5256
5305
  /**
5257
5306
  * @publicApi
5258
5307
  */
5259
- const VERSION = new Version('19.0.0-next.8');
5308
+ const VERSION = new Version('19.0.0-rc.0');
5260
5309
 
5261
5310
  /**
5262
5311
  * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.
@@ -5267,22 +5316,24 @@ class ViewportScroller {
5267
5316
  // De-sugared tree-shakable injection
5268
5317
  // See #23917
5269
5318
  /** @nocollapse */
5270
- static { this.ɵprov = ɵɵdefineInjectable({
5319
+ static ɵprov = /** @pureOrBreakMyCode */ /* @__PURE__ */ ɵɵdefineInjectable({
5271
5320
  token: ViewportScroller,
5272
5321
  providedIn: 'root',
5273
5322
  factory: () => isPlatformBrowser(inject(PLATFORM_ID))
5274
5323
  ? new BrowserViewportScroller(inject(DOCUMENT), window)
5275
5324
  : new NullViewportScroller(),
5276
- }); }
5325
+ });
5277
5326
  }
5278
5327
  /**
5279
5328
  * Manages the scroll position for a browser window.
5280
5329
  */
5281
5330
  class BrowserViewportScroller {
5331
+ document;
5332
+ window;
5333
+ offset = () => [0, 0];
5282
5334
  constructor(document, window) {
5283
5335
  this.document = document;
5284
5336
  this.window = window;
5285
- this.offset = () => [0, 0];
5286
5337
  }
5287
5338
  /**
5288
5339
  * Configures the top offset used when scrolling to an anchor.
@@ -5595,6 +5646,9 @@ function createCloudinaryUrl(path, config) {
5595
5646
  if (config.width) {
5596
5647
  params += `,w_${config.width}`;
5597
5648
  }
5649
+ if (config.loaderParams?.['rounded']) {
5650
+ params += `,r_max`;
5651
+ }
5598
5652
  return `${path}/image/upload/${params}/${config.src}`;
5599
5653
  }
5600
5654
 
@@ -5788,11 +5842,11 @@ function assertDevMode(checkName) {
5788
5842
  * Based on https://web.dev/lcp/#measure-lcp-in-javascript.
5789
5843
  */
5790
5844
  class LCPImageObserver {
5845
+ // Map of full image URLs -> original `ngSrc` values.
5846
+ images = new Map();
5847
+ window = null;
5848
+ observer = null;
5791
5849
  constructor() {
5792
- // Map of full image URLs -> original `ngSrc` values.
5793
- this.images = new Map();
5794
- this.window = null;
5795
- this.observer = null;
5796
5850
  const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
5797
5851
  assertDevMode('LCP checker');
5798
5852
  const win = inject(DOCUMENT).defaultView;
@@ -5869,10 +5923,10 @@ class LCPImageObserver {
5869
5923
  this.observer.disconnect();
5870
5924
  this.images.clear();
5871
5925
  }
5872
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5873
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LCPImageObserver, providedIn: 'root' }); }
5926
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5927
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
5874
5928
  }
5875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: LCPImageObserver, decorators: [{
5929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: LCPImageObserver, decorators: [{
5876
5930
  type: Injectable,
5877
5931
  args: [{ providedIn: 'root' }]
5878
5932
  }], ctorParameters: () => [] });
@@ -5920,20 +5974,20 @@ const PRECONNECT_CHECK_BLOCKLIST = new InjectionToken(ngDevMode ? 'PRECONNECT_CH
5920
5974
  * thus there is no `ngDevMode` use in the code.
5921
5975
  */
5922
5976
  class PreconnectLinkChecker {
5977
+ document = inject(DOCUMENT);
5978
+ isServer = isPlatformServer(inject(PLATFORM_ID));
5979
+ /**
5980
+ * Set of <link rel="preconnect"> tags found on this page.
5981
+ * The `null` value indicates that there was no DOM query operation performed.
5982
+ */
5983
+ preconnectLinks = null;
5984
+ /*
5985
+ * Keep track of all already seen origin URLs to avoid repeating the same check.
5986
+ */
5987
+ alreadySeen = new Set();
5988
+ window = null;
5989
+ blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);
5923
5990
  constructor() {
5924
- this.document = inject(DOCUMENT);
5925
- this.isServer = isPlatformServer(inject(PLATFORM_ID));
5926
- /**
5927
- * Set of <link rel="preconnect"> tags found on this page.
5928
- * The `null` value indicates that there was no DOM query operation performed.
5929
- */
5930
- this.preconnectLinks = null;
5931
- /*
5932
- * Keep track of all already seen origin URLs to avoid repeating the same check.
5933
- */
5934
- this.alreadySeen = new Set();
5935
- this.window = null;
5936
- this.blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);
5937
5991
  assertDevMode('preconnect link checker');
5938
5992
  const win = this.document.defaultView;
5939
5993
  if (typeof win !== 'undefined') {
@@ -5996,10 +6050,10 @@ class PreconnectLinkChecker {
5996
6050
  this.preconnectLinks?.clear();
5997
6051
  this.alreadySeen.clear();
5998
6052
  }
5999
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6000
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' }); }
6053
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6054
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
6001
6055
  }
6002
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
6056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
6003
6057
  type: Injectable,
6004
6058
  args: [{ providedIn: 'root' }]
6005
6059
  }], ctorParameters: () => [] });
@@ -6041,10 +6095,8 @@ const PRELOADED_IMAGES = new InjectionToken('NG_OPTIMIZED_PRELOADED_IMAGES', {
6041
6095
  * configured default preloaded images limit: {@link DEFAULT_PRELOADED_IMAGES_LIMIT}.
6042
6096
  */
6043
6097
  class PreloadLinkCreator {
6044
- constructor() {
6045
- this.preloadedImages = inject(PRELOADED_IMAGES);
6046
- this.document = inject(DOCUMENT);
6047
- }
6098
+ preloadedImages = inject(PRELOADED_IMAGES);
6099
+ document = inject(DOCUMENT);
6048
6100
  /**
6049
6101
  * @description Add a preload `<link>` to the `<head>` of the `index.html` that is served from the
6050
6102
  * server while using Angular Universal and SSR to kick off image loads for high priority images.
@@ -6088,10 +6140,10 @@ class PreloadLinkCreator {
6088
6140
  }
6089
6141
  renderer.appendChild(this.document.head, preload);
6090
6142
  }
6091
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6092
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' }); }
6143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6144
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });
6093
6145
  }
6094
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: PreloadLinkCreator, decorators: [{
6146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: PreloadLinkCreator, decorators: [{
6095
6147
  type: Injectable,
6096
6148
  args: [{ providedIn: 'root' }]
6097
6149
  }] });
@@ -6276,7 +6328,7 @@ function resetImagePriorityCount() {
6276
6328
  * {
6277
6329
  * provide: IMAGE_LOADER,
6278
6330
  * useValue: (config: ImageLoaderConfig) => {
6279
- * return `https://example.com/${config.src}-${config.width}.jpg}`;
6331
+ * return `https://example.com/${config.src}-${config.width}.jpg`;
6280
6332
  * }
6281
6333
  * },
6282
6334
  * ],
@@ -6291,37 +6343,104 @@ function resetImagePriorityCount() {
6291
6343
  * @publicApi
6292
6344
  */
6293
6345
  class NgOptimizedImage {
6294
- constructor() {
6295
- this.imageLoader = inject(IMAGE_LOADER);
6296
- this.config = processConfig(inject(ɵIMAGE_CONFIG));
6297
- this.renderer = inject(Renderer2);
6298
- this.imgElement = inject(ElementRef).nativeElement;
6299
- this.injector = inject(Injector);
6300
- this.isServer = isPlatformServer(inject(PLATFORM_ID));
6301
- this.preloadLinkCreator = inject(PreloadLinkCreator);
6302
- // a LCP image observer - should be injected only in the dev mode
6303
- this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;
6304
- /**
6305
- * Calculate the rewritten `src` once and store it.
6306
- * This is needed to avoid repetitive calculations and make sure the directive cleanup in the
6307
- * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other
6308
- * instance that might be already destroyed).
6309
- */
6310
- this._renderedSrc = null;
6311
- /**
6312
- * Indicates whether this image should have a high priority.
6313
- */
6314
- this.priority = false;
6315
- /**
6316
- * Disables automatic srcset generation for this image.
6317
- */
6318
- this.disableOptimizedSrcset = false;
6319
- /**
6320
- * Sets the image to "fill mode", which eliminates the height/width requirement and adds
6321
- * styles such that the image fills its containing element.
6322
- */
6323
- this.fill = false;
6324
- }
6346
+ imageLoader = inject(IMAGE_LOADER);
6347
+ config = processConfig(inject(ɵIMAGE_CONFIG));
6348
+ renderer = inject(Renderer2);
6349
+ imgElement = inject(ElementRef).nativeElement;
6350
+ injector = inject(Injector);
6351
+ isServer = isPlatformServer(inject(PLATFORM_ID));
6352
+ preloadLinkCreator = inject(PreloadLinkCreator);
6353
+ // a LCP image observer - should be injected only in the dev mode
6354
+ lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;
6355
+ /**
6356
+ * Calculate the rewritten `src` once and store it.
6357
+ * This is needed to avoid repetitive calculations and make sure the directive cleanup in the
6358
+ * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other
6359
+ * instance that might be already destroyed).
6360
+ */
6361
+ _renderedSrc = null;
6362
+ /**
6363
+ * Name of the source image.
6364
+ * Image name will be processed by the image loader and the final URL will be applied as the `src`
6365
+ * property of the image.
6366
+ */
6367
+ ngSrc;
6368
+ /**
6369
+ * A comma separated list of width or density descriptors.
6370
+ * The image name will be taken from `ngSrc` and combined with the list of width or density
6371
+ * descriptors to generate the final `srcset` property of the image.
6372
+ *
6373
+ * Example:
6374
+ * ```
6375
+ * <img ngSrc="hello.jpg" ngSrcset="100w, 200w" /> =>
6376
+ * <img src="path/hello.jpg" srcset="path/hello.jpg?w=100 100w, path/hello.jpg?w=200 200w" />
6377
+ * ```
6378
+ */
6379
+ ngSrcset;
6380
+ /**
6381
+ * The base `sizes` attribute passed through to the `<img>` element.
6382
+ * Providing sizes causes the image to create an automatic responsive srcset.
6383
+ */
6384
+ sizes;
6385
+ /**
6386
+ * For responsive images: the intrinsic width of the image in pixels.
6387
+ * For fixed size images: the desired rendered width of the image in pixels.
6388
+ */
6389
+ width;
6390
+ /**
6391
+ * For responsive images: the intrinsic height of the image in pixels.
6392
+ * For fixed size images: the desired rendered height of the image in pixels.
6393
+ */
6394
+ height;
6395
+ /**
6396
+ * The desired loading behavior (lazy, eager, or auto). Defaults to `lazy`,
6397
+ * which is recommended for most images.
6398
+ *
6399
+ * Warning: Setting images as loading="eager" or loading="auto" marks them
6400
+ * as non-priority images and can hurt loading performance. For images which
6401
+ * may be the LCP element, use the `priority` attribute instead of `loading`.
6402
+ */
6403
+ loading;
6404
+ /**
6405
+ * Indicates whether this image should have a high priority.
6406
+ */
6407
+ priority = false;
6408
+ /**
6409
+ * Data to pass through to custom loaders.
6410
+ */
6411
+ loaderParams;
6412
+ /**
6413
+ * Disables automatic srcset generation for this image.
6414
+ */
6415
+ disableOptimizedSrcset = false;
6416
+ /**
6417
+ * Sets the image to "fill mode", which eliminates the height/width requirement and adds
6418
+ * styles such that the image fills its containing element.
6419
+ */
6420
+ fill = false;
6421
+ /**
6422
+ * A URL or data URL for an image to be used as a placeholder while this image loads.
6423
+ */
6424
+ placeholder;
6425
+ /**
6426
+ * Configuration object for placeholder settings. Options:
6427
+ * * blur: Setting this to false disables the automatic CSS blur.
6428
+ */
6429
+ placeholderConfig;
6430
+ /**
6431
+ * Value of the `src` attribute if set on the host `<img>` element.
6432
+ * This input is exclusively read to assert that `src` is not set in conflict
6433
+ * with `ngSrc` and that images don't start to load until a lazy loading strategy is set.
6434
+ * @internal
6435
+ */
6436
+ src;
6437
+ /**
6438
+ * Value of the `srcset` attribute if set on the host `<img>` element.
6439
+ * This input is exclusively read to assert that `srcset` is not set in conflict
6440
+ * with `ngSrcset` and that images don't start to load until a lazy loading strategy is set.
6441
+ * @internal
6442
+ */
6443
+ srcset;
6325
6444
  /** @nodoc */
6326
6445
  ngOnInit() {
6327
6446
  ɵperformanceMarkFeature('NgOptimizedImage');
@@ -6596,10 +6715,10 @@ class NgOptimizedImage {
6596
6715
  setHostAttribute(name, value) {
6597
6716
  this.renderer.setAttribute(this.imgElement, name, value);
6598
6717
  }
6599
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6600
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.0-next.8", 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 }); }
6718
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6719
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.0-rc.0", 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 });
6601
6720
  }
6602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: NgOptimizedImage, decorators: [{
6721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NgOptimizedImage, decorators: [{
6603
6722
  type: Directive,
6604
6723
  args: [{
6605
6724
  standalone: true,