@pepperi-addons/ngx-composite-lib 0.4.2-beta.178 → 0.4.2-beta.179

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.
@@ -28,6 +28,7 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
28
28
  this.renderer = renderer;
29
29
  this.editorMode = false;
30
30
  this.blockTemplate = undefined;
31
+ this._renderSkeleton = false;
31
32
  this._showSkeleton = false;
32
33
  // // For show & hide skeleton
33
34
  // private _showSkeleton = false;
@@ -54,6 +55,13 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
54
55
  get layoutView() {
55
56
  return this._layoutView;
56
57
  }
58
+ set renderSkeleton(value) {
59
+ this._renderSkeleton = value;
60
+ // this.renderer.setStyle(this.skeletonContainer?.nativeElement, 'height', value ? '100%' : '0');
61
+ }
62
+ get renderSkeleton() {
63
+ return this._renderSkeleton;
64
+ }
57
65
  set showSkeleton(value) {
58
66
  this._showSkeleton = value;
59
67
  this.animateSkeleton();
@@ -138,15 +146,6 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
138
146
  this.layoutBuilderInternalService.sectionsChange$.pipe(this.getDestroyer()).subscribe((sections) => {
139
147
  this._sectionsSubject.next(sections);
140
148
  });
141
- // this.layoutBuilderInternalService.showSkeletonChange$.pipe(this.getDestroyer()).subscribe((showSkeleton: any) => {
142
- // if (showSkeleton !== undefined) {
143
- // this._showSkeleton = showSkeleton;
144
- // this.animateSkeleton();
145
- // }
146
- // });
147
- // this.layoutService.onResize$.pipe(this.getDestroyer()).subscribe((size: any) => {
148
- // this.setScreentType(size);
149
- // });
150
149
  this.layoutBuilderInternalService.screenSizeChange$.pipe(this.getDestroyer()).subscribe((size) => {
151
150
  this.setScreentType(size);
152
151
  });
@@ -198,10 +197,10 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
198
197
  }
199
198
  }
200
199
  PepLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, deps: [{ token: i1.PepLayoutBuilderComponent, optional: true }, { token: i2.LayoutBuilderInternalService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
201
- PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { editorMode: "editorMode", layoutView: "layoutView", blockTemplate: "blockTemplate", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange", screenTypeChange: "screenTypeChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, providers: [LayoutBuilderInternalService], viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.PepSkeletonLoaderComponent, selector: "pep-skeleton-loader", inputs: ["rowHeightType", "rowsNumber", "lastRowOffset"] }, { kind: "component", type: i5.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: i7.SectionComponent, selector: "section", inputs: ["blockTemplate", "key", "name", "split", "height", "collapseOnTablet", "padding", "columns", "hideIn", "columnsGap"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
200
+ PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { editorMode: "editorMode", layoutView: "layoutView", blockTemplate: "blockTemplate", renderSkeleton: "renderSkeleton", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange", screenTypeChange: "screenTypeChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, providers: [LayoutBuilderInternalService], viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div *ngIf=\"renderSkeleton\" #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.PepSkeletonLoaderComponent, selector: "pep-skeleton-loader", inputs: ["rowHeightType", "rowsNumber", "lastRowOffset"] }, { kind: "component", type: i5.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: i7.SectionComponent, selector: "section", inputs: ["blockTemplate", "key", "name", "split", "height", "collapseOnTablet", "padding", "columns", "hideIn", "columnsGap"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
202
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, decorators: [{
203
202
  type: Component,
204
- args: [{ selector: 'pep-layout', providers: [LayoutBuilderInternalService], template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"] }]
203
+ args: [{ selector: 'pep-layout', providers: [LayoutBuilderInternalService], template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div *ngIf=\"renderSkeleton\" #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"] }]
205
204
  }], ctorParameters: function () { return [{ type: i1.PepLayoutBuilderComponent, decorators: [{
206
205
  type: Optional
207
206
  }] }, { type: i2.LayoutBuilderInternalService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { skeletonContainer: [{
@@ -216,6 +215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
216
215
  type: Input
217
216
  }], blockTemplate: [{
218
217
  type: Input
218
+ }], renderSkeleton: [{
219
+ type: Input
219
220
  }], showSkeleton: [{
220
221
  type: Input
221
222
  }], layoutViewChange: [{
@@ -226,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
226
227
  type: HostBinding,
227
228
  args: ['style.padding-inline']
228
229
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThGLFNBQVMsRUFDbkYsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFLMUUsUUFBUSxFQUVJLE1BQU0sZUFBZSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBZ0UsTUFBTSx5QkFBeUIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBR2xGLDBEQUEwRDtBQUMxRCxxRUFBcUU7QUFvQnJFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBc0I7SUFxRTFELFlBRVksTUFBaUM7SUFDekMsa0ZBQWtGO0lBQ2xGLGtGQUFrRjtJQUNsRixzR0FBc0c7SUFDdEcsaUVBQWlFO0lBQ3pELDRCQUEwRCxFQUMxRCxXQUF1QixFQUN2QixRQUFtQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQVRBLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBS2pDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQTFFdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWdCbkIsa0JBQWEsR0FB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QUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7OytHQWxPUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixvVUFkaEIsQ0FBQyw0QkFBNEIsQ0FBQyxvU0N6QjdDLDZ4REF3QnVDOzJGRGUxQixrQkFBa0I7a0JBbEI5QixTQUFTOytCQUNJLFlBQVksYUFHWCxDQUFDLDRCQUE0QixDQUFDOzswQkFvRnBDLFFBQVE7d0lBckVnQyxpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbEMsVUFBVTtzQkFBbEIsS0FBSztnQkFJRixVQUFVO3NCQURiLEtBQUs7Z0JBYUcsYUFBYTtzQkFBckIsS0FBSztnQkFJRixZQUFZO3NCQURmLEtBQUs7Z0JBWUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFvQkcsYUFBYTtzQkFEdEIsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgQ29udGVudENoaWxkcmVuLFxuICAgIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIEhvc3RCaW5kaW5nLCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBcbiAgICBPbkRlc3Ryb3ksXG4gICAgSG9zdCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIE9wdGlvbmFsLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RGbGFnc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0VuZCwgQ2RrRHJhZ0VudGVyLCBDZGtEcmFnRXhpdCwgQ2RrRHJhZ1N0YXJ0LCBDZGtEcm9wTGlzdCwgRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUsIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLCBQZXBMYXlvdXRTZXJ2aWNlLCBQZXBTY3JlZW5TaXplVHlwZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVZpZXdTY3JlZW5TaXplIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL3BhcGktc2RrJztcbmltcG9ydCB7IElQZXBMYXlvdXRTZWN0aW9uLCBJUGVwTGF5b3V0VmlldywgUGVwTGF5b3V0U2l6ZVR5cGUgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5pbXBvcnQgeyBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXItaW50ZXJuYWwuc2VydmljZSc7XG4vLyBpbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwTGF5b3V0QnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLmNvbXBvbmVudCc7XG4vLyBpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG4vLyBpbXBvcnQgeyBQZXBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlXSxcbiAgICAvLyBwcm92aWRlcnM6IFtcbiAgICAvLyAgICAge1xuICAgIC8vICAgICAgIHByb3ZpZGU6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgLy8gICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgIC8vICAgICAgICAgY29uc3QgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSA9IGluamVjdChMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLCBJbmplY3RGbGFncy5PcHRpb25hbCAmIEluamVjdEZsYWdzLlNraXBTZWxmICk7XG4gICAgLy8gICAgICAgICByZXR1cm4gbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSB8fCBuZXcgTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZShpbmplY3QoVHJhbnNsYXRlU2VydmljZSksIGluamVjdChQZXBEaWFsb2dTZXJ2aWNlKSwgaW5qZWN0KFBlcExheW91dFNlcnZpY2UpKTtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgLy8gICB1c2VGYWN0b3J5OiAobG9nZ2VyOiBMb2dnZXIsIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgPT5cbiAgICAvLyAgICAgLy8gICAgIG5ldyBTZWNyZXRNZXNzYWdlU2VydmljZShsb2dnZXIsIGF1dGhTZXJ2aWNlLmlzQXV0aG9yaXplZClcbiAgICAvLyAgICAgLy8gfVxuICAgIC8vICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ3NrZWxldG9uQ29udCcsIHsgc3RhdGljOiB0cnVlIH0pIHNrZWxldG9uQ29udGFpbmVyITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uc0NvbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZWN0aW9uc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBlZGl0b3JNb2RlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9sYXlvdXRWaWV3ITogSVBlcExheW91dFZpZXc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0Vmlldyh2YWx1ZTogSVBlcExheW91dFZpZXcpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0VmlldyA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmxheW91dFZpZXcpIHtcbiAgICAgICAgICAgIC8vIExvYWQgdGhlIGxheW91dCBidWlsZGVyXG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UubG9hZExheW91dEJ1aWxkZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBsYXlvdXRWaWV3KCk6IElQZXBMYXlvdXRWaWV3IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dFZpZXc7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYmxvY2tUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIHByaXZhdGUgX3Nob3dTa2VsZXRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3dTa2VsZXRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93U2tlbGV0b24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5hbmltYXRlU2tlbGV0b24oKTtcbiAgICB9XG4gICAgZ2V0IHNob3dTa2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dTa2VsZXRvbjtcbiAgICB9XG4gICAgXG4gICAgLy8gLy8gRm9yIHNob3cgJiBoaWRlIHNrZWxldG9uXG4gICAgLy8gcHJpdmF0ZSBfc2hvd1NrZWxldG9uID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgbGF5b3V0Vmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBMYXlvdXRWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgc2NyZWVuVHlwZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGFWaWV3U2NyZWVuU2l6ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9ob3Jpem9udGFsU3BhY2luZzogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQgPSAnbWQnO1xuICAgIHNldCBob3Jpem9udGFsU3BhY2luZyh2YWx1ZTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5faG9yaXpvbnRhbFNwYWNpbmcgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5wYWRkaW5nSW5saW5lID0gdGhpcy5jb252ZXJ0TGF5b3V0U2l6ZVR5cGUodmFsdWUgfHwgJ21kJyk7XG4gICAgfVxuICAgIGdldCBob3Jpem9udGFsU3BhY2luZygpOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsU3BhY2luZztcbiAgICB9XG5cbiAgICBwcml2YXRlIF92ZXJ0aWNhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkID0gJ21kJztcbiAgICBzZXQgdmVydGljYWxTcGFjaW5nKHZhbHVlOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl92ZXJ0aWNhbFNwYWNpbmcgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHZlcnRpY2FsU3BhY2luZygpOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbFNwYWNpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wYWRkaW5nLWlubGluZScpXG4gICAgcHJvdGVjdGVkIHBhZGRpbmdJbmxpbmUgPSAnMXJlbSc7XG4gICAgXG4gICAgcHJvdGVjdGVkIHNlY3Rpb25zR2FwITogUGVwTGF5b3V0U2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIGNvbHVtbnNHYXAhOiBQZXBMYXlvdXRTaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgcHJldmlld01vZGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX3NlY3Rpb25zU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PElQZXBMYXlvdXRTZWN0aW9uW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUGVwTGF5b3V0U2VjdGlvbltdPihbXSk7XG4gICAgcHJvdGVjdGVkIGdldCBzZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxJUGVwTGF5b3V0U2VjdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWN0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkU2NyZWVuVHlwZSE6IERhdGFWaWV3U2NyZWVuU2l6ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIHBhcmVudDogUGVwTGF5b3V0QnVpbGRlckNvbXBvbmVudCxcbiAgICAgICAgLy8gQEhvc3QoKSBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2VIb3N0OiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICAvLyBAU2VsZigpIHByaXZhdGUgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZVNlbGY6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIC8vIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHByaXZhdGUgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZVNraXBTZWxmOiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICAvLyBsaW1pdCB0byB0aGUgaG9zdCBjb21wb25lbnQncyBpbnN0YW5jZSBvZiB0aGUgSGVyb0NhY2hlU2VydmljZVxuICAgICAgICBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvLyBTZXQgdGhlIHNlcnZpY2UgaW4gdGhlIGxheW91dCBidWlsZGVyIGNvbXBvbmVudCBpZiBleGlzdHMuIFxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBwYXJlbnQubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAncGVwLWxheW91dCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydExheW91dFNpemVUeXBlKHNpemU6IFBlcExheW91dFNpemVUeXBlIHwgJ25vbmUnKSB7XG4gICAgICAgIGxldCByZXM7XG5cbiAgICAgICAgaWYgKHNpemUgPT09ICdsZycpIHtcbiAgICAgICAgICAgIHJlcyA9ICcycmVtJztcbiAgICAgICAgfSBlbHNlIGlmIChzaXplID09PSAnbWQnKSB7XG4gICAgICAgICAgICByZXMgPSAnMXJlbSc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2l6ZSA9PT0gJ3NtJykge1xuICAgICAgICAgICAgcmVzID0gJzAuNXJlbSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXMgPSAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYW5pbWF0ZVNrZWxldG9uKCkge1xuICAgICAgICBpZiAodGhpcy5fc2hvd1NrZWxldG9uKSB7XG4gICAgICAgICAgICAvLyB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdvdXQnKTtcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2luJyk7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdpbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnb3V0Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdpbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnb3V0Jyk7XG4gICAgICAgICAgICAvLyB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdvdXQnKTtcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2luJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExheW91dERhdGFQcm9wZXJ0aWVzKCkge1xuICAgICAgICBjb25zdCBsYXlvdXRWaWV3ID0gdGhpcy5fbGF5b3V0VmlldztcblxuICAgICAgICBpZiAobGF5b3V0Vmlldykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhXaWR0aCA9IGNvZXJjZU51bWJlclByb3BlcnR5KGxheW91dFZpZXcuTGF5b3V0Lk1heFdpZHRoLCAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhXaWR0aFRvU2V0ID0gbWF4V2lkdGggPT09IDAgPyAndW5zZXQnIDogYCR7bWF4V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWN0aW9uc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAnbWF4LXdpZHRoJywgbWF4V2lkdGhUb1NldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNHYXAgPSBsYXlvdXRWaWV3LkxheW91dC5TZWN0aW9uc0dhcCB8fCAnbWQnO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0gbGF5b3V0Vmlldy5MYXlvdXQuQ29sdW1uc0dhcCB8fCAnbWQnO1xuXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTcGFjaW5nID0gbGF5b3V0Vmlldy5MYXlvdXQuSG9yaXpvbnRhbFNwYWNpbmc7XG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsU3BhY2luZyA9IGxheW91dFZpZXcuTGF5b3V0LlZlcnRpY2FsU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVudFR5cGUoc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUpIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuVHlwZSA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTY3JlZW5UeXBlKHNjcmVlblNpemUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2NyZWVuVHlwZSA9IHNjcmVlblR5cGU7XG4gICAgICAgIHRoaXMuc2NyZWVuVHlwZUNoYW5nZS5lbWl0KHNjcmVlblR5cGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbCBFdmVudHMgLSBmb3IgY29kZSB1c2FnZVxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgocHJldmlld01vZGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUgPSBwcmV2aWV3TW9kZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNlY3Rpb25zQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VjdGlvbnNTdWJqZWN0Lm5leHQoc2VjdGlvbnMpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2hvd1NrZWxldG9uQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2hvd1NrZWxldG9uOiBhbnkpID0+IHtcbiAgICAgICAgLy8gICAgIGlmIChzaG93U2tlbGV0b24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyAgICAgICAgIHRoaXMuX3Nob3dTa2VsZXRvbiA9IHNob3dTa2VsZXRvbjtcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmFuaW1hdGVTa2VsZXRvbigpO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9KTtcblxuICAgICAgICAvLyB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaXplOiBhbnkpID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMuc2V0U2NyZWVudFR5cGUoc2l6ZSk7XG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5zY3JlZW5TaXplQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2l6ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFNjcmVlbnRUeXBlKHNpemUpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBFdmVudHMgLSBmb3IgcmFpc2UgdG8gdGhlIGNsaWVudFxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmxheW91dFZpZXdDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChsYXlvdXRWaWV3OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xheW91dFZpZXcgPSBsYXlvdXRWaWV3O1xuICAgICAgICAgICAgdGhpcy5zZXRMYXlvdXREYXRhUHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRWaWV3Q2hhbmdlLmVtaXQodGhpcy5fbGF5b3V0Vmlldyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICAvLyB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnJlbW92ZUludGVybmFsU2VydmljZSh0aGlzLmxheW91dFZpZXc/LktleSk7XG4gICAgfVxuXG4gICAgZ2V0U2VjdGlvbnNUZW1wbGF0ZVJvd3MoKSB7XG4gICAgICAgIGxldCBncmlkQXV0b1Jvd3MgPSAnJztcbiAgICAgICAgLy8gbGV0IGZpbGxIZWlnaHRDb3VudCA9IDA7XG4gICAgICAgIHRoaXMuc2VjdGlvbnMkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzZWN0aW9uczogYW55KSA9PiB7ICAgIFxuICAgICAgICAgICAgaWYgKHNlY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzZWN0aW9ucy5mb3JFYWNoKChzZWM6IElQZXBMYXlvdXRTZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmKHNlYy5GaWxsSGVpZ2h0ID09PSB0cnVlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZpbGxIZWlnaHRDb3VudCsrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZEF1dG9Sb3dzICs9ICcgYXV0byc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkQXV0b1Jvd3MgKz0gJyBtaW4tY29udGVudCc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvL2lmIGFsbCBhcmUgZmlsbCBoZWlnaHQgc2hvdWxkIHJldHVybiAxZnIgZm9yIGFsbFxuICAgICAgICAgICAgICAgIC8vaWYgbm90IHNob3VsZCByZXR1cm4gYXV0byBmb3IgZmlsbCBoZWlnaHQgYW5kIG1pbiBjb250ZW50IGZvciBub25lXG4gICAgICAgICAgICAgICAgcmV0dXJuIGdyaWRBdXRvUm93cztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZ3JpZEF1dG9Sb3dzO1xuICAgIH1cblxuICAgIG9uU2VjdGlvbkRyb3BwZWQoZXZlbnQ6IENka0RyYWdEcm9wPGFueVtdPikge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uub25TZWN0aW9uRHJvcHBlZChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnU3RhcnQoZXZlbnQ6IENka0RyYWdTdGFydCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uub25TZWN0aW9uRHJhZ1N0YXJ0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRyYWdFbmQoZXZlbnQ6IENka0RyYWdFbmQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyYWdFbmQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjwhLS0gRm9yIHRoZSB0b3Agc3BhY2luZyAtLT5cbjxkaXYgY2xhc3M9XCJ0b3Atc3BhY2luZyBzcGFjaW5nLXt7dmVydGljYWxTcGFjaW5nfX1cIiA+PC9kaXY+XG48ZGl2ICNzZWN0aW9uc0NvbnQgY2RrRHJvcExpc3RHcm91cCBjbGFzcz1cInNlY3Rpb25zLWNvbnRhaW5lciBnYXAte3sgc2VjdGlvbnNHYXAgfX1cIiBbbmdDbGFzc109XCJ7J3ByZXZpZXctc3RhdGUnOiBwcmV2aWV3TW9kZSB9XCIgIFxuICAgIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25TZWN0aW9uRHJvcHBlZCgkZXZlbnQpXCIgW25nU3R5bGVdPVwieydncmlkLWF1dG8tcm93cyc6IGdldFNlY3Rpb25zVGVtcGxhdGVSb3dzKCl9XCJcbiAgICA+XG4gICAgPHNlY3Rpb24gKm5nRm9yPVwibGV0IHNlY3Rpb24gb2Ygc2VjdGlvbnMkIHwgYXN5bmM7IGxldCBpPWluZGV4O1wiIFxuICAgICAgICBjbGFzcz1cImRyYWdnYWJsZS1zZWN0aW9uIFwiIFtuZ0NsYXNzXT1cInNlbGVjdGVkU2NyZWVuVHlwZSA9PT0gJ1BoYWJsZXQnID8gJ21hcmdpbi0nK3NlY3Rpb25zR2FwIDogJydcIiBbYmxvY2tUZW1wbGF0ZV09XCJibG9ja1RlbXBsYXRlXCJcbiAgICAgICAgW2tleV09XCJzZWN0aW9uLktleVwiIFtuYW1lXT1cInNlY3Rpb24uTmFtZSB8fCAoJ0xBWU9VVF9CVUlMREVSLlNFQ1RJT04nIHwgdHJhbnNsYXRlKSArICcgJyArIChpKzEpXCIgW3NwbGl0XT1cInNlY3Rpb24uU3BsaXRcIiBbaGVpZ2h0XT1cInNlY3Rpb24uSGVpZ2h0XCJcbiAgICAgICAgW2NvbHVtbnNdPVwic2VjdGlvbi5Db2x1bW5zXCIgW3BhZGRpbmddPVwic2VjdGlvbi5QYWRkaW5nXCIgW2NvbGxhcHNlT25UYWJsZXRdPVwic2VjdGlvbi5Db2xsYXBzZU9uVGFibGV0IHx8IGZhbHNlXCIgW2hpZGVJbl09XCJzZWN0aW9uLkhpZGUgfHwgW11cIiBbY29sdW1uc0dhcF09XCJjb2x1bW5zR2FwXCJcbiAgICAgICAgPlxuICAgIDwvc2VjdGlvbj5cbjwvZGl2PlxuPGRpdiAjc2tlbGV0b25Db250IGNsYXNzPVwic2tlbGV0b24tY29udGFpbmVyIFwiPlxuICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJ4bFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG4gICAgPGRpdiBjbGFzcz1cInNwbGl0LXNrZWxldG9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwibWF4XCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cIm1heFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG4gICAgPC9kaXY+XG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cInhsXCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cblxuICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJtYXhcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuPC9kaXY+XG48IS0tIEZvciB0aGUgYm90dG9tIHNwYWNpbmcgLS0+XG48ZGl2IGNsYXNzPVwiYm90dG9tLXNwYWNpbmcgc3BhY2luZy17e3ZlcnRpY2FsU3BhY2luZ319XCI+PC9kaXY+XG48cGVwLXNpemUtZGV0ZWN0b3I+PC9wZXAtc2l6ZS1kZXRlY3Rvcj4iXX0=
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThGLFNBQVMsRUFDbkYsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFLMUUsUUFBUSxFQUVJLE1BQU0sZUFBZSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBZ0UsTUFBTSx5QkFBeUIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBR2xGLDBEQUEwRDtBQUMxRCxxRUFBcUU7QUFvQnJFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBc0I7SUErRTFELFlBRVksTUFBaUM7SUFDekMsa0ZBQWtGO0lBQ2xGLGtGQUFrRjtJQUNsRixzR0FBc0c7SUFDdEcsaUVBQWlFO0lBQ3pELDRCQUEwRCxFQUMxRCxXQUF1QixFQUN2QixRQUFtQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQVRBLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBS2pDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXBGdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWdCbkIsa0JBQWEsR0FB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QUMsS0FBeUI7UUFDdEMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7OytHQWpPUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzV0FkaEIsQ0FBQyw0QkFBNEIsQ0FBQyxvU0N6QjdDLHN6REF3QnVDOzJGRGUxQixrQkFBa0I7a0JBbEI5QixTQUFTOytCQUNJLFlBQVksYUFHWCxDQUFDLDRCQUE0QixDQUFDOzswQkE4RnBDLFFBQVE7d0lBL0VnQyxpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbEMsVUFBVTtzQkFBbEIsS0FBSztnQkFJRixVQUFVO3NCQURiLEtBQUs7Z0JBYUcsYUFBYTtzQkFBckIsS0FBSztnQkFJRixjQUFjO3NCQURqQixLQUFLO2dCQVdGLFlBQVk7c0JBRGYsS0FBSztnQkFZSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQW9CRyxhQUFhO3NCQUR0QixXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBDb250ZW50Q2hpbGRyZW4sXG4gICAgT25Jbml0LCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSG9zdEJpbmRpbmcsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFxuICAgIE9uRGVzdHJveSxcbiAgICBIb3N0LFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgT3B0aW9uYWwsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdEZsYWdzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnRW5kLCBDZGtEcmFnRW50ZXIsIENka0RyYWdFeGl0LCBDZGtEcmFnU3RhcnQsIENka0Ryb3BMaXN0LCBEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSwgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsIFBlcExheW91dFNlcnZpY2UsIFBlcFNjcmVlblNpemVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhVmlld1NjcmVlblNpemUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgSVBlcExheW91dFNlY3Rpb24sIElQZXBMYXlvdXRWaWV3LCBQZXBMYXlvdXRTaXplVHlwZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLm1vZGVsJztcbmltcG9ydCB7IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci1pbnRlcm5hbC5zZXJ2aWNlJztcbi8vIGltcG9ydCB7IFBlcExheW91dEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXIuY29tcG9uZW50Jztcbi8vIGltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbi8vIGltcG9ydCB7IFBlcERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW0xheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2VdLFxuICAgIC8vIHByb3ZpZGVyczogW1xuICAgIC8vICAgICB7XG4gICAgLy8gICAgICAgcHJvdmlkZTogTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSxcbiAgICAvLyAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgLy8gICAgICAgICBjb25zdCBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlID0gaW5qZWN0KExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsIEluamVjdEZsYWdzLk9wdGlvbmFsICYgSW5qZWN0RmxhZ3MuU2tpcFNlbGYgKTtcbiAgICAvLyAgICAgICAgIHJldHVybiBsYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlIHx8IG5ldyBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlKGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKSwgaW5qZWN0KFBlcERpYWxvZ1NlcnZpY2UpLCBpbmplY3QoUGVwTGF5b3V0U2VydmljZSkpO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgICAvLyAgIHVzZUZhY3Rvcnk6IChsb2dnZXI6IExvZ2dlciwgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSA9PlxuICAgIC8vICAgICAvLyAgICAgbmV3IFNlY3JldE1lc3NhZ2VTZXJ2aWNlKGxvZ2dlciwgYXV0aFNlcnZpY2UuaXNBdXRob3JpemVkKVxuICAgIC8vICAgICAvLyB9XG4gICAgLy8gICBdXG59KVxuZXhwb3J0IGNsYXNzIFBlcExheW91dENvbXBvbmVudCBleHRlbmRzIEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnc2tlbGV0b25Db250JywgeyBzdGF0aWM6IHRydWUgfSkgc2tlbGV0b25Db250YWluZXIhOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25zQ29udCcsIHsgc3RhdGljOiB0cnVlIH0pIHNlY3Rpb25zQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIGVkaXRvck1vZGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2xheW91dFZpZXchOiBJUGVwTGF5b3V0VmlldztcbiAgICBASW5wdXQoKVxuICAgIHNldCBsYXlvdXRWaWV3KHZhbHVlOiBJUGVwTGF5b3V0Vmlldykge1xuICAgICAgICB0aGlzLl9sYXlvdXRWaWV3ID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMubGF5b3V0Vmlldykge1xuICAgICAgICAgICAgLy8gTG9hZCB0aGUgbGF5b3V0IGJ1aWxkZXJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5sb2FkTGF5b3V0QnVpbGRlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGxheW91dFZpZXcoKTogSVBlcExheW91dFZpZXcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0VmlldztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBibG9ja1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgcHJpdmF0ZSBfcmVuZGVyU2tlbGV0b24gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHNldCByZW5kZXJTa2VsZXRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZW5kZXJTa2VsZXRvbiA9IHZhbHVlO1xuICAgICAgICAvLyB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCB2YWx1ZSA/ICcxMDAlJyA6ICcwJyk7XG4gICAgfVxuICAgIGdldCByZW5kZXJTa2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlclNrZWxldG9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Nob3dTa2VsZXRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3dTa2VsZXRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93U2tlbGV0b24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5hbmltYXRlU2tlbGV0b24oKTtcbiAgICB9XG4gICAgZ2V0IHNob3dTa2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dTa2VsZXRvbjtcbiAgICB9XG4gICAgXG4gICAgLy8gLy8gRm9yIHNob3cgJiBoaWRlIHNrZWxldG9uXG4gICAgLy8gcHJpdmF0ZSBfc2hvd1NrZWxldG9uID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgbGF5b3V0Vmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBMYXlvdXRWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgc2NyZWVuVHlwZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGFWaWV3U2NyZWVuU2l6ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9ob3Jpem9udGFsU3BhY2luZzogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQgPSAnbWQnO1xuICAgIHNldCBob3Jpem9udGFsU3BhY2luZyh2YWx1ZTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5faG9yaXpvbnRhbFNwYWNpbmcgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5wYWRkaW5nSW5saW5lID0gdGhpcy5jb252ZXJ0TGF5b3V0U2l6ZVR5cGUodmFsdWUgfHwgJ21kJyk7XG4gICAgfVxuICAgIGdldCBob3Jpem9udGFsU3BhY2luZygpOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsU3BhY2luZztcbiAgICB9XG5cbiAgICBwcml2YXRlIF92ZXJ0aWNhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkID0gJ21kJztcbiAgICBzZXQgdmVydGljYWxTcGFjaW5nKHZhbHVlOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl92ZXJ0aWNhbFNwYWNpbmcgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHZlcnRpY2FsU3BhY2luZygpOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbFNwYWNpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wYWRkaW5nLWlubGluZScpXG4gICAgcHJvdGVjdGVkIHBhZGRpbmdJbmxpbmUgPSAnMXJlbSc7XG4gICAgXG4gICAgcHJvdGVjdGVkIHNlY3Rpb25zR2FwITogUGVwTGF5b3V0U2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIGNvbHVtbnNHYXAhOiBQZXBMYXlvdXRTaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgcHJldmlld01vZGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX3NlY3Rpb25zU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PElQZXBMYXlvdXRTZWN0aW9uW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUGVwTGF5b3V0U2VjdGlvbltdPihbXSk7XG4gICAgcHJvdGVjdGVkIGdldCBzZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxJUGVwTGF5b3V0U2VjdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWN0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkU2NyZWVuVHlwZSE6IERhdGFWaWV3U2NyZWVuU2l6ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIHBhcmVudDogUGVwTGF5b3V0QnVpbGRlckNvbXBvbmVudCxcbiAgICAgICAgLy8gQEhvc3QoKSBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2VIb3N0OiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICAvLyBAU2VsZigpIHByaXZhdGUgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZVNlbGY6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIC8vIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHByaXZhdGUgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZVNraXBTZWxmOiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICAvLyBsaW1pdCB0byB0aGUgaG9zdCBjb21wb25lbnQncyBpbnN0YW5jZSBvZiB0aGUgSGVyb0NhY2hlU2VydmljZVxuICAgICAgICBwcml2YXRlIGxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2U6IExheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvLyBTZXQgdGhlIHNlcnZpY2UgaW4gdGhlIGxheW91dCBidWlsZGVyIGNvbXBvbmVudCBpZiBleGlzdHMuIFxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBwYXJlbnQubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAncGVwLWxheW91dCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydExheW91dFNpemVUeXBlKHNpemU6IFBlcExheW91dFNpemVUeXBlIHwgJ25vbmUnKSB7XG4gICAgICAgIGxldCByZXM7XG5cbiAgICAgICAgaWYgKHNpemUgPT09ICdsZycpIHtcbiAgICAgICAgICAgIHJlcyA9ICcycmVtJztcbiAgICAgICAgfSBlbHNlIGlmIChzaXplID09PSAnbWQnKSB7XG4gICAgICAgICAgICByZXMgPSAnMXJlbSc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2l6ZSA9PT0gJ3NtJykge1xuICAgICAgICAgICAgcmVzID0gJzAuNXJlbSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXMgPSAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYW5pbWF0ZVNrZWxldG9uKCkge1xuICAgICAgICBpZiAodGhpcy5fc2hvd1NrZWxldG9uKSB7XG4gICAgICAgICAgICAvLyB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdvdXQnKTtcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2luJyk7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdpbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnb3V0Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdpbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnb3V0Jyk7XG4gICAgICAgICAgICAvLyB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdvdXQnKTtcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2luJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExheW91dERhdGFQcm9wZXJ0aWVzKCkge1xuICAgICAgICBjb25zdCBsYXlvdXRWaWV3ID0gdGhpcy5fbGF5b3V0VmlldztcblxuICAgICAgICBpZiAobGF5b3V0Vmlldykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhXaWR0aCA9IGNvZXJjZU51bWJlclByb3BlcnR5KGxheW91dFZpZXcuTGF5b3V0Lk1heFdpZHRoLCAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhXaWR0aFRvU2V0ID0gbWF4V2lkdGggPT09IDAgPyAndW5zZXQnIDogYCR7bWF4V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWN0aW9uc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAnbWF4LXdpZHRoJywgbWF4V2lkdGhUb1NldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNHYXAgPSBsYXlvdXRWaWV3LkxheW91dC5TZWN0aW9uc0dhcCB8fCAnbWQnO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0gbGF5b3V0Vmlldy5MYXlvdXQuQ29sdW1uc0dhcCB8fCAnbWQnO1xuXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTcGFjaW5nID0gbGF5b3V0Vmlldy5MYXlvdXQuSG9yaXpvbnRhbFNwYWNpbmc7XG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsU3BhY2luZyA9IGxheW91dFZpZXcuTGF5b3V0LlZlcnRpY2FsU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVudFR5cGUoc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUpIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuVHlwZSA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTY3JlZW5UeXBlKHNjcmVlblNpemUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2NyZWVuVHlwZSA9IHNjcmVlblR5cGU7XG4gICAgICAgIHRoaXMuc2NyZWVuVHlwZUNoYW5nZS5lbWl0KHNjcmVlblR5cGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbCBFdmVudHMgLSBmb3IgY29kZSB1c2FnZVxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgocHJldmlld01vZGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUgPSBwcmV2aWV3TW9kZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNlY3Rpb25zQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VjdGlvbnNTdWJqZWN0Lm5leHQoc2VjdGlvbnMpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2NyZWVuU2l6ZUNoYW5nZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNpemU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTY3JlZW50VHlwZShzaXplKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWwgRXZlbnRzIC0gZm9yIHJhaXNlIHRvIHRoZSBjbGllbnRcbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5sYXlvdXRWaWV3Q2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgobGF5b3V0VmlldzogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sYXlvdXRWaWV3ID0gbGF5b3V0VmlldztcbiAgICAgICAgICAgIHRoaXMuc2V0TGF5b3V0RGF0YVByb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Vmlld0NoYW5nZS5lbWl0KHRoaXMuX2xheW91dFZpZXcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgLy8gdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5yZW1vdmVJbnRlcm5hbFNlcnZpY2UodGhpcy5sYXlvdXRWaWV3Py5LZXkpO1xuICAgIH1cblxuICAgIGdldFNlY3Rpb25zVGVtcGxhdGVSb3dzKCkge1xuICAgICAgICBsZXQgZ3JpZEF1dG9Sb3dzID0gJyc7XG4gICAgICAgIC8vIGxldCBmaWxsSGVpZ2h0Q291bnQgPSAwO1xuICAgICAgICB0aGlzLnNlY3Rpb25zJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4geyAgICBcbiAgICAgICAgICAgIGlmIChzZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjOiBJUGVwTGF5b3V0U2VjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZihzZWMuRmlsbEhlaWdodCA9PT0gdHJ1ZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWxsSGVpZ2h0Q291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRBdXRvUm93cyArPSAnIGF1dG8nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZEF1dG9Sb3dzICs9ICcgbWluLWNvbnRlbnQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy9pZiBhbGwgYXJlIGZpbGwgaGVpZ2h0IHNob3VsZCByZXR1cm4gMWZyIGZvciBhbGxcbiAgICAgICAgICAgICAgICAvL2lmIG5vdCBzaG91bGQgcmV0dXJuIGF1dG8gZm9yIGZpbGwgaGVpZ2h0IGFuZCBtaW4gY29udGVudCBmb3Igbm9uZVxuICAgICAgICAgICAgICAgIHJldHVybiBncmlkQXV0b1Jvd3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGdyaWRBdXRvUm93cztcbiAgICB9XG5cbiAgICBvblNlY3Rpb25Ecm9wcGVkKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXT4pIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyb3BwZWQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5vblNlY3Rpb25EcmFnRW5kKGV2ZW50KTtcbiAgICB9XG59XG4iLCI8IS0tIEZvciB0aGUgdG9wIHNwYWNpbmcgLS0+XG48ZGl2IGNsYXNzPVwidG9wLXNwYWNpbmcgc3BhY2luZy17e3ZlcnRpY2FsU3BhY2luZ319XCIgPjwvZGl2PlxuPGRpdiAjc2VjdGlvbnNDb250IGNka0Ryb3BMaXN0R3JvdXAgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXIgZ2FwLXt7IHNlY3Rpb25zR2FwIH19XCIgW25nQ2xhc3NdPVwieydwcmV2aWV3LXN0YXRlJzogcHJldmlld01vZGUgfVwiICBcbiAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uU2VjdGlvbkRyb3BwZWQoJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInsnZ3JpZC1hdXRvLXJvd3MnOiBnZXRTZWN0aW9uc1RlbXBsYXRlUm93cygpfVwiXG4gICAgPlxuICAgIDxzZWN0aW9uICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zJCB8IGFzeW5jOyBsZXQgaT1pbmRleDtcIiBcbiAgICAgICAgY2xhc3M9XCJkcmFnZ2FibGUtc2VjdGlvbiBcIiBbbmdDbGFzc109XCJzZWxlY3RlZFNjcmVlblR5cGUgPT09ICdQaGFibGV0JyA/ICdtYXJnaW4tJytzZWN0aW9uc0dhcCA6ICcnXCIgW2Jsb2NrVGVtcGxhdGVdPVwiYmxvY2tUZW1wbGF0ZVwiXG4gICAgICAgIFtrZXldPVwic2VjdGlvbi5LZXlcIiBbbmFtZV09XCJzZWN0aW9uLk5hbWUgfHwgKCdMQVlPVVRfQlVJTERFUi5TRUNUSU9OJyB8IHRyYW5zbGF0ZSkgKyAnICcgKyAoaSsxKVwiIFtzcGxpdF09XCJzZWN0aW9uLlNwbGl0XCIgW2hlaWdodF09XCJzZWN0aW9uLkhlaWdodFwiXG4gICAgICAgIFtjb2x1bW5zXT1cInNlY3Rpb24uQ29sdW1uc1wiIFtwYWRkaW5nXT1cInNlY3Rpb24uUGFkZGluZ1wiIFtjb2xsYXBzZU9uVGFibGV0XT1cInNlY3Rpb24uQ29sbGFwc2VPblRhYmxldCB8fCBmYWxzZVwiIFtoaWRlSW5dPVwic2VjdGlvbi5IaWRlIHx8IFtdXCIgW2NvbHVtbnNHYXBdPVwiY29sdW1uc0dhcFwiXG4gICAgICAgID5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJyZW5kZXJTa2VsZXRvblwiICNza2VsZXRvbkNvbnQgY2xhc3M9XCJza2VsZXRvbi1jb250YWluZXIgXCI+XG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cInhsXCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwic3BsaXQtc2tlbGV0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJtYXhcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwibWF4XCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwieGxcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cIm1heFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG48L2Rpdj5cbjwhLS0gRm9yIHRoZSBib3R0b20gc3BhY2luZyAtLT5cbjxkaXYgY2xhc3M9XCJib3R0b20tc3BhY2luZyBzcGFjaW5nLXt7dmVydGljYWxTcGFjaW5nfX1cIj48L2Rpdj5cbjxwZXAtc2l6ZS1kZXRlY3Rvcj48L3BlcC1zaXplLWRldGVjdG9yPiJdfQ==
@@ -1909,6 +1909,7 @@ class PepLayoutComponent extends BaseDestroyerDirective {
1909
1909
  this.renderer = renderer;
1910
1910
  this.editorMode = false;
1911
1911
  this.blockTemplate = undefined;
1912
+ this._renderSkeleton = false;
1912
1913
  this._showSkeleton = false;
1913
1914
  // // For show & hide skeleton
1914
1915
  // private _showSkeleton = false;
@@ -1935,6 +1936,13 @@ class PepLayoutComponent extends BaseDestroyerDirective {
1935
1936
  get layoutView() {
1936
1937
  return this._layoutView;
1937
1938
  }
1939
+ set renderSkeleton(value) {
1940
+ this._renderSkeleton = value;
1941
+ // this.renderer.setStyle(this.skeletonContainer?.nativeElement, 'height', value ? '100%' : '0');
1942
+ }
1943
+ get renderSkeleton() {
1944
+ return this._renderSkeleton;
1945
+ }
1938
1946
  set showSkeleton(value) {
1939
1947
  this._showSkeleton = value;
1940
1948
  this.animateSkeleton();
@@ -2021,15 +2029,6 @@ class PepLayoutComponent extends BaseDestroyerDirective {
2021
2029
  this.layoutBuilderInternalService.sectionsChange$.pipe(this.getDestroyer()).subscribe((sections) => {
2022
2030
  this._sectionsSubject.next(sections);
2023
2031
  });
2024
- // this.layoutBuilderInternalService.showSkeletonChange$.pipe(this.getDestroyer()).subscribe((showSkeleton: any) => {
2025
- // if (showSkeleton !== undefined) {
2026
- // this._showSkeleton = showSkeleton;
2027
- // this.animateSkeleton();
2028
- // }
2029
- // });
2030
- // this.layoutService.onResize$.pipe(this.getDestroyer()).subscribe((size: any) => {
2031
- // this.setScreentType(size);
2032
- // });
2033
2032
  this.layoutBuilderInternalService.screenSizeChange$.pipe(this.getDestroyer()).subscribe((size) => {
2034
2033
  this.setScreentType(size);
2035
2034
  });
@@ -2081,10 +2080,10 @@ class PepLayoutComponent extends BaseDestroyerDirective {
2081
2080
  }
2082
2081
  }
2083
2082
  PepLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, deps: [{ token: PepLayoutBuilderComponent, optional: true }, { token: LayoutBuilderInternalService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2084
- PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { editorMode: "editorMode", layoutView: "layoutView", blockTemplate: "blockTemplate", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange", screenTypeChange: "screenTypeChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, providers: [LayoutBuilderInternalService], viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4$5.PepSkeletonLoaderComponent, selector: "pep-skeleton-loader", inputs: ["rowHeightType", "rowsNumber", "lastRowOffset"] }, { kind: "component", type: i5$4.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }, { kind: "directive", type: i3$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: SectionComponent, selector: "section", inputs: ["blockTemplate", "key", "name", "split", "height", "collapseOnTablet", "padding", "columns", "hideIn", "columnsGap"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2083
+ PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { editorMode: "editorMode", layoutView: "layoutView", blockTemplate: "blockTemplate", renderSkeleton: "renderSkeleton", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange", screenTypeChange: "screenTypeChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, providers: [LayoutBuilderInternalService], viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div *ngIf=\"renderSkeleton\" #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4$5.PepSkeletonLoaderComponent, selector: "pep-skeleton-loader", inputs: ["rowHeightType", "rowsNumber", "lastRowOffset"] }, { kind: "component", type: i5$4.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }, { kind: "directive", type: i3$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: SectionComponent, selector: "section", inputs: ["blockTemplate", "key", "name", "split", "height", "collapseOnTablet", "padding", "columns", "hideIn", "columnsGap"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2085
2084
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, decorators: [{
2086
2085
  type: Component,
2087
- args: [{ selector: 'pep-layout', providers: [LayoutBuilderInternalService], template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"] }]
2086
+ args: [{ selector: 'pep-layout', providers: [LayoutBuilderInternalService], template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [padding]=\"section.Padding\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div *ngIf=\"renderSkeleton\" #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"] }]
2088
2087
  }], ctorParameters: function () {
2089
2088
  return [{ type: PepLayoutBuilderComponent, decorators: [{
2090
2089
  type: Optional
@@ -2101,6 +2100,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
2101
2100
  type: Input
2102
2101
  }], blockTemplate: [{
2103
2102
  type: Input
2103
+ }], renderSkeleton: [{
2104
+ type: Input
2104
2105
  }], showSkeleton: [{
2105
2106
  type: Input
2106
2107
  }], layoutViewChange: [{