@ethlete/contentful 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import { NgClass, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
4
4
  import * as i0 from "@angular/core";
5
- class ContentfulAudioComponent {
5
+ export class ContentfulAudioComponent {
6
6
  constructor() {
7
7
  this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });
8
8
  this._data = null;
@@ -29,16 +29,15 @@ class ContentfulAudioComponent {
29
29
  this.data = this._richTextData;
30
30
  }
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
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
34
  <figure *ngIf="data" [ngClass]="figureClass">
35
35
  <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
36
36
  <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
37
37
  </figure>
38
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 }); }
39
39
  }
40
- export { ContentfulAudioComponent };
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
42
41
  type: Component,
43
42
  args: [{
44
43
  selector: 'et-contentful-audio',
@@ -62,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
62
61
  }], figcaptionClass: [{
63
62
  type: Input
64
63
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRSxNQWFhLHdCQUF3QjtJQWJyQztRQWNVLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixpQ0FBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBcUIvRixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxlQUFVLEdBQWdCLElBQUksQ0FBQztRQUcvQixnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFHaEMsb0JBQWUsR0FBZ0IsSUFBSSxDQUFDO0tBT3JDO0lBbkNDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQVlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7OEdBckNVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1NQVh6Qjs7Ozs7R0FLVCw0REFJUyxJQUFJLDZGQUFFLE9BQU87O1NBRVosd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBYnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7OztHQUtUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7aUJBQ3pCOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFzQk4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWF1ZGlvJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZmlndXJlICpuZ0lmPVwiZGF0YVwiIFtuZ0NsYXNzXT1cImZpZ3VyZUNsYXNzXCI+XG4gICAgICA8ZmlnY2FwdGlvbiBbbmdDbGFzc109XCJmaWdjYXB0aW9uQ2xhc3NcIj57eyBkYXRhLnRpdGxlIH19PC9maWdjYXB0aW9uPlxuICAgICAgPGF1ZGlvIFtuZ0NsYXNzXT1cImF1ZGlvQ2xhc3NcIiBjb250cm9scyBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiPjwvYXVkaW8+XG4gICAgPC9maWd1cmU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxBdWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQ+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodiAmJiAhdi5jb250ZW50VHlwZS5zdGFydHNXaXRoKCdhdWRpby8nKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgbm90IGFuIGF1ZGlvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YSA9IHYgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9kYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBhdWRpb0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlndXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWUxRSxNQUFNLE9BQU8sd0JBQXdCO0lBYnJDO1FBY1Usa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBRy9CLGdCQUFXLEdBQWdCLElBQUksQ0FBQztRQUdoQyxvQkFBZSxHQUFnQixJQUFJLENBQUM7S0FPckM7SUFuQ0MsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxDQUFxQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFbEIsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVqRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6QixDQUFDO0lBWUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzsrR0FyQ1Usd0JBQXdCO21HQUF4Qix3QkFBd0IsbU1BWHpCOzs7OztHQUtULDREQUlTLElBQUksNkZBQUUsT0FBTzs7NEZBRVosd0JBQXdCO2tCQWJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7R0FLVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2lCQUN6Qjs4QkFLSyxJQUFJO3NCQURQLEtBQUs7Z0JBc0JOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1hdWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZpZ3VyZSAqbmdJZj1cImRhdGFcIiBbbmdDbGFzc109XCJmaWd1cmVDbGFzc1wiPlxuICAgICAgPGZpZ2NhcHRpb24gW25nQ2xhc3NdPVwiZmlnY2FwdGlvbkNsYXNzXCI+e3sgZGF0YS50aXRsZSB9fTwvZmlnY2FwdGlvbj5cbiAgICAgIDxhdWRpbyBbbmdDbGFzc109XCJhdWRpb0NsYXNzXCIgY29udHJvbHMgc3JjPVwie3sgZGF0YS51cmwgfX1cIj48L2F1ZGlvPlxuICAgIDwvZmlndXJlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsQXVkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUuc3RhcnRzV2l0aCgnYXVkaW8vJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiBhdWRpbycpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YTogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgYXVkaW9DbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpZ3VyZUNsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlnY2FwdGlvbkNsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JpY2hUZXh0RGF0YSAmJiAhdGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLl9yaWNoVGV4dERhdGE7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { NgClass, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
4
4
  import * as i0 from "@angular/core";
5
- class ContentfulFileComponent {
5
+ export class ContentfulFileComponent {
6
6
  constructor() {
7
7
  this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });
8
8
  this._data = null;
@@ -24,15 +24,14 @@ class ContentfulFileComponent {
24
24
  this.data = this._richTextData;
25
25
  }
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
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
29
  <a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
30
30
  {{ data.title }} ({{ data.size }} Bytes)
31
31
  </a>
32
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 }); }
33
33
  }
34
- export { ContentfulFileComponent };
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulFileComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulFileComponent, decorators: [{
36
35
  type: Component,
37
36
  args: [{
38
37
  selector: 'et-contentful-file',
@@ -51,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
51
50
  }], fileClass: [{
52
51
  type: Input
53
52
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRSxNQVlhLHVCQUF1QjtJQVpwQztRQWFVLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixpQ0FBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBaUIvRixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxjQUFTLEdBQWdCLElBQUksQ0FBQztLQU8vQjtJQXpCQyxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLENBQXFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUVsQixPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRWpELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6QixDQUFDO0lBTUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs4R0EzQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsZ0lBVnhCOzs7O0dBSVQsNERBSVMsSUFBSSw2RkFBRSxPQUFPOztTQUVaLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQVpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7aUJBQ3pCOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFrQk4sU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1maWxlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YSAqbmdJZj1cImRhdGFcIiBbaHJlZl09XCJkYXRhLnVybFwiIFtuZ0NsYXNzXT1cImZpbGVDbGFzc1wiIGNsYXNzPVwidW5kZXJsaW5lXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICB7eyBkYXRhLnRpdGxlIH19ICh7eyBkYXRhLnNpemUgfX0gQnl0ZXMpXG4gICAgPC9hPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsRmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQ+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpbGVDbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWMxRSxNQUFNLE9BQU8sdUJBQXVCO0lBWnBDO1FBYVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFpQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO0tBTy9CO0lBekJDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDaEM7SUFDSCxDQUFDOytHQTNCVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnSUFWeEI7Ozs7R0FJVCw0REFJUyxJQUFJLDZGQUFFLE9BQU87OzRGQUVaLHVCQUF1QjtrQkFabkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2lCQUN6Qjs4QkFLSyxJQUFJO3NCQURQLEtBQUs7Z0JBa0JOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4uL3JpY2gtdGV4dC1yZW5kZXJlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtZmlsZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGEgKm5nSWY9XCJkYXRhXCIgW2hyZWZdPVwiZGF0YS51cmxcIiBbbmdDbGFzc109XCJmaWxlQ2xhc3NcIiBjbGFzcz1cInVuZGVybGluZVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAge3sgZGF0YS50aXRsZSB9fSAoe3sgZGF0YS5zaXplIH19IEJ5dGVzKVxuICAgIDwvYT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YSA9IHYgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9kYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWxlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -6,7 +6,7 @@ import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
6
6
  import { generateContentfulImageSources, generateDefaultContentfulImageSource, } from './contentful-image.component.utils';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ethlete/cdk";
9
- class ContentfulImageComponent {
9
+ export class ContentfulImageComponent {
10
10
  constructor() {
11
11
  this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, {
12
12
  optional: true,
@@ -71,8 +71,8 @@ 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.0.0", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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: "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: `
76
76
  <et-picture
77
77
  [imgClass]="pictureData.imgClass"
78
78
  [hasPriority]="pictureData.hasPriority"
@@ -89,8 +89,7 @@ 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
- export { ContentfulImageComponent };
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulImageComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulImageComponent, decorators: [{
94
93
  type: Component,
95
94
  args: [{
96
95
  selector: 'et-contentful-image',
@@ -134,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
134
133
  }], backgroundColor: [{
135
134
  type: Input
136
135
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFFckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsb0NBQW9DLEdBQ3JDLE1BQU0sb0NBQW9DLENBQUM7OztBQUU1QyxNQWlDYSx3QkFBd0I7SUFqQ3JDO1FBa0NVLGtCQUFhLEdBQUcsTUFBTSxDQUFvQyxpQ0FBaUMsRUFBRTtZQUNuRyxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVnQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELFNBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQStCbEMsVUFBSyxHQUE2QyxJQUFJLENBQUM7UUFVdkQsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQVV0QixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQVU1QixxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBRXJDLFlBQU8sR0FBb0IsRUFBRSxDQUFDO0tBYXpDO0lB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QUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVwSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBakZVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHdjQS9CekI7Ozs7Ozs7Ozs7Ozs7OztHQWVULDREQUkwQyxnQkFBZ0I7O1NBWWhELHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQWpDcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzVELGNBQWMsRUFBRTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQix1RUFBdUU7NEJBQ3ZFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQzt5QkFDdEY7cUJBQ0Y7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7cUJBQzdCO2lCQUNGOzhCQVVLLElBQUk7c0JBRFAsS0FBSztnQkFnQ0YsS0FBSztzQkFEUixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixlQUFlO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlQ29tcG9uZW50LCBQaWN0dXJlRGF0YURpcmVjdGl2ZSwgUGljdHVyZVNvdXJjZSB9IGZyb20gJ0BldGhsZXRlL2Nkayc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQsIENvbnRlbnRmdWxJbWFnZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzQ29udGVudGZ1bEltYWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcbmltcG9ydCB7XG4gIGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyxcbiAgZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlLFxufSBmcm9tICcuL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGV0LXBpY3R1cmVcbiAgICAgIFtpbWdDbGFzc109XCJwaWN0dXJlRGF0YS5pbWdDbGFzc1wiXG4gICAgICBbaGFzUHJpb3JpdHldPVwicGljdHVyZURhdGEuaGFzUHJpb3JpdHlcIlxuICAgICAgW2ZpZ3VyZUNsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ3VyZUNsYXNzXCJcbiAgICAgIFtwaWN0dXJlQ2xhc3NdPVwicGljdHVyZURhdGEucGljdHVyZUNsYXNzXCJcbiAgICAgIFtmaWdjYXB0aW9uQ2xhc3NdPVwicGljdHVyZURhdGEuZmlnY2FwdGlvbkNsYXNzXCJcbiAgICAgIFtkZWZhdWx0U3JjXT1cInBpY3R1cmVEYXRhLmRlZmF1bHRTcmNcIlxuICAgICAgW2FsdF09XCJwaWN0dXJlRGF0YS5hbHRcIlxuICAgICAgW2ZpZ2NhcHRpb25dPVwicGljdHVyZURhdGEuZmlnY2FwdGlvblwiXG4gICAgICBbd2lkdGhdPVwicGljdHVyZURhdGEud2lkdGhcIlxuICAgICAgW2hlaWdodF09XCJwaWN0dXJlRGF0YS5oZWlnaHRcIlxuICAgICAgW3NpemVzXT1cInBpY3R1cmVEYXRhLnNpemVzXCJcbiAgICAgIFtzb3VyY2VzXT1cInNvdXJjZXNcIlxuICAgIC8+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzcywgTmdPcHRpbWl6ZWRJbWFnZSwgUGljdHVyZUNvbXBvbmVudF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBQaWN0dXJlRGF0YURpcmVjdGl2ZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gICAgICBpbnB1dHM6IFsnaW1nQ2xhc3MnLCAnaGFzUHJpb3JpdHknLCAnZmlndXJlQ2xhc3MnLCAncGljdHVyZUNsYXNzJywgJ2ZpZ2NhcHRpb25DbGFzcyddLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWNvbnRlbnRmdWwtaW1hZ2UnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0IHwgQ29udGVudGZ1bEltYWdlPihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBpY3R1cmVEYXRhID0gaW5qZWN0KFBpY3R1cmVEYXRhRGlyZWN0aXZlKTtcbiAgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgQ29udGVudGZ1bEltYWdlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGFzc2V0RGF0YSA9IGlzQ29udGVudGZ1bEltYWdlKHYpID8gdi5hc3NldCA6IHY7XG4gICAgY29uc3QgaW1hZ2VEYXRhID0gaXNDb250ZW50ZnVsSW1hZ2UodikgPyB2IDogbnVsbDtcblxuICAgIGlmIChhc3NldERhdGEgJiYgIWFzc2V0RGF0YS5jb250ZW50VHlwZSkge1xuICAgICAgdGhpcy5fZGF0YSA9IG51bGw7XG5cbiAgICAgIGNvbnNvbGUud2FybignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIGludmFsaWQnLCB2KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChhc3NldERhdGEgJiYgIWFzc2V0RGF0YS5jb250ZW50VHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgbm90IGFuIGltYWdlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YSA9IHYgPz8gbnVsbDtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLmRlZmF1bHRTcmMgPSBhc3NldERhdGEgPyBnZW5lcmF0ZURlZmF1bHRDb250ZW50ZnVsSW1hZ2VTb3VyY2UoYXNzZXREYXRhKSA6IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5hbHQgPSBpbWFnZURhdGE/LmFsdCA/PyBhc3NldERhdGE/LmRlc2NyaXB0aW9uID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS53aWR0aCA9IGFzc2V0RGF0YT8ud2lkdGggPz8gbnVsbDtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLmhlaWdodCA9IGFzc2V0RGF0YT8uaGVpZ2h0ID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5maWdjYXB0aW9uID0gaW1hZ2VEYXRhPy5jYXB0aW9uID8/IG51bGw7XG5cbiAgICB0aGlzLnVwZGF0ZVNpemVzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YTogQ29udGVudGZ1bEFzc2V0IHwgQ29udGVudGZ1bEltYWdlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZ2V0IHNpemVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZXM7XG4gIH1cbiAgc2V0IHNpemVzKHY6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fc2l6ZXMgPSB2O1xuICAgIHRoaXMucGljdHVyZURhdGEuc2l6ZXMgPSB0aGlzLnNpemVzPy5qb2luKCcsICcpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfc2l6ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgZ2V0IHNyY3NldFNpemVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc3Jjc2V0U2l6ZXM7XG4gIH1cbiAgc2V0IHNyY3NldFNpemVzKHY6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fc3Jjc2V0U2l6ZXMgPSB2O1xuICAgIHRoaXMudXBkYXRlU2l6ZXMoKTtcbiAgfVxuICBwcml2YXRlIF9zcmNzZXRTaXplczogc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBnZXQgYmFja2dyb3VuZENvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kQ29sb3I7XG4gIH1cbiAgc2V0IGJhY2tncm91bmRDb2xvcih2OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy5fYmFja2dyb3VuZENvbG9yID0gdjtcbiAgICB0aGlzLnVwZGF0ZVNpemVzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgc291cmNlczogUGljdHVyZVNvdXJjZVtdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JpY2hUZXh0RGF0YSAmJiAhdGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLl9yaWNoVGV4dERhdGE7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTaXplcygpIHtcbiAgICB0aGlzLnNvdXJjZXMgPSB0aGlzLl9kYXRhID8gZ2VuZXJhdGVDb250ZW50ZnVsSW1hZ2VTb3VyY2VzKHRoaXMuX2RhdGEsIHRoaXMuc3Jjc2V0U2l6ZXMsIHRoaXMuYmFja2dyb3VuZENvbG9yKSA6IFtdO1xuXG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFFckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsb0NBQW9DLEdBQ3JDLE1BQU0sb0NBQW9DLENBQUM7OztBQW1DNUMsTUFBTSxPQUFPLHdCQUF3QjtJQWpDckM7UUFrQ1Usa0JBQWEsR0FBRyxNQUFNLENBQW9DLGlDQUFpQyxFQUFFO1lBQ25HLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRWdCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckQsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBK0JsQyxVQUFLLEdBQTZDLElBQUksQ0FBQztRQVV2RCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBVXRCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBVTVCLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFFckMsWUFBTyxHQUFvQixFQUFFLENBQUM7S0Fh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QUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXBILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FqRlUsd0JBQXdCO21HQUF4Qix3QkFBd0Isd2NBL0J6Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsNERBSTBDLGdCQUFnQjs7NEZBWWhELHdCQUF3QjtrQkFqQ3BDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO29CQUM1RCxjQUFjLEVBQUU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLG9CQUFvQjs0QkFDL0IsdUVBQXVFOzRCQUN2RSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUM7eUJBQ3RGO3FCQUNGO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QjtpQkFDRjs4QkFVSyxJQUFJO3NCQURQLEtBQUs7Z0JBZ0NGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsZUFBZTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGljdHVyZUNvbXBvbmVudCwgUGljdHVyZURhdGFEaXJlY3RpdmUsIFBpY3R1cmVTb3VyY2UgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0LCBDb250ZW50ZnVsSW1hZ2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0NvbnRlbnRmdWxJbWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4uL3JpY2gtdGV4dC1yZW5kZXJlcic7XG5pbXBvcnQge1xuICBnZW5lcmF0ZUNvbnRlbnRmdWxJbWFnZVNvdXJjZXMsXG4gIGdlbmVyYXRlRGVmYXVsdENvbnRlbnRmdWxJbWFnZVNvdXJjZSxcbn0gZnJvbSAnLi9jb250ZW50ZnVsLWltYWdlLmNvbXBvbmVudC51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtaW1hZ2UnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxldC1waWN0dXJlXG4gICAgICBbaW1nQ2xhc3NdPVwicGljdHVyZURhdGEuaW1nQ2xhc3NcIlxuICAgICAgW2hhc1ByaW9yaXR5XT1cInBpY3R1cmVEYXRhLmhhc1ByaW9yaXR5XCJcbiAgICAgIFtmaWd1cmVDbGFzc109XCJwaWN0dXJlRGF0YS5maWd1cmVDbGFzc1wiXG4gICAgICBbcGljdHVyZUNsYXNzXT1cInBpY3R1cmVEYXRhLnBpY3R1cmVDbGFzc1wiXG4gICAgICBbZmlnY2FwdGlvbkNsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25DbGFzc1wiXG4gICAgICBbZGVmYXVsdFNyY109XCJwaWN0dXJlRGF0YS5kZWZhdWx0U3JjXCJcbiAgICAgIFthbHRdPVwicGljdHVyZURhdGEuYWx0XCJcbiAgICAgIFtmaWdjYXB0aW9uXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25cIlxuICAgICAgW3dpZHRoXT1cInBpY3R1cmVEYXRhLndpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwicGljdHVyZURhdGEuaGVpZ2h0XCJcbiAgICAgIFtzaXplc109XCJwaWN0dXJlRGF0YS5zaXplc1wiXG4gICAgICBbc291cmNlc109XCJzb3VyY2VzXCJcbiAgICAvPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE5nT3B0aW1pemVkSW1hZ2UsIFBpY3R1cmVDb21wb25lbnRdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogUGljdHVyZURhdGFEaXJlY3RpdmUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgICAgaW5wdXRzOiBbJ2ltZ0NsYXNzJywgJ2hhc1ByaW9yaXR5JywgJ2ZpZ3VyZUNsYXNzJywgJ3BpY3R1cmVDbGFzcycsICdmaWdjYXB0aW9uQ2xhc3MnXSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb250ZW50ZnVsLWltYWdlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfcmljaFRleHREYXRhID0gaW5qZWN0PENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZT4oUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwaWN0dXJlRGF0YSA9IGluamVjdChQaWN0dXJlRGF0YURpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKHY6IENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBhc3NldERhdGEgPSBpc0NvbnRlbnRmdWxJbWFnZSh2KSA/IHYuYXNzZXQgOiB2O1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IGlzQ29udGVudGZ1bEltYWdlKHYpID8gdiA6IG51bGw7XG5cbiAgICBpZiAoYXNzZXREYXRhICYmICFhc3NldERhdGEuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYXNzZXREYXRhICYmICFhc3NldERhdGEuY29udGVudFR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiBpbWFnZScpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5kZWZhdWx0U3JjID0gYXNzZXREYXRhID8gZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlKGFzc2V0RGF0YSkgOiBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuYWx0ID0gaW1hZ2VEYXRhPy5hbHQgPz8gYXNzZXREYXRhPy5kZXNjcmlwdGlvbiA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEud2lkdGggPSBhc3NldERhdGE/LndpZHRoID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5oZWlnaHQgPSBhc3NldERhdGE/LmhlaWdodCA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuZmlnY2FwdGlvbiA9IGltYWdlRGF0YT8uY2FwdGlvbiA/PyBudWxsO1xuXG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzaXplcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemVzO1xuICB9XG4gIHNldCBzaXplcyh2OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NpemVzID0gdjtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLnNpemVzID0gdGhpcy5zaXplcz8uam9pbignLCAnKSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3NpemVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzcmNzZXRTaXplcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyY3NldFNpemVzO1xuICB9XG4gIHNldCBzcmNzZXRTaXplcyh2OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NyY3NldFNpemVzID0gdjtcbiAgICB0aGlzLnVwZGF0ZVNpemVzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfc3Jjc2V0U2l6ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgZ2V0IGJhY2tncm91bmRDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yO1xuICB9XG4gIHNldCBiYWNrZ3JvdW5kQ29sb3Iodjogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuX2JhY2tncm91bmRDb2xvciA9IHY7XG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX2JhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHNvdXJjZXM6IFBpY3R1cmVTb3VyY2VbXSA9IFtdO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2l6ZXMoKSB7XG4gICAgdGhpcy5zb3VyY2VzID0gdGhpcy5fZGF0YSA/IGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyh0aGlzLl9kYXRhLCB0aGlzLnNyY3NldFNpemVzLCB0aGlzLmJhY2tncm91bmRDb2xvcikgOiBbXTtcblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -7,7 +7,7 @@ import { createContentfulConfig } from '../../utils/contentful-config';
7
7
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from './rich-text-renderer.constants';
8
8
  import { createRenderCommandsFromContentfulRichText } from './rich-text-renderer.util';
9
9
  import * as i0 from "@angular/core";
10
- class ContentfulRichTextRendererComponent {
10
+ export class ContentfulRichTextRendererComponent {
11
11
  constructor() {
12
12
  this._richText = null;
13
13
  this._renderer = inject(Renderer2);
@@ -91,11 +91,10 @@ 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.0.0", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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: "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 }); }
96
96
  }
97
- export { ContentfulRichTextRendererComponent };
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
99
98
  type: Component,
100
99
  args: [{
101
100
  selector: 'et-contentful-rich-text-renderer',
@@ -110,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
110
109
  }], propDecorators: { richText: [{
111
110
  type: Input
112
111
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXZGLE1BVWEsbUNBQW1DO0lBVmhEO1FBb0JVLGNBQVMsR0FBNEIsSUFBSSxDQUFDO1FBRTFDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDN0QsY0FBUyxHQUFHLE1BQU0sQ0FBVyxRQUFRLENBQUMsQ0FBQztRQUN2QyxZ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Q0gsQ0FBQzs4R0ExR1UsbUNBQW1DO2tHQUFuQyxtQ0FBbUMsNExBUnBDLEVBQUU7O1NBUUQsbUNBQW1DOzJGQUFuQyxtQ0FBbUM7a0JBVi9DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxrQ0FBa0M7cUJBQzFDO2lCQUNGOzhCQUdLLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBDT05URU5URlVMX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb250ZW50ZnVsLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBSaWNoVGV4dFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29udGVudGZ1bENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbnRlbnRmdWwtY29uZmlnJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4vcmljaC10ZXh0LXJlbmRlcmVyLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBSaWNoVGV4dFJlbmRlckNvbW1hbmQgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVSZW5kZXJDb21tYW5kc0Zyb21Db250ZW50ZnVsUmljaFRleHQgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZTogYGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb250ZW50ZnVsLXJpY2gtdGV4dC1yZW5kZXJlcicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxSaWNoVGV4dFJlbmRlcmVyQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZ2V0IHJpY2hUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLl9yaWNoVGV4dDtcbiAgfVxuICBzZXQgcmljaFRleHQodjogUmljaFRleHRSZXNwb25zZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9yaWNoVGV4dCA9IHYgPz8gbnVsbDtcblxuICAgIHRoaXMucmVzZXRBbmRSZW5kZXIoKTtcbiAgfVxuICBwcml2YXRlIF9yaWNoVGV4dDogUmljaFRleHRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciA9IGluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuICBwcml2YXRlIF9kb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICBwcml2YXRlIF9hcHBSZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuICBwcml2YXRlIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgX2NvbmZpZyA9IGluamVjdChDT05URU5URlVMX0NPTkZJRywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBjcmVhdGVDb250ZW50ZnVsQ29uZmlnKCk7XG5cbiAgcmVzZXRBbmRSZW5kZXIoKSB7XG4gICAgLy8gY2xlYXIgY2hpbGROb2RlcyB0byBwcmV2ZW50IGFwcGVuZGluZyBuZXcgcmljaHRleHQgZWxlbWVudHMgdG8gZXhpc3Rpbmcgb25lXG4gICAgY29uc3QgY2hpbGRFbGVtZW50cyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRFbGVtZW50cykge1xuICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjaGlsZCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9yaWNoVGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1hbmRzID0gY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0KHsgZGF0YTogdGhpcy5fcmljaFRleHQsIGNvbmZpZzogdGhpcy5fY29uZmlnIH0pO1xuXG4gICAgdGhpcy5fcmVuZGVyKGNvbW1hbmRzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlcihjb21tYW5kczogUmljaFRleHRSZW5kZXJDb21tYW5kW10pIHtcbiAgICAvLyBjcmVhdGUgYSBkb2N1bWVudCBmcmFnbWVudCB0byBob2xkIHRoZSBlbGVtZW50cyB3aGlsZSB3ZSBjcmVhdGUgdGhlbVxuICAgIGNvbnN0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuXG4gICAgY29uc3QgaG9zdENvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZCA9IHtcbiAgICAgIHBheWxvYWQ6ICdkb2N1bWVudCcsXG4gICAgICBjaGlsZHJlbjogY29tbWFuZHMsXG4gICAgfTtcblxuICAgIC8vIGxvb3Agb3ZlciB0aGUgY29tbWFuZHNcbiAgICB0aGlzLl9leGVjdXRlQ29tbWFuZCh7IGNvbW1hbmQ6IGhvc3RDb21tYW5kLCBwYXJlbnQ6IGZyYWdtZW50IH0pO1xuXG4gICAgLy8gYXBwZW5kIHRoZSBmcmFnbWVudCB0byB0aGUgaG9zdCBlbGVtZW50XG4gICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBmcmFnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9leGVjdXRlQ29tbWFuZChkYXRhOiB7IGNvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZDsgcGFyZW50OiBFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB9KSB7XG4gICAgY29uc3QgeyBjb21tYW5kLCBwYXJlbnQgfSA9IGRhdGE7XG5cbiAgICBsZXQgZWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGlmIChjb21tYW5kLnBheWxvYWQgIT09ICdkb2N1bWVudCcpIHtcbiAgICAgIGlmICh0eXBlb2YgY29tbWFuZC5wYXlsb2FkID09PSAnc3RyaW5nJykge1xuICAgICAgICBlbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudChjb21tYW5kLnBheWxvYWQpO1xuXG4gICAgICAgIGlmIChjb21tYW5kLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShlbGVtZW50LCAnaW5uZXJUZXh0JywgY29tbWFuZC5kYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb21tYW5kLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29tbWFuZC5hdHRyaWJ1dGVzKSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsIG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQocGFyZW50LCBlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogY29tbWFuZC5kYXRhLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3IsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQoXG4gICAgICAgICAgcGFyZW50IGFzIEVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgIHRoaXMuX2FwcFJlZixcbiAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgICB0aGlzLl9kb2N1bWVudCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjb21wID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21tYW5kLnBheWxvYWQpO1xuICAgICAgICBjb25zdCByZWYgPSBjb21wLmF0dGFjaChwb3J0YWwpO1xuXG4gICAgICAgIGlmIChyZWYuaW5zdGFuY2UgaW5zdGFuY2VvZiBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQpIHtcbiAgICAgICAgICByZWYuaW5zdGFuY2Uuc2l6ZXMgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLnNpemVzO1xuICAgICAgICAgIHJlZi5pbnN0YW5jZS5zcmNzZXRTaXplcyA9IHRoaXMuX2NvbmZpZy5pbWFnZU9wdGlvbnMuc3Jjc2V0U2l6ZXM7XG4gICAgICAgICAgcmVmLmluc3RhbmNlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuX2NvbmZpZy5pbWFnZU9wdGlvbnMuYmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxlbWVudCA9IHJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGxvb3Agb3ZlciB0aGUgY29tbWFuZHNcbiAgICBmb3IgKGNvbnN0IGNoaWxkQ29tbWFuZCBvZiBjb21tYW5kLmNoaWxkcmVuKSB7XG4gICAgICB0aGlzLl9leGVjdXRlQ29tbWFuZCh7IGNvbW1hbmQ6IGNoaWxkQ29tbWFuZCwgcGFyZW50OiBlbGVtZW50ID8/IHBhcmVudCB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBWXZGLE1BQU0sT0FBTyxtQ0FBbUM7SUFWaEQ7UUFvQlUsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFFMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyw4QkFBeUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FB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NUU7SUFDSCxDQUFDOytHQTFHVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw0TEFScEMsRUFBRTs7NEZBUUQsbUNBQW1DO2tCQVYvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsa0NBQWtDO3FCQUMxQztpQkFDRjs4QkFHSyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgQ09OVEVOVEZVTF9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29udGVudGZ1bC5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRlbnRmdWxDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb250ZW50ZnVsLWNvbmZpZyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0IH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsUmljaFRleHRSZW5kZXJlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCByaWNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmljaFRleHQ7XG4gIH1cbiAgc2V0IHJpY2hUZXh0KHY6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcmljaFRleHQgPSB2ID8/IG51bGw7XG5cbiAgICB0aGlzLnJlc2V0QW5kUmVuZGVyKCk7XG4gIH1cbiAgcHJpdmF0ZSBfcmljaFRleHQ6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBfYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9jb25maWcgPSBpbmplY3QoQ09OVEVOVEZVTF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gY3JlYXRlQ29udGVudGZ1bENvbmZpZygpO1xuXG4gIHJlc2V0QW5kUmVuZGVyKCkge1xuICAgIC8vIGNsZWFyIGNoaWxkTm9kZXMgdG8gcHJldmVudCBhcHBlbmRpbmcgbmV3IHJpY2h0ZXh0IGVsZW1lbnRzIHRvIGV4aXN0aW5nIG9uZVxuICAgIGNvbnN0IGNoaWxkRWxlbWVudHMgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkRWxlbWVudHMpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2hpbGQpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fcmljaFRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21tYW5kcyA9IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCh7IGRhdGE6IHRoaXMuX3JpY2hUZXh0LCBjb25maWc6IHRoaXMuX2NvbmZpZyB9KTtcblxuICAgIHRoaXMuX3JlbmRlcihjb21tYW5kcyk7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXIoY29tbWFuZHM6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZFtdKSB7XG4gICAgLy8gY3JlYXRlIGEgZG9jdW1lbnQgZnJhZ21lbnQgdG8gaG9sZCB0aGUgZWxlbWVudHMgd2hpbGUgd2UgY3JlYXRlIHRoZW1cbiAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcblxuICAgIGNvbnN0IGhvc3RDb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQgPSB7XG4gICAgICBwYXlsb2FkOiAnZG9jdW1lbnQnLFxuICAgICAgY2hpbGRyZW46IGNvbW1hbmRzLFxuICAgIH07XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBob3N0Q29tbWFuZCwgcGFyZW50OiBmcmFnbWVudCB9KTtcblxuICAgIC8vIGFwcGVuZCB0aGUgZnJhZ21lbnQgdG8gdGhlIGhvc3QgZWxlbWVudFxuICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZnJhZ21lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZXhlY3V0ZUNvbW1hbmQoZGF0YTogeyBjb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQ7IHBhcmVudDogRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgfSkge1xuICAgIGNvbnN0IHsgY29tbWFuZCwgcGFyZW50IH0gPSBkYXRhO1xuXG4gICAgbGV0IGVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoY29tbWFuZC5wYXlsb2FkICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbW1hbmQucGF5bG9hZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoY29tbWFuZC5wYXlsb2FkKTtcblxuICAgICAgICBpZiAoY29tbWFuZC5kYXRhKSB7XG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoZWxlbWVudCwgJ2lubmVyVGV4dCcsIGNvbW1hbmQuZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tbWFuZC5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbW1hbmQuYXR0cmlidXRlcykpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCBuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbW1hbmQuZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICAgIHBhcmVudCBhcyBFbGVtZW50LFxuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICB0aGlzLl9hcHBSZWYsXG4gICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgdGhpcy5fZG9jdW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY29tcCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29tbWFuZC5wYXlsb2FkKTtcbiAgICAgICAgY29uc3QgcmVmID0gY29tcC5hdHRhY2gocG9ydGFsKTtcblxuICAgICAgICBpZiAocmVmLmluc3RhbmNlIGluc3RhbmNlb2YgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmVmLmluc3RhbmNlLnNpemVzID0gdGhpcy5fY29uZmlnLmltYWdlT3B0aW9ucy5zaXplcztcbiAgICAgICAgICByZWYuaW5zdGFuY2Uuc3Jjc2V0U2l6ZXMgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLnNyY3NldFNpemVzO1xuICAgICAgICAgIHJlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQgPSByZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgZm9yIChjb25zdCBjaGlsZENvbW1hbmQgb2YgY29tbWFuZC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBjaGlsZENvbW1hbmQsIHBhcmVudDogZWxlbWVudCA/PyBwYXJlbnQgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -67,7 +67,7 @@ export const createContentfulRenderCommand = (node, parent, resourceMap, config)
67
67
  console.warn(`No entry found for entry id "${entryId}"!`, nodeData);
68
68
  }
69
69
  }
70
- if (children && (children.length !== 1 || children[0].nodeType !== 'text')) {
70
+ if (children && (children.length !== 1 || children[0]?.nodeType !== 'text')) {
71
71
  children.forEach((child) => {
72
72
  createContentfulRenderCommand(child, command, resourceMap, config);
73
73
  });
@@ -79,7 +79,7 @@ export const getContentfulNodeProps = (node) => {
79
79
  const children = 'content' in node ? node.content : null;
80
80
  let marks = null;
81
81
  let value = null;
82
- if (children && children.length === 1 && children[0].nodeType === 'text') {
82
+ if (children && children.length === 1 && children[0]?.nodeType === 'text') {
83
83
  marks = children[0].marks?.length ? children[0].marks : null;
84
84
  value = children[0].value;
85
85
  }
@@ -187,4 +187,4 @@ export const createContentfulMap = (links) => {
187
187
  }
188
188
  return assetMap;
189
189
  };
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtdGV4dC1yZW5kZXJlci9yaWNoLXRleHQtcmVuZGVyZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsTUFBTSxFQUFVLE9BQU8sRUFBYyxNQUFNLDZCQUE2QixDQUFDO0FBRXpGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdwRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFDLE9BRzFELEVBQUUsRUFBRTtJQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE1BQU0sUUFBUSxHQUE0QixFQUFFLENBQUM7SUFDN0MsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVELDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVuSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxJQUEyQixFQUMzQixNQUE2QixFQUM3QixXQUFrQyxFQUNsQyxNQUF3QixFQUN4QixFQUFFO0lBQ0YsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRTFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhFLE1B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LENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakM7S0FDRjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJsb2NrLCBCTE9DS1MsIElubGluZSwgSU5MSU5FUywgTWFyaywgVGV4dCB9IGZyb20gJ0Bjb250ZW50ZnVsL3JpY2gtdGV4dC10eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQsIENvbnRlbnRmdWxDb25maWcsIENvbnRlbnRmdWxFbnRyeUJhc2UsIFJpY2hUZXh0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsUmVzb3VyY2VNYXAsIFJpY2hUZXh0UmVuZGVyQ29tbWFuZCB9IGZyb20gJy4vcmljaC10ZXh0LXJlbmRlcmVyLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCA9IChvcHRpb25zOiB7XG4gIGRhdGE6IFJpY2hUZXh0UmVzcG9uc2U7XG4gIGNvbmZpZzogQ29udGVudGZ1bENvbmZpZztcbn0pID0+IHtcbiAgY29uc3QgeyBkYXRhLCBjb25maWcgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgY29tbWFuZHM6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZFtdID0gW107XG4gIGNvbnN0IHJlc291cmNlTWFwID0gY3JlYXRlQ29udGVudGZ1bFJlc291cmNlTWFwKGRhdGEubGlua3MpO1xuXG4gIGNyZWF0ZUNvbnRlbnRmdWxSZW5kZXJDb21tYW5kKGRhdGEuanNvbiwgeyBjaGlsZHJlbjogY29tbWFuZHMsIHBheWxvYWQ6IGRhdGEuanNvbi5ub2RlVHlwZSB9LCByZXNvdXJjZU1hcCwgY29uZmlnKTtcblxuICByZXR1cm4gY29tbWFuZHM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGVudGZ1bFJlbmRlckNvbW1hbmQgPSAoXG4gIG5vZGU6IEJsb2NrIHwgSW5saW5lIHwgVGV4dCxcbiAgcGFyZW50OiBSaWNoVGV4dFJlbmRlckNvbW1hbmQsXG4gIHJlc291cmNlTWFwOiBDb250ZW50ZnVsUmVzb3VyY2VNYXAsXG4gIGNvbmZpZzogQ29udGVudGZ1bENvbmZpZyxcbikgPT4ge1xuICBjb25zdCB7IG5vZGVUeXBlLCBkYXRhOiBub2RlRGF0YSB9ID0gbm9kZTtcblxuICBjb25zdCB7IGNoaWxkcmVuLCBtYXJrcywgdmFsdWUgfSA9IGdldENvbnRlbnRmdWxOb2RlUHJvcHMobm9kZSk7XG5cbiAgY29uc3QgY29tbWFuZDogUmljaFRleHRSZW5kZXJDb21tYW5kID0ge1xuICAgIHBheWxvYWQ6IHRyYW5zbGF0ZUNvbnRlbnRmdWxOb2RlVHlwZVRvSHRtbFRhZyhub2RlVHlwZSksXG4gICAgZGF0YTogdmFsdWUsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgLi4uKG1hcmtzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgY2xhc3M6IHRyYW5zZm9ybUNvbnRlbnRmdWxNYXJrcyhtYXJrcywgY29uZmlnLnVzZVRhaWx3aW5kQ2xhc3NlcyksXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9KSxcbiAgICAgIC4uLihub2RlRGF0YVsndXJpJ10gPyB7IGhyZWY6IG5vZGVEYXRhWyd1cmknXSwgdGFyZ2V0OiAnX2JsYW5rJyB9IDoge30pLFxuICAgIH0sXG4gICAgY2hpbGRyZW46IFtdLFxuICB9O1xuXG4gIGNvbnN0IGVudHJ5SWQgPSBub2RlRGF0YVsndGFyZ2V0J10/LnN5cz8uaWQ7XG5cbiAgaWYgKG5vZGVUeXBlID09PSBCTE9DS1MuRU1CRURERURfQVNTRVQpIHtcbiAgICBjb25zdCBhc3NldCA9IHJlc291cmNlTWFwLmFzc2V0c0Jsb2NrLmdldChlbnRyeUlkKTtcblxuICAgIGlmIChhc3NldCkge1xuICAgICAgY29uc3QgaXNJbWFnZSA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgICAgY29uc3QgaXNWaWRlbyA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpO1xuICAgICAgY29uc3QgaXNBdWRpbyA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpO1xuXG4gICAgICBjb21tYW5kLmRhdGEgPSBhc3NldDtcblxuICAgICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gY29uZmlnLmNvbXBvbmVudHMuaW1hZ2U7XG4gICAgICB9IGVsc2UgaWYgKGlzVmlkZW8pIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gY29uZmlnLmNvbXBvbmVudHMudmlkZW87XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW8pIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gY29uZmlnLmNvbXBvbmVudHMuYXVkaW87XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21tYW5kLnBheWxvYWQgPSBjb25maWcuY29tcG9uZW50cy5maWxlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oYE5vIGFzc2V0IGZvdW5kIGZvciBlbnRyeSBpZCBcIiR7ZW50cnlJZH1cIiFgLCBub2RlRGF0YSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKG5vZGVUeXBlID09PSBCTE9DS1MuRU1CRURERURfRU5UUlkgfHwgbm9kZVR5cGUgPT09IElOTElORVMuRU1CRURERURfRU5UUlkpIHtcbiAgICBjb25zdCBlbnRyeSA9IHJlc291cmNlTWFwLmVudHJpZXNCbG9jay5nZXQoZW50cnlJZCkgPz8gcmVzb3VyY2VNYXAuZW50cmllc0lubGluZS5nZXQoZW50cnlJZCk7XG5cbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBlbnRyeT8uX190eXBlbmFtZSA/PyAnRVRfVU5LTk9XTic7XG5cbiAgICAgIC8vIFwiSW1hZ2VcIiBpcyBhIHNwZWNpYWwgd3JhcHBlciBjb250ZW50IG1vZGVsIGZvciBjb250ZW50ZnVsIGFzc2V0cy5cbiAgICAgIC8vIEl0IG11c3QgYmUgY3JlYXRlZCBieSB0aGUgdXNlci5cbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHR5cGUgPT09ICdJbWFnZScgPyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgOiBjb25maWcuY3VzdG9tQ29tcG9uZW50cz8uW3R5cGVdO1xuXG4gICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgIGNvbW1hbmQucGF5bG9hZCA9IGNvbXBvbmVudDtcbiAgICAgICAgY29tbWFuZC5kYXRhID0gZW50cnk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21tYW5kLmRhdGEgPSBgRVJST1I6IE5vIGNvbXBvbmVudCBmb3VuZCBmb3IgZW1iZWRkZWQgZW50cnkgXCIke3R5cGV9XCIgYXMgXCIke25vZGVUeXBlfVwiIWA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gZW50cnkgZm91bmQgZm9yIGVudHJ5IGlkIFwiJHtlbnRyeUlkfVwiIWAsIG5vZGVEYXRhKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hpbGRyZW4gJiYgKGNoaWxkcmVuLmxlbmd0aCAhPT0gMSB8fCBjaGlsZHJlblswXS5ub2RlVHlwZSAhPT0gJ3RleHQnKSkge1xuICAgIGNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICBjcmVhdGVDb250ZW50ZnVsUmVuZGVyQ29tbWFuZChjaGlsZCwgY29tbWFuZCwgcmVzb3VyY2VNYXAsIGNvbmZpZyk7XG4gICAgfSk7XG4gIH1cblxuICBwYXJlbnQuY2hpbGRyZW4ucHVzaChjb21tYW5kKTtcblxuICByZXR1cm4gY29tbWFuZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZW50ZnVsTm9kZVByb3BzID0gKG5vZGU6IEJsb2NrIHwgSW5saW5lIHwgVGV4dCkgPT4ge1xuICBjb25zdCBjaGlsZHJlbiA9ICdjb250ZW50JyBpbiBub2RlID8gbm9kZS5jb250ZW50IDogbnVsbDtcbiAgbGV0IG1hcmtzOiBNYXJrW10gfCBudWxsID0gbnVsbDtcbiAgbGV0IHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIGNoaWxkcmVuWzBdLm5vZGVUeXBlID09PSAndGV4dCcpIHtcbiAgICBtYXJrcyA9IGNoaWxkcmVuWzBdLm1hcmtzPy5sZW5ndGggPyBjaGlsZHJlblswXS5tYXJrcyA6IG51bGw7XG4gICAgdmFsdWUgPSBjaGlsZHJlblswXS52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICBtYXJrcyA9ICdtYXJrcycgaW4gbm9kZSA/IChub2RlLm1hcmtzPy5sZW5ndGggPyBub2RlLm1hcmtzIDogbnVsbCkgOiBudWxsO1xuICAgIHZhbHVlID0gJ3ZhbHVlJyBpbiBub2RlID8gbm9kZS52YWx1ZSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoaWxkcmVuLFxuICAgIG1hcmtzLFxuICAgIHZhbHVlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUNvbnRlbnRmdWxNYXJrcyA9IChtYXJrczogTWFya1tdLCB1c2VUYWlsd2luZENsYXNzZXM6IGJvb2xlYW4pID0+IHtcbiAgcmV0dXJuIG1hcmtzXG4gICAgLm1hcCgobWFyaykgPT4ge1xuICAgICAgc3dpdGNoIChtYXJrLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYm9sZCc6XG4gICAgICAgICAgcmV0dXJuIHVzZVRhaWx3aW5kQ2xhc3NlcyA/ICdmb250LWJvbGQnIDogbWFyay50eXBlO1xuICAgICAgICBjYXNlICdpdGFsaWMnOlxuICAgICAgICAgIHJldHVybiB1c2VUYWlsd2luZENsYXNzZXMgPyAnaXRhbGljJyA6IG1hcmsudHlwZTtcbiAgICAgICAgY2FzZSAndW5kZXJsaW5lJzpcbiAgICAgICAgICByZXR1cm4gdXNlVGFpbHdpbmRDbGFzc2VzID8gJ3VuZGVybGluZScgOiBtYXJrLnR5cGU7XG4gICAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICAgIHJldHVybiB1c2VUYWlsd2luZENsYXNzZXMgPyAnZm9udC1tb25vJyA6IG1hcmsudHlwZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbWFyay50eXBlO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmpvaW4oJyAnKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVDb250ZW50ZnVsTm9kZVR5cGVUb0h0bWxUYWcgPSAobm9kZVR5cGU6ICd0ZXh0JyB8IEJMT0NLUyB8IElOTElORVMpID0+IHtcbiAgc3dpdGNoIChub2RlVHlwZSkge1xuICAgIGNhc2UgQkxPQ0tTLkhFQURJTkdfMTpcbiAgICAgIHJldHVybiAnaDEnO1xuICAgIGNhc2UgQkxPQ0tTLkhFQURJTkdfMjpcbiAgICAgIHJldHVybiAnaDInO1xuICAgIGNhc2UgQkxPQ0tTLkhFQURJTkdfMzpcbiAgICAgIHJldHVybiAnaDMnO1xuICAgIGNhc2UgQkxPQ0tTLkhFQURJTkdfNDpcbiAgICAgIHJldHVybiAnaDQnO1xuICAgIGNhc2UgQkxPQ0tTLkhFQURJTkdfNTpcbiAgICAgIHJldHVybiAnaDUnO1xuICAgIGNhc2UgQkxPQ0tTLkhFQURJTkdfNjpcbiAgICAgIHJldHVybiAnaDYnO1xuICAgIGNhc2UgQkxPQ0tTLlBBUkFHUkFQSDpcbiAgICAgIHJldHVybiAncCc7XG4gICAgY2FzZSBCTE9DS1MuVUxfTElTVDpcbiAgICAgIHJldHVybiAndWwnO1xuICAgIGNhc2UgQkxPQ0tTLk9MX0xJU1Q6XG4gICAgICByZXR1cm4gJ29sJztcbiAgICBjYXNlIEJMT0NLUy5MSVNUX0lURU06XG4gICAgICByZXR1cm4gJ2xpJztcbiAgICBjYXNlIEJMT0NLUy5IUjpcbiAgICAgIHJldHVybiAnaHInO1xuICAgIGNhc2UgQkxPQ0tTLlFVT1RFOlxuICAgICAgcmV0dXJuICdibG9ja3F1b3RlJztcbiAgICBjYXNlIEJMT0NLUy5UQUJMRTpcbiAgICAgIHJldHVybiAndGFibGUnO1xuICAgIGNhc2UgQkxPQ0tTLlRBQkxFX1JPVzpcbiAgICAgIHJldHVybiAndHInO1xuICAgIGNhc2UgQkxPQ0tTLlRBQkxFX0NFTEw6XG4gICAgICByZXR1cm4gJ3RkJztcbiAgICBjYXNlIEJMT0NLUy5UQUJMRV9IRUFERVJfQ0VMTDpcbiAgICAgIHJldHVybiAndGgnO1xuICAgIGNhc2UgQkxPQ0tTLkVNQkVEREVEX0FTU0VUOlxuICAgICAgcmV0dXJuICdkaXYnO1xuXG4gICAgY2FzZSBJTkxJTkVTLkhZUEVSTElOSzpcbiAgICAgIHJldHVybiAnYSc7XG4gICAgY2FzZSBJTkxJTkVTLkVOVFJZX0hZUEVSTElOSzpcbiAgICAgIHJldHVybiAnYSc7XG4gICAgY2FzZSBJTkxJTkVTLkFTU0VUX0hZUEVSTElOSzpcbiAgICAgIHJldHVybiAnYSc7XG5cbiAgICBjYXNlICd0ZXh0JzpcbiAgICAgIHJldHVybiAnc3Bhbic7XG5cbiAgICAvLyBXaWxsIGJlIGlnbm9yZWQgYnkgdGhlIHJlbmRlcmVyXG4gICAgY2FzZSAnZG9jdW1lbnQnOlxuICAgICAgcmV0dXJuICdkb2N1bWVudCc7XG5cbiAgICBjYXNlIEJMT0NLUy5FTUJFRERFRF9FTlRSWTpcbiAgICAgIHJldHVybiAnZGl2JztcbiAgICBjYXNlIElOTElORVMuRU1CRURERURfRU5UUlk6XG4gICAgICByZXR1cm4gJ2Rpdic7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdkaXYnO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGVudGZ1bFJlc291cmNlTWFwID0gKGxpbmtzOiBSaWNoVGV4dFJlc3BvbnNlWydsaW5rcyddKTogQ29udGVudGZ1bFJlc291cmNlTWFwID0+IHtcbiAgY29uc3QgcmVzb3VyY2VNYXAgPSB7XG4gICAgYXNzZXRzQmxvY2s6IGNyZWF0ZUNvbnRlbnRmdWxNYXA8Q29udGVudGZ1bEFzc2V0PihsaW5rcz8uYXNzZXRzPy5ibG9jayksXG4gICAgZW50cmllc0lubGluZTogY3JlYXRlQ29udGVudGZ1bE1hcChsaW5rcz8uZW50cmllcz8uaW5saW5lKSxcbiAgICBlbnRyaWVzQmxvY2s6IGNyZWF0ZUNvbnRlbnRmdWxNYXAobGlua3M/LmVudHJpZXM/LmJsb2NrKSxcbiAgfSBhcyBjb25zdDtcblxuICByZXR1cm4gcmVzb3VyY2VNYXA7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGVudGZ1bE1hcCA9IDxUIGV4dGVuZHMgQ29udGVudGZ1bEVudHJ5QmFzZT4obGlua3M6IEFycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICBjb25zdCBhc3NldE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBUPigpO1xuXG4gIGlmIChsaW5rcykge1xuICAgIGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xuICAgICAgaWYgKCFsaW5rPy5zeXM/LmlkKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTGluayBoYXMgbm8gc3lzLmlkIHByb3BlcnR5LiBQbGVhc2UgaW5jbHVkZSBpdCBpbnNpZGUgeW91ciBxdWVyeS4nLCBsaW5rKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGFzc2V0TWFwLnNldChsaW5rLnN5cy5pZCwgbGluayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFzc2V0TWFwO1xufTtcbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtdGV4dC1yZW5kZXJlci9yaWNoLXRleHQtcmVuZGVyZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsTUFBTSxFQUFVLE9BQU8sRUFBYyxNQUFNLDZCQUE2QixDQUFDO0FBRXpGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdwRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFDLE9BRzFELEVBQUUsRUFBRTtJQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE1BQU0sUUFBUSxHQUE0QixFQUFFLENBQUM7SUFDN0MsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVELDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVuSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxJQUEyQixFQUMzQixNQUE2QixFQUM3QixXQUFrQyxFQUNsQyxNQUF3QixFQUN4QixFQUFFO0lBQ0YsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRTFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhFLE1B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LENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakM7S0FDRjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJsb2NrLCBCTE9DS1MsIElubGluZSwgSU5MSU5FUywgTWFyaywgVGV4dCB9IGZyb20gJ0Bjb250ZW50ZnVsL3JpY2gtdGV4dC10eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQsIENvbnRlbnRmdWxDb25maWcsIENvbnRlbnRmdWxFbnRyeUJhc2UsIFJpY2hUZXh0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsUmVzb3VyY2VNYXAsIFJpY2hUZXh0UmVuZGVyQ29tbWFuZCB9IGZyb20gJy4vcmljaC10ZXh0LXJlbmRlcmVyLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCA9IChvcHRpb25zOiB7XG4gIGRhdGE6IFJpY2hUZXh0UmVzcG9uc2U7XG4gIGNvbmZpZzogQ29udGVudGZ1bENvbmZpZztcbn0pID0+IHtcbiAgY29uc3QgeyBkYXRhLCBjb25maWcgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgY29tbWFuZHM6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZFtdID0gW107XG4gIGNvbnN0IHJlc291cmNlTWFwID0gY3JlYXRlQ29udGVudGZ1bFJlc291cmNlTWFwKGRhdGEubGlua3MpO1xuXG4gIGNyZWF0ZUNvbnRlbnRmdWxSZW5kZXJDb21tYW5kKGRhdGEuanNvbiwgeyBjaGlsZHJlbjogY29tbWFuZHMsIHBheWxvYWQ6IGRhdGEuanNvbi5ub2RlVHlwZSB9LCByZXNvdXJjZU1hcCwgY29uZmlnKTtcblxuICByZXR1cm4gY29tbWFuZHM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGVudGZ1bFJlbmRlckNvbW1hbmQgPSAoXG4gIG5vZGU6IEJsb2NrIHwgSW5saW5lIHwgVGV4dCxcbiAgcGFyZW50OiBSaWNoVGV4dFJlbmRlckNvbW1hbmQsXG4gIHJlc291cmNlTWFwOiBDb250ZW50ZnVsUmVzb3VyY2VNYXAsXG4gIGNvbmZpZzogQ29udGVudGZ1bENvbmZpZyxcbikgPT4ge1xuICBjb25zdCB7IG5vZGVUeXBlLCBkYXRhOiBub2RlRGF0YSB9ID0gbm9kZTtcblxuICBjb25zdCB7IGNoaWxkcmVuLCBtYXJrcywgdmFsdWUgfSA9IGdldENvbnRlbnRmdWxOb2RlUHJvcHMobm9kZSk7XG5cbiAgY29uc3QgY29tbWFuZDogUmljaFRleHRSZW5kZXJDb21tYW5kID0ge1xuICAgIHBheWxvYWQ6IHRyYW5zbGF0ZUNvbnRlbnRmdWxOb2RlVHlwZVRvSHRtbFRhZyhub2RlVHlwZSksXG4gICAgZGF0YTogdmFsdWUsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgLi4uKG1hcmtzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgY2xhc3M6IHRyYW5zZm9ybUNvbnRlbnRmdWxNYXJrcyhtYXJrcywgY29uZmlnLnVzZVRhaWx3aW5kQ2xhc3NlcyksXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9KSxcbiAgICAgIC4uLihub2RlRGF0YVsndXJpJ10gPyB7IGhyZWY6IG5vZGVEYXRhWyd1cmknXSwgdGFyZ2V0OiAnX2JsYW5rJyB9IDoge30pLFxuICAgIH0sXG4gICAgY2hpbGRyZW46IFtdLFxuICB9O1xuXG4gIGNvbnN0IGVudHJ5SWQgPSBub2RlRGF0YVsndGFyZ2V0J10/LnN5cz8uaWQ7XG5cbiAgaWYgKG5vZGVUeXBlID09PSBCTE9DS1MuRU1CRURERURfQVNTRVQpIHtcbiAgICBjb25zdCBhc3NldCA9IHJlc291cmNlTWFwLmFzc2V0c0Jsb2NrLmdldChlbnRyeUlkKTtcblxuICAgIGlmIChhc3NldCkge1xuICAgICAgY29uc3QgaXNJbWFnZSA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgICAgY29uc3QgaXNWaWRlbyA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpO1xuICAgICAgY29uc3QgaXNBdWRpbyA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpO1xuXG4gICAgICBjb21tYW5kLmRhdGEgPSBhc3NldDtcblxuICAgICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gY29uZmlnLmNvbXBvbmVudHMuaW1hZ2U7XG4gICAgICB9IGVsc2UgaWYgKGlzVmlkZW8pIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gY29uZmlnLmNvbXBvbmVudHMudmlkZW87XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW8pIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gY29uZmlnLmNvbXBvbmVudHMuYXVkaW87XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21tYW5kLnBheWxvYWQgPSBjb25maWcuY29tcG9uZW50cy5maWxlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oYE5vIGFzc2V0IGZvdW5kIGZvciBlbnRyeSBpZCBcIiR7ZW50cnlJZH1cIiFgLCBub2RlRGF0YSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKG5vZGVUeXBlID09PSBCTE9DS1MuRU1CRURERURfRU5UUlkgfHwgbm9kZVR5cGUgPT09IElOTElORVMuRU1CRURERURfRU5UUlkpIHtcbiAgICBjb25zdCBlbnRyeSA9IHJlc291cmNlTWFwLmVudHJpZXNCbG9jay5nZXQoZW50cnlJZCkgPz8gcmVzb3VyY2VNYXAuZW50cmllc0lubGluZS5nZXQoZW50cnlJZCk7XG5cbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBlbnRyeT8uX190eXBlbmFtZSA/PyAnRVRfVU5LTk9XTic7XG5cbiAgICAgIC8vIFwiSW1hZ2VcIiBpcyBhIHNwZWNpYWwgd3JhcHBlciBjb250ZW50IG1vZGVsIGZvciBjb250ZW50ZnVsIGFzc2V0cy5cbiAgICAgIC8vIEl0IG11c3QgYmUgY3JlYXRlZCBieSB0aGUgdXNlci5cbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHR5cGUgPT09ICdJbWFnZScgPyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgOiBjb25maWcuY3VzdG9tQ29tcG9uZW50cz8uW3R5cGVdO1xuXG4gICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgIGNvbW1hbmQucGF5bG9hZCA9IGNvbXBvbmVudDtcbiAgICAgICAgY29tbWFuZC5kYXRhID0gZW50cnk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21tYW5kLmRhdGEgPSBgRVJST1I6IE5vIGNvbXBvbmVudCBmb3VuZCBmb3IgZW1iZWRkZWQgZW50cnkgXCIke3R5cGV9XCIgYXMgXCIke25vZGVUeXBlfVwiIWA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gZW50cnkgZm91bmQgZm9yIGVudHJ5IGlkIFwiJHtlbnRyeUlkfVwiIWAsIG5vZGVEYXRhKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hpbGRyZW4gJiYgKGNoaWxkcmVuLmxlbmd0aCAhPT0gMSB8fCBjaGlsZHJlblswXT8ubm9kZVR5cGUgIT09ICd0ZXh0JykpIHtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY3JlYXRlQ29udGVudGZ1bFJlbmRlckNvbW1hbmQoY2hpbGQsIGNvbW1hbmQsIHJlc291cmNlTWFwLCBjb25maWcpO1xuICAgIH0pO1xuICB9XG5cbiAgcGFyZW50LmNoaWxkcmVuLnB1c2goY29tbWFuZCk7XG5cbiAgcmV0dXJuIGNvbW1hbmQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29udGVudGZ1bE5vZGVQcm9wcyA9IChub2RlOiBCbG9jayB8IElubGluZSB8IFRleHQpID0+IHtcbiAgY29uc3QgY2hpbGRyZW4gPSAnY29udGVudCcgaW4gbm9kZSA/IG5vZGUuY29udGVudCA6IG51bGw7XG4gIGxldCBtYXJrczogTWFya1tdIHwgbnVsbCA9IG51bGw7XG4gIGxldCB2YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJiBjaGlsZHJlblswXT8ubm9kZVR5cGUgPT09ICd0ZXh0Jykge1xuICAgIG1hcmtzID0gY2hpbGRyZW5bMF0ubWFya3M/Lmxlbmd0aCA/IGNoaWxkcmVuWzBdLm1hcmtzIDogbnVsbDtcbiAgICB2YWx1ZSA9IGNoaWxkcmVuWzBdLnZhbHVlO1xuICB9IGVsc2Uge1xuICAgIG1hcmtzID0gJ21hcmtzJyBpbiBub2RlID8gKG5vZGUubWFya3M/Lmxlbmd0aCA/IG5vZGUubWFya3MgOiBudWxsKSA6IG51bGw7XG4gICAgdmFsdWUgPSAndmFsdWUnIGluIG5vZGUgPyBub2RlLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2hpbGRyZW4sXG4gICAgbWFya3MsXG4gICAgdmFsdWUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtQ29udGVudGZ1bE1hcmtzID0gKG1hcmtzOiBNYXJrW10sIHVzZVRhaWx3aW5kQ2xhc3NlczogYm9vbGVhbikgPT4ge1xuICByZXR1cm4gbWFya3NcbiAgICAubWFwKChtYXJrKSA9PiB7XG4gICAgICBzd2l0Y2ggKG1hcmsudHlwZSkge1xuICAgICAgICBjYXNlICdib2xkJzpcbiAgICAgICAgICByZXR1cm4gdXNlVGFpbHdpbmRDbGFzc2VzID8gJ2ZvbnQtYm9sZCcgOiBtYXJrLnR5cGU7XG4gICAgICAgIGNhc2UgJ2l0YWxpYyc6XG4gICAgICAgICAgcmV0dXJuIHVzZVRhaWx3aW5kQ2xhc3NlcyA/ICdpdGFsaWMnIDogbWFyay50eXBlO1xuICAgICAgICBjYXNlICd1bmRlcmxpbmUnOlxuICAgICAgICAgIHJldHVybiB1c2VUYWlsd2luZENsYXNzZXMgPyAndW5kZXJsaW5lJyA6IG1hcmsudHlwZTtcbiAgICAgICAgY2FzZSAnY29kZSc6XG4gICAgICAgICAgcmV0dXJuIHVzZVRhaWx3aW5kQ2xhc3NlcyA/ICdmb250LW1vbm8nIDogbWFyay50eXBlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXJrLnR5cGU7XG4gICAgICB9XG4gICAgfSlcbiAgICAuam9pbignICcpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUNvbnRlbnRmdWxOb2RlVHlwZVRvSHRtbFRhZyA9IChub2RlVHlwZTogJ3RleHQnIHwgQkxPQ0tTIHwgSU5MSU5FUykgPT4ge1xuICBzd2l0Y2ggKG5vZGVUeXBlKSB7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR18xOlxuICAgICAgcmV0dXJuICdoMSc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR18yOlxuICAgICAgcmV0dXJuICdoMic7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR18zOlxuICAgICAgcmV0dXJuICdoMyc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR180OlxuICAgICAgcmV0dXJuICdoNCc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR181OlxuICAgICAgcmV0dXJuICdoNSc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR182OlxuICAgICAgcmV0dXJuICdoNic7XG4gICAgY2FzZSBCTE9DS1MuUEFSQUdSQVBIOlxuICAgICAgcmV0dXJuICdwJztcbiAgICBjYXNlIEJMT0NLUy5VTF9MSVNUOlxuICAgICAgcmV0dXJuICd1bCc7XG4gICAgY2FzZSBCTE9DS1MuT0xfTElTVDpcbiAgICAgIHJldHVybiAnb2wnO1xuICAgIGNhc2UgQkxPQ0tTLkxJU1RfSVRFTTpcbiAgICAgIHJldHVybiAnbGknO1xuICAgIGNhc2UgQkxPQ0tTLkhSOlxuICAgICAgcmV0dXJuICdocic7XG4gICAgY2FzZSBCTE9DS1MuUVVPVEU6XG4gICAgICByZXR1cm4gJ2Jsb2NrcXVvdGUnO1xuICAgIGNhc2UgQkxPQ0tTLlRBQkxFOlxuICAgICAgcmV0dXJuICd0YWJsZSc7XG4gICAgY2FzZSBCTE9DS1MuVEFCTEVfUk9XOlxuICAgICAgcmV0dXJuICd0cic7XG4gICAgY2FzZSBCTE9DS1MuVEFCTEVfQ0VMTDpcbiAgICAgIHJldHVybiAndGQnO1xuICAgIGNhc2UgQkxPQ0tTLlRBQkxFX0hFQURFUl9DRUxMOlxuICAgICAgcmV0dXJuICd0aCc7XG4gICAgY2FzZSBCTE9DS1MuRU1CRURERURfQVNTRVQ6XG4gICAgICByZXR1cm4gJ2Rpdic7XG5cbiAgICBjYXNlIElOTElORVMuSFlQRVJMSU5LOlxuICAgICAgcmV0dXJuICdhJztcbiAgICBjYXNlIElOTElORVMuRU5UUllfSFlQRVJMSU5LOlxuICAgICAgcmV0dXJuICdhJztcbiAgICBjYXNlIElOTElORVMuQVNTRVRfSFlQRVJMSU5LOlxuICAgICAgcmV0dXJuICdhJztcblxuICAgIGNhc2UgJ3RleHQnOlxuICAgICAgcmV0dXJuICdzcGFuJztcblxuICAgIC8vIFdpbGwgYmUgaWdub3JlZCBieSB0aGUgcmVuZGVyZXJcbiAgICBjYXNlICdkb2N1bWVudCc6XG4gICAgICByZXR1cm4gJ2RvY3VtZW50JztcblxuICAgIGNhc2UgQkxPQ0tTLkVNQkVEREVEX0VOVFJZOlxuICAgICAgcmV0dXJuICdkaXYnO1xuICAgIGNhc2UgSU5MSU5FUy5FTUJFRERFRF9FTlRSWTpcbiAgICAgIHJldHVybiAnZGl2JztcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ2Rpdic7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZW50ZnVsUmVzb3VyY2VNYXAgPSAobGlua3M6IFJpY2hUZXh0UmVzcG9uc2VbJ2xpbmtzJ10pOiBDb250ZW50ZnVsUmVzb3VyY2VNYXAgPT4ge1xuICBjb25zdCByZXNvdXJjZU1hcCA9IHtcbiAgICBhc3NldHNCbG9jazogY3JlYXRlQ29udGVudGZ1bE1hcDxDb250ZW50ZnVsQXNzZXQ+KGxpbmtzPy5hc3NldHM/LmJsb2NrKSxcbiAgICBlbnRyaWVzSW5saW5lOiBjcmVhdGVDb250ZW50ZnVsTWFwKGxpbmtzPy5lbnRyaWVzPy5pbmxpbmUpLFxuICAgIGVudHJpZXNCbG9jazogY3JlYXRlQ29udGVudGZ1bE1hcChsaW5rcz8uZW50cmllcz8uYmxvY2spLFxuICB9IGFzIGNvbnN0O1xuXG4gIHJldHVybiByZXNvdXJjZU1hcDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZW50ZnVsTWFwID0gPFQgZXh0ZW5kcyBDb250ZW50ZnVsRW50cnlCYXNlPihsaW5rczogQXJyYXk8VD4gfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gIGNvbnN0IGFzc2V0TWFwID0gbmV3IE1hcDxzdHJpbmcsIFQ+KCk7XG5cbiAgaWYgKGxpbmtzKSB7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICBpZiAoIWxpbms/LnN5cz8uaWQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdMaW5rIGhhcyBubyBzeXMuaWQgcHJvcGVydHkuIFBsZWFzZSBpbmNsdWRlIGl0IGluc2lkZSB5b3VyIHF1ZXJ5LicsIGxpbmspO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYXNzZXRNYXAuc2V0KGxpbmsuc3lzLmlkLCBsaW5rKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXNzZXRNYXA7XG59O1xuIl19
@@ -2,7 +2,7 @@ import { NgClass, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
4
4
  import * as i0 from "@angular/core";
5
- class ContentfulVideoComponent {
5
+ export class ContentfulVideoComponent {
6
6
  constructor() {
7
7
  this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });
8
8
  this._data = null;
@@ -27,15 +27,14 @@ class ContentfulVideoComponent {
27
27
  this.data = this._richTextData;
28
28
  }
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ContentfulVideoComponent, isStandalone: true, selector: "et-contentful-video", inputs: { data: "data", videoClass: "videoClass" }, ngImport: i0, template: `
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
32
  <video *ngIf="data" [ngClass]="videoClass" controls>
33
33
  <source src="{{ data.url }}" type="{{ data.contentType }}" />
34
34
  </video>
35
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 }); }
36
36
  }
37
- export { ContentfulVideoComponent };
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
39
38
  type: Component,
40
39
  args: [{
41
40
  selector: 'et-contentful-video',
@@ -54,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
54
53
  }], videoClass: [{
55
54
  type: Input
56
55
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3ZpZGVvL2NvbnRlbnRmdWwtdmlkZW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRSxNQVlhLHdCQUF3QjtJQVpyQztRQWFVLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixpQ0FBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBcUIvRixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxlQUFVLEdBQWdCLElBQUksQ0FBQztLQU9oQztJQTdCQyxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLENBQXFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUVsQixPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRWpELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDaEM7SUFDSCxDQUFDOzhHQS9CVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixtSUFWekI7Ozs7R0FJVCw0REFJUyxJQUFJLDZGQUFFLE9BQU87O1NBRVosd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBWnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztpQkFDekI7OEJBS0ssSUFBSTtzQkFEUCxLQUFLO2dCQXNCTixVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLXZpZGVvJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmlkZW8gKm5nSWY9XCJkYXRhXCIgW25nQ2xhc3NdPVwidmlkZW9DbGFzc1wiIGNvbnRyb2xzPlxuICAgICAgPHNvdXJjZSBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiIHR5cGU9XCJ7eyBkYXRhLmNvbnRlbnRUeXBlIH19XCIgLz5cbiAgICA8L3ZpZGVvPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsVmlkZW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUuc3RhcnRzV2l0aCgndmlkZW8vJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiB2aWRlbycpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YTogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgdmlkZW9DbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3ZpZGVvL2NvbnRlbnRmdWwtdmlkZW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWMxRSxNQUFNLE9BQU8sd0JBQXdCO0lBWnJDO1FBYVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO0tBT2hDO0lBN0JDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7K0dBL0JVLHdCQUF3QjttR0FBeEIsd0JBQXdCLG1JQVZ6Qjs7OztHQUlULDREQUlTLElBQUksNkZBQUUsT0FBTzs7NEZBRVosd0JBQXdCO2tCQVpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7aUJBQ3pCOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFzQk4sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC12aWRlbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZpZGVvICpuZ0lmPVwiZGF0YVwiIFtuZ0NsYXNzXT1cInZpZGVvQ2xhc3NcIiBjb250cm9scz5cbiAgICAgIDxzb3VyY2Ugc3JjPVwie3sgZGF0YS51cmwgfX1cIiB0eXBlPVwie3sgZGF0YS5jb250ZW50VHlwZSB9fVwiIC8+XG4gICAgPC92aWRlbz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bFZpZGVvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfcmljaFRleHREYXRhID0gaW5qZWN0PENvbnRlbnRmdWxBc3NldD4oUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKHY6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodiAmJiAhdi5jb250ZW50VHlwZSkge1xuICAgICAgdGhpcy5fZGF0YSA9IG51bGw7XG5cbiAgICAgIGNvbnNvbGUud2FybignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIGludmFsaWQnLCB2KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBub3QgYW4gdmlkZW8nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHZpZGVvQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhICYmICF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -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.0.0", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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: "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: `
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.0.0", ngImport: i0, type: ContentfulImageComponent, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulImageComponent, decorators: [{
213
213
  type: Component,
214
214
  args: [{
215
215
  selector: 'et-contentful-image',
@@ -321,7 +321,7 @@ const createContentfulRenderCommand = (node, parent, resourceMap, config) => {
321
321
  console.warn(`No entry found for entry id "${entryId}"!`, nodeData);
322
322
  }
323
323
  }
324
- if (children && (children.length !== 1 || children[0].nodeType !== 'text')) {
324
+ if (children && (children.length !== 1 || children[0]?.nodeType !== 'text')) {
325
325
  children.forEach((child) => {
326
326
  createContentfulRenderCommand(child, command, resourceMap, config);
327
327
  });
@@ -333,7 +333,7 @@ const getContentfulNodeProps = (node) => {
333
333
  const children = 'content' in node ? node.content : null;
334
334
  let marks = null;
335
335
  let value = null;
336
- if (children && children.length === 1 && children[0].nodeType === 'text') {
336
+ if (children && children.length === 1 && children[0]?.nodeType === 'text') {
337
337
  marks = children[0].marks?.length ? children[0].marks : null;
338
338
  value = children[0].value;
339
339
  }
@@ -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.0.0", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
530
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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: "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 }); }
531
531
  }
532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
533
533
  type: Component,
534
534
  args: [{
535
535
  selector: 'et-contentful-rich-text-renderer',
@@ -572,15 +572,15 @@ class ContentfulAudioComponent {
572
572
  this.data = this._richTextData;
573
573
  }
574
574
  }
575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
576
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
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
577
  <figure *ngIf="data" [ngClass]="figureClass">
578
578
  <figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
579
579
  <audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
580
580
  </figure>
581
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 }); }
582
582
  }
583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
584
584
  type: Component,
585
585
  args: [{
586
586
  selector: 'et-contentful-audio',
@@ -627,14 +627,14 @@ class ContentfulFileComponent {
627
627
  this.data = this._richTextData;
628
628
  }
629
629
  }
630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
631
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
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
632
  <a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
633
633
  {{ data.title }} ({{ data.size }} Bytes)
634
634
  </a>
635
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 }); }
636
636
  }
637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulFileComponent, decorators: [{
637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulFileComponent, decorators: [{
638
638
  type: Component,
639
639
  args: [{
640
640
  selector: 'et-contentful-file',
@@ -679,14 +679,14 @@ class ContentfulVideoComponent {
679
679
  this.data = this._richTextData;
680
680
  }
681
681
  }
682
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
683
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ContentfulVideoComponent, isStandalone: true, selector: "et-contentful-video", inputs: { data: "data", videoClass: "videoClass" }, ngImport: i0, template: `
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
684
  <video *ngIf="data" [ngClass]="videoClass" controls>
685
685
  <source src="{{ data.url }}" type="{{ data.contentType }}" />
686
686
  </video>
687
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 }); }
688
688
  }
689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ContentfulVideoComponent, decorators: [{
690
690
  type: Component,
691
691
  args: [{
692
692
  selector: 'et-contentful-video',
@@ -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":";;;;;;;;;MAIa,iBAAiB,GAAG,IAAI,cAAc,CAAmB,kBAAkB;;ACI3E,MAAA,sBAAsB,GAAG,CACpC,SAAuD,EAAE,MACnC;;IAEtB,GAAG;AACD,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,UAAU,EAAE;AACV,YAAA,KAAK,EAAE,wBAAwB;AAC/B,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,KAAK,EAAE,wBAAwB;AAC/B,YAAA,KAAK,EAAE,wBAAwB;AAChC,SAAA;AACD,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,YAAY,EAAE;YACZ,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AAChD,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA;AACF,KAAA;AACD,IAAA,IAAI,MAAM,IAAI,EAAE,CAAC;AAClB,CAAA;;MC1BY,iCAAiC,GAAG,IAAI,cAAc,CAAU,mCAAmC;;MCEnG,uBAAuB,GAAG,CAAC,gBAAiE,GAAA,EAAE,KAAI;AAC7G,IAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC5F,EAAE;AAEW,MAAA,iBAAiB,GAAG,CAAC,CAAuD,KAA0B;AACjH,IAAA,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC;AACxF,EAAE;AAEW,MAAA,iBAAiB,GAAG,CAAC,CAAuD,KAA0B;IACjH,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACxG;;ACVa,MAAA,oCAAoC,GAAG,CAAC,IAAqB,KAAmB;AAC3F,IAAA,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAElC,OAAO;AACL,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,MAAM,EAAE,GAAG;KACZ,CAAC;AACJ,EAAE;AAEF;;;;;;;AAOI;AACS,MAAA,wBAAwB,GAAG,CAAC,IAAY,KAAqD;IACxG,IAAI,KAAK,GAA8B,IAAI,CAAC;IAC5C,IAAI,MAAM,GAA8B,IAAI,CAAC;AAE7C,IAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB,QAAA,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,KAAK,GAAG,CAAC,CAAC;QACV,MAAM,GAAG,CAAC,CAAC;AACZ,KAAA;AAAM,SAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,GAAG,IAAI,CAAC;AACf,KAAA;AAAM,SAAA;QACL,KAAK,GAAG,IAAI,CAAC;AACd,KAAA;IAED,OAAO;AACL,QAAA,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI;AACzC,QAAA,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI;KAC7C,CAAC;AACJ,EAAE;AAEW,MAAA,8BAA8B,GAAG,CAC5C,IAAuC,EACvC,WAAqB,EACrB,eAA8B,KACX;AACnB,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAC9D,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAExD,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,EAAE,CAAC;AACX,KAAA;IAED,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAE5E,IAAA,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;AAC/B,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,WAAW,GAAa,EAAE,CAAC;;AAGjC,QAAA,WAAW,CAAC,IAAI,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC;AAE7C,QAAA,IAAI,eAAe,EAAE;AACnB,YAAA,WAAW,CAAC,IAAI,CAAC,UAAU,eAAe,CAAA,CAAE,CAAC,CAAC;AAC/C,SAAA;AAED,QAAA,IAAI,SAAS,EAAE;YACb,IAAI,SAAS,CAAC,OAAO,EAAE;gBACrB,WAAW,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,SAAS,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC;AAC5C,aAAA;YAED,IAAI,SAAS,CAAC,SAAS,EAAE;gBACvB,WAAW,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,SAAS,CAAC,SAAS,CAAE,CAAA,CAAC,CAAC;AAC9C,aAAA;YAED,IAAI,SAAS,CAAC,cAAc,EAAE;gBAC5B,WAAW,CAAC,IAAI,CAAC,CAAA,IAAA,EAAO,SAAS,CAAC,cAAc,CAAE,CAAA,CAAC,CAAC;AACrD,aAAA;AACF,SAAA;QAED,IAAI,WAAW,EAAE,MAAM,EAAE;AACvB,YAAA,MAAM,aAAa,GAAG,CAAG,EAAA,OAAO,CAAI,CAAA,EAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;AAE5D,YAAA,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAEzD,IAAI,KAAK,IAAI,MAAM,EAAE;AACnB,oBAAA,UAAU,CAAC,IAAI,CAAC,CAAA,EAAG,aAAa,CAAA,GAAA,EAAM,KAAK,CAAA,GAAA,EAAM,MAAM,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;AACtE,iBAAA;AAAM,qBAAA,IAAI,KAAK,EAAE;oBAChB,UAAU,CAAC,IAAI,CAAC,CAAG,EAAA,aAAa,CAAM,GAAA,EAAA,KAAK,CAAI,CAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAC,CAAC;AAC1D,iBAAA;AAAM,qBAAA,IAAI,MAAM,EAAE;oBACjB,UAAU,CAAC,IAAI,CAAC,CAAG,EAAA,aAAa,CAAM,GAAA,EAAA,MAAM,CAAI,CAAA,EAAA,MAAM,CAAG,CAAA,CAAA,CAAC,CAAC;AAC5D,iBAAA;AACF,aAAA;AACF,SAAA;QAED,OAAO,CAAC,IAAI,CAAC;YACX,IAAI;YACJ,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA;AAC1F,SAAA,CAAC,CAAC;AACJ,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB;;ACxFA,MAiCa,wBAAwB,CAAA;AAjCrC,IAAA,WAAA,GAAA;AAkCU,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAoC,iCAAiC,EAAE;AACnG,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;AAEgB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QA+BlC,IAAK,CAAA,KAAA,GAA6C,IAAI,CAAC;QAUvD,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;QAUtB,IAAY,CAAA,YAAA,GAAa,EAAE,CAAC;QAU5B,IAAgB,CAAA,gBAAA,GAAkB,IAAI,CAAC;QAErC,IAAO,CAAA,OAAA,GAAoB,EAAE,CAAC;AAazC,KAAA;AA1EC,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,CAAC,CAAuD,EAAA;AAC9D,QAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACrD,QAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAElD,QAAA,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;AACvC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAElB,YAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAEjD,OAAO;AACR,SAAA;QAED,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5D,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACvD,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,SAAS,GAAG,oCAAoC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AACjG,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC;QAEzD,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAGD,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,CAAW,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAChB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;KACzD;AAGD,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,CAAW,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAGD,IAAA,IACI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;IACD,IAAI,eAAe,CAAC,CAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAKD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;AAChC,SAAA;KACF;IAEO,WAAW,GAAA;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;AAEpH,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;KAC1B;8GAjFU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EA/BzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAI0C,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAYhD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAjCpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;AAC5D,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,oBAAoB;;4BAE/B,MAAM,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,CAAC;AACtF,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,qBAAqB;AAC7B,qBAAA;AACF,iBAAA,CAAA;8BAUK,IAAI,EAAA,CAAA;sBADP,KAAK;gBAgCF,KAAK,EAAA,CAAA;sBADR,KAAK;gBAWF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAWF,eAAe,EAAA,CAAA;sBADlB,KAAK;;;AC1GK,MAAA,0CAA0C,GAAG,CAAC,OAG1D,KAAI;AACH,IAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEjC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5D,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAEnH,IAAA,OAAO,QAAQ,CAAC;AAClB,EAAE;AAEK,MAAM,6BAA6B,GAAG,CAC3C,IAA2B,EAC3B,MAA6B,EAC7B,WAAkC,EAClC,MAAwB,KACtB;IACF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AAE1C,IAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAEhE,IAAA,MAAM,OAAO,GAA0B;AACrC,QAAA,OAAO,EAAE,oCAAoC,CAAC,QAAQ,CAAC;AACvD,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,KAAK;AACP,kBAAE;oBACE,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC;AAClE,iBAAA;kBACD,EAAE,CAAC;YACP,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACxE,SAAA;AACD,QAAA,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;AAE5C,IAAA,IAAI,QAAQ,KAAK,MAAM,CAAC,cAAc,EAAE;QACtC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAEnD,QAAA,IAAI,KAAK,EAAE;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEvD,YAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;AAErB,YAAA,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3C,aAAA;AAAM,iBAAA,IAAI,OAAO,EAAE;gBAClB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3C,aAAA;AAAM,iBAAA,IAAI,OAAO,EAAE;gBAClB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3C,aAAA;AAAM,iBAAA;gBACL,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AAC1C,aAAA;AACF,SAAA;AAAM,aAAA;YACL,OAAO,CAAC,IAAI,CAAC,CAAA,6BAAA,EAAgC,OAAO,CAAI,EAAA,CAAA,EAAE,QAAQ,CAAC,CAAC;AACrE,SAAA;AACF,KAAA;SAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,cAAc,IAAI,QAAQ,KAAK,OAAO,CAAC,cAAc,EAAE;AACpF,QAAA,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE9F,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,IAAI,GAAG,KAAK,EAAE,UAAU,IAAI,YAAY,CAAC;;;AAI/C,YAAA,MAAM,SAAS,GAAG,IAAI,KAAK,OAAO,GAAG,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEhG,YAAA,IAAI,SAAS,EAAE;AACb,gBAAA,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;AAC5B,gBAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;AACtB,aAAA;AAAM,iBAAA;gBACL,OAAO,CAAC,IAAI,GAAG,CAAA,8CAAA,EAAiD,IAAI,CAAS,MAAA,EAAA,QAAQ,IAAI,CAAC;AAC3F,aAAA;AACF,SAAA;AAAM,aAAA;YACL,OAAO,CAAC,IAAI,CAAC,CAAA,6BAAA,EAAgC,OAAO,CAAI,EAAA,CAAA,EAAE,QAAQ,CAAC,CAAC;AACrE,SAAA;AACF,KAAA;AAED,IAAA,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE;AAC1E,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACzB,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACrE,SAAC,CAAC,CAAC;AACJ,KAAA;AAED,IAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE9B,IAAA,OAAO,OAAO,CAAC;AACjB,EAAE;AAEW,MAAA,sBAAsB,GAAG,CAAC,IAA2B,KAAI;AACpE,IAAA,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACzD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,KAAK,GAAkB,IAAI,CAAC;AAEhC,IAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE;QACxE,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7D,QAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3B,KAAA;AAAM,SAAA;AACL,QAAA,KAAK,GAAG,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC;AAC1E,QAAA,KAAK,GAAG,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7C,KAAA;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,KAAK;KACN,CAAC;AACJ,EAAE;MAEW,wBAAwB,GAAG,CAAC,KAAa,EAAE,kBAA2B,KAAI;AACrF,IAAA,OAAO,KAAK;AACT,SAAA,GAAG,CAAC,CAAC,IAAI,KAAI;QACZ,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,MAAM;gBACT,OAAO,kBAAkB,GAAG,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;AACtD,YAAA,KAAK,QAAQ;gBACX,OAAO,kBAAkB,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;AACnD,YAAA,KAAK,WAAW;gBACd,OAAO,kBAAkB,GAAG,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;AACtD,YAAA,KAAK,MAAM;gBACT,OAAO,kBAAkB,GAAG,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;AACtD,YAAA;gBACE,OAAO,IAAI,CAAC,IAAI,CAAC;AACpB,SAAA;AACH,KAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,EAAE;AAEW,MAAA,oCAAoC,GAAG,CAAC,QAAmC,KAAI;AAC1F,IAAA,QAAQ,QAAQ;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,GAAG,CAAC;QACb,KAAK,MAAM,CAAC,OAAO;AACjB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,OAAO;AACjB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,KAAK;AACf,YAAA,OAAO,YAAY,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK;AACf,YAAA,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM,CAAC,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,UAAU;AACpB,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,iBAAiB;AAC3B,YAAA,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,cAAc;AACxB,YAAA,OAAO,KAAK,CAAC;QAEf,KAAK,OAAO,CAAC,SAAS;AACpB,YAAA,OAAO,GAAG,CAAC;QACb,KAAK,OAAO,CAAC,eAAe;AAC1B,YAAA,OAAO,GAAG,CAAC;QACb,KAAK,OAAO,CAAC,eAAe;AAC1B,YAAA,OAAO,GAAG,CAAC;AAEb,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,MAAM,CAAC;;AAGhB,QAAA,KAAK,UAAU;AACb,YAAA,OAAO,UAAU,CAAC;QAEpB,KAAK,MAAM,CAAC,cAAc;AACxB,YAAA,OAAO,KAAK,CAAC;QACf,KAAK,OAAO,CAAC,cAAc;AACzB,YAAA,OAAO,KAAK,CAAC;AAEf,QAAA;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AACH,EAAE;AAEW,MAAA,2BAA2B,GAAG,CAAC,KAAgC,KAA2B;AACrG,IAAA,MAAM,WAAW,GAAG;QAClB,WAAW,EAAE,mBAAmB,CAAkB,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QACvE,aAAa,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;QAC1D,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;KAChD,CAAC;AAEX,IAAA,OAAO,WAAW,CAAC;AACrB,EAAE;AAEW,MAAA,mBAAmB,GAAG,CAAgC,KAAkC,KAAI;AACvG,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;AAEtC,IAAA,IAAI,KAAK,EAAE;AACT,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;AAClB,gBAAA,OAAO,CAAC,IAAI,CAAC,mEAAmE,EAAE,IAAI,CAAC,CAAC;gBACxF,SAAS;AACV,aAAA;YAED,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,SAAA;AACF,KAAA;AAED,IAAA,OAAO,QAAQ,CAAC;AAClB;;AC1MA,MAUa,mCAAmC,CAAA;AAVhD,IAAA,WAAA,GAAA;QAoBU,IAAS,CAAA,SAAA,GAA4B,IAAI,CAAC;AAE1C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAW,QAAQ,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,sBAAsB,EAAE,CAAC;AAyF7F,KAAA;AA1GC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,CAAsC,EAAA;AACjD,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC;QAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAWD,cAAc,GAAA;;QAEZ,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC;AAChE,QAAA,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;AACjC,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACnE,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;AACR,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,0CAA0C,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAE5G,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACxB;AAEO,IAAA,OAAO,CAAC,QAAiC,EAAA;;AAE/C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;AAEnD,QAAA,MAAM,WAAW,GAA0B;AACzC,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,QAAQ,EAAE,QAAQ;SACnB,CAAC;;AAGF,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;;AAGjE,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;KACtE;AAEO,IAAA,eAAe,CAAC,IAA4E,EAAA;AAClG,QAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEjC,IAAI,OAAO,GAAmB,IAAI,CAAC;AACnC,QAAA,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;AAClC,YAAA,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACvC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAExD,IAAI,OAAO,CAAC,IAAI,EAAE;AAChB,oBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAChE,iBAAA;gBAED,IAAI,OAAO,CAAC,UAAU,EAAE;AACtB,oBAAA,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAC9D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnD,qBAAA;AACF,iBAAA;gBACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iCAAiC;4BAC1C,QAAQ,EAAE,OAAO,CAAC,IAAI;AACvB,yBAAA;AACF,qBAAA;oBACD,MAAM,EAAE,IAAI,CAAC,SAAS;AACvB,iBAAA,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,MAAiB,EACjB,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,OAAO,EACZ,QAAQ,EACR,IAAI,CAAC,SAAS,CACf,CAAC;gBAEF,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEhC,gBAAA,IAAI,GAAG,CAAC,QAAQ,YAAY,wBAAwB,EAAE;AACpD,oBAAA,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;AACrD,oBAAA,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;AACjE,oBAAA,GAAG,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;AAC1E,iBAAA;AAED,gBAAA,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;AACtC,aAAA;AACF,SAAA;;AAGD,QAAA,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC3C,YAAA,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC;AAC5E,SAAA;KACF;8GA1GU,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,4LARpC,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAQD,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAV/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,kCAAkC;AAC1C,qBAAA;AACF,iBAAA,CAAA;8BAGK,QAAQ,EAAA,CAAA;sBADX,KAAK;;;AC3BR,MAaa,wBAAwB,CAAA;AAbrC,IAAA,WAAA,GAAA;QAcU,IAAa,CAAA,aAAA,GAAG,MAAM,CAAkB,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAqB/F,IAAK,CAAA,KAAA,GAA2B,IAAI,CAAC;QAG7C,IAAU,CAAA,UAAA,GAAgB,IAAI,CAAC;QAG/B,IAAW,CAAA,WAAA,GAAgB,IAAI,CAAC;QAGhC,IAAe,CAAA,eAAA,GAAgB,IAAI,CAAC;AAOrC,KAAA;AAnCC,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,CAAC,CAAqC,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAElB,YAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAEjD,OAAO;AACR,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5C,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACvD,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;KACxB;IAYD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;AAChC,SAAA;KACF;8GArCU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAXzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;GAKT,EAIS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA;;;;;AAKT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACzB,iBAAA,CAAA;8BAKK,IAAI,EAAA,CAAA;sBADP,KAAK;gBAsBN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,eAAe,EAAA,CAAA;sBADd,KAAK;;;AC3CR,MAYa,uBAAuB,CAAA;AAZpC,IAAA,WAAA,GAAA;QAaU,IAAa,CAAA,aAAA,GAAG,MAAM,CAAkB,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAiB/F,IAAK,CAAA,KAAA,GAA2B,IAAI,CAAC;QAG7C,IAAS,CAAA,SAAA,GAAgB,IAAI,CAAC;AAO/B,KAAA;AAzBC,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,CAAC,CAAqC,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAElB,YAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAEjD,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;KACxB;IAMD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;AAChC,SAAA;KACF;8GA3BU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAVxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;GAIT,EAIS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEZ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACzB,iBAAA,CAAA;8BAKK,IAAI,EAAA,CAAA;sBADP,KAAK;gBAkBN,SAAS,EAAA,CAAA;sBADR,KAAK;;;AChCR,MAYa,wBAAwB,CAAA;AAZrC,IAAA,WAAA,GAAA;QAaU,IAAa,CAAA,aAAA,GAAG,MAAM,CAAkB,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAqB/F,IAAK,CAAA,KAAA,GAA2B,IAAI,CAAC;QAG7C,IAAU,CAAA,UAAA,GAAgB,IAAI,CAAC;AAOhC,KAAA;AA7BC,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,CAAC,CAAqC,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAElB,YAAA,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAEjD,OAAO;AACR,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5C,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACvD,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;KACxB;IAMD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;AAChC,SAAA;KACF;8GA/BU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAVzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;GAIT,EAIS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACzB,iBAAA,CAAA;8BAKK,IAAI,EAAA,CAAA;sBADP,KAAK;gBAsBN,UAAU,EAAA,CAAA;sBADT,KAAK;;;AClCK,MAAA,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,mCAAmC;;;ACX9B,MAAM,6BAA6B,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;EAa9C;AAEK,MAAM,6BAA6B,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;ACjBhD;;AAEG;;;;"}
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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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@ethlete/contentful",
3
- "version": "1.0.2",
4
- "dependencies": {
5
- "tslib": "^2.5.0"
6
- },
3
+ "version": "2.0.0",
7
4
  "peerDependencies": {
5
+ "@angular/cdk": "16.2.10",
8
6
  "@angular/common": "^15.2.1 || ^16.0.0",
9
7
  "@angular/core": "^15.2.1 || ^16.0.0",
10
- "@ethlete/core": "1.10.1",
11
- "@ethlete/cdk": "2.3.2"
8
+ "@contentful/rich-text-types": "16.3.0",
9
+ "@ethlete/cdk": "*",
10
+ "@ethlete/core": "*",
11
+ "@ethlete/query": "*"
12
12
  },
13
13
  "module": "fesm2022/ethlete-contentful.mjs",
14
14
  "typings": "index.d.ts",
@@ -23,5 +23,8 @@
23
23
  "default": "./fesm2022/ethlete-contentful.mjs"
24
24
  }
25
25
  },
26
- "sideEffects": false
27
- }
26
+ "sideEffects": false,
27
+ "dependencies": {
28
+ "tslib": "^2.3.0"
29
+ }
30
+ }