@pepperi-addons/ngx-composite-lib 0.4.2-beta.61 → 0.4.2-beta.63
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/generic-list/generic-list.component.mjs +2 -2
- package/esm2020/group-buttons-settings/group-buttons-settings.component.mjs +3 -3
- package/esm2020/layout-builder/hide-in/hide-in.component.mjs +54 -0
- package/esm2020/layout-builder/hide-in/hide-in.module.mjs +81 -0
- package/esm2020/layout-builder/layout/layout.component.mjs +190 -0
- package/esm2020/layout-builder/layout/layout.module.mjs +58 -0
- package/esm2020/layout-builder/layout-builder.component.mjs +188 -0
- package/esm2020/layout-builder/layout-builder.model.mjs +6 -0
- package/esm2020/layout-builder/layout-builder.module.mjs +129 -0
- package/esm2020/layout-builder/layout-builder.service.mjs +605 -0
- package/esm2020/layout-builder/layout-editor/layout-editor.component.mjs +156 -0
- package/esm2020/layout-builder/layout-editor/layout-editor.module.mjs +109 -0
- package/esm2020/layout-builder/pepperi-addons-ngx-composite-lib-layout-builder.mjs +5 -0
- package/esm2020/layout-builder/public-api.mjs +10 -0
- package/esm2020/layout-builder/section/section.component.mjs +313 -0
- package/esm2020/layout-builder/section/section.module.mjs +45 -0
- package/esm2020/layout-builder/section-block/section-block.component.mjs +109 -0
- package/esm2020/layout-builder/section-block/section-block.module.mjs +48 -0
- package/esm2020/layout-builder/section-editor/section-editor.component.mjs +191 -0
- package/esm2020/layout-builder/section-editor/section-editor.module.mjs +40 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs +2206 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs +2186 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -0
- package/group-buttons-settings/group-buttons-settings.component.d.ts +1 -1
- package/layout-builder/hide-in/hide-in.component.d.ts +25 -0
- package/layout-builder/hide-in/hide-in.component.theme.scss +9 -0
- package/layout-builder/hide-in/hide-in.module.d.ts +20 -0
- package/layout-builder/index.d.ts +5 -0
- package/layout-builder/layout/layout.component.d.ts +49 -0
- package/layout-builder/layout/layout.module.d.ts +17 -0
- package/layout-builder/layout-builder.component.d.ts +45 -0
- package/layout-builder/layout-builder.component.theme.scss +56 -0
- package/layout-builder/layout-builder.model.d.ts +51 -0
- package/layout-builder/layout-builder.module.d.ts +32 -0
- package/layout-builder/layout-builder.service.d.ts +96 -0
- package/layout-builder/layout-editor/layout-editor.component.d.ts +49 -0
- package/layout-builder/layout-editor/layout-editor.module.d.ts +28 -0
- package/layout-builder/public-api.d.ts +6 -0
- package/layout-builder/section/section.component.d.ts +78 -0
- package/layout-builder/section/section.component.theme.scss +115 -0
- package/layout-builder/section/section.module.d.ts +14 -0
- package/layout-builder/section-block/section-block.component.d.ts +39 -0
- package/layout-builder/section-block/section-block.component.theme.scss +13 -0
- package/layout-builder/section-block/section-block.module.d.ts +13 -0
- package/layout-builder/section-editor/section-editor.component.d.ts +53 -0
- package/layout-builder/section-editor/section-editor.module.d.ts +13 -0
- package/package.json +9 -1
- package/src/assets/i18n/en.ngx-composite-lib.json +40 -2
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { Component, HostBinding, Input, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
+
import { BaseDestroyerDirective, PepScreenSizeType } from '@pepperi-addons/ngx-lib';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../layout-builder.service";
|
|
5
|
+
import * as i2 from "@pepperi-addons/ngx-lib";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/cdk/drag-drop";
|
|
8
|
+
import * as i5 from "@pepperi-addons/ngx-lib/button";
|
|
9
|
+
import * as i6 from "../section-block/section-block.component";
|
|
10
|
+
import * as i7 from "../hide-in/hide-in.component";
|
|
11
|
+
import * as i8 from "@pepperi-addons/ngx-lib/draggable-items";
|
|
12
|
+
export class SectionComponent extends BaseDestroyerDirective {
|
|
13
|
+
constructor(renderer, layoutBuilderService, layoutService) {
|
|
14
|
+
super();
|
|
15
|
+
this.renderer = renderer;
|
|
16
|
+
this.layoutBuilderService = layoutBuilderService;
|
|
17
|
+
this.layoutService = layoutService;
|
|
18
|
+
this.key = '';
|
|
19
|
+
this.name = '';
|
|
20
|
+
this._split = undefined;
|
|
21
|
+
this._height = undefined;
|
|
22
|
+
this._collapseOnTablet = false;
|
|
23
|
+
this._columns = [];
|
|
24
|
+
this._hideIn = [];
|
|
25
|
+
this.styleMaxHeight = 'unset';
|
|
26
|
+
this.styleHeight = 'unset';
|
|
27
|
+
this.sectionsColumnsDropList = [];
|
|
28
|
+
this._editable = false;
|
|
29
|
+
// PepScreenSizeType = PepScreenSizeType;
|
|
30
|
+
this.sectionColumnKeyPrefix = '';
|
|
31
|
+
this.isMainEditorState = false;
|
|
32
|
+
this.isEditing = false;
|
|
33
|
+
this.selectedSectionKey = '';
|
|
34
|
+
this.selectedBlockKey = '';
|
|
35
|
+
this.containsBlocks = false;
|
|
36
|
+
this.shouldSetDefaultHeight = false;
|
|
37
|
+
this.pepScreenSizeToFlipToVertical = PepScreenSizeType.SM;
|
|
38
|
+
this.hideForCurrentScreenType = false;
|
|
39
|
+
this.draggingBlockKey = '';
|
|
40
|
+
this.draggingSectionKey = '';
|
|
41
|
+
this.hoverState = false;
|
|
42
|
+
}
|
|
43
|
+
set split(value) {
|
|
44
|
+
this._split = value;
|
|
45
|
+
this.refreshSplit();
|
|
46
|
+
}
|
|
47
|
+
get split() {
|
|
48
|
+
return this._split;
|
|
49
|
+
}
|
|
50
|
+
set height(value) {
|
|
51
|
+
this._height = value;
|
|
52
|
+
this.setStyleHeight();
|
|
53
|
+
}
|
|
54
|
+
get height() {
|
|
55
|
+
return this._height;
|
|
56
|
+
}
|
|
57
|
+
set collapseOnTablet(value) {
|
|
58
|
+
this._collapseOnTablet = value;
|
|
59
|
+
this.pepScreenSizeToFlipToVertical = value ? PepScreenSizeType.MD : PepScreenSizeType.SM;
|
|
60
|
+
this.refreshSplit();
|
|
61
|
+
}
|
|
62
|
+
get collapseOnTablet() {
|
|
63
|
+
return this._collapseOnTablet;
|
|
64
|
+
}
|
|
65
|
+
set columns(value) {
|
|
66
|
+
this._columns = value || [];
|
|
67
|
+
}
|
|
68
|
+
get columns() {
|
|
69
|
+
return this._columns;
|
|
70
|
+
}
|
|
71
|
+
set hideIn(value) {
|
|
72
|
+
this._hideIn = value;
|
|
73
|
+
this.setIfHideForCurrentScreenType();
|
|
74
|
+
}
|
|
75
|
+
get hideIn() {
|
|
76
|
+
return this._hideIn;
|
|
77
|
+
}
|
|
78
|
+
set editable(value) {
|
|
79
|
+
this._editable = value;
|
|
80
|
+
this.refreshSplit();
|
|
81
|
+
}
|
|
82
|
+
get editable() {
|
|
83
|
+
return this._editable;
|
|
84
|
+
}
|
|
85
|
+
set screenSize(value) {
|
|
86
|
+
this._screenSize = value;
|
|
87
|
+
this.refreshSplit();
|
|
88
|
+
this.setScreenType();
|
|
89
|
+
}
|
|
90
|
+
get screenSize() {
|
|
91
|
+
return this._screenSize;
|
|
92
|
+
}
|
|
93
|
+
calculateIfSectionContainsBlocks() {
|
|
94
|
+
this.containsBlocks = this.columns.some(column => column.BlockContainer);
|
|
95
|
+
if (this.editable) {
|
|
96
|
+
this.shouldSetDefaultHeight = !this.containsBlocks;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
setScreenType() {
|
|
100
|
+
this.screenType = this.layoutBuilderService.getScreenType(this.screenSize);
|
|
101
|
+
this.setIfHideForCurrentScreenType();
|
|
102
|
+
this.setStyleHeight();
|
|
103
|
+
}
|
|
104
|
+
setIfHideForCurrentScreenType() {
|
|
105
|
+
this.hideForCurrentScreenType = this.layoutBuilderService.getIsHidden(this.hideIn, this.screenType);
|
|
106
|
+
}
|
|
107
|
+
getCssSplitString() {
|
|
108
|
+
switch (this.split) {
|
|
109
|
+
case '1/2 1/2':
|
|
110
|
+
return '1fr 1fr';
|
|
111
|
+
case '1/2 1/4 1/4':
|
|
112
|
+
return '2fr 1fr 1fr';
|
|
113
|
+
case '1/3 1/3 1/3':
|
|
114
|
+
return '1fr 1fr 1fr';
|
|
115
|
+
case '1/3 2/3':
|
|
116
|
+
return '1fr 2fr';
|
|
117
|
+
case '1/4 1/2 1/4':
|
|
118
|
+
return '1fr 2fr 1fr';
|
|
119
|
+
case '1/4 1/4 1/2':
|
|
120
|
+
return '1fr 1fr 2fr';
|
|
121
|
+
case '1/4 1/4 1/4 1/4':
|
|
122
|
+
return '1fr 1fr 1fr 1fr';
|
|
123
|
+
case '1/4 3/4':
|
|
124
|
+
return '1fr 3fr';
|
|
125
|
+
case '2/3 1/3':
|
|
126
|
+
return '2fr 1fr';
|
|
127
|
+
case '3/4 1/4':
|
|
128
|
+
return '3fr 1fr';
|
|
129
|
+
default: // For one column.
|
|
130
|
+
return '1fr';
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
refreshSplit() {
|
|
134
|
+
setTimeout(() => {
|
|
135
|
+
if (this.sectionContainerRef) {
|
|
136
|
+
let cssSplitString = this.getCssSplitString();
|
|
137
|
+
// Go for all the columns in the columnsWrapper
|
|
138
|
+
this.columnsElementRef.toArray().map((section, sectionIndex) => {
|
|
139
|
+
// Horizontal (true) for large screens, false for small screens.
|
|
140
|
+
const isHorizontalView = this.screenSize <= this.pepScreenSizeToFlipToVertical;
|
|
141
|
+
if (isHorizontalView) {
|
|
142
|
+
this.renderer.setStyle(section.nativeElement, 'grid-auto-flow', 'column');
|
|
143
|
+
this.renderer.setStyle(section.nativeElement, 'grid-template-rows', 'unset');
|
|
144
|
+
this.renderer.setStyle(section.nativeElement, 'grid-template-columns', cssSplitString);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
this.renderer.setStyle(section.nativeElement, 'grid-auto-flow', 'row');
|
|
148
|
+
this.renderer.setStyle(section.nativeElement, 'grid-template-columns', 'unset');
|
|
149
|
+
this.renderer.setStyle(section.nativeElement, 'grid-template-rows', cssSplitString);
|
|
150
|
+
// In runtime (or preview mode).
|
|
151
|
+
if (!this.editable) {
|
|
152
|
+
const cssSplitArray = cssSplitString.split(' ');
|
|
153
|
+
// If there are some hidden columns change the column width to 0 (for cut the spacing in the grid-template-rows).
|
|
154
|
+
this.columns.forEach((column, index) => {
|
|
155
|
+
if (!column.BlockContainer) {
|
|
156
|
+
cssSplitArray[index] = '0';
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
this.renderer.setStyle(section.nativeElement, 'grid-template-rows', 'auto');
|
|
160
|
+
//this.renderer.setStyle(section.nativeElement, 'grid-template-rows', cssSplitArray.join(' '));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}, 0);
|
|
166
|
+
}
|
|
167
|
+
setStyleHeight() {
|
|
168
|
+
if (this.height && this.height > 0 && this.screenType !== 'Phablet') {
|
|
169
|
+
this.styleHeight = this.styleMaxHeight = `${this.height}px`;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
this.styleHeight = this.styleMaxHeight = 'unset';
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
getIsDragging() {
|
|
176
|
+
return this.draggingBlockKey.length > 0 && this.draggingSectionKey.length > 0;
|
|
177
|
+
}
|
|
178
|
+
getIsHidden(hideIn, currentScreenType) {
|
|
179
|
+
return this.layoutBuilderService.getIsHidden(hideIn, currentScreenType);
|
|
180
|
+
}
|
|
181
|
+
ngOnInit() {
|
|
182
|
+
this.editable = this.layoutBuilderService.isEditMode;
|
|
183
|
+
this.layoutBuilderService.previewModeChange$.pipe(this.getDestroyer()).subscribe(previewMode => {
|
|
184
|
+
this.editable = this.layoutBuilderService.isEditMode && !previewMode;
|
|
185
|
+
});
|
|
186
|
+
// Just to calculate if sections contains blocks
|
|
187
|
+
this.layoutBuilderService.sectionsChange$.pipe(this.getDestroyer()).subscribe(res => {
|
|
188
|
+
this.calculateIfSectionContainsBlocks();
|
|
189
|
+
});
|
|
190
|
+
this.layoutService.onResize$.pipe(this.getDestroyer()).subscribe((size) => {
|
|
191
|
+
this.screenSize = size;
|
|
192
|
+
});
|
|
193
|
+
this.layoutBuilderService.screenSizeChange$.pipe(this.getDestroyer()).subscribe((size) => {
|
|
194
|
+
this.screenSize = size;
|
|
195
|
+
// TODO: Raise event to update the screen size maybe there is data in editor that need to update??
|
|
196
|
+
});
|
|
197
|
+
if (this.editable) {
|
|
198
|
+
this.layoutBuilderService.sectionsColumnsDropListChange$.pipe(this.getDestroyer()).subscribe((sectionsColumnsDropList) => {
|
|
199
|
+
this.sectionsColumnsDropList = sectionsColumnsDropList;
|
|
200
|
+
});
|
|
201
|
+
this.layoutBuilderService.editorChange$.pipe(this.getDestroyer()).subscribe((editor) => {
|
|
202
|
+
this.isMainEditorState = editor && editor.type === 'layout-builder';
|
|
203
|
+
this.isEditing = editor && editor.type === 'section' && editor.id === this.key;
|
|
204
|
+
this.selectedSectionKey = editor && editor.type === 'section' ? editor.id : '';
|
|
205
|
+
this.selectedBlockKey = editor && editor.type === 'block' ? editor.id : '';
|
|
206
|
+
});
|
|
207
|
+
this.layoutBuilderService.draggingBlockKey.pipe(this.getDestroyer()).subscribe((draggingBlockKey) => {
|
|
208
|
+
this.draggingBlockKey = draggingBlockKey;
|
|
209
|
+
if (draggingBlockKey === '') {
|
|
210
|
+
this.calculateIfSectionContainsBlocks();
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// If there is only one block in the section and now it's this block that the user is dragging.
|
|
214
|
+
const blocksLength = this.columns.filter(column => column.BlockContainer).length;
|
|
215
|
+
if (blocksLength === 1 && this.columns.find(c => c.BlockContainer?.BlockKey === this.draggingBlockKey)) {
|
|
216
|
+
this.shouldSetDefaultHeight = true;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
this.layoutBuilderService.draggingSectionKey.pipe(this.getDestroyer()).subscribe((draggingSectionKey) => {
|
|
221
|
+
this.draggingSectionKey = draggingSectionKey;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
this.sectionColumnKeyPrefix = this.layoutBuilderService.getSectionColumnKey(this.key);
|
|
225
|
+
}
|
|
226
|
+
onEditSectionClick() {
|
|
227
|
+
this.layoutBuilderService.navigateToEditor('section', this.key);
|
|
228
|
+
}
|
|
229
|
+
onRemoveSectionClick() {
|
|
230
|
+
this.layoutBuilderService.removeSection(this.key);
|
|
231
|
+
}
|
|
232
|
+
onHideSectionChange(hideIn) {
|
|
233
|
+
this.layoutBuilderService.hideSection(this.key, hideIn);
|
|
234
|
+
}
|
|
235
|
+
onHideInMenuOpened() {
|
|
236
|
+
this.hoverState = true;
|
|
237
|
+
}
|
|
238
|
+
onHideInMenuClosed() {
|
|
239
|
+
this.hoverState = false;
|
|
240
|
+
}
|
|
241
|
+
onBlockDropped(event) {
|
|
242
|
+
this.layoutBuilderService.onBlockDropped(event, this.key);
|
|
243
|
+
}
|
|
244
|
+
canDropPredicate(columnIndex) {
|
|
245
|
+
return (drag, drop) => {
|
|
246
|
+
const res = !this.layoutBuilderService.doesColumnContainBlock(this.key, columnIndex);
|
|
247
|
+
return res;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
onDragStart(event) {
|
|
251
|
+
this.layoutBuilderService.onSectionDragStart(event);
|
|
252
|
+
}
|
|
253
|
+
onDragEnd(event) {
|
|
254
|
+
this.layoutBuilderService.onSectionDragEnd(event);
|
|
255
|
+
}
|
|
256
|
+
onSectionBlockDragExited(event) {
|
|
257
|
+
// TODO: Remove this.
|
|
258
|
+
// // If the block is exit from his container and it's the only block in this section.
|
|
259
|
+
// if (this.containsBlocks) {
|
|
260
|
+
// const blocksLength = this.columns.filter(column => column.BlockContainer).length;
|
|
261
|
+
// if (blocksLength === 1) {
|
|
262
|
+
// this.containsBlocks = false;
|
|
263
|
+
// this.shouldSetDefaultHeight = true;
|
|
264
|
+
// }
|
|
265
|
+
// }
|
|
266
|
+
}
|
|
267
|
+
onSectionBlockDragEntered(event) {
|
|
268
|
+
// TODO: Remove this.
|
|
269
|
+
// // Only in case that the block entered back to his container and it's the only block in this section.
|
|
270
|
+
// if (event.container.id === event.item.dropContainer.id) {
|
|
271
|
+
// if (!this.containsBlocks) {
|
|
272
|
+
// this.containsBlocks = true;
|
|
273
|
+
// }
|
|
274
|
+
// }
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
SectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionComponent, deps: [{ token: i0.Renderer2 }, { token: i1.PepLayoutBuilderService }, { token: i2.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
278
|
+
SectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: SectionComponent, selector: "section", inputs: { blockTemplate: "blockTemplate", key: "key", name: "name", split: "split", height: "height", collapseOnTablet: "collapseOnTablet", columns: "columns", hideIn: "hideIn", columnsGap: "columnsGap" }, host: { properties: { "style.max-height": "this.styleMaxHeight", "style.height": "this.styleHeight" } }, viewQueries: [{ propertyName: "sectionContainerRef", first: true, predicate: ["sectionContainer"], descendants: true }, { propertyName: "columnsElementRef", predicate: ["columnsWrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #sectionContainer *ngIf=\"editable || (containsBlocks && !hideForCurrentScreenType)\" class=\"section-container \"\n [ngClass]=\"{ \n 'mobile': screenType === 'Phablet',\n 'editable-state': editable, 'main-editor-state': isMainEditorState, 'default-height': shouldSetDefaultHeight, 'active-section': isEditing,\n 'section-hidden-state': hideForCurrentScreenType, 'section-is-dragging': draggingSectionKey !== '', 'show-hover-state': hoverState }\" \n cdkDragBoundary=\".layout-builder-wrapper\" cdkDrag [cdkDragData]=\"key\" [cdkDragDisabled]=\"!editable || selectedSectionKey.length > 0 || selectedBlockKey.length > 0\" (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\" \n >\n <pep-draggable-item *ngIf=\"editable && isMainEditorState && draggingSectionKey === ''\" cdkDragHandle style=\"cursor: grab;\"\n class=\"section-toolbar\" [ngClass]=\"{ 'hide-toolbar': !hoverState }\" [title]=\"name\">\n <ng-container pep-actions>\n <pep-button classNames=\"caution\" sizeType=\"xs\" iconName=\"system_bin\" (buttonClick)=\"onRemoveSectionClick();\"></pep-button>\n <hide-in [hideIn]=\"hideIn\" (hideInChange)=\"onHideSectionChange($event)\" (menuClosed)=\"onHideInMenuClosed()\" (menuOpened)=\"onHideInMenuOpened()\"></hide-in>\n <pep-button sizeType=\"xs\" iconName=\"system_edit\" (buttonClick)=\"onEditSectionClick();\"></pep-button>\n </ng-container>\n </pep-draggable-item>\n\n <div *ngIf=\"editable\" class=\"section-background\">\n <div class=\"back-template\" *ngFor=\"let number of [0,1,2,3,4,5,6,7,8,9,10,11]\"></div>\n </div>\n <div #columnsWrapper class=\"columns-wrapper gap-{{ columnsGap }}\" \n [ngClass]=\"{ 'mobile': screenType === 'Phablet', 'is-dragging': editable && getIsDragging }\">\n <div [id]=\"sectionColumnKeyPrefix + i\" \n *ngFor=\"let column of columns; let i=index;\"\n class=\"section-column {{screenSize <= pepScreenSizeToFlipToVertical ? 'horizontal' : 'vertical'}}\"\n [ngClass]=\"{ 'active-column': selectedBlockKey === column.BlockContainer?.BlockKey, \n 'is-hidden': getIsHidden(column?.BlockContainer?.Hide, screenType),\n 'already-contains-block': editable && column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && \n draggingBlockKey && draggingBlockKey.length > 0 && column.BlockContainer.BlockKey !== draggingBlockKey }\"\n cdkDropList\n [cdkDropListData]=\"column\"\n [cdkDropListOrientation]=\"screenSize <= pepScreenSizeToFlipToVertical ? 'horizontal' : 'vertical'\" \n [cdkDropListConnectedTo]=\"sectionsColumnsDropList\"\n (cdkDropListDropped)=\"onBlockDropped($event)\"\n [cdkDropListEnterPredicate]=\"canDropPredicate(i)\"\n >\n <section-block *ngIf=\"column.BlockContainer?.BlockKey\" class=\"section-block\" [sectionKey]=\"key\" [blockTemplate]=\"blockTemplate\"\n [blockContainer]=\"column.BlockContainer\" [editable]=\"editable\" [isMainEditorState]=\"isMainEditorState\" [sectionHeight]=\"styleHeight\"\n [active]=\"selectedBlockKey === column.BlockContainer?.BlockKey\" [screenType]=\"screenType\"\n (dragExited)=\"onSectionBlockDragExited($event)\" (dragEntered)=\"onSectionBlockDragEntered($event)\"></section-block>\n </div>\n </div>\n</div>\n", styles: [".section-container{position:relative;display:grid;height:100%;max-height:inherit;min-height:2.5rem}.section-container.editable-state.default-height{min-height:16rem}.section-container.editable-state.active-section{z-index:11}.section-container.editable-state.active-section .columns-wrapper{z-index:1}.section-container.editable-state.active-section ::ng-deep .remote-loader-wrapper .remote-loader{pointer-events:unset!important;opacity:unset!important}.section-container.editable-state.cdk-drag-placeholder{opacity:.5}.section-container.editable-state:not(.cdk-drag-placeholder):hover .section-toolbar,.section-container.editable-state:not(.cdk-drag-placeholder).show-hover-state .section-toolbar{display:block!important}.section-container.editable-state:not(.cdk-drag-preview) .hide-toolbar{display:none}.section-container.editable-state.main-editor-state .mobile .is-hidden{display:none}.section-container.editable-state .mobile .is-hidden{display:block}.section-container.editable-state .section-toolbar{position:absolute;top:0;height:2.625rem;z-index:11}.section-container.editable-state .section-toolbar ::ng-deep .pep-draggable-item-container{border-radius:0 0 var(--pep-border-radius-md, .25rem) 0}.section-container.editable-state .section-background{position:absolute;width:100%;height:100%;z-index:0;display:grid;grid-template-columns:repeat(12,1fr)}.section-container.editable-state .section-background .back-template{opacity:.1}.section-container.editable-state .section-background .back-template:last-of-type{border-right:0 none}.section-container .columns-wrapper{display:grid;grid-auto-flow:column;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper.is-dragging{overflow:unset}.section-container .columns-wrapper.gap-none{gap:0}.section-container .columns-wrapper.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.section-container .columns-wrapper.gap-md{gap:var(--pep-spacing-lg, 1rem)}.section-container .columns-wrapper.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.section-container .columns-wrapper .section-column{position:relative;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper .section-column .section-block{height:inherit;max-height:inherit}\n", ".section-container{background:transparent}.section-container.editable-state.active-section{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.active-section .columns-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state.section-hidden-state:not(.active-section){background:repeating-linear-gradient(45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .8rem),repeating-linear-gradient(-45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .8rem)}.section-container.editable-state.main-editor-state.cdk-drag-preview{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state.cdk-drag-placeholder{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.main-editor-state.cdk-drag-placeholder:hover,.section-container.editable-state.main-editor-state.cdk-drag-placeholder.show-hover-state{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)!important}.section-container.editable-state.main-editor-state:hover:not(.section-is-dragging),.section-container.editable-state.main-editor-state.show-hover-state:not(.section-is-dragging){box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state .section-toolbar ::ng-deep .pep-draggable-item-container{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .section-background .back-template{background-color:#bec3e5;border-right:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column{border:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column.active-column{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state .columns-wrapper .section-column.cdk-drop-list-dragging{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state .columns-wrapper .section-column.already-contains-block:hover{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal{border-left:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal.cdk-drop-list-dragging{border-left:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical{border-top:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical.cdk-drop-list-dragging{border-top:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}\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: i4.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: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i5.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i6.SectionBlockComponent, selector: "section-block", inputs: ["blockTemplate", "sectionKey", "sectionHeight", "isMainEditorState", "editable", "active", "blockContainer", "screenType"], outputs: ["dragExited", "dragEntered"] }, { kind: "component", type: i7.PepHideInComponent, selector: "hide-in", inputs: ["hideIn"], outputs: ["hideInChange", "menuOpened", "menuClosed"] }, { kind: "component", type: i8.DraggableItemComponent, selector: "pep-draggable-item", inputs: ["title", "titlePrefix", "titleClassNames", "data", "disabled", "shadow", "styleType", "toggleContent", "isToggleContentOpen", "actionsMenu", "menuStyleType"], outputs: ["contentToggle", "actionsMenuItemClick"] }] });
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionComponent, decorators: [{
|
|
280
|
+
type: Component,
|
|
281
|
+
args: [{ selector: 'section', template: "<div #sectionContainer *ngIf=\"editable || (containsBlocks && !hideForCurrentScreenType)\" class=\"section-container \"\n [ngClass]=\"{ \n 'mobile': screenType === 'Phablet',\n 'editable-state': editable, 'main-editor-state': isMainEditorState, 'default-height': shouldSetDefaultHeight, 'active-section': isEditing,\n 'section-hidden-state': hideForCurrentScreenType, 'section-is-dragging': draggingSectionKey !== '', 'show-hover-state': hoverState }\" \n cdkDragBoundary=\".layout-builder-wrapper\" cdkDrag [cdkDragData]=\"key\" [cdkDragDisabled]=\"!editable || selectedSectionKey.length > 0 || selectedBlockKey.length > 0\" (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\" \n >\n <pep-draggable-item *ngIf=\"editable && isMainEditorState && draggingSectionKey === ''\" cdkDragHandle style=\"cursor: grab;\"\n class=\"section-toolbar\" [ngClass]=\"{ 'hide-toolbar': !hoverState }\" [title]=\"name\">\n <ng-container pep-actions>\n <pep-button classNames=\"caution\" sizeType=\"xs\" iconName=\"system_bin\" (buttonClick)=\"onRemoveSectionClick();\"></pep-button>\n <hide-in [hideIn]=\"hideIn\" (hideInChange)=\"onHideSectionChange($event)\" (menuClosed)=\"onHideInMenuClosed()\" (menuOpened)=\"onHideInMenuOpened()\"></hide-in>\n <pep-button sizeType=\"xs\" iconName=\"system_edit\" (buttonClick)=\"onEditSectionClick();\"></pep-button>\n </ng-container>\n </pep-draggable-item>\n\n <div *ngIf=\"editable\" class=\"section-background\">\n <div class=\"back-template\" *ngFor=\"let number of [0,1,2,3,4,5,6,7,8,9,10,11]\"></div>\n </div>\n <div #columnsWrapper class=\"columns-wrapper gap-{{ columnsGap }}\" \n [ngClass]=\"{ 'mobile': screenType === 'Phablet', 'is-dragging': editable && getIsDragging }\">\n <div [id]=\"sectionColumnKeyPrefix + i\" \n *ngFor=\"let column of columns; let i=index;\"\n class=\"section-column {{screenSize <= pepScreenSizeToFlipToVertical ? 'horizontal' : 'vertical'}}\"\n [ngClass]=\"{ 'active-column': selectedBlockKey === column.BlockContainer?.BlockKey, \n 'is-hidden': getIsHidden(column?.BlockContainer?.Hide, screenType),\n 'already-contains-block': editable && column.BlockContainer && column.BlockContainer.BlockKey && column.BlockContainer.BlockKey.length > 0 && \n draggingBlockKey && draggingBlockKey.length > 0 && column.BlockContainer.BlockKey !== draggingBlockKey }\"\n cdkDropList\n [cdkDropListData]=\"column\"\n [cdkDropListOrientation]=\"screenSize <= pepScreenSizeToFlipToVertical ? 'horizontal' : 'vertical'\" \n [cdkDropListConnectedTo]=\"sectionsColumnsDropList\"\n (cdkDropListDropped)=\"onBlockDropped($event)\"\n [cdkDropListEnterPredicate]=\"canDropPredicate(i)\"\n >\n <section-block *ngIf=\"column.BlockContainer?.BlockKey\" class=\"section-block\" [sectionKey]=\"key\" [blockTemplate]=\"blockTemplate\"\n [blockContainer]=\"column.BlockContainer\" [editable]=\"editable\" [isMainEditorState]=\"isMainEditorState\" [sectionHeight]=\"styleHeight\"\n [active]=\"selectedBlockKey === column.BlockContainer?.BlockKey\" [screenType]=\"screenType\"\n (dragExited)=\"onSectionBlockDragExited($event)\" (dragEntered)=\"onSectionBlockDragEntered($event)\"></section-block>\n </div>\n </div>\n</div>\n", styles: [".section-container{position:relative;display:grid;height:100%;max-height:inherit;min-height:2.5rem}.section-container.editable-state.default-height{min-height:16rem}.section-container.editable-state.active-section{z-index:11}.section-container.editable-state.active-section .columns-wrapper{z-index:1}.section-container.editable-state.active-section ::ng-deep .remote-loader-wrapper .remote-loader{pointer-events:unset!important;opacity:unset!important}.section-container.editable-state.cdk-drag-placeholder{opacity:.5}.section-container.editable-state:not(.cdk-drag-placeholder):hover .section-toolbar,.section-container.editable-state:not(.cdk-drag-placeholder).show-hover-state .section-toolbar{display:block!important}.section-container.editable-state:not(.cdk-drag-preview) .hide-toolbar{display:none}.section-container.editable-state.main-editor-state .mobile .is-hidden{display:none}.section-container.editable-state .mobile .is-hidden{display:block}.section-container.editable-state .section-toolbar{position:absolute;top:0;height:2.625rem;z-index:11}.section-container.editable-state .section-toolbar ::ng-deep .pep-draggable-item-container{border-radius:0 0 var(--pep-border-radius-md, .25rem) 0}.section-container.editable-state .section-background{position:absolute;width:100%;height:100%;z-index:0;display:grid;grid-template-columns:repeat(12,1fr)}.section-container.editable-state .section-background .back-template{opacity:.1}.section-container.editable-state .section-background .back-template:last-of-type{border-right:0 none}.section-container .columns-wrapper{display:grid;grid-auto-flow:column;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper.is-dragging{overflow:unset}.section-container .columns-wrapper.gap-none{gap:0}.section-container .columns-wrapper.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.section-container .columns-wrapper.gap-md{gap:var(--pep-spacing-lg, 1rem)}.section-container .columns-wrapper.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.section-container .columns-wrapper .section-column{position:relative;height:inherit;max-height:inherit;overflow:inherit}.section-container .columns-wrapper .section-column .section-block{height:inherit;max-height:inherit}\n", ".section-container{background:transparent}.section-container.editable-state.active-section{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.active-section .columns-wrapper{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state.section-hidden-state:not(.active-section){background:repeating-linear-gradient(45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .8rem),repeating-linear-gradient(-45deg,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0),hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),0) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .65rem,hsla(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%),.32) .8rem)}.section-container.editable-state.main-editor-state.cdk-drag-preview{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state.cdk-drag-placeholder{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state.main-editor-state.cdk-drag-placeholder:hover,.section-container.editable-state.main-editor-state.cdk-drag-placeholder.show-hover-state{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)!important}.section-container.editable-state.main-editor-state:hover:not(.section-is-dragging),.section-container.editable-state.main-editor-state.show-hover-state:not(.section-is-dragging){box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state.main-editor-state .section-toolbar ::ng-deep .pep-draggable-item-container{box-shadow:0 0 0 .125rem hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .section-background .back-template{background-color:#bec3e5;border-right:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column{border:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper .section-column.active-column{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.section-container.editable-state .columns-wrapper .section-column.cdk-drop-list-dragging{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}.section-container.editable-state .columns-wrapper .section-column.already-contains-block:hover{box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal{border-left:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).horizontal.cdk-drop-list-dragging{border-left:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical{border-top:unset}.section-container.editable-state .columns-wrapper.gap-none .section-column:not(.section-container.editable-state .columns-wrapper.gap-none .section-column:first-of-type).vertical.cdk-drop-list-dragging{border-top:.125rem dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}\n"] }]
|
|
282
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.PepLayoutBuilderService }, { type: i2.PepLayoutService }]; }, propDecorators: { sectionContainerRef: [{
|
|
283
|
+
type: ViewChild,
|
|
284
|
+
args: ['sectionContainer']
|
|
285
|
+
}], columnsElementRef: [{
|
|
286
|
+
type: ViewChildren,
|
|
287
|
+
args: ['columnsWrapper']
|
|
288
|
+
}], blockTemplate: [{
|
|
289
|
+
type: Input
|
|
290
|
+
}], key: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], name: [{
|
|
293
|
+
type: Input
|
|
294
|
+
}], split: [{
|
|
295
|
+
type: Input
|
|
296
|
+
}], height: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], collapseOnTablet: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], columns: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], hideIn: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], columnsGap: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], styleMaxHeight: [{
|
|
307
|
+
type: HostBinding,
|
|
308
|
+
args: ['style.max-height']
|
|
309
|
+
}], styleHeight: [{
|
|
310
|
+
type: HostBinding,
|
|
311
|
+
args: ['style.height']
|
|
312
|
+
}] } });
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9sYXlvdXQtYnVpbGRlci9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFnQixLQUFLLEVBQXVFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEwsT0FBTyxFQUFFLHNCQUFzQixFQUFvQixpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7O0FBU3RHLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxzQkFBc0I7SUF5R3hELFlBQ1ksUUFBbUIsRUFDbkIsb0JBQTZDLEVBQzdDLGFBQStCO1FBRXZDLEtBQUssRUFBRSxDQUFDO1FBSkEsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQXRHbEMsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRW5CLFdBQU0sR0FBMEIsU0FBUyxDQUFDO1FBVTFDLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBVXhDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQVduQyxhQUFRLEdBQW1DLEVBQUUsQ0FBQztRQVM5QyxZQUFPLEdBQXlCLEVBQUUsQ0FBQztRQWEzQyxtQkFBYyxHQUFHLE9BQU8sQ0FBQztRQUd6QixnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUVaLDRCQUF1QixHQUFhLEVBQUUsQ0FBQztRQUV6QyxjQUFTLEdBQUcsS0FBSyxDQUFD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O3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixNQUFNO3NCQURULEtBQUs7Z0JBV0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkFVRixNQUFNO3NCQURULEtBQUs7Z0JBU0csVUFBVTtzQkFBbEIsS0FBSztnQkFHTixjQUFjO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUkvQixXQUFXO3NCQURWLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0VuZCwgQ2RrRHJhZ0VudGVyLCBDZGtEcmFnRXhpdCwgQ2RrRHJhZ1N0YXJ0LCBDZGtEcm9wTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRGF0YVZpZXdTY3JlZW5TaXplLCBTcGxpdFR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSwgUGVwTGF5b3V0U2VydmljZSwgUGVwU2NyZWVuU2l6ZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUVkaXRvciwgSVBlcExheW91dFNlY3Rpb25Db2x1bW4sIFBlcExheW91dFNpemVUeXBlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWN0aW9uLmNvbXBvbmVudC5zY3NzJywgJy4vc2VjdGlvbi5jb21wb25lbnQudGhlbWUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uQ29udGFpbmVyJykgc2VjdGlvbkNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZHJlbignY29sdW1uc1dyYXBwZXInKSBjb2x1bW5zRWxlbWVudFJlZiE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBJbnB1dCgpIGJsb2NrVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKSBrZXk6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfc3BsaXQ6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBzcGxpdCh2YWx1ZTogU3BsaXRUeXBlIHwgdW5kZWZpbmVkICkge1xuICAgICAgICB0aGlzLl9zcGxpdCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJlZnJlc2hTcGxpdCgpO1xuICAgIH1cbiAgICBnZXQgc3BsaXQoKTogU3BsaXRUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NwbGl0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hlaWdodDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFN0eWxlSGVpZ2h0KCk7XG4gICAgfVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb2xsYXBzZU9uVGFibGV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBzZXQgY29sbGFwc2VPblRhYmxldCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9jb2xsYXBzZU9uVGFibGV0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMucGVwU2NyZWVuU2l6ZVRvRmxpcFRvVmVydGljYWwgPSB2YWx1ZSA/IFBlcFNjcmVlblNpemVUeXBlLk1EIDogUGVwU2NyZWVuU2l6ZVR5cGUuU007XG4gICAgICAgIHRoaXMucmVmcmVzaFNwbGl0KCk7XG4gICAgfVxuICAgIGdldCBjb2xsYXBzZU9uVGFibGV0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VPblRhYmxldDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb2x1bW5zOiBBcnJheTxJUGVwTGF5b3V0U2VjdGlvbkNvbHVtbj4gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBjb2x1bW5zKHZhbHVlOiBBcnJheTxJUGVwTGF5b3V0U2VjdGlvbkNvbHVtbj4pIHtcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IHZhbHVlIHx8IFtdO1xuICAgIH1cbiAgICBnZXQgY29sdW1ucygpOiBBcnJheTxJUGVwTGF5b3V0U2VjdGlvbkNvbHVtbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1ucztcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBfaGlkZUluOiBEYXRhVmlld1NjcmVlblNpemVbXSA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhpZGVJbih2YWx1ZTogRGF0YVZpZXdTY3JlZW5TaXplW10pIHtcbiAgICAgICAgdGhpcy5faGlkZUluID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0SWZIaWRlRm9yQ3VycmVudFNjcmVlblR5cGUoKTtcbiAgICB9XG4gICAgZ2V0IGhpZGVJbigpOiBEYXRhVmlld1NjcmVlblNpemVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaWRlSW47XG4gICAgfVxuXG4gICAgQElucHV0KCkgY29sdW1uc0dhcCE6IFBlcExheW91dFNpemVUeXBlO1xuICAgICAgICBcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICAgIHN0eWxlTWF4SGVpZ2h0ID0gJ3Vuc2V0JztcbiAgICBcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gICAgc3R5bGVIZWlnaHQgPSAndW5zZXQnO1xuICAgIFxuICAgIHByb3RlY3RlZCBzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdDogc3RyaW5nW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2VkaXRhYmxlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHNldCBlZGl0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9lZGl0YWJsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJlZnJlc2hTcGxpdCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0IGVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWRpdGFibGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2NyZWVuU2l6ZSE6IFBlcFNjcmVlblNpemVUeXBlO1xuICAgIHByb3RlY3RlZCBzZXQgc2NyZWVuU2l6ZSh2YWx1ZTogUGVwU2NyZWVuU2l6ZVR5cGUpIHtcbiAgICAgICAgdGhpcy5fc2NyZWVuU2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJlZnJlc2hTcGxpdCgpO1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBzY3JlZW5TaXplKCk6IFBlcFNjcmVlblNpemVUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NjcmVlblNpemU7XG4gICAgfVxuXG4gICAgLy8gUGVwU2NyZWVuU2l6ZVR5cGUgPSBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbkNvbHVtbktleVByZWZpeCA9ICcnO1xuICAgIFxuICAgIHByb3RlY3RlZCBpc01haW5FZGl0b3JTdGF0ZSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBpc0VkaXRpbmcgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgc2VsZWN0ZWRTZWN0aW9uS2V5ID0gJyc7XG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkQmxvY2tLZXkgPSAnJztcbiAgICBcbiAgICBwcm90ZWN0ZWQgY29udGFpbnNCbG9ja3MgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgc2hvdWxkU2V0RGVmYXVsdEhlaWdodCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBwZXBTY3JlZW5TaXplVG9GbGlwVG9WZXJ0aWNhbCA9IFBlcFNjcmVlblNpemVUeXBlLlNNO1xuICAgIHByb3RlY3RlZCBzY3JlZW5UeXBlITogRGF0YVZpZXdTY3JlZW5TaXplO1xuICAgIHByb3RlY3RlZCBoaWRlRm9yQ3VycmVudFNjcmVlblR5cGUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgZHJhZ2dpbmdCbG9ja0tleTogc3RyaW5nID0gJyc7XG4gICAgcHJvdGVjdGVkIGRyYWdnaW5nU2VjdGlvbktleTogc3RyaW5nID0gJyc7XG4gICAgcHJvdGVjdGVkIGhvdmVyU3RhdGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgbGF5b3V0QnVpbGRlclNlcnZpY2U6IFBlcExheW91dEJ1aWxkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXG4gICAgKSB7IFxuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlSWZTZWN0aW9uQ29udGFpbnNCbG9ja3MoKSB7XG4gICAgICAgIHRoaXMuY29udGFpbnNCbG9ja3MgPSB0aGlzLmNvbHVtbnMuc29tZShjb2x1bW4gPT4gY29sdW1uLkJsb2NrQ29udGFpbmVyKTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zaG91bGRTZXREZWZhdWx0SGVpZ2h0ID0gIXRoaXMuY29udGFpbnNCbG9ja3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNjcmVlblR5cGUoKSB7XG4gICAgICAgIHRoaXMuc2NyZWVuVHlwZSA9IHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuZ2V0U2NyZWVuVHlwZSh0aGlzLnNjcmVlblNpemUpO1xuICAgICAgICB0aGlzLnNldElmSGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlKCk7XG4gICAgICAgIHRoaXMuc2V0U3R5bGVIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldElmSGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVGb3JDdXJyZW50U2NyZWVuVHlwZSA9IHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuZ2V0SXNIaWRkZW4odGhpcy5oaWRlSW4sIHRoaXMuc2NyZWVuVHlwZSk7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgZ2V0Q3NzU3BsaXRTdHJpbmcoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zcGxpdCkge1xuICAgICAgICAgICAgY2FzZSAnMS8yIDEvMic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcxZnIgMWZyJztcbiAgICAgICAgICAgIGNhc2UgJzEvMiAxLzQgMS80JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJzJmciAxZnIgMWZyJztcbiAgICAgICAgICAgIGNhc2UgJzEvMyAxLzMgMS8zJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJzFmciAxZnIgMWZyJztcbiAgICAgICAgICAgIGNhc2UgJzEvMyAyLzMnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnMWZyIDJmcic7XG4gICAgICAgICAgICBjYXNlICcxLzQgMS8yIDEvNCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcxZnIgMmZyIDFmcic7XG4gICAgICAgICAgICBjYXNlICcxLzQgMS80IDEvMic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcxZnIgMWZyIDJmcic7XG4gICAgICAgICAgICBjYXNlICcxLzQgMS80IDEvNCAxLzQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnMWZyIDFmciAxZnIgMWZyJztcbiAgICAgICAgICAgIGNhc2UgJzEvNCAzLzQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnMWZyIDNmcic7XG4gICAgICAgICAgICBjYXNlICcyLzMgMS8zJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJzJmciAxZnInO1xuICAgICAgICAgICAgY2FzZSAnMy80IDEvNCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICczZnIgMWZyJztcbiAgICAgICAgICAgIGRlZmF1bHQ6IC8vIEZvciBvbmUgY29sdW1uLlxuICAgICAgICAgICAgICAgIHJldHVybiAnMWZyJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFNwbGl0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlY3Rpb25Db250YWluZXJSZWYpIHtcbiAgICAgICAgICAgICAgICBsZXQgY3NzU3BsaXRTdHJpbmcgPSB0aGlzLmdldENzc1NwbGl0U3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gR28gZm9yIGFsbCB0aGUgY29sdW1ucyBpbiB0aGUgY29sdW1uc1dyYXBwZXJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnNFbGVtZW50UmVmLnRvQXJyYXkoKS5tYXAoKHNlY3Rpb24sIHNlY3Rpb25JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBIb3Jpem9udGFsICh0cnVlKSBmb3IgbGFyZ2Ugc2NyZWVucywgZmFsc2UgZm9yIHNtYWxsIHNjcmVlbnMuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzSG9yaXpvbnRhbFZpZXcgPSB0aGlzLnNjcmVlblNpemUgPD0gdGhpcy5wZXBTY3JlZW5TaXplVG9GbGlwVG9WZXJ0aWNhbDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNIb3Jpem9udGFsVmlldykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdncmlkLWF1dG8tZmxvdycsICdjb2x1bW4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC10ZW1wbGF0ZS1yb3dzJywgJ3Vuc2V0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsIGNzc1NwbGl0U3RyaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC1hdXRvLWZsb3cnLCAncm93Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsICd1bnNldCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdncmlkLXRlbXBsYXRlLXJvd3MnLCBjc3NTcGxpdFN0cmluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluIHJ1bnRpbWUgKG9yIHByZXZpZXcgbW9kZSkuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjc3NTcGxpdEFycmF5ID0gY3NzU3BsaXRTdHJpbmcuc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgc29tZSBoaWRkZW4gY29sdW1ucyBjaGFuZ2UgdGhlIGNvbHVtbiB3aWR0aCB0byAwIChmb3IgY3V0IHRoZSBzcGFjaW5nIGluIHRoZSBncmlkLXRlbXBsYXRlLXJvd3MpLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29sdW1uLkJsb2NrQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3NTcGxpdEFycmF5W2luZGV4XSA9ICcwJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC10ZW1wbGF0ZS1yb3dzJywgJ2F1dG8nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3RoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VjdGlvbi5uYXRpdmVFbGVtZW50LCAnZ3JpZC10ZW1wbGF0ZS1yb3dzJywgY3NzU3BsaXRBcnJheS5qb2luKCcgJykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3R5bGVIZWlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmhlaWdodCAmJiB0aGlzLmhlaWdodCA+IDAgJiYgdGhpcy5zY3JlZW5UeXBlICE9PSAnUGhhYmxldCcpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVIZWlnaHQgPSB0aGlzLnN0eWxlTWF4SGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHR9cHhgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUhlaWdodCA9IHRoaXMuc3R5bGVNYXhIZWlnaHQgPSAndW5zZXQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SXNEcmFnZ2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ2dpbmdCbG9ja0tleS5sZW5ndGggPiAwICYmIHRoaXMuZHJhZ2dpbmdTZWN0aW9uS2V5Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0SXNIaWRkZW4oaGlkZUluOiBEYXRhVmlld1NjcmVlblNpemVbXSB8IHVuZGVmaW5lZCwgY3VycmVudFNjcmVlblR5cGU6IERhdGFWaWV3U2NyZWVuU2l6ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5nZXRJc0hpZGRlbihoaWRlSW4sIGN1cnJlbnRTY3JlZW5UeXBlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0YWJsZSA9IHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuaXNFZGl0TW9kZTtcblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZShwcmV2aWV3TW9kZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5pc0VkaXRNb2RlICYmICFwcmV2aWV3TW9kZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gSnVzdCB0byBjYWxjdWxhdGUgaWYgc2VjdGlvbnMgY29udGFpbnMgYmxvY2tzXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uuc2VjdGlvbnNDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUlmU2VjdGlvbkNvbnRhaW5zQmxvY2tzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNpemU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY3JlZW5TaXplID0gc2l6ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zY3JlZW5TaXplQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2l6ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICAgICAgLy8gVE9ETzogUmFpc2UgZXZlbnQgdG8gdXBkYXRlIHRoZSBzY3JlZW4gc2l6ZSBtYXliZSB0aGVyZSBpcyBkYXRhIGluIGVkaXRvciB0aGF0IG5lZWQgdG8gdXBkYXRlPz9cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uuc2VjdGlvbnNDb2x1bW5zRHJvcExpc3RDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbHVtbnNEcm9wTGlzdCA9IHNlY3Rpb25zQ29sdW1uc0Ryb3BMaXN0O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuZWRpdG9yQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoZWRpdG9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTWFpbkVkaXRvclN0YXRlID0gZWRpdG9yICYmIGVkaXRvci50eXBlID09PSAnbGF5b3V0LWJ1aWxkZXInO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNFZGl0aW5nID0gZWRpdG9yICYmIGVkaXRvci50eXBlID09PSAnc2VjdGlvbicgJiYgZWRpdG9yLmlkID09PSB0aGlzLmtleTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2VjdGlvbktleSA9IGVkaXRvciAmJiBlZGl0b3IudHlwZSA9PT0gJ3NlY3Rpb24nID8gZWRpdG9yLmlkIDogJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEJsb2NrS2V5ID0gZWRpdG9yICYmIGVkaXRvci50eXBlID09PSAnYmxvY2snID8gZWRpdG9yLmlkIDogJyc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5kcmFnZ2luZ0Jsb2NrS2V5LnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChkcmFnZ2luZ0Jsb2NrS2V5OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdnaW5nQmxvY2tLZXkgPSBkcmFnZ2luZ0Jsb2NrS2V5O1xuXG4gICAgICAgICAgICAgICAgaWYgKGRyYWdnaW5nQmxvY2tLZXkgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlSWZTZWN0aW9uQ29udGFpbnNCbG9ja3MoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBvbmx5IG9uZSBibG9jayBpbiB0aGUgc2VjdGlvbiBhbmQgbm93IGl0J3MgdGhpcyBibG9jayB0aGF0IHRoZSB1c2VyIGlzIGRyYWdnaW5nLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja3NMZW5ndGggPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiBjb2x1bW4uQmxvY2tDb250YWluZXIpLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2Nrc0xlbmd0aCA9PT0gMSAmJiB0aGlzLmNvbHVtbnMuZmluZChjID0+IGMuQmxvY2tDb250YWluZXI/LkJsb2NrS2V5ID09PSB0aGlzLmRyYWdnaW5nQmxvY2tLZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3VsZFNldERlZmF1bHRIZWlnaHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5kcmFnZ2luZ1NlY3Rpb25LZXkucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKGRyYWdnaW5nU2VjdGlvbktleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ1NlY3Rpb25LZXkgPSBkcmFnZ2luZ1NlY3Rpb25LZXk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VjdGlvbkNvbHVtbktleVByZWZpeCA9IHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuZ2V0U2VjdGlvbkNvbHVtbktleSh0aGlzLmtleSk7XG4gICAgfVxuXG4gICAgb25FZGl0U2VjdGlvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLm5hdmlnYXRlVG9FZGl0b3IoJ3NlY3Rpb24nLCB0aGlzLmtleSk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVTZWN0aW9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UucmVtb3ZlU2VjdGlvbih0aGlzLmtleSk7XG4gICAgfVxuXG4gICAgb25IaWRlU2VjdGlvbkNoYW5nZShoaWRlSW46IERhdGFWaWV3U2NyZWVuU2l6ZVtdKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuaGlkZVNlY3Rpb24odGhpcy5rZXksIGhpZGVJbik7XG4gICAgfVxuXG4gICAgb25IaWRlSW5NZW51T3BlbmVkKCkge1xuICAgICAgICB0aGlzLmhvdmVyU3RhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uSGlkZUluTWVudUNsb3NlZCgpIHtcbiAgICAgICAgdGhpcy5ob3ZlclN0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25CbG9ja0Ryb3BwZWQoZXZlbnQ6IENka0RyYWdEcm9wPElQZXBMYXlvdXRTZWN0aW9uQ29sdW1uLCBhbnksIGFueT4pIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5vbkJsb2NrRHJvcHBlZChldmVudCwgdGhpcy5rZXkpO1xuICAgIH1cblxuICAgIGNhbkRyb3BQcmVkaWNhdGUoY29sdW1uSW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gKGRyYWc6IENka0RyYWcsIGRyb3A6IENka0Ryb3BMaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXMgPSAhdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5kb2VzQ29sdW1uQ29udGFpbkJsb2NrKHRoaXMua2V5LCBjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5vblNlY3Rpb25EcmFnU3RhcnQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRHJhZ0VuZChldmVudDogQ2RrRHJhZ0VuZCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLm9uU2VjdGlvbkRyYWdFbmQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uU2VjdGlvbkJsb2NrRHJhZ0V4aXRlZChldmVudDogQ2RrRHJhZ0V4aXQpIHtcbiAgICAgICAgLy8gVE9ETzogUmVtb3ZlIHRoaXMuXG4gICAgICAgIC8vIC8vIElmIHRoZSBibG9jayBpcyBleGl0IGZyb20gaGlzIGNvbnRhaW5lciBhbmQgaXQncyB0aGUgb25seSBibG9jayBpbiB0aGlzIHNlY3Rpb24uXG4gICAgICAgIC8vIGlmICh0aGlzLmNvbnRhaW5zQmxvY2tzKSB7XG4gICAgICAgIC8vICAgICBjb25zdCBibG9ja3NMZW5ndGggPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiBjb2x1bW4uQmxvY2tDb250YWluZXIpLmxlbmd0aDtcblxuICAgICAgICAvLyAgICAgaWYgKGJsb2Nrc0xlbmd0aCA9PT0gMSkge1xuICAgICAgICAvLyAgICAgICAgIHRoaXMuY29udGFpbnNCbG9ja3MgPSBmYWxzZTtcbiAgICAgICAgLy8gICAgICAgICB0aGlzLnNob3VsZFNldERlZmF1bHRIZWlnaHQgPSB0cnVlO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgb25TZWN0aW9uQmxvY2tEcmFnRW50ZXJlZChldmVudDogQ2RrRHJhZ0VudGVyKSB7XG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSB0aGlzLlxuICAgICAgICAvLyAvLyBPbmx5IGluIGNhc2UgdGhhdCB0aGUgYmxvY2sgZW50ZXJlZCBiYWNrIHRvIGhpcyBjb250YWluZXIgYW5kIGl0J3MgdGhlIG9ubHkgYmxvY2sgaW4gdGhpcyBzZWN0aW9uLlxuICAgICAgICAvLyBpZiAoZXZlbnQuY29udGFpbmVyLmlkID09PSBldmVudC5pdGVtLmRyb3BDb250YWluZXIuaWQpIHtcbiAgICAgICAgLy8gICAgIGlmICghdGhpcy5jb250YWluc0Jsb2Nrcykge1xuICAgICAgICAvLyAgICAgICAgIHRoaXMuY29udGFpbnNCbG9ja3MgPSB0cnVlO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgfVxufVxuIiwiPGRpdiAjc2VjdGlvbkNvbnRhaW5lciAqbmdJZj1cImVkaXRhYmxlIHx8IChjb250YWluc0Jsb2NrcyAmJiAhaGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlKVwiIGNsYXNzPVwic2VjdGlvbi1jb250YWluZXIgXCJcbiAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAnbW9iaWxlJzogc2NyZWVuVHlwZSA9PT0gJ1BoYWJsZXQnLFxuICAgICAgICAnZWRpdGFibGUtc3RhdGUnOiBlZGl0YWJsZSwgJ21haW4tZWRpdG9yLXN0YXRlJzogaXNNYWluRWRpdG9yU3RhdGUsICdkZWZhdWx0LWhlaWdodCc6IHNob3VsZFNldERlZmF1bHRIZWlnaHQsICdhY3RpdmUtc2VjdGlvbic6IGlzRWRpdGluZyxcbiAgICAgICAgJ3NlY3Rpb24taGlkZGVuLXN0YXRlJzogaGlkZUZvckN1cnJlbnRTY3JlZW5UeXBlLCAnc2VjdGlvbi1pcy1kcmFnZ2luZyc6IGRyYWdnaW5nU2VjdGlvbktleSAhPT0gJycsICdzaG93LWhvdmVyLXN0YXRlJzogaG92ZXJTdGF0ZSB9XCIgXG4gICAgICAgIGNka0RyYWdCb3VuZGFyeT1cIi5sYXlvdXQtYnVpbGRlci13cmFwcGVyXCIgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwia2V5XCIgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgc2VsZWN0ZWRTZWN0aW9uS2V5Lmxlbmd0aCA+IDAgfHwgc2VsZWN0ZWRCbG9ja0tleS5sZW5ndGggPiAwXCIgKGNka0RyYWdTdGFydGVkKT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIiAoY2RrRHJhZ0VuZGVkKT1cIm9uRHJhZ0VuZCgkZXZlbnQpXCIgXG4gICAgPlxuICAgIDxwZXAtZHJhZ2dhYmxlLWl0ZW0gKm5nSWY9XCJlZGl0YWJsZSAmJiBpc01haW5FZGl0b3JTdGF0ZSAmJiBkcmFnZ2luZ1NlY3Rpb25LZXkgPT09ICcnXCIgY2RrRHJhZ0hhbmRsZSBzdHlsZT1cImN1cnNvcjogZ3JhYjtcIlxuICAgICAgICBjbGFzcz1cInNlY3Rpb24tdG9vbGJhclwiIFtuZ0NsYXNzXT1cInsgJ2hpZGUtdG9vbGJhcic6ICFob3ZlclN0YXRlIH1cIiBbdGl0bGVdPVwibmFtZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIHBlcC1hY3Rpb25zPlxuICAgICAgICAgICAgPHBlcC1idXR0b24gY2xhc3NOYW1lcz1cImNhdXRpb25cIiBzaXplVHlwZT1cInhzXCIgaWNvbk5hbWU9XCJzeXN0ZW1fYmluXCIgKGJ1dHRvbkNsaWNrKT1cIm9uUmVtb3ZlU2VjdGlvbkNsaWNrKCk7XCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICAgICAgPGhpZGUtaW4gW2hpZGVJbl09XCJoaWRlSW5cIiAoaGlkZUluQ2hhbmdlKT1cIm9uSGlkZVNlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiIChtZW51Q2xvc2VkKT1cIm9uSGlkZUluTWVudUNsb3NlZCgpXCIgKG1lbnVPcGVuZWQpPVwib25IaWRlSW5NZW51T3BlbmVkKClcIj48L2hpZGUtaW4+XG4gICAgICAgICAgICA8cGVwLWJ1dHRvbiBzaXplVHlwZT1cInhzXCIgaWNvbk5hbWU9XCJzeXN0ZW1fZWRpdFwiIChidXR0b25DbGljayk9XCJvbkVkaXRTZWN0aW9uQ2xpY2soKTtcIj48L3BlcC1idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcGVwLWRyYWdnYWJsZS1pdGVtPlxuXG4gICAgPGRpdiAqbmdJZj1cImVkaXRhYmxlXCIgY2xhc3M9XCJzZWN0aW9uLWJhY2tncm91bmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhY2stdGVtcGxhdGVcIiAqbmdGb3I9XCJsZXQgbnVtYmVyIG9mIFswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExXVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgI2NvbHVtbnNXcmFwcGVyIGNsYXNzPVwiY29sdW1ucy13cmFwcGVyIGdhcC17eyBjb2x1bW5zR2FwIH19XCIgXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ21vYmlsZSc6IHNjcmVlblR5cGUgPT09ICdQaGFibGV0JywgJ2lzLWRyYWdnaW5nJzogZWRpdGFibGUgJiYgZ2V0SXNEcmFnZ2luZyB9XCI+XG4gICAgICAgIDxkaXYgW2lkXT1cInNlY3Rpb25Db2x1bW5LZXlQcmVmaXggKyBpXCIgXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpPWluZGV4O1wiXG4gICAgICAgICAgICBjbGFzcz1cInNlY3Rpb24tY29sdW1uIHt7c2NyZWVuU2l6ZSA8PSBwZXBTY3JlZW5TaXplVG9GbGlwVG9WZXJ0aWNhbCA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCd9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtY29sdW1uJzogc2VsZWN0ZWRCbG9ja0tleSA9PT0gY29sdW1uLkJsb2NrQ29udGFpbmVyPy5CbG9ja0tleSwgXG4gICAgICAgICAgICAgICAgJ2lzLWhpZGRlbic6IGdldElzSGlkZGVuKGNvbHVtbj8uQmxvY2tDb250YWluZXI/LkhpZGUsIHNjcmVlblR5cGUpLFxuICAgICAgICAgICAgICAgICdhbHJlYWR5LWNvbnRhaW5zLWJsb2NrJzogZWRpdGFibGUgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyICYmIGNvbHVtbi5CbG9ja0NvbnRhaW5lci5CbG9ja0tleSAmJiBjb2x1bW4uQmxvY2tDb250YWluZXIuQmxvY2tLZXkubGVuZ3RoID4gMCAmJiBcbiAgICAgICAgICAgICAgICAgICAgZHJhZ2dpbmdCbG9ja0tleSAmJiBkcmFnZ2luZ0Jsb2NrS2V5Lmxlbmd0aCA+IDAgJiYgY29sdW1uLkJsb2NrQ29udGFpbmVyLkJsb2NrS2V5ICE9PSBkcmFnZ2luZ0Jsb2NrS2V5IH1cIlxuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sdW1uXCJcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cInNjcmVlblNpemUgPD0gcGVwU2NyZWVuU2l6ZVRvRmxpcFRvVmVydGljYWwgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnXCIgXG4gICAgICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJzZWN0aW9uc0NvbHVtbnNEcm9wTGlzdFwiXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uQmxvY2tEcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwiY2FuRHJvcFByZWRpY2F0ZShpKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzZWN0aW9uLWJsb2NrICpuZ0lmPVwiY29sdW1uLkJsb2NrQ29udGFpbmVyPy5CbG9ja0tleVwiIGNsYXNzPVwic2VjdGlvbi1ibG9ja1wiIFtzZWN0aW9uS2V5XT1cImtleVwiIFtibG9ja1RlbXBsYXRlXT1cImJsb2NrVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtibG9ja0NvbnRhaW5lcl09XCJjb2x1bW4uQmxvY2tDb250YWluZXJcIiBbZWRpdGFibGVdPVwiZWRpdGFibGVcIiBbaXNNYWluRWRpdG9yU3RhdGVdPVwiaXNNYWluRWRpdG9yU3RhdGVcIiBbc2VjdGlvbkhlaWdodF09XCJzdHlsZUhlaWdodFwiXG4gICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJzZWxlY3RlZEJsb2NrS2V5ID09PSBjb2x1bW4uQmxvY2tDb250YWluZXI/LkJsb2NrS2V5XCIgW3NjcmVlblR5cGVdPVwic2NyZWVuVHlwZVwiXG4gICAgICAgICAgICAgICAgKGRyYWdFeGl0ZWQpPVwib25TZWN0aW9uQmxvY2tEcmFnRXhpdGVkKCRldmVudClcIiAoZHJhZ0VudGVyZWQpPVwib25TZWN0aW9uQmxvY2tEcmFnRW50ZXJlZCgkZXZlbnQpXCI+PC9zZWN0aW9uLWJsb2NrPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SectionComponent } from './section.component';
|
|
4
|
+
import { SectionBlockModule } from '../section-block/section-block.module';
|
|
5
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
6
|
+
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
7
|
+
import { PepRemoteLoaderModule } from '@pepperi-addons/ngx-lib/remote-loader';
|
|
8
|
+
import { PepHideInModule } from '../hide-in/hide-in.module';
|
|
9
|
+
import { PepDraggableItemsModule } from '@pepperi-addons/ngx-lib/draggable-items';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class SectionModule {
|
|
12
|
+
}
|
|
13
|
+
SectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
SectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: SectionModule, declarations: [SectionComponent], imports: [CommonModule,
|
|
15
|
+
DragDropModule,
|
|
16
|
+
PepButtonModule,
|
|
17
|
+
PepRemoteLoaderModule,
|
|
18
|
+
SectionBlockModule,
|
|
19
|
+
PepHideInModule,
|
|
20
|
+
PepDraggableItemsModule], exports: [SectionComponent] });
|
|
21
|
+
SectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionModule, imports: [CommonModule,
|
|
22
|
+
DragDropModule,
|
|
23
|
+
PepButtonModule,
|
|
24
|
+
PepRemoteLoaderModule,
|
|
25
|
+
SectionBlockModule,
|
|
26
|
+
PepHideInModule,
|
|
27
|
+
PepDraggableItemsModule] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
declarations: [SectionComponent],
|
|
32
|
+
imports: [
|
|
33
|
+
CommonModule,
|
|
34
|
+
DragDropModule,
|
|
35
|
+
PepButtonModule,
|
|
36
|
+
PepRemoteLoaderModule,
|
|
37
|
+
SectionBlockModule,
|
|
38
|
+
PepHideInModule,
|
|
39
|
+
PepDraggableItemsModule,
|
|
40
|
+
// TranslateModule.forChild()
|
|
41
|
+
],
|
|
42
|
+
exports: [SectionComponent]
|
|
43
|
+
}]
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9sYXlvdXQtYnVpbGRlci9zZWN0aW9uL3NlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQWdCbEYsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkFiUCxnQkFBZ0IsYUFFM0IsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsdUJBQXVCLGFBR2pCLGdCQUFnQjsyR0FFakIsYUFBYSxZQVhsQixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZix1QkFBdUI7MkZBS2xCLGFBQWE7a0JBZHpCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLDZCQUE2QjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWN0aW9uQmxvY2tNb2R1bGUgfSBmcm9tICcuLi9zZWN0aW9uLWJsb2NrL3NlY3Rpb24tYmxvY2subW9kdWxlJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBQZXBCdXR0b25Nb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvcmVtb3RlLWxvYWRlcic7XG5cbmltcG9ydCB7IFBlcEhpZGVJbk1vZHVsZSB9IGZyb20gJy4uL2hpZGUtaW4vaGlkZS1pbi5tb2R1bGUnO1xuaW1wb3J0IHsgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kcmFnZ2FibGUtaXRlbXMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1NlY3Rpb25Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICAgICAgUGVwQnV0dG9uTW9kdWxlLFxuICAgICAgICBQZXBSZW1vdGVMb2FkZXJNb2R1bGUsXG4gICAgICAgIFNlY3Rpb25CbG9ja01vZHVsZSxcbiAgICAgICAgUGVwSGlkZUluTW9kdWxlLFxuICAgICAgICBQZXBEcmFnZ2FibGVJdGVtc01vZHVsZSxcbiAgICAgICAgLy8gVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKClcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtTZWN0aW9uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uTW9kdWxlIHsgfVxuIl19
|