@ethlete/contentful 0.1.0-next.1 → 0.1.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/audio/contentful-audio.component.mjs +36 -15
- package/esm2020/lib/components/file/contentful-file.component.mjs +30 -11
- package/esm2020/lib/components/image/contentful-image.component.mjs +31 -11
- package/esm2020/lib/components/rich-text-renderer/index.mjs +2 -0
- package/esm2020/lib/components/rich-text-renderer/public-api.mjs +3 -2
- package/esm2020/lib/components/rich-text-renderer/rich-text-renderer.component.mjs +16 -10
- package/esm2020/lib/components/rich-text-renderer/rich-text-renderer.constants.mjs +3 -0
- package/esm2020/lib/components/rich-text-renderer/rich-text-renderer.types.mjs +1 -1
- package/esm2020/lib/components/rich-text-renderer/rich-text-renderer.util.mjs +43 -15
- package/esm2020/lib/components/video/contentful-video.component.mjs +28 -13
- package/esm2020/lib/contentful.module.mjs +4 -4
- package/esm2020/lib/types/contentful.types.mjs +1 -1
- package/esm2020/lib/utils/contentful-config.mjs +1 -1
- package/fesm2015/ethlete-contentful.mjs +225 -117
- package/fesm2015/ethlete-contentful.mjs.map +1 -1
- package/fesm2020/ethlete-contentful.mjs +222 -116
- package/fesm2020/ethlete-contentful.mjs.map +1 -1
- package/lib/components/audio/contentful-audio.component.d.ts +11 -4
- package/lib/components/file/contentful-file.component.d.ts +9 -4
- package/lib/components/image/contentful-image.component.d.ts +10 -4
- package/lib/components/rich-text-renderer/index.d.ts +1 -0
- package/lib/components/rich-text-renderer/public-api.d.ts +2 -1
- package/lib/components/rich-text-renderer/rich-text-renderer.component.d.ts +2 -2
- package/lib/components/rich-text-renderer/rich-text-renderer.constants.d.ts +2 -0
- package/lib/components/rich-text-renderer/rich-text-renderer.types.d.ts +6 -0
- package/lib/components/rich-text-renderer/rich-text-renderer.util.d.ts +9 -7
- package/lib/components/video/contentful-video.component.d.ts +9 -4
- package/lib/types/contentful.types.d.ts +14 -2
- package/lib/utils/contentful-config.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,43 +1,64 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { NgClass, NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ContentfulAudioComponent {
|
|
5
6
|
constructor() {
|
|
7
|
+
this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });
|
|
6
8
|
this._data = null;
|
|
9
|
+
this.audioClass = null;
|
|
10
|
+
this.figureClass = null;
|
|
11
|
+
this.figcaptionClass = null;
|
|
7
12
|
}
|
|
8
13
|
get data() {
|
|
9
14
|
return this._data;
|
|
10
15
|
}
|
|
11
16
|
set data(v) {
|
|
17
|
+
if (v && !v.contentType) {
|
|
18
|
+
this._data = null;
|
|
19
|
+
console.warn('The provided asset is invalid', v);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
12
22
|
if (v && !v.contentType.startsWith('audio/')) {
|
|
13
23
|
throw new Error('The provided asset is not an audio');
|
|
14
24
|
}
|
|
15
|
-
this._data = v;
|
|
25
|
+
this._data = v ?? null;
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
if (this._richTextData) {
|
|
29
|
+
this.data = this._richTextData;
|
|
30
|
+
}
|
|
16
31
|
}
|
|
17
32
|
}
|
|
18
|
-
ContentfulAudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
19
|
-
ContentfulAudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
20
|
-
<figure *ngIf="data">
|
|
21
|
-
<figcaption>{{ data.title }}</figcaption>
|
|
22
|
-
<audio controls src="{{ data.url }}"></audio>
|
|
33
|
+
ContentfulAudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
ContentfulAudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
|
|
35
|
+
<figure *ngIf="data" [ngClass]="figureClass">
|
|
36
|
+
<figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
|
|
37
|
+
<audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
|
|
23
38
|
</figure>
|
|
24
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
39
|
+
`, 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 });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
|
|
26
41
|
type: Component,
|
|
27
42
|
args: [{
|
|
28
43
|
selector: 'et-contentful-audio',
|
|
29
44
|
template: `
|
|
30
|
-
<figure *ngIf="data">
|
|
31
|
-
<figcaption>{{ data.title }}</figcaption>
|
|
32
|
-
<audio controls src="{{ data.url }}"></audio>
|
|
45
|
+
<figure *ngIf="data" [ngClass]="figureClass">
|
|
46
|
+
<figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
|
|
47
|
+
<audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
|
|
33
48
|
</figure>
|
|
34
49
|
`,
|
|
35
50
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
36
51
|
encapsulation: ViewEncapsulation.None,
|
|
37
52
|
standalone: true,
|
|
38
|
-
imports: [NgIf],
|
|
53
|
+
imports: [NgIf, NgClass],
|
|
39
54
|
}]
|
|
40
55
|
}], propDecorators: { data: [{
|
|
41
56
|
type: Input
|
|
57
|
+
}], audioClass: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], figureClass: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], figcaptionClass: [{
|
|
62
|
+
type: Input
|
|
42
63
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWUxRSxNQUFNLE9BQU8sd0JBQXdCO0lBYnJDO1FBY1Usa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBRy9CLGdCQUFXLEdBQWdCLElBQUksQ0FBQztRQUdoQyxvQkFBZSxHQUFnQixJQUFJLENBQUM7S0FPckM7SUFuQ0MsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxDQUFxQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFbEIsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVqRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6QixDQUFDO0lBWUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDaEM7SUFDSCxDQUFDOztxSEFyQ1Usd0JBQXdCO3lHQUF4Qix3QkFBd0IsbU1BWHpCOzs7OztHQUtULDREQUlTLElBQUksNkZBQUUsT0FBTzsyRkFFWix3QkFBd0I7a0JBYnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7OztHQUtUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7aUJBQ3pCOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFzQk4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWF1ZGlvJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZmlndXJlICpuZ0lmPVwiZGF0YVwiIFtuZ0NsYXNzXT1cImZpZ3VyZUNsYXNzXCI+XG4gICAgICA8ZmlnY2FwdGlvbiBbbmdDbGFzc109XCJmaWdjYXB0aW9uQ2xhc3NcIj57eyBkYXRhLnRpdGxlIH19PC9maWdjYXB0aW9uPlxuICAgICAgPGF1ZGlvIFtuZ0NsYXNzXT1cImF1ZGlvQ2xhc3NcIiBjb250cm9scyBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiPjwvYXVkaW8+XG4gICAgPC9maWd1cmU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxBdWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQ+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodiAmJiAhdi5jb250ZW50VHlwZS5zdGFydHNXaXRoKCdhdWRpby8nKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgbm90IGFuIGF1ZGlvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0YSA9IHYgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9kYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBhdWRpb0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlndXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmljaFRleHREYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLl9yaWNoVGV4dERhdGE7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,34 +1,53 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { NgClass, NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ContentfulFileComponent {
|
|
5
6
|
constructor() {
|
|
7
|
+
this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });
|
|
6
8
|
this._data = null;
|
|
9
|
+
this.fileClass = null;
|
|
7
10
|
}
|
|
8
11
|
get data() {
|
|
9
12
|
return this._data;
|
|
10
13
|
}
|
|
11
14
|
set data(v) {
|
|
12
|
-
|
|
15
|
+
if (v && !v.contentType) {
|
|
16
|
+
this._data = null;
|
|
17
|
+
console.warn('The provided asset is invalid', v);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
this._data = v ?? null;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this._richTextData) {
|
|
24
|
+
this.data = this._richTextData;
|
|
25
|
+
}
|
|
13
26
|
}
|
|
14
27
|
}
|
|
15
|
-
ContentfulFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
16
|
-
ContentfulFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
17
|
-
<a *ngIf="data" [href]="data.url" class="underline" target="_blank">
|
|
18
|
-
|
|
19
|
-
|
|
28
|
+
ContentfulFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ContentfulFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
|
|
30
|
+
<a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
|
|
31
|
+
{{ data.title }} ({{ data.size }} Bytes)
|
|
32
|
+
</a>
|
|
33
|
+
`, 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 });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulFileComponent, decorators: [{
|
|
20
35
|
type: Component,
|
|
21
36
|
args: [{
|
|
22
37
|
selector: 'et-contentful-file',
|
|
23
38
|
template: `
|
|
24
|
-
<a *ngIf="data" [href]="data.url" class="underline" target="_blank">
|
|
39
|
+
<a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
|
|
40
|
+
{{ data.title }} ({{ data.size }} Bytes)
|
|
41
|
+
</a>
|
|
25
42
|
`,
|
|
26
43
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
27
44
|
encapsulation: ViewEncapsulation.None,
|
|
28
45
|
standalone: true,
|
|
29
|
-
imports: [NgIf],
|
|
46
|
+
imports: [NgIf, NgClass],
|
|
30
47
|
}]
|
|
31
48
|
}], propDecorators: { data: [{
|
|
32
49
|
type: Input
|
|
50
|
+
}], fileClass: [{
|
|
51
|
+
type: Input
|
|
33
52
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWMxRSxNQUFNLE9BQU8sdUJBQXVCO0lBWnBDO1FBYVUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFpQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO0tBTy9CO0lBekJDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBcUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7O29IQTNCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnSUFWeEI7Ozs7R0FJVCw0REFJUyxJQUFJLDZGQUFFLE9BQU87MkZBRVosdUJBQXVCO2tCQVpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7aUJBQ3pCOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFrQk4sU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1maWxlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YSAqbmdJZj1cImRhdGFcIiBbaHJlZl09XCJkYXRhLnVybFwiIFtuZ0NsYXNzXT1cImZpbGVDbGFzc1wiIGNsYXNzPVwidW5kZXJsaW5lXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICB7eyBkYXRhLnRpdGxlIH19ICh7eyBkYXRhLnNpemUgfX0gQnl0ZXMpXG4gICAgPC9hPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsRmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX3JpY2hUZXh0RGF0YSA9IGluamVjdDxDb250ZW50ZnVsQXNzZXQ+KFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuICBzZXQgZGF0YSh2OiBDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpbGVDbGFzczogTmdDbGFzc1R5cGUgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuX3JpY2hUZXh0RGF0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,23 +1,37 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { NgClass, NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ContentfulImageComponent {
|
|
5
6
|
constructor() {
|
|
7
|
+
this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, { optional: true });
|
|
6
8
|
this._data = null;
|
|
9
|
+
this.imgClass = null;
|
|
10
|
+
this.pictureClass = null;
|
|
7
11
|
}
|
|
8
12
|
get data() {
|
|
9
13
|
return this._data;
|
|
10
14
|
}
|
|
11
15
|
set data(v) {
|
|
16
|
+
if (v && !v.contentType) {
|
|
17
|
+
this._data = null;
|
|
18
|
+
console.warn('The provided asset is invalid', v);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
12
21
|
if (v && !v.contentType.startsWith('image/')) {
|
|
13
22
|
throw new Error('The provided asset is not an image');
|
|
14
23
|
}
|
|
15
|
-
this._data = v;
|
|
24
|
+
this._data = v ?? null;
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
if (this._richTextData) {
|
|
28
|
+
this.data = this._richTextData;
|
|
29
|
+
}
|
|
16
30
|
}
|
|
17
31
|
}
|
|
18
|
-
ContentfulImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
19
|
-
ContentfulImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
20
|
-
<picture *ngIf="data">
|
|
32
|
+
ContentfulImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
ContentfulImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { data: "data", imgClass: "imgClass", pictureClass: "pictureClass" }, ngImport: i0, template: `
|
|
34
|
+
<picture *ngIf="data" [ngClass]="pictureClass">
|
|
21
35
|
<source srcset="{{ data.url }}?fm=avif" />
|
|
22
36
|
<source srcset="{{ data.url }}?fm=webp" />
|
|
23
37
|
<source srcset="{{ data.url }}?fm=jpg" />
|
|
@@ -25,16 +39,17 @@ ContentfulImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
25
39
|
[attr.alt]="data.description ?? undefined"
|
|
26
40
|
[attr.width]="data.width ?? undefined"
|
|
27
41
|
[attr.height]="data.height ?? undefined"
|
|
42
|
+
[ngClass]="imgClass"
|
|
28
43
|
src="{{ data.url }}"
|
|
29
44
|
/>
|
|
30
45
|
</picture>
|
|
31
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
46
|
+
`, 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 });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulImageComponent, decorators: [{
|
|
33
48
|
type: Component,
|
|
34
49
|
args: [{
|
|
35
50
|
selector: 'et-contentful-image',
|
|
36
51
|
template: `
|
|
37
|
-
<picture *ngIf="data">
|
|
52
|
+
<picture *ngIf="data" [ngClass]="pictureClass">
|
|
38
53
|
<source srcset="{{ data.url }}?fm=avif" />
|
|
39
54
|
<source srcset="{{ data.url }}?fm=webp" />
|
|
40
55
|
<source srcset="{{ data.url }}?fm=jpg" />
|
|
@@ -42,6 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
42
57
|
[attr.alt]="data.description ?? undefined"
|
|
43
58
|
[attr.width]="data.width ?? undefined"
|
|
44
59
|
[attr.height]="data.height ?? undefined"
|
|
60
|
+
[ngClass]="imgClass"
|
|
45
61
|
src="{{ data.url }}"
|
|
46
62
|
/>
|
|
47
63
|
</picture>
|
|
@@ -49,9 +65,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
49
65
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
66
|
encapsulation: ViewEncapsulation.None,
|
|
51
67
|
standalone: true,
|
|
52
|
-
imports: [NgIf],
|
|
68
|
+
imports: [NgIf, NgClass],
|
|
53
69
|
}]
|
|
54
70
|
}], propDecorators: { data: [{
|
|
55
71
|
type: Input
|
|
72
|
+
}], imgClass: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], pictureClass: [{
|
|
75
|
+
type: Input
|
|
56
76
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQXVCMUUsTUFBTSxPQUFPLHdCQUF3QjtJQXJCckM7UUFzQlUsa0JBQWEsR0FBRyxNQUFNLENBQWtCLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFxQi9GLFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBRzdDLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBRzdCLGlCQUFZLEdBQWdCLElBQUksQ0FBQztLQU9sQztJQWhDQyxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLENBQXFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUVsQixPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRWpELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7O3FIQWxDVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2SkFuQnpCOzs7Ozs7Ozs7Ozs7O0dBYVQsNERBSVMsSUFBSSw2RkFBRSxPQUFPOzJGQUVaLHdCQUF3QjtrQkFyQnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztpQkFDekI7OEJBS0ssSUFBSTtzQkFEUCxLQUFLO2dCQXNCTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi4vcmljaC10ZXh0LXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHBpY3R1cmUgKm5nSWY9XCJkYXRhXCIgW25nQ2xhc3NdPVwicGljdHVyZUNsYXNzXCI+XG4gICAgICA8c291cmNlIHNyY3NldD1cInt7IGRhdGEudXJsIH19P2ZtPWF2aWZcIiAvPlxuICAgICAgPHNvdXJjZSBzcmNzZXQ9XCJ7eyBkYXRhLnVybCB9fT9mbT13ZWJwXCIgLz5cbiAgICAgIDxzb3VyY2Ugc3Jjc2V0PVwie3sgZGF0YS51cmwgfX0/Zm09anBnXCIgLz5cbiAgICAgIDxpbWdcbiAgICAgICAgW2F0dHIuYWx0XT1cImRhdGEuZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgW2F0dHIud2lkdGhdPVwiZGF0YS53aWR0aCA/PyB1bmRlZmluZWRcIlxuICAgICAgICBbYXR0ci5oZWlnaHRdPVwiZGF0YS5oZWlnaHQgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaW1nQ2xhc3NcIlxuICAgICAgICBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiXG4gICAgICAvPlxuICAgIDwvcGljdHVyZT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfcmljaFRleHREYXRhID0gaW5qZWN0PENvbnRlbnRmdWxBc3NldD4oUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKHY6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodiAmJiAhdi5jb250ZW50VHlwZSkge1xuICAgICAgdGhpcy5fZGF0YSA9IG51bGw7XG5cbiAgICAgIGNvbnNvbGUud2FybignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIGludmFsaWQnLCB2KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBub3QgYW4gaW1hZ2UnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhID0gdiA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGltZ0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcGljdHVyZUNsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JpY2hUZXh0RGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtdGV4dC1yZW5kZXJlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './rich-text-renderer.component';
|
|
2
|
-
export * from './rich-text-renderer.
|
|
2
|
+
export * from './rich-text-renderer.constants';
|
|
3
3
|
export * from './rich-text-renderer.types';
|
|
4
|
-
|
|
4
|
+
export * from './rich-text-renderer.util';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { DOCUMENT } from '@angular/common';
|
|
|
3
3
|
import { ApplicationRef, ChangeDetectionStrategy, Component, ComponentFactoryResolver, ElementRef, inject, Injector, Input, Renderer2, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
|
|
4
4
|
import { CONTENTFUL_CONFIG } from '../../constants';
|
|
5
5
|
import { ContentfulConfig } from '../../utils';
|
|
6
|
+
import { RICH_TEXT_RENDERER_COMPONENT_DATA } from './rich-text-renderer.constants';
|
|
6
7
|
import { createRenderCommandsFromContentfulRichText } from './rich-text-renderer.util';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export class ContentfulRichTextRendererComponent {
|
|
@@ -21,7 +22,7 @@ export class ContentfulRichTextRendererComponent {
|
|
|
21
22
|
return this._richText;
|
|
22
23
|
}
|
|
23
24
|
set richText(v) {
|
|
24
|
-
this._richText = v;
|
|
25
|
+
this._richText = v ?? null;
|
|
25
26
|
// clear the element
|
|
26
27
|
this._viewContainerRef.clear();
|
|
27
28
|
if (!v) {
|
|
@@ -59,13 +60,18 @@ export class ContentfulRichTextRendererComponent {
|
|
|
59
60
|
this._renderer.appendChild(parent, element);
|
|
60
61
|
}
|
|
61
62
|
else {
|
|
62
|
-
const
|
|
63
|
+
const injector = Injector.create({
|
|
64
|
+
providers: [
|
|
65
|
+
{
|
|
66
|
+
provide: RICH_TEXT_RENDERER_COMPONENT_DATA,
|
|
67
|
+
useValue: data,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
parent: this._injector,
|
|
71
|
+
});
|
|
72
|
+
const portal = new DomPortalOutlet(parent, this._componentFactoryResolver, this._appRef, injector, this._document);
|
|
63
73
|
const comp = new ComponentPortal(command.payload);
|
|
64
74
|
const ref = comp.attach(portal);
|
|
65
|
-
if (command.data) {
|
|
66
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
-
ref.instance.data = command.data;
|
|
68
|
-
}
|
|
69
75
|
element = ref.location.nativeElement;
|
|
70
76
|
}
|
|
71
77
|
}
|
|
@@ -75,9 +81,9 @@ export class ContentfulRichTextRendererComponent {
|
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
}
|
|
78
|
-
ContentfulRichTextRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
79
|
-
ContentfulRichTextRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
84
|
+
ContentfulRichTextRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
+
ContentfulRichTextRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
|
|
81
87
|
type: Component,
|
|
82
88
|
args: [{
|
|
83
89
|
selector: 'et-contentful-rich-text-renderer',
|
|
@@ -92,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
92
98
|
}], propDecorators: { richText: [{
|
|
93
99
|
type: Input
|
|
94
100
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9DLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVl2RixNQUFNLE9BQU8sbUNBQW1DO0lBVmhEO1FBNkJVLGNBQVMsR0FBNEIsSUFBSSxDQUFDO1FBRTFDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0MsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDN0QsY0FBUyxHQUFHLE1BQU0sQ0FBVyxRQUFRLENBQUMsQ0FBQztRQUN2QyxZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FB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SSxPQUFPLENBQUMsSUFBSSxFQUFFO29CQUNoQiw4REFBOEQ7b0JBQzdELEdBQUcsQ0FBQyxRQUFnQixDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO2lCQUMzQztnQkFFRCxPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7YUFDdEM7U0FDRjtRQUVELHlCQUF5QjtRQUN6QixLQUFLLE1BQU0sWUFBWSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQzs7Z0lBMUZVLG1DQUFtQztvSEFBbkMsbUNBQW1DLDRMQVJwQyxFQUFFOzJGQVFELG1DQUFtQztrQkFWL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGtDQUFrQztxQkFDMUM7aUJBQ0Y7OEJBR0ssUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBEb21Qb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENPTlRFTlRGVUxfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFJpY2hUZXh0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0IH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsUmljaFRleHRSZW5kZXJlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCByaWNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmljaFRleHQ7XG4gIH1cbiAgc2V0IHJpY2hUZXh0KHY6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsKSB7XG4gICAgdGhpcy5fcmljaFRleHQgPSB2O1xuXG4gICAgLy8gY2xlYXIgdGhlIGVsZW1lbnRcbiAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cbiAgICBpZiAoIXYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21tYW5kcyA9IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCh7IGRhdGE6IHYsIGNvbmZpZzogdGhpcy5fY29uZmlnIH0pO1xuXG4gICAgdGhpcy5fcmVuZGVyKGNvbW1hbmRzKTtcbiAgfVxuICBwcml2YXRlIF9yaWNoVGV4dDogUmljaFRleHRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciA9IGluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuICBwcml2YXRlIF9kb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICBwcml2YXRlIF9hcHBSZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuICBwcml2YXRlIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgX2NvbmZpZyA9IGluamVjdChDT05URU5URlVMX0NPTkZJRywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBuZXcgQ29udGVudGZ1bENvbmZpZygpO1xuXG4gIHByaXZhdGUgX3JlbmRlcihjb21tYW5kczogUmljaFRleHRSZW5kZXJDb21tYW5kW10pIHtcbiAgICAvLyBjcmVhdGUgYSBkb2N1bWVudCBmcmFnbWVudCB0byBob2xkIHRoZSBlbGVtZW50cyB3aGlsZSB3ZSBjcmVhdGUgdGhlbVxuICAgIGNvbnN0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuXG4gICAgY29uc3QgaG9zdENvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZCA9IHtcbiAgICAgIHBheWxvYWQ6ICdkb2N1bWVudCcsXG4gICAgICBjaGlsZHJlbjogY29tbWFuZHMsXG4gICAgfTtcblxuICAgIC8vIGxvb3Agb3ZlciB0aGUgY29tbWFuZHNcbiAgICB0aGlzLl9leGVjdXRlQ29tbWFuZCh7IGNvbW1hbmQ6IGhvc3RDb21tYW5kLCBwYXJlbnQ6IGZyYWdtZW50IH0pO1xuXG4gICAgLy8gYXBwZW5kIHRoZSBmcmFnbWVudCB0byB0aGUgaG9zdCBlbGVtZW50XG4gICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBmcmFnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9leGVjdXRlQ29tbWFuZChkYXRhOiB7IGNvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZDsgcGFyZW50OiBFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB9KSB7XG4gICAgY29uc3QgeyBjb21tYW5kLCBwYXJlbnQgfSA9IGRhdGE7XG5cbiAgICBsZXQgZWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGlmIChjb21tYW5kLnBheWxvYWQgIT09ICdkb2N1bWVudCcpIHtcbiAgICAgIGlmICh0eXBlb2YgY29tbWFuZC5wYXlsb2FkID09PSAnc3RyaW5nJykge1xuICAgICAgICBlbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudChjb21tYW5kLnBheWxvYWQpO1xuXG4gICAgICAgIGlmIChjb21tYW5kLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShlbGVtZW50LCAnaW5uZXJUZXh0JywgY29tbWFuZC5kYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb21tYW5kLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29tbWFuZC5hdHRyaWJ1dGVzKSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsIG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZChwYXJlbnQsIGVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IERvbVBvcnRhbE91dGxldChcbiAgICAgICAgICBwYXJlbnQgYXMgRWxlbWVudCxcbiAgICAgICAgICB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgdGhpcy5fYXBwUmVmLFxuICAgICAgICAgIHRoaXMuX2luamVjdG9yLFxuICAgICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGNvbXAgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbW1hbmQucGF5bG9hZCk7XG4gICAgICAgIGNvbnN0IHJlZiA9IGNvbXAuYXR0YWNoKHBvcnRhbCk7XG5cbiAgICAgICAgaWYgKGNvbW1hbmQuZGF0YSkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgKHJlZi5pbnN0YW5jZSBhcyBhbnkpLmRhdGEgPSBjb21tYW5kLmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50ID0gcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gbG9vcCBvdmVyIHRoZSBjb21tYW5kc1xuICAgIGZvciAoY29uc3QgY2hpbGRDb21tYW5kIG9mIGNvbW1hbmQuY2hpbGRyZW4pIHtcbiAgICAgIHRoaXMuX2V4ZWN1dGVDb21tYW5kKHsgY29tbWFuZDogY2hpbGRDb21tYW5kLCBwYXJlbnQ6IGVsZW1lbnQgPz8gcGFyZW50IH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVl2RixNQUFNLE9BQU8sbUNBQW1DO0lBVmhEO1FBNkJVLGNBQVMsR0FBNEIsSUFBSSxDQUFDO1FBRTFDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0MsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDN0QsY0FBUyxHQUFHLE1BQU0sQ0FBVyxRQUFR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QixFQUNqQixJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyxPQUFPLEVBQ1osUUFBUSxFQUNSLElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztnQkFFRixNQUFNLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQzthQUN0QztTQUNGO1FBRUQseUJBQXlCO1FBQ3pCLEtBQUssTUFBTSxZQUFZLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDNUU7SUFDSCxDQUFDOztnSUE5RlUsbUNBQW1DO29IQUFuQyxtQ0FBbUMsNExBUnBDLEVBQUU7MkZBUUQsbUNBQW1DO2tCQVYvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsa0NBQWtDO3FCQUMxQztpQkFDRjs4QkFHSyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ09OVEVOVEZVTF9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IENvbnRlbnRmdWxDb25maWcgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0IH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsUmljaFRleHRSZW5kZXJlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCByaWNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmljaFRleHQ7XG4gIH1cbiAgc2V0IHJpY2hUZXh0KHY6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcmljaFRleHQgPSB2ID8/IG51bGw7XG5cbiAgICAvLyBjbGVhciB0aGUgZWxlbWVudFxuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblxuICAgIGlmICghdikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1hbmRzID0gY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0KHsgZGF0YTogdiwgY29uZmlnOiB0aGlzLl9jb25maWcgfSk7XG5cbiAgICB0aGlzLl9yZW5kZXIoY29tbWFuZHMpO1xuICB9XG4gIHByaXZhdGUgX3JpY2hUZXh0OiBSaWNoVGV4dFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gaW5qZWN0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG4gIHByaXZhdGUgX2RvY3VtZW50ID0gaW5qZWN0PERvY3VtZW50PihET0NVTUVOVCk7XG4gIHByaXZhdGUgX2FwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSBfY29uZmlnID0gaW5qZWN0KENPTlRFTlRGVUxfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IG5ldyBDb250ZW50ZnVsQ29uZmlnKCk7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyKGNvbW1hbmRzOiBSaWNoVGV4dFJlbmRlckNvbW1hbmRbXSkge1xuICAgIC8vIGNyZWF0ZSBhIGRvY3VtZW50IGZyYWdtZW50IHRvIGhvbGQgdGhlIGVsZW1lbnRzIHdoaWxlIHdlIGNyZWF0ZSB0aGVtXG4gICAgY29uc3QgZnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICBjb25zdCBob3N0Q29tbWFuZDogUmljaFRleHRSZW5kZXJDb21tYW5kID0ge1xuICAgICAgcGF5bG9hZDogJ2RvY3VtZW50JyxcbiAgICAgIGNoaWxkcmVuOiBjb21tYW5kcyxcbiAgICB9O1xuXG4gICAgLy8gbG9vcCBvdmVyIHRoZSBjb21tYW5kc1xuICAgIHRoaXMuX2V4ZWN1dGVDb21tYW5kKHsgY29tbWFuZDogaG9zdENvbW1hbmQsIHBhcmVudDogZnJhZ21lbnQgfSk7XG5cbiAgICAvLyBhcHBlbmQgdGhlIGZyYWdtZW50IHRvIHRoZSBob3N0IGVsZW1lbnRcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGZyYWdtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2V4ZWN1dGVDb21tYW5kKGRhdGE6IHsgY29tbWFuZDogUmljaFRleHRSZW5kZXJDb21tYW5kOyBwYXJlbnQ6IEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50IH0pIHtcbiAgICBjb25zdCB7IGNvbW1hbmQsIHBhcmVudCB9ID0gZGF0YTtcblxuICAgIGxldCBlbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKGNvbW1hbmQucGF5bG9hZCAhPT0gJ2RvY3VtZW50Jykge1xuICAgICAgaWYgKHR5cGVvZiBjb21tYW5kLnBheWxvYWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KGNvbW1hbmQucGF5bG9hZCk7XG5cbiAgICAgICAgaWYgKGNvbW1hbmQuZGF0YSkge1xuICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KGVsZW1lbnQsICdpbm5lclRleHQnLCBjb21tYW5kLmRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbW1hbmQuYXR0cmlidXRlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjb21tYW5kLmF0dHJpYnV0ZXMpKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgbmFtZSwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGRhdGEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvcixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IERvbVBvcnRhbE91dGxldChcbiAgICAgICAgICBwYXJlbnQgYXMgRWxlbWVudCxcbiAgICAgICAgICB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgdGhpcy5fYXBwUmVmLFxuICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGNvbXAgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbW1hbmQucGF5bG9hZCk7XG4gICAgICAgIGNvbnN0IHJlZiA9IGNvbXAuYXR0YWNoKHBvcnRhbCk7XG4gICAgICAgIGVsZW1lbnQgPSByZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgZm9yIChjb25zdCBjaGlsZENvbW1hbmQgb2YgY29tbWFuZC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBjaGlsZENvbW1hbmQsIHBhcmVudDogZWxlbWVudCA/PyBwYXJlbnQgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const RICH_TEXT_RENDERER_COMPONENT_DATA = new InjectionToken('RICH_TEXT_RENDERER_COMPONENT_DATA');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBVSxtQ0FBbUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjx1bmtub3duPignUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBJyk7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb250ZW50ZnVsL3NyYy9saWIvY29tcG9uZW50cy9yaWNoLXRleHQtcmVuZGVyZXIvcmljaC10ZXh0LXJlbmRlcmVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQsIENvbnRlbnRmdWxFbnRyeUJhc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRSZW5kZXJDb21tYW5kIHtcbiAgcGF5bG9hZDogc3RyaW5nIHwgKG5ldyAoKSA9PiB1bmtub3duKTtcbiAgZGF0YT86IHVua25vd247XG4gIGF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBjaGlsZHJlbjogUmljaFRleHRSZW5kZXJDb21tYW5kW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudGZ1bFJlc291cmNlTWFwIHtcbiAgcmVhZG9ubHkgYXNzZXRzQmxvY2s6IE1hcDxzdHJpbmcsIENvbnRlbnRmdWxBc3NldD47XG4gIHJlYWRvbmx5IGVudHJpZXNJbmxpbmU6IE1hcDxzdHJpbmcsIENvbnRlbnRmdWxFbnRyeUJhc2U+O1xuICByZWFkb25seSBlbnRyaWVzQmxvY2s6IE1hcDxzdHJpbmcsIENvbnRlbnRmdWxFbnRyeUJhc2U+O1xufVxuIl19
|
|
@@ -6,15 +6,12 @@ import { ContentfulVideoComponent } from '../video';
|
|
|
6
6
|
export const createRenderCommandsFromContentfulRichText = (options) => {
|
|
7
7
|
const { data, config } = options;
|
|
8
8
|
const commands = [];
|
|
9
|
-
const assetMap = new Map();
|
|
10
9
|
const assetComponents = getAssetComponentsFromConfig(config);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
createContentfulRenderCommand(data.json, { children: commands, payload: data.json.nodeType }, assetMap, config.useTailwindClasses, assetComponents, config.customComponents);
|
|
10
|
+
const resourceMap = createContentfulResourceMap(data.links);
|
|
11
|
+
createContentfulRenderCommand(data.json, { children: commands, payload: data.json.nodeType }, resourceMap, config.useTailwindClasses, assetComponents, config.customComponents);
|
|
15
12
|
return commands;
|
|
16
13
|
};
|
|
17
|
-
export const createContentfulRenderCommand = (node, parent,
|
|
14
|
+
export const createContentfulRenderCommand = (node, parent, resourceMap, useTailwindClasses, assetComponents, customComponents) => {
|
|
18
15
|
const { nodeType, data: nodeData } = node;
|
|
19
16
|
const { children, marks, value } = getContentfulNodeProps(node);
|
|
20
17
|
const command = {
|
|
@@ -30,8 +27,9 @@ export const createContentfulRenderCommand = (node, parent, assetMap, useTailwin
|
|
|
30
27
|
},
|
|
31
28
|
children: [],
|
|
32
29
|
};
|
|
30
|
+
const entryId = nodeData['target']?.sys?.id;
|
|
33
31
|
if (nodeType === BLOCKS.EMBEDDED_ASSET) {
|
|
34
|
-
const asset =
|
|
32
|
+
const asset = resourceMap.assetsBlock.get(entryId);
|
|
35
33
|
if (asset) {
|
|
36
34
|
const isImage = asset.contentType.startsWith('image/');
|
|
37
35
|
const isVideo = asset.contentType.startsWith('video/');
|
|
@@ -50,21 +48,30 @@ export const createContentfulRenderCommand = (node, parent, assetMap, useTailwin
|
|
|
50
48
|
command.payload = assetComponents.file;
|
|
51
49
|
}
|
|
52
50
|
}
|
|
51
|
+
else {
|
|
52
|
+
console.warn(`No asset found for entry id "${entryId}"!`, nodeData);
|
|
53
|
+
}
|
|
53
54
|
}
|
|
54
55
|
else if (nodeType === BLOCKS.EMBEDDED_ENTRY || nodeType === INLINES.EMBEDDED_ENTRY) {
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
const entry = resourceMap.entriesBlock.get(entryId) ?? resourceMap.entriesInline.get(entryId);
|
|
57
|
+
if (entry) {
|
|
58
|
+
const type = entry?.__typename ?? 'ET_UNKNOWN';
|
|
59
|
+
const component = customComponents?.[type];
|
|
60
|
+
if (component) {
|
|
61
|
+
command.payload = component;
|
|
62
|
+
command.data = entry;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
command.data = `ERROR: No component found for embedded entry "${type}" as "${nodeType}"!`;
|
|
66
|
+
}
|
|
60
67
|
}
|
|
61
68
|
else {
|
|
62
|
-
|
|
69
|
+
console.warn(`No entry found for entry id "${entryId}"!`, nodeData);
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
72
|
if (children && (children.length !== 1 || children[0].nodeType !== 'text')) {
|
|
66
73
|
children.forEach((child) => {
|
|
67
|
-
createContentfulRenderCommand(child, command,
|
|
74
|
+
createContentfulRenderCommand(child, command, resourceMap, useTailwindClasses, assetComponents, customComponents);
|
|
68
75
|
});
|
|
69
76
|
}
|
|
70
77
|
parent.children.push(command);
|
|
@@ -170,4 +177,25 @@ export const translateContentfulNodeTypeToHtmlTag = (nodeType) => {
|
|
|
170
177
|
return 'div';
|
|
171
178
|
}
|
|
172
179
|
};
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtdGV4dC1yZW5kZXJlci9yaWNoLXRleHQtcmVuZGVyZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsTUFBTSxFQUFVLE9BQU8sRUFBYyxNQUFNLDZCQUE2QixDQUFDO0FBR3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdwRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFDLE9BRzFELEVBQUUsRUFBRTtJQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE1BQU0sUUFBUSxHQUE0QixFQUFFLENBQUM7SUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFFcEQsTUFBTSxlQUFlLEdBQUcsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0QsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDM0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNuQztJQUVELDZCQUE2QixDQUMzQixJQUFJLENBQUMsSUFBSSxFQUNULEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUs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Q2YsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQyxVQUFVO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsaUJBQWlCO1lBQzNCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsY0FBYztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUVmLEtBQUssT0FBTyxDQUFDLFNBQVM7WUFDcEIsT0FBTyxHQUFHLENBQUM7UUFDYixLQUFLLE9BQU8sQ0FBQyxlQUFlO1lBQzFCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsS0FBSyxPQUFPLENBQUMsZUFBZTtZQUMxQixPQUFPLEdBQUcsQ0FBQztRQUViLEtBQUssTUFBTTtZQUNULE9BQU8sTUFBTSxDQUFDO1FBRWhCLGtDQUFrQztRQUNsQyxLQUFLLFVBQVU7WUFDYixPQUFPLFVBQVUsQ0FBQztRQUVwQiw0Q0FBNEM7UUFDNUMsS0FBSyxNQUFNLENBQUMsY0FBYztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssT0FBTyxDQUFDLGNBQWM7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFFZjtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQmxvY2ssIEJMT0NLUywgSW5saW5lLCBJTkxJTkVTLCBNYXJrLCBUZXh0IH0gZnJvbSAnQGNvbnRlbnRmdWwvcmljaC10ZXh0LXR5cGVzJztcbmltcG9ydCB7IFJpY2hUZXh0UmVzcG9uc2UsIENvbnRlbnRmdWxBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldENvbXBvbmVudHMsIENvbnRlbnRmdWxDb25maWcgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXVkaW9Db21wb25lbnQgfSBmcm9tICcuLi9hdWRpbyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsRmlsZUNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UnO1xuaW1wb3J0IHsgQ29udGVudGZ1bFZpZGVvQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlkZW8nO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0ID0gKG9wdGlvbnM6IHtcbiAgZGF0YTogUmljaFRleHRSZXNwb25zZTtcbiAgY29uZmlnOiBDb250ZW50ZnVsQ29uZmlnO1xufSkgPT4ge1xuICBjb25zdCB7IGRhdGEsIGNvbmZpZyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBjb21tYW5kczogUmljaFRleHRSZW5kZXJDb21tYW5kW10gPSBbXTtcbiAgY29uc3QgYXNzZXRNYXAgPSBuZXcgTWFwPHN0cmluZywgQ29udGVudGZ1bEFzc2V0PigpO1xuXG4gIGNvbnN0IGFzc2V0Q29tcG9uZW50cyA9IGdldEFzc2V0Q29tcG9uZW50c0Zyb21Db25maWcoY29uZmlnKTtcblxuICBmb3IgKGNvbnN0IGFzc2V0IG9mIGRhdGEubGlua3MuYXNzZXRzLmJsb2NrKSB7XG4gICAgYXNzZXRNYXAuc2V0KGFzc2V0LnN5cy5pZCwgYXNzZXQpO1xuICB9XG5cbiAgY3JlYXRlQ29udGVudGZ1bFJlbmRlckNvbW1hbmQoXG4gICAgZGF0YS5qc29uLFxuICAgIHsgY2hpbGRyZW46IGNvbW1hbmRzLCBwYXlsb2FkOiBkYXRhLmpzb24ubm9kZVR5cGUgfSxcbiAgICBhc3NldE1hcCxcbiAgICBjb25maWcudXNlVGFpbHdpbmRDbGFzc2VzLFxuICAgIGFzc2V0Q29tcG9uZW50cyxcbiAgICBjb25maWcuY3VzdG9tQ29tcG9uZW50cyxcbiAgKTtcblxuICByZXR1cm4gY29tbWFuZHM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGVudGZ1bFJlbmRlckNvbW1hbmQgPSAoXG4gIG5vZGU6IEJsb2NrIHwgSW5saW5lIHwgVGV4dCxcbiAgcGFyZW50OiBSaWNoVGV4dFJlbmRlckNvbW1hbmQsXG4gIGFzc2V0TWFwOiBNYXA8c3RyaW5nLCBDb250ZW50ZnVsQXNzZXQ+LFxuICB1c2VUYWlsd2luZENsYXNzZXM6IGJvb2xlYW4sXG4gIGFzc2V0Q29tcG9uZW50czogQ29udGVudGZ1bEFzc2V0Q29tcG9uZW50cyxcbiAgY3VzdG9tQ29tcG9uZW50czogUmVjb3JkPHN0cmluZywgQ29tcG9uZW50VHlwZTx1bmtub3duPj4gfCB1bmRlZmluZWQsXG4pID0+IHtcbiAgY29uc3QgeyBub2RlVHlwZSwgZGF0YTogbm9kZURhdGEgfSA9IG5vZGU7XG5cbiAgY29uc3QgeyBjaGlsZHJlbiwgbWFya3MsIHZhbHVlIH0gPSBnZXRDb250ZW50ZnVsTm9kZVByb3BzKG5vZGUpO1xuXG4gIGNvbnN0IGNvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZCA9IHtcbiAgICBwYXlsb2FkOiB0cmFuc2xhdGVDb250ZW50ZnVsTm9kZVR5cGVUb0h0bWxUYWcobm9kZVR5cGUpLFxuICAgIGRhdGE6IHZhbHVlLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIC4uLihtYXJrc1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIGNsYXNzOiB0cmFuc2Zvcm1Db250ZW50ZnVsTWFya3MobWFya3MsIHVzZVRhaWx3aW5kQ2xhc3NlcyksXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9KSxcbiAgICAgIC4uLihub2RlRGF0YVsndXJpJ10gPyB7IGhyZWY6IG5vZGVEYXRhWyd1cmknXSwgdGFyZ2V0OiAnX2JsYW5rJyB9IDoge30pLFxuICAgIH0sXG4gICAgY2hpbGRyZW46IFtdLFxuICB9O1xuXG4gIGlmIChub2RlVHlwZSA9PT0gQkxPQ0tTLkVNQkVEREVEX0FTU0VUKSB7XG4gICAgY29uc3QgYXNzZXQgPSBhc3NldE1hcC5nZXQobm9kZURhdGFbJ3RhcmdldCddPy5zeXM/LmlkKTtcblxuICAgIGlmIChhc3NldCkge1xuICAgICAgY29uc3QgaXNJbWFnZSA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgICAgY29uc3QgaXNWaWRlbyA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpO1xuICAgICAgY29uc3QgaXNBdWRpbyA9IGFzc2V0LmNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpO1xuXG4gICAgICBjb21tYW5kLmRhdGEgPSBhc3NldDtcblxuICAgICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gYXNzZXRDb21wb25lbnRzLmltYWdlO1xuICAgICAgfSBlbHNlIGlmIChpc1ZpZGVvKSB7XG4gICAgICAgIGNvbW1hbmQucGF5bG9hZCA9IGFzc2V0Q29tcG9uZW50cy52aWRlbztcbiAgICAgIH0gZWxzZSBpZiAoaXNBdWRpbykge1xuICAgICAgICBjb21tYW5kLnBheWxvYWQgPSBhc3NldENvbXBvbmVudHMuYXVkaW87XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21tYW5kLnBheWxvYWQgPSBhc3NldENvbXBvbmVudHMuZmlsZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAobm9kZVR5cGUgPT09IEJMT0NLUy5FTUJFRERFRF9FTlRSWSB8fCBub2RlVHlwZSA9PT0gSU5MSU5FUy5FTUJFRERFRF9FTlRSWSkge1xuICAgIGNvbnN0IGNvbXBvbmVudElkID0gbm9kZURhdGFbJ3RhcmdldCddPy5zeXM/LmNvbnRlbnRUeXBlPy5zeXM/LmlkO1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IGN1c3RvbUNvbXBvbmVudHM/Lltjb21wb25lbnRJZF07XG5cbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICBjb21tYW5kLnBheWxvYWQgPSBjb21wb25lbnQ7XG4gICAgICBjb21tYW5kLmRhdGEgPSBub2RlRGF0YVsndGFyZ2V0J10/LmZpZWxkcztcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWFuZC5kYXRhID0gYE5vIGNvbXBvbmVudCBmb3VuZCBmb3IgZW1iZWRkZWQgZW50cnkgJHtjb21wb25lbnRJZH0gYXMgJHtub2RlVHlwZX0hYDtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hpbGRyZW4gJiYgKGNoaWxkcmVuLmxlbmd0aCAhPT0gMSB8fCBjaGlsZHJlblswXS5ub2RlVHlwZSAhPT0gJ3RleHQnKSkge1xuICAgIGNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICBjcmVhdGVDb250ZW50ZnVsUmVuZGVyQ29tbWFuZChjaGlsZCwgY29tbWFuZCwgYXNzZXRNYXAsIHVzZVRhaWx3aW5kQ2xhc3NlcywgYXNzZXRDb21wb25lbnRzLCBjdXN0b21Db21wb25lbnRzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhcmVudC5jaGlsZHJlbi5wdXNoKGNvbW1hbmQpO1xuXG4gIHJldHVybiBjb21tYW5kO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnRlbnRmdWxOb2RlUHJvcHMgPSAobm9kZTogQmxvY2sgfCBJbmxpbmUgfCBUZXh0KSA9PiB7XG4gIGNvbnN0IGNoaWxkcmVuID0gJ2NvbnRlbnQnIGluIG5vZGUgPyBub2RlLmNvbnRlbnQgOiBudWxsO1xuICBsZXQgbWFya3M6IE1hcmtbXSB8IG51bGwgPSBudWxsO1xuICBsZXQgdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgY2hpbGRyZW5bMF0ubm9kZVR5cGUgPT09ICd0ZXh0Jykge1xuICAgIG1hcmtzID0gY2hpbGRyZW5bMF0ubWFya3M/Lmxlbmd0aCA/IGNoaWxkcmVuWzBdLm1hcmtzIDogbnVsbDtcbiAgICB2YWx1ZSA9IGNoaWxkcmVuWzBdLnZhbHVlO1xuICB9IGVsc2Uge1xuICAgIG1hcmtzID0gJ21hcmtzJyBpbiBub2RlID8gKG5vZGUubWFya3M/Lmxlbmd0aCA/IG5vZGUubWFya3MgOiBudWxsKSA6IG51bGw7XG4gICAgdmFsdWUgPSAndmFsdWUnIGluIG5vZGUgPyBub2RlLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2hpbGRyZW4sXG4gICAgbWFya3MsXG4gICAgdmFsdWUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXNzZXRDb21wb25lbnRzRnJvbUNvbmZpZyA9IChjb25maWc6IENvbnRlbnRmdWxDb25maWcpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBmaWxlOiBjb25maWcuY29tcG9uZW50cz8uZmlsZSA/PyBDb250ZW50ZnVsRmlsZUNvbXBvbmVudCxcbiAgICBpbWFnZTogY29uZmlnLmNvbXBvbmVudHM/LmltYWdlID8/IENvbnRlbnRmdWxJbWFnZUNvbXBvbmVudCxcbiAgICB2aWRlbzogY29uZmlnLmNvbXBvbmVudHM/LnZpZGVvID8/IENvbnRlbnRmdWxWaWRlb0NvbXBvbmVudCxcbiAgICBhdWRpbzogY29uZmlnLmNvbXBvbmVudHM/LmF1ZGlvID8/IENvbnRlbnRmdWxBdWRpb0NvbXBvbmVudCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1Db250ZW50ZnVsTWFya3MgPSAobWFya3M6IE1hcmtbXSwgdXNlVGFpbHdpbmRDbGFzc2VzOiBib29sZWFuKSA9PiB7XG4gIHJldHVybiBtYXJrc1xuICAgIC5tYXAoKG1hcmspID0+IHtcbiAgICAgIHN3aXRjaCAobWFyay50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICAgIHJldHVybiB1c2VUYWlsd2luZENsYXNzZXMgPyAnZm9udC1ib2xkJyA6IG1hcmsudHlwZTtcbiAgICAgICAgY2FzZSAnaXRhbGljJzpcbiAgICAgICAgICByZXR1cm4gdXNlVGFpbHdpbmRDbGFzc2VzID8gJ2l0YWxpYycgOiBtYXJrLnR5cGU7XG4gICAgICAgIGNhc2UgJ3VuZGVybGluZSc6XG4gICAgICAgICAgcmV0dXJuIHVzZVRhaWx3aW5kQ2xhc3NlcyA/ICd1bmRlcmxpbmUnIDogbWFyay50eXBlO1xuICAgICAgICBjYXNlICdjb2RlJzpcbiAgICAgICAgICByZXR1cm4gdXNlVGFpbHdpbmRDbGFzc2VzID8gJ2ZvbnQtbW9ubycgOiBtYXJrLnR5cGU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG1hcmsudHlwZTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5qb2luKCcgJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlQ29udGVudGZ1bE5vZGVUeXBlVG9IdG1sVGFnID0gKG5vZGVUeXBlOiAndGV4dCcgfCBCTE9DS1MgfCBJTkxJTkVTKSA9PiB7XG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIEJMT0NLUy5IRUFESU5HXzE6XG4gICAgICByZXR1cm4gJ2gxJztcbiAgICBjYXNlIEJMT0NLUy5IRUFESU5HXzI6XG4gICAgICByZXR1cm4gJ2gyJztcbiAgICBjYXNlIEJMT0NLUy5IRUFESU5HXzM6XG4gICAgICByZXR1cm4gJ2gzJztcbiAgICBjYXNlIEJMT0NLUy5IRUFESU5HXzQ6XG4gICAgICByZXR1cm4gJ2g0JztcbiAgICBjYXNlIEJMT0NLUy5IRUFESU5HXzU6XG4gICAgICByZXR1cm4gJ2g1JztcbiAgICBjYXNlIEJMT0NLUy5IRUFESU5HXzY6XG4gICAgICByZXR1cm4gJ2g2JztcbiAgICBjYXNlIEJMT0NLUy5QQVJBR1JBUEg6XG4gICAgICByZXR1cm4gJ3AnO1xuICAgIGNhc2UgQkxPQ0tTLlVMX0xJU1Q6XG4gICAgICByZXR1cm4gJ3VsJztcbiAgICBjYXNlIEJMT0NLUy5PTF9MSVNUOlxuICAgICAgcmV0dXJuICdvbCc7XG4gICAgY2FzZSBCTE9DS1MuTElTVF9JVEVNOlxuICAgICAgcmV0dXJuICdsaSc7XG4gICAgY2FzZSBCTE9DS1MuSFI6XG4gICAgICByZXR1cm4gJ2hyJztcbiAgICBjYXNlIEJMT0NLUy5RVU9URTpcbiAgICAgIHJldHVybiAnYmxvY2txdW90ZSc7XG4gICAgY2FzZSBCTE9DS1MuVEFCTEU6XG4gICAgICByZXR1cm4gJ3RhYmxlJztcbiAgICBjYXNlIEJMT0NLUy5UQUJMRV9ST1c6XG4gICAgICByZXR1cm4gJ3RyJztcbiAgICBjYXNlIEJMT0NLUy5UQUJMRV9DRUxMOlxuICAgICAgcmV0dXJuICd0ZCc7XG4gICAgY2FzZSBCTE9DS1MuVEFCTEVfSEVBREVSX0NFTEw6XG4gICAgICByZXR1cm4gJ3RoJztcbiAgICBjYXNlIEJMT0NLUy5FTUJFRERFRF9BU1NFVDpcbiAgICAgIHJldHVybiAnZGl2JztcblxuICAgIGNhc2UgSU5MSU5FUy5IWVBFUkxJTks6XG4gICAgICByZXR1cm4gJ2EnO1xuICAgIGNhc2UgSU5MSU5FUy5FTlRSWV9IWVBFUkxJTks6XG4gICAgICByZXR1cm4gJ2EnO1xuICAgIGNhc2UgSU5MSU5FUy5BU1NFVF9IWVBFUkxJTks6XG4gICAgICByZXR1cm4gJ2EnO1xuXG4gICAgY2FzZSAndGV4dCc6XG4gICAgICByZXR1cm4gJ3NwYW4nO1xuXG4gICAgLy8gV2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSByZW5kZXJlclxuICAgIGNhc2UgJ2RvY3VtZW50JzpcbiAgICAgIHJldHVybiAnZG9jdW1lbnQnO1xuXG4gICAgLy8gVE9ETyhUUkIpOiBUaGVzZSBzaG91bGQgcmVuZGVyIGNvbXBvbmVudHNcbiAgICBjYXNlIEJMT0NLUy5FTUJFRERFRF9FTlRSWTpcbiAgICAgIHJldHVybiAnZGl2JztcbiAgICBjYXNlIElOTElORVMuRU1CRURERURfRU5UUlk6XG4gICAgICByZXR1cm4gJ2Rpdic7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdkaXYnO1xuICB9XG59O1xuIl19
|
|
180
|
+
export const createContentfulResourceMap = (links) => {
|
|
181
|
+
const resourceMap = {
|
|
182
|
+
assetsBlock: createContentfulMap(links?.assets?.block),
|
|
183
|
+
entriesInline: createContentfulMap(links?.entries?.inline),
|
|
184
|
+
entriesBlock: createContentfulMap(links?.entries?.block),
|
|
185
|
+
};
|
|
186
|
+
return resourceMap;
|
|
187
|
+
};
|
|
188
|
+
export const createContentfulMap = (links) => {
|
|
189
|
+
const assetMap = new Map();
|
|
190
|
+
if (links) {
|
|
191
|
+
for (const link of links) {
|
|
192
|
+
if (!link?.sys?.id) {
|
|
193
|
+
console.warn('Link has no sys.id property. Please include it inside your query.', link);
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
assetMap.set(link.sys.id, link);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return assetMap;
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtdGV4dC1yZW5kZXJlci9yaWNoLXRleHQtcmVuZGVyZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsTUFBTSxFQUFVLE9BQU8sRUFBYyxNQUFNLDZCQUE2QixDQUFDO0FBR3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdwRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFDLE9BRzFELEVBQUUsRUFBRTtJQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE1BQU0sUUFBUSxHQUE0QixFQUFFLENBQUM7SUFDN0MsTUFBTSxlQUFlLEdBQUcsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVELDZCQUE2QixDQUMzQixJQUFJLENBQUMsSUFBSSxFQUNULEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDbkQsV0FBVyxFQUNYLE1BQU0sQ0FBQyxrQkFBa0IsRUFDekIsZUFBZSxFQUNmLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDeEIsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQzNDLElBQTJCLEVBQzNCLE1BQTZCLEVBQzdCLFdBQWtDLEVBQ2xDLGtCQUEyQixFQUMzQixlQUEwQyxFQUMxQyxnQkFBb0UsRUFDcEUsRUFBRTtJQUNGLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztJQUUxQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoRSxNQUFNLE9BQU8sR0FBMEI7UUFDckMsT0FBTyxFQUFFLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQztRQUN2RCxJQUFJLEVBQUUsS0FBSztRQUNYLFVBQVUsRUFBRTtZQUNWLEdBQUcsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQztvQkFDRSxLQUFLLEVBQUUsd0JBQXdCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDO2lCQUMzRDtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3hFO1FBQ0QsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFFNUMsSUFBSSxRQUFRLEtBQUssTUFBTSxDQUFDLGNBQWMsRUFBRTtRQUN0QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRCxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXZELE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBRXJCLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQzthQUN6QztpQkFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDbEIsT0FBTyxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO2FBQ3pDO2lCQUFNLElBQUksT0FBTyxFQUFFO2dCQUNsQixPQUFPLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2FBQ3hDO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3JFO0tBQ0Y7U0FBTSxJQUFJLFFBQVEsS0FBSyxNQUFNLENBQUMsY0FBYyxJQUFJLFFBQVEsS0FBSyxPQUFPLENBQUMsY0FBYyxFQUFFO1FBQ3BGLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlGLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFVBQVUsSUFBSSxZQUFZLENBQUM7WUFDL0MsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUzQyxJQUFJLFNBQVMsRUFBRTtnQkFDYixPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksR0FBRyxpREFBaUQsSUFBSSxTQUFTLFFBQVEsSUFBSSxDQUFDO2FBQzNGO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3JFO0tBQ0Y7SUFFRCxJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLEVBQUU7UUFDMUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pCLDZCQUE2QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BILENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5QixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLElBQTJCLEVBQUUsRUFBRTtJQUNwRSxNQUFNLFFBQVEsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekQsSUFBSSxLQUFLLEdBQWtCLElBQUksQ0FBQztJQUNoQyxJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBRWhDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUFFO1FBQ3hFLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0tBQzNCO1NBQU07UUFDTCxLQUFLLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRSxLQUFLLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQzdDO0lBRUQsT0FBTztRQUNMLFFBQVE7UUFDUixLQUFLO1FBQ0wsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLE1BQXdCLEVBQUUsRUFBRTtJQUN2RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLHVCQUF1QjtRQUN4RCxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksd0JBQXdCO1FBQzNELEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSx3QkFBd0I7UUFDM0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLHdCQUF3QjtLQUM1RCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsa0JBQTJCLEVBQUUsRUFBRTtJQUNyRixPQUFPLEtBQUs7U0FDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNaLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RELEtBQUssUUFBUTtnQkFDWCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkQsS0FBSyxXQUFXO2dCQUNkLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0RCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3REO2dCQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNwQjtJQUNILENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLENBQUMsUUFBbUMsRUFBRSxFQUFFO0lBQzFGLFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsU0FBUztZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsU0FBUztZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxHQUFHLENBQUM7UUFDYixLQUFLLE1BQU0sQ0FBQyxPQUFPO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsT0FBTztZQUNqQixPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQyxLQUFLO1lBQ2YsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssTUFBTSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQyxVQUFVO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsaUJBQWlCO1lBQzNCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsY0FBYztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUVmLEtBQUssT0FBTyxDQUFDLFNBQVM7WUFDcEIsT0FBTyxHQUFHLENBQUM7UUFDYixLQUFLLE9BQU8sQ0FBQyxlQUFlO1lBQzFCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsS0FBSyxPQUFPLENBQUMsZUFBZTtZQUMxQixPQUFPLEdBQUcsQ0FBQztRQUViLEtBQUssTUFBTTtZQUNULE9BQU8sTUFBTSxDQUFDO1FBRWhCLGtDQUFrQztRQUNsQyxLQUFLLFVBQVU7WUFDYixPQUFPLFVBQVUsQ0FBQztRQUVwQiw0Q0FBNEM7UUFDNUMsS0FBSyxNQUFNLENBQUMsY0FBYztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssT0FBTyxDQUFDLGNBQWM7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFFZjtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxLQUFnQyxFQUF5QixFQUFFO0lBQ3JHLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLFdBQVcsRUFBRSxtQkFBbUIsQ0FBa0IsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFDdkUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQzFELFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztLQUNoRCxDQUFDO0lBRVgsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBZ0MsS0FBa0MsRUFBRSxFQUFFO0lBQ3ZHLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFhLENBQUM7SUFFdEMsSUFBSSxLQUFLLEVBQUU7UUFDVCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7Z0JBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUVBQW1FLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3hGLFNBQVM7YUFDVjtZQUVELFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakM7S0FDRjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEJsb2NrLCBCTE9DS1MsIElubGluZSwgSU5MSU5FUywgTWFyaywgVGV4dCB9IGZyb20gJ0Bjb250ZW50ZnVsL3JpY2gtdGV4dC10eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQsIENvbnRlbnRmdWxFbnRyeUJhc2UsIFJpY2hUZXh0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXRDb21wb25lbnRzLCBDb250ZW50ZnVsQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEF1ZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vYXVkaW8nO1xuaW1wb3J0IHsgQ29udGVudGZ1bEZpbGVDb21wb25lbnQgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IENvbnRlbnRmdWxJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlJztcbmltcG9ydCB7IENvbnRlbnRmdWxWaWRlb0NvbXBvbmVudCB9IGZyb20gJy4uL3ZpZGVvJztcbmltcG9ydCB7IENvbnRlbnRmdWxSZXNvdXJjZU1hcCwgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0ID0gKG9wdGlvbnM6IHtcbiAgZGF0YTogUmljaFRleHRSZXNwb25zZTtcbiAgY29uZmlnOiBDb250ZW50ZnVsQ29uZmlnO1xufSkgPT4ge1xuICBjb25zdCB7IGRhdGEsIGNvbmZpZyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBjb21tYW5kczogUmljaFRleHRSZW5kZXJDb21tYW5kW10gPSBbXTtcbiAgY29uc3QgYXNzZXRDb21wb25lbnRzID0gZ2V0QXNzZXRDb21wb25lbnRzRnJvbUNvbmZpZyhjb25maWcpO1xuICBjb25zdCByZXNvdXJjZU1hcCA9IGNyZWF0ZUNvbnRlbnRmdWxSZXNvdXJjZU1hcChkYXRhLmxpbmtzKTtcblxuICBjcmVhdGVDb250ZW50ZnVsUmVuZGVyQ29tbWFuZChcbiAgICBkYXRhLmpzb24sXG4gICAgeyBjaGlsZHJlbjogY29tbWFuZHMsIHBheWxvYWQ6IGRhdGEuanNvbi5ub2RlVHlwZSB9LFxuICAgIHJlc291cmNlTWFwLFxuICAgIGNvbmZpZy51c2VUYWlsd2luZENsYXNzZXMsXG4gICAgYXNzZXRDb21wb25lbnRzLFxuICAgIGNvbmZpZy5jdXN0b21Db21wb25lbnRzLFxuICApO1xuXG4gIHJldHVybiBjb21tYW5kcztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250ZW50ZnVsUmVuZGVyQ29tbWFuZCA9IChcbiAgbm9kZTogQmxvY2sgfCBJbmxpbmUgfCBUZXh0LFxuICBwYXJlbnQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZCxcbiAgcmVzb3VyY2VNYXA6IENvbnRlbnRmdWxSZXNvdXJjZU1hcCxcbiAgdXNlVGFpbHdpbmRDbGFzc2VzOiBib29sZWFuLFxuICBhc3NldENvbXBvbmVudHM6IENvbnRlbnRmdWxBc3NldENvbXBvbmVudHMsXG4gIGN1c3RvbUNvbXBvbmVudHM6IFJlY29yZDxzdHJpbmcsIENvbXBvbmVudFR5cGU8dW5rbm93bj4+IHwgdW5kZWZpbmVkLFxuKSA9PiB7XG4gIGNvbnN0IHsgbm9kZVR5cGUsIGRhdGE6IG5vZGVEYXRhIH0gPSBub2RlO1xuXG4gIGNvbnN0IHsgY2hpbGRyZW4sIG1hcmtzLCB2YWx1ZSB9ID0gZ2V0Q29udGVudGZ1bE5vZGVQcm9wcyhub2RlKTtcblxuICBjb25zdCBjb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQgPSB7XG4gICAgcGF5bG9hZDogdHJhbnNsYXRlQ29udGVudGZ1bE5vZGVUeXBlVG9IdG1sVGFnKG5vZGVUeXBlKSxcbiAgICBkYXRhOiB2YWx1ZSxcbiAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAuLi4obWFya3NcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBjbGFzczogdHJhbnNmb3JtQ29udGVudGZ1bE1hcmtzKG1hcmtzLCB1c2VUYWlsd2luZENsYXNzZXMpLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7fSksXG4gICAgICAuLi4obm9kZURhdGFbJ3VyaSddID8geyBocmVmOiBub2RlRGF0YVsndXJpJ10sIHRhcmdldDogJ19ibGFuaycgfSA6IHt9KSxcbiAgICB9LFxuICAgIGNoaWxkcmVuOiBbXSxcbiAgfTtcblxuICBjb25zdCBlbnRyeUlkID0gbm9kZURhdGFbJ3RhcmdldCddPy5zeXM/LmlkO1xuXG4gIGlmIChub2RlVHlwZSA9PT0gQkxPQ0tTLkVNQkVEREVEX0FTU0VUKSB7XG4gICAgY29uc3QgYXNzZXQgPSByZXNvdXJjZU1hcC5hc3NldHNCbG9jay5nZXQoZW50cnlJZCk7XG5cbiAgICBpZiAoYXNzZXQpIHtcbiAgICAgIGNvbnN0IGlzSW1hZ2UgPSBhc3NldC5jb250ZW50VHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKTtcbiAgICAgIGNvbnN0IGlzVmlkZW8gPSBhc3NldC5jb250ZW50VHlwZS5zdGFydHNXaXRoKCd2aWRlby8nKTtcbiAgICAgIGNvbnN0IGlzQXVkaW8gPSBhc3NldC5jb250ZW50VHlwZS5zdGFydHNXaXRoKCdhdWRpby8nKTtcblxuICAgICAgY29tbWFuZC5kYXRhID0gYXNzZXQ7XG5cbiAgICAgIGlmIChpc0ltYWdlKSB7XG4gICAgICAgIGNvbW1hbmQucGF5bG9hZCA9IGFzc2V0Q29tcG9uZW50cy5pbWFnZTtcbiAgICAgIH0gZWxzZSBpZiAoaXNWaWRlbykge1xuICAgICAgICBjb21tYW5kLnBheWxvYWQgPSBhc3NldENvbXBvbmVudHMudmlkZW87XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW8pIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gYXNzZXRDb21wb25lbnRzLmF1ZGlvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tbWFuZC5wYXlsb2FkID0gYXNzZXRDb21wb25lbnRzLmZpbGU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gYXNzZXQgZm91bmQgZm9yIGVudHJ5IGlkIFwiJHtlbnRyeUlkfVwiIWAsIG5vZGVEYXRhKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAobm9kZVR5cGUgPT09IEJMT0NLUy5FTUJFRERFRF9FTlRSWSB8fCBub2RlVHlwZSA9PT0gSU5MSU5FUy5FTUJFRERFRF9FTlRSWSkge1xuICAgIGNvbnN0IGVudHJ5ID0gcmVzb3VyY2VNYXAuZW50cmllc0Jsb2NrLmdldChlbnRyeUlkKSA/PyByZXNvdXJjZU1hcC5lbnRyaWVzSW5saW5lLmdldChlbnRyeUlkKTtcblxuICAgIGlmIChlbnRyeSkge1xuICAgICAgY29uc3QgdHlwZSA9IGVudHJ5Py5fX3R5cGVuYW1lID8/ICdFVF9VTktOT1dOJztcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGN1c3RvbUNvbXBvbmVudHM/Llt0eXBlXTtcblxuICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICBjb21tYW5kLnBheWxvYWQgPSBjb21wb25lbnQ7XG4gICAgICAgIGNvbW1hbmQuZGF0YSA9IGVudHJ5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tbWFuZC5kYXRhID0gYEVSUk9SOiBObyBjb21wb25lbnQgZm91bmQgZm9yIGVtYmVkZGVkIGVudHJ5IFwiJHt0eXBlfVwiIGFzIFwiJHtub2RlVHlwZX1cIiFgO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oYE5vIGVudHJ5IGZvdW5kIGZvciBlbnRyeSBpZCBcIiR7ZW50cnlJZH1cIiFgLCBub2RlRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNoaWxkcmVuICYmIChjaGlsZHJlbi5sZW5ndGggIT09IDEgfHwgY2hpbGRyZW5bMF0ubm9kZVR5cGUgIT09ICd0ZXh0JykpIHtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY3JlYXRlQ29udGVudGZ1bFJlbmRlckNvbW1hbmQoY2hpbGQsIGNvbW1hbmQsIHJlc291cmNlTWFwLCB1c2VUYWlsd2luZENsYXNzZXMsIGFzc2V0Q29tcG9uZW50cywgY3VzdG9tQ29tcG9uZW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwYXJlbnQuY2hpbGRyZW4ucHVzaChjb21tYW5kKTtcblxuICByZXR1cm4gY29tbWFuZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZW50ZnVsTm9kZVByb3BzID0gKG5vZGU6IEJsb2NrIHwgSW5saW5lIHwgVGV4dCkgPT4ge1xuICBjb25zdCBjaGlsZHJlbiA9ICdjb250ZW50JyBpbiBub2RlID8gbm9kZS5jb250ZW50IDogbnVsbDtcbiAgbGV0IG1hcmtzOiBNYXJrW10gfCBudWxsID0gbnVsbDtcbiAgbGV0IHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIGNoaWxkcmVuWzBdLm5vZGVUeXBlID09PSAndGV4dCcpIHtcbiAgICBtYXJrcyA9IGNoaWxkcmVuWzBdLm1hcmtzPy5sZW5ndGggPyBjaGlsZHJlblswXS5tYXJrcyA6IG51bGw7XG4gICAgdmFsdWUgPSBjaGlsZHJlblswXS52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICBtYXJrcyA9ICdtYXJrcycgaW4gbm9kZSA/IChub2RlLm1hcmtzPy5sZW5ndGggPyBub2RlLm1hcmtzIDogbnVsbCkgOiBudWxsO1xuICAgIHZhbHVlID0gJ3ZhbHVlJyBpbiBub2RlID8gbm9kZS52YWx1ZSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoaWxkcmVuLFxuICAgIG1hcmtzLFxuICAgIHZhbHVlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc2V0Q29tcG9uZW50c0Zyb21Db25maWcgPSAoY29uZmlnOiBDb250ZW50ZnVsQ29uZmlnKSA9PiB7XG4gIHJldHVybiB7XG4gICAgZmlsZTogY29uZmlnLmNvbXBvbmVudHM/LmZpbGUgPz8gQ29udGVudGZ1bEZpbGVDb21wb25lbnQsXG4gICAgaW1hZ2U6IGNvbmZpZy5jb21wb25lbnRzPy5pbWFnZSA/PyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQsXG4gICAgdmlkZW86IGNvbmZpZy5jb21wb25lbnRzPy52aWRlbyA/PyBDb250ZW50ZnVsVmlkZW9Db21wb25lbnQsXG4gICAgYXVkaW86IGNvbmZpZy5jb21wb25lbnRzPy5hdWRpbyA/PyBDb250ZW50ZnVsQXVkaW9Db21wb25lbnQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtQ29udGVudGZ1bE1hcmtzID0gKG1hcmtzOiBNYXJrW10sIHVzZVRhaWx3aW5kQ2xhc3NlczogYm9vbGVhbikgPT4ge1xuICByZXR1cm4gbWFya3NcbiAgICAubWFwKChtYXJrKSA9PiB7XG4gICAgICBzd2l0Y2ggKG1hcmsudHlwZSkge1xuICAgICAgICBjYXNlICdib2xkJzpcbiAgICAgICAgICByZXR1cm4gdXNlVGFpbHdpbmRDbGFzc2VzID8gJ2ZvbnQtYm9sZCcgOiBtYXJrLnR5cGU7XG4gICAgICAgIGNhc2UgJ2l0YWxpYyc6XG4gICAgICAgICAgcmV0dXJuIHVzZVRhaWx3aW5kQ2xhc3NlcyA/ICdpdGFsaWMnIDogbWFyay50eXBlO1xuICAgICAgICBjYXNlICd1bmRlcmxpbmUnOlxuICAgICAgICAgIHJldHVybiB1c2VUYWlsd2luZENsYXNzZXMgPyAndW5kZXJsaW5lJyA6IG1hcmsudHlwZTtcbiAgICAgICAgY2FzZSAnY29kZSc6XG4gICAgICAgICAgcmV0dXJuIHVzZVRhaWx3aW5kQ2xhc3NlcyA/ICdmb250LW1vbm8nIDogbWFyay50eXBlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXJrLnR5cGU7XG4gICAgICB9XG4gICAgfSlcbiAgICAuam9pbignICcpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUNvbnRlbnRmdWxOb2RlVHlwZVRvSHRtbFRhZyA9IChub2RlVHlwZTogJ3RleHQnIHwgQkxPQ0tTIHwgSU5MSU5FUykgPT4ge1xuICBzd2l0Y2ggKG5vZGVUeXBlKSB7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR18xOlxuICAgICAgcmV0dXJuICdoMSc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR18yOlxuICAgICAgcmV0dXJuICdoMic7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR18zOlxuICAgICAgcmV0dXJuICdoMyc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR180OlxuICAgICAgcmV0dXJuICdoNCc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR181OlxuICAgICAgcmV0dXJuICdoNSc7XG4gICAgY2FzZSBCTE9DS1MuSEVBRElOR182OlxuICAgICAgcmV0dXJuICdoNic7XG4gICAgY2FzZSBCTE9DS1MuUEFSQUdSQVBIOlxuICAgICAgcmV0dXJuICdwJztcbiAgICBjYXNlIEJMT0NLUy5VTF9MSVNUOlxuICAgICAgcmV0dXJuICd1bCc7XG4gICAgY2FzZSBCTE9DS1MuT0xfTElTVDpcbiAgICAgIHJldHVybiAnb2wnO1xuICAgIGNhc2UgQkxPQ0tTLkxJU1RfSVRFTTpcbiAgICAgIHJldHVybiAnbGknO1xuICAgIGNhc2UgQkxPQ0tTLkhSOlxuICAgICAgcmV0dXJuICdocic7XG4gICAgY2FzZSBCTE9DS1MuUVVPVEU6XG4gICAgICByZXR1cm4gJ2Jsb2NrcXVvdGUnO1xuICAgIGNhc2UgQkxPQ0tTLlRBQkxFOlxuICAgICAgcmV0dXJuICd0YWJsZSc7XG4gICAgY2FzZSBCTE9DS1MuVEFCTEVfUk9XOlxuICAgICAgcmV0dXJuICd0cic7XG4gICAgY2FzZSBCTE9DS1MuVEFCTEVfQ0VMTDpcbiAgICAgIHJldHVybiAndGQnO1xuICAgIGNhc2UgQkxPQ0tTLlRBQkxFX0hFQURFUl9DRUxMOlxuICAgICAgcmV0dXJuICd0aCc7XG4gICAgY2FzZSBCTE9DS1MuRU1CRURERURfQVNTRVQ6XG4gICAgICByZXR1cm4gJ2Rpdic7XG5cbiAgICBjYXNlIElOTElORVMuSFlQRVJMSU5LOlxuICAgICAgcmV0dXJuICdhJztcbiAgICBjYXNlIElOTElORVMuRU5UUllfSFlQRVJMSU5LOlxuICAgICAgcmV0dXJuICdhJztcbiAgICBjYXNlIElOTElORVMuQVNTRVRfSFlQRVJMSU5LOlxuICAgICAgcmV0dXJuICdhJztcblxuICAgIGNhc2UgJ3RleHQnOlxuICAgICAgcmV0dXJuICdzcGFuJztcblxuICAgIC8vIFdpbGwgYmUgaWdub3JlZCBieSB0aGUgcmVuZGVyZXJcbiAgICBjYXNlICdkb2N1bWVudCc6XG4gICAgICByZXR1cm4gJ2RvY3VtZW50JztcblxuICAgIC8vIFRPRE8oVFJCKTogVGhlc2Ugc2hvdWxkIHJlbmRlciBjb21wb25lbnRzXG4gICAgY2FzZSBCTE9DS1MuRU1CRURERURfRU5UUlk6XG4gICAgICByZXR1cm4gJ2Rpdic7XG4gICAgY2FzZSBJTkxJTkVTLkVNQkVEREVEX0VOVFJZOlxuICAgICAgcmV0dXJuICdkaXYnO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnZGl2JztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbnRlbnRmdWxSZXNvdXJjZU1hcCA9IChsaW5rczogUmljaFRleHRSZXNwb25zZVsnbGlua3MnXSk6IENvbnRlbnRmdWxSZXNvdXJjZU1hcCA9PiB7XG4gIGNvbnN0IHJlc291cmNlTWFwID0ge1xuICAgIGFzc2V0c0Jsb2NrOiBjcmVhdGVDb250ZW50ZnVsTWFwPENvbnRlbnRmdWxBc3NldD4obGlua3M/LmFzc2V0cz8uYmxvY2spLFxuICAgIGVudHJpZXNJbmxpbmU6IGNyZWF0ZUNvbnRlbnRmdWxNYXAobGlua3M/LmVudHJpZXM/LmlubGluZSksXG4gICAgZW50cmllc0Jsb2NrOiBjcmVhdGVDb250ZW50ZnVsTWFwKGxpbmtzPy5lbnRyaWVzPy5ibG9jayksXG4gIH0gYXMgY29uc3Q7XG5cbiAgcmV0dXJuIHJlc291cmNlTWFwO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbnRlbnRmdWxNYXAgPSA8VCBleHRlbmRzIENvbnRlbnRmdWxFbnRyeUJhc2U+KGxpbmtzOiBBcnJheTxUPiB8IG51bGwgfCB1bmRlZmluZWQpID0+IHtcbiAgY29uc3QgYXNzZXRNYXAgPSBuZXcgTWFwPHN0cmluZywgVD4oKTtcblxuICBpZiAobGlua3MpIHtcbiAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgIGlmICghbGluaz8uc3lzPy5pZCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0xpbmsgaGFzIG5vIHN5cy5pZCBwcm9wZXJ0eS4gUGxlYXNlIGluY2x1ZGUgaXQgaW5zaWRlIHlvdXIgcXVlcnkuJywgbGluayk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBhc3NldE1hcC5zZXQobGluay5zeXMuaWQsIGxpbmspO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhc3NldE1hcDtcbn07XG4iXX0=
|