@angular/common 15.0.0-next.1 → 15.0.0-next.2
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/esm2020/http/src/client.mjs +3 -3
- package/esm2020/http/src/interceptor.mjs +3 -3
- package/esm2020/http/src/jsonp.mjs +6 -6
- package/esm2020/http/src/module.mjs +15 -15
- package/esm2020/http/src/xhr.mjs +3 -3
- package/esm2020/http/src/xsrf.mjs +6 -6
- package/esm2020/http/testing/src/backend.mjs +3 -3
- package/esm2020/http/testing/src/module.mjs +4 -4
- package/esm2020/src/common.mjs +2 -2
- package/esm2020/src/common_module.mjs +4 -4
- package/esm2020/src/directives/index.mjs +3 -3
- package/esm2020/src/directives/ng_class.mjs +3 -3
- package/esm2020/src/directives/ng_component_outlet.mjs +3 -3
- package/esm2020/src/directives/ng_for_of.mjs +8 -4
- package/esm2020/src/directives/ng_if.mjs +3 -3
- package/esm2020/src/directives/ng_optimized_image/error_helper.mjs +4 -4
- package/esm2020/src/directives/ng_optimized_image/image_loaders/image_loader.mjs +4 -4
- package/esm2020/src/directives/ng_optimized_image/lcp_image_observer.mjs +11 -11
- package/esm2020/src/directives/ng_optimized_image/ng_optimized_image.mjs +82 -61
- package/esm2020/src/directives/ng_optimized_image/preconnect_link_checker.mjs +8 -8
- package/esm2020/src/directives/ng_plural.mjs +6 -6
- package/esm2020/src/directives/ng_style.mjs +3 -3
- package/esm2020/src/directives/ng_switch.mjs +9 -9
- package/esm2020/src/directives/ng_template_outlet.mjs +3 -3
- package/esm2020/src/i18n/localization.mjs +6 -6
- package/esm2020/src/location/hash_location_strategy.mjs +3 -3
- package/esm2020/src/location/location.mjs +3 -3
- package/esm2020/src/location/location_strategy.mjs +6 -6
- package/esm2020/src/location/platform_location.mjs +6 -6
- package/esm2020/src/pipes/async_pipe.mjs +3 -3
- package/esm2020/src/pipes/case_conversion_pipes.mjs +9 -9
- package/esm2020/src/pipes/date_pipe.mjs +3 -3
- package/esm2020/src/pipes/i18n_plural_pipe.mjs +3 -3
- package/esm2020/src/pipes/i18n_select_pipe.mjs +3 -3
- package/esm2020/src/pipes/json_pipe.mjs +3 -3
- package/esm2020/src/pipes/keyvalue_pipe.mjs +3 -3
- package/esm2020/src/pipes/number_pipe.mjs +9 -9
- package/esm2020/src/pipes/slice_pipe.mjs +3 -3
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/location_mock.mjs +3 -3
- package/esm2020/testing/src/mock_location_strategy.mjs +3 -3
- package/esm2020/testing/src/mock_platform_location.mjs +3 -3
- package/esm2020/upgrade/src/location_upgrade_module.mjs +4 -4
- package/fesm2015/common.mjs +207 -186
- package/fesm2015/common.mjs.map +1 -1
- package/fesm2015/http/testing.mjs +8 -8
- package/fesm2015/http.mjs +37 -37
- package/fesm2015/testing.mjs +10 -10
- package/fesm2015/upgrade.mjs +5 -5
- package/fesm2020/common.mjs +207 -186
- package/fesm2020/common.mjs.map +1 -1
- package/fesm2020/http/testing.mjs +8 -8
- package/fesm2020/http.mjs +37 -37
- package/fesm2020/testing.mjs +10 -10
- package/fesm2020/upgrade.mjs +5 -5
- package/http/index.d.ts +1 -1
- package/http/testing/index.d.ts +1 -1
- package/index.d.ts +27 -13
- package/package.json +2 -2
- package/testing/index.d.ts +1 -1
- package/upgrade/index.d.ts +1 -1
package/fesm2015/common.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v15.0.0-next.
|
|
2
|
+
* @license Angular v15.0.0-next.2
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -87,9 +87,9 @@ class PlatformLocation {
|
|
|
87
87
|
throw new Error('Not implemented');
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
PlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
91
|
-
PlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
90
|
+
PlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
+
PlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PlatformLocation, decorators: [{
|
|
93
93
|
type: Injectable,
|
|
94
94
|
args: [{
|
|
95
95
|
providedIn: 'platform',
|
|
@@ -190,9 +190,9 @@ class BrowserPlatformLocation extends PlatformLocation {
|
|
|
190
190
|
return this._history.state;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
BrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
194
|
-
BrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
193
|
+
BrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
194
|
+
BrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: BrowserPlatformLocation, decorators: [{
|
|
196
196
|
type: Injectable,
|
|
197
197
|
args: [{
|
|
198
198
|
providedIn: 'platform',
|
|
@@ -313,9 +313,9 @@ class LocationStrategy {
|
|
|
313
313
|
throw new Error('Not implemented');
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
|
-
LocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
317
|
-
LocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
318
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
316
|
+
LocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
317
|
+
LocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });
|
|
318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LocationStrategy, decorators: [{
|
|
319
319
|
type: Injectable,
|
|
320
320
|
args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]
|
|
321
321
|
}] });
|
|
@@ -424,9 +424,9 @@ class PathLocationStrategy extends LocationStrategy {
|
|
|
424
424
|
(_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
|
-
PathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
428
|
-
PathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
427
|
+
PathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
428
|
+
PathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });
|
|
429
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PathLocationStrategy, decorators: [{
|
|
430
430
|
type: Injectable,
|
|
431
431
|
args: [{ providedIn: 'root' }]
|
|
432
432
|
}], ctorParameters: function () {
|
|
@@ -525,9 +525,9 @@ class HashLocationStrategy extends LocationStrategy {
|
|
|
525
525
|
(_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);
|
|
526
526
|
}
|
|
527
527
|
}
|
|
528
|
-
HashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
529
|
-
HashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
528
|
+
HashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
529
|
+
HashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: HashLocationStrategy });
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: HashLocationStrategy, decorators: [{
|
|
531
531
|
type: Injectable
|
|
532
532
|
}], ctorParameters: function () {
|
|
533
533
|
return [{ type: PlatformLocation }, { type: undefined, decorators: [{
|
|
@@ -783,9 +783,9 @@ Location.joinWithSlash = joinWithSlash;
|
|
|
783
783
|
* @returns The URL string, modified if needed.
|
|
784
784
|
*/
|
|
785
785
|
Location.stripTrailingSlash = stripTrailingSlash;
|
|
786
|
-
Location.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
787
|
-
Location.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
788
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
786
|
+
Location.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
787
|
+
Location.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });
|
|
788
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: Location, decorators: [{
|
|
789
789
|
type: Injectable,
|
|
790
790
|
args: [{
|
|
791
791
|
providedIn: 'root',
|
|
@@ -2601,9 +2601,9 @@ function parseIntAutoRadix(text) {
|
|
|
2601
2601
|
*/
|
|
2602
2602
|
class NgLocalization {
|
|
2603
2603
|
}
|
|
2604
|
-
NgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2605
|
-
NgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2604
|
+
NgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2605
|
+
NgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });
|
|
2606
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgLocalization, decorators: [{
|
|
2607
2607
|
type: Injectable,
|
|
2608
2608
|
args: [{
|
|
2609
2609
|
providedIn: 'root',
|
|
@@ -2658,9 +2658,9 @@ class NgLocaleLocalization extends NgLocalization {
|
|
|
2658
2658
|
}
|
|
2659
2659
|
}
|
|
2660
2660
|
}
|
|
2661
|
-
NgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2662
|
-
NgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2663
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2661
|
+
NgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2662
|
+
NgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgLocaleLocalization });
|
|
2663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgLocaleLocalization, decorators: [{
|
|
2664
2664
|
type: Injectable
|
|
2665
2665
|
}], ctorParameters: function () {
|
|
2666
2666
|
return [{ type: undefined, decorators: [{
|
|
@@ -2855,9 +2855,9 @@ class NgClass {
|
|
|
2855
2855
|
}
|
|
2856
2856
|
}
|
|
2857
2857
|
}
|
|
2858
|
-
NgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2859
|
-
NgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
2860
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2858
|
+
NgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2859
|
+
NgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgClass, isStandalone: true, selector: "[ngClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass" }, ngImport: i0 });
|
|
2860
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgClass, decorators: [{
|
|
2861
2861
|
type: Directive,
|
|
2862
2862
|
args: [{
|
|
2863
2863
|
selector: '[ngClass]',
|
|
@@ -2976,9 +2976,9 @@ class NgComponentOutlet {
|
|
|
2976
2976
|
this._moduleRef.destroy();
|
|
2977
2977
|
}
|
|
2978
2978
|
}
|
|
2979
|
-
NgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2980
|
-
NgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
2981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
2979
|
+
NgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2980
|
+
NgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgComponentOutlet, isStandalone: true, selector: "[ngComponentOutlet]", inputs: { ngComponentOutlet: "ngComponentOutlet", ngComponentOutletInjector: "ngComponentOutletInjector", ngComponentOutletContent: "ngComponentOutletContent", ngComponentOutletNgModule: "ngComponentOutletNgModule", ngComponentOutletNgModuleFactory: "ngComponentOutletNgModuleFactory" }, usesOnChanges: true, ngImport: i0 });
|
|
2981
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgComponentOutlet, decorators: [{
|
|
2982
2982
|
type: Directive,
|
|
2983
2983
|
args: [{
|
|
2984
2984
|
selector: '[ngComponentOutlet]',
|
|
@@ -3268,9 +3268,9 @@ class NgForOf {
|
|
|
3268
3268
|
return true;
|
|
3269
3269
|
}
|
|
3270
3270
|
}
|
|
3271
|
-
NgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3272
|
-
NgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3271
|
+
NgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3272
|
+
NgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgForOf, isStandalone: true, selector: "[ngFor][ngForOf]", inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, ngImport: i0 });
|
|
3273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgForOf, decorators: [{
|
|
3274
3274
|
type: Directive,
|
|
3275
3275
|
args: [{
|
|
3276
3276
|
selector: '[ngFor][ngForOf]',
|
|
@@ -3503,9 +3503,9 @@ class NgIf {
|
|
|
3503
3503
|
return true;
|
|
3504
3504
|
}
|
|
3505
3505
|
}
|
|
3506
|
-
NgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3507
|
-
NgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3506
|
+
NgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3507
|
+
NgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgIf, isStandalone: true, selector: "[ngIf]", inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, ngImport: i0 });
|
|
3508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgIf, decorators: [{
|
|
3509
3509
|
type: Directive,
|
|
3510
3510
|
args: [{
|
|
3511
3511
|
selector: '[ngIf]',
|
|
@@ -3676,9 +3676,9 @@ class NgSwitch {
|
|
|
3676
3676
|
}
|
|
3677
3677
|
}
|
|
3678
3678
|
}
|
|
3679
|
-
NgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3680
|
-
NgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3679
|
+
NgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3680
|
+
NgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgSwitch, isStandalone: true, selector: "[ngSwitch]", inputs: { ngSwitch: "ngSwitch" }, ngImport: i0 });
|
|
3681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgSwitch, decorators: [{
|
|
3682
3682
|
type: Directive,
|
|
3683
3683
|
args: [{
|
|
3684
3684
|
selector: '[ngSwitch]',
|
|
@@ -3737,9 +3737,9 @@ class NgSwitchCase {
|
|
|
3737
3737
|
this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));
|
|
3738
3738
|
}
|
|
3739
3739
|
}
|
|
3740
|
-
NgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3741
|
-
NgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3742
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3740
|
+
NgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3741
|
+
NgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgSwitchCase, isStandalone: true, selector: "[ngSwitchCase]", inputs: { ngSwitchCase: "ngSwitchCase" }, ngImport: i0 });
|
|
3742
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgSwitchCase, decorators: [{
|
|
3743
3743
|
type: Directive,
|
|
3744
3744
|
args: [{
|
|
3745
3745
|
selector: '[ngSwitchCase]',
|
|
@@ -3776,9 +3776,9 @@ class NgSwitchDefault {
|
|
|
3776
3776
|
ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
|
|
3777
3777
|
}
|
|
3778
3778
|
}
|
|
3779
|
-
NgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3780
|
-
NgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3781
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3779
|
+
NgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3780
|
+
NgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgSwitchDefault, isStandalone: true, selector: "[ngSwitchDefault]", ngImport: i0 });
|
|
3781
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgSwitchDefault, decorators: [{
|
|
3782
3782
|
type: Directive,
|
|
3783
3783
|
args: [{
|
|
3784
3784
|
selector: '[ngSwitchDefault]',
|
|
@@ -3864,9 +3864,9 @@ class NgPlural {
|
|
|
3864
3864
|
}
|
|
3865
3865
|
}
|
|
3866
3866
|
}
|
|
3867
|
-
NgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3868
|
-
NgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3867
|
+
NgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3868
|
+
NgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgPlural, isStandalone: true, selector: "[ngPlural]", inputs: { ngPlural: "ngPlural" }, ngImport: i0 });
|
|
3869
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgPlural, decorators: [{
|
|
3870
3870
|
type: Directive,
|
|
3871
3871
|
args: [{
|
|
3872
3872
|
selector: '[ngPlural]',
|
|
@@ -3902,9 +3902,9 @@ class NgPluralCase {
|
|
|
3902
3902
|
ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));
|
|
3903
3903
|
}
|
|
3904
3904
|
}
|
|
3905
|
-
NgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3906
|
-
NgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
3907
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
3905
|
+
NgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3906
|
+
NgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgPluralCase, isStandalone: true, selector: "[ngPluralCase]", ngImport: i0 });
|
|
3907
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgPluralCase, decorators: [{
|
|
3908
3908
|
type: Directive,
|
|
3909
3909
|
args: [{
|
|
3910
3910
|
selector: '[ngPluralCase]',
|
|
@@ -4000,9 +4000,9 @@ class NgStyle {
|
|
|
4000
4000
|
changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));
|
|
4001
4001
|
}
|
|
4002
4002
|
}
|
|
4003
|
-
NgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4004
|
-
NgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4005
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4003
|
+
NgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4004
|
+
NgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgStyle, isStandalone: true, selector: "[ngStyle]", inputs: { ngStyle: "ngStyle" }, ngImport: i0 });
|
|
4005
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgStyle, decorators: [{
|
|
4006
4006
|
type: Directive,
|
|
4007
4007
|
args: [{
|
|
4008
4008
|
selector: '[ngStyle]',
|
|
@@ -4082,9 +4082,9 @@ class NgTemplateOutlet {
|
|
|
4082
4082
|
}
|
|
4083
4083
|
}
|
|
4084
4084
|
}
|
|
4085
|
-
NgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4086
|
-
NgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4087
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4085
|
+
NgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4086
|
+
NgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgTemplateOutlet, isStandalone: true, selector: "[ngTemplateOutlet]", inputs: { ngTemplateOutletContext: "ngTemplateOutletContext", ngTemplateOutlet: "ngTemplateOutlet", ngTemplateOutletInjector: "ngTemplateOutletInjector" }, usesOnChanges: true, ngImport: i0 });
|
|
4087
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgTemplateOutlet, decorators: [{
|
|
4088
4088
|
type: Directive,
|
|
4089
4089
|
args: [{
|
|
4090
4090
|
selector: '[ngTemplateOutlet]',
|
|
@@ -4256,9 +4256,9 @@ class AsyncPipe {
|
|
|
4256
4256
|
}
|
|
4257
4257
|
}
|
|
4258
4258
|
}
|
|
4259
|
-
AsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4260
|
-
AsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4259
|
+
AsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4260
|
+
AsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: AsyncPipe, isStandalone: true, name: "async", pure: false });
|
|
4261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: AsyncPipe, decorators: [{
|
|
4262
4262
|
type: Pipe,
|
|
4263
4263
|
args: [{
|
|
4264
4264
|
name: 'async',
|
|
@@ -4299,9 +4299,9 @@ class LowerCasePipe {
|
|
|
4299
4299
|
return value.toLowerCase();
|
|
4300
4300
|
}
|
|
4301
4301
|
}
|
|
4302
|
-
LowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4303
|
-
LowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4302
|
+
LowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4303
|
+
LowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: "lowercase" });
|
|
4304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LowerCasePipe, decorators: [{
|
|
4305
4305
|
type: Pipe,
|
|
4306
4306
|
args: [{
|
|
4307
4307
|
name: 'lowercase',
|
|
@@ -4344,9 +4344,9 @@ class TitleCasePipe {
|
|
|
4344
4344
|
return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.slice(1).toLowerCase()));
|
|
4345
4345
|
}
|
|
4346
4346
|
}
|
|
4347
|
-
TitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4348
|
-
TitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4347
|
+
TitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4348
|
+
TitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: "titlecase" });
|
|
4349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: TitleCasePipe, decorators: [{
|
|
4350
4350
|
type: Pipe,
|
|
4351
4351
|
args: [{
|
|
4352
4352
|
name: 'titlecase',
|
|
@@ -4371,9 +4371,9 @@ class UpperCasePipe {
|
|
|
4371
4371
|
return value.toUpperCase();
|
|
4372
4372
|
}
|
|
4373
4373
|
}
|
|
4374
|
-
UpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4375
|
-
UpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4376
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4374
|
+
UpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4375
|
+
UpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: "uppercase" });
|
|
4376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: UpperCasePipe, decorators: [{
|
|
4377
4377
|
type: Pipe,
|
|
4378
4378
|
args: [{
|
|
4379
4379
|
name: 'uppercase',
|
|
@@ -4569,9 +4569,9 @@ class DatePipe {
|
|
|
4569
4569
|
}
|
|
4570
4570
|
}
|
|
4571
4571
|
}
|
|
4572
|
-
DatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4573
|
-
DatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4574
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4572
|
+
DatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4573
|
+
DatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: DatePipe, isStandalone: true, name: "date" });
|
|
4574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: DatePipe, decorators: [{
|
|
4575
4575
|
type: Pipe,
|
|
4576
4576
|
args: [{
|
|
4577
4577
|
name: 'date',
|
|
@@ -4633,9 +4633,9 @@ class I18nPluralPipe {
|
|
|
4633
4633
|
return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
|
|
4634
4634
|
}
|
|
4635
4635
|
}
|
|
4636
|
-
I18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4637
|
-
I18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4638
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4636
|
+
I18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4637
|
+
I18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: "i18nPlural" });
|
|
4638
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: I18nPluralPipe, decorators: [{
|
|
4639
4639
|
type: Pipe,
|
|
4640
4640
|
args: [{
|
|
4641
4641
|
name: 'i18nPlural',
|
|
@@ -4689,9 +4689,9 @@ class I18nSelectPipe {
|
|
|
4689
4689
|
return '';
|
|
4690
4690
|
}
|
|
4691
4691
|
}
|
|
4692
|
-
I18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4693
|
-
I18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4694
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4692
|
+
I18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4693
|
+
I18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: "i18nSelect" });
|
|
4694
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: I18nSelectPipe, decorators: [{
|
|
4695
4695
|
type: Pipe,
|
|
4696
4696
|
args: [{
|
|
4697
4697
|
name: 'i18nSelect',
|
|
@@ -4730,9 +4730,9 @@ class JsonPipe {
|
|
|
4730
4730
|
return JSON.stringify(value, null, 2);
|
|
4731
4731
|
}
|
|
4732
4732
|
}
|
|
4733
|
-
JsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4734
|
-
JsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4735
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4733
|
+
JsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4734
|
+
JsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: JsonPipe, isStandalone: true, name: "json", pure: false });
|
|
4735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: JsonPipe, decorators: [{
|
|
4736
4736
|
type: Pipe,
|
|
4737
4737
|
args: [{
|
|
4738
4738
|
name: 'json',
|
|
@@ -4800,9 +4800,9 @@ class KeyValuePipe {
|
|
|
4800
4800
|
return this.keyValues;
|
|
4801
4801
|
}
|
|
4802
4802
|
}
|
|
4803
|
-
KeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4804
|
-
KeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4805
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4803
|
+
KeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4804
|
+
KeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue", pure: false });
|
|
4805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: KeyValuePipe, decorators: [{
|
|
4806
4806
|
type: Pipe,
|
|
4807
4807
|
args: [{
|
|
4808
4808
|
name: 'keyvalue',
|
|
@@ -4935,9 +4935,9 @@ class DecimalPipe {
|
|
|
4935
4935
|
}
|
|
4936
4936
|
}
|
|
4937
4937
|
}
|
|
4938
|
-
DecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4939
|
-
DecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
4940
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
4938
|
+
DecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
4939
|
+
DecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: DecimalPipe, isStandalone: true, name: "number" });
|
|
4940
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: DecimalPipe, decorators: [{
|
|
4941
4941
|
type: Pipe,
|
|
4942
4942
|
args: [{
|
|
4943
4943
|
name: 'number',
|
|
@@ -5002,9 +5002,9 @@ class PercentPipe {
|
|
|
5002
5002
|
}
|
|
5003
5003
|
}
|
|
5004
5004
|
}
|
|
5005
|
-
PercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5006
|
-
PercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
5007
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5005
|
+
PercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5006
|
+
PercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: PercentPipe, isStandalone: true, name: "percent" });
|
|
5007
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PercentPipe, decorators: [{
|
|
5008
5008
|
type: Pipe,
|
|
5009
5009
|
args: [{
|
|
5010
5010
|
name: 'percent',
|
|
@@ -5122,9 +5122,9 @@ class CurrencyPipe {
|
|
|
5122
5122
|
}
|
|
5123
5123
|
}
|
|
5124
5124
|
}
|
|
5125
|
-
CurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5126
|
-
CurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
5127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5125
|
+
CurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5126
|
+
CurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: "currency" });
|
|
5127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: CurrencyPipe, decorators: [{
|
|
5128
5128
|
type: Pipe,
|
|
5129
5129
|
args: [{
|
|
5130
5130
|
name: 'currency',
|
|
@@ -5211,9 +5211,9 @@ class SlicePipe {
|
|
|
5211
5211
|
return typeof obj === 'string' || Array.isArray(obj);
|
|
5212
5212
|
}
|
|
5213
5213
|
}
|
|
5214
|
-
SlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5215
|
-
SlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
5216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5214
|
+
SlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5215
|
+
SlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: SlicePipe, isStandalone: true, name: "slice", pure: false });
|
|
5216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: SlicePipe, decorators: [{
|
|
5217
5217
|
type: Pipe,
|
|
5218
5218
|
args: [{
|
|
5219
5219
|
name: 'slice',
|
|
@@ -5267,10 +5267,10 @@ const COMMON_PIPES = [
|
|
|
5267
5267
|
*/
|
|
5268
5268
|
class CommonModule {
|
|
5269
5269
|
}
|
|
5270
|
-
CommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5271
|
-
CommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
5272
|
-
CommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5270
|
+
CommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5271
|
+
CommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.2", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });
|
|
5272
|
+
CommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: CommonModule });
|
|
5273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: CommonModule, decorators: [{
|
|
5274
5274
|
type: NgModule,
|
|
5275
5275
|
args: [{
|
|
5276
5276
|
imports: [COMMON_DIRECTIVES, COMMON_PIPES],
|
|
@@ -5328,7 +5328,7 @@ function isPlatformWorkerUi(platformId) {
|
|
|
5328
5328
|
/**
|
|
5329
5329
|
* @publicApi
|
|
5330
5330
|
*/
|
|
5331
|
-
const VERSION = new Version('15.0.0-next.
|
|
5331
|
+
const VERSION = new Version('15.0.0-next.2');
|
|
5332
5332
|
|
|
5333
5333
|
/**
|
|
5334
5334
|
* @license
|
|
@@ -5580,9 +5580,9 @@ function assertDevMode(checkName) {
|
|
|
5580
5580
|
* found in the LICENSE file at https://angular.io/license
|
|
5581
5581
|
*/
|
|
5582
5582
|
// Assembles directive details string, useful for error messages.
|
|
5583
|
-
function imgDirectiveDetails(
|
|
5584
|
-
const
|
|
5585
|
-
return `The NgOptimizedImage directive ${
|
|
5583
|
+
function imgDirectiveDetails(ngSrc, includeNgSrc = true) {
|
|
5584
|
+
const ngSrcInfo = includeNgSrc ? `(activated on an <img> element with the \`ngSrc="${ngSrc}"\`) ` : '';
|
|
5585
|
+
return `The NgOptimizedImage directive ${ngSrcInfo}has detected that`;
|
|
5586
5586
|
}
|
|
5587
5587
|
|
|
5588
5588
|
/**
|
|
@@ -5703,9 +5703,9 @@ class PreconnectLinkChecker {
|
|
|
5703
5703
|
* given src.
|
|
5704
5704
|
*
|
|
5705
5705
|
* @param rewrittenSrc src formatted with loader
|
|
5706
|
-
* @param
|
|
5706
|
+
* @param originalNgSrc ngSrc value
|
|
5707
5707
|
*/
|
|
5708
|
-
assertPreconnect(rewrittenSrc,
|
|
5708
|
+
assertPreconnect(rewrittenSrc, originalNgSrc) {
|
|
5709
5709
|
if (!this.window)
|
|
5710
5710
|
return;
|
|
5711
5711
|
const imgUrl = getUrl(rewrittenSrc, this.window);
|
|
@@ -5721,8 +5721,8 @@ class PreconnectLinkChecker {
|
|
|
5721
5721
|
this.preconnectLinks = this.queryPreconnectLinks();
|
|
5722
5722
|
}
|
|
5723
5723
|
if (!this.preconnectLinks.has(imgUrl.origin)) {
|
|
5724
|
-
console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(
|
|
5725
|
-
`Preconnecting to the origin(s) that serve priority images ensures that these ` +
|
|
5724
|
+
console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(originalNgSrc)} there is no preconnect tag present for this ` +
|
|
5725
|
+
`image. Preconnecting to the origin(s) that serve priority images ensures that these ` +
|
|
5726
5726
|
`images are delivered as soon as possible. To fix this, please add the following ` +
|
|
5727
5727
|
`element into the <head> of the document:\n` +
|
|
5728
5728
|
` <link rel="preconnect" href="${imgUrl.origin}">`));
|
|
@@ -5744,9 +5744,9 @@ class PreconnectLinkChecker {
|
|
|
5744
5744
|
this.alreadySeen.clear();
|
|
5745
5745
|
}
|
|
5746
5746
|
}
|
|
5747
|
-
PreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5748
|
-
PreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5749
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
5747
|
+
PreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5748
|
+
PreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });
|
|
5749
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: PreconnectLinkChecker, decorators: [{
|
|
5750
5750
|
type: Injectable,
|
|
5751
5751
|
args: [{ providedIn: 'root' }]
|
|
5752
5752
|
}], ctorParameters: function () { return []; } });
|
|
@@ -5829,10 +5829,10 @@ function throwInvalidPathError(path, exampleUrls) {
|
|
|
5829
5829
|
}
|
|
5830
5830
|
function throwUnexpectedAbsoluteUrlError(path, url) {
|
|
5831
5831
|
throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&
|
|
5832
|
-
`Image loader has detected a \`<img>\` tag with an invalid \`
|
|
5833
|
-
`This image loader expects \`
|
|
5832
|
+
`Image loader has detected a \`<img>\` tag with an invalid \`ngSrc\` attribute: ${url}. ` +
|
|
5833
|
+
`This image loader expects \`ngSrc\` to be a relative URL - ` +
|
|
5834
5834
|
`however the provided value is an absolute URL. ` +
|
|
5835
|
-
`To fix this, provide \`
|
|
5835
|
+
`To fix this, provide \`ngSrc\` as a path relative to the base URL ` +
|
|
5836
5836
|
`configured for this loader (\`${path}\`).`);
|
|
5837
5837
|
}
|
|
5838
5838
|
|
|
@@ -5997,7 +5997,7 @@ function createImgixUrl(path, config) {
|
|
|
5997
5997
|
*/
|
|
5998
5998
|
class LCPImageObserver {
|
|
5999
5999
|
constructor() {
|
|
6000
|
-
// Map of full image URLs -> original `
|
|
6000
|
+
// Map of full image URLs -> original `ngSrc` values.
|
|
6001
6001
|
this.images = new Map();
|
|
6002
6002
|
// Keep track of images for which `console.warn` was produced.
|
|
6003
6003
|
this.alreadyWarned = new Set();
|
|
@@ -6031,8 +6031,8 @@ class LCPImageObserver {
|
|
|
6031
6031
|
// Exclude `data:` and `blob:` URLs, since they are not supported by the directive.
|
|
6032
6032
|
if (imgSrc.startsWith('data:') || imgSrc.startsWith('blob:'))
|
|
6033
6033
|
return;
|
|
6034
|
-
const
|
|
6035
|
-
if (
|
|
6034
|
+
const imgNgSrc = this.images.get(imgSrc);
|
|
6035
|
+
if (imgNgSrc && !this.alreadyWarned.has(imgSrc)) {
|
|
6036
6036
|
this.alreadyWarned.add(imgSrc);
|
|
6037
6037
|
logMissingPriorityWarning(imgSrc);
|
|
6038
6038
|
}
|
|
@@ -6040,10 +6040,10 @@ class LCPImageObserver {
|
|
|
6040
6040
|
observer.observe({ type: 'largest-contentful-paint', buffered: true });
|
|
6041
6041
|
return observer;
|
|
6042
6042
|
}
|
|
6043
|
-
registerImage(rewrittenSrc,
|
|
6043
|
+
registerImage(rewrittenSrc, originalNgSrc) {
|
|
6044
6044
|
if (!this.observer)
|
|
6045
6045
|
return;
|
|
6046
|
-
this.images.set(getUrl(rewrittenSrc, this.window).href,
|
|
6046
|
+
this.images.set(getUrl(rewrittenSrc, this.window).href, originalNgSrc);
|
|
6047
6047
|
}
|
|
6048
6048
|
unregisterImage(rewrittenSrc) {
|
|
6049
6049
|
if (!this.observer)
|
|
@@ -6058,14 +6058,14 @@ class LCPImageObserver {
|
|
|
6058
6058
|
this.alreadyWarned.clear();
|
|
6059
6059
|
}
|
|
6060
6060
|
}
|
|
6061
|
-
LCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
6062
|
-
LCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
6063
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
6061
|
+
LCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6062
|
+
LCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });
|
|
6063
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: LCPImageObserver, decorators: [{
|
|
6064
6064
|
type: Injectable,
|
|
6065
6065
|
args: [{ providedIn: 'root' }]
|
|
6066
6066
|
}], ctorParameters: function () { return []; } });
|
|
6067
|
-
function logMissingPriorityWarning(
|
|
6068
|
-
const directiveDetails = imgDirectiveDetails(
|
|
6067
|
+
function logMissingPriorityWarning(ngSrc) {
|
|
6068
|
+
const directiveDetails = imgDirectiveDetails(ngSrc);
|
|
6069
6069
|
console.warn(ɵformatRuntimeError(2955 /* RuntimeErrorCode.LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` +
|
|
6070
6070
|
`element but was not marked "priority". This image should be marked ` +
|
|
6071
6071
|
`"priority" in order to prioritize its loading. ` +
|
|
@@ -6140,8 +6140,8 @@ const OVERSIZED_IMAGE_TOLERANCE = 1000;
|
|
|
6140
6140
|
* Follow the steps below to enable and use the directive:
|
|
6141
6141
|
* 1. Import it into the necessary NgModule or a standalone Component.
|
|
6142
6142
|
* 2. Optionally provide an `ImageLoader` if you use an image hosting service.
|
|
6143
|
-
* 3. Update the necessary `<img>` tags in templates and replace `src` attributes with `
|
|
6144
|
-
* Using a `
|
|
6143
|
+
* 3. Update the necessary `<img>` tags in templates and replace `src` attributes with `ngSrc`.
|
|
6144
|
+
* Using a `ngSrc` allows the directive to control when the `src` gets set, which triggers an image
|
|
6145
6145
|
* download.
|
|
6146
6146
|
*
|
|
6147
6147
|
* Step 1: import the `NgOptimizedImage` directive.
|
|
@@ -6167,7 +6167,7 @@ const OVERSIZED_IMAGE_TOLERANCE = 1000;
|
|
|
6167
6167
|
*
|
|
6168
6168
|
* To use the **default loader**: no additional code changes are necessary. The URL returned by the
|
|
6169
6169
|
* generic loader will always match the value of "src". In other words, this loader applies no
|
|
6170
|
-
* transformations to the resource URL and the value of the `
|
|
6170
|
+
* transformations to the resource URL and the value of the `ngSrc` attribute will be used as is.
|
|
6171
6171
|
*
|
|
6172
6172
|
* To use an existing loader for a **third-party image service**: add the provider factory for your
|
|
6173
6173
|
* chosen service to the `providers` array. In the example below, the Imgix loader is used:
|
|
@@ -6207,10 +6207,10 @@ const OVERSIZED_IMAGE_TOLERANCE = 1000;
|
|
|
6207
6207
|
* ],
|
|
6208
6208
|
* ```
|
|
6209
6209
|
*
|
|
6210
|
-
* Step 3: update `<img>` tags in templates to use `
|
|
6210
|
+
* Step 3: update `<img>` tags in templates to use `ngSrc` instead of `src`.
|
|
6211
6211
|
*
|
|
6212
6212
|
* ```
|
|
6213
|
-
* <img
|
|
6213
|
+
* <img ngSrc="logo.png" width="200" height="100">
|
|
6214
6214
|
* ```
|
|
6215
6215
|
*
|
|
6216
6216
|
* @publicApi
|
|
@@ -6233,6 +6233,25 @@ class NgOptimizedImage {
|
|
|
6233
6233
|
this._renderedSrc = null;
|
|
6234
6234
|
this._priority = false;
|
|
6235
6235
|
}
|
|
6236
|
+
/**
|
|
6237
|
+
* Previously, the `rawSrc` attribute was used to activate the directive.
|
|
6238
|
+
* The attribute was renamed to `ngSrc` and this input just produces an error,
|
|
6239
|
+
* suggesting to switch to `ngSrc` instead.
|
|
6240
|
+
*
|
|
6241
|
+
* This error should be removed in v15.
|
|
6242
|
+
*
|
|
6243
|
+
* @nodoc
|
|
6244
|
+
* @deprecated Use `ngSrc` instead.
|
|
6245
|
+
*/
|
|
6246
|
+
set rawSrc(value) {
|
|
6247
|
+
if (ngDevMode) {
|
|
6248
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(value, false)} the \`rawSrc\` attribute was used ` +
|
|
6249
|
+
`to activate the directive. Newer version of the directive uses the \`ngSrc\` ` +
|
|
6250
|
+
`attribute instead. Please replace \`rawSrc\` with \`ngSrc\` and ` +
|
|
6251
|
+
`\`rawSrcset\` with \`ngSrcset\` attributes in the template to ` +
|
|
6252
|
+
`enable image optimizations.`);
|
|
6253
|
+
}
|
|
6254
|
+
}
|
|
6236
6255
|
/**
|
|
6237
6256
|
* The intrinsic width of the image in pixels.
|
|
6238
6257
|
*/
|
|
@@ -6264,8 +6283,8 @@ class NgOptimizedImage {
|
|
|
6264
6283
|
}
|
|
6265
6284
|
ngOnInit() {
|
|
6266
6285
|
if (ngDevMode) {
|
|
6267
|
-
assertNonEmptyInput(this, '
|
|
6268
|
-
|
|
6286
|
+
assertNonEmptyInput(this, 'ngSrc', this.ngSrc);
|
|
6287
|
+
assertValidNgSrcset(this, this.ngSrcset);
|
|
6269
6288
|
assertNoConflictingSrc(this);
|
|
6270
6289
|
assertNoConflictingSrcset(this);
|
|
6271
6290
|
assertNotBase64Image(this);
|
|
@@ -6275,7 +6294,7 @@ class NgOptimizedImage {
|
|
|
6275
6294
|
assertNoImageDistortion(this, this.imgElement, this.renderer);
|
|
6276
6295
|
if (this.priority) {
|
|
6277
6296
|
const checker = this.injector.get(PreconnectLinkChecker);
|
|
6278
|
-
checker.assertPreconnect(this.getRewrittenSrc(), this.
|
|
6297
|
+
checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);
|
|
6279
6298
|
}
|
|
6280
6299
|
else {
|
|
6281
6300
|
// Monitor whether an image is an LCP element only in case
|
|
@@ -6284,7 +6303,7 @@ class NgOptimizedImage {
|
|
|
6284
6303
|
if (this.lcpObserver !== null) {
|
|
6285
6304
|
const ngZone = this.injector.get(NgZone);
|
|
6286
6305
|
ngZone.runOutsideAngular(() => {
|
|
6287
|
-
this.lcpObserver.registerImage(this.getRewrittenSrc(), this.
|
|
6306
|
+
this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc);
|
|
6288
6307
|
});
|
|
6289
6308
|
}
|
|
6290
6309
|
}
|
|
@@ -6301,13 +6320,13 @@ class NgOptimizedImage {
|
|
|
6301
6320
|
// The `src` and `srcset` attributes should be set last since other attributes
|
|
6302
6321
|
// could affect the image's loading behavior.
|
|
6303
6322
|
this.setHostAttribute('src', this.getRewrittenSrc());
|
|
6304
|
-
if (this.
|
|
6323
|
+
if (this.ngSrcset) {
|
|
6305
6324
|
this.setHostAttribute('srcset', this.getRewrittenSrcset());
|
|
6306
6325
|
}
|
|
6307
6326
|
}
|
|
6308
6327
|
ngOnChanges(changes) {
|
|
6309
6328
|
if (ngDevMode) {
|
|
6310
|
-
assertNoPostInitInputChange(this, changes, ['
|
|
6329
|
+
assertNoPostInitInputChange(this, changes, ['ngSrc', 'ngSrcset', 'width', 'height', 'priority']);
|
|
6311
6330
|
}
|
|
6312
6331
|
}
|
|
6313
6332
|
getLoadingBehavior() {
|
|
@@ -6324,18 +6343,18 @@ class NgOptimizedImage {
|
|
|
6324
6343
|
// because if the developer uses rendered width instead of intrinsic width in the HTML width
|
|
6325
6344
|
// attribute, the image requested may be too small for 2x+ screens.
|
|
6326
6345
|
if (!this._renderedSrc) {
|
|
6327
|
-
const imgConfig = { src: this.
|
|
6346
|
+
const imgConfig = { src: this.ngSrc };
|
|
6328
6347
|
// Cache calculated image src to reuse it later in the code.
|
|
6329
6348
|
this._renderedSrc = this.imageLoader(imgConfig);
|
|
6330
6349
|
}
|
|
6331
6350
|
return this._renderedSrc;
|
|
6332
6351
|
}
|
|
6333
6352
|
getRewrittenSrcset() {
|
|
6334
|
-
const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.
|
|
6335
|
-
const finalSrcs = this.
|
|
6353
|
+
const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset);
|
|
6354
|
+
const finalSrcs = this.ngSrcset.split(',').filter(src => src !== '').map(srcStr => {
|
|
6336
6355
|
srcStr = srcStr.trim();
|
|
6337
6356
|
const width = widthSrcSet ? parseFloat(srcStr) : parseFloat(srcStr) * this.width;
|
|
6338
|
-
return `${this.imageLoader({ src: this.
|
|
6357
|
+
return `${this.imageLoader({ src: this.ngSrc, width })} ${srcStr}`;
|
|
6339
6358
|
});
|
|
6340
6359
|
return finalSrcs.join(', ');
|
|
6341
6360
|
}
|
|
@@ -6350,17 +6369,19 @@ class NgOptimizedImage {
|
|
|
6350
6369
|
this.renderer.setAttribute(this.imgElement, name, value);
|
|
6351
6370
|
}
|
|
6352
6371
|
}
|
|
6353
|
-
NgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
6354
|
-
NgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.
|
|
6355
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.
|
|
6372
|
+
NgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6373
|
+
NgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.2", type: NgOptimizedImage, isStandalone: true, selector: "img[ngSrc],img[rawSrc]", inputs: { rawSrc: "rawSrc", ngSrc: "ngSrc", ngSrcset: "ngSrcset", width: "width", height: "height", loading: "loading", priority: "priority", src: "src", srcset: "srcset" }, usesOnChanges: true, ngImport: i0 });
|
|
6374
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.2", ngImport: i0, type: NgOptimizedImage, decorators: [{
|
|
6356
6375
|
type: Directive,
|
|
6357
6376
|
args: [{
|
|
6358
6377
|
standalone: true,
|
|
6359
|
-
selector: 'img[rawSrc]',
|
|
6378
|
+
selector: 'img[ngSrc],img[rawSrc]',
|
|
6360
6379
|
}]
|
|
6361
6380
|
}], propDecorators: { rawSrc: [{
|
|
6362
6381
|
type: Input
|
|
6363
|
-
}],
|
|
6382
|
+
}], ngSrc: [{
|
|
6383
|
+
type: Input
|
|
6384
|
+
}], ngSrcset: [{
|
|
6364
6385
|
type: Input
|
|
6365
6386
|
}], width: [{
|
|
6366
6387
|
type: Input
|
|
@@ -6394,9 +6415,9 @@ function inputToBoolean(value) {
|
|
|
6394
6415
|
*/
|
|
6395
6416
|
function assertNoConflictingSrc(dir) {
|
|
6396
6417
|
if (dir.src) {
|
|
6397
|
-
throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.
|
|
6418
|
+
throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \`src\` and \`ngSrc\` have been set. ` +
|
|
6398
6419
|
`Supplying both of these attributes breaks lazy loading. ` +
|
|
6399
|
-
`The NgOptimizedImage directive sets \`src\` itself based on the value of \`
|
|
6420
|
+
`The NgOptimizedImage directive sets \`src\` itself based on the value of \`ngSrc\`. ` +
|
|
6400
6421
|
`To fix this, please remove the \`src\` attribute.`);
|
|
6401
6422
|
}
|
|
6402
6423
|
}
|
|
@@ -6405,37 +6426,37 @@ function assertNoConflictingSrc(dir) {
|
|
|
6405
6426
|
*/
|
|
6406
6427
|
function assertNoConflictingSrcset(dir) {
|
|
6407
6428
|
if (dir.srcset) {
|
|
6408
|
-
throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.
|
|
6429
|
+
throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \`srcset\` and \`ngSrcset\` have been set. ` +
|
|
6409
6430
|
`Supplying both of these attributes breaks lazy loading. ` +
|
|
6410
6431
|
`The NgOptimizedImage directive sets \`srcset\` itself based on the value of ` +
|
|
6411
|
-
`\`
|
|
6432
|
+
`\`ngSrcset\`. To fix this, please remove the \`srcset\` attribute.`);
|
|
6412
6433
|
}
|
|
6413
6434
|
}
|
|
6414
6435
|
/**
|
|
6415
|
-
* Verifies that the `
|
|
6436
|
+
* Verifies that the `ngSrc` is not a Base64-encoded image.
|
|
6416
6437
|
*/
|
|
6417
6438
|
function assertNotBase64Image(dir) {
|
|
6418
|
-
let
|
|
6419
|
-
if (
|
|
6420
|
-
if (
|
|
6421
|
-
|
|
6439
|
+
let ngSrc = dir.ngSrc.trim();
|
|
6440
|
+
if (ngSrc.startsWith('data:')) {
|
|
6441
|
+
if (ngSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {
|
|
6442
|
+
ngSrc = ngSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';
|
|
6422
6443
|
}
|
|
6423
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6424
|
-
`(${
|
|
6444
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \`ngSrc\` is a Base64-encoded string ` +
|
|
6445
|
+
`(${ngSrc}). NgOptimizedImage does not support Base64-encoded strings. ` +
|
|
6425
6446
|
`To fix this, disable the NgOptimizedImage directive for this element ` +
|
|
6426
|
-
`by removing \`
|
|
6447
|
+
`by removing \`ngSrc\` and using a standard \`src\` attribute instead.`);
|
|
6427
6448
|
}
|
|
6428
6449
|
}
|
|
6429
6450
|
/**
|
|
6430
|
-
* Verifies that the `
|
|
6451
|
+
* Verifies that the `ngSrc` is not a Blob URL.
|
|
6431
6452
|
*/
|
|
6432
6453
|
function assertNotBlobUrl(dir) {
|
|
6433
|
-
const
|
|
6434
|
-
if (
|
|
6435
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6454
|
+
const ngSrc = dir.ngSrc.trim();
|
|
6455
|
+
if (ngSrc.startsWith('blob:')) {
|
|
6456
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \`ngSrc\` was set to a blob URL (${ngSrc}). ` +
|
|
6436
6457
|
`Blob URLs are not supported by the NgOptimizedImage directive. ` +
|
|
6437
6458
|
`To fix this, disable the NgOptimizedImage directive for this element ` +
|
|
6438
|
-
`by removing \`
|
|
6459
|
+
`by removing \`ngSrc\` and using a regular \`src\` attribute instead.`);
|
|
6439
6460
|
}
|
|
6440
6461
|
}
|
|
6441
6462
|
/**
|
|
@@ -6445,17 +6466,17 @@ function assertNonEmptyInput(dir, name, value) {
|
|
|
6445
6466
|
const isString = typeof value === 'string';
|
|
6446
6467
|
const isEmptyString = isString && value.trim() === '';
|
|
6447
6468
|
if (!isString || isEmptyString) {
|
|
6448
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6469
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \`${name}\` has an invalid value ` +
|
|
6449
6470
|
`(\`${value}\`). To fix this, change the value to a non-empty string.`);
|
|
6450
6471
|
}
|
|
6451
6472
|
}
|
|
6452
6473
|
/**
|
|
6453
|
-
* Verifies that the `
|
|
6474
|
+
* Verifies that the `ngSrcset` is in a valid format, e.g. "100w, 200w" or "1x, 2x".
|
|
6454
6475
|
*/
|
|
6455
|
-
function
|
|
6476
|
+
function assertValidNgSrcset(dir, value) {
|
|
6456
6477
|
if (value == null)
|
|
6457
6478
|
return;
|
|
6458
|
-
assertNonEmptyInput(dir, '
|
|
6479
|
+
assertNonEmptyInput(dir, 'ngSrcset', value);
|
|
6459
6480
|
const stringVal = value;
|
|
6460
6481
|
const isValidWidthDescriptor = VALID_WIDTH_DESCRIPTOR_SRCSET.test(stringVal);
|
|
6461
6482
|
const isValidDensityDescriptor = VALID_DENSITY_DESCRIPTOR_SRCSET.test(stringVal);
|
|
@@ -6464,15 +6485,15 @@ function assertValidRawSrcset(dir, value) {
|
|
|
6464
6485
|
}
|
|
6465
6486
|
const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;
|
|
6466
6487
|
if (!isValidSrcset) {
|
|
6467
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6468
|
-
`To fix this, supply \`
|
|
6488
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \`ngSrcset\` has an invalid value (\`${value}\`). ` +
|
|
6489
|
+
`To fix this, supply \`ngSrcset\` using a comma-separated list of one or more width ` +
|
|
6469
6490
|
`descriptors (e.g. "100w, 200w") or density descriptors (e.g. "1x, 2x").`);
|
|
6470
6491
|
}
|
|
6471
6492
|
}
|
|
6472
6493
|
function assertUnderDensityCap(dir, value) {
|
|
6473
6494
|
const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);
|
|
6474
6495
|
if (!underDensityCap) {
|
|
6475
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6496
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \`ngSrcset\` contains an unsupported image density:` +
|
|
6476
6497
|
`\`${value}\`. NgOptimizedImage generally recommends a max image density of ` +
|
|
6477
6498
|
`${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` +
|
|
6478
6499
|
`${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` +
|
|
@@ -6486,7 +6507,7 @@ function assertUnderDensityCap(dir, value) {
|
|
|
6486
6507
|
* the directive has initialized.
|
|
6487
6508
|
*/
|
|
6488
6509
|
function postInitInputChangeError(dir, inputName) {
|
|
6489
|
-
return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.
|
|
6510
|
+
return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.ngSrc)} \`${inputName}\` was updated after initialization. ` +
|
|
6490
6511
|
`The NgOptimizedImage directive will not react to this input change. ` +
|
|
6491
6512
|
`To fix this, switch \`${inputName}\` a static value or wrap the image element ` +
|
|
6492
6513
|
`in an *ngIf that is gated on the necessary value.`);
|
|
@@ -6498,12 +6519,12 @@ function assertNoPostInitInputChange(dir, changes, inputs) {
|
|
|
6498
6519
|
inputs.forEach(input => {
|
|
6499
6520
|
const isUpdated = changes.hasOwnProperty(input);
|
|
6500
6521
|
if (isUpdated && !changes[input].isFirstChange()) {
|
|
6501
|
-
if (input === '
|
|
6502
|
-
// When the `
|
|
6503
|
-
// `ngOnChanges` hook, thus the `
|
|
6504
|
-
// `
|
|
6522
|
+
if (input === 'ngSrc') {
|
|
6523
|
+
// When the `ngSrc` input changes, we detect that only in the
|
|
6524
|
+
// `ngOnChanges` hook, thus the `ngSrc` is already set. We use
|
|
6525
|
+
// `ngSrc` in the error message, so we use a previous value, but
|
|
6505
6526
|
// not the updated one in it.
|
|
6506
|
-
dir = {
|
|
6527
|
+
dir = { ngSrc: changes[input].previousValue };
|
|
6507
6528
|
}
|
|
6508
6529
|
throw postInitInputChangeError(dir, input);
|
|
6509
6530
|
}
|
|
@@ -6516,7 +6537,7 @@ function assertGreaterThanZero(dir, inputValue, inputName) {
|
|
|
6516
6537
|
const validNumber = typeof inputValue === 'number' && inputValue > 0;
|
|
6517
6538
|
const validString = typeof inputValue === 'string' && /^\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;
|
|
6518
6539
|
if (!validNumber && !validString) {
|
|
6519
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6540
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \`${inputName}\` has an invalid value ` +
|
|
6520
6541
|
`(\`${inputValue}\`). To fix this, provide \`${inputName}\` ` +
|
|
6521
6542
|
`as a number greater than 0.`);
|
|
6522
6543
|
}
|
|
@@ -6551,7 +6572,7 @@ function assertNoImageDistortion(dir, img, renderer) {
|
|
|
6551
6572
|
const stylingDistortion = nonZeroRenderedDimensions &&
|
|
6552
6573
|
Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;
|
|
6553
6574
|
if (inaccurateDimensions) {
|
|
6554
|
-
console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6575
|
+
console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the image does not match ` +
|
|
6555
6576
|
`the aspect ratio indicated by the width and height attributes. ` +
|
|
6556
6577
|
`\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +
|
|
6557
6578
|
`(aspect-ratio: ${intrinsicAspectRatio}). \nSupplied width and height attributes: ` +
|
|
@@ -6559,7 +6580,7 @@ function assertNoImageDistortion(dir, img, renderer) {
|
|
|
6559
6580
|
`\nTo fix this, update the width and height attributes.`));
|
|
6560
6581
|
}
|
|
6561
6582
|
else if (stylingDistortion) {
|
|
6562
|
-
console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6583
|
+
console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the rendered image ` +
|
|
6563
6584
|
`does not match the image's intrinsic aspect ratio. ` +
|
|
6564
6585
|
`\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +
|
|
6565
6586
|
`(aspect-ratio: ${intrinsicAspectRatio}). \nRendered image size: ` +
|
|
@@ -6570,21 +6591,21 @@ function assertNoImageDistortion(dir, img, renderer) {
|
|
|
6570
6591
|
`adding "height: auto" or "width: auto" to the image styling will fix ` +
|
|
6571
6592
|
`this issue.`));
|
|
6572
6593
|
}
|
|
6573
|
-
else if (!dir.
|
|
6574
|
-
// If `
|
|
6594
|
+
else if (!dir.ngSrcset && nonZeroRenderedDimensions) {
|
|
6595
|
+
// If `ngSrcset` hasn't been set, sanity check the intrinsic size.
|
|
6575
6596
|
const recommendedWidth = RECOMMENDED_SRCSET_DENSITY_CAP * renderedWidth;
|
|
6576
6597
|
const recommendedHeight = RECOMMENDED_SRCSET_DENSITY_CAP * renderedHeight;
|
|
6577
6598
|
const oversizedWidth = (intrinsicWidth - recommendedWidth) >= OVERSIZED_IMAGE_TOLERANCE;
|
|
6578
6599
|
const oversizedHeight = (intrinsicHeight - recommendedHeight) >= OVERSIZED_IMAGE_TOLERANCE;
|
|
6579
6600
|
if (oversizedWidth || oversizedHeight) {
|
|
6580
|
-
console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.
|
|
6601
|
+
console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.ngSrc)} the intrinsic image is significantly ` +
|
|
6581
6602
|
`larger than necessary. ` +
|
|
6582
6603
|
`\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +
|
|
6583
6604
|
`\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +
|
|
6584
6605
|
`\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +
|
|
6585
6606
|
`\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +
|
|
6586
6607
|
`${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` +
|
|
6587
|
-
`or consider using the "
|
|
6608
|
+
`or consider using the "ngSrcset" and "sizes" attributes.`));
|
|
6588
6609
|
}
|
|
6589
6610
|
}
|
|
6590
6611
|
});
|
|
@@ -6599,7 +6620,7 @@ function assertNonEmptyWidthAndHeight(dir) {
|
|
|
6599
6620
|
if (dir.height === undefined)
|
|
6600
6621
|
missingAttributes.push('height');
|
|
6601
6622
|
if (missingAttributes.length > 0) {
|
|
6602
|
-
throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.
|
|
6623
|
+
throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.ngSrc)} these required attributes ` +
|
|
6603
6624
|
`are missing: ${missingAttributes.map(attr => `"${attr}"`).join(', ')}. ` +
|
|
6604
6625
|
`Including "width" and "height" attributes will prevent image-related layout shifts. ` +
|
|
6605
6626
|
`To fix this, include "width" and "height" attributes on the image tag.`);
|
|
@@ -6611,7 +6632,7 @@ function assertNonEmptyWidthAndHeight(dir) {
|
|
|
6611
6632
|
*/
|
|
6612
6633
|
function assertValidLoadingInput(dir) {
|
|
6613
6634
|
if (dir.loading && dir.priority) {
|
|
6614
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6635
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \`loading\` attribute ` +
|
|
6615
6636
|
`was used on an image that was marked "priority". ` +
|
|
6616
6637
|
`Setting \`loading\` on priority images is not allowed ` +
|
|
6617
6638
|
`because these images will always be eagerly loaded. ` +
|
|
@@ -6619,7 +6640,7 @@ function assertValidLoadingInput(dir) {
|
|
|
6619
6640
|
}
|
|
6620
6641
|
const validInputs = ['auto', 'eager', 'lazy'];
|
|
6621
6642
|
if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {
|
|
6622
|
-
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.
|
|
6643
|
+
throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \`loading\` attribute ` +
|
|
6623
6644
|
`has an invalid value (\`${dir.loading}\`). ` +
|
|
6624
6645
|
`To fix this, provide a valid value ("lazy", "eager", or "auto").`);
|
|
6625
6646
|
}
|
|
@@ -6662,5 +6683,5 @@ function assertValidLoadingInput(dir) {
|
|
|
6662
6683
|
* Generated bundle index. Do not edit.
|
|
6663
6684
|
*/
|
|
6664
6685
|
|
|
6665
|
-
export { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };
|
|
6686
|
+
export { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };
|
|
6666
6687
|
//# sourceMappingURL=common.mjs.map
|