@ethlete/contentful 3.2.1 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/esm2022/lib/components/audio/contentful-audio.component.mjs +28 -11
- package/esm2022/lib/components/file/contentful-file.component.mjs +32 -11
- package/esm2022/lib/components/image/contentful-image.component.mjs +32 -12
- package/esm2022/lib/components/image/contentful-image.component.utils.mjs +11 -5
- package/esm2022/lib/components/rich-text-renderer/rich-text-renderer.component.mjs +56 -49
- package/esm2022/lib/components/video/contentful-video.component.mjs +26 -9
- package/esm2022/lib/gql/asset.fragments.mjs +5 -1
- package/esm2022/lib/types/contentful.types.mjs +1 -1
- package/fesm2022/ethlete-contentful.mjs +193 -106
- package/fesm2022/ethlete-contentful.mjs.map +1 -1
- package/lib/components/audio/contentful-audio.component.d.ts +7 -2
- package/lib/components/file/contentful-file.component.d.ts +9 -2
- package/lib/components/image/contentful-image.component.d.ts +9 -2
- package/lib/components/image/contentful-image.component.utils.d.ts +4 -3
- package/lib/components/rich-text-renderer/rich-text-renderer.component.d.ts +13 -3
- package/lib/components/video/contentful-video.component.d.ts +7 -2
- package/lib/gql/asset.fragments.d.ts +1 -0
- package/lib/types/contentful.types.d.ts +4 -3
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ethlete/contentful
|
|
2
2
|
|
|
3
|
+
## 3.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`41a269c`](https://github.com/ethlete-io/ethdk/commit/41a269cd03c61d41f159116cf26b4c7be1312155) Thanks [@TomTomB](https://github.com/TomTomB)! - Add `createContentfulIncludeMap` util
|
|
8
|
+
|
|
9
|
+
## 3.3.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`7c71af5`](https://github.com/ethlete-io/ethdk/commit/7c71af5fd7544395577a30b4ff541f26debc575f) Thanks [@TomTomB](https://github.com/TomTomB)! - Support the `ContentfulGqlImage` type inside the `ContentfulImageComponent`
|
|
14
|
+
|
|
15
|
+
- [`7c71af5`](https://github.com/ethlete-io/ethdk/commit/7c71af5fd7544395577a30b4ff541f26debc575f) Thanks [@TomTomB](https://github.com/TomTomB)! - Rename `ContentfulAsset` to `ContentfulRestAsset` to make it clear that it's a asset that is fetched from the REST API.
|
|
16
|
+
|
|
3
17
|
## 3.2.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NgClass } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, input } from '@angular/core';
|
|
3
|
+
import { isContentfulGqlAsset } from '../../gql';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ContentfulAudioComponent {
|
|
5
6
|
constructor() {
|
|
@@ -7,26 +8,42 @@ export class ContentfulAudioComponent {
|
|
|
7
8
|
this.audioClass = input(null);
|
|
8
9
|
this.figureClass = input(null);
|
|
9
10
|
this.figcaptionClass = input(null);
|
|
11
|
+
this.data = computed(() => {
|
|
12
|
+
const asset = this.asset();
|
|
13
|
+
if (!asset) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (isContentfulGqlAsset(asset)) {
|
|
17
|
+
return {
|
|
18
|
+
url: asset.url,
|
|
19
|
+
title: asset.title,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
url: asset.fields.file.url,
|
|
24
|
+
title: asset.fields.title,
|
|
25
|
+
};
|
|
26
|
+
});
|
|
10
27
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
13
|
-
@if (
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { asset: { classPropertyName: "asset", publicName: "asset", isSignal: true, isRequired: true, transformFunction: null }, audioClass: { classPropertyName: "audioClass", publicName: "audioClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
30
|
+
@if (data(); as data) {
|
|
14
31
|
<figure [ngClass]="figureClass()">
|
|
15
|
-
<figcaption [ngClass]="figcaptionClass()">{{ data.
|
|
16
|
-
<audio [ngClass]="audioClass()" controls src="{{ data.
|
|
32
|
+
<figcaption [ngClass]="figcaptionClass()">{{ data.title }}</figcaption>
|
|
33
|
+
<audio [ngClass]="audioClass()" controls src="{{ data.url }}"></audio>
|
|
17
34
|
</figure>
|
|
18
35
|
}
|
|
19
36
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
20
37
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
|
|
22
39
|
type: Component,
|
|
23
40
|
args: [{
|
|
24
41
|
selector: 'et-contentful-audio',
|
|
25
42
|
template: `
|
|
26
|
-
@if (
|
|
43
|
+
@if (data(); as data) {
|
|
27
44
|
<figure [ngClass]="figureClass()">
|
|
28
|
-
<figcaption [ngClass]="figcaptionClass()">{{ data.
|
|
29
|
-
<audio [ngClass]="audioClass()" controls src="{{ data.
|
|
45
|
+
<figcaption [ngClass]="figcaptionClass()">{{ data.title }}</figcaption>
|
|
46
|
+
<audio [ngClass]="audioClass()" controls src="{{ data.url }}"></audio>
|
|
30
47
|
</figure>
|
|
31
48
|
}
|
|
32
49
|
`,
|
|
@@ -36,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
36
53
|
imports: [NgClass],
|
|
37
54
|
}]
|
|
38
55
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFrQnJFLE1BQU0sT0FBTyx3QkFBd0I7SUFmckM7UUFnQkUsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQStELENBQUM7UUFDdEYsZUFBVSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUUzQyxTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsT0FBTztvQkFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7b0JBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQzFCLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7YUFDMUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBQ0o7OEdBekJZLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHluQkFiekI7Ozs7Ozs7R0FPVCw0REFJUyxPQUFPOzsyRkFFTix3QkFBd0I7a0JBZnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxHcWxBc3NldCwgaXNDb250ZW50ZnVsR3FsQXNzZXQgfSBmcm9tICcuLi8uLi9ncWwnO1xuaW1wb3J0IHsgQ29udGVudGZ1bFJlc3RBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1hdWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChkYXRhKCk7IGFzIGRhdGEpIHtcbiAgICAgIDxmaWd1cmUgW25nQ2xhc3NdPVwiZmlndXJlQ2xhc3MoKVwiPlxuICAgICAgICA8ZmlnY2FwdGlvbiBbbmdDbGFzc109XCJmaWdjYXB0aW9uQ2xhc3MoKVwiPnt7IGRhdGEudGl0bGUgfX08L2ZpZ2NhcHRpb24+XG4gICAgICAgIDxhdWRpbyBbbmdDbGFzc109XCJhdWRpb0NsYXNzKClcIiBjb250cm9scyBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiPjwvYXVkaW8+XG4gICAgICA8L2ZpZ3VyZT5cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxBdWRpb0NvbXBvbmVudCB7XG4gIGFzc2V0ID0gaW5wdXQucmVxdWlyZWQ8Q29udGVudGZ1bFJlc3RBc3NldCB8IENvbnRlbnRmdWxHcWxBc3NldCB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIGF1ZGlvQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG5cbiAgZGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhc3NldCA9IHRoaXMuYXNzZXQoKTtcblxuICAgIGlmICghYXNzZXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChpc0NvbnRlbnRmdWxHcWxBc3NldChhc3NldCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYXNzZXQudXJsLFxuICAgICAgICB0aXRsZTogYXNzZXQudGl0bGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cmw6IGFzc2V0LmZpZWxkcy5maWxlLnVybCxcbiAgICAgIHRpdGxlOiBhc3NldC5maWVsZHMudGl0bGUsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,28 +1,49 @@
|
|
|
1
1
|
import { NgClass } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, input } from '@angular/core';
|
|
3
|
+
import { isContentfulGqlAsset } from '../../gql';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ContentfulFileComponent {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.asset = input.required();
|
|
7
8
|
this.fileClass = input(null);
|
|
9
|
+
this.data = computed(() => {
|
|
10
|
+
const asset = this.asset();
|
|
11
|
+
if (!asset) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
if (isContentfulGqlAsset(asset)) {
|
|
15
|
+
return {
|
|
16
|
+
url: asset.url,
|
|
17
|
+
contentType: asset.contentType,
|
|
18
|
+
size: asset.size,
|
|
19
|
+
title: asset.title,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
url: asset.fields.file.url,
|
|
24
|
+
contentType: asset.fields.file.contentType,
|
|
25
|
+
size: asset.fields.file.details.size,
|
|
26
|
+
title: asset.fields.title,
|
|
27
|
+
};
|
|
28
|
+
});
|
|
8
29
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
11
|
-
@if (
|
|
12
|
-
<a [href]="data.
|
|
13
|
-
{{ data.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { asset: { classPropertyName: "asset", publicName: "asset", isSignal: true, isRequired: true, transformFunction: null }, fileClass: { classPropertyName: "fileClass", publicName: "fileClass", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
32
|
+
@if (data(); as data) {
|
|
33
|
+
<a [href]="data.url" [ngClass]="fileClass()" class="underline" target="_blank">
|
|
34
|
+
{{ data.title }} ({{ data.size }} Bytes)
|
|
14
35
|
</a>
|
|
15
36
|
}
|
|
16
37
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
38
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContentfulFileComponent, decorators: [{
|
|
19
40
|
type: Component,
|
|
20
41
|
args: [{
|
|
21
42
|
selector: 'et-contentful-file',
|
|
22
43
|
template: `
|
|
23
|
-
@if (
|
|
24
|
-
<a [href]="data.
|
|
25
|
-
{{ data.
|
|
44
|
+
@if (data(); as data) {
|
|
45
|
+
<a [href]="data.url" [ngClass]="fileClass()" class="underline" target="_blank">
|
|
46
|
+
{{ data.title }} ({{ data.size }} Bytes)
|
|
26
47
|
</a>
|
|
27
48
|
}
|
|
28
49
|
`,
|
|
@@ -32,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
32
53
|
imports: [NgClass],
|
|
33
54
|
}]
|
|
34
55
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFpQnJFLE1BQU0sT0FBTyx1QkFBdUI7SUFkcEM7UUFlRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBK0QsQ0FBQztRQUN0RixjQUFTLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO1FBRXJDLFNBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUUzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxPQUFPO29CQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDZCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQzlCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQzFCLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUMxQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3BDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7YUFDMUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBQ0o7OEdBM0JZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFWQVp4Qjs7Ozs7O0dBTVQsNERBSVMsT0FBTzs7MkZBRU4sdUJBQXVCO2tCQWRuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxHcWxBc3NldCwgaXNDb250ZW50ZnVsR3FsQXNzZXQgfSBmcm9tICcuLi8uLi9ncWwnO1xuaW1wb3J0IHsgQ29udGVudGZ1bFJlc3RBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1maWxlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGRhdGEoKTsgYXMgZGF0YSkge1xuICAgICAgPGEgW2hyZWZdPVwiZGF0YS51cmxcIiBbbmdDbGFzc109XCJmaWxlQ2xhc3MoKVwiIGNsYXNzPVwidW5kZXJsaW5lXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgIHt7IGRhdGEudGl0bGUgfX0gKHt7IGRhdGEuc2l6ZSB9fSBCeXRlcylcbiAgICAgIDwvYT5cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxGaWxlQ29tcG9uZW50IHtcbiAgYXNzZXQgPSBpbnB1dC5yZXF1aXJlZDxDb250ZW50ZnVsUmVzdEFzc2V0IHwgQ29udGVudGZ1bEdxbEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcbiAgZmlsZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuXG4gIGRhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYXNzZXQgPSB0aGlzLmFzc2V0KCk7XG5cbiAgICBpZiAoIWFzc2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaXNDb250ZW50ZnVsR3FsQXNzZXQoYXNzZXQpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cmw6IGFzc2V0LnVybCxcbiAgICAgICAgY29udGVudFR5cGU6IGFzc2V0LmNvbnRlbnRUeXBlLFxuICAgICAgICBzaXplOiBhc3NldC5zaXplLFxuICAgICAgICB0aXRsZTogYXNzZXQudGl0bGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cmw6IGFzc2V0LmZpZWxkcy5maWxlLnVybCxcbiAgICAgIGNvbnRlbnRUeXBlOiBhc3NldC5maWVsZHMuZmlsZS5jb250ZW50VHlwZSxcbiAgICAgIHNpemU6IGFzc2V0LmZpZWxkcy5maWxlLmRldGFpbHMuc2l6ZSxcbiAgICAgIHRpdGxlOiBhc3NldC5maWVsZHMudGl0bGUsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ViewEncapsulation, booleanAttribute, computed, inject, input, numberAttribute, } from '@angular/core';
|
|
2
2
|
import { PictureComponent, normalizePictureSizes } from '@ethlete/cdk';
|
|
3
3
|
import { CONTENTFUL_CONFIG } from '../../constants';
|
|
4
|
+
import { isContentfulGqlAsset } from '../../gql';
|
|
4
5
|
import { generateContentfulImageSources, generateDefaultContentfulImageSource, } from './contentful-image.component.utils';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class ContentfulImageComponent {
|
|
@@ -20,6 +21,25 @@ export class ContentfulImageComponent {
|
|
|
20
21
|
this.sizes = input(normalizePictureSizes(this._contentfulConfig.imageOptions.sizes), {
|
|
21
22
|
transform: (v) => normalizePictureSizes(v),
|
|
22
23
|
});
|
|
24
|
+
this.normalizedAsset = computed(() => {
|
|
25
|
+
const asset = this.asset();
|
|
26
|
+
if (isContentfulGqlAsset(asset)) {
|
|
27
|
+
return {
|
|
28
|
+
alt: asset.title || null,
|
|
29
|
+
figcaption: asset.description || null,
|
|
30
|
+
width: asset.width,
|
|
31
|
+
height: asset.height,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return {
|
|
36
|
+
alt: asset?.fields?.title || null,
|
|
37
|
+
figcaption: asset?.fields?.description || null,
|
|
38
|
+
width: asset?.fields?.file?.details?.image?.width ?? null,
|
|
39
|
+
height: asset?.fields?.file?.details?.image?.height ?? null,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
});
|
|
23
43
|
this._sources = computed(() => {
|
|
24
44
|
const asset = this.asset();
|
|
25
45
|
const backgroundColor = this.backgroundColor();
|
|
@@ -37,8 +57,8 @@ export class ContentfulImageComponent {
|
|
|
37
57
|
return asset ? generateDefaultContentfulImageSource(asset) : null;
|
|
38
58
|
});
|
|
39
59
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.5", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { asset: { classPropertyName: "asset", publicName: "asset", isSignal: true, isRequired: true, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, srcsetSizes: { classPropertyName: "srcsetSizes", publicName: "srcsetSizes", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: "quality", publicName: "quality", isSignal: true, isRequired: false, transformFunction: null }, focusArea: { classPropertyName: "focusArea", publicName: "focusArea", isSignal: true, isRequired: false, transformFunction: null }, resizeBehavior: { classPropertyName: "resizeBehavior", publicName: "resizeBehavior", isSignal: true, isRequired: false, transformFunction: null }, hasPriority: { classPropertyName: "hasPriority", publicName: "hasPriority", isSignal: true, isRequired: false, transformFunction: null }, imgClass: { classPropertyName: "imgClass", publicName: "imgClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null }, pictureClass: { classPropertyName: "pictureClass", publicName: "pictureClass", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-contentful-image" }, ngImport: i0, template: `
|
|
42
62
|
<et-picture
|
|
43
63
|
[imgClass]="imgClass()"
|
|
44
64
|
[hasPriority]="hasPriority()"
|
|
@@ -46,16 +66,16 @@ export class ContentfulImageComponent {
|
|
|
46
66
|
[pictureClass]="pictureClass()"
|
|
47
67
|
[figcaptionClass]="figcaptionClass()"
|
|
48
68
|
[defaultSrc]="_defaultSrc()"
|
|
49
|
-
[alt]="
|
|
50
|
-
[figcaption]="
|
|
51
|
-
[width]="
|
|
52
|
-
[height]="
|
|
69
|
+
[alt]="normalizedAsset().alt ?? null"
|
|
70
|
+
[figcaption]="normalizedAsset().figcaption ?? null"
|
|
71
|
+
[width]="normalizedAsset().width ?? null"
|
|
72
|
+
[height]="normalizedAsset().height ?? null"
|
|
53
73
|
[sizes]="sizes()"
|
|
54
74
|
[sources]="_sources()"
|
|
55
75
|
/>
|
|
56
76
|
`, isInline: true, dependencies: [{ kind: "component", type: PictureComponent, selector: "et-picture", inputs: ["sources", "hasPriority", "imgClass", "figureClass", "figcaptionClass", "pictureClass", "defaultSrc", "alt", "figcaption", "width", "height", "sizes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
57
77
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ContentfulImageComponent, decorators: [{
|
|
59
79
|
type: Component,
|
|
60
80
|
args: [{
|
|
61
81
|
selector: 'et-contentful-image',
|
|
@@ -67,10 +87,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
67
87
|
[pictureClass]="pictureClass()"
|
|
68
88
|
[figcaptionClass]="figcaptionClass()"
|
|
69
89
|
[defaultSrc]="_defaultSrc()"
|
|
70
|
-
[alt]="
|
|
71
|
-
[figcaption]="
|
|
72
|
-
[width]="
|
|
73
|
-
[height]="
|
|
90
|
+
[alt]="normalizedAsset().alt ?? null"
|
|
91
|
+
[figcaption]="normalizedAsset().figcaption ?? null"
|
|
92
|
+
[width]="normalizedAsset().width ?? null"
|
|
93
|
+
[height]="normalizedAsset().height ?? null"
|
|
74
94
|
[sizes]="sizes()"
|
|
75
95
|
[sources]="_sources()"
|
|
76
96
|
/>
|
|
@@ -84,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
84
104
|
},
|
|
85
105
|
}]
|
|
86
106
|
}] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLG9DQUFvQyxHQUNyQyxNQUFNLG9DQUFvQyxDQUFDOztBQTRCNUMsTUFBTSxPQUFPLHdCQUF3QjtJQTFCckM7UUEyQkUsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFOUMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQStELENBQUM7UUFDdEYsb0JBQWUsR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQzdDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0UsWUFBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUN0RCxjQUFTLEdBQUcsS0FBSyxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxtQkFBYyxHQUFHLEtBQUssQ0FBdUMsSUFBSSxDQUFDLENBQUM7UUFDbkUsZ0JBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM1RCxhQUFRLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO1FBQzNDLGlCQUFZLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3hDLFVBQUssR0FBRyxLQUFLLENBQ1gscUJBQXFCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFDaEU7WUFDRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztTQUMzQyxDQUNGLENBQUM7UUFFRixvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRTNCLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsT0FBTztvQkFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJO29CQUN4QixVQUFVLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO29CQUNyQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7b0JBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtpQkFDckIsQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJO29CQUNqQyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSTtvQkFDOUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLElBQUk7b0JBQ3pELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJO2lCQUM1RCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUVELE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqSCxDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFM0IsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7S0FDSjs4R0E5RFksd0JBQXdCO2tHQUF4Qix3QkFBd0Isd3VEQXhCekI7Ozs7Ozs7Ozs7Ozs7OztHQWVULDREQUlTLGdCQUFnQjs7MkZBS2Ysd0JBQXdCO2tCQTFCcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlQ29tcG9uZW50LCBub3JtYWxpemVQaWN0dXJlU2l6ZXMgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENPTlRFTlRGVUxfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IENvbnRlbnRmdWxHcWxBc3NldCwgaXNDb250ZW50ZnVsR3FsQXNzZXQgfSBmcm9tICcuLi8uLi9ncWwnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlRm9jdXNBcmVhLCBDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciwgQ29udGVudGZ1bFJlc3RBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyxcbiAgZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlLFxufSBmcm9tICcuL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGV0LXBpY3R1cmVcbiAgICAgIFtpbWdDbGFzc109XCJpbWdDbGFzcygpXCJcbiAgICAgIFtoYXNQcmlvcml0eV09XCJoYXNQcmlvcml0eSgpXCJcbiAgICAgIFtmaWd1cmVDbGFzc109XCJmaWd1cmVDbGFzcygpXCJcbiAgICAgIFtwaWN0dXJlQ2xhc3NdPVwicGljdHVyZUNsYXNzKClcIlxuICAgICAgW2ZpZ2NhcHRpb25DbGFzc109XCJmaWdjYXB0aW9uQ2xhc3MoKVwiXG4gICAgICBbZGVmYXVsdFNyY109XCJfZGVmYXVsdFNyYygpXCJcbiAgICAgIFthbHRdPVwibm9ybWFsaXplZEFzc2V0KCkuYWx0ID8/IG51bGxcIlxuICAgICAgW2ZpZ2NhcHRpb25dPVwibm9ybWFsaXplZEFzc2V0KCkuZmlnY2FwdGlvbiA/PyBudWxsXCJcbiAgICAgIFt3aWR0aF09XCJub3JtYWxpemVkQXNzZXQoKS53aWR0aCA/PyBudWxsXCJcbiAgICAgIFtoZWlnaHRdPVwibm9ybWFsaXplZEFzc2V0KCkuaGVpZ2h0ID8/IG51bGxcIlxuICAgICAgW3NpemVzXT1cInNpemVzKClcIlxuICAgICAgW3NvdXJjZXNdPVwiX3NvdXJjZXMoKVwiXG4gICAgLz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtQaWN0dXJlQ29tcG9uZW50XSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxJbWFnZUNvbXBvbmVudCB7XG4gIF9jb250ZW50ZnVsQ29uZmlnID0gaW5qZWN0KENPTlRFTlRGVUxfQ09ORklHKTtcblxuICBhc3NldCA9IGlucHV0LnJlcXVpcmVkPENvbnRlbnRmdWxSZXN0QXNzZXQgfCBDb250ZW50ZnVsR3FsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICBiYWNrZ3JvdW5kQ29sb3IgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgc3Jjc2V0U2l6ZXMgPSBpbnB1dDxzdHJpbmdbXT4odGhpcy5fY29udGVudGZ1bENvbmZpZy5pbWFnZU9wdGlvbnMuc3Jjc2V0U2l6ZXMpO1xuXG4gIHF1YWxpdHkgPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBmb2N1c0FyZWEgPSBpbnB1dDxDb250ZW50ZnVsSW1hZ2VGb2N1c0FyZWEgfCBudWxsPihudWxsKTtcbiAgcmVzaXplQmVoYXZpb3IgPSBpbnB1dDxDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciB8IG51bGw+KG51bGwpO1xuICBoYXNQcmlvcml0eSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgaW1nQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIHBpY3R1cmVDbGFzcyA9IGlucHV0PE5nQ2xhc3NUeXBlPihudWxsKTtcbiAgc2l6ZXMgPSBpbnB1dDxzdHJpbmcgfCBudWxsLCBzdHJpbmdbXSB8IHN0cmluZyB8IG51bGw+KFxuICAgIG5vcm1hbGl6ZVBpY3R1cmVTaXplcyh0aGlzLl9jb250ZW50ZnVsQ29uZmlnLmltYWdlT3B0aW9ucy5zaXplcyksXG4gICAge1xuICAgICAgdHJhbnNmb3JtOiAodikgPT4gbm9ybWFsaXplUGljdHVyZVNpemVzKHYpLFxuICAgIH0sXG4gICk7XG5cbiAgbm9ybWFsaXplZEFzc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0ID0gdGhpcy5hc3NldCgpO1xuXG4gICAgaWYgKGlzQ29udGVudGZ1bEdxbEFzc2V0KGFzc2V0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWx0OiBhc3NldC50aXRsZSB8fCBudWxsLFxuICAgICAgICBmaWdjYXB0aW9uOiBhc3NldC5kZXNjcmlwdGlvbiB8fCBudWxsLFxuICAgICAgICB3aWR0aDogYXNzZXQud2lkdGgsXG4gICAgICAgIGhlaWdodDogYXNzZXQuaGVpZ2h0LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWx0OiBhc3NldD8uZmllbGRzPy50aXRsZSB8fCBudWxsLFxuICAgICAgICBmaWdjYXB0aW9uOiBhc3NldD8uZmllbGRzPy5kZXNjcmlwdGlvbiB8fCBudWxsLFxuICAgICAgICB3aWR0aDogYXNzZXQ/LmZpZWxkcz8uZmlsZT8uZGV0YWlscz8uaW1hZ2U/LndpZHRoID8/IG51bGwsXG4gICAgICAgIGhlaWdodDogYXNzZXQ/LmZpZWxkcz8uZmlsZT8uZGV0YWlscz8uaW1hZ2U/LmhlaWdodCA/PyBudWxsLFxuICAgICAgfTtcbiAgICB9XG4gIH0pO1xuXG4gIF9zb3VyY2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0ID0gdGhpcy5hc3NldCgpO1xuICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IHRoaXMuYmFja2dyb3VuZENvbG9yKCk7XG4gICAgY29uc3Qgc3Jjc2V0U2l6ZXMgPSB0aGlzLnNyY3NldFNpemVzKCk7XG4gICAgY29uc3QgcXVhbGl0eSA9IHRoaXMucXVhbGl0eSgpO1xuICAgIGNvbnN0IGZvY3VzQXJlYSA9IHRoaXMuZm9jdXNBcmVhKCk7XG4gICAgY29uc3QgcmVzaXplQmVoYXZpb3IgPSB0aGlzLnJlc2l6ZUJlaGF2aW9yKCk7XG5cbiAgICBpZiAoIWFzc2V0KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyhhc3NldCwgc3Jjc2V0U2l6ZXMsIGJhY2tncm91bmRDb2xvciwgcXVhbGl0eSwgZm9jdXNBcmVhLCByZXNpemVCZWhhdmlvcik7XG4gIH0pO1xuXG4gIF9kZWZhdWx0U3JjID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0ID0gdGhpcy5hc3NldCgpO1xuXG4gICAgcmV0dXJuIGFzc2V0ID8gZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlKGFzc2V0KSA6IG51bGw7XG4gIH0pO1xufVxuIl19
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { isContentfulGqlAsset } from '../../gql';
|
|
1
2
|
export const generateDefaultContentfulImageSource = (data) => {
|
|
2
|
-
|
|
3
|
+
if (isContentfulGqlAsset(data)) {
|
|
4
|
+
return {
|
|
5
|
+
type: data.contentType,
|
|
6
|
+
srcset: data.url,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
3
9
|
return {
|
|
4
|
-
type: file.contentType,
|
|
5
|
-
srcset: file.url,
|
|
10
|
+
type: data.fields.file.contentType,
|
|
11
|
+
srcset: data.fields.file.url,
|
|
6
12
|
};
|
|
7
13
|
};
|
|
8
14
|
/**
|
|
@@ -40,7 +46,7 @@ export const generateContentfulImageSources = (data, srcsetSizes, backgroundColo
|
|
|
40
46
|
const sources = [];
|
|
41
47
|
const SOURCE_TYPES = ['image/avif', 'image/webp', 'image/png', 'image/jpg'];
|
|
42
48
|
for (const type of SOURCE_TYPES) {
|
|
43
|
-
const baseUrl = assetData.fields.file.url;
|
|
49
|
+
const baseUrl = isContentfulGqlAsset(assetData) ? assetData.url : assetData.fields.file.url;
|
|
44
50
|
const sourceSets = [];
|
|
45
51
|
const queryParams = [];
|
|
46
52
|
// Set the format (e.g. 'fm=webp')
|
|
@@ -79,4 +85,4 @@ export const generateContentfulImageSources = (data, srcsetSizes, backgroundColo
|
|
|
79
85
|
}
|
|
80
86
|
return sources;
|
|
81
87
|
};
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBc0Isb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHckUsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsQ0FBQyxJQUE4QyxFQUFpQixFQUFFO0lBQ3BILElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRztTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVztRQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRztLQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7SUFPSTtBQUNKLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsSUFBWSxFQUFtRCxFQUFFO0lBQ3hHLElBQUksS0FBSyxHQUE4QixJQUFJLENBQUM7SUFDNUMsSUFBSSxNQUFNLEdBQThCLElBQUksQ0FBQztJQUU3QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0IsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNWLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDYixDQUFD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QUFDO3FCQUFNLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ2xCLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLE1BQU0sTUFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzdELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDWCxJQUFJO1lBQ0osTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7U0FDMUYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpY3R1cmVTb3VyY2UgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEdxbEFzc2V0LCBpc0NvbnRlbnRmdWxHcWxBc3NldCB9IGZyb20gJy4uLy4uL2dxbCc7XG5pbXBvcnQgeyBDb250ZW50ZnVsSW1hZ2VGb2N1c0FyZWEsIENvbnRlbnRmdWxJbWFnZVJlc2l6ZUJlaGF2aW9yLCBDb250ZW50ZnVsUmVzdEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlID0gKGRhdGE6IENvbnRlbnRmdWxSZXN0QXNzZXQgfCBDb250ZW50ZnVsR3FsQXNzZXQpOiBQaWN0dXJlU291cmNlID0+IHtcbiAgaWYgKGlzQ29udGVudGZ1bEdxbEFzc2V0KGRhdGEpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IGRhdGEuY29udGVudFR5cGUsXG4gICAgICBzcmNzZXQ6IGRhdGEudXJsLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRhdGEuZmllbGRzLmZpbGUuY29udGVudFR5cGUsXG4gICAgc3Jjc2V0OiBkYXRhLmZpZWxkcy5maWxlLnVybCxcbiAgfTtcbn07XG5cbi8qKlxuICogUGFyc2VzIHNvdXJjZSBzZXQgc2l6ZXMgaW50byBhbiBvYmplY3QgY29udGFpbmluZyB3aXRoIGFuZCBoZWlnaHQuIEVnLlxuICogLSBgXCI0MDBcImAgLSA0MDBweCB3aWR0aFxuICogLSBgXCI0MDB4MzAwXCJgIC0gNDAwcHggd2lkdGggYW5kIDMwMHB4IGhlaWdodFxuICogLSBgXCI0MDB3XCJgIC0gNDAwcHggd2lkdGhcbiAqIC0gYFwiNDAwaFwiYCAtIDQwMHB4IGhlaWdodFxuICogLSBgXCI0MDB3eDMwMGhcImAgLSA0MDBweCB3aWR0aCBhbmQgMzAwcHggaGVpZ2h0XG4gKiovXG5leHBvcnQgY29uc3QgcGFyc2VDb250ZW50ZnVsSW1hZ2VTaXplID0gKHNpemU6IHN0cmluZyk6IHsgd2lkdGg6IG51bWJlciB8IG51bGw7IGhlaWdodDogbnVtYmVyIHwgbnVsbCB9ID0+IHtcbiAgbGV0IHdpZHRoOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgbGV0IGhlaWdodDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgaWYgKHNpemUuaW5jbHVkZXMoJ3gnKSkge1xuICAgIGNvbnN0IFt3LCBoXSA9IHNpemUuc3BsaXQoJ3gnKTtcblxuICAgIHdpZHRoID0gdztcbiAgICBoZWlnaHQgPSBoO1xuICB9IGVsc2UgaWYgKHNpemUuaW5jbHVkZXMoJ2gnKSkge1xuICAgIGhlaWdodCA9IHNpemU7XG4gIH0gZWxzZSB7XG4gICAgd2lkdGggPSBzaXplO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogd2lkdGggPyBwYXJzZUludCh3aWR0aCwgMTApIDogbnVsbCxcbiAgICBoZWlnaHQ6IGhlaWdodCA/IHBhcnNlSW50KGhlaWdodCwgMTApIDogbnVsbCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUNvbnRlbnRmdWxJbWFnZVNvdXJjZXMgPSAoXG4gIGRhdGE6IENvbnRlbnRmdWxSZXN0QXNzZXQgfCBDb250ZW50ZnVsR3FsQXNzZXQsXG4gIHNyY3NldFNpemVzOiBzdHJpbmdbXSxcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCBudWxsLFxuICBxdWFsaXR5OiBudW1iZXIgfCBudWxsLFxuICBmb2N1c0FyZWE6IENvbnRlbnRmdWxJbWFnZUZvY3VzQXJlYSB8IG51bGwsXG4gIHJlc2l6ZUJlaGF2aW9yOiBDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciB8IG51bGwsXG4pOiBQaWN0dXJlU291cmNlW10gPT4ge1xuICBjb25zdCBhc3NldERhdGEgPSBkYXRhO1xuXG4gIGlmICghYXNzZXREYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3Qgc291cmNlczogUGljdHVyZVNvdXJjZVtdID0gW107XG5cbiAgY29uc3QgU09VUkNFX1RZUEVTID0gWydpbWFnZS9hdmlmJywgJ2ltYWdlL3dlYnAnLCAnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZyddO1xuXG4gIGZvciAoY29uc3QgdHlwZSBvZiBTT1VSQ0VfVFlQRVMpIHtcbiAgICBjb25zdCBiYXNlVXJsID0gaXNDb250ZW50ZnVsR3FsQXNzZXQoYXNzZXREYXRhKSA/IGFzc2V0RGF0YS51cmwgOiBhc3NldERhdGEuZmllbGRzLmZpbGUudXJsO1xuICAgIGNvbnN0IHNvdXJjZVNldHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBTZXQgdGhlIGZvcm1hdCAoZS5nLiAnZm09d2VicCcpXG4gICAgcXVlcnlQYXJhbXMucHVzaChgZm09JHt0eXBlLnNwbGl0KCcvJylbMV19YCk7XG5cbiAgICBpZiAoYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKGBiZz1yZ2I6JHtiYWNrZ3JvdW5kQ29sb3J9YCk7XG4gICAgfVxuXG4gICAgaWYgKHF1YWxpdHkgIT09IG51bGwpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYHE9JHtxdWFsaXR5fWApO1xuICAgIH1cblxuICAgIGlmIChmb2N1c0FyZWEpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGY9JHtmb2N1c0FyZWF9YCk7XG4gICAgfVxuXG4gICAgaWYgKHJlc2l6ZUJlaGF2aW9yKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKGBmaXQ9JHtyZXNpemVCZWhhdmlvcn1gKTtcbiAgICB9XG4gICAgaWYgKHNyY3NldFNpemVzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVybFdpdGhQYXJhbXMgPSBgJHtiYXNlVXJsfT8ke3F1ZXJ5UGFyYW1zLmpvaW4oJyYnKX1gO1xuXG4gICAgICBmb3IgKGNvbnN0IHNpemUgb2Ygc3Jjc2V0U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBwYXJzZUNvbnRlbnRmdWxJbWFnZVNpemUoc2l6ZSk7XG5cbiAgICAgICAgaWYgKHdpZHRoICYmIGhlaWdodCkge1xuICAgICAgICAgIHNvdXJjZVNldHMucHVzaChgJHt1cmxXaXRoUGFyYW1zfSZ3PSR7d2lkdGh9Jmg9JHtoZWlnaHR9ICR7d2lkdGh9d2ApO1xuICAgICAgICB9IGVsc2UgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jnc9JHt3aWR0aH0gJHt3aWR0aH13YCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGVpZ2h0KSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jmg9JHtoZWlnaHR9ICR7aGVpZ2h0fWhgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNvdXJjZXMucHVzaCh7XG4gICAgICB0eXBlLFxuICAgICAgc3Jjc2V0OiBzb3VyY2VTZXRzLmxlbmd0aCA/IHNvdXJjZVNldHMuam9pbignLCAnKSA6IGAke2Jhc2VVcmx9PyR7cXVlcnlQYXJhbXMuam9pbignJicpfWAsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc291cmNlcztcbn07XG4iXX0=
|