@ethlete/contentful 2.0.3 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { NgClass, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
1
+ import { NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ContentfulAudioComponent {
@@ -29,28 +29,32 @@ export class ContentfulAudioComponent {
29
29
  this.data = this._richTextData;
30
30
  }
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
34
- <figure *ngIf="data" [ngClass]="figureClass">
35
- <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
36
- <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
37
- </figure>
38
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.2", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
34
+ @if (data) {
35
+ <figure [ngClass]="figureClass">
36
+ <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
37
+ <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
38
+ </figure>
39
+ }
40
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
41
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
41
43
  type: Component,
42
44
  args: [{
43
45
  selector: 'et-contentful-audio',
44
46
  template: `
45
- <figure *ngIf="data" [ngClass]="figureClass">
46
- <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
47
- <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
48
- </figure>
47
+ @if (data) {
48
+ <figure [ngClass]="figureClass">
49
+ <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
50
+ <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
51
+ </figure>
52
+ }
49
53
  `,
50
54
  changeDetection: ChangeDetectionStrategy.OnPush,
51
55
  encapsulation: ViewEncapsulation.None,
52
56
  standalone: true,
53
- imports: [NgIf, NgClass],
57
+ imports: [NgClass],
54
58
  }]
55
59
  }], propDecorators: { data: [{
56
60
  type: Input
@@ -61,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
61
65
  }], figcaptionClass: [{
62
66
  type: Input
63
67
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWUxRSxNQUFNLE9BQU8sd0JBQXdCO0lBYnJDO1FBY1Usa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBRy9CLGdCQUFXLEdBQWdCLElBQUksQ0FBQztRQUdoQyxvQkFBZSxHQUFnQixJQUFJLENBQUM7S0FPckM7SUFuQ0MsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxDQUFxQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFbEIsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVqRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6QixDQUFDO0lBWUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzsrR0FyQ1Usd0JBQXdCO21HQUF4Qix3QkFBd0IsbU1BWHpCOzs7OztHQUtULDREQUlTLElBQUksNkZBQUUsT0FBTzs7NEZBRVosd0JBQXdCO2tCQWJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7R0FLVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2lCQUN6Qjs4QkFLSyxJQUFJO3NCQURQLEtBQUs7Z0JBc0JOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1hdWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZpZ3VyZSAqbmdJZj1cImRhdGFcIiBbbmdDbGFzc109XCJmaWd1cmVDbGFzc1wiPlxuICAgICAgPGZpZ2NhcHRpb24gW25nQ2xhc3NdPVwiZmlnY2FwdGlvbkNsYXNzXCI+e3sgZGF0YS50aXRsZSB9fTwvZmlnY2FwdGlvbj5cbiAgICAgIDxhdWRpbyBbbmdDbGFzc109XCJhdWRpb0NsYXNzXCIgY29udHJvbHMgc3JjPVwie3sgZGF0YS51cmwgfX1cIj48L2F1ZGlvPlxuICAgIDwvZmlndXJlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsQXVkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUuc3RhcnRzV2l0aCgnYXVkaW8vJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiBhdWRpbycpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YTogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgYXVkaW9DbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpZ3VyZUNsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlnY2FwdGlvbkNsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JpY2hUZXh0RGF0YSAmJiAhdGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLl9yaWNoVGV4dERhdGE7XG4gICAgfVxuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBaUIxRSxNQUFNLE9BQU8sd0JBQXdCO0lBZnJDO1FBZ0JVLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixpQ0FBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBcUIvRixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxlQUFVLEdBQWdCLElBQUksQ0FBQztRQUcvQixnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFHaEMsb0JBQWUsR0FBZ0IsSUFBSSxDQUFDO0tBT3JDO0lBbkNDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQVlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7OEdBckNVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1NQWJ6Qjs7Ozs7OztHQU9ULDREQUlTLE9BQU87OzJGQUVOLHdCQUF3QjtrQkFmcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7R0FPVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ25COzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFzQk4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWF1ZGlvJyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGRhdGEpIHtcbiAgICAgIDxmaWd1cmUgW25nQ2xhc3NdPVwiZmlndXJlQ2xhc3NcIj5cbiAgICAgICAgPGZpZ2NhcHRpb24gW25nQ2xhc3NdPVwiZmlnY2FwdGlvbkNsYXNzXCI+e3sgZGF0YS50aXRsZSB9fTwvZmlnY2FwdGlvbj5cbiAgICAgICAgPGF1ZGlvIFtuZ0NsYXNzXT1cImF1ZGlvQ2xhc3NcIiBjb250cm9scyBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiPjwvYXVkaW8+XG4gICAgICA8L2ZpZ3VyZT5cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxBdWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQ+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodiAmJiAhdi5jb250ZW50VHlwZS5zdGFydHNXaXRoKCdhdWRpby8nKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgbm90IGFuIGF1ZGlvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YSA9IHYgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9kYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBhdWRpb0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlndXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { NgClass, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
1
+ import { NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ContentfulFileComponent {
@@ -24,30 +24,34 @@ export class ContentfulFileComponent {
24
24
  this.data = this._richTextData;
25
25
  }
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
29
- <a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
30
- {{ data.title }} ({{ data.size }} Bytes)
31
- </a>
32
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.2", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
29
+ @if (data) {
30
+ <a [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
31
+ {{ data.title }} ({{ data.size }} Bytes)
32
+ </a>
33
+ }
34
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
33
35
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulFileComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulFileComponent, decorators: [{
35
37
  type: Component,
36
38
  args: [{
37
39
  selector: 'et-contentful-file',
38
40
  template: `
39
- <a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
40
- {{ data.title }} ({{ data.size }} Bytes)
41
- </a>
41
+ @if (data) {
42
+ <a [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
43
+ {{ data.title }} ({{ data.size }} Bytes)
44
+ </a>
45
+ }
42
46
  `,
43
47
  changeDetection: ChangeDetectionStrategy.OnPush,
44
48
  encapsulation: ViewEncapsulation.None,
45
49
  standalone: true,
46
- imports: [NgIf, NgClass],
50
+ imports: [NgClass],
47
51
  }]
48
52
  }], propDecorators: { data: [{
49
53
  type: Input
50
54
  }], fileClass: [{
51
55
  type: Input
52
56
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWMxRSxNQUFNLE9BQU8sdUJBQXVCO0lBWnBDO1FBYVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFpQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO0tBTy9CO0lBekJDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDaEM7SUFDSCxDQUFDOytHQTNCVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnSUFWeEI7Ozs7R0FJVCw0REFJUyxJQUFJLDZGQUFFLE9BQU87OzRGQUVaLHVCQUF1QjtrQkFabkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2lCQUN6Qjs4QkFLSyxJQUFJO3NCQURQLEtBQUs7Z0JBa0JOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4uL3JpY2gtdGV4dC1yZW5kZXJlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtZmlsZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGEgKm5nSWY9XCJkYXRhXCIgW2hyZWZdPVwiZGF0YS51cmxcIiBbbmdDbGFzc109XCJmaWxlQ2xhc3NcIiBjbGFzcz1cInVuZGVybGluZVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAge3sgZGF0YS50aXRsZSB9fSAoe3sgZGF0YS5zaXplIH19IEJ5dGVzKVxuICAgIDwvYT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YSA9IHYgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9kYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWxlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBZ0IxRSxNQUFNLE9BQU8sdUJBQXVCO0lBZHBDO1FBZVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFpQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO0tBTy9CO0lBekJDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDaEM7SUFDSCxDQUFDOzhHQTNCVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixnSUFaeEI7Ozs7OztHQU1ULDREQUlTLE9BQU87OzJGQUVOLHVCQUF1QjtrQkFkbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7OztHQU1UO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbkI7OEJBS0ssSUFBSTtzQkFEUCxLQUFLO2dCQWtCTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWZpbGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoZGF0YSkge1xuICAgICAgPGEgW2hyZWZdPVwiZGF0YS51cmxcIiBbbmdDbGFzc109XCJmaWxlQ2xhc3NcIiBjbGFzcz1cInVuZGVybGluZVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICB7eyBkYXRhLnRpdGxlIH19ICh7eyBkYXRhLnNpemUgfX0gQnl0ZXMpXG4gICAgICA8L2E+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsRmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQ+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpbGVDbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { NgClass, NgIf, NgOptimizedImage } from '@angular/common';
1
+ import { NgClass, NgOptimizedImage } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation, inject, } from '@angular/core';
3
3
  import { PictureComponent, PictureDataDirective } from '@ethlete/cdk';
4
4
  import { isContentfulImage } from '../../utils';
@@ -71,8 +71,8 @@ export class ContentfulImageComponent {
71
71
  this.sources = this._data ? generateContentfulImageSources(this._data, this.srcsetSizes, this.backgroundColor) : [];
72
72
  this._cdr.markForCheck();
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { data: "data", sizes: "sizes", srcsetSizes: "srcsetSizes", backgroundColor: "backgroundColor" }, host: { classAttribute: "et-contentful-image" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass"] }], ngImport: i0, template: `
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { data: "data", sizes: "sizes", srcsetSizes: "srcsetSizes", backgroundColor: "backgroundColor" }, host: { classAttribute: "et-contentful-image" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass"] }], ngImport: i0, template: `
76
76
  <et-picture
77
77
  [imgClass]="pictureData.imgClass"
78
78
  [hasPriority]="pictureData.hasPriority"
@@ -89,7 +89,7 @@ export class ContentfulImageComponent {
89
89
  />
90
90
  `, isInline: true, dependencies: [{ kind: "component", type: PictureComponent, selector: "et-picture", inputs: ["sources"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulImageComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulImageComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{
95
95
  selector: 'et-contentful-image',
@@ -112,7 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
112
112
  changeDetection: ChangeDetectionStrategy.OnPush,
113
113
  encapsulation: ViewEncapsulation.None,
114
114
  standalone: true,
115
- imports: [NgIf, NgClass, NgOptimizedImage, PictureComponent],
115
+ imports: [NgClass, NgOptimizedImage, PictureComponent],
116
116
  hostDirectives: [
117
117
  {
118
118
  directive: PictureDataDirective,
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
133
133
  }], backgroundColor: [{
134
134
  type: Input
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFFckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsb0NBQW9DLEdBQ3JDLE1BQU0sb0NBQW9DLENBQUM7OztBQW1DNUMsTUFBTSxPQUFPLHdCQUF3QjtJQWpDckM7UUFrQ1Usa0JBQWEsR0FBRyxNQUFNLENBQW9DLGlDQUFpQyxFQUFFO1lBQ25HLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRWdCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckQsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBK0JsQyxVQUFLLEdBQTZDLElBQUksQ0FBQztRQVV2RCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBVXRCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBVTVCLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFFckMsWUFBTyxHQUFvQixFQUFFLENBQUM7S0Fh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QUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXBILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FqRlUsd0JBQXdCO21HQUF4Qix3QkFBd0Isd2NBL0J6Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsNERBSTBDLGdCQUFnQjs7NEZBWWhELHdCQUF3QjtrQkFqQ3BDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO29CQUM1RCxjQUFjLEVBQUU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLG9CQUFvQjs0QkFDL0IsdUVBQXVFOzRCQUN2RSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUM7eUJBQ3RGO3FCQUNGO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QjtpQkFDRjs4QkFVSyxJQUFJO3NCQURQLEtBQUs7Z0JBZ0NGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsZUFBZTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGljdHVyZUNvbXBvbmVudCwgUGljdHVyZURhdGFEaXJlY3RpdmUsIFBpY3R1cmVTb3VyY2UgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0LCBDb250ZW50ZnVsSW1hZ2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0NvbnRlbnRmdWxJbWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4uL3JpY2gtdGV4dC1yZW5kZXJlcic7XG5pbXBvcnQge1xuICBnZW5lcmF0ZUNvbnRlbnRmdWxJbWFnZVNvdXJjZXMsXG4gIGdlbmVyYXRlRGVmYXVsdENvbnRlbnRmdWxJbWFnZVNvdXJjZSxcbn0gZnJvbSAnLi9jb250ZW50ZnVsLWltYWdlLmNvbXBvbmVudC51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtaW1hZ2UnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxldC1waWN0dXJlXG4gICAgICBbaW1nQ2xhc3NdPVwicGljdHVyZURhdGEuaW1nQ2xhc3NcIlxuICAgICAgW2hhc1ByaW9yaXR5XT1cInBpY3R1cmVEYXRhLmhhc1ByaW9yaXR5XCJcbiAgICAgIFtmaWd1cmVDbGFzc109XCJwaWN0dXJlRGF0YS5maWd1cmVDbGFzc1wiXG4gICAgICBbcGljdHVyZUNsYXNzXT1cInBpY3R1cmVEYXRhLnBpY3R1cmVDbGFzc1wiXG4gICAgICBbZmlnY2FwdGlvbkNsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25DbGFzc1wiXG4gICAgICBbZGVmYXVsdFNyY109XCJwaWN0dXJlRGF0YS5kZWZhdWx0U3JjXCJcbiAgICAgIFthbHRdPVwicGljdHVyZURhdGEuYWx0XCJcbiAgICAgIFtmaWdjYXB0aW9uXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25cIlxuICAgICAgW3dpZHRoXT1cInBpY3R1cmVEYXRhLndpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwicGljdHVyZURhdGEuaGVpZ2h0XCJcbiAgICAgIFtzaXplc109XCJwaWN0dXJlRGF0YS5zaXplc1wiXG4gICAgICBbc291cmNlc109XCJzb3VyY2VzXCJcbiAgICAvPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE5nT3B0aW1pemVkSW1hZ2UsIFBpY3R1cmVDb21wb25lbnRdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogUGljdHVyZURhdGFEaXJlY3RpdmUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgICAgaW5wdXRzOiBbJ2ltZ0NsYXNzJywgJ2hhc1ByaW9yaXR5JywgJ2ZpZ3VyZUNsYXNzJywgJ3BpY3R1cmVDbGFzcycsICdmaWdjYXB0aW9uQ2xhc3MnXSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb250ZW50ZnVsLWltYWdlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfcmljaFRleHREYXRhID0gaW5qZWN0PENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZT4oUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwaWN0dXJlRGF0YSA9IGluamVjdChQaWN0dXJlRGF0YURpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKHY6IENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBhc3NldERhdGEgPSBpc0NvbnRlbnRmdWxJbWFnZSh2KSA/IHYuYXNzZXQgOiB2O1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IGlzQ29udGVudGZ1bEltYWdlKHYpID8gdiA6IG51bGw7XG5cbiAgICBpZiAoYXNzZXREYXRhICYmICFhc3NldERhdGEuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYXNzZXREYXRhICYmICFhc3NldERhdGEuY29udGVudFR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiBpbWFnZScpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5kZWZhdWx0U3JjID0gYXNzZXREYXRhID8gZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlKGFzc2V0RGF0YSkgOiBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuYWx0ID0gaW1hZ2VEYXRhPy5hbHQgPz8gYXNzZXREYXRhPy5kZXNjcmlwdGlvbiA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEud2lkdGggPSBhc3NldERhdGE/LndpZHRoID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5oZWlnaHQgPSBhc3NldERhdGE/LmhlaWdodCA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuZmlnY2FwdGlvbiA9IGltYWdlRGF0YT8uY2FwdGlvbiA/PyBudWxsO1xuXG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzaXplcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemVzO1xuICB9XG4gIHNldCBzaXplcyh2OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NpemVzID0gdjtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLnNpemVzID0gdGhpcy5zaXplcz8uam9pbignLCAnKSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3NpemVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzcmNzZXRTaXplcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyY3NldFNpemVzO1xuICB9XG4gIHNldCBzcmNzZXRTaXplcyh2OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NyY3NldFNpemVzID0gdjtcbiAgICB0aGlzLnVwZGF0ZVNpemVzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfc3Jjc2V0U2l6ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgZ2V0IGJhY2tncm91bmRDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yO1xuICB9XG4gIHNldCBiYWNrZ3JvdW5kQ29sb3Iodjogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuX2JhY2tncm91bmRDb2xvciA9IHY7XG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX2JhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHNvdXJjZXM6IFBpY3R1cmVTb3VyY2VbXSA9IFtdO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2l6ZXMoKSB7XG4gICAgdGhpcy5zb3VyY2VzID0gdGhpcy5fZGF0YSA/IGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyh0aGlzLl9kYXRhLCB0aGlzLnNyY3NldFNpemVzLCB0aGlzLmJhY2tncm91bmRDb2xvcikgOiBbXTtcblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUVyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixvQ0FBb0MsR0FDckMsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBbUM1QyxNQUFNLE9BQU8sd0JBQXdCO0lBakNyQztRQWtDVSxrQkFBYSxHQUFHLE1BQU0sQ0FBb0MsaUNBQWlDLEVBQUU7WUFDbkcsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFFZ0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNyRCxTQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUErQmxDLFVBQUssR0FBNkMsSUFBSSxDQUFDO1FBVXZELFdBQU0sR0FBYSxFQUFFLENBQUM7UUFVdEIsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFVNUIscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQUVyQyxZQUFPLEdBQW9CLEVBQUUsQ0FBQztLQWF6QztJQTFFQyxJ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QUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFcEgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWpGVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qix3Y0EvQnpCOzs7Ozs7Ozs7Ozs7Ozs7R0FlVCw0REFJb0MsZ0JBQWdCOzsyRkFZMUMsd0JBQXdCO2tCQWpDcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDdEQsY0FBYyxFQUFFO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxvQkFBb0I7NEJBQy9CLHVFQUF1RTs0QkFDdkUsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDO3lCQUN0RjtxQkFDRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0I7aUJBQ0Y7OEJBVUssSUFBSTtzQkFEUCxLQUFLO2dCQWdDRixLQUFLO3NCQURSLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLGVBQWU7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBpY3R1cmVDb21wb25lbnQsIFBpY3R1cmVEYXRhRGlyZWN0aXZlLCBQaWN0dXJlU291cmNlIH0gZnJvbSAnQGV0aGxldGUvY2RrJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldCwgQ29udGVudGZ1bEltYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNDb250ZW50ZnVsSW1hZ2UgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVDb250ZW50ZnVsSW1hZ2VTb3VyY2VzLFxuICBnZW5lcmF0ZURlZmF1bHRDb250ZW50ZnVsSW1hZ2VTb3VyY2UsXG59IGZyb20gJy4vY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQudXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWltYWdlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZXQtcGljdHVyZVxuICAgICAgW2ltZ0NsYXNzXT1cInBpY3R1cmVEYXRhLmltZ0NsYXNzXCJcbiAgICAgIFtoYXNQcmlvcml0eV09XCJwaWN0dXJlRGF0YS5oYXNQcmlvcml0eVwiXG4gICAgICBbZmlndXJlQ2xhc3NdPVwicGljdHVyZURhdGEuZmlndXJlQ2xhc3NcIlxuICAgICAgW3BpY3R1cmVDbGFzc109XCJwaWN0dXJlRGF0YS5waWN0dXJlQ2xhc3NcIlxuICAgICAgW2ZpZ2NhcHRpb25DbGFzc109XCJwaWN0dXJlRGF0YS5maWdjYXB0aW9uQ2xhc3NcIlxuICAgICAgW2RlZmF1bHRTcmNdPVwicGljdHVyZURhdGEuZGVmYXVsdFNyY1wiXG4gICAgICBbYWx0XT1cInBpY3R1cmVEYXRhLmFsdFwiXG4gICAgICBbZmlnY2FwdGlvbl09XCJwaWN0dXJlRGF0YS5maWdjYXB0aW9uXCJcbiAgICAgIFt3aWR0aF09XCJwaWN0dXJlRGF0YS53aWR0aFwiXG4gICAgICBbaGVpZ2h0XT1cInBpY3R1cmVEYXRhLmhlaWdodFwiXG4gICAgICBbc2l6ZXNdPVwicGljdHVyZURhdGEuc2l6ZXNcIlxuICAgICAgW3NvdXJjZXNdPVwic291cmNlc1wiXG4gICAgLz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ09wdGltaXplZEltYWdlLCBQaWN0dXJlQ29tcG9uZW50XSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFBpY3R1cmVEYXRhRGlyZWN0aXZlLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgICAgIGlucHV0czogWydpbWdDbGFzcycsICdoYXNQcmlvcml0eScsICdmaWd1cmVDbGFzcycsICdwaWN0dXJlQ2xhc3MnLCAnZmlnY2FwdGlvbkNsYXNzJ10sXG4gICAgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxJbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQgfCBDb250ZW50ZnVsSW1hZ2U+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGljdHVyZURhdGEgPSBpbmplY3QoUGljdHVyZURhdGFEaXJlY3RpdmUpO1xuICByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBDb250ZW50ZnVsSW1hZ2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXNzZXREYXRhID0gaXNDb250ZW50ZnVsSW1hZ2UodikgPyB2LmFzc2V0IDogdjtcbiAgICBjb25zdCBpbWFnZURhdGEgPSBpc0NvbnRlbnRmdWxJbWFnZSh2KSA/IHYgOiBudWxsO1xuXG4gICAgaWYgKGFzc2V0RGF0YSAmJiAhYXNzZXREYXRhLmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFzc2V0RGF0YSAmJiAhYXNzZXREYXRhLmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBub3QgYW4gaW1hZ2UnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuZGVmYXVsdFNyYyA9IGFzc2V0RGF0YSA/IGdlbmVyYXRlRGVmYXVsdENvbnRlbnRmdWxJbWFnZVNvdXJjZShhc3NldERhdGEpIDogbnVsbDtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLmFsdCA9IGltYWdlRGF0YT8uYWx0ID8/IGFzc2V0RGF0YT8uZGVzY3JpcHRpb24gPz8gbnVsbDtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLndpZHRoID0gYXNzZXREYXRhPy53aWR0aCA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuaGVpZ2h0ID0gYXNzZXREYXRhPy5oZWlnaHQgPz8gbnVsbDtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLmZpZ2NhcHRpb24gPSBpbWFnZURhdGE/LmNhcHRpb24gPz8gbnVsbDtcblxuICAgIHRoaXMudXBkYXRlU2l6ZXMoKTtcbiAgfVxuICBwcml2YXRlIF9kYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBDb250ZW50ZnVsSW1hZ2UgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgc2l6ZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zaXplcztcbiAgfVxuICBzZXQgc2l6ZXModjogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9zaXplcyA9IHY7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5zaXplcyA9IHRoaXMuc2l6ZXM/LmpvaW4oJywgJykgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9zaXplczogc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBnZXQgc3Jjc2V0U2l6ZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zcmNzZXRTaXplcztcbiAgfVxuICBzZXQgc3Jjc2V0U2l6ZXModjogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9zcmNzZXRTaXplcyA9IHY7XG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX3NyY3NldFNpemVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBiYWNrZ3JvdW5kQ29sb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb2xvcjtcbiAgfVxuICBzZXQgYmFja2dyb3VuZENvbG9yKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl9iYWNrZ3JvdW5kQ29sb3IgPSB2O1xuICAgIHRoaXMudXBkYXRlU2l6ZXMoKTtcbiAgfVxuICBwcml2YXRlIF9iYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBzb3VyY2VzOiBQaWN0dXJlU291cmNlW10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNpemVzKCkge1xuICAgIHRoaXMuc291cmNlcyA9IHRoaXMuX2RhdGEgPyBnZW5lcmF0ZUNvbnRlbnRmdWxJbWFnZVNvdXJjZXModGhpcy5fZGF0YSwgdGhpcy5zcmNzZXRTaXplcywgdGhpcy5iYWNrZ3JvdW5kQ29sb3IpIDogW107XG5cbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
@@ -91,10 +91,10 @@ export class ContentfulRichTextRendererComponent {
91
91
  this._executeCommand({ command: childCommand, parent: element ?? parent });
92
92
  }
93
93
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulRichTextRendererComponent, isStandalone: true, selector: "et-contentful-rich-text-renderer", inputs: { richText: "richText" }, host: { classAttribute: "et-contentful-rich-text-renderer" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: ContentfulRichTextRendererComponent, isStandalone: true, selector: "et-contentful-rich-text-renderer", inputs: { richText: "richText" }, host: { classAttribute: "et-contentful-rich-text-renderer" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
96
96
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
98
98
  type: Component,
99
99
  args: [{
100
100
  selector: 'et-contentful-rich-text-renderer',
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
109
109
  }], propDecorators: { richText: [{
110
110
  type: Input
111
111
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBWXZGLE1BQU0sT0FBTyxtQ0FBbUM7SUFWaEQ7UUFvQlUsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFFMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyw4QkFBeUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FB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NUU7SUFDSCxDQUFDOytHQTFHVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw0TEFScEMsRUFBRTs7NEZBUUQsbUNBQW1DO2tCQVYvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsa0NBQWtDO3FCQUMxQztpQkFDRjs4QkFHSyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgQ09OVEVOVEZVTF9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29udGVudGZ1bC5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRlbnRmdWxDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb250ZW50ZnVsLWNvbmZpZyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0IH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsUmljaFRleHRSZW5kZXJlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCByaWNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmljaFRleHQ7XG4gIH1cbiAgc2V0IHJpY2hUZXh0KHY6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcmljaFRleHQgPSB2ID8/IG51bGw7XG5cbiAgICB0aGlzLnJlc2V0QW5kUmVuZGVyKCk7XG4gIH1cbiAgcHJpdmF0ZSBfcmljaFRleHQ6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBfYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9jb25maWcgPSBpbmplY3QoQ09OVEVOVEZVTF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gY3JlYXRlQ29udGVudGZ1bENvbmZpZygpO1xuXG4gIHJlc2V0QW5kUmVuZGVyKCkge1xuICAgIC8vIGNsZWFyIGNoaWxkTm9kZXMgdG8gcHJldmVudCBhcHBlbmRpbmcgbmV3IHJpY2h0ZXh0IGVsZW1lbnRzIHRvIGV4aXN0aW5nIG9uZVxuICAgIGNvbnN0IGNoaWxkRWxlbWVudHMgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkRWxlbWVudHMpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2hpbGQpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fcmljaFRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21tYW5kcyA9IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCh7IGRhdGE6IHRoaXMuX3JpY2hUZXh0LCBjb25maWc6IHRoaXMuX2NvbmZpZyB9KTtcblxuICAgIHRoaXMuX3JlbmRlcihjb21tYW5kcyk7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXIoY29tbWFuZHM6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZFtdKSB7XG4gICAgLy8gY3JlYXRlIGEgZG9jdW1lbnQgZnJhZ21lbnQgdG8gaG9sZCB0aGUgZWxlbWVudHMgd2hpbGUgd2UgY3JlYXRlIHRoZW1cbiAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcblxuICAgIGNvbnN0IGhvc3RDb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQgPSB7XG4gICAgICBwYXlsb2FkOiAnZG9jdW1lbnQnLFxuICAgICAgY2hpbGRyZW46IGNvbW1hbmRzLFxuICAgIH07XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBob3N0Q29tbWFuZCwgcGFyZW50OiBmcmFnbWVudCB9KTtcblxuICAgIC8vIGFwcGVuZCB0aGUgZnJhZ21lbnQgdG8gdGhlIGhvc3QgZWxlbWVudFxuICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZnJhZ21lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZXhlY3V0ZUNvbW1hbmQoZGF0YTogeyBjb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQ7IHBhcmVudDogRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgfSkge1xuICAgIGNvbnN0IHsgY29tbWFuZCwgcGFyZW50IH0gPSBkYXRhO1xuXG4gICAgbGV0IGVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoY29tbWFuZC5wYXlsb2FkICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbW1hbmQucGF5bG9hZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoY29tbWFuZC5wYXlsb2FkKTtcblxuICAgICAgICBpZiAoY29tbWFuZC5kYXRhKSB7XG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoZWxlbWVudCwgJ2lubmVyVGV4dCcsIGNvbW1hbmQuZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tbWFuZC5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbW1hbmQuYXR0cmlidXRlcykpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCBuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbW1hbmQuZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICAgIHBhcmVudCBhcyBFbGVtZW50LFxuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICB0aGlzLl9hcHBSZWYsXG4gICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgdGhpcy5fZG9jdW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY29tcCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29tbWFuZC5wYXlsb2FkKTtcbiAgICAgICAgY29uc3QgcmVmID0gY29tcC5hdHRhY2gocG9ydGFsKTtcblxuICAgICAgICBpZiAocmVmLmluc3RhbmNlIGluc3RhbmNlb2YgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmVmLmluc3RhbmNlLnNpemVzID0gdGhpcy5fY29uZmlnLmltYWdlT3B0aW9ucy5zaXplcztcbiAgICAgICAgICByZWYuaW5zdGFuY2Uuc3Jjc2V0U2l6ZXMgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLnNyY3NldFNpemVzO1xuICAgICAgICAgIHJlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQgPSByZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgZm9yIChjb25zdCBjaGlsZENvbW1hbmQgb2YgY29tbWFuZC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBjaGlsZENvbW1hbmQsIHBhcmVudDogZWxlbWVudCA/PyBwYXJlbnQgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBWXZGLE1BQU0sT0FBTyxtQ0FBbUM7SUFWaEQ7UUFvQlUsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFFMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyw4QkFBeUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixZQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQztLQXlGN0Y7SUExR0MsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFzQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFFM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFXRCxjQUFjO1FBQ1osOEVBQThFO1FBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNoRSxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsRUFBRTtZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNuRTtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLDBDQUEwQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRTVHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFpQztRQUMvQyx1RUFBdUU7UUFDdkUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFbkQsTUFBTSxXQUFXLEdBQTBCO1lBQ3pDLE9BQU8sRUFBRSxVQUFVO1lBQ25CLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUM7UUFFRix5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFakUsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBNEU7UUFDbEcsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFakMsSUFBSSxPQUFPLEdBQW1CLElBQUksQ0FBQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ2xDLElBQUksT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtnQkFDdkMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFeEQsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO29CQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEU7Z0JBRUQsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO29CQUN0QixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7d0JBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7cUJBQ25EO2lCQUNGO2dCQUNELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQzthQUM3QztpQkFBTTtnQkFDTCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO29CQUMvQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJO3lCQUN2QjtxQkFDRjtvQkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQ3ZCLENBQUMsQ0FBQztnQkFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FDaEMsTUFBaUIsRUFDakIsSUFBSSxDQUFDLHlCQUF5QixFQUM5QixJQUFJLENBQUMsT0FBTyxFQUNaLFFBQVEsRUFDUixJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7Z0JBRUYsTUFBTSxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUVoQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLFlBQVksd0JBQXdCLEVBQUU7b0JBQ3BELEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztvQkFDckQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO29CQUNqRSxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7aUJBQzFFO2dCQUVELE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQzthQUN0QztTQUNGO1FBRUQseUJBQXlCO1FBQ3pCLEtBQUssTUFBTSxZQUFZLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDNUU7SUFDSCxDQUFDOzhHQTFHVSxtQ0FBbUM7a0dBQW5DLG1DQUFtQyw0TEFScEMsRUFBRTs7MkZBUUQsbUNBQW1DO2tCQVYvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsa0NBQWtDO3FCQUMxQztpQkFDRjs4QkFHSyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgQ09OVEVOVEZVTF9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29udGVudGZ1bC5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRlbnRmdWxDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb250ZW50ZnVsLWNvbmZpZyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0IH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsUmljaFRleHRSZW5kZXJlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCByaWNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmljaFRleHQ7XG4gIH1cbiAgc2V0IHJpY2hUZXh0KHY6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcmljaFRleHQgPSB2ID8/IG51bGw7XG5cbiAgICB0aGlzLnJlc2V0QW5kUmVuZGVyKCk7XG4gIH1cbiAgcHJpdmF0ZSBfcmljaFRleHQ6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBfYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9jb25maWcgPSBpbmplY3QoQ09OVEVOVEZVTF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gY3JlYXRlQ29udGVudGZ1bENvbmZpZygpO1xuXG4gIHJlc2V0QW5kUmVuZGVyKCkge1xuICAgIC8vIGNsZWFyIGNoaWxkTm9kZXMgdG8gcHJldmVudCBhcHBlbmRpbmcgbmV3IHJpY2h0ZXh0IGVsZW1lbnRzIHRvIGV4aXN0aW5nIG9uZVxuICAgIGNvbnN0IGNoaWxkRWxlbWVudHMgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkRWxlbWVudHMpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2hpbGQpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fcmljaFRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21tYW5kcyA9IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCh7IGRhdGE6IHRoaXMuX3JpY2hUZXh0LCBjb25maWc6IHRoaXMuX2NvbmZpZyB9KTtcblxuICAgIHRoaXMuX3JlbmRlcihjb21tYW5kcyk7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXIoY29tbWFuZHM6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZFtdKSB7XG4gICAgLy8gY3JlYXRlIGEgZG9jdW1lbnQgZnJhZ21lbnQgdG8gaG9sZCB0aGUgZWxlbWVudHMgd2hpbGUgd2UgY3JlYXRlIHRoZW1cbiAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcblxuICAgIGNvbnN0IGhvc3RDb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQgPSB7XG4gICAgICBwYXlsb2FkOiAnZG9jdW1lbnQnLFxuICAgICAgY2hpbGRyZW46IGNvbW1hbmRzLFxuICAgIH07XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBob3N0Q29tbWFuZCwgcGFyZW50OiBmcmFnbWVudCB9KTtcblxuICAgIC8vIGFwcGVuZCB0aGUgZnJhZ21lbnQgdG8gdGhlIGhvc3QgZWxlbWVudFxuICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZnJhZ21lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZXhlY3V0ZUNvbW1hbmQoZGF0YTogeyBjb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQ7IHBhcmVudDogRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgfSkge1xuICAgIGNvbnN0IHsgY29tbWFuZCwgcGFyZW50IH0gPSBkYXRhO1xuXG4gICAgbGV0IGVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoY29tbWFuZC5wYXlsb2FkICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbW1hbmQucGF5bG9hZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoY29tbWFuZC5wYXlsb2FkKTtcblxuICAgICAgICBpZiAoY29tbWFuZC5kYXRhKSB7XG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoZWxlbWVudCwgJ2lubmVyVGV4dCcsIGNvbW1hbmQuZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tbWFuZC5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbW1hbmQuYXR0cmlidXRlcykpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCBuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbW1hbmQuZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICAgIHBhcmVudCBhcyBFbGVtZW50LFxuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICB0aGlzLl9hcHBSZWYsXG4gICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgdGhpcy5fZG9jdW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY29tcCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29tbWFuZC5wYXlsb2FkKTtcbiAgICAgICAgY29uc3QgcmVmID0gY29tcC5hdHRhY2gocG9ydGFsKTtcblxuICAgICAgICBpZiAocmVmLmluc3RhbmNlIGluc3RhbmNlb2YgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmVmLmluc3RhbmNlLnNpemVzID0gdGhpcy5fY29uZmlnLmltYWdlT3B0aW9ucy5zaXplcztcbiAgICAgICAgICByZWYuaW5zdGFuY2Uuc3Jjc2V0U2l6ZXMgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLnNyY3NldFNpemVzO1xuICAgICAgICAgIHJlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQgPSByZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgZm9yIChjb25zdCBjaGlsZENvbW1hbmQgb2YgY29tbWFuZC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBjaGlsZENvbW1hbmQsIHBhcmVudDogZWxlbWVudCA/PyBwYXJlbnQgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { NgClass, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
1
+ import { NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ContentfulVideoComponent {
@@ -27,30 +27,34 @@ export class ContentfulVideoComponent {
27
27
  this.data = this._richTextData;
28
28
  }
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulVideoComponent, isStandalone: true, selector: "et-contentful-video", inputs: { data: "data", videoClass: "videoClass" }, ngImport: i0, template: `
32
- <video *ngIf="data" [ngClass]="videoClass" controls>
33
- <source src="{{ data.url }}" type="{{ data.contentType }}" />
34
- </video>
35
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.2", type: ContentfulVideoComponent, isStandalone: true, selector: "et-contentful-video", inputs: { data: "data", videoClass: "videoClass" }, ngImport: i0, template: `
32
+ @if (data) {
33
+ <video [ngClass]="videoClass" controls>
34
+ <source src="{{ data.url }}" type="{{ data.contentType }}" />
35
+ </video>
36
+ }
37
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
38
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
38
40
  type: Component,
39
41
  args: [{
40
42
  selector: 'et-contentful-video',
41
43
  template: `
42
- <video *ngIf="data" [ngClass]="videoClass" controls>
43
- <source src="{{ data.url }}" type="{{ data.contentType }}" />
44
- </video>
44
+ @if (data) {
45
+ <video [ngClass]="videoClass" controls>
46
+ <source src="{{ data.url }}" type="{{ data.contentType }}" />
47
+ </video>
48
+ }
45
49
  `,
46
50
  changeDetection: ChangeDetectionStrategy.OnPush,
47
51
  encapsulation: ViewEncapsulation.None,
48
52
  standalone: true,
49
- imports: [NgIf, NgClass],
53
+ imports: [NgClass],
50
54
  }]
51
55
  }], propDecorators: { data: [{
52
56
  type: Input
53
57
  }], videoClass: [{
54
58
  type: Input
55
59
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3ZpZGVvL2NvbnRlbnRmdWwtdmlkZW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWMxRSxNQUFNLE9BQU8sd0JBQXdCO0lBWnJDO1FBYVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO0tBT2hDO0lBN0JDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7K0dBL0JVLHdCQUF3QjttR0FBeEIsd0JBQXdCLG1JQVZ6Qjs7OztHQUlULDREQUlTLElBQUksNkZBQUUsT0FBTzs7NEZBRVosd0JBQXdCO2tCQVpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7aUJBQ3pCOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFzQk4sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC12aWRlbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZpZGVvICpuZ0lmPVwiZGF0YVwiIFtuZ0NsYXNzXT1cInZpZGVvQ2xhc3NcIiBjb250cm9scz5cbiAgICAgIDxzb3VyY2Ugc3JjPVwie3sgZGF0YS51cmwgfX1cIiB0eXBlPVwie3sgZGF0YS5jb250ZW50VHlwZSB9fVwiIC8+XG4gICAgPC92aWRlbz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bFZpZGVvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfcmljaFRleHREYXRhID0gaW5qZWN0PENvbnRlbnRmdWxBc3NldD4oUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKHY6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodiAmJiAhdi5jb250ZW50VHlwZSkge1xuICAgICAgdGhpcy5fZGF0YSA9IG51bGw7XG5cbiAgICAgIGNvbnNvbGUud2FybignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIGludmFsaWQnLCB2KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBub3QgYW4gdmlkZW8nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHZpZGVvQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3ZpZGVvL2NvbnRlbnRmdWwtdmlkZW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBZ0IxRSxNQUFNLE9BQU8sd0JBQXdCO0lBZHJDO1FBZVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO0tBT2hDO0lBN0JDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7OEdBL0JVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1JQVp6Qjs7Ozs7O0dBTVQsNERBSVMsT0FBTzs7MkZBRU4sd0JBQXdCO2tCQWRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNuQjs4QkFLSyxJQUFJO3NCQURQLEtBQUs7Z0JBc0JOLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4uL3JpY2gtdGV4dC1yZW5kZXJlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtdmlkZW8nLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoZGF0YSkge1xuICAgICAgPHZpZGVvIFtuZ0NsYXNzXT1cInZpZGVvQ2xhc3NcIiBjb250cm9scz5cbiAgICAgICAgPHNvdXJjZSBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiIHR5cGU9XCJ7eyBkYXRhLmNvbnRlbnRUeXBlIH19XCIgLz5cbiAgICAgIDwvdmlkZW8+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsVmlkZW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUuc3RhcnRzV2l0aCgndmlkZW8vJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiB2aWRlbycpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YTogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgdmlkZW9DbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { NgIf, NgClass, NgOptimizedImage, DOCUMENT } from '@angular/common';
1
+ import { NgClass, NgOptimizedImage, DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, ChangeDetectorRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Renderer2, ElementRef, ComponentFactoryResolver, ApplicationRef, Injector } from '@angular/core';
4
4
  import { DomPortalOutlet, ComponentPortal } from '@angular/cdk/portal';
@@ -191,8 +191,8 @@ class ContentfulImageComponent {
191
191
  this.sources = this._data ? generateContentfulImageSources(this._data, this.srcsetSizes, this.backgroundColor) : [];
192
192
  this._cdr.markForCheck();
193
193
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { data: "data", sizes: "sizes", srcsetSizes: "srcsetSizes", backgroundColor: "backgroundColor" }, host: { classAttribute: "et-contentful-image" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass"] }], ngImport: i0, template: `
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { data: "data", sizes: "sizes", srcsetSizes: "srcsetSizes", backgroundColor: "backgroundColor" }, host: { classAttribute: "et-contentful-image" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass"] }], ngImport: i0, template: `
196
196
  <et-picture
197
197
  [imgClass]="pictureData.imgClass"
198
198
  [hasPriority]="pictureData.hasPriority"
@@ -209,7 +209,7 @@ class ContentfulImageComponent {
209
209
  />
210
210
  `, isInline: true, dependencies: [{ kind: "component", type: PictureComponent, selector: "et-picture", inputs: ["sources"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulImageComponent, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulImageComponent, decorators: [{
213
213
  type: Component,
214
214
  args: [{
215
215
  selector: 'et-contentful-image',
@@ -232,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
232
232
  changeDetection: ChangeDetectionStrategy.OnPush,
233
233
  encapsulation: ViewEncapsulation.None,
234
234
  standalone: true,
235
- imports: [NgIf, NgClass, NgOptimizedImage, PictureComponent],
235
+ imports: [NgClass, NgOptimizedImage, PictureComponent],
236
236
  hostDirectives: [
237
237
  {
238
238
  directive: PictureDataDirective,
@@ -526,10 +526,10 @@ class ContentfulRichTextRendererComponent {
526
526
  this._executeCommand({ command: childCommand, parent: element ?? parent });
527
527
  }
528
528
  }
529
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
530
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulRichTextRendererComponent, isStandalone: true, selector: "et-contentful-rich-text-renderer", inputs: { richText: "richText" }, host: { classAttribute: "et-contentful-rich-text-renderer" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
530
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: ContentfulRichTextRendererComponent, isStandalone: true, selector: "et-contentful-rich-text-renderer", inputs: { richText: "richText" }, host: { classAttribute: "et-contentful-rich-text-renderer" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
531
531
  }
532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
533
533
  type: Component,
534
534
  args: [{
535
535
  selector: 'et-contentful-rich-text-renderer',
@@ -572,28 +572,32 @@ class ContentfulAudioComponent {
572
572
  this.data = this._richTextData;
573
573
  }
574
574
  }
575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
576
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
577
- <figure *ngIf="data" [ngClass]="figureClass">
578
- <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
579
- <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
580
- </figure>
581
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.2", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
577
+ @if (data) {
578
+ <figure [ngClass]="figureClass">
579
+ <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
580
+ <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
581
+ </figure>
582
+ }
583
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
582
584
  }
583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
584
586
  type: Component,
585
587
  args: [{
586
588
  selector: 'et-contentful-audio',
587
589
  template: `
588
- <figure *ngIf="data" [ngClass]="figureClass">
589
- <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
590
- <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
591
- </figure>
590
+ @if (data) {
591
+ <figure [ngClass]="figureClass">
592
+ <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
593
+ <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
594
+ </figure>
595
+ }
592
596
  `,
593
597
  changeDetection: ChangeDetectionStrategy.OnPush,
594
598
  encapsulation: ViewEncapsulation.None,
595
599
  standalone: true,
596
- imports: [NgIf, NgClass],
600
+ imports: [NgClass],
597
601
  }]
598
602
  }], propDecorators: { data: [{
599
603
  type: Input
@@ -627,26 +631,30 @@ class ContentfulFileComponent {
627
631
  this.data = this._richTextData;
628
632
  }
629
633
  }
630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
631
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
632
- <a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
633
- {{ data.title }} ({{ data.size }} Bytes)
634
- </a>
635
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
634
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
635
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.2", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
636
+ @if (data) {
637
+ <a [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
638
+ {{ data.title }} ({{ data.size }} Bytes)
639
+ </a>
640
+ }
641
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
636
642
  }
637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulFileComponent, decorators: [{
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulFileComponent, decorators: [{
638
644
  type: Component,
639
645
  args: [{
640
646
  selector: 'et-contentful-file',
641
647
  template: `
642
- <a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
643
- {{ data.title }} ({{ data.size }} Bytes)
644
- </a>
648
+ @if (data) {
649
+ <a [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
650
+ {{ data.title }} ({{ data.size }} Bytes)
651
+ </a>
652
+ }
645
653
  `,
646
654
  changeDetection: ChangeDetectionStrategy.OnPush,
647
655
  encapsulation: ViewEncapsulation.None,
648
656
  standalone: true,
649
- imports: [NgIf, NgClass],
657
+ imports: [NgClass],
650
658
  }]
651
659
  }], propDecorators: { data: [{
652
660
  type: Input
@@ -679,26 +687,30 @@ class ContentfulVideoComponent {
679
687
  this.data = this._richTextData;
680
688
  }
681
689
  }
682
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
683
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ContentfulVideoComponent, isStandalone: true, selector: "et-contentful-video", inputs: { data: "data", videoClass: "videoClass" }, ngImport: i0, template: `
684
- <video *ngIf="data" [ngClass]="videoClass" controls>
685
- <source src="{{ data.url }}" type="{{ data.contentType }}" />
686
- </video>
687
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
691
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.2", type: ContentfulVideoComponent, isStandalone: true, selector: "et-contentful-video", inputs: { data: "data", videoClass: "videoClass" }, ngImport: i0, template: `
692
+ @if (data) {
693
+ <video [ngClass]="videoClass" controls>
694
+ <source src="{{ data.url }}" type="{{ data.contentType }}" />
695
+ </video>
696
+ }
697
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
688
698
  }
689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
690
700
  type: Component,
691
701
  args: [{
692
702
  selector: 'et-contentful-video',
693
703
  template: `
694
- <video *ngIf="data" [ngClass]="videoClass" controls>
695
- <source src="{{ data.url }}" type="{{ data.contentType }}" />
696
- </video>
704
+ @if (data) {
705
+ <video [ngClass]="videoClass" controls>
706
+ <source src="{{ data.url }}" type="{{ data.contentType }}" />
707
+ </video>
708
+ }
697
709
  `,
698
710
  changeDetection: ChangeDetectionStrategy.OnPush,
699
711
  encapsulation: ViewEncapsulation.None,
700
712
  standalone: true,
701
- imports: [NgIf, NgClass],
713
+ imports: [NgClass],
702
714
  }]
703
715
  }], propDecorators: { data: [{
704
716
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"ethlete-contentful.mjs","sources":["../../../../libs/contentful/src/lib/constants/contentful.constants.ts","../../../../libs/contentful/src/lib/utils/contentful-config.ts","../../../../libs/contentful/src/lib/components/rich-text-renderer/rich-text-renderer.constants.ts","../../../../libs/contentful/src/lib/utils/contentful.util.ts","../../../../libs/contentful/src/lib/components/image/contentful-image.component.utils.ts","../../../../libs/contentful/src/lib/components/image/contentful-image.component.ts","../../../../libs/contentful/src/lib/components/rich-text-renderer/rich-text-renderer.util.ts","../../../../libs/contentful/src/lib/components/rich-text-renderer/rich-text-renderer.component.ts","../../../../libs/contentful/src/lib/components/audio/contentful-audio.component.ts","../../../../libs/contentful/src/lib/components/file/contentful-file.component.ts","../../../../libs/contentful/src/lib/components/video/contentful-video.component.ts","../../../../libs/contentful/src/lib/contentful.imports.ts","../../../../libs/contentful/src/lib/gql/asset.fragments.ts","../../../../libs/contentful/src/ethlete-contentful.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { ContentfulConfig } from '../types';\n\nexport const CONTENTFUL_CONFIG = new InjectionToken<ContentfulConfig>('ContentfulConfig');\n","import {\n ContentfulAudioComponent,\n ContentfulFileComponent,\n ContentfulImageComponent,\n ContentfulVideoComponent,\n} from '../components';\nimport { ContentfulConfig } from '../types';\n\nexport const createContentfulConfig = (\n config: Partial<ContentfulConfig> | null | undefined = {},\n): ContentfulConfig => ({\n // This default config must be inline and not saved inside a const for some weird webpack reason\n ...{\n useTailwindClasses: false,\n components: {\n audio: ContentfulAudioComponent,\n file: ContentfulFileComponent,\n image: ContentfulImageComponent,\n video: ContentfulVideoComponent,\n },\n customComponents: {},\n imageOptions: {\n srcsetSizes: ['375w', '1280w', '1920w', '2560w'],\n sizes: [],\n backgroundColor: null,\n },\n },\n ...(config || {}),\n});\n","import { InjectionToken } from '@angular/core';\n\nexport const RICH_TEXT_RENDERER_COMPONENT_DATA = new InjectionToken<unknown>('RICH_TEXT_RENDERER_COMPONENT_DATA');\n","import { CONTENTFUL_CONFIG } from '../constants';\nimport { ContentfulAsset, ContentfulConfig, ContentfulImage } from '../types';\nimport { createContentfulConfig } from './contentful-config';\n\nexport const provideContentfulConfig = (contentfulConfig: Partial<ContentfulConfig> | null | undefined = {}) => {\n return { provide: CONTENTFUL_CONFIG, useValue: createContentfulConfig(contentfulConfig) };\n};\n\nexport const isContentfulImage = (v: ContentfulAsset | ContentfulImage | null | undefined): v is ContentfulImage => {\n return !!v && 'asset' in v && 'alt' in v && 'resizeBehavior' in v && 'focusArea' in v;\n};\n\nexport const isContentfulAsset = (v: ContentfulAsset | ContentfulImage | null | undefined): v is ContentfulAsset => {\n return !!v && 'contentType' in v && 'description' in v && 'height' in v && 'url' in v && 'width' in v;\n};\n","import { PictureSource } from '@ethlete/cdk';\nimport { ContentfulAsset, ContentfulImage } from '../../types';\nimport { isContentfulImage } from '../../utils';\n\nexport const generateDefaultContentfulImageSource = (data: ContentfulAsset): PictureSource => {\n const { url, contentType } = data;\n\n return {\n type: contentType,\n srcset: url,\n };\n};\n\n/**\n * Parses source set sizes into an object containing with and height. Eg.\n * - `\"400\"` - 400px width\n * - `\"400x300\"` - 400px width and 300px height\n * - `\"400w\"` - 400px width\n * - `\"400h\"` - 400px height\n * - `\"400wx300h\"` - 400px width and 300px height\n **/\nexport const parseContentfulImageSize = (size: string): { width: number | null; height: number | null } => {\n let width: string | null | undefined = null;\n let height: string | null | undefined = null;\n\n if (size.includes('x')) {\n const [w, h] = size.split('x');\n\n width = w;\n height = h;\n } else if (size.includes('h')) {\n height = size;\n } else {\n width = size;\n }\n\n return {\n width: width ? parseInt(width, 10) : null,\n height: height ? parseInt(height, 10) : null,\n };\n};\n\nexport const generateContentfulImageSources = (\n data: ContentfulAsset | ContentfulImage,\n srcsetSizes: string[],\n backgroundColor: string | null,\n): PictureSource[] => {\n const assetData = isContentfulImage(data) ? data.asset : data;\n const imageData = isContentfulImage(data) ? data : null;\n\n if (!assetData) {\n return [];\n }\n\n const sources: PictureSource[] = [];\n\n const SOURCE_TYPES = ['image/avif', 'image/webp', 'image/png', 'image/jpg'];\n\n for (const type of SOURCE_TYPES) {\n const baseUrl = assetData.url;\n const sourceSets: string[] = [];\n const queryParams: string[] = [];\n\n // Set the format (e.g. 'fm=webp')\n queryParams.push(`fm=${type.split('/')[1]}`);\n\n if (backgroundColor) {\n queryParams.push(`bg=rgb:${backgroundColor}`);\n }\n\n if (imageData) {\n if (imageData.quality) {\n queryParams.push(`q=${imageData.quality}`);\n }\n\n if (imageData.focusArea) {\n queryParams.push(`f=${imageData.focusArea}`);\n }\n\n if (imageData.resizeBehavior) {\n queryParams.push(`fit=${imageData.resizeBehavior}`);\n }\n }\n\n if (srcsetSizes?.length) {\n const urlWithParams = `${baseUrl}?${queryParams.join('&')}`;\n\n for (const size of srcsetSizes) {\n const { width, height } = parseContentfulImageSize(size);\n\n if (width && height) {\n sourceSets.push(`${urlWithParams}&w=${width}&h=${height} ${width}w`);\n } else if (width) {\n sourceSets.push(`${urlWithParams}&w=${width} ${width}w`);\n } else if (height) {\n sourceSets.push(`${urlWithParams}&h=${height} ${height}h`);\n }\n }\n }\n\n sources.push({\n type,\n srcset: sourceSets.length ? sourceSets.join(', ') : `${baseUrl}?${queryParams.join('&')}`,\n });\n }\n\n return sources;\n};\n","import { NgClass, NgIf, NgOptimizedImage } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { PictureComponent, PictureDataDirective, PictureSource } from '@ethlete/cdk';\nimport { ContentfulAsset, ContentfulImage } from '../../types';\nimport { isContentfulImage } from '../../utils';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\nimport {\n generateContentfulImageSources,\n generateDefaultContentfulImageSource,\n} from './contentful-image.component.utils';\n\n@Component({\n selector: 'et-contentful-image',\n template: `\n <et-picture\n [imgClass]=\"pictureData.imgClass\"\n [hasPriority]=\"pictureData.hasPriority\"\n [figureClass]=\"pictureData.figureClass\"\n [pictureClass]=\"pictureData.pictureClass\"\n [figcaptionClass]=\"pictureData.figcaptionClass\"\n [defaultSrc]=\"pictureData.defaultSrc\"\n [alt]=\"pictureData.alt\"\n [figcaption]=\"pictureData.figcaption\"\n [width]=\"pictureData.width\"\n [height]=\"pictureData.height\"\n [sizes]=\"pictureData.sizes\"\n [sources]=\"sources\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, NgClass, NgOptimizedImage, PictureComponent],\n hostDirectives: [\n {\n directive: PictureDataDirective,\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['imgClass', 'hasPriority', 'figureClass', 'pictureClass', 'figcaptionClass'],\n },\n ],\n host: {\n class: 'et-contentful-image',\n },\n})\nexport class ContentfulImageComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset | ContentfulImage>(RICH_TEXT_RENDERER_COMPONENT_DATA, {\n optional: true,\n });\n\n protected readonly pictureData = inject(PictureDataDirective);\n readonly _cdr = inject(ChangeDetectorRef);\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | ContentfulImage | null | undefined) {\n const assetData = isContentfulImage(v) ? v.asset : v;\n const imageData = isContentfulImage(v) ? v : null;\n\n if (assetData && !assetData.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n if (assetData && !assetData.contentType.startsWith('image/')) {\n throw new Error('The provided asset is not an image');\n }\n\n this._data = v ?? null;\n this.pictureData.defaultSrc = assetData ? generateDefaultContentfulImageSource(assetData) : null;\n this.pictureData.alt = imageData?.alt ?? assetData?.description ?? null;\n this.pictureData.width = assetData?.width ?? null;\n this.pictureData.height = assetData?.height ?? null;\n this.pictureData.figcaption = imageData?.caption ?? null;\n\n this.updateSizes();\n }\n private _data: ContentfulAsset | ContentfulImage | null = null;\n\n @Input()\n get sizes(): string[] {\n return this._sizes;\n }\n set sizes(v: string[]) {\n this._sizes = v;\n this.pictureData.sizes = this.sizes?.join(', ') ?? null;\n }\n private _sizes: string[] = [];\n\n @Input()\n get srcsetSizes(): string[] {\n return this._srcsetSizes;\n }\n set srcsetSizes(v: string[]) {\n this._srcsetSizes = v;\n this.updateSizes();\n }\n private _srcsetSizes: string[] = [];\n\n @Input()\n get backgroundColor() {\n return this._backgroundColor;\n }\n set backgroundColor(v: string | null) {\n this._backgroundColor = v;\n this.updateSizes();\n }\n private _backgroundColor: string | null = null;\n\n protected sources: PictureSource[] = [];\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n\n private updateSizes() {\n this.sources = this._data ? generateContentfulImageSources(this._data, this.srcsetSizes, this.backgroundColor) : [];\n\n this._cdr.markForCheck();\n }\n}\n","import { Block, BLOCKS, Inline, INLINES, Mark, Text } from '@contentful/rich-text-types';\nimport { ContentfulAsset, ContentfulConfig, ContentfulEntryBase, RichTextResponse } from '../../types';\nimport { ContentfulImageComponent } from '../image';\nimport { ContentfulResourceMap, RichTextRenderCommand } from './rich-text-renderer.types';\n\nexport const createRenderCommandsFromContentfulRichText = (options: {\n data: RichTextResponse;\n config: ContentfulConfig;\n}) => {\n const { data, config } = options;\n\n const commands: RichTextRenderCommand[] = [];\n const resourceMap = createContentfulResourceMap(data.links);\n\n createContentfulRenderCommand(data.json, { children: commands, payload: data.json.nodeType }, resourceMap, config);\n\n return commands;\n};\n\nexport const createContentfulRenderCommand = (\n node: Block | Inline | Text,\n parent: RichTextRenderCommand,\n resourceMap: ContentfulResourceMap,\n config: ContentfulConfig,\n) => {\n const { nodeType, data: nodeData } = node;\n\n const { children, marks, value } = getContentfulNodeProps(node);\n\n const command: RichTextRenderCommand = {\n payload: translateContentfulNodeTypeToHtmlTag(nodeType),\n data: value,\n attributes: {\n ...(marks\n ? {\n class: transformContentfulMarks(marks, config.useTailwindClasses),\n }\n : {}),\n ...(nodeData['uri'] ? { href: nodeData['uri'], target: '_blank' } : {}),\n },\n children: [],\n };\n\n const entryId = nodeData['target']?.sys?.id;\n\n if (nodeType === BLOCKS.EMBEDDED_ASSET) {\n const asset = resourceMap.assetsBlock.get(entryId);\n\n if (asset) {\n const isImage = asset.contentType.startsWith('image/');\n const isVideo = asset.contentType.startsWith('video/');\n const isAudio = asset.contentType.startsWith('audio/');\n\n command.data = asset;\n\n if (isImage) {\n command.payload = config.components.image;\n } else if (isVideo) {\n command.payload = config.components.video;\n } else if (isAudio) {\n command.payload = config.components.audio;\n } else {\n command.payload = config.components.file;\n }\n } else {\n console.warn(`No asset found for entry id \"${entryId}\"!`, nodeData);\n }\n } else if (nodeType === BLOCKS.EMBEDDED_ENTRY || nodeType === INLINES.EMBEDDED_ENTRY) {\n const entry = resourceMap.entriesBlock.get(entryId) ?? resourceMap.entriesInline.get(entryId);\n\n if (entry) {\n const type = entry?.__typename ?? 'ET_UNKNOWN';\n\n // \"Image\" is a special wrapper content model for contentful assets.\n // It must be created by the user.\n const component = type === 'Image' ? ContentfulImageComponent : config.customComponents?.[type];\n\n if (component) {\n command.payload = component;\n command.data = entry;\n } else {\n command.data = `ERROR: No component found for embedded entry \"${type}\" as \"${nodeType}\"!`;\n }\n } else {\n console.warn(`No entry found for entry id \"${entryId}\"!`, nodeData);\n }\n }\n\n if (children && (children.length !== 1 || children[0]?.nodeType !== 'text')) {\n children.forEach((child) => {\n createContentfulRenderCommand(child, command, resourceMap, config);\n });\n }\n\n parent.children.push(command);\n\n return command;\n};\n\nexport const getContentfulNodeProps = (node: Block | Inline | Text) => {\n const children = 'content' in node ? node.content : null;\n let marks: Mark[] | null = null;\n let value: string | null = null;\n\n if (children && children.length === 1 && children[0]?.nodeType === 'text') {\n marks = children[0].marks?.length ? children[0].marks : null;\n value = children[0].value;\n } else {\n marks = 'marks' in node ? (node.marks?.length ? node.marks : null) : null;\n value = 'value' in node ? node.value : null;\n }\n\n return {\n children,\n marks,\n value,\n };\n};\n\nexport const transformContentfulMarks = (marks: Mark[], useTailwindClasses: boolean) => {\n return marks\n .map((mark) => {\n switch (mark.type) {\n case 'bold':\n return useTailwindClasses ? 'font-bold' : mark.type;\n case 'italic':\n return useTailwindClasses ? 'italic' : mark.type;\n case 'underline':\n return useTailwindClasses ? 'underline' : mark.type;\n case 'code':\n return useTailwindClasses ? 'font-mono' : mark.type;\n default:\n return mark.type;\n }\n })\n .join(' ');\n};\n\nexport const translateContentfulNodeTypeToHtmlTag = (nodeType: 'text' | BLOCKS | INLINES) => {\n switch (nodeType) {\n case BLOCKS.HEADING_1:\n return 'h1';\n case BLOCKS.HEADING_2:\n return 'h2';\n case BLOCKS.HEADING_3:\n return 'h3';\n case BLOCKS.HEADING_4:\n return 'h4';\n case BLOCKS.HEADING_5:\n return 'h5';\n case BLOCKS.HEADING_6:\n return 'h6';\n case BLOCKS.PARAGRAPH:\n return 'p';\n case BLOCKS.UL_LIST:\n return 'ul';\n case BLOCKS.OL_LIST:\n return 'ol';\n case BLOCKS.LIST_ITEM:\n return 'li';\n case BLOCKS.HR:\n return 'hr';\n case BLOCKS.QUOTE:\n return 'blockquote';\n case BLOCKS.TABLE:\n return 'table';\n case BLOCKS.TABLE_ROW:\n return 'tr';\n case BLOCKS.TABLE_CELL:\n return 'td';\n case BLOCKS.TABLE_HEADER_CELL:\n return 'th';\n case BLOCKS.EMBEDDED_ASSET:\n return 'div';\n\n case INLINES.HYPERLINK:\n return 'a';\n case INLINES.ENTRY_HYPERLINK:\n return 'a';\n case INLINES.ASSET_HYPERLINK:\n return 'a';\n\n case 'text':\n return 'span';\n\n // Will be ignored by the renderer\n case 'document':\n return 'document';\n\n case BLOCKS.EMBEDDED_ENTRY:\n return 'div';\n case INLINES.EMBEDDED_ENTRY:\n return 'div';\n\n default:\n return 'div';\n }\n};\n\nexport const createContentfulResourceMap = (links: RichTextResponse['links']): ContentfulResourceMap => {\n const resourceMap = {\n assetsBlock: createContentfulMap<ContentfulAsset>(links?.assets?.block),\n entriesInline: createContentfulMap(links?.entries?.inline),\n entriesBlock: createContentfulMap(links?.entries?.block),\n } as const;\n\n return resourceMap;\n};\n\nexport const createContentfulMap = <T extends ContentfulEntryBase>(links: Array<T> | null | undefined) => {\n const assetMap = new Map<string, T>();\n\n if (links) {\n for (const link of links) {\n if (!link?.sys?.id) {\n console.warn('Link has no sys.id property. Please include it inside your query.', link);\n continue;\n }\n\n assetMap.set(link.sys.id, link);\n }\n }\n\n return assetMap;\n};\n","import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ChangeDetectionStrategy,\n Component,\n ComponentFactoryResolver,\n ElementRef,\n inject,\n Injector,\n Input,\n Renderer2,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ContentfulImageComponent } from '..';\nimport { CONTENTFUL_CONFIG } from '../../constants/contentful.constants';\nimport { RichTextResponse } from '../../types';\nimport { createContentfulConfig } from '../../utils/contentful-config';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from './rich-text-renderer.constants';\nimport { RichTextRenderCommand } from './rich-text-renderer.types';\nimport { createRenderCommandsFromContentfulRichText } from './rich-text-renderer.util';\n\n@Component({\n selector: 'et-contentful-rich-text-renderer',\n template: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n class: 'et-contentful-rich-text-renderer',\n },\n})\nexport class ContentfulRichTextRendererComponent {\n @Input()\n get richText() {\n return this._richText;\n }\n set richText(v: RichTextResponse | null | undefined) {\n this._richText = v ?? null;\n\n this.resetAndRender();\n }\n private _richText: RichTextResponse | null = null;\n\n private _renderer = inject(Renderer2);\n private _elementRef = inject(ElementRef);\n private _componentFactoryResolver = inject(ComponentFactoryResolver);\n private _document = inject<Document>(DOCUMENT);\n private _appRef = inject(ApplicationRef);\n private _injector = inject(Injector);\n private _config = inject(CONTENTFUL_CONFIG, { optional: true }) ?? createContentfulConfig();\n\n resetAndRender() {\n // clear childNodes to prevent appending new richtext elements to existing one\n const childElements = this._elementRef.nativeElement.childNodes;\n for (const child of childElements) {\n this._renderer.removeChild(this._elementRef.nativeElement, child);\n }\n\n if (!this._richText) {\n return;\n }\n\n const commands = createRenderCommandsFromContentfulRichText({ data: this._richText, config: this._config });\n\n this._render(commands);\n }\n\n private _render(commands: RichTextRenderCommand[]) {\n // create a document fragment to hold the elements while we create them\n const fragment = document.createDocumentFragment();\n\n const hostCommand: RichTextRenderCommand = {\n payload: 'document',\n children: commands,\n };\n\n // loop over the commands\n this._executeCommand({ command: hostCommand, parent: fragment });\n\n // append the fragment to the host element\n this._renderer.appendChild(this._elementRef.nativeElement, fragment);\n }\n\n private _executeCommand(data: { command: RichTextRenderCommand; parent: Element | DocumentFragment }) {\n const { command, parent } = data;\n\n let element: Element | null = null;\n if (command.payload !== 'document') {\n if (typeof command.payload === 'string') {\n element = this._renderer.createElement(command.payload);\n\n if (command.data) {\n this._renderer.setProperty(element, 'innerText', command.data);\n }\n\n if (command.attributes) {\n for (const [name, value] of Object.entries(command.attributes)) {\n this._renderer.setAttribute(element, name, value);\n }\n }\n this._renderer.appendChild(parent, element);\n } else {\n const injector = Injector.create({\n providers: [\n {\n provide: RICH_TEXT_RENDERER_COMPONENT_DATA,\n useValue: command.data,\n },\n ],\n parent: this._injector,\n });\n\n const portal = new DomPortalOutlet(\n parent as Element,\n this._componentFactoryResolver,\n this._appRef,\n injector,\n this._document,\n );\n\n const comp = new ComponentPortal(command.payload);\n const ref = comp.attach(portal);\n\n if (ref.instance instanceof ContentfulImageComponent) {\n ref.instance.sizes = this._config.imageOptions.sizes;\n ref.instance.srcsetSizes = this._config.imageOptions.srcsetSizes;\n ref.instance.backgroundColor = this._config.imageOptions.backgroundColor;\n }\n\n element = ref.location.nativeElement;\n }\n }\n\n // loop over the commands\n for (const childCommand of command.children) {\n this._executeCommand({ command: childCommand, parent: element ?? parent });\n }\n }\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { NgClassType } from '@ethlete/core';\nimport { ContentfulAsset } from '../../types';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\n\n@Component({\n selector: 'et-contentful-audio',\n template: `\n <figure *ngIf=\"data\" [ngClass]=\"figureClass\">\n <figcaption [ngClass]=\"figcaptionClass\">{{ data.title }}</figcaption>\n <audio [ngClass]=\"audioClass\" controls src=\"{{ data.url }}\"></audio>\n </figure>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, NgClass],\n})\nexport class ContentfulAudioComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset>(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | null | undefined) {\n if (v && !v.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n if (v && !v.contentType.startsWith('audio/')) {\n throw new Error('The provided asset is not an audio');\n }\n\n this._data = v ?? null;\n }\n private _data: ContentfulAsset | null = null;\n\n @Input()\n audioClass: NgClassType = null;\n\n @Input()\n figureClass: NgClassType = null;\n\n @Input()\n figcaptionClass: NgClassType = null;\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { NgClassType } from '@ethlete/core';\nimport { ContentfulAsset } from '../../types';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\n\n@Component({\n selector: 'et-contentful-file',\n template: `\n <a *ngIf=\"data\" [href]=\"data.url\" [ngClass]=\"fileClass\" class=\"underline\" target=\"_blank\">\n {{ data.title }} ({{ data.size }} Bytes)\n </a>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, NgClass],\n})\nexport class ContentfulFileComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset>(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | null | undefined) {\n if (v && !v.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n this._data = v ?? null;\n }\n private _data: ContentfulAsset | null = null;\n\n @Input()\n fileClass: NgClassType = null;\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { NgClassType } from '@ethlete/core';\nimport { ContentfulAsset } from '../../types';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\n\n@Component({\n selector: 'et-contentful-video',\n template: `\n <video *ngIf=\"data\" [ngClass]=\"videoClass\" controls>\n <source src=\"{{ data.url }}\" type=\"{{ data.contentType }}\" />\n </video>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, NgClass],\n})\nexport class ContentfulVideoComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset>(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | null | undefined) {\n if (v && !v.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n if (v && !v.contentType.startsWith('video/')) {\n throw new Error('The provided asset is not an video');\n }\n\n this._data = v ?? null;\n }\n private _data: ContentfulAsset | null = null;\n\n @Input()\n videoClass: NgClassType = null;\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n}\n","import {\n ContentfulAudioComponent,\n ContentfulFileComponent,\n ContentfulImageComponent,\n ContentfulRichTextRendererComponent,\n ContentfulVideoComponent,\n} from './public-api';\n\nexport const ContentfulImports = [\n ContentfulAudioComponent,\n ContentfulFileComponent,\n ContentfulImageComponent,\n ContentfulVideoComponent,\n ContentfulRichTextRendererComponent,\n] as const;\n","import { gql } from '@ethlete/query';\n\nexport const GQL_FRAGMENT_CONTENTFUL_ASSET = gql`\n fragment AssetData on Asset {\n sys {\n id\n }\n url\n title\n width\n height\n description\n contentType\n size\n }\n`;\n\nexport const GQL_FRAGMENT_CONTENTFUL_IMAGE = gql`\n fragment ImageData on Image {\n sys {\n id\n }\n asset {\n ...AssetData\n }\n alt\n caption\n resizeBehavior\n focusArea\n quality\n __typename\n }\n`;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethlete-contentful.mjs","sources":["../../../../libs/contentful/src/lib/constants/contentful.constants.ts","../../../../libs/contentful/src/lib/utils/contentful-config.ts","../../../../libs/contentful/src/lib/components/rich-text-renderer/rich-text-renderer.constants.ts","../../../../libs/contentful/src/lib/utils/contentful.util.ts","../../../../libs/contentful/src/lib/components/image/contentful-image.component.utils.ts","../../../../libs/contentful/src/lib/components/image/contentful-image.component.ts","../../../../libs/contentful/src/lib/components/rich-text-renderer/rich-text-renderer.util.ts","../../../../libs/contentful/src/lib/components/rich-text-renderer/rich-text-renderer.component.ts","../../../../libs/contentful/src/lib/components/audio/contentful-audio.component.ts","../../../../libs/contentful/src/lib/components/file/contentful-file.component.ts","../../../../libs/contentful/src/lib/components/video/contentful-video.component.ts","../../../../libs/contentful/src/lib/contentful.imports.ts","../../../../libs/contentful/src/lib/gql/asset.fragments.ts","../../../../libs/contentful/src/ethlete-contentful.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { ContentfulConfig } from '../types';\n\nexport const CONTENTFUL_CONFIG = new InjectionToken<ContentfulConfig>('ContentfulConfig');\n","import {\n ContentfulAudioComponent,\n ContentfulFileComponent,\n ContentfulImageComponent,\n ContentfulVideoComponent,\n} from '../components';\nimport { ContentfulConfig } from '../types';\n\nexport const createContentfulConfig = (\n config: Partial<ContentfulConfig> | null | undefined = {},\n): ContentfulConfig => ({\n // This default config must be inline and not saved inside a const for some weird webpack reason\n ...{\n useTailwindClasses: false,\n components: {\n audio: ContentfulAudioComponent,\n file: ContentfulFileComponent,\n image: ContentfulImageComponent,\n video: ContentfulVideoComponent,\n },\n customComponents: {},\n imageOptions: {\n srcsetSizes: ['375w', '1280w', '1920w', '2560w'],\n sizes: [],\n backgroundColor: null,\n },\n },\n ...(config || {}),\n});\n","import { InjectionToken } from '@angular/core';\n\nexport const RICH_TEXT_RENDERER_COMPONENT_DATA = new InjectionToken<unknown>('RICH_TEXT_RENDERER_COMPONENT_DATA');\n","import { CONTENTFUL_CONFIG } from '../constants';\nimport { ContentfulAsset, ContentfulConfig, ContentfulImage } from '../types';\nimport { createContentfulConfig } from './contentful-config';\n\nexport const provideContentfulConfig = (contentfulConfig: Partial<ContentfulConfig> | null | undefined = {}) => {\n return { provide: CONTENTFUL_CONFIG, useValue: createContentfulConfig(contentfulConfig) };\n};\n\nexport const isContentfulImage = (v: ContentfulAsset | ContentfulImage | null | undefined): v is ContentfulImage => {\n return !!v && 'asset' in v && 'alt' in v && 'resizeBehavior' in v && 'focusArea' in v;\n};\n\nexport const isContentfulAsset = (v: ContentfulAsset | ContentfulImage | null | undefined): v is ContentfulAsset => {\n return !!v && 'contentType' in v && 'description' in v && 'height' in v && 'url' in v && 'width' in v;\n};\n","import { PictureSource } from '@ethlete/cdk';\nimport { ContentfulAsset, ContentfulImage } from '../../types';\nimport { isContentfulImage } from '../../utils';\n\nexport const generateDefaultContentfulImageSource = (data: ContentfulAsset): PictureSource => {\n const { url, contentType } = data;\n\n return {\n type: contentType,\n srcset: url,\n };\n};\n\n/**\n * Parses source set sizes into an object containing with and height. Eg.\n * - `\"400\"` - 400px width\n * - `\"400x300\"` - 400px width and 300px height\n * - `\"400w\"` - 400px width\n * - `\"400h\"` - 400px height\n * - `\"400wx300h\"` - 400px width and 300px height\n **/\nexport const parseContentfulImageSize = (size: string): { width: number | null; height: number | null } => {\n let width: string | null | undefined = null;\n let height: string | null | undefined = null;\n\n if (size.includes('x')) {\n const [w, h] = size.split('x');\n\n width = w;\n height = h;\n } else if (size.includes('h')) {\n height = size;\n } else {\n width = size;\n }\n\n return {\n width: width ? parseInt(width, 10) : null,\n height: height ? parseInt(height, 10) : null,\n };\n};\n\nexport const generateContentfulImageSources = (\n data: ContentfulAsset | ContentfulImage,\n srcsetSizes: string[],\n backgroundColor: string | null,\n): PictureSource[] => {\n const assetData = isContentfulImage(data) ? data.asset : data;\n const imageData = isContentfulImage(data) ? data : null;\n\n if (!assetData) {\n return [];\n }\n\n const sources: PictureSource[] = [];\n\n const SOURCE_TYPES = ['image/avif', 'image/webp', 'image/png', 'image/jpg'];\n\n for (const type of SOURCE_TYPES) {\n const baseUrl = assetData.url;\n const sourceSets: string[] = [];\n const queryParams: string[] = [];\n\n // Set the format (e.g. 'fm=webp')\n queryParams.push(`fm=${type.split('/')[1]}`);\n\n if (backgroundColor) {\n queryParams.push(`bg=rgb:${backgroundColor}`);\n }\n\n if (imageData) {\n if (imageData.quality) {\n queryParams.push(`q=${imageData.quality}`);\n }\n\n if (imageData.focusArea) {\n queryParams.push(`f=${imageData.focusArea}`);\n }\n\n if (imageData.resizeBehavior) {\n queryParams.push(`fit=${imageData.resizeBehavior}`);\n }\n }\n\n if (srcsetSizes?.length) {\n const urlWithParams = `${baseUrl}?${queryParams.join('&')}`;\n\n for (const size of srcsetSizes) {\n const { width, height } = parseContentfulImageSize(size);\n\n if (width && height) {\n sourceSets.push(`${urlWithParams}&w=${width}&h=${height} ${width}w`);\n } else if (width) {\n sourceSets.push(`${urlWithParams}&w=${width} ${width}w`);\n } else if (height) {\n sourceSets.push(`${urlWithParams}&h=${height} ${height}h`);\n }\n }\n }\n\n sources.push({\n type,\n srcset: sourceSets.length ? sourceSets.join(', ') : `${baseUrl}?${queryParams.join('&')}`,\n });\n }\n\n return sources;\n};\n","import { NgClass, NgOptimizedImage } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { PictureComponent, PictureDataDirective, PictureSource } from '@ethlete/cdk';\nimport { ContentfulAsset, ContentfulImage } from '../../types';\nimport { isContentfulImage } from '../../utils';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\nimport {\n generateContentfulImageSources,\n generateDefaultContentfulImageSource,\n} from './contentful-image.component.utils';\n\n@Component({\n selector: 'et-contentful-image',\n template: `\n <et-picture\n [imgClass]=\"pictureData.imgClass\"\n [hasPriority]=\"pictureData.hasPriority\"\n [figureClass]=\"pictureData.figureClass\"\n [pictureClass]=\"pictureData.pictureClass\"\n [figcaptionClass]=\"pictureData.figcaptionClass\"\n [defaultSrc]=\"pictureData.defaultSrc\"\n [alt]=\"pictureData.alt\"\n [figcaption]=\"pictureData.figcaption\"\n [width]=\"pictureData.width\"\n [height]=\"pictureData.height\"\n [sizes]=\"pictureData.sizes\"\n [sources]=\"sources\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass, NgOptimizedImage, PictureComponent],\n hostDirectives: [\n {\n directive: PictureDataDirective,\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['imgClass', 'hasPriority', 'figureClass', 'pictureClass', 'figcaptionClass'],\n },\n ],\n host: {\n class: 'et-contentful-image',\n },\n})\nexport class ContentfulImageComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset | ContentfulImage>(RICH_TEXT_RENDERER_COMPONENT_DATA, {\n optional: true,\n });\n\n protected readonly pictureData = inject(PictureDataDirective);\n readonly _cdr = inject(ChangeDetectorRef);\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | ContentfulImage | null | undefined) {\n const assetData = isContentfulImage(v) ? v.asset : v;\n const imageData = isContentfulImage(v) ? v : null;\n\n if (assetData && !assetData.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n if (assetData && !assetData.contentType.startsWith('image/')) {\n throw new Error('The provided asset is not an image');\n }\n\n this._data = v ?? null;\n this.pictureData.defaultSrc = assetData ? generateDefaultContentfulImageSource(assetData) : null;\n this.pictureData.alt = imageData?.alt ?? assetData?.description ?? null;\n this.pictureData.width = assetData?.width ?? null;\n this.pictureData.height = assetData?.height ?? null;\n this.pictureData.figcaption = imageData?.caption ?? null;\n\n this.updateSizes();\n }\n private _data: ContentfulAsset | ContentfulImage | null = null;\n\n @Input()\n get sizes(): string[] {\n return this._sizes;\n }\n set sizes(v: string[]) {\n this._sizes = v;\n this.pictureData.sizes = this.sizes?.join(', ') ?? null;\n }\n private _sizes: string[] = [];\n\n @Input()\n get srcsetSizes(): string[] {\n return this._srcsetSizes;\n }\n set srcsetSizes(v: string[]) {\n this._srcsetSizes = v;\n this.updateSizes();\n }\n private _srcsetSizes: string[] = [];\n\n @Input()\n get backgroundColor() {\n return this._backgroundColor;\n }\n set backgroundColor(v: string | null) {\n this._backgroundColor = v;\n this.updateSizes();\n }\n private _backgroundColor: string | null = null;\n\n protected sources: PictureSource[] = [];\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n\n private updateSizes() {\n this.sources = this._data ? generateContentfulImageSources(this._data, this.srcsetSizes, this.backgroundColor) : [];\n\n this._cdr.markForCheck();\n }\n}\n","import { Block, BLOCKS, Inline, INLINES, Mark, Text } from '@contentful/rich-text-types';\nimport { ContentfulAsset, ContentfulConfig, ContentfulEntryBase, RichTextResponse } from '../../types';\nimport { ContentfulImageComponent } from '../image';\nimport { ContentfulResourceMap, RichTextRenderCommand } from './rich-text-renderer.types';\n\nexport const createRenderCommandsFromContentfulRichText = (options: {\n data: RichTextResponse;\n config: ContentfulConfig;\n}) => {\n const { data, config } = options;\n\n const commands: RichTextRenderCommand[] = [];\n const resourceMap = createContentfulResourceMap(data.links);\n\n createContentfulRenderCommand(data.json, { children: commands, payload: data.json.nodeType }, resourceMap, config);\n\n return commands;\n};\n\nexport const createContentfulRenderCommand = (\n node: Block | Inline | Text,\n parent: RichTextRenderCommand,\n resourceMap: ContentfulResourceMap,\n config: ContentfulConfig,\n) => {\n const { nodeType, data: nodeData } = node;\n\n const { children, marks, value } = getContentfulNodeProps(node);\n\n const command: RichTextRenderCommand = {\n payload: translateContentfulNodeTypeToHtmlTag(nodeType),\n data: value,\n attributes: {\n ...(marks\n ? {\n class: transformContentfulMarks(marks, config.useTailwindClasses),\n }\n : {}),\n ...(nodeData['uri'] ? { href: nodeData['uri'], target: '_blank' } : {}),\n },\n children: [],\n };\n\n const entryId = nodeData['target']?.sys?.id;\n\n if (nodeType === BLOCKS.EMBEDDED_ASSET) {\n const asset = resourceMap.assetsBlock.get(entryId);\n\n if (asset) {\n const isImage = asset.contentType.startsWith('image/');\n const isVideo = asset.contentType.startsWith('video/');\n const isAudio = asset.contentType.startsWith('audio/');\n\n command.data = asset;\n\n if (isImage) {\n command.payload = config.components.image;\n } else if (isVideo) {\n command.payload = config.components.video;\n } else if (isAudio) {\n command.payload = config.components.audio;\n } else {\n command.payload = config.components.file;\n }\n } else {\n console.warn(`No asset found for entry id \"${entryId}\"!`, nodeData);\n }\n } else if (nodeType === BLOCKS.EMBEDDED_ENTRY || nodeType === INLINES.EMBEDDED_ENTRY) {\n const entry = resourceMap.entriesBlock.get(entryId) ?? resourceMap.entriesInline.get(entryId);\n\n if (entry) {\n const type = entry?.__typename ?? 'ET_UNKNOWN';\n\n // \"Image\" is a special wrapper content model for contentful assets.\n // It must be created by the user.\n const component = type === 'Image' ? ContentfulImageComponent : config.customComponents?.[type];\n\n if (component) {\n command.payload = component;\n command.data = entry;\n } else {\n command.data = `ERROR: No component found for embedded entry \"${type}\" as \"${nodeType}\"!`;\n }\n } else {\n console.warn(`No entry found for entry id \"${entryId}\"!`, nodeData);\n }\n }\n\n if (children && (children.length !== 1 || children[0]?.nodeType !== 'text')) {\n children.forEach((child) => {\n createContentfulRenderCommand(child, command, resourceMap, config);\n });\n }\n\n parent.children.push(command);\n\n return command;\n};\n\nexport const getContentfulNodeProps = (node: Block | Inline | Text) => {\n const children = 'content' in node ? node.content : null;\n let marks: Mark[] | null = null;\n let value: string | null = null;\n\n if (children && children.length === 1 && children[0]?.nodeType === 'text') {\n marks = children[0].marks?.length ? children[0].marks : null;\n value = children[0].value;\n } else {\n marks = 'marks' in node ? (node.marks?.length ? node.marks : null) : null;\n value = 'value' in node ? node.value : null;\n }\n\n return {\n children,\n marks,\n value,\n };\n};\n\nexport const transformContentfulMarks = (marks: Mark[], useTailwindClasses: boolean) => {\n return marks\n .map((mark) => {\n switch (mark.type) {\n case 'bold':\n return useTailwindClasses ? 'font-bold' : mark.type;\n case 'italic':\n return useTailwindClasses ? 'italic' : mark.type;\n case 'underline':\n return useTailwindClasses ? 'underline' : mark.type;\n case 'code':\n return useTailwindClasses ? 'font-mono' : mark.type;\n default:\n return mark.type;\n }\n })\n .join(' ');\n};\n\nexport const translateContentfulNodeTypeToHtmlTag = (nodeType: 'text' | BLOCKS | INLINES) => {\n switch (nodeType) {\n case BLOCKS.HEADING_1:\n return 'h1';\n case BLOCKS.HEADING_2:\n return 'h2';\n case BLOCKS.HEADING_3:\n return 'h3';\n case BLOCKS.HEADING_4:\n return 'h4';\n case BLOCKS.HEADING_5:\n return 'h5';\n case BLOCKS.HEADING_6:\n return 'h6';\n case BLOCKS.PARAGRAPH:\n return 'p';\n case BLOCKS.UL_LIST:\n return 'ul';\n case BLOCKS.OL_LIST:\n return 'ol';\n case BLOCKS.LIST_ITEM:\n return 'li';\n case BLOCKS.HR:\n return 'hr';\n case BLOCKS.QUOTE:\n return 'blockquote';\n case BLOCKS.TABLE:\n return 'table';\n case BLOCKS.TABLE_ROW:\n return 'tr';\n case BLOCKS.TABLE_CELL:\n return 'td';\n case BLOCKS.TABLE_HEADER_CELL:\n return 'th';\n case BLOCKS.EMBEDDED_ASSET:\n return 'div';\n\n case INLINES.HYPERLINK:\n return 'a';\n case INLINES.ENTRY_HYPERLINK:\n return 'a';\n case INLINES.ASSET_HYPERLINK:\n return 'a';\n\n case 'text':\n return 'span';\n\n // Will be ignored by the renderer\n case 'document':\n return 'document';\n\n case BLOCKS.EMBEDDED_ENTRY:\n return 'div';\n case INLINES.EMBEDDED_ENTRY:\n return 'div';\n\n default:\n return 'div';\n }\n};\n\nexport const createContentfulResourceMap = (links: RichTextResponse['links']): ContentfulResourceMap => {\n const resourceMap = {\n assetsBlock: createContentfulMap<ContentfulAsset>(links?.assets?.block),\n entriesInline: createContentfulMap(links?.entries?.inline),\n entriesBlock: createContentfulMap(links?.entries?.block),\n } as const;\n\n return resourceMap;\n};\n\nexport const createContentfulMap = <T extends ContentfulEntryBase>(links: Array<T> | null | undefined) => {\n const assetMap = new Map<string, T>();\n\n if (links) {\n for (const link of links) {\n if (!link?.sys?.id) {\n console.warn('Link has no sys.id property. Please include it inside your query.', link);\n continue;\n }\n\n assetMap.set(link.sys.id, link);\n }\n }\n\n return assetMap;\n};\n","import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ChangeDetectionStrategy,\n Component,\n ComponentFactoryResolver,\n ElementRef,\n inject,\n Injector,\n Input,\n Renderer2,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ContentfulImageComponent } from '..';\nimport { CONTENTFUL_CONFIG } from '../../constants/contentful.constants';\nimport { RichTextResponse } from '../../types';\nimport { createContentfulConfig } from '../../utils/contentful-config';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from './rich-text-renderer.constants';\nimport { RichTextRenderCommand } from './rich-text-renderer.types';\nimport { createRenderCommandsFromContentfulRichText } from './rich-text-renderer.util';\n\n@Component({\n selector: 'et-contentful-rich-text-renderer',\n template: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n class: 'et-contentful-rich-text-renderer',\n },\n})\nexport class ContentfulRichTextRendererComponent {\n @Input()\n get richText() {\n return this._richText;\n }\n set richText(v: RichTextResponse | null | undefined) {\n this._richText = v ?? null;\n\n this.resetAndRender();\n }\n private _richText: RichTextResponse | null = null;\n\n private _renderer = inject(Renderer2);\n private _elementRef = inject(ElementRef);\n private _componentFactoryResolver = inject(ComponentFactoryResolver);\n private _document = inject<Document>(DOCUMENT);\n private _appRef = inject(ApplicationRef);\n private _injector = inject(Injector);\n private _config = inject(CONTENTFUL_CONFIG, { optional: true }) ?? createContentfulConfig();\n\n resetAndRender() {\n // clear childNodes to prevent appending new richtext elements to existing one\n const childElements = this._elementRef.nativeElement.childNodes;\n for (const child of childElements) {\n this._renderer.removeChild(this._elementRef.nativeElement, child);\n }\n\n if (!this._richText) {\n return;\n }\n\n const commands = createRenderCommandsFromContentfulRichText({ data: this._richText, config: this._config });\n\n this._render(commands);\n }\n\n private _render(commands: RichTextRenderCommand[]) {\n // create a document fragment to hold the elements while we create them\n const fragment = document.createDocumentFragment();\n\n const hostCommand: RichTextRenderCommand = {\n payload: 'document',\n children: commands,\n };\n\n // loop over the commands\n this._executeCommand({ command: hostCommand, parent: fragment });\n\n // append the fragment to the host element\n this._renderer.appendChild(this._elementRef.nativeElement, fragment);\n }\n\n private _executeCommand(data: { command: RichTextRenderCommand; parent: Element | DocumentFragment }) {\n const { command, parent } = data;\n\n let element: Element | null = null;\n if (command.payload !== 'document') {\n if (typeof command.payload === 'string') {\n element = this._renderer.createElement(command.payload);\n\n if (command.data) {\n this._renderer.setProperty(element, 'innerText', command.data);\n }\n\n if (command.attributes) {\n for (const [name, value] of Object.entries(command.attributes)) {\n this._renderer.setAttribute(element, name, value);\n }\n }\n this._renderer.appendChild(parent, element);\n } else {\n const injector = Injector.create({\n providers: [\n {\n provide: RICH_TEXT_RENDERER_COMPONENT_DATA,\n useValue: command.data,\n },\n ],\n parent: this._injector,\n });\n\n const portal = new DomPortalOutlet(\n parent as Element,\n this._componentFactoryResolver,\n this._appRef,\n injector,\n this._document,\n );\n\n const comp = new ComponentPortal(command.payload);\n const ref = comp.attach(portal);\n\n if (ref.instance instanceof ContentfulImageComponent) {\n ref.instance.sizes = this._config.imageOptions.sizes;\n ref.instance.srcsetSizes = this._config.imageOptions.srcsetSizes;\n ref.instance.backgroundColor = this._config.imageOptions.backgroundColor;\n }\n\n element = ref.location.nativeElement;\n }\n }\n\n // loop over the commands\n for (const childCommand of command.children) {\n this._executeCommand({ command: childCommand, parent: element ?? parent });\n }\n }\n}\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { NgClassType } from '@ethlete/core';\nimport { ContentfulAsset } from '../../types';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\n\n@Component({\n selector: 'et-contentful-audio',\n template: `\n @if (data) {\n <figure [ngClass]=\"figureClass\">\n <figcaption [ngClass]=\"figcaptionClass\">{{ data.title }}</figcaption>\n <audio [ngClass]=\"audioClass\" controls src=\"{{ data.url }}\"></audio>\n </figure>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass],\n})\nexport class ContentfulAudioComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset>(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | null | undefined) {\n if (v && !v.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n if (v && !v.contentType.startsWith('audio/')) {\n throw new Error('The provided asset is not an audio');\n }\n\n this._data = v ?? null;\n }\n private _data: ContentfulAsset | null = null;\n\n @Input()\n audioClass: NgClassType = null;\n\n @Input()\n figureClass: NgClassType = null;\n\n @Input()\n figcaptionClass: NgClassType = null;\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n}\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { NgClassType } from '@ethlete/core';\nimport { ContentfulAsset } from '../../types';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\n\n@Component({\n selector: 'et-contentful-file',\n template: `\n @if (data) {\n <a [href]=\"data.url\" [ngClass]=\"fileClass\" class=\"underline\" target=\"_blank\">\n {{ data.title }} ({{ data.size }} Bytes)\n </a>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass],\n})\nexport class ContentfulFileComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset>(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | null | undefined) {\n if (v && !v.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n this._data = v ?? null;\n }\n private _data: ContentfulAsset | null = null;\n\n @Input()\n fileClass: NgClassType = null;\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n}\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { NgClassType } from '@ethlete/core';\nimport { ContentfulAsset } from '../../types';\nimport { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';\n\n@Component({\n selector: 'et-contentful-video',\n template: `\n @if (data) {\n <video [ngClass]=\"videoClass\" controls>\n <source src=\"{{ data.url }}\" type=\"{{ data.contentType }}\" />\n </video>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass],\n})\nexport class ContentfulVideoComponent implements OnInit {\n private _richTextData = inject<ContentfulAsset>(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });\n\n @Input()\n get data() {\n return this._data;\n }\n set data(v: ContentfulAsset | null | undefined) {\n if (v && !v.contentType) {\n this._data = null;\n\n console.warn('The provided asset is invalid', v);\n\n return;\n }\n\n if (v && !v.contentType.startsWith('video/')) {\n throw new Error('The provided asset is not an video');\n }\n\n this._data = v ?? null;\n }\n private _data: ContentfulAsset | null = null;\n\n @Input()\n videoClass: NgClassType = null;\n\n ngOnInit(): void {\n if (this._richTextData && !this.data) {\n this.data = this._richTextData;\n }\n }\n}\n","import {\n ContentfulAudioComponent,\n ContentfulFileComponent,\n ContentfulImageComponent,\n ContentfulRichTextRendererComponent,\n ContentfulVideoComponent,\n} from './public-api';\n\nexport const ContentfulImports = [\n ContentfulAudioComponent,\n ContentfulFileComponent,\n ContentfulImageComponent,\n ContentfulVideoComponent,\n ContentfulRichTextRendererComponent,\n] as const;\n","import { gql } from '@ethlete/query';\n\nexport const GQL_FRAGMENT_CONTENTFUL_ASSET = gql`\n fragment AssetData on Asset {\n sys {\n id\n }\n url\n title\n width\n height\n description\n contentType\n size\n }\n`;\n\nexport const GQL_FRAGMENT_CONTENTFUL_IMAGE = gql`\n fragment ImageData on Image {\n sys {\n id\n }\n asset {\n ...AssetData\n }\n alt\n caption\n resizeBehavior\n focusArea\n quality\n __typename\n }\n`;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@ethlete/contentful",
3
- "version": "2.0.3",
3
+ "version": "2.1.1",
4
4
  "peerDependencies": {
5
- "@angular/cdk": "16.2.10",
6
- "@angular/common": "16.2.11",
7
- "@angular/core": "16.2.11",
8
- "@contentful/rich-text-types": "16.3.0",
9
- "@ethlete/cdk": "4.0.3",
10
- "@ethlete/core": "4.0.3",
11
- "@ethlete/query": "5.0.3"
5
+ "@angular/cdk": "17.0.0",
6
+ "@angular/common": "17.0.2",
7
+ "@angular/core": "17.0.2",
8
+ "@contentful/rich-text-types": "^16.3.0",
9
+ "@ethlete/cdk": "^4.0.3",
10
+ "@ethlete/core": "^4.0.3",
11
+ "@ethlete/query": "^5.0.3"
12
12
  },
13
13
  "module": "fesm2022/ethlete-contentful.mjs",
14
14
  "typings": "index.d.ts",