@angular/common 19.0.0-next.9 → 19.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.9
2
+ * @license Angular v19.0.0-rc.1
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.9", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation }); }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PlatformNavigation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PlatformNavigation, providedIn: 'platform', useFactory: () => window.navigation });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PlatformNavigation, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
78
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) }); }
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: () => inject(BrowserPlatformLocation) });
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PlatformLocation, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
161
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() }); }
162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: BrowserPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
163
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: () => new BrowserPlatformLocation() });
162
164
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
250
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }); }
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
252
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
251
253
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LocationStrategy, decorators: [{
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", 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.9", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' }); }
366
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
364
368
  }
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PathLocationStrategy, decorators: [{
369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9",
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.9", 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.9", ngImport: i0, type: HashLocationStrategy }); }
456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: HashLocationStrategy });
453
458
  }
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: HashLocationStrategy, decorators: [{
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9",
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.9", 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.9", 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.1", 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.1", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
707
716
  }
708
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: Location, decorators: [{
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2611
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", 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.1", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2620
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", ngImport: i0, type: NgLocalization, decorators: [{
2622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", 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.9", ngImport: i0, type: NgLocaleLocalization }); }
2677
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: NgLocaleLocalization });
2669
2679
  }
2670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgLocaleLocalization, decorators: [{
2680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9", 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.9", 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.1", 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.1", 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.9", ngImport: i0, type: NgClass, decorators: [{
2855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.9",
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.9", 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.9", 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.1", 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.1", 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.9", ngImport: i0, type: NgComponentOutlet, decorators: [{
3036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgComponentOutlet, decorators: [{
3013
3037
  type: Directive,
3014
3038
  args: [{
3015
3039
  selector: '[ngComponentOutlet]',
@@ -3038,6 +3062,10 @@ function getParentInjector(injector) {
3038
3062
  * @publicApi
3039
3063
  */
3040
3064
  class NgForOfContext {
3065
+ $implicit;
3066
+ ngForOf;
3067
+ index;
3068
+ count;
3041
3069
  constructor(
3042
3070
  /** Reference to the current item from the collection. */
3043
3071
  $implicit,
@@ -3172,6 +3200,9 @@ class NgForOfContext {
3172
3200
  * @publicApi
3173
3201
  */
3174
3202
  class NgForOf {
3203
+ _viewContainer;
3204
+ _template;
3205
+ _differs;
3175
3206
  /**
3176
3207
  * The value of the iterable expression, which can be used as a
3177
3208
  * [template input variable](guide/directives/structural-directives#shorthand).
@@ -3208,13 +3239,17 @@ class NgForOf {
3208
3239
  get ngForTrackBy() {
3209
3240
  return this._trackByFn;
3210
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;
3211
3249
  constructor(_viewContainer, _template, _differs) {
3212
3250
  this._viewContainer = _viewContainer;
3213
3251
  this._template = _template;
3214
3252
  this._differs = _differs;
3215
- this._ngForOf = null;
3216
- this._ngForOfDirty = true;
3217
- this._differ = null;
3218
3253
  }
3219
3254
  /**
3220
3255
  * A reference to the template that is stamped out for each item in the iterable.
@@ -3305,10 +3340,10 @@ class NgForOf {
3305
3340
  static ngTemplateContextGuard(dir, ctx) {
3306
3341
  return true;
3307
3342
  }
3308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
3309
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", 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.1", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
3310
3345
  }
3311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgForOf, decorators: [{
3346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgForOf, decorators: [{
3312
3347
  type: Directive,
3313
3348
  args: [{
3314
3349
  selector: '[ngFor][ngForOf]',
@@ -3468,13 +3503,14 @@ function getTypeName(type) {
3468
3503
  * @publicApi
3469
3504
  */
3470
3505
  class NgIf {
3506
+ _viewContainer;
3507
+ _context = new NgIfContext();
3508
+ _thenTemplateRef = null;
3509
+ _elseTemplateRef = null;
3510
+ _thenViewRef = null;
3511
+ _elseViewRef = null;
3471
3512
  constructor(_viewContainer, templateRef) {
3472
3513
  this._viewContainer = _viewContainer;
3473
- this._context = new NgIfContext();
3474
- this._thenTemplateRef = null;
3475
- this._elseTemplateRef = null;
3476
- this._thenViewRef = null;
3477
- this._elseViewRef = null;
3478
3514
  this._thenTemplateRef = templateRef;
3479
3515
  }
3480
3516
  /**
@@ -3522,6 +3558,17 @@ class NgIf {
3522
3558
  }
3523
3559
  }
3524
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;
3525
3572
  /**
3526
3573
  * Asserts the correct type of the context for the template that `NgIf` will render.
3527
3574
  *
@@ -3531,10 +3578,10 @@ class NgIf {
3531
3578
  static ngTemplateContextGuard(dir, ctx) {
3532
3579
  return true;
3533
3580
  }
3534
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3535
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", 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.1", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
3536
3583
  }
3537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgIf, decorators: [{
3584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgIf, decorators: [{
3538
3585
  type: Directive,
3539
3586
  args: [{
3540
3587
  selector: '[ngIf]',
@@ -3551,10 +3598,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
3551
3598
  * @publicApi
3552
3599
  */
3553
3600
  class NgIfContext {
3554
- constructor() {
3555
- this.$implicit = null;
3556
- this.ngIf = null;
3557
- }
3601
+ $implicit = null;
3602
+ ngIf = null;
3558
3603
  }
3559
3604
  function assertTemplate(property, templateRef) {
3560
3605
  const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);
@@ -3564,10 +3609,12 @@ function assertTemplate(property, templateRef) {
3564
3609
  }
3565
3610
 
3566
3611
  class SwitchView {
3612
+ _viewContainerRef;
3613
+ _templateRef;
3614
+ _created = false;
3567
3615
  constructor(_viewContainerRef, _templateRef) {
3568
3616
  this._viewContainerRef = _viewContainerRef;
3569
3617
  this._templateRef = _templateRef;
3570
- this._created = false;
3571
3618
  }
3572
3619
  create() {
3573
3620
  this._created = true;
@@ -3653,13 +3700,12 @@ class SwitchView {
3653
3700
  *
3654
3701
  */
3655
3702
  class NgSwitch {
3656
- constructor() {
3657
- this._defaultViews = [];
3658
- this._defaultUsed = false;
3659
- this._caseCount = 0;
3660
- this._lastCaseCheckIndex = 0;
3661
- this._lastCasesMatched = false;
3662
- }
3703
+ _defaultViews = [];
3704
+ _defaultUsed = false;
3705
+ _caseCount = 0;
3706
+ _lastCaseCheckIndex = 0;
3707
+ _lastCasesMatched = false;
3708
+ _ngSwitch;
3663
3709
  set ngSwitch(newValue) {
3664
3710
  this._ngSwitch = newValue;
3665
3711
  if (this._caseCount === 0) {
@@ -3694,10 +3740,10 @@ class NgSwitch {
3694
3740
  }
3695
3741
  }
3696
3742
  }
3697
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3698
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3744
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.1", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
3699
3745
  }
3700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgSwitch, decorators: [{
3746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgSwitch, decorators: [{
3701
3747
  type: Directive,
3702
3748
  args: [{
3703
3749
  selector: '[ngSwitch]',
@@ -3740,6 +3786,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
3740
3786
  *
3741
3787
  */
3742
3788
  class NgSwitchCase {
3789
+ ngSwitch;
3790
+ _view;
3791
+ /**
3792
+ * Stores the HTML template to be selected on match.
3793
+ */
3794
+ ngSwitchCase;
3743
3795
  constructor(viewContainer, templateRef, ngSwitch) {
3744
3796
  this.ngSwitch = ngSwitch;
3745
3797
  if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {
@@ -3755,10 +3807,10 @@ class NgSwitchCase {
3755
3807
  ngDoCheck() {
3756
3808
  this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
3757
3809
  }
3758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3759
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", 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.1", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
3760
3812
  }
3761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgSwitchCase, decorators: [{
3813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgSwitchCase, decorators: [{
3762
3814
  type: Directive,
3763
3815
  args: [{
3764
3816
  selector: '[ngSwitchCase]',
@@ -3792,10 +3844,10 @@ class NgSwitchDefault {
3792
3844
  }
3793
3845
  ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
3794
3846
  }
3795
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3796
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 }); }
3847
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
3797
3849
  }
3798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgSwitchDefault, decorators: [{
3850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgSwitchDefault, decorators: [{
3799
3851
  type: Directive,
3800
3852
  args: [{
3801
3853
  selector: '[ngSwitchDefault]',
@@ -3847,9 +3899,11 @@ function stringifyValue(value) {
3847
3899
  * @publicApi
3848
3900
  */
3849
3901
  class NgPlural {
3902
+ _localization;
3903
+ _activeView;
3904
+ _caseViews = {};
3850
3905
  constructor(_localization) {
3851
3906
  this._localization = _localization;
3852
- this._caseViews = {};
3853
3907
  }
3854
3908
  set ngPlural(value) {
3855
3909
  this._updateView(value);
@@ -3873,10 +3927,10 @@ class NgPlural {
3873
3927
  this._activeView.create();
3874
3928
  }
3875
3929
  }
3876
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive }); }
3877
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", 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.1", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
3878
3932
  }
3879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgPlural, decorators: [{
3933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgPlural, decorators: [{
3880
3934
  type: Directive,
3881
3935
  args: [{
3882
3936
  selector: '[ngPlural]',
@@ -3906,15 +3960,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
3906
3960
  * @publicApi
3907
3961
  */
3908
3962
  class NgPluralCase {
3963
+ value;
3909
3964
  constructor(value, template, viewContainer, ngPlural) {
3910
3965
  this.value = value;
3911
3966
  const isANumber = !isNaN(Number(value));
3912
3967
  ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));
3913
3968
  }
3914
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3915
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 }); }
3969
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
3916
3971
  }
3917
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgPluralCase, decorators: [{
3972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgPluralCase, decorators: [{
3918
3973
  type: Directive,
3919
3974
  args: [{
3920
3975
  selector: '[ngPluralCase]',
@@ -3964,12 +4019,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
3964
4019
  * @publicApi
3965
4020
  */
3966
4021
  class NgStyle {
4022
+ _ngEl;
4023
+ _differs;
4024
+ _renderer;
4025
+ _ngStyle = null;
4026
+ _differ = null;
3967
4027
  constructor(_ngEl, _differs, _renderer) {
3968
4028
  this._ngEl = _ngEl;
3969
4029
  this._differs = _differs;
3970
4030
  this._renderer = _renderer;
3971
- this._ngStyle = null;
3972
- this._differ = null;
3973
4031
  }
3974
4032
  set ngStyle(values) {
3975
4033
  this._ngStyle = values;
@@ -4000,10 +4058,10 @@ class NgStyle {
4000
4058
  changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));
4001
4059
  changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));
4002
4060
  }
4003
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
4004
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", 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.1", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
4005
4063
  }
4006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgStyle, decorators: [{
4064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgStyle, decorators: [{
4007
4065
  type: Directive,
4008
4066
  args: [{
4009
4067
  selector: '[ngStyle]',
@@ -4039,22 +4097,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
4039
4097
  * @publicApi
4040
4098
  */
4041
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;
4042
4115
  constructor(_viewContainerRef) {
4043
4116
  this._viewContainerRef = _viewContainerRef;
4044
- this._viewRef = null;
4045
- /**
4046
- * A context object to attach to the {@link EmbeddedViewRef}. This should be an
4047
- * object, the object's keys will be available for binding by the local template `let`
4048
- * declarations.
4049
- * Using the key `$implicit` in the context object will set its value as default.
4050
- */
4051
- this.ngTemplateOutletContext = null;
4052
- /**
4053
- * A string defining the template reference and optionally the context object for the template.
4054
- */
4055
- this.ngTemplateOutlet = null;
4056
- /** Injector to be used within the embedded view. */
4057
- this.ngTemplateOutletInjector = null;
4058
4117
  }
4059
4118
  ngOnChanges(changes) {
4060
4119
  if (this._shouldRecreateView(changes)) {
@@ -4104,10 +4163,10 @@ class NgTemplateOutlet {
4104
4163
  },
4105
4164
  });
4106
4165
  }
4107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4108
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.9", 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.1", 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.1", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
4109
4168
  }
4110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgTemplateOutlet, decorators: [{
4111
4170
  type: Directive,
4112
4171
  args: [{
4113
4172
  selector: '[ngTemplateOutlet]',
@@ -4203,12 +4262,13 @@ const _subscribableStrategy = new SubscribableStrategy();
4203
4262
  * @publicApi
4204
4263
  */
4205
4264
  class AsyncPipe {
4265
+ _ref;
4266
+ _latestValue = null;
4267
+ markForCheckOnValueUpdate = true;
4268
+ _subscription = null;
4269
+ _obj = null;
4270
+ _strategy = null;
4206
4271
  constructor(ref) {
4207
- this._latestValue = null;
4208
- this.markForCheckOnValueUpdate = true;
4209
- this._subscription = null;
4210
- this._obj = null;
4211
- this._strategy = null;
4212
4272
  // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor
4213
4273
  // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.
4214
4274
  this._ref = ref;
@@ -4275,10 +4335,10 @@ class AsyncPipe {
4275
4335
  }
4276
4336
  }
4277
4337
  }
4278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
4279
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false }); }
4338
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
4280
4340
  }
4281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: AsyncPipe, decorators: [{
4341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: AsyncPipe, decorators: [{
4282
4342
  type: Pipe,
4283
4343
  args: [{
4284
4344
  name: 'async',
@@ -4311,10 +4371,10 @@ class LowerCasePipe {
4311
4371
  }
4312
4372
  return value.toLowerCase();
4313
4373
  }
4314
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4315
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" }); }
4374
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4375
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
4316
4376
  }
4317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LowerCasePipe, decorators: [{
4377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LowerCasePipe, decorators: [{
4318
4378
  type: Pipe,
4319
4379
  args: [{
4320
4380
  name: 'lowercase',
@@ -4356,10 +4416,10 @@ class TitleCasePipe {
4356
4416
  }
4357
4417
  return value.replace(unicodeWordMatch, (txt) => txt[0].toUpperCase() + txt.slice(1).toLowerCase());
4358
4418
  }
4359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4360
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" }); }
4419
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4420
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
4361
4421
  }
4362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: TitleCasePipe, decorators: [{
4422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: TitleCasePipe, decorators: [{
4363
4423
  type: Pipe,
4364
4424
  args: [{
4365
4425
  name: 'titlecase',
@@ -4383,10 +4443,10 @@ class UpperCasePipe {
4383
4443
  }
4384
4444
  return value.toUpperCase();
4385
4445
  }
4386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4387
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" }); }
4446
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4447
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
4388
4448
  }
4389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: UpperCasePipe, decorators: [{
4449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: UpperCasePipe, decorators: [{
4390
4450
  type: Pipe,
4391
4451
  args: [{
4392
4452
  name: 'uppercase',
@@ -4598,6 +4658,9 @@ const DATE_PIPE_DEFAULT_OPTIONS = new InjectionToken(ngDevMode ? 'DATE_PIPE_DEFA
4598
4658
  * @publicApi
4599
4659
  */
4600
4660
  class DatePipe {
4661
+ locale;
4662
+ defaultTimezone;
4663
+ defaultOptions;
4601
4664
  constructor(locale, defaultTimezone, defaultOptions) {
4602
4665
  this.locale = locale;
4603
4666
  this.defaultTimezone = defaultTimezone;
@@ -4615,10 +4678,10 @@ class DatePipe {
4615
4678
  throw invalidPipeArgumentError(DatePipe, error.message);
4616
4679
  }
4617
4680
  }
4618
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", 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 }); }
4619
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" }); }
4681
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }, { token: DATE_PIPE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
4682
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
4620
4683
  }
4621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: DatePipe, decorators: [{
4684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: DatePipe, decorators: [{
4622
4685
  type: Pipe,
4623
4686
  args: [{
4624
4687
  name: 'date',
@@ -4655,6 +4718,7 @@ const _INTERPOLATION_REGEXP = /#/g;
4655
4718
  * @publicApi
4656
4719
  */
4657
4720
  class I18nPluralPipe {
4721
+ _localization;
4658
4722
  constructor(_localization) {
4659
4723
  this._localization = _localization;
4660
4724
  }
@@ -4674,10 +4738,10 @@ class I18nPluralPipe {
4674
4738
  const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);
4675
4739
  return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
4676
4740
  }
4677
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe }); }
4678
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" }); }
4741
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
4679
4743
  }
4680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: I18nPluralPipe, decorators: [{
4744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: I18nPluralPipe, decorators: [{
4681
4745
  type: Pipe,
4682
4746
  args: [{
4683
4747
  name: 'i18nPlural',
@@ -4722,10 +4786,10 @@ class I18nSelectPipe {
4722
4786
  }
4723
4787
  return '';
4724
4788
  }
4725
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4726
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" }); }
4789
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4790
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
4727
4791
  }
4728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: I18nSelectPipe, decorators: [{
4792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: I18nSelectPipe, decorators: [{
4729
4793
  type: Pipe,
4730
4794
  args: [{
4731
4795
  name: 'i18nSelect',
@@ -4755,10 +4819,10 @@ class JsonPipe {
4755
4819
  transform(value) {
4756
4820
  return JSON.stringify(value, null, 2);
4757
4821
  }
4758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4759
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false }); }
4822
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4823
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
4760
4824
  }
4761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: JsonPipe, decorators: [{
4825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: JsonPipe, decorators: [{
4762
4826
  type: Pipe,
4763
4827
  args: [{
4764
4828
  name: 'json',
@@ -4779,6 +4843,7 @@ function makeKeyValuePair(key, value) {
4779
4843
  * The output array will be ordered by keys.
4780
4844
  * By default the comparator will be by Unicode point value.
4781
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.
4782
4847
  *
4783
4848
  * @usageNotes
4784
4849
  * ### Examples
@@ -4791,11 +4856,13 @@ function makeKeyValuePair(key, value) {
4791
4856
  * @publicApi
4792
4857
  */
4793
4858
  class KeyValuePipe {
4859
+ differs;
4794
4860
  constructor(differs) {
4795
4861
  this.differs = differs;
4796
- this.keyValues = [];
4797
- this.compareFn = defaultComparator;
4798
4862
  }
4863
+ differ;
4864
+ keyValues = [];
4865
+ compareFn = defaultComparator;
4799
4866
  transform(input, compareFn = defaultComparator) {
4800
4867
  if (!input || (!(input instanceof Map) && typeof input !== 'object')) {
4801
4868
  return null;
@@ -4811,15 +4878,17 @@ class KeyValuePipe {
4811
4878
  });
4812
4879
  }
4813
4880
  if (differChanges || compareFnChanged) {
4814
- this.keyValues.sort(compareFn);
4881
+ if (compareFn) {
4882
+ this.keyValues.sort(compareFn);
4883
+ }
4815
4884
  this.compareFn = compareFn;
4816
4885
  }
4817
4886
  return this.keyValues;
4818
4887
  }
4819
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe }); }
4820
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false }); }
4888
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
4821
4890
  }
4822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: KeyValuePipe, decorators: [{
4891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: KeyValuePipe, decorators: [{
4823
4892
  type: Pipe,
4824
4893
  args: [{
4825
4894
  name: 'keyvalue',
@@ -4922,6 +4991,7 @@ function defaultComparator(keyValueA, keyValueB) {
4922
4991
  * @publicApi
4923
4992
  */
4924
4993
  class DecimalPipe {
4994
+ _locale;
4925
4995
  constructor(_locale) {
4926
4996
  this._locale = _locale;
4927
4997
  }
@@ -4937,10 +5007,10 @@ class DecimalPipe {
4937
5007
  throw invalidPipeArgumentError(DecimalPipe, error.message);
4938
5008
  }
4939
5009
  }
4940
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
4941
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" }); }
5010
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
4942
5012
  }
4943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: DecimalPipe, decorators: [{
5013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: DecimalPipe, decorators: [{
4944
5014
  type: Pipe,
4945
5015
  args: [{
4946
5016
  name: 'number',
@@ -4971,6 +5041,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
4971
5041
  * @publicApi
4972
5042
  */
4973
5043
  class PercentPipe {
5044
+ _locale;
4974
5045
  constructor(_locale) {
4975
5046
  this._locale = _locale;
4976
5047
  }
@@ -5002,10 +5073,10 @@ class PercentPipe {
5002
5073
  throw invalidPipeArgumentError(PercentPipe, error.message);
5003
5074
  }
5004
5075
  }
5005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
5006
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" }); }
5076
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
5007
5078
  }
5008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PercentPipe, decorators: [{
5079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PercentPipe, decorators: [{
5009
5080
  type: Pipe,
5010
5081
  args: [{
5011
5082
  name: 'percent',
@@ -5037,43 +5108,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9",
5037
5108
  * @publicApi
5038
5109
  */
5039
5110
  class CurrencyPipe {
5111
+ _locale;
5112
+ _defaultCurrencyCode;
5040
5113
  constructor(_locale, _defaultCurrencyCode = 'USD') {
5041
5114
  this._locale = _locale;
5042
5115
  this._defaultCurrencyCode = _defaultCurrencyCode;
5043
5116
  }
5044
- /**
5045
- *
5046
- * @param value The number to be formatted as currency.
5047
- * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,
5048
- * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be
5049
- * configured using the `DEFAULT_CURRENCY_CODE` injection token.
5050
- * @param display The format for the currency indicator. One of the following:
5051
- * - `code`: Show the code (such as `USD`).
5052
- * - `symbol`(default): Show the symbol (such as `$`).
5053
- * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their
5054
- * currency.
5055
- * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the
5056
- * locale has no narrow symbol, uses the standard symbol for the locale.
5057
- * - String: Use the given string value instead of a code or a symbol.
5058
- * For example, an empty string will suppress the currency & symbol.
5059
- * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.
5060
- *
5061
- * @param digitsInfo Decimal representation options, specified by a string
5062
- * in the following format:<br>
5063
- * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
5064
- * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
5065
- * Default is `1`.
5066
- * - `minFractionDigits`: The minimum number of digits after the decimal point.
5067
- * Default is `2`.
5068
- * - `maxFractionDigits`: The maximum number of digits after the decimal point.
5069
- * Default is `2`.
5070
- * If not provided, the number will be formatted with the proper amount of digits,
5071
- * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.
5072
- * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.
5073
- * @param locale A locale code for the locale format rules to use.
5074
- * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.
5075
- * See [Setting your app locale](guide/i18n/locale-id).
5076
- */
5077
5117
  transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {
5078
5118
  if (!isValue(value))
5079
5119
  return null;
@@ -5101,10 +5141,10 @@ class CurrencyPipe {
5101
5141
  throw invalidPipeArgumentError(CurrencyPipe, error.message);
5102
5142
  }
5103
5143
  }
5104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
5105
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" }); }
5144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", 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.1", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
5106
5146
  }
5107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: CurrencyPipe, decorators: [{
5147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: CurrencyPipe, decorators: [{
5108
5148
  type: Pipe,
5109
5149
  args: [{
5110
5150
  name: 'currency',
@@ -5181,10 +5221,10 @@ class SlicePipe {
5181
5221
  supports(obj) {
5182
5222
  return typeof obj === 'string' || Array.isArray(obj);
5183
5223
  }
5184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5185
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-next.9", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false }); }
5224
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5225
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
5186
5226
  }
5187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: SlicePipe, decorators: [{
5227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: SlicePipe, decorators: [{
5188
5228
  type: Pipe,
5189
5229
  args: [{
5190
5230
  name: 'slice',
@@ -5228,11 +5268,11 @@ const COMMON_PIPES = [
5228
5268
  * @publicApi
5229
5269
  */
5230
5270
  class CommonModule {
5231
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5232
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-next.9", 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] }); }
5233
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: CommonModule }); }
5271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5272
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.1", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });
5273
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: CommonModule });
5234
5274
  }
5235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: CommonModule, decorators: [{
5275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: CommonModule, decorators: [{
5236
5276
  type: NgModule,
5237
5277
  args: [{
5238
5278
  imports: [COMMON_DIRECTIVES, COMMON_PIPES],
@@ -5265,7 +5305,7 @@ function isPlatformServer(platformId) {
5265
5305
  /**
5266
5306
  * @publicApi
5267
5307
  */
5268
- const VERSION = new Version('19.0.0-next.9');
5308
+ const VERSION = new Version('19.0.0-rc.1');
5269
5309
 
5270
5310
  /**
5271
5311
  * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.
@@ -5276,22 +5316,24 @@ class ViewportScroller {
5276
5316
  // De-sugared tree-shakable injection
5277
5317
  // See #23917
5278
5318
  /** @nocollapse */
5279
- static { this.ɵprov = ɵɵdefineInjectable({
5319
+ static ɵprov = /** @pureOrBreakMyCode */ /* @__PURE__ */ ɵɵdefineInjectable({
5280
5320
  token: ViewportScroller,
5281
5321
  providedIn: 'root',
5282
5322
  factory: () => isPlatformBrowser(inject(PLATFORM_ID))
5283
5323
  ? new BrowserViewportScroller(inject(DOCUMENT), window)
5284
5324
  : new NullViewportScroller(),
5285
- }); }
5325
+ });
5286
5326
  }
5287
5327
  /**
5288
5328
  * Manages the scroll position for a browser window.
5289
5329
  */
5290
5330
  class BrowserViewportScroller {
5331
+ document;
5332
+ window;
5333
+ offset = () => [0, 0];
5291
5334
  constructor(document, window) {
5292
5335
  this.document = document;
5293
5336
  this.window = window;
5294
- this.offset = () => [0, 0];
5295
5337
  }
5296
5338
  /**
5297
5339
  * Configures the top offset used when scrolling to an anchor.
@@ -5604,6 +5646,9 @@ function createCloudinaryUrl(path, config) {
5604
5646
  if (config.width) {
5605
5647
  params += `,w_${config.width}`;
5606
5648
  }
5649
+ if (config.loaderParams?.['rounded']) {
5650
+ params += `,r_max`;
5651
+ }
5607
5652
  return `${path}/image/upload/${params}/${config.src}`;
5608
5653
  }
5609
5654
 
@@ -5797,11 +5842,11 @@ function assertDevMode(checkName) {
5797
5842
  * Based on https://web.dev/lcp/#measure-lcp-in-javascript.
5798
5843
  */
5799
5844
  class LCPImageObserver {
5845
+ // Map of full image URLs -> original `ngSrc` values.
5846
+ images = new Map();
5847
+ window = null;
5848
+ observer = null;
5800
5849
  constructor() {
5801
- // Map of full image URLs -> original `ngSrc` values.
5802
- this.images = new Map();
5803
- this.window = null;
5804
- this.observer = null;
5805
5850
  const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
5806
5851
  assertDevMode('LCP checker');
5807
5852
  const win = inject(DOCUMENT).defaultView;
@@ -5878,10 +5923,10 @@ class LCPImageObserver {
5878
5923
  this.observer.disconnect();
5879
5924
  this.images.clear();
5880
5925
  }
5881
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5882
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LCPImageObserver, providedIn: 'root' }); }
5926
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5927
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
5883
5928
  }
5884
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: LCPImageObserver, decorators: [{
5929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: LCPImageObserver, decorators: [{
5885
5930
  type: Injectable,
5886
5931
  args: [{ providedIn: 'root' }]
5887
5932
  }], ctorParameters: () => [] });
@@ -5929,20 +5974,20 @@ const PRECONNECT_CHECK_BLOCKLIST = new InjectionToken(ngDevMode ? 'PRECONNECT_CH
5929
5974
  * thus there is no `ngDevMode` use in the code.
5930
5975
  */
5931
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);
5932
5990
  constructor() {
5933
- this.document = inject(DOCUMENT);
5934
- this.isServer = isPlatformServer(inject(PLATFORM_ID));
5935
- /**
5936
- * Set of <link rel="preconnect"> tags found on this page.
5937
- * The `null` value indicates that there was no DOM query operation performed.
5938
- */
5939
- this.preconnectLinks = null;
5940
- /*
5941
- * Keep track of all already seen origin URLs to avoid repeating the same check.
5942
- */
5943
- this.alreadySeen = new Set();
5944
- this.window = null;
5945
- this.blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);
5946
5991
  assertDevMode('preconnect link checker');
5947
5992
  const win = this.document.defaultView;
5948
5993
  if (typeof win !== 'undefined') {
@@ -6005,10 +6050,10 @@ class PreconnectLinkChecker {
6005
6050
  this.preconnectLinks?.clear();
6006
6051
  this.alreadySeen.clear();
6007
6052
  }
6008
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6009
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' }); }
6053
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6054
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
6010
6055
  }
6011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
6056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
6012
6057
  type: Injectable,
6013
6058
  args: [{ providedIn: 'root' }]
6014
6059
  }], ctorParameters: () => [] });
@@ -6050,10 +6095,8 @@ const PRELOADED_IMAGES = new InjectionToken('NG_OPTIMIZED_PRELOADED_IMAGES', {
6050
6095
  * configured default preloaded images limit: {@link DEFAULT_PRELOADED_IMAGES_LIMIT}.
6051
6096
  */
6052
6097
  class PreloadLinkCreator {
6053
- constructor() {
6054
- this.preloadedImages = inject(PRELOADED_IMAGES);
6055
- this.document = inject(DOCUMENT);
6056
- }
6098
+ preloadedImages = inject(PRELOADED_IMAGES);
6099
+ document = inject(DOCUMENT);
6057
6100
  /**
6058
6101
  * @description Add a preload `<link>` to the `<head>` of the `index.html` that is served from the
6059
6102
  * server while using Angular Universal and SSR to kick off image loads for high priority images.
@@ -6097,10 +6140,10 @@ class PreloadLinkCreator {
6097
6140
  }
6098
6141
  renderer.appendChild(this.document.head, preload);
6099
6142
  }
6100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6101
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' }); }
6143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6144
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });
6102
6145
  }
6103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: PreloadLinkCreator, decorators: [{
6146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: PreloadLinkCreator, decorators: [{
6104
6147
  type: Injectable,
6105
6148
  args: [{ providedIn: 'root' }]
6106
6149
  }] });
@@ -6300,37 +6343,104 @@ function resetImagePriorityCount() {
6300
6343
  * @publicApi
6301
6344
  */
6302
6345
  class NgOptimizedImage {
6303
- constructor() {
6304
- this.imageLoader = inject(IMAGE_LOADER);
6305
- this.config = processConfig(inject(ɵIMAGE_CONFIG));
6306
- this.renderer = inject(Renderer2);
6307
- this.imgElement = inject(ElementRef).nativeElement;
6308
- this.injector = inject(Injector);
6309
- this.isServer = isPlatformServer(inject(PLATFORM_ID));
6310
- this.preloadLinkCreator = inject(PreloadLinkCreator);
6311
- // a LCP image observer - should be injected only in the dev mode
6312
- this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;
6313
- /**
6314
- * Calculate the rewritten `src` once and store it.
6315
- * This is needed to avoid repetitive calculations and make sure the directive cleanup in the
6316
- * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other
6317
- * instance that might be already destroyed).
6318
- */
6319
- this._renderedSrc = null;
6320
- /**
6321
- * Indicates whether this image should have a high priority.
6322
- */
6323
- this.priority = false;
6324
- /**
6325
- * Disables automatic srcset generation for this image.
6326
- */
6327
- this.disableOptimizedSrcset = false;
6328
- /**
6329
- * Sets the image to "fill mode", which eliminates the height/width requirement and adds
6330
- * styles such that the image fills its containing element.
6331
- */
6332
- this.fill = false;
6333
- }
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;
6334
6444
  /** @nodoc */
6335
6445
  ngOnInit() {
6336
6446
  ɵperformanceMarkFeature('NgOptimizedImage');
@@ -6605,10 +6715,10 @@ class NgOptimizedImage {
6605
6715
  setHostAttribute(name, value) {
6606
6716
  this.renderer.setAttribute(this.imgElement, name, value);
6607
6717
  }
6608
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6609
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.0-next.9", 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.1", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6719
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.0-rc.1", type: NgOptimizedImage, isStandalone: true, selector: "img[ngSrc]", inputs: { ngSrc: ["ngSrc", "ngSrc", unwrapSafeUrl], ngSrcset: "ngSrcset", sizes: "sizes", width: ["width", "width", numberAttribute], height: ["height", "height", numberAttribute], loading: "loading", priority: ["priority", "priority", booleanAttribute], loaderParams: "loaderParams", disableOptimizedSrcset: ["disableOptimizedSrcset", "disableOptimizedSrcset", booleanAttribute], fill: ["fill", "fill", booleanAttribute], placeholder: ["placeholder", "placeholder", 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 });
6610
6720
  }
6611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.9", ngImport: i0, type: NgOptimizedImage, decorators: [{
6721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.1", ngImport: i0, type: NgOptimizedImage, decorators: [{
6612
6722
  type: Directive,
6613
6723
  args: [{
6614
6724
  standalone: true,