@ethlete/contentful 0.1.0-next.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/audio/contentful-audio.component.mjs +3 -3
- package/esm2020/lib/components/file/contentful-file.component.mjs +3 -3
- package/esm2020/lib/components/image/contentful-image.component.mjs +94 -47
- package/esm2020/lib/components/image/contentful-image.component.utils.mjs +86 -0
- package/esm2020/lib/components/image/index.mjs +2 -0
- package/esm2020/lib/components/image/public-api.mjs +2 -1
- package/esm2020/lib/components/rich-text-renderer/rich-text-renderer.component.mjs +16 -8
- package/esm2020/lib/components/rich-text-renderer/rich-text-renderer.util.mjs +13 -10
- package/esm2020/lib/components/video/contentful-video.component.mjs +3 -3
- package/esm2020/lib/contentful.imports.mjs +9 -0
- package/esm2020/lib/gql/asset.fragments.mjs +2 -3
- package/esm2020/lib/public-api.mjs +2 -2
- package/esm2020/lib/types/contentful.types.mjs +1 -1
- package/esm2020/lib/utils/contentful-config.mjs +6 -1
- package/esm2020/lib/utils/contentful.util.mjs +7 -1
- package/esm2020/lib/utils/index.mjs +2 -0
- package/fesm2015/ethlete-contentful.mjs +277 -155
- package/fesm2015/ethlete-contentful.mjs.map +1 -1
- package/fesm2020/ethlete-contentful.mjs +274 -154
- package/fesm2020/ethlete-contentful.mjs.map +1 -1
- package/lib/components/image/contentful-image.component.d.ts +20 -12
- package/lib/components/image/contentful-image.component.utils.d.ts +16 -0
- package/lib/components/image/index.d.ts +1 -0
- package/lib/components/image/public-api.d.ts +1 -0
- package/lib/components/rich-text-renderer/rich-text-renderer.component.d.ts +1 -1
- package/lib/components/rich-text-renderer/rich-text-renderer.util.d.ts +2 -3
- package/lib/contentful.imports.d.ts +2 -0
- package/lib/public-api.d.ts +1 -1
- package/lib/types/contentful.types.d.ts +29 -6
- package/lib/utils/contentful.util.d.ts +3 -1
- package/lib/utils/index.d.ts +1 -0
- package/package.json +6 -6
- package/esm2020/lib/contentful.module.mjs +0 -40
- package/lib/contentful.module.d.ts +0 -11
|
@@ -30,14 +30,14 @@ export class ContentfulAudioComponent {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
ContentfulAudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
34
|
-
ContentfulAudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
33
|
+
ContentfulAudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
ContentfulAudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { data: "data", audioClass: "audioClass", figureClass: "figureClass", figcaptionClass: "figcaptionClass" }, ngImport: i0, template: `
|
|
35
35
|
<figure *ngIf="data" [ngClass]="figureClass">
|
|
36
36
|
<figcaption [ngClass]="figcaptionClass">{{ data.title }}</figcaption>
|
|
37
37
|
<audio [ngClass]="audioClass" controls src="{{ data.url }}"></audio>
|
|
38
38
|
</figure>
|
|
39
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: "15.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulAudioComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{
|
|
43
43
|
selector: 'et-contentful-audio',
|
|
@@ -25,13 +25,13 @@ export class ContentfulFileComponent {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
ContentfulFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
29
|
-
ContentfulFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
28
|
+
ContentfulFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ContentfulFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { data: "data", fileClass: "fileClass" }, ngImport: i0, template: `
|
|
30
30
|
<a *ngIf="data" [href]="data.url" [ngClass]="fileClass" class="underline" target="_blank">
|
|
31
31
|
{{ data.title }} ({{ data.size }} Bytes)
|
|
32
32
|
</a>
|
|
33
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: "15.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulFileComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: 'et-contentful-file',
|
|
@@ -1,89 +1,136 @@
|
|
|
1
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
1
|
import { NgClass, NgIf, NgOptimizedImage } from '@angular/common';
|
|
3
|
-
import { ChangeDetectionStrategy,
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation, inject, } from '@angular/core';
|
|
3
|
+
import { PictureComponent, PictureDataDirective } from '@ethlete/cdk';
|
|
4
|
+
import { isContentfulImage } from '../../utils';
|
|
4
5
|
import { RICH_TEXT_RENDERER_COMPONENT_DATA } from '../rich-text-renderer';
|
|
6
|
+
import { generateContentfulImageSources, generateDefaultContentfulImageSource, } from './contentful-image.component.utils';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ethlete/cdk";
|
|
6
9
|
export class ContentfulImageComponent {
|
|
7
10
|
constructor() {
|
|
8
|
-
this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, {
|
|
11
|
+
this._richTextData = inject(RICH_TEXT_RENDERER_COMPONENT_DATA, {
|
|
12
|
+
optional: true,
|
|
13
|
+
});
|
|
14
|
+
this.pictureData = inject(PictureDataDirective);
|
|
15
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
9
16
|
this._data = null;
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
17
|
+
this._sizes = [];
|
|
18
|
+
this._srcsetSizes = [];
|
|
19
|
+
this._backgroundColor = null;
|
|
20
|
+
this.sources = [];
|
|
13
21
|
}
|
|
14
22
|
get data() {
|
|
15
23
|
return this._data;
|
|
16
24
|
}
|
|
17
25
|
set data(v) {
|
|
18
|
-
|
|
26
|
+
const assetData = isContentfulImage(v) ? v.asset : v;
|
|
27
|
+
const imageData = isContentfulImage(v) ? v : null;
|
|
28
|
+
if (assetData && !assetData.contentType) {
|
|
19
29
|
this._data = null;
|
|
20
30
|
console.warn('The provided asset is invalid', v);
|
|
21
31
|
return;
|
|
22
32
|
}
|
|
23
|
-
if (
|
|
33
|
+
if (assetData && !assetData.contentType.startsWith('image/')) {
|
|
24
34
|
throw new Error('The provided asset is not an image');
|
|
25
35
|
}
|
|
26
36
|
this._data = v ?? null;
|
|
37
|
+
this.pictureData.defaultSrc = assetData ? generateDefaultContentfulImageSource(assetData) : null;
|
|
38
|
+
this.pictureData.alt = imageData?.alt ?? assetData?.description ?? null;
|
|
39
|
+
this.pictureData.width = assetData?.width ?? null;
|
|
40
|
+
this.pictureData.height = assetData?.height ?? null;
|
|
41
|
+
this.pictureData.figcaption = imageData?.caption ?? null;
|
|
42
|
+
this.updateSizes();
|
|
27
43
|
}
|
|
28
|
-
get
|
|
29
|
-
return this.
|
|
44
|
+
get sizes() {
|
|
45
|
+
return this._sizes;
|
|
30
46
|
}
|
|
31
|
-
set
|
|
32
|
-
this.
|
|
47
|
+
set sizes(v) {
|
|
48
|
+
this._sizes = v;
|
|
49
|
+
this.pictureData.sizes = this.sizes?.join(', ') ?? null;
|
|
50
|
+
}
|
|
51
|
+
get srcsetSizes() {
|
|
52
|
+
return this._srcsetSizes;
|
|
53
|
+
}
|
|
54
|
+
set srcsetSizes(v) {
|
|
55
|
+
this._srcsetSizes = v;
|
|
56
|
+
this.updateSizes();
|
|
57
|
+
}
|
|
58
|
+
get backgroundColor() {
|
|
59
|
+
return this._backgroundColor;
|
|
60
|
+
}
|
|
61
|
+
set backgroundColor(v) {
|
|
62
|
+
this._backgroundColor = v;
|
|
63
|
+
this.updateSizes();
|
|
33
64
|
}
|
|
34
65
|
ngOnInit() {
|
|
35
66
|
if (this._richTextData && !this.data) {
|
|
36
67
|
this.data = this._richTextData;
|
|
37
68
|
}
|
|
38
69
|
}
|
|
70
|
+
updateSizes() {
|
|
71
|
+
this.sources = this._data ? generateContentfulImageSources(this._data, this.srcsetSizes, this.backgroundColor) : [];
|
|
72
|
+
this._cdr.markForCheck();
|
|
73
|
+
}
|
|
39
74
|
}
|
|
40
|
-
ContentfulImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
41
|
-
ContentfulImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
42
|
-
<picture
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
ContentfulImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
ContentfulImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ContentfulImageComponent, isStandalone: true, selector: "et-contentful-image", inputs: { data: "data", sizes: "sizes", srcsetSizes: "srcsetSizes", backgroundColor: "backgroundColor" }, host: { classAttribute: "et-contentful-image" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass"] }], ngImport: i0, template: `
|
|
77
|
+
<et-picture
|
|
78
|
+
[imgClass]="pictureData.imgClass"
|
|
79
|
+
[hasPriority]="pictureData.hasPriority"
|
|
80
|
+
[figureClass]="pictureData.figureClass"
|
|
81
|
+
[pictureClass]="pictureData.pictureClass"
|
|
82
|
+
[figcaptionClass]="pictureData.figcaptionClass"
|
|
83
|
+
[defaultSrc]="pictureData.defaultSrc"
|
|
84
|
+
[alt]="pictureData.alt"
|
|
85
|
+
[figcaption]="pictureData.figcaption"
|
|
86
|
+
[width]="pictureData.width"
|
|
87
|
+
[height]="pictureData.height"
|
|
88
|
+
[sizes]="pictureData.sizes"
|
|
89
|
+
[sources]="sources"
|
|
90
|
+
/>
|
|
91
|
+
`, isInline: true, dependencies: [{ kind: "component", type: PictureComponent, selector: "et-picture", inputs: ["sources"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulImageComponent, decorators: [{
|
|
57
93
|
type: Component,
|
|
58
94
|
args: [{
|
|
59
95
|
selector: 'et-contentful-image',
|
|
60
96
|
template: `
|
|
61
|
-
<picture
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
97
|
+
<et-picture
|
|
98
|
+
[imgClass]="pictureData.imgClass"
|
|
99
|
+
[hasPriority]="pictureData.hasPriority"
|
|
100
|
+
[figureClass]="pictureData.figureClass"
|
|
101
|
+
[pictureClass]="pictureData.pictureClass"
|
|
102
|
+
[figcaptionClass]="pictureData.figcaptionClass"
|
|
103
|
+
[defaultSrc]="pictureData.defaultSrc"
|
|
104
|
+
[alt]="pictureData.alt"
|
|
105
|
+
[figcaption]="pictureData.figcaption"
|
|
106
|
+
[width]="pictureData.width"
|
|
107
|
+
[height]="pictureData.height"
|
|
108
|
+
[sizes]="pictureData.sizes"
|
|
109
|
+
[sources]="sources"
|
|
110
|
+
/>
|
|
74
111
|
`,
|
|
75
112
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
76
113
|
encapsulation: ViewEncapsulation.None,
|
|
77
114
|
standalone: true,
|
|
78
|
-
imports: [NgIf, NgClass, NgOptimizedImage],
|
|
115
|
+
imports: [NgIf, NgClass, NgOptimizedImage, PictureComponent],
|
|
116
|
+
hostDirectives: [
|
|
117
|
+
{
|
|
118
|
+
directive: PictureDataDirective,
|
|
119
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
120
|
+
inputs: ['imgClass', 'hasPriority', 'figureClass', 'pictureClass', 'figcaptionClass'],
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
host: {
|
|
124
|
+
class: 'et-contentful-image',
|
|
125
|
+
},
|
|
79
126
|
}]
|
|
80
127
|
}], propDecorators: { data: [{
|
|
81
128
|
type: Input
|
|
82
|
-
}],
|
|
129
|
+
}], sizes: [{
|
|
83
130
|
type: Input
|
|
84
|
-
}],
|
|
131
|
+
}], srcsetSizes: [{
|
|
85
132
|
type: Input
|
|
86
|
-
}],
|
|
133
|
+
}], backgroundColor: [{
|
|
87
134
|
type: Input
|
|
88
135
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF3QjFFLE1BQU0sT0FBTyx3QkFBd0I7SUF0QnJDO1FBdUJVLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixpQ0FBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBcUIvRixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQUc3QixpQkFBWSxHQUFnQixJQUFJLENBQUM7UUFTekIsY0FBUyxHQUFHLEtBQUssQ0FBQztLQU8zQjtJQXpDQyxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLENBQXFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUVsQixPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRWpELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7O3FIQTNDVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixtTEFwQnpCOzs7Ozs7Ozs7Ozs7OztHQWNULDREQUlTLElBQUksNkZBQUUsT0FBTyxvRkFBRSxnQkFBZ0I7MkZBRTlCLHdCQUF3QjtrQkF0QnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7aUJBQzNDOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFzQk4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuLi9yaWNoLXRleHQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWltYWdlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cGljdHVyZSAqbmdJZj1cImRhdGFcIiBbbmdDbGFzc109XCJwaWN0dXJlQ2xhc3NcIj5cbiAgICAgIDxzb3VyY2Ugc3Jjc2V0PVwie3sgZGF0YS51cmwgfX0/Zm09YXZpZlwiIHR5cGU9XCJpbWFnZS9hdmlmXCIgLz5cbiAgICAgIDxzb3VyY2Ugc3Jjc2V0PVwie3sgZGF0YS51cmwgfX0/Zm09d2VicFwiIHR5cGU9XCJpbWFnZS93ZWJwXCIgLz5cbiAgICAgIDxzb3VyY2Ugc3Jjc2V0PVwie3sgZGF0YS51cmwgfX0/Zm09anBnXCIgdHlwZT1cImltYWdlL2pwZWdcIiAvPlxuICAgICAgPGltZ1xuICAgICAgICBbYXR0ci5hbHRdPVwiZGF0YS5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWRcIlxuICAgICAgICBbd2lkdGhdPVwiZGF0YS53aWR0aCA/PyB1bmRlZmluZWRcIlxuICAgICAgICBbaGVpZ2h0XT1cImRhdGEuaGVpZ2h0ID8/IHVuZGVmaW5lZFwiXG4gICAgICAgIFtwcmlvcml0eV09XCJkYXRhLnByaW9yaXR5ID8/IHByaW9yaXR5XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaW1nQ2xhc3NcIlxuICAgICAgICBuZ1NyYz1cInt7IGRhdGEudXJsIH19XCJcbiAgICAgIC8+XG4gICAgPC9waWN0dXJlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE5nT3B0aW1pemVkSW1hZ2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9yaWNoVGV4dERhdGEgPSBpbmplY3Q8Q29udGVudGZ1bEFzc2V0PihSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cbiAgc2V0IGRhdGEodjogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2ICYmICF2LmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gbnVsbDtcblxuICAgICAgY29uc29sZS53YXJuKCdUaGUgcHJvdmlkZWQgYXNzZXQgaXMgaW52YWxpZCcsIHYpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHYgJiYgIXYuY29udGVudFR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiBpbWFnZScpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YTogQ29udGVudGZ1bEFzc2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgaW1nQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwaWN0dXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgcHJpb3JpdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ByaW9yaXR5O1xuICB9XG4gIHNldCBwcmlvcml0eSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcHJpb3JpdHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX3ByaW9yaXR5ID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JpY2hUZXh0RGF0YSAmJiAhdGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLl9yaWNoVGV4dERhdGE7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFFckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsb0NBQW9DLEdBQ3JDLE1BQU0sb0NBQW9DLENBQUM7OztBQW1DNUMsTUFBTSxPQUFPLHdCQUF3QjtJQWpDckM7UUFrQ1Usa0JBQWEsR0FBRyxNQUFNLENBQW9DLGlDQUFpQyxFQUFFO1lBQ25HLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRWdCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckQsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBK0JsQyxVQUFLLEdBQTZDLElBQUksQ0FBQztRQVV2RCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBVXRCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBVTVCLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFFckMsWUFBTyxHQUFvQixFQUFFLENBQUM7S0FhekM7SUExRUMsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxDQUF1RDtRQUM5RCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVsRCxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFbEIsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVqRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsU0FBUyxFQUFFLEdBQUcsSUFBSSxTQUFTLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQztRQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxTQUFTLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUdELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBVztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUdELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsQ0FBVztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUdELElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsQ0FBZ0I7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUtELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXBILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7cUhBakZVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHdjQS9CekI7Ozs7Ozs7Ozs7Ozs7OztHQWVULDREQUkwQyxnQkFBZ0I7MkZBWWhELHdCQUF3QjtrQkFqQ3BDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO29CQUM1RCxjQUFjLEVBQUU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLG9CQUFvQjs0QkFDL0IsdUVBQXVFOzRCQUN2RSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUM7eUJBQ3RGO3FCQUNGO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QjtpQkFDRjs4QkFVSyxJQUFJO3NCQURQLEtBQUs7Z0JBZ0NGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsZUFBZTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGljdHVyZUNvbXBvbmVudCwgUGljdHVyZURhdGFEaXJlY3RpdmUsIFBpY3R1cmVTb3VyY2UgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0LCBDb250ZW50ZnVsSW1hZ2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0NvbnRlbnRmdWxJbWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4uL3JpY2gtdGV4dC1yZW5kZXJlcic7XG5pbXBvcnQge1xuICBnZW5lcmF0ZUNvbnRlbnRmdWxJbWFnZVNvdXJjZXMsXG4gIGdlbmVyYXRlRGVmYXVsdENvbnRlbnRmdWxJbWFnZVNvdXJjZSxcbn0gZnJvbSAnLi9jb250ZW50ZnVsLWltYWdlLmNvbXBvbmVudC51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtaW1hZ2UnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxldC1waWN0dXJlXG4gICAgICBbaW1nQ2xhc3NdPVwicGljdHVyZURhdGEuaW1nQ2xhc3NcIlxuICAgICAgW2hhc1ByaW9yaXR5XT1cInBpY3R1cmVEYXRhLmhhc1ByaW9yaXR5XCJcbiAgICAgIFtmaWd1cmVDbGFzc109XCJwaWN0dXJlRGF0YS5maWd1cmVDbGFzc1wiXG4gICAgICBbcGljdHVyZUNsYXNzXT1cInBpY3R1cmVEYXRhLnBpY3R1cmVDbGFzc1wiXG4gICAgICBbZmlnY2FwdGlvbkNsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25DbGFzc1wiXG4gICAgICBbZGVmYXVsdFNyY109XCJwaWN0dXJlRGF0YS5kZWZhdWx0U3JjXCJcbiAgICAgIFthbHRdPVwicGljdHVyZURhdGEuYWx0XCJcbiAgICAgIFtmaWdjYXB0aW9uXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25cIlxuICAgICAgW3dpZHRoXT1cInBpY3R1cmVEYXRhLndpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwicGljdHVyZURhdGEuaGVpZ2h0XCJcbiAgICAgIFtzaXplc109XCJwaWN0dXJlRGF0YS5zaXplc1wiXG4gICAgICBbc291cmNlc109XCJzb3VyY2VzXCJcbiAgICAvPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE5nT3B0aW1pemVkSW1hZ2UsIFBpY3R1cmVDb21wb25lbnRdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogUGljdHVyZURhdGFEaXJlY3RpdmUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgICAgaW5wdXRzOiBbJ2ltZ0NsYXNzJywgJ2hhc1ByaW9yaXR5JywgJ2ZpZ3VyZUNsYXNzJywgJ3BpY3R1cmVDbGFzcycsICdmaWdjYXB0aW9uQ2xhc3MnXSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb250ZW50ZnVsLWltYWdlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfcmljaFRleHREYXRhID0gaW5qZWN0PENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZT4oUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwaWN0dXJlRGF0YSA9IGluamVjdChQaWN0dXJlRGF0YURpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIHNldCBkYXRhKHY6IENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBhc3NldERhdGEgPSBpc0NvbnRlbnRmdWxJbWFnZSh2KSA/IHYuYXNzZXQgOiB2O1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IGlzQ29udGVudGZ1bEltYWdlKHYpID8gdiA6IG51bGw7XG5cbiAgICBpZiAoYXNzZXREYXRhICYmICFhc3NldERhdGEuY29udGVudFR5cGUpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm92aWRlZCBhc3NldCBpcyBpbnZhbGlkJywgdik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYXNzZXREYXRhICYmICFhc3NldERhdGEuY29udGVudFR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGFzc2V0IGlzIG5vdCBhbiBpbWFnZScpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEgPSB2ID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5kZWZhdWx0U3JjID0gYXNzZXREYXRhID8gZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlKGFzc2V0RGF0YSkgOiBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuYWx0ID0gaW1hZ2VEYXRhPy5hbHQgPz8gYXNzZXREYXRhPy5kZXNjcmlwdGlvbiA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEud2lkdGggPSBhc3NldERhdGE/LndpZHRoID8/IG51bGw7XG4gICAgdGhpcy5waWN0dXJlRGF0YS5oZWlnaHQgPSBhc3NldERhdGE/LmhlaWdodCA/PyBudWxsO1xuICAgIHRoaXMucGljdHVyZURhdGEuZmlnY2FwdGlvbiA9IGltYWdlRGF0YT8uY2FwdGlvbiA/PyBudWxsO1xuXG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX2RhdGE6IENvbnRlbnRmdWxBc3NldCB8IENvbnRlbnRmdWxJbWFnZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzaXplcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemVzO1xuICB9XG4gIHNldCBzaXplcyh2OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NpemVzID0gdjtcbiAgICB0aGlzLnBpY3R1cmVEYXRhLnNpemVzID0gdGhpcy5zaXplcz8uam9pbignLCAnKSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3NpemVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzcmNzZXRTaXplcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyY3NldFNpemVzO1xuICB9XG4gIHNldCBzcmNzZXRTaXplcyh2OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NyY3NldFNpemVzID0gdjtcbiAgICB0aGlzLnVwZGF0ZVNpemVzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfc3Jjc2V0U2l6ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgZ2V0IGJhY2tncm91bmRDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yO1xuICB9XG4gIHNldCBiYWNrZ3JvdW5kQ29sb3Iodjogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuX2JhY2tncm91bmRDb2xvciA9IHY7XG4gICAgdGhpcy51cGRhdGVTaXplcygpO1xuICB9XG4gIHByaXZhdGUgX2JhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHNvdXJjZXM6IFBpY3R1cmVTb3VyY2VbXSA9IFtdO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yaWNoVGV4dERhdGEgJiYgIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5fcmljaFRleHREYXRhO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2l6ZXMoKSB7XG4gICAgdGhpcy5zb3VyY2VzID0gdGhpcy5fZGF0YSA/IGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyh0aGlzLl9kYXRhLCB0aGlzLnNyY3NldFNpemVzLCB0aGlzLmJhY2tncm91bmRDb2xvcikgOiBbXTtcblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { isContentfulImage } from '../../utils';
|
|
2
|
+
export const generateDefaultContentfulImageSource = (data) => {
|
|
3
|
+
const { url, contentType } = data;
|
|
4
|
+
return {
|
|
5
|
+
type: contentType,
|
|
6
|
+
srcset: url,
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Parses source set sizes into an object containing with and height. Eg.
|
|
11
|
+
* - `"400"` - 400px width
|
|
12
|
+
* - `"400x300"` - 400px width and 300px height
|
|
13
|
+
* - `"400w"` - 400px width
|
|
14
|
+
* - `"400h"` - 400px height
|
|
15
|
+
* - `"400wx300h"` - 400px width and 300px height
|
|
16
|
+
**/
|
|
17
|
+
export const parseContentfulImageSize = (size) => {
|
|
18
|
+
let width = null;
|
|
19
|
+
let height = null;
|
|
20
|
+
if (size.includes('x')) {
|
|
21
|
+
const [w, h] = size.split('x');
|
|
22
|
+
width = w;
|
|
23
|
+
height = h;
|
|
24
|
+
}
|
|
25
|
+
else if (size.includes('h')) {
|
|
26
|
+
height = size;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
width = size;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
width: width ? parseInt(width, 10) : null,
|
|
33
|
+
height: height ? parseInt(height, 10) : null,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export const generateContentfulImageSources = (data, srcsetSizes, backgroundColor) => {
|
|
37
|
+
const assetData = isContentfulImage(data) ? data.asset : data;
|
|
38
|
+
const imageData = isContentfulImage(data) ? data : null;
|
|
39
|
+
if (!assetData) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
const sources = [];
|
|
43
|
+
const SOURCE_TYPES = ['image/avif', 'image/webp', 'image/png', 'image/jpg'];
|
|
44
|
+
for (const type of SOURCE_TYPES) {
|
|
45
|
+
const baseUrl = assetData.url;
|
|
46
|
+
const sourceSets = [];
|
|
47
|
+
const queryParams = [];
|
|
48
|
+
// Set the format (e.g. 'fm=webp')
|
|
49
|
+
queryParams.push(`fm=${type.split('/')[1]}`);
|
|
50
|
+
if (backgroundColor) {
|
|
51
|
+
queryParams.push(`bg=rgb:${backgroundColor}`);
|
|
52
|
+
}
|
|
53
|
+
if (imageData) {
|
|
54
|
+
if (imageData.quality) {
|
|
55
|
+
queryParams.push(`q=${imageData.quality}`);
|
|
56
|
+
}
|
|
57
|
+
if (imageData.focusArea) {
|
|
58
|
+
queryParams.push(`f=${imageData.focusArea}`);
|
|
59
|
+
}
|
|
60
|
+
if (imageData.resizeBehavior) {
|
|
61
|
+
queryParams.push(`fit=${imageData.resizeBehavior}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (srcsetSizes?.length) {
|
|
65
|
+
const urlWithParams = `${baseUrl}?${queryParams.join('&')}`;
|
|
66
|
+
for (const size of srcsetSizes) {
|
|
67
|
+
const { width, height } = parseContentfulImageSize(size);
|
|
68
|
+
if (width && height) {
|
|
69
|
+
sourceSets.push(`${urlWithParams}&w=${width}&h=${height} ${width}w`);
|
|
70
|
+
}
|
|
71
|
+
else if (width) {
|
|
72
|
+
sourceSets.push(`${urlWithParams}&w=${width} ${width}w`);
|
|
73
|
+
}
|
|
74
|
+
else if (height) {
|
|
75
|
+
sourceSets.push(`${urlWithParams}&h=${height} ${height}h`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
sources.push({
|
|
80
|
+
type,
|
|
81
|
+
srcset: sourceSets.length ? sourceSets.join(', ') : `${baseUrl}?${queryParams.join('&')}`,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return sources;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxDQUFDLElBQXFCLEVBQWlCLEVBQUU7SUFDM0YsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFbEMsT0FBTztRQUNMLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRSxHQUFHO0tBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0lBT0k7QUFDSixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLElBQVksRUFBbUQsRUFBRTtJQUN4RyxJQUFJLEtBQUssR0FBOEIsSUFBSSxDQUFDO0lBQzVDLElBQUksTUFBTSxHQUE4QixJQUFJLENBQUM7SUFFN0MsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUvQixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsTUFBTSxHQUFHLENBQUMsQ0FBQztLQUNaO1NBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sR0FBRyxJQUFJLENBQUM7S0FDZjtTQUFNO1FBQ0wsS0FBSyxHQUFHLElBQUksQ0FBQztLQUNkO0lBRUQsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFD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SixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtTQUMxRixDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpY3R1cmVTb3VyY2UgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0LCBDb250ZW50ZnVsSW1hZ2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0NvbnRlbnRmdWxJbWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlRGVmYXVsdENvbnRlbnRmdWxJbWFnZVNvdXJjZSA9IChkYXRhOiBDb250ZW50ZnVsQXNzZXQpOiBQaWN0dXJlU291cmNlID0+IHtcbiAgY29uc3QgeyB1cmwsIGNvbnRlbnRUeXBlIH0gPSBkYXRhO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogY29udGVudFR5cGUsXG4gICAgc3Jjc2V0OiB1cmwsXG4gIH07XG59O1xuXG4vKipcbiAqIFBhcnNlcyBzb3VyY2Ugc2V0IHNpemVzIGludG8gYW4gb2JqZWN0IGNvbnRhaW5pbmcgd2l0aCBhbmQgaGVpZ2h0LiBFZy5cbiAqIC0gYFwiNDAwXCJgIC0gNDAwcHggd2lkdGhcbiAqIC0gYFwiNDAweDMwMFwiYCAtIDQwMHB4IHdpZHRoIGFuZCAzMDBweCBoZWlnaHRcbiAqIC0gYFwiNDAwd1wiYCAtIDQwMHB4IHdpZHRoXG4gKiAtIGBcIjQwMGhcImAgLSA0MDBweCBoZWlnaHRcbiAqIC0gYFwiNDAwd3gzMDBoXCJgIC0gNDAwcHggd2lkdGggYW5kIDMwMHB4IGhlaWdodFxuICoqL1xuZXhwb3J0IGNvbnN0IHBhcnNlQ29udGVudGZ1bEltYWdlU2l6ZSA9IChzaXplOiBzdHJpbmcpOiB7IHdpZHRoOiBudW1iZXIgfCBudWxsOyBoZWlnaHQ6IG51bWJlciB8IG51bGwgfSA9PiB7XG4gIGxldCB3aWR0aDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG4gIGxldCBoZWlnaHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIGlmIChzaXplLmluY2x1ZGVzKCd4JykpIHtcbiAgICBjb25zdCBbdywgaF0gPSBzaXplLnNwbGl0KCd4Jyk7XG5cbiAgICB3aWR0aCA9IHc7XG4gICAgaGVpZ2h0ID0gaDtcbiAgfSBlbHNlIGlmIChzaXplLmluY2x1ZGVzKCdoJykpIHtcbiAgICBoZWlnaHQgPSBzaXplO1xuICB9IGVsc2Uge1xuICAgIHdpZHRoID0gc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHdpZHRoID8gcGFyc2VJbnQod2lkdGgsIDEwKSA6IG51bGwsXG4gICAgaGVpZ2h0OiBoZWlnaHQgPyBwYXJzZUludChoZWlnaHQsIDEwKSA6IG51bGwsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVDb250ZW50ZnVsSW1hZ2VTb3VyY2VzID0gKFxuICBkYXRhOiBDb250ZW50ZnVsQXNzZXQgfCBDb250ZW50ZnVsSW1hZ2UsXG4gIHNyY3NldFNpemVzOiBzdHJpbmdbXSxcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCBudWxsLFxuKTogUGljdHVyZVNvdXJjZVtdID0+IHtcbiAgY29uc3QgYXNzZXREYXRhID0gaXNDb250ZW50ZnVsSW1hZ2UoZGF0YSkgPyBkYXRhLmFzc2V0IDogZGF0YTtcbiAgY29uc3QgaW1hZ2VEYXRhID0gaXNDb250ZW50ZnVsSW1hZ2UoZGF0YSkgPyBkYXRhIDogbnVsbDtcblxuICBpZiAoIWFzc2V0RGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZXM6IFBpY3R1cmVTb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0IFNPVVJDRV9UWVBFUyA9IFsnaW1hZ2UvYXZpZicsICdpbWFnZS93ZWJwJywgJ2ltYWdlL3BuZycsICdpbWFnZS9qcGcnXTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgU09VUkNFX1RZUEVTKSB7XG4gICAgY29uc3QgYmFzZVVybCA9IGFzc2V0RGF0YS51cmw7XG4gICAgY29uc3Qgc291cmNlU2V0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIFNldCB0aGUgZm9ybWF0IChlLmcuICdmbT13ZWJwJylcbiAgICBxdWVyeVBhcmFtcy5wdXNoKGBmbT0ke3R5cGUuc3BsaXQoJy8nKVsxXX1gKTtcblxuICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGJnPXJnYjoke2JhY2tncm91bmRDb2xvcn1gKTtcbiAgICB9XG5cbiAgICBpZiAoaW1hZ2VEYXRhKSB7XG4gICAgICBpZiAoaW1hZ2VEYXRhLnF1YWxpdHkpIHtcbiAgICAgICAgcXVlcnlQYXJhbXMucHVzaChgcT0ke2ltYWdlRGF0YS5xdWFsaXR5fWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW1hZ2VEYXRhLmZvY3VzQXJlYSkge1xuICAgICAgICBxdWVyeVBhcmFtcy5wdXNoKGBmPSR7aW1hZ2VEYXRhLmZvY3VzQXJlYX1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGltYWdlRGF0YS5yZXNpemVCZWhhdmlvcikge1xuICAgICAgICBxdWVyeVBhcmFtcy5wdXNoKGBmaXQ9JHtpbWFnZURhdGEucmVzaXplQmVoYXZpb3J9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNyY3NldFNpemVzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVybFdpdGhQYXJhbXMgPSBgJHtiYXNlVXJsfT8ke3F1ZXJ5UGFyYW1zLmpvaW4oJyYnKX1gO1xuXG4gICAgICBmb3IgKGNvbnN0IHNpemUgb2Ygc3Jjc2V0U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBwYXJzZUNvbnRlbnRmdWxJbWFnZVNpemUoc2l6ZSk7XG5cbiAgICAgICAgaWYgKHdpZHRoICYmIGhlaWdodCkge1xuICAgICAgICAgIHNvdXJjZVNldHMucHVzaChgJHt1cmxXaXRoUGFyYW1zfSZ3PSR7d2lkdGh9Jmg9JHtoZWlnaHR9ICR7d2lkdGh9d2ApO1xuICAgICAgICB9IGVsc2UgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jnc9JHt3aWR0aH0gJHt3aWR0aH13YCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGVpZ2h0KSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jmg9JHtoZWlnaHR9ICR7aGVpZ2h0fWhgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNvdXJjZXMucHVzaCh7XG4gICAgICB0eXBlLFxuICAgICAgc3Jjc2V0OiBzb3VyY2VTZXRzLmxlbmd0aCA/IHNvdXJjZVNldHMuam9pbignLCAnKSA6IGAke2Jhc2VVcmx9PyR7cXVlcnlQYXJhbXMuam9pbignJicpfWAsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc291cmNlcztcbn07XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './contentful-image.component';
|
|
2
|
-
|
|
2
|
+
export * from './contentful-image.component.utils';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQudXRpbHMnO1xuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { ApplicationRef, ChangeDetectionStrategy, Component, ComponentFactoryResolver, ElementRef, inject, Injector, Input, Renderer2,
|
|
3
|
+
import { ApplicationRef, ChangeDetectionStrategy, Component, ComponentFactoryResolver, ElementRef, inject, Injector, Input, Renderer2, ViewEncapsulation, } from '@angular/core';
|
|
4
|
+
import { ContentfulImageComponent } from '..';
|
|
4
5
|
import { CONTENTFUL_CONFIG } from '../../constants/contentful.constants';
|
|
5
6
|
import { createContentfulConfig } from '../../utils/contentful-config';
|
|
6
7
|
import { RICH_TEXT_RENDERER_COMPONENT_DATA } from './rich-text-renderer.constants';
|
|
@@ -11,7 +12,6 @@ export class ContentfulRichTextRendererComponent {
|
|
|
11
12
|
this._richText = null;
|
|
12
13
|
this._renderer = inject(Renderer2);
|
|
13
14
|
this._elementRef = inject(ElementRef);
|
|
14
|
-
this._viewContainerRef = inject(ViewContainerRef);
|
|
15
15
|
this._componentFactoryResolver = inject(ComponentFactoryResolver);
|
|
16
16
|
this._document = inject(DOCUMENT);
|
|
17
17
|
this._appRef = inject(ApplicationRef);
|
|
@@ -23,15 +23,18 @@ export class ContentfulRichTextRendererComponent {
|
|
|
23
23
|
}
|
|
24
24
|
set richText(v) {
|
|
25
25
|
this._richText = v ?? null;
|
|
26
|
+
this.resetAndRender();
|
|
27
|
+
}
|
|
28
|
+
resetAndRender() {
|
|
26
29
|
// clear childNodes to prevent appending new richtext elements to existing one
|
|
27
30
|
const childElements = this._elementRef.nativeElement.childNodes;
|
|
28
31
|
for (const child of childElements) {
|
|
29
32
|
this._renderer.removeChild(this._elementRef.nativeElement, child);
|
|
30
33
|
}
|
|
31
|
-
if (!
|
|
34
|
+
if (!this._richText) {
|
|
32
35
|
return;
|
|
33
36
|
}
|
|
34
|
-
const commands = createRenderCommandsFromContentfulRichText({ data:
|
|
37
|
+
const commands = createRenderCommandsFromContentfulRichText({ data: this._richText, config: this._config });
|
|
35
38
|
this._render(commands);
|
|
36
39
|
}
|
|
37
40
|
_render(commands) {
|
|
@@ -75,6 +78,11 @@ export class ContentfulRichTextRendererComponent {
|
|
|
75
78
|
const portal = new DomPortalOutlet(parent, this._componentFactoryResolver, this._appRef, injector, this._document);
|
|
76
79
|
const comp = new ComponentPortal(command.payload);
|
|
77
80
|
const ref = comp.attach(portal);
|
|
81
|
+
if (ref.instance instanceof ContentfulImageComponent) {
|
|
82
|
+
ref.instance.sizes = this._config.imageOptions.sizes;
|
|
83
|
+
ref.instance.srcsetSizes = this._config.imageOptions.srcsetSizes;
|
|
84
|
+
ref.instance.backgroundColor = this._config.imageOptions.backgroundColor;
|
|
85
|
+
}
|
|
78
86
|
element = ref.location.nativeElement;
|
|
79
87
|
}
|
|
80
88
|
}
|
|
@@ -84,9 +92,9 @@ export class ContentfulRichTextRendererComponent {
|
|
|
84
92
|
}
|
|
85
93
|
}
|
|
86
94
|
}
|
|
87
|
-
ContentfulRichTextRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
88
|
-
ContentfulRichTextRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
95
|
+
ContentfulRichTextRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulRichTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
+
ContentfulRichTextRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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 });
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentfulRichTextRendererComponent, decorators: [{
|
|
90
98
|
type: Component,
|
|
91
99
|
args: [{
|
|
92
100
|
selector: 'et-contentful-rich-text-renderer',
|
|
@@ -101,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
101
109
|
}], propDecorators: { richText: [{
|
|
102
110
|
type: Input
|
|
103
111
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBWXZGLE1BQU0sT0FBTyxtQ0FBbUM7SUFWaEQ7UUFnQ1UsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFFMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3Qyw4QkFBeUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsTUFBTSxDQUFXLFFB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LCBEb21Qb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENPTlRFTlRGVUxfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbnRlbnRmdWwuY29uc3RhbnRzJztcbmltcG9ydCB7IFJpY2hUZXh0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZW50ZnVsQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29udGVudGZ1bC1jb25maWcnO1xuaW1wb3J0IHsgUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIuY29uc3RhbnRzJztcbmltcG9ydCB7IFJpY2hUZXh0UmVuZGVyQ29tbWFuZCB9IGZyb20gJy4vcmljaC10ZXh0LXJlbmRlcmVyLnR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCB9IGZyb20gJy4vcmljaC10ZXh0LXJlbmRlcmVyLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLXJpY2gtdGV4dC1yZW5kZXJlcicsXG4gIHRlbXBsYXRlOiBgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bFJpY2hUZXh0UmVuZGVyZXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBnZXQgcmljaFRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JpY2hUZXh0O1xuICB9XG4gIHNldCByaWNoVGV4dCh2OiBSaWNoVGV4dFJlc3BvbnNlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3JpY2hUZXh0ID0gdiA/PyBudWxsO1xuXG4gICAgLy8gY2xlYXIgY2hpbGROb2RlcyB0byBwcmV2ZW50IGFwcGVuZGluZyBuZXcgcmljaHRleHQgZWxlbWVudHMgdG8gZXhpc3Rpbmcgb25lXG4gICAgY29uc3QgY2hpbGRFbGVtZW50cyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRFbGVtZW50cykge1xuICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjaGlsZCk7XG4gICAgfVxuXG4gICAgaWYgKCF2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29tbWFuZHMgPSBjcmVhdGVSZW5kZXJDb21tYW5kc0Zyb21Db250ZW50ZnVsUmljaFRleHQoeyBkYXRhOiB2LCBjb25maWc6IHRoaXMuX2NvbmZpZyB9KTtcblxuICAgIHRoaXMuX3JlbmRlcihjb21tYW5kcyk7XG4gIH1cbiAgcHJpdmF0ZSBfcmljaFRleHQ6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBfYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9jb25maWcgPSBpbmplY3QoQ09OVEVOVEZVTF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gY3JlYXRlQ29udGVudGZ1bENvbmZpZygpO1xuXG4gIHByaXZhdGUgX3JlbmRlcihjb21tYW5kczogUmljaFRleHRSZW5kZXJDb21tYW5kW10pIHtcbiAgICAvLyBjcmVhdGUgYSBkb2N1bWVudCBmcmFnbWVudCB0byBob2xkIHRoZSBlbGVtZW50cyB3aGlsZSB3ZSBjcmVhdGUgdGhlbVxuICAgIGNvbnN0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuXG4gICAgY29uc3QgaG9zdENvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZCA9IHtcbiAgICAgIHBheWxvYWQ6ICdkb2N1bWVudCcsXG4gICAgICBjaGlsZHJlbjogY29tbWFuZHMsXG4gICAgfTtcblxuICAgIC8vIGxvb3Agb3ZlciB0aGUgY29tbWFuZHNcbiAgICB0aGlzLl9leGVjdXRlQ29tbWFuZCh7IGNvbW1hbmQ6IGhvc3RDb21tYW5kLCBwYXJlbnQ6IGZyYWdtZW50IH0pO1xuXG4gICAgLy8gYXBwZW5kIHRoZSBmcmFnbWVudCB0byB0aGUgaG9zdCBlbGVtZW50XG4gICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBmcmFnbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9leGVjdXRlQ29tbWFuZChkYXRhOiB7IGNvbW1hbmQ6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZDsgcGFyZW50OiBFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB9KSB7XG4gICAgY29uc3QgeyBjb21tYW5kLCBwYXJlbnQgfSA9IGRhdGE7XG5cbiAgICBsZXQgZWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGlmIChjb21tYW5kLnBheWxvYWQgIT09ICdkb2N1bWVudCcpIHtcbiAgICAgIGlmICh0eXBlb2YgY29tbWFuZC5wYXlsb2FkID09PSAnc3RyaW5nJykge1xuICAgICAgICBlbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudChjb21tYW5kLnBheWxvYWQpO1xuXG4gICAgICAgIGlmIChjb21tYW5kLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShlbGVtZW50LCAnaW5uZXJUZXh0JywgY29tbWFuZC5kYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb21tYW5kLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29tbWFuZC5hdHRyaWJ1dGVzKSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsIG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQocGFyZW50LCBlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogUklDSF9URVhUX1JFTkRFUkVSX0NPTVBPTkVOVF9EQVRBLFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogY29tbWFuZC5kYXRhLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3IsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQoXG4gICAgICAgICAgcGFyZW50IGFzIEVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgIHRoaXMuX2FwcFJlZixcbiAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgICB0aGlzLl9kb2N1bWVudCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjb21wID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21tYW5kLnBheWxvYWQpO1xuICAgICAgICBjb25zdCByZWYgPSBjb21wLmF0dGFjaChwb3J0YWwpO1xuICAgICAgICBlbGVtZW50ID0gcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gbG9vcCBvdmVyIHRoZSBjb21tYW5kc1xuICAgIGZvciAoY29uc3QgY2hpbGRDb21tYW5kIG9mIGNvbW1hbmQuY2hpbGRyZW4pIHtcbiAgICAgIHRoaXMuX2V4ZWN1dGVDb21tYW5kKHsgY29tbWFuZDogY2hpbGRDb21tYW5kLCBwYXJlbnQ6IGVsZW1lbnQgPz8gcGFyZW50IH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LXJlbmRlcmVyL3JpY2gtdGV4dC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBWXZGLE1BQU0sT0FBTyxtQ0FBbUM7SUFWaEQ7UUFvQlUsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFFMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyw4QkFBeUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FB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NUU7SUFDSCxDQUFDOztnSUExR1UsbUNBQW1DO29IQUFuQyxtQ0FBbUMsNExBUnBDLEVBQUU7MkZBUUQsbUNBQW1DO2tCQVYvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsa0NBQWtDO3FCQUMxQztpQkFDRjs4QkFHSyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgQ09OVEVOVEZVTF9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29udGVudGZ1bC5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRlbnRmdWxDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb250ZW50ZnVsLWNvbmZpZyc7XG5pbXBvcnQgeyBSSUNIX1RFWFRfUkVOREVSRVJfQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL3JpY2gtdGV4dC1yZW5kZXJlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmljaFRleHRSZW5kZXJDb21tYW5kIH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVuZGVyQ29tbWFuZHNGcm9tQ29udGVudGZ1bFJpY2hUZXh0IH0gZnJvbSAnLi9yaWNoLXRleHQtcmVuZGVyZXIudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbnRlbnRmdWwtcmljaC10ZXh0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1yaWNoLXRleHQtcmVuZGVyZXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsUmljaFRleHRSZW5kZXJlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCByaWNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmljaFRleHQ7XG4gIH1cbiAgc2V0IHJpY2hUZXh0KHY6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcmljaFRleHQgPSB2ID8/IG51bGw7XG5cbiAgICB0aGlzLnJlc2V0QW5kUmVuZGVyKCk7XG4gIH1cbiAgcHJpdmF0ZSBfcmljaFRleHQ6IFJpY2hUZXh0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBfYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9jb25maWcgPSBpbmplY3QoQ09OVEVOVEZVTF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gY3JlYXRlQ29udGVudGZ1bENvbmZpZygpO1xuXG4gIHJlc2V0QW5kUmVuZGVyKCkge1xuICAgIC8vIGNsZWFyIGNoaWxkTm9kZXMgdG8gcHJldmVudCBhcHBlbmRpbmcgbmV3IHJpY2h0ZXh0IGVsZW1lbnRzIHRvIGV4aXN0aW5nIG9uZVxuICAgIGNvbnN0IGNoaWxkRWxlbWVudHMgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkRWxlbWVudHMpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2hpbGQpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fcmljaFRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21tYW5kcyA9IGNyZWF0ZVJlbmRlckNvbW1hbmRzRnJvbUNvbnRlbnRmdWxSaWNoVGV4dCh7IGRhdGE6IHRoaXMuX3JpY2hUZXh0LCBjb25maWc6IHRoaXMuX2NvbmZpZyB9KTtcblxuICAgIHRoaXMuX3JlbmRlcihjb21tYW5kcyk7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXIoY29tbWFuZHM6IFJpY2hUZXh0UmVuZGVyQ29tbWFuZFtdKSB7XG4gICAgLy8gY3JlYXRlIGEgZG9jdW1lbnQgZnJhZ21lbnQgdG8gaG9sZCB0aGUgZWxlbWVudHMgd2hpbGUgd2UgY3JlYXRlIHRoZW1cbiAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcblxuICAgIGNvbnN0IGhvc3RDb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQgPSB7XG4gICAgICBwYXlsb2FkOiAnZG9jdW1lbnQnLFxuICAgICAgY2hpbGRyZW46IGNvbW1hbmRzLFxuICAgIH07XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBob3N0Q29tbWFuZCwgcGFyZW50OiBmcmFnbWVudCB9KTtcblxuICAgIC8vIGFwcGVuZCB0aGUgZnJhZ21lbnQgdG8gdGhlIGhvc3QgZWxlbWVudFxuICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZnJhZ21lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZXhlY3V0ZUNvbW1hbmQoZGF0YTogeyBjb21tYW5kOiBSaWNoVGV4dFJlbmRlckNvbW1hbmQ7IHBhcmVudDogRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgfSkge1xuICAgIGNvbnN0IHsgY29tbWFuZCwgcGFyZW50IH0gPSBkYXRhO1xuXG4gICAgbGV0IGVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoY29tbWFuZC5wYXlsb2FkICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbW1hbmQucGF5bG9hZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoY29tbWFuZC5wYXlsb2FkKTtcblxuICAgICAgICBpZiAoY29tbWFuZC5kYXRhKSB7XG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoZWxlbWVudCwgJ2lubmVyVGV4dCcsIGNvbW1hbmQuZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tbWFuZC5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbW1hbmQuYXR0cmlidXRlcykpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCBuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFJJQ0hfVEVYVF9SRU5ERVJFUl9DT01QT05FTlRfREFUQSxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbW1hbmQuZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICAgIHBhcmVudCBhcyBFbGVtZW50LFxuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICB0aGlzLl9hcHBSZWYsXG4gICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgdGhpcy5fZG9jdW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY29tcCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29tbWFuZC5wYXlsb2FkKTtcbiAgICAgICAgY29uc3QgcmVmID0gY29tcC5hdHRhY2gocG9ydGFsKTtcblxuICAgICAgICBpZiAocmVmLmluc3RhbmNlIGluc3RhbmNlb2YgQ29udGVudGZ1bEltYWdlQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmVmLmluc3RhbmNlLnNpemVzID0gdGhpcy5fY29uZmlnLmltYWdlT3B0aW9ucy5zaXplcztcbiAgICAgICAgICByZWYuaW5zdGFuY2Uuc3Jjc2V0U2l6ZXMgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLnNyY3NldFNpemVzO1xuICAgICAgICAgIHJlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9jb25maWcuaW1hZ2VPcHRpb25zLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQgPSByZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsb29wIG92ZXIgdGhlIGNvbW1hbmRzXG4gICAgZm9yIChjb25zdCBjaGlsZENvbW1hbmQgb2YgY29tbWFuZC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoeyBjb21tYW5kOiBjaGlsZENvbW1hbmQsIHBhcmVudDogZWxlbWVudCA/PyBwYXJlbnQgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|