@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.
- package/fesm2022/common.mjs +400 -281
- package/fesm2022/common.mjs.map +1 -1
- package/fesm2022/http/testing.mjs +18 -18
- package/fesm2022/http/testing.mjs.map +1 -1
- package/fesm2022/http.mjs +194 -108
- package/fesm2022/http.mjs.map +1 -1
- package/fesm2022/testing.mjs +117 -93
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/upgrade.mjs +33 -20
- package/fesm2022/upgrade.mjs.map +1 -1
- package/http/index.d.ts +2 -2
- package/http/testing/index.d.ts +1 -1
- package/index.d.ts +71 -10
- package/package.json +2 -2
- package/testing/index.d.ts +1 -1
- package/upgrade/index.d.ts +1 -1
package/fesm2022/common.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.0.0-
|
|
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
|
|
35
|
-
static
|
|
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-
|
|
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
|
|
78
|
-
static
|
|
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-
|
|
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
|
|
161
|
-
static
|
|
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-
|
|
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
|
|
250
|
-
static
|
|
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-
|
|
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
|
|
363
|
-
static
|
|
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-
|
|
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
|
|
452
|
-
static
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
705
|
-
static
|
|
706
|
-
static
|
|
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-
|
|
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
|
|
2611
|
-
static
|
|
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-
|
|
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
|
|
2668
|
-
static
|
|
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-
|
|
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
|
|
2840
|
-
static
|
|
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-
|
|
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
|
|
3010
|
-
static
|
|
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-
|
|
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
|
-
|
|
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
|
|
3293
|
-
static
|
|
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-
|
|
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
|
|
3519
|
-
static
|
|
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-
|
|
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
|
-
|
|
3539
|
-
|
|
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
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
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
|
|
3682
|
-
static
|
|
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-
|
|
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
|
|
3743
|
-
static
|
|
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-
|
|
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
|
|
3780
|
-
static
|
|
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-
|
|
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
|
|
3861
|
-
static
|
|
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-
|
|
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
|
|
3899
|
-
static
|
|
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-
|
|
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
|
|
3988
|
-
static
|
|
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-
|
|
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
|
|
4092
|
-
static
|
|
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-
|
|
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
|
|
4263
|
-
static
|
|
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-
|
|
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
|
|
4299
|
-
static
|
|
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-
|
|
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
|
|
4344
|
-
static
|
|
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-
|
|
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
|
|
4371
|
-
static
|
|
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-
|
|
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
|
|
4603
|
-
static
|
|
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-
|
|
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
|
|
4662
|
-
static
|
|
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-
|
|
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
|
|
4710
|
-
static
|
|
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-
|
|
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
|
|
4743
|
-
static
|
|
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-
|
|
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
|
-
|
|
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
|
|
4804
|
-
static
|
|
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-
|
|
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
|
|
4932
|
-
static
|
|
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-
|
|
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
|
|
4997
|
-
static
|
|
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-
|
|
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
|
|
5096
|
-
static
|
|
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-
|
|
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
|
|
5176
|
-
static
|
|
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-
|
|
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
|
|
5223
|
-
static
|
|
5224
|
-
static
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
5873
|
-
static
|
|
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-
|
|
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
|
|
6000
|
-
static
|
|
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-
|
|
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
|
-
|
|
6045
|
-
|
|
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
|
|
6092
|
-
static
|
|
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-
|
|
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
|
-
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
|
|
6298
|
-
|
|
6299
|
-
|
|
6300
|
-
|
|
6301
|
-
|
|
6302
|
-
|
|
6303
|
-
|
|
6304
|
-
|
|
6305
|
-
|
|
6306
|
-
|
|
6307
|
-
|
|
6308
|
-
|
|
6309
|
-
|
|
6310
|
-
|
|
6311
|
-
|
|
6312
|
-
|
|
6313
|
-
|
|
6314
|
-
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
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
|
|
6600
|
-
static
|
|
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-
|
|
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,
|