@ethlete/cdk 3.20.1 → 3.21.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 3.21.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1034](https://github.com/ethlete-io/ethdk/pull/1034) [`1d69f6c1`](https://github.com/ethlete-io/ethdk/commit/1d69f6c129eb4457a5089083813fc3ff6e65bd41) Thanks [@Marc-BrauneDigital](https://github.com/Marc-BrauneDigital)! - Sources and default source now accept string as well as PictureSource
8
+ Add normalizeSourcePipe
9
+
3
10
  ## 3.20.1
4
11
 
5
12
  ### Patch Changes
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
46
46
  }], sizes: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS1kYXRhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3BpY3R1cmUtZGF0YS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25FLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFLRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdwQixhQUFRLEdBQWdCLElBQUksQ0FBQztRQUc3QixnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFHaEMsb0JBQWUsR0FBZ0IsSUFBSSxDQUFDO1FBR3BDLGlCQUFZLEdBQWdCLElBQUksQ0FBQztRQUdqQyxlQUFVLEdBQXlCLElBQUksQ0FBQztRQUd4QyxRQUFHLEdBQWtCLElBQUksQ0FBQztRQUcxQixlQUFVLEdBQWtCLElBQUksQ0FBQztRQUdqQyxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUc1QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUc3QixVQUFLLEdBQWtCLElBQUksQ0FBQztLQUM3Qjs4R0FqQ1ksb0JBQW9CO2tHQUFwQixvQkFBb0IsNEVBQ1gsZ0JBQWdCOzsyRkFEekIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQaWN0dXJlRGF0YURpcmVjdGl2ZSB7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBoYXNQcmlvcml0eSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGltZ0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlndXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwaWN0dXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBkZWZhdWx0U3JjOiBQaWN0dXJlU291cmNlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgYWx0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB3aWR0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgaGVpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzaXplczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS1kYXRhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3BpY3R1cmUtZGF0YS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25FLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFLRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdwQixhQUFRLEdBQWdCLElBQUksQ0FBQztRQUc3QixnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFHaEMsb0JBQWUsR0FBZ0IsSUFBSSxDQUFDO1FBR3BDLGlCQUFZLEdBQWdCLElBQUksQ0FBQztRQUdqQyxlQUFVLEdBQWtDLElBQUksQ0FBQztRQUdqRCxRQUFHLEdBQWtCLElBQUksQ0FBQztRQUcxQixlQUFVLEdBQWtCLElBQUksQ0FBQztRQUdqQyxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUc1QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUc3QixVQUFLLEdBQWtCLElBQUksQ0FBQztLQUM3Qjs4R0FqQ1ksb0JBQW9CO2tHQUFwQixvQkFBb0IsNEVBQ1gsZ0JBQWdCOzsyRkFEekIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQaWN0dXJlRGF0YURpcmVjdGl2ZSB7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBoYXNQcmlvcml0eSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGltZ0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlndXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwaWN0dXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBkZWZhdWx0U3JjOiBQaWN0dXJlU291cmNlIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgYWx0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB3aWR0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgaGVpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzaXplczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG59XG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import { NgClass, NgForOf, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject, isDevMode, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { LetDirective } from '@ethlete/core';
4
4
  import { PictureDataDirective } from './picture-data.directive';
5
5
  import { IMAGE_CONFIG_TOKEN } from './picture.utils';
6
+ import { NormalizeSourcePipe } from './pipes';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./picture-data.directive";
8
9
  export class PictureComponent {
@@ -13,9 +14,6 @@ export class PictureComponent {
13
14
  this.trackBySrc = (_, item) => item.srcset;
14
15
  }
15
16
  combineWithConfig(src) {
16
- if (isDevMode() && src.type === '') {
17
- console.warn(`The type attribute is missing for the following source`, src.srcset, this);
18
- }
19
17
  if (!this.config?.baseUrl || src.srcset.startsWith('http')) {
20
18
  return src;
21
19
  }
@@ -26,11 +24,11 @@ export class PictureComponent {
26
24
  };
27
25
  }
28
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: "sources" }, host: { classAttribute: "et-picture" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass", "defaultSrc", "defaultSrc", "alt", "alt", "figcaption", "figcaption", "width", "width", "height", "height", "sizes", "sizes"] }], ngImport: i0, template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: "sources" }, host: { classAttribute: "et-picture" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass", "defaultSrc", "defaultSrc", "alt", "alt", "figcaption", "figcaption", "width", "width", "height", "height", "sizes", "sizes"] }], ngImport: i0, template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: NormalizeSourcePipe, name: "normalizeSource" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
28
  }
31
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PictureComponent, decorators: [{
32
30
  type: Component,
33
- args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf, NgClass, NgIf, LetDirective], host: {
31
+ args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf, NgClass, NgIf, LetDirective, NormalizeSourcePipe], host: {
34
32
  class: 'et-picture',
35
33
  }, hostDirectives: [
36
34
  {
@@ -49,8 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
49
47
  'sizes',
50
48
  ],
51
49
  },
52
- ], template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n" }]
50
+ ], template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n" }]
53
51
  }], propDecorators: { sources: [{
54
52
  type: Input
55
53
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQStCckQsTUFBTSxPQUFPLGdCQUFnQjtJQTdCN0I7UUE4QnFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDM0MsV0FBTSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRzNFLFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBRXBCLGVBQVUsR0FBbUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBa0JqRjtJQWhCVyxpQkFBaUIsQ0FBQyxHQUFrQjtRQUM1QyxJQUFJLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0RBQXdELEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMxRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxRCxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVGLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRTtTQUM3RSxDQUFDO0lBQ0osQ0FBQzs4R0F4QlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMGVDNUM3QixndkNBZ0NBLDRDRFhZLE9BQU8sbUhBQUUsT0FBTyxvRkFBRSxJQUFJLDZGQUFFLFlBQVk7OzJGQXVCbkMsZ0JBQWdCO2tCQTdCNUIsU0FBUzsrQkFDRSxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixrQkFDZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUU7Z0NBQ04sVUFBVTtnQ0FDVixhQUFhO2dDQUNiLGFBQWE7Z0NBQ2IsY0FBYztnQ0FDZCxpQkFBaUI7Z0NBQ2pCLFlBQVk7Z0NBQ1osS0FBSztnQ0FDTCxZQUFZO2dDQUNaLE9BQU87Z0NBQ1AsUUFBUTtnQ0FDUixPQUFPOzZCQUNSO3lCQUNGO3FCQUNGOzhCQU9ELE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUGljdHVyZURhdGFEaXJlY3RpdmUgfSBmcm9tICcuL3BpY3R1cmUtZGF0YS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGljdHVyZVNvdXJjZSB9IGZyb20gJy4vcGljdHVyZS5jb21wb25lbnQudHlwZXMnO1xuaW1wb3J0IHsgSU1BR0VfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi9waWN0dXJlLnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtcGljdHVyZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9waWN0dXJlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0Zvck9mLCBOZ0NsYXNzLCBOZ0lmLCBMZXREaXJlY3RpdmVdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1waWN0dXJlJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFBpY3R1cmVEYXRhRGlyZWN0aXZlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICdpbWdDbGFzcycsXG4gICAgICAgICdoYXNQcmlvcml0eScsXG4gICAgICAgICdmaWd1cmVDbGFzcycsXG4gICAgICAgICdwaWN0dXJlQ2xhc3MnLFxuICAgICAgICAnZmlnY2FwdGlvbkNsYXNzJyxcbiAgICAgICAgJ2RlZmF1bHRTcmMnLFxuICAgICAgICAnYWx0JyxcbiAgICAgICAgJ2ZpZ2NhcHRpb24nLFxuICAgICAgICAnd2lkdGgnLFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgJ3NpemVzJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGljdHVyZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBwaWN0dXJlRGF0YSA9IGluamVjdChQaWN0dXJlRGF0YURpcmVjdGl2ZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3QoSU1BR0VfQ09ORklHX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBJbnB1dCgpXG4gIHNvdXJjZXM6IFBpY3R1cmVTb3VyY2VbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCB0cmFja0J5U3JjOiBUcmFja0J5RnVuY3Rpb248UGljdHVyZVNvdXJjZT4gPSAoXywgaXRlbSkgPT4gaXRlbS5zcmNzZXQ7XG5cbiAgcHJvdGVjdGVkIGNvbWJpbmVXaXRoQ29uZmlnKHNyYzogUGljdHVyZVNvdXJjZSkge1xuICAgIGlmIChpc0Rldk1vZGUoKSAmJiBzcmMudHlwZSA9PT0gJycpIHtcbiAgICAgIGNvbnNvbGUud2FybihgVGhlIHR5cGUgYXR0cmlidXRlIGlzIG1pc3NpbmcgZm9yIHRoZSBmb2xsb3dpbmcgc291cmNlYCwgc3JjLnNyY3NldCwgdGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNvbmZpZz8uYmFzZVVybCB8fCBzcmMuc3Jjc2V0LnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG5cbiAgICBjb25zdCBzaG91bGRBcHBlbmRTbGFzaCA9ICF0aGlzLmNvbmZpZy5iYXNlVXJsLmVuZHNXaXRoKCcvJykgJiYgIXNyYy5zcmNzZXQuc3RhcnRzV2l0aCgnLycpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNyYyxcbiAgICAgIHNyY3NldDogYCR7dGhpcy5jb25maWcuYmFzZVVybH0ke3Nob3VsZEFwcGVuZFNsYXNoID8gJy8nIDogJyd9JHtzcmMuc3Jjc2V0fWAsXG4gICAgfTtcbiAgfVxufVxuIiwiPGZpZ3VyZSBbbmdDbGFzc109XCJwaWN0dXJlRGF0YS5maWd1cmVDbGFzc1wiIGNsYXNzPVwiZXQtcGljdHVyZS1maWd1cmVcIj5cbiAgPHBpY3R1cmUgW25nQ2xhc3NdPVwicGljdHVyZURhdGEucGljdHVyZUNsYXNzXCIgY2xhc3M9XCJldC1waWN0dXJlLXBpY3R1cmVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzb3VyY2Ugb2Ygc291cmNlczsgdHJhY2tCeTogdHJhY2tCeVNyY1wiPlxuICAgICAgPHNvdXJjZVxuICAgICAgICAqZXRMZXQ9XCJjb21iaW5lV2l0aENvbmZpZyhzb3VyY2UpIGFzIHNcIlxuICAgICAgICBbdHlwZV09XCJzLnR5cGVcIlxuICAgICAgICBbYXR0ci5zcmNzZXRdPVwicy5zcmNzZXRcIlxuICAgICAgICBbYXR0ci5zaXplc109XCJwaWN0dXJlRGF0YS5zaXplc1wiXG4gICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBpY3R1cmVEYXRhLmRlZmF1bHRTcmMgYXMgc291cmNlXCI+XG4gICAgICA8aW1nXG4gICAgICAgICpldExldD1cImNvbWJpbmVXaXRoQ29uZmlnKHNvdXJjZSkgYXMgc1wiXG4gICAgICAgIFthdHRyLmxvYWRpbmddPVwicGljdHVyZURhdGEuaGFzUHJpb3JpdHkgPyAnZWFnZXInIDogJ2xhenknXCJcbiAgICAgICAgW2F0dHIuZmV0Y2hwcmlvcml0eV09XCJwaWN0dXJlRGF0YS5oYXNQcmlvcml0eSA/ICdoaWdoJyA6ICdhdXRvJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInBpY3R1cmVEYXRhLmltZ0NsYXNzXCJcbiAgICAgICAgW2F0dHIuc3Jjc2V0XT1cInMuc3Jjc2V0XCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJzLnR5cGVcIlxuICAgICAgICBbYXR0ci5hbHRdPVwicGljdHVyZURhdGEuYWx0XCJcbiAgICAgICAgW2F0dHIud2lkdGhdPVwicGljdHVyZURhdGEud2lkdGhcIlxuICAgICAgICBbYXR0ci5oZWlnaHRdPVwicGljdHVyZURhdGEuaGVpZ2h0XCJcbiAgICAgICAgW2F0dHIuc2l6ZXNdPVwicGljdHVyZURhdGEuc2l6ZXNcIlxuICAgICAgICBjbGFzcz1cImV0LXBpY3R1cmUtaW1nXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvcGljdHVyZT5cblxuICA8ZmlnY2FwdGlvbiAqbmdJZj1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25cIiBbbmdDbGFzc109XCJwaWN0dXJlRGF0YS5maWdjYXB0aW9uQ2xhc3NcIiBjbGFzcz1cImV0LXBpY3R1cmUtZmlnY2FwdGlvblwiPlxuICAgIHt7IHBpY3R1cmVEYXRhLmZpZ2NhcHRpb24gfX1cbiAgPC9maWdjYXB0aW9uPlxuPC9maWd1cmU+XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBK0I5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBN0I3QjtRQThCcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFHM0UsWUFBTyxHQUFrQyxFQUFFLENBQUM7UUFFbEMsZUFBVSxHQUFtQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7S0FjakY7SUFaVyxpQkFBaUIsQ0FBQyxHQUFrQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUQsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1RixPQUFPO1lBQ0wsR0FBRyxHQUFHO1lBQ04sTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUU7U0FDN0UsQ0FBQztJQUNKLENBQUM7OEdBcEJVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDBlQ3JDN0Isb3hDQWdDQSw0Q0RsQlksT0FBTyxtSEFBRSxPQUFPLG9GQUFFLElBQUksNkZBQUUsWUFBWSxrRUFBRSxtQkFBbUI7OzJGQXVCeEQsZ0JBQWdCO2tCQTdCNUIsU0FBUzsrQkFDRSxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixDQUFDLFFBQzlEO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixrQkFDZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUU7Z0NBQ04sVUFBVTtnQ0FDVixhQUFhO2dDQUNiLGFBQWE7Z0NBQ2IsY0FBYztnQ0FDZCxpQkFBaUI7Z0NBQ2pCLFlBQVk7Z0NBQ1osS0FBSztnQ0FDTCxZQUFZO2dDQUNaLE9BQU87Z0NBQ1AsUUFBUTtnQ0FDUixPQUFPOzZCQUNSO3lCQUNGO3FCQUNGOzhCQU9ELE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlRGF0YURpcmVjdGl2ZSB9IGZyb20gJy4vcGljdHVyZS1kYXRhLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5pbXBvcnQgeyBJTUFHRV9DT05GSUdfVE9LRU4gfSBmcm9tICcuL3BpY3R1cmUudXRpbHMnO1xuaW1wb3J0IHsgTm9ybWFsaXplU291cmNlUGlwZSB9IGZyb20gJy4vcGlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1waWN0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yT2YsIE5nQ2xhc3MsIE5nSWYsIExldERpcmVjdGl2ZSwgTm9ybWFsaXplU291cmNlUGlwZV0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXBpY3R1cmUnLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogUGljdHVyZURhdGFEaXJlY3RpdmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ2ltZ0NsYXNzJyxcbiAgICAgICAgJ2hhc1ByaW9yaXR5JyxcbiAgICAgICAgJ2ZpZ3VyZUNsYXNzJyxcbiAgICAgICAgJ3BpY3R1cmVDbGFzcycsXG4gICAgICAgICdmaWdjYXB0aW9uQ2xhc3MnLFxuICAgICAgICAnZGVmYXVsdFNyYycsXG4gICAgICAgICdhbHQnLFxuICAgICAgICAnZmlnY2FwdGlvbicsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgICdoZWlnaHQnLFxuICAgICAgICAnc2l6ZXMnLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaWN0dXJlQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBpY3R1cmVEYXRhID0gaW5qZWN0KFBpY3R1cmVEYXRhRGlyZWN0aXZlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChJTUFHRV9DT05GSUdfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgc291cmNlczogQXJyYXk8UGljdHVyZVNvdXJjZSB8IHN0cmluZz4gPSBbXTtcblxuICBwcm90ZWN0ZWQgdHJhY2tCeVNyYzogVHJhY2tCeUZ1bmN0aW9uPFBpY3R1cmVTb3VyY2U+ID0gKF8sIGl0ZW0pID0+IGl0ZW0uc3Jjc2V0O1xuXG4gIHByb3RlY3RlZCBjb21iaW5lV2l0aENvbmZpZyhzcmM6IFBpY3R1cmVTb3VyY2UpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5iYXNlVXJsIHx8IHNyYy5zcmNzZXQuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICByZXR1cm4gc3JjO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZEFwcGVuZFNsYXNoID0gIXRoaXMuY29uZmlnLmJhc2VVcmwuZW5kc1dpdGgoJy8nKSAmJiAhc3JjLnNyY3NldC5zdGFydHNXaXRoKCcvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3JjLFxuICAgICAgc3Jjc2V0OiBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfSR7c2hvdWxkQXBwZW5kU2xhc2ggPyAnLycgOiAnJ30ke3NyYy5zcmNzZXR9YCxcbiAgICB9O1xuICB9XG59XG4iLCI8ZmlndXJlIFtuZ0NsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ3VyZUNsYXNzXCIgY2xhc3M9XCJldC1waWN0dXJlLWZpZ3VyZVwiPlxuICA8cGljdHVyZSBbbmdDbGFzc109XCJwaWN0dXJlRGF0YS5waWN0dXJlQ2xhc3NcIiBjbGFzcz1cImV0LXBpY3R1cmUtcGljdHVyZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBzb3VyY2VzOyB0cmFja0J5OiB0cmFja0J5U3JjXCI+XG4gICAgICA8c291cmNlXG4gICAgICAgICpldExldD1cImNvbWJpbmVXaXRoQ29uZmlnKHNvdXJjZSB8IG5vcm1hbGl6ZVNvdXJjZSkgYXMgc1wiXG4gICAgICAgIFt0eXBlXT1cInMudHlwZVwiXG4gICAgICAgIFthdHRyLnNyY3NldF09XCJzLnNyY3NldFwiXG4gICAgICAgIFthdHRyLnNpemVzXT1cInBpY3R1cmVEYXRhLnNpemVzXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGljdHVyZURhdGEuZGVmYXVsdFNyYyBhcyBzb3VyY2VcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgKmV0TGV0PVwiY29tYmluZVdpdGhDb25maWcoc291cmNlIHwgbm9ybWFsaXplU291cmNlKSBhcyBzXCJcbiAgICAgICAgW2F0dHIubG9hZGluZ109XCJwaWN0dXJlRGF0YS5oYXNQcmlvcml0eSA/ICdlYWdlcicgOiAnbGF6eSdcIlxuICAgICAgICBbYXR0ci5mZXRjaHByaW9yaXR5XT1cInBpY3R1cmVEYXRhLmhhc1ByaW9yaXR5ID8gJ2hpZ2gnIDogJ2F1dG8nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwicGljdHVyZURhdGEuaW1nQ2xhc3NcIlxuICAgICAgICBbYXR0ci5zcmNzZXRdPVwicy5zcmNzZXRcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInMudHlwZVwiXG4gICAgICAgIFthdHRyLmFsdF09XCJwaWN0dXJlRGF0YS5hbHRcIlxuICAgICAgICBbYXR0ci53aWR0aF09XCJwaWN0dXJlRGF0YS53aWR0aFwiXG4gICAgICAgIFthdHRyLmhlaWdodF09XCJwaWN0dXJlRGF0YS5oZWlnaHRcIlxuICAgICAgICBbYXR0ci5zaXplc109XCJwaWN0dXJlRGF0YS5zaXplc1wiXG4gICAgICAgIGNsYXNzPVwiZXQtcGljdHVyZS1pbWdcIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9waWN0dXJlPlxuXG4gIDxmaWdjYXB0aW9uICpuZ0lmPVwicGljdHVyZURhdGEuZmlnY2FwdGlvblwiIFtuZ0NsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25DbGFzc1wiIGNsYXNzPVwiZXQtcGljdHVyZS1maWdjYXB0aW9uXCI+XG4gICAge3sgcGljdHVyZURhdGEuZmlnY2FwdGlvbiB9fVxuICA8L2ZpZ2NhcHRpb24+XG48L2ZpZ3VyZT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQaWN0dXJlU291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBtaW1lIHR5cGUgb2YgdGhlIGltYWdlLlxuICAgKiBAZXhhbXBsZSBgaW1hZ2UvanBlZ2BcbiAgICovXG4gIHR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBzZXQgb2YgdGhlIGltYWdlLiBDYW4gYmUgZWl0aGVyIGEgc2luZ2xlIFVSTCBvciBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIFVSTHMuXG4gICAqIEBleGFtcGxlIGBodHRwczovL2V4YW1wbGUuY29tL2ltYWdlLmpwZ2BcbiAgICogQGV4YW1wbGUgYGh0dHBzOi8vZXhhbXBsZS5jb20vaW1hZ2UuanBnLCBodHRwczovL2V4YW1wbGUuY29tL2ltYWdlQDJ4LmpwZ2BcbiAgICovXG4gIHNyY3NldDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY3R1cmVDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQaWN0dXJlU291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBtaW1lIHR5cGUgb2YgdGhlIGltYWdlLlxuICAgKiBAZXhhbXBsZSBgaW1hZ2UvanBlZ2BcbiAgICovXG4gIHR5cGU6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2Ugc2V0IG9mIHRoZSBpbWFnZS4gQ2FuIGJlIGVpdGhlciBhIHNpbmdsZSBVUkwgb3IgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBVUkxzLlxuICAgKiBAZXhhbXBsZSBgaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZS5qcGdgXG4gICAqIEBleGFtcGxlIGBodHRwczovL2V4YW1wbGUuY29tL2ltYWdlLmpwZywgaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZUAyeC5qcGdgXG4gICAqL1xuICBzcmNzZXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWN0dXJlQ29uZmlnIHtcbiAgYmFzZVVybD86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './normalize-source';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtc291cmNlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './normalize-source.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waXBlcy9ub3JtYWxpemUtc291cmNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZS1zb3VyY2UucGlwZSc7XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { normalizeSource } from './normalize-source.util';
3
+ import * as i0 from "@angular/core";
4
+ export class NormalizeSourcePipe {
5
+ constructor() {
6
+ this.transform = normalizeSource;
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, isStandalone: true, name: "normalizeSource" }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'normalizeSource',
15
+ standalone: true,
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXNvdXJjZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BpY3R1cmUvcGlwZXMvbm9ybWFsaXplLXNvdXJjZS9ub3JtYWxpemUtc291cmNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBS0UsY0FBUyxHQUFHLGVBQWUsQ0FBQztLQUM3Qjs4R0FGWSxtQkFBbUI7NEdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBub3JtYWxpemVTb3VyY2UgfSBmcm9tICcuL25vcm1hbGl6ZS1zb3VyY2UudXRpbCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ25vcm1hbGl6ZVNvdXJjZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vcm1hbGl6ZVNvdXJjZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtID0gbm9ybWFsaXplU291cmNlO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { inferMimeType } from '@ethlete/core';
2
+ export const normalizeSource = (source) => {
3
+ if (typeof source === 'string') {
4
+ return { type: inferMimeType(source), srcset: source };
5
+ }
6
+ else {
7
+ const mimeType = source.type && source.type !== '' ? source.type : inferMimeType(source.srcset);
8
+ return { type: mimeType, srcset: source.srcset };
9
+ }
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXNvdXJjZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BpY3R1cmUvcGlwZXMvbm9ybWFsaXplLXNvdXJjZS9ub3JtYWxpemUtc291cmNlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUE4QixFQUFFLEVBQUU7SUFDaEUsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBbUIsQ0FBQztLQUN6RTtTQUFNO1FBQ0wsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBbUIsQ0FBQztLQUNuRTtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluZmVyTWltZVR5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFBpY3R1cmVTb3VyY2UgfSBmcm9tICcuLi8uLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVTb3VyY2UgPSAoc291cmNlOiBzdHJpbmcgfCBQaWN0dXJlU291cmNlKSA9PiB7XG4gIGlmICh0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7IHR5cGU6IGluZmVyTWltZVR5cGUoc291cmNlKSwgc3Jjc2V0OiBzb3VyY2UgfSBhcyBQaWN0dXJlU291cmNlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1pbWVUeXBlID0gc291cmNlLnR5cGUgJiYgc291cmNlLnR5cGUgIT09ICcnID8gc291cmNlLnR5cGUgOiBpbmZlck1pbWVUeXBlKHNvdXJjZS5zcmNzZXQpO1xuICAgIHJldHVybiB7IHR5cGU6IG1pbWVUeXBlLCBzcmNzZXQ6IHNvdXJjZS5zcmNzZXQgfSBhcyBQaWN0dXJlU291cmNlO1xuICB9XG59O1xuIl19
@@ -2,9 +2,9 @@ import * as i1 from '@angular/cdk/portal';
2
2
  import { CdkPortal, PortalModule, ComponentPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
3
3
  import { AsyncPipe, NgIf, NgClass, NgTemplateOutlet, NgForOf, NgFor, NgComponentOutlet, DOCUMENT, JsonPipe, formatDate } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, computed, signal, Optional, Inject, Injectable, SkipSelf, HostListener, ViewContainerRef, EventEmitter, NgZone, isDevMode, Output, NgModule, ChangeDetectorRef, ViewChild, runInInjectionContext, TemplateRef, forwardRef, LOCALE_ID, numberAttribute, ViewChildren, Renderer2, Attribute } from '@angular/core';
5
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, computed, signal, Optional, Inject, Injectable, SkipSelf, HostListener, ViewContainerRef, EventEmitter, NgZone, isDevMode, Output, NgModule, ChangeDetectorRef, ViewChild, runInInjectionContext, TemplateRef, forwardRef, LOCALE_ID, numberAttribute, ViewChildren, Pipe, Renderer2, Attribute } from '@angular/core';
6
6
  import * as i1$2 from '@ethlete/core';
7
- import { LetDirective, createDestroy, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, signalHostAttributes, signalHostClasses, AnimatedIfDirective, AnimatedLifecycleDirective, SmartBlockScrollStrategy, RouterStateService, ANIMATED_LIFECYCLE_TOKEN, nextFrame, elementCanScroll, equal, ViewportService, AnimatedOverlayDirective, ClickObserverService, FocusVisibleService, cloneFormGroup, getFormGroupValue, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, switchQueryListChanges, signalAttributes, ResizeObserverService, createFlipAnimation, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, ClickOutsideDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, getElementVisibleStates, IS_ACTIVE_ELEMENT, IS_ELEMENT, CursorDragScrollDirective, ObserveScrollStateDirective, IsElementDirective, IsActiveElementDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
7
+ import { LetDirective, createDestroy, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, signalHostAttributes, signalHostClasses, AnimatedIfDirective, AnimatedLifecycleDirective, SmartBlockScrollStrategy, RouterStateService, ANIMATED_LIFECYCLE_TOKEN, nextFrame, elementCanScroll, equal, ViewportService, AnimatedOverlayDirective, ClickObserverService, FocusVisibleService, cloneFormGroup, getFormGroupValue, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, switchQueryListChanges, signalAttributes, ResizeObserverService, createFlipAnimation, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, ClickOutsideDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, inferMimeType, getElementVisibleStates, IS_ACTIVE_ELEMENT, IS_ELEMENT, CursorDragScrollDirective, ObserveScrollStateDirective, IsElementDirective, IsActiveElementDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
8
8
  import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, Subject, filter, take, merge, skipUntil, defer, fromEvent, partition, debounceTime as debounceTime$1, Observable, distinctUntilChanged as distinctUntilChanged$1, withLatestFrom, skipWhile, catchError, throwError, firstValueFrom, timer, Subscription } from 'rxjs';
9
9
  import { trigger, state, style, transition, animate } from '@angular/animations';
10
10
  import { __decorate, __metadata } from 'tslib';
@@ -11457,6 +11457,31 @@ const provideImageConfig = (config = {}) => {
11457
11457
  };
11458
11458
  };
11459
11459
 
11460
+ const normalizeSource = (source) => {
11461
+ if (typeof source === 'string') {
11462
+ return { type: inferMimeType(source), srcset: source };
11463
+ }
11464
+ else {
11465
+ const mimeType = source.type && source.type !== '' ? source.type : inferMimeType(source.srcset);
11466
+ return { type: mimeType, srcset: source.srcset };
11467
+ }
11468
+ };
11469
+
11470
+ class NormalizeSourcePipe {
11471
+ constructor() {
11472
+ this.transform = normalizeSource;
11473
+ }
11474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11475
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, isStandalone: true, name: "normalizeSource" }); }
11476
+ }
11477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, decorators: [{
11478
+ type: Pipe,
11479
+ args: [{
11480
+ name: 'normalizeSource',
11481
+ standalone: true,
11482
+ }]
11483
+ }] });
11484
+
11460
11485
  class PictureComponent {
11461
11486
  constructor() {
11462
11487
  this.pictureData = inject(PictureDataDirective);
@@ -11465,9 +11490,6 @@ class PictureComponent {
11465
11490
  this.trackBySrc = (_, item) => item.srcset;
11466
11491
  }
11467
11492
  combineWithConfig(src) {
11468
- if (isDevMode() && src.type === '') {
11469
- console.warn(`The type attribute is missing for the following source`, src.srcset, this);
11470
- }
11471
11493
  if (!this.config?.baseUrl || src.srcset.startsWith('http')) {
11472
11494
  return src;
11473
11495
  }
@@ -11478,11 +11500,11 @@ class PictureComponent {
11478
11500
  };
11479
11501
  }
11480
11502
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11481
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: "sources" }, host: { classAttribute: "et-picture" }, hostDirectives: [{ directive: PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass", "defaultSrc", "defaultSrc", "alt", "alt", "figcaption", "figcaption", "width", "width", "height", "height", "sizes", "sizes"] }], ngImport: i0, template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11503
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: "sources" }, host: { classAttribute: "et-picture" }, hostDirectives: [{ directive: PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass", "defaultSrc", "defaultSrc", "alt", "alt", "figcaption", "figcaption", "width", "width", "height", "height", "sizes", "sizes"] }], ngImport: i0, template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: NormalizeSourcePipe, name: "normalizeSource" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11482
11504
  }
11483
11505
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PictureComponent, decorators: [{
11484
11506
  type: Component,
11485
- args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf, NgClass, NgIf, LetDirective], host: {
11507
+ args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf, NgClass, NgIf, LetDirective, NormalizeSourcePipe], host: {
11486
11508
  class: 'et-picture',
11487
11509
  }, hostDirectives: [
11488
11510
  {
@@ -11501,7 +11523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
11501
11523
  'sizes',
11502
11524
  ],
11503
11525
  },
11504
- ], template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n" }]
11526
+ ], template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n" }]
11505
11527
  }], propDecorators: { sources: [{
11506
11528
  type: Input
11507
11529
  }] } });