kwikid-forms 0.3.2 → 0.3.4

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.
Files changed (43) hide show
  1. package/bundles/kwikid-forms.umd.js +1396 -393
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder.component.js +86 -67
  4. package/esm2015/lib/builder/builder.module.js +52 -7
  5. package/esm2015/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.js +72 -0
  6. package/esm2015/lib/builder/element-config-editor/editors/basic/date-config.editor.component.js +72 -0
  7. package/esm2015/lib/builder/element-config-editor/editors/basic/number-config.editor.component.js +72 -0
  8. package/esm2015/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.js +130 -0
  9. package/esm2015/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.js +130 -0
  10. package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +241 -147
  11. package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +48 -51
  12. package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +475 -333
  13. package/esm2015/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.js +130 -0
  14. package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +135 -0
  15. package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +610 -0
  16. package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js +120 -0
  17. package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js +121 -0
  18. package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js +214 -0
  19. package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +6 -3
  20. package/esm2015/lib/builder/shared/elements.js +33 -8
  21. package/esm2015/lib/renderer/config-converter.helper.js +2 -2
  22. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +1 -1
  23. package/esm2015/lib/renderer/form-view/form-view.component.js +29 -14
  24. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +17 -15
  25. package/esm2015/lib/renderer/renderer.component.js +1 -2
  26. package/fesm2015/kwikid-forms.js +2787 -738
  27. package/fesm2015/kwikid-forms.js.map +1 -1
  28. package/lib/builder/builder.component.d.ts +4 -0
  29. package/lib/builder/builder.module.d.ts +16 -5
  30. package/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.d.ts +16 -0
  31. package/lib/builder/element-config-editor/editors/basic/date-config.editor.component.d.ts +16 -0
  32. package/lib/builder/element-config-editor/editors/basic/number-config.editor.component.d.ts +16 -0
  33. package/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.d.ts +16 -0
  34. package/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.d.ts +16 -0
  35. package/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.d.ts +16 -0
  36. package/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.d.ts +16 -0
  37. package/lib/builder/element-config-editor/editors/document-element-config.editor.component.d.ts +20 -0
  38. package/lib/builder/element-config-editor/editors/other/html-config.editor.component.d.ts +16 -0
  39. package/lib/builder/element-config-editor/editors/other/title-config.editor.component.d.ts +16 -0
  40. package/lib/builder/element-config-editor/editors/other-element-config.editor.component.d.ts +20 -0
  41. package/lib/builder/shared/elements.d.ts +3 -1
  42. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +3 -1
  43. package/package.json +1 -1
@@ -0,0 +1,120 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
+ import { FormControl, FormGroup } from "@angular/forms";
4
+ import { logMethod } from "kwikid-toolkit";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "kwikui";
7
+ import * as i2 from "@angular/forms";
8
+ export class OtherHTMLConfigEditor {
9
+ constructor() {
10
+ this.saveOtherClickCounter = 0;
11
+ this.elementConfig = {
12
+ html: ""
13
+ };
14
+ this.updateElement = new EventEmitter();
15
+ this.otherHTMLFormGroup = undefined;
16
+ }
17
+ ngOnInit() {
18
+ this.createOtherHTMLFormGroup();
19
+ }
20
+ ngOnChanges(changes) {
21
+ var _a;
22
+ const verifyChange = (key) => {
23
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
24
+ };
25
+ if (verifyChange("elementConfig")) {
26
+ this.elementConfig = changes.elementConfig.currentValue;
27
+ (_a = this.otherHTMLFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
28
+ }
29
+ if (verifyChange("saveOtherClickCounter")) {
30
+ if (changes.saveOtherClickCounter.previousValue !==
31
+ changes.saveOtherClickCounter.currentValue) {
32
+ this.saveOtherClickCounter = changes.saveOtherClickCounter.currentValue;
33
+ this.handleOnSave();
34
+ }
35
+ }
36
+ }
37
+ createOtherHTMLFormGroup() {
38
+ this.otherHTMLFormGroup = new FormGroup({
39
+ html: new FormControl(this.elementConfig.html, {
40
+ updateOn: "change"
41
+ })
42
+ });
43
+ this.otherHTMLFormGroup.updateValueAndValidity();
44
+ }
45
+ handleOnSave() {
46
+ let otherElementConfig = this.otherHTMLFormGroup.getRawValue();
47
+ this.updateElement.emit({
48
+ otherElementConfig: otherElementConfig
49
+ });
50
+ }
51
+ }
52
+ /** @nocollapse */ OtherHTMLConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherHTMLConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ /** @nocollapse */ OtherHTMLConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OtherHTMLConfigEditor, selector: "other-html-config-editor", inputs: { saveOtherClickCounter: "saveOtherClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
54
+ <form [formGroup]="otherHTMLFormGroup">
55
+ <div formGroupName="properties">
56
+ <fieldset>
57
+ <legend class="form-group-title">Miscellaneous</legend>
58
+ <div class="form-group">
59
+ <kwikui-textarea
60
+ [label]="'HTML'"
61
+ [id]="'form_key'"
62
+ [formControlName]="'html'"
63
+ [formControl]="otherHTMLFormGroup.controls['html']"
64
+ [disabled]="false"
65
+ [focus]="false"
66
+ [invalid]="false"
67
+ size="m"
68
+ ></kwikui-textarea>
69
+ </div>
70
+ </fieldset>
71
+ </div>
72
+ </form>
73
+ `, isInline: true, styles: [""], components: [{ type: i1.KwikUITextareaComponent, selector: "kwikui-textarea", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "size", "expandable", "properties"], outputs: ["getKeyValue"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
74
+ __decorate([
75
+ logMethod
76
+ ], OtherHTMLConfigEditor.prototype, "ngOnInit", null);
77
+ __decorate([
78
+ logMethod
79
+ ], OtherHTMLConfigEditor.prototype, "ngOnChanges", null);
80
+ __decorate([
81
+ logMethod
82
+ ], OtherHTMLConfigEditor.prototype, "createOtherHTMLFormGroup", null);
83
+ __decorate([
84
+ logMethod
85
+ ], OtherHTMLConfigEditor.prototype, "handleOnSave", null);
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherHTMLConfigEditor, decorators: [{
87
+ type: Component,
88
+ args: [{
89
+ selector: "other-html-config-editor",
90
+ template: `
91
+ <form [formGroup]="otherHTMLFormGroup">
92
+ <div formGroupName="properties">
93
+ <fieldset>
94
+ <legend class="form-group-title">Miscellaneous</legend>
95
+ <div class="form-group">
96
+ <kwikui-textarea
97
+ [label]="'HTML'"
98
+ [id]="'form_key'"
99
+ [formControlName]="'html'"
100
+ [formControl]="otherHTMLFormGroup.controls['html']"
101
+ [disabled]="false"
102
+ [focus]="false"
103
+ [invalid]="false"
104
+ size="m"
105
+ ></kwikui-textarea>
106
+ </div>
107
+ </fieldset>
108
+ </div>
109
+ </form>
110
+ `,
111
+ styles: [``]
112
+ }]
113
+ }], ctorParameters: function () { return []; }, propDecorators: { saveOtherClickCounter: [{
114
+ type: Input
115
+ }], elementConfig: [{
116
+ type: Input
117
+ }], updateElement: [{
118
+ type: Output
119
+ }], ngOnInit: [], ngOnChanges: [], createOtherHTMLFormGroup: [], handleOnSave: [] } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvb3RoZXIvaHRtbC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQTJCM0MsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVpBLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUdsQyxrQkFBYSxHQUFRO1lBQ25CLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUdGLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4Qyx1QkFBa0IsR0FBYyxTQUFTLENBQUM7SUFFM0IsQ0FBQztJQUdoQixRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUdELFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1lBQ3pDLElBQ0UsT0FBTyxDQUFDLHFCQUFxQixDQUFDLGFBQWE7Z0JBQzNDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQzFDO2dCQUNBLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDO2dCQUV4RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3RDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtnQkFDN0MsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsa0JBQWtCLEVBQUUsa0JBQWtCO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NJQTVEVSxxQkFBcUI7MEhBQXJCLHFCQUFxQiw4TkF2QnRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtBQW9CRDtJQURDLFNBQVM7cURBR1Q7QUFHRDtJQURDLFNBQVM7d0RBb0JUO0FBR0Q7SUFEQyxTQUFTO3FFQVFUO0FBR0Q7SUFEQyxTQUFTO3lEQU9UOzRGQTVEVSxxQkFBcUI7a0JBekJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBTU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1Bc0JYLHdCQUF3QixNQVV4QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJvdGhlci1odG1sLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm90aGVySFRNTEZvcm1Hcm91cFwiPlxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwicHJvcGVydGllc1wiPlxuICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5NaXNjZWxsYW5lb3VzPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktdGV4dGFyZWFcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidIVE1MJ1wiXG4gICAgICAgICAgICAgIFtpZF09XCInZm9ybV9rZXknXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInaHRtbCdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwib3RoZXJIVE1MRm9ybUdyb3VwLmNvbnRyb2xzWydodG1sJ11cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgID48L2t3aWt1aS10ZXh0YXJlYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIE90aGVySFRNTENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVPdGhlckNsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB7XG4gICAgaHRtbDogXCJcIlxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgb3RoZXJIVE1MRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVPdGhlckhUTUxGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMub3RoZXJIVE1MRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwic2F2ZU90aGVyQ2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZU90aGVyQ2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZU90aGVyQ2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2F2ZU90aGVyQ2xpY2tDb3VudGVyID0gY2hhbmdlcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlT25TYXZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBjcmVhdGVPdGhlckhUTUxGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5vdGhlckhUTUxGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGh0bWw6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcuaHRtbCwge1xuICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgfSlcbiAgICB9KTtcbiAgICB0aGlzLm90aGVySFRNTEZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uU2F2ZSgpIHtcbiAgICBsZXQgb3RoZXJFbGVtZW50Q29uZmlnID0gdGhpcy5vdGhlckhUTUxGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHtcbiAgICAgIG90aGVyRWxlbWVudENvbmZpZzogb3RoZXJFbGVtZW50Q29uZmlnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,121 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
+ import { FormControl, FormGroup } from "@angular/forms";
4
+ import { logMethod } from "kwikid-toolkit";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "kwikui";
7
+ import * as i2 from "@angular/forms";
8
+ export class OtherTitleConfigEditor {
9
+ constructor() {
10
+ this.saveOtherClickCounter = 0;
11
+ this.elementConfig = {
12
+ label: ""
13
+ };
14
+ this.updateElement = new EventEmitter();
15
+ this.otherTitleFormGroup = undefined;
16
+ }
17
+ ngOnInit() {
18
+ this.createOtherTitleFormGroup();
19
+ }
20
+ ngOnChanges(changes) {
21
+ const verifyChange = (key) => {
22
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
23
+ };
24
+ if (verifyChange("elementConfig")) {
25
+ this.elementConfig = changes.elementConfig.currentValue;
26
+ this.otherTitleFormGroup.reset(this.elementConfig);
27
+ }
28
+ if (verifyChange("saveOtherClickCounter")) {
29
+ if (changes.saveOtherClickCounter.previousValue !==
30
+ changes.saveOtherClickCounter.currentValue) {
31
+ this.saveOtherClickCounter = changes.saveOtherClickCounter.currentValue;
32
+ this.handleOnSave();
33
+ }
34
+ }
35
+ }
36
+ createOtherTitleFormGroup() {
37
+ this.otherTitleFormGroup = new FormGroup({
38
+ label: new FormControl(this.elementConfig.label, {
39
+ updateOn: "change"
40
+ })
41
+ });
42
+ this.otherTitleFormGroup.updateValueAndValidity();
43
+ }
44
+ handleOnSave() {
45
+ let otherElementConfig = this.otherTitleFormGroup.getRawValue();
46
+ this.updateElement.emit({
47
+ otherElementConfig: otherElementConfig
48
+ });
49
+ }
50
+ }
51
+ /** @nocollapse */ OtherTitleConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherTitleConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
+ /** @nocollapse */ OtherTitleConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OtherTitleConfigEditor, selector: "other-title-config-editor", inputs: { saveOtherClickCounter: "saveOtherClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
53
+ <form [formGroup]="otherTitleFormGroup">
54
+ <div formGroupName="properties">
55
+ <fieldset>
56
+ <legend class="form-group-title">Miscellaneous</legend>
57
+ <kwikui-input
58
+ [label]="'Label'"
59
+ [id]="'form_key'"
60
+ [type]="'text'"
61
+ [formControlName]="'label'"
62
+ [formControl]="otherTitleFormGroup.controls['label']"
63
+ [disabled]="false"
64
+ [placeholder]="'Please enter your Label'"
65
+ [focus]="false"
66
+ [invalid]="false"
67
+ [case]="'default'"
68
+ size="m"
69
+ ></kwikui-input>
70
+ </fieldset>
71
+ </div>
72
+ </form>
73
+ `, isInline: true, styles: [""], components: [{ type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
74
+ __decorate([
75
+ logMethod
76
+ ], OtherTitleConfigEditor.prototype, "ngOnInit", null);
77
+ __decorate([
78
+ logMethod
79
+ ], OtherTitleConfigEditor.prototype, "ngOnChanges", null);
80
+ __decorate([
81
+ logMethod
82
+ ], OtherTitleConfigEditor.prototype, "createOtherTitleFormGroup", null);
83
+ __decorate([
84
+ logMethod
85
+ ], OtherTitleConfigEditor.prototype, "handleOnSave", null);
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherTitleConfigEditor, decorators: [{
87
+ type: Component,
88
+ args: [{
89
+ selector: "other-title-config-editor",
90
+ template: `
91
+ <form [formGroup]="otherTitleFormGroup">
92
+ <div formGroupName="properties">
93
+ <fieldset>
94
+ <legend class="form-group-title">Miscellaneous</legend>
95
+ <kwikui-input
96
+ [label]="'Label'"
97
+ [id]="'form_key'"
98
+ [type]="'text'"
99
+ [formControlName]="'label'"
100
+ [formControl]="otherTitleFormGroup.controls['label']"
101
+ [disabled]="false"
102
+ [placeholder]="'Please enter your Label'"
103
+ [focus]="false"
104
+ [invalid]="false"
105
+ [case]="'default'"
106
+ size="m"
107
+ ></kwikui-input>
108
+ </fieldset>
109
+ </div>
110
+ </form>
111
+ `,
112
+ styles: [``]
113
+ }]
114
+ }], ctorParameters: function () { return []; }, propDecorators: { saveOtherClickCounter: [{
115
+ type: Input
116
+ }], elementConfig: [{
117
+ type: Input
118
+ }], updateElement: [{
119
+ type: Output
120
+ }], ngOnInit: [], ngOnChanges: [], createOtherTitleFormGroup: [], handleOnSave: [] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtY29uZmlnLmVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lZGl0b3JzL290aGVyL3RpdGxlLWNvbmZpZy5lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNEIzQyxNQUFNLE9BQU8sc0JBQXNCO0lBY2pDO1FBWkEsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBR2xDLGtCQUFhLEdBQVE7WUFDbkIsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO1FBR0Ysa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLHdCQUFtQixHQUFjLFNBQVMsQ0FBQztJQUU1QixDQUFDO0lBR2hCLFFBQVE7UUFDTixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBR0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUN6QyxJQUNFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhO2dCQUMzQyxPQUFPLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUMxQztnQkFDQSxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQztnQkFFeEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDO0lBR0QseUJBQXlCO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN2QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9DLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBR0QsWUFBWTtRQUNWLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLGtCQUFrQixFQUFFLGtCQUFrQjtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDOzt1SUE1RFUsc0JBQXNCOzJIQUF0QixzQkFBc0IsK05BeEJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUO0FBb0JEO0lBREMsU0FBUztzREFHVDtBQUdEO0lBREMsU0FBUzt5REFvQlQ7QUFHRDtJQURDLFNBQVM7dUVBUVQ7QUFHRDtJQURDLFNBQVM7MERBT1Q7NEZBNURVLHNCQUFzQjtrQkExQmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBTU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1Bc0JYLHlCQUF5QixNQVV6QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJvdGhlci10aXRsZS1jb25maWctZWRpdG9yXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJvdGhlclRpdGxlRm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJwcm9wZXJ0aWVzXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPk1pc2NlbGxhbmVvdXM8L2xlZ2VuZD5cbiAgICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0xhYmVsJ1wiXG4gICAgICAgICAgICBbaWRdPVwiJ2Zvcm1fa2V5J1wiXG4gICAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbGFiZWwnXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJvdGhlclRpdGxlRm9ybUdyb3VwLmNvbnRyb2xzWydsYWJlbCddXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIExhYmVsJ1wiXG4gICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2Nhc2VdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICA+PC9rd2lrdWktaW5wdXQ+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBPdGhlclRpdGxlQ29uZmlnRWRpdG9yIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2F2ZU90aGVyQ2xpY2tDb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIGVsZW1lbnRDb25maWc6IGFueSA9IHtcbiAgICBsYWJlbDogXCJcIlxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgb3RoZXJUaXRsZUZvcm1Hcm91cDogRm9ybUdyb3VwID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBAbG9nTWV0aG9kXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlT3RoZXJUaXRsZUZvcm1Hcm91cCgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJlbGVtZW50Q29uZmlnXCIpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRDb25maWcgPSBjaGFuZ2VzLmVsZW1lbnRDb25maWcuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5vdGhlclRpdGxlRm9ybUdyb3VwLnJlc2V0KHRoaXMuZWxlbWVudENvbmZpZyk7XG4gICAgfVxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJzYXZlT3RoZXJDbGlja0NvdW50ZXJcIikpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIucHJldmlvdXNWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIgPSBjaGFuZ2VzLnNhdmVPdGhlckNsaWNrQ291bnRlci5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVPblNhdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNyZWF0ZU90aGVyVGl0bGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5vdGhlclRpdGxlRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBsYWJlbDogbmV3IEZvcm1Db250cm9sKHRoaXMuZWxlbWVudENvbmZpZy5sYWJlbCwge1xuICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgfSlcbiAgICB9KTtcbiAgICB0aGlzLm90aGVyVGl0bGVGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgbGV0IG90aGVyRWxlbWVudENvbmZpZyA9IHRoaXMub3RoZXJUaXRsZUZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgdGhpcy51cGRhdGVFbGVtZW50LmVtaXQoe1xuICAgICAgb3RoZXJFbGVtZW50Q29uZmlnOiBvdGhlckVsZW1lbnRDb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,214 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
+ import { FormControl, FormGroup } from "@angular/forms";
4
+ import { logMethod } from "kwikid-toolkit";
5
+ import _ from "lodash";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "kwikui";
8
+ import * as i2 from "./other/html-config.editor.component";
9
+ import * as i3 from "./other/title-config.editor.component";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/forms";
12
+ export class OtherElementConfigEditor {
13
+ constructor() {
14
+ this.saveClickCounter = 0;
15
+ this.elementConfig = {
16
+ key: ""
17
+ };
18
+ this.updateElement = new EventEmitter();
19
+ this.elementType = "";
20
+ this.saveOtherClickCounter = 0;
21
+ this.otherFormGroup = undefined;
22
+ }
23
+ ngOnInit() {
24
+ this.assignVariables();
25
+ this.createOtherFormGroup();
26
+ }
27
+ ngOnChanges(changes) {
28
+ var _a;
29
+ const verifyChange = (key) => {
30
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
31
+ };
32
+ if (verifyChange("elementConfig")) {
33
+ this.elementConfig = changes.elementConfig.currentValue;
34
+ this.assignVariables();
35
+ (_a = this.otherFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
36
+ }
37
+ if (verifyChange("saveClickCounter")) {
38
+ if (changes.saveClickCounter.previousValue !==
39
+ changes.saveClickCounter.currentValue) {
40
+ this.saveClickCounter = changes.saveClickCounter.currentValue;
41
+ this.handleOnSave();
42
+ }
43
+ }
44
+ }
45
+ assignVariables() {
46
+ this.elementType = this.elementConfig.elementType;
47
+ }
48
+ createOtherFormGroup() {
49
+ this.otherFormGroup = new FormGroup({
50
+ key: new FormControl(this.elementConfig.key)
51
+ });
52
+ this.otherFormGroup.updateValueAndValidity();
53
+ }
54
+ handleOnSaveUpdateElement(event) {
55
+ // Get Common Config
56
+ let otherElementCommonConfig = this.otherFormGroup.getRawValue();
57
+ otherElementCommonConfig.key = otherElementCommonConfig.key.replace(/\s/g, "_");
58
+ // Get Other Element Config
59
+ const otherElementConfig = event.otherElementConfig;
60
+ this.elementConfig = _.merge(this.elementConfig, otherElementCommonConfig, otherElementConfig);
61
+ this.updateElement.emit({ elementConfig: this.elementConfig });
62
+ }
63
+ handleOnSave() {
64
+ this.saveOtherClickCounter++;
65
+ }
66
+ }
67
+ /** @nocollapse */ OtherElementConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherElementConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ /** @nocollapse */ OtherElementConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OtherElementConfigEditor, selector: "other-element-config-editor", inputs: { saveClickCounter: "saveClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: `
69
+ <ng-container *ngIf="elementConfig !== undefined">
70
+ <kwikui-table
71
+ style="width: 100%; height: 100%; overflow: auto; box-shadow: 0px 0px 10px -6px #000; border: 0px solid gray; border-radius: 1rem;"
72
+ [columns]="['id', 'type', 'category']"
73
+ [headers]="{ id: 'ID', type: 'Type', category: 'Category' }"
74
+ [data]="[
75
+ {
76
+ id: elementConfig.elementId,
77
+ type: elementConfig.elementType,
78
+ category: elementConfig.elementCategory
79
+ }
80
+ ]"
81
+ (onClick)="(undefined)"
82
+ ></kwikui-table>
83
+ </ng-container>
84
+ <form [formGroup]="otherFormGroup">
85
+ <fieldset>
86
+ <legend class="form-group-title">Standard</legend>
87
+ <kwikui-input
88
+ [label]="'Key'"
89
+ [id]="'basic-field-key'"
90
+ [type]="'text'"
91
+ [formControlName]="'key'"
92
+ [formControl]="otherFormGroup.controls['key']"
93
+ [disabled]="false"
94
+ [placeholder]="'Please enter your Field Key'"
95
+ [focus]="false"
96
+ [invalid]="false"
97
+ [case]="'default'"
98
+ size="m"
99
+ ></kwikui-input>
100
+ </fieldset>
101
+
102
+ <ng-container [ngSwitch]="elementType">
103
+ <ng-container *ngSwitchCase="'html'">
104
+ <other-html-config-editor
105
+ [saveOtherClickCounter]="saveOtherClickCounter"
106
+ [elementConfig]="elementConfig"
107
+ (updateElement)="handleOnSaveUpdateElement($event)"
108
+ ></other-html-config-editor>
109
+ </ng-container>
110
+ <ng-container *ngSwitchCase="'title'">
111
+ <other-title-config-editor
112
+ [saveOtherClickCounter]="saveOtherClickCounter"
113
+ [elementConfig]="elementConfig"
114
+ (updateElement)="handleOnSaveUpdateElement($event)"
115
+ ></other-title-config-editor>
116
+ </ng-container>
117
+ </ng-container>
118
+ </form>
119
+ `, isInline: true, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n justify-content: flex-start;\n align-items: stretch;\n gap: 1rem;\n }\n "], components: [{ type: i1.KwikUITableComponent, selector: "kwikui-table", inputs: ["id", "columns", "headers", "data"], outputs: ["onClick"] }, { type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i2.OtherHTMLConfigEditor, selector: "other-html-config-editor", inputs: ["saveOtherClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i3.OtherTitleConfigEditor, selector: "other-title-config-editor", inputs: ["saveOtherClickCounter", "elementConfig"], outputs: ["updateElement"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
120
+ __decorate([
121
+ logMethod
122
+ ], OtherElementConfigEditor.prototype, "ngOnInit", null);
123
+ __decorate([
124
+ logMethod
125
+ ], OtherElementConfigEditor.prototype, "ngOnChanges", null);
126
+ __decorate([
127
+ logMethod
128
+ ], OtherElementConfigEditor.prototype, "assignVariables", null);
129
+ __decorate([
130
+ logMethod
131
+ ], OtherElementConfigEditor.prototype, "createOtherFormGroup", null);
132
+ __decorate([
133
+ logMethod
134
+ ], OtherElementConfigEditor.prototype, "handleOnSaveUpdateElement", null);
135
+ __decorate([
136
+ logMethod
137
+ ], OtherElementConfigEditor.prototype, "handleOnSave", null);
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OtherElementConfigEditor, decorators: [{
139
+ type: Component,
140
+ args: [{
141
+ selector: "other-element-config-editor",
142
+ template: `
143
+ <ng-container *ngIf="elementConfig !== undefined">
144
+ <kwikui-table
145
+ style="width: 100%; height: 100%; overflow: auto; box-shadow: 0px 0px 10px -6px #000; border: 0px solid gray; border-radius: 1rem;"
146
+ [columns]="['id', 'type', 'category']"
147
+ [headers]="{ id: 'ID', type: 'Type', category: 'Category' }"
148
+ [data]="[
149
+ {
150
+ id: elementConfig.elementId,
151
+ type: elementConfig.elementType,
152
+ category: elementConfig.elementCategory
153
+ }
154
+ ]"
155
+ (onClick)="(undefined)"
156
+ ></kwikui-table>
157
+ </ng-container>
158
+ <form [formGroup]="otherFormGroup">
159
+ <fieldset>
160
+ <legend class="form-group-title">Standard</legend>
161
+ <kwikui-input
162
+ [label]="'Key'"
163
+ [id]="'basic-field-key'"
164
+ [type]="'text'"
165
+ [formControlName]="'key'"
166
+ [formControl]="otherFormGroup.controls['key']"
167
+ [disabled]="false"
168
+ [placeholder]="'Please enter your Field Key'"
169
+ [focus]="false"
170
+ [invalid]="false"
171
+ [case]="'default'"
172
+ size="m"
173
+ ></kwikui-input>
174
+ </fieldset>
175
+
176
+ <ng-container [ngSwitch]="elementType">
177
+ <ng-container *ngSwitchCase="'html'">
178
+ <other-html-config-editor
179
+ [saveOtherClickCounter]="saveOtherClickCounter"
180
+ [elementConfig]="elementConfig"
181
+ (updateElement)="handleOnSaveUpdateElement($event)"
182
+ ></other-html-config-editor>
183
+ </ng-container>
184
+ <ng-container *ngSwitchCase="'title'">
185
+ <other-title-config-editor
186
+ [saveOtherClickCounter]="saveOtherClickCounter"
187
+ [elementConfig]="elementConfig"
188
+ (updateElement)="handleOnSaveUpdateElement($event)"
189
+ ></other-title-config-editor>
190
+ </ng-container>
191
+ </ng-container>
192
+ </form>
193
+ `,
194
+ styles: [
195
+ `
196
+ :host {
197
+ display: flex;
198
+ flex-direction: column;
199
+ align-content: center;
200
+ justify-content: flex-start;
201
+ align-items: stretch;
202
+ gap: 1rem;
203
+ }
204
+ `
205
+ ]
206
+ }]
207
+ }], ctorParameters: function () { return []; }, propDecorators: { saveClickCounter: [{
208
+ type: Input
209
+ }], elementConfig: [{
210
+ type: Input
211
+ }], updateElement: [{
212
+ type: Output
213
+ }], ngOnInit: [], ngOnChanges: [], assignVariables: [], createOtherFormGroup: [], handleOnSaveUpdateElement: [], handleOnSave: [] } });
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvb3RoZXItZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFxRXZCLE1BQU0sT0FBTyx3QkFBd0I7SUFpQm5DO1FBZkEscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBRzdCLGtCQUFhLEdBQVE7WUFDbkIsR0FBRyxFQUFFLEVBQUU7U0FDUixDQUFDO1FBR0Ysa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUVsQyxtQkFBYyxHQUFjLFNBQVMsQ0FBQztJQUV2QixDQUFDO0lBR2hCLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUdELFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDcEMsSUFDRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYTtnQkFDdEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFDckM7Z0JBQ0EsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7Z0JBRTlELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQztJQUdELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3BELENBQUM7SUFHRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNsQyxHQUFHLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7U0FDN0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFHRCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLG9CQUFvQjtRQUNwQixJQUFJLHdCQUF3QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsd0JBQXdCLENBQUMsR0FBRyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQ2pFLEtBQUssRUFDTCxHQUFHLENBQ0osQ0FBQztRQUVGLDJCQUEyQjtRQUMzQixNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUVwRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQzFCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLHdCQUF3QixFQUN4QixrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7eUlBdEZVLHdCQUF3Qjs2SEFBeEIsd0JBQXdCLHVOQWpFekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDtBQWtDRDtJQURDLFNBQVM7d0RBSVQ7QUFHRDtJQURDLFNBQVM7MkRBc0JUO0FBR0Q7SUFEQyxTQUFTOytEQUdUO0FBR0Q7SUFEQyxTQUFTO29FQU1UO0FBR0Q7SUFEQyxTQUFTO3lFQW1CVDtBQUdEO0lBREMsU0FBUzs0REFHVDs0RkF0RlUsd0JBQXdCO2tCQW5FcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDtvQkFDRCxNQUFNLEVBQUU7d0JBQ047Ozs7Ozs7OztLQVNDO3FCQUNGO2lCQUNGOzBFQUdDLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFNTixhQUFhO3NCQURaLE1BQU07Z0JBV1AsUUFBUSxNQU1SLFdBQVcsTUF3QlgsZUFBZSxNQUtmLG9CQUFvQixNQVFwQix5QkFBeUIsTUFxQnpCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBsb2dNZXRob2QgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm90aGVyLWVsZW1lbnQtY29uZmlnLWVkaXRvclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50Q29uZmlnICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIDxrd2lrdWktdGFibGVcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogYXV0bzsgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC02cHggIzAwMDsgYm9yZGVyOiAwcHggc29saWQgZ3JheTsgYm9yZGVyLXJhZGl1czogMXJlbTtcIlxuICAgICAgICBbY29sdW1uc109XCJbJ2lkJywgJ3R5cGUnLCAnY2F0ZWdvcnknXVwiXG4gICAgICAgIFtoZWFkZXJzXT1cInsgaWQ6ICdJRCcsIHR5cGU6ICdUeXBlJywgY2F0ZWdvcnk6ICdDYXRlZ29yeScgfVwiXG4gICAgICAgIFtkYXRhXT1cIltcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogZWxlbWVudENvbmZpZy5lbGVtZW50SWQsXG4gICAgICAgICAgICB0eXBlOiBlbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IGVsZW1lbnRDb25maWcuZWxlbWVudENhdGVnb3J5XG4gICAgICAgICAgfVxuICAgICAgICBdXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiKHVuZGVmaW5lZClcIlxuICAgICAgPjwva3dpa3VpLXRhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwib3RoZXJGb3JtR3JvdXBcIj5cbiAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5TdGFuZGFyZDwvbGVnZW5kPlxuICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgW2xhYmVsXT1cIidLZXknXCJcbiAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWZpZWxkLWtleSdcIlxuICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIna2V5J1wiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm90aGVyRm9ybUdyb3VwLmNvbnRyb2xzWydrZXknXVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIEZpZWxkIEtleSdcIlxuICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgIFtjYXNlXT1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICA+PC9rd2lrdWktaW5wdXQ+XG4gICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbGVtZW50VHlwZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaHRtbCdcIj5cbiAgICAgICAgICA8b3RoZXItaHRtbC1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZU90aGVyQ2xpY2tDb3VudGVyXT1cInNhdmVPdGhlckNsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvb3RoZXItaHRtbC1jb25maWctZWRpdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiPlxuICAgICAgICAgIDxvdGhlci10aXRsZS1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZU90aGVyQ2xpY2tDb3VudGVyXT1cInNhdmVPdGhlckNsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvb3RoZXItdGl0bGUtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE90aGVyRWxlbWVudENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgZWxlbWVudENvbmZpZzogYW55ID0ge1xuICAgIGtleTogXCJcIlxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZWxlbWVudFR5cGU6IHN0cmluZyA9IFwiXCI7XG4gIHNhdmVPdGhlckNsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBvdGhlckZvcm1Hcm91cDogRm9ybUdyb3VwID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBAbG9nTWV0aG9kXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXNzaWduVmFyaWFibGVzKCk7XG4gICAgdGhpcy5jcmVhdGVPdGhlckZvcm1Hcm91cCgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJlbGVtZW50Q29uZmlnXCIpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRDb25maWcgPSBjaGFuZ2VzLmVsZW1lbnRDb25maWcuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5hc3NpZ25WYXJpYWJsZXMoKTtcbiAgICAgIHRoaXMub3RoZXJGb3JtR3JvdXA/LnJlc2V0KHRoaXMuZWxlbWVudENvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcInNhdmVDbGlja0NvdW50ZXJcIikpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlcy5zYXZlQ2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZUNsaWNrQ291bnRlci5jdXJyZW50VmFsdWVcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNhdmVDbGlja0NvdW50ZXIgPSBjaGFuZ2VzLnNhdmVDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlT25TYXZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBhc3NpZ25WYXJpYWJsZXMoKSB7XG4gICAgdGhpcy5lbGVtZW50VHlwZSA9IHRoaXMuZWxlbWVudENvbmZpZy5lbGVtZW50VHlwZTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgY3JlYXRlT3RoZXJGb3JtR3JvdXAoKSB7XG4gICAgdGhpcy5vdGhlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAga2V5OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLmtleSlcbiAgICB9KTtcbiAgICB0aGlzLm90aGVyRm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25TYXZlVXBkYXRlRWxlbWVudChldmVudDogYW55KSB7XG4gICAgLy8gR2V0IENvbW1vbiBDb25maWdcbiAgICBsZXQgb3RoZXJFbGVtZW50Q29tbW9uQ29uZmlnID0gdGhpcy5vdGhlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICAgIG90aGVyRWxlbWVudENvbW1vbkNvbmZpZy5rZXkgPSBvdGhlckVsZW1lbnRDb21tb25Db25maWcua2V5LnJlcGxhY2UoXG4gICAgICAvXFxzL2csXG4gICAgICBcIl9cIlxuICAgICk7XG5cbiAgICAvLyBHZXQgT3RoZXIgRWxlbWVudCBDb25maWdcbiAgICBjb25zdCBvdGhlckVsZW1lbnRDb25maWcgPSBldmVudC5vdGhlckVsZW1lbnRDb25maWc7XG5cbiAgICB0aGlzLmVsZW1lbnRDb25maWcgPSBfLm1lcmdlKFxuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnLFxuICAgICAgb3RoZXJFbGVtZW50Q29tbW9uQ29uZmlnLFxuICAgICAgb3RoZXJFbGVtZW50Q29uZmlnXG4gICAgKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHsgZWxlbWVudENvbmZpZzogdGhpcy5lbGVtZW50Q29uZmlnIH0pO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlT3RoZXJDbGlja0NvdW50ZXIrKztcbiAgfVxufVxuIl19
@@ -4,7 +4,10 @@ import { FormControl, FormGroup } from "@angular/forms";
4
4
  import { logMethod } from "kwikid-toolkit";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "./editors/basic-element-config.editor.component";
7
- import * as i2 from "@angular/common";
7
+ import * as i2 from "./editors/document-element-config.editor.component";
8
+ import * as i3 from "./editors/other-element-config.editor.component";
9
+ import * as i4 from "kwikui";
10
+ import * as i5 from "@angular/common";
8
11
  export class ElementConfigEditor {
9
12
  constructor() {
10
13
  this.formKey = "";
@@ -52,7 +55,7 @@ export class ElementConfigEditor {
52
55
  }
53
56
  }
54
57
  /** @nocollapse */ ElementConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- /** @nocollapse */ ElementConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementConfigEditor, selector: "element-config-editor", inputs: { formKey: "formKey", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container\" *ngIf=\"elementConfig\">\n <div class=\"element-config-editor-header\">\n '{{ elementConfig.elementType }}' Element Config Editor\n </div>\n <div class=\"element-config-editor-body\"\n ><ng-container [ngSwitch]=\"elementCategory\">\n <!-- Basic -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <basic-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></basic-element-config-editor>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"element-config-editor-footer\">\n <button\n class=\"save-button\"\n type=\"submit\"\n (click)=\"handleOnClickSave()\"\n >\n Save\n </button></div\n >\n</div>\n", styles: ["form{display:flex;align-content:center;justify-content:flex-start;flex:1;flex-direction:column;align-items:stretch;grid-gap:1rem;gap:1rem}.form-group{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:.25rem;gap:.25rem}.container{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem}.container .element-config-editor-footer{display:flex;flex-direction:row;align-items:center;justify-content:center;align-content:center;grid-gap:1rem;gap:1rem}\n", "kwikid-forms-builder button{align-content:center;align-items:center;background:black;border-color:transparent;box-shadow:0 2px 10px -6px #000;border-radius:1rem;color:#fff;cursor:pointer;display:flex;flex-direction:row;justify-content:center;padding:.5rem;transform:scale(1);transition:.05s ease-in}kwikid-forms-builder button:hover{box-shadow:0 2px 10px -5px #000}kwikid-forms-builder button:active{transform:scale(.98);transition:.05s ease-out}kwikid-forms-builder fieldset{display:flex;flex-direction:column;justify-content:center;align-items:stretch;align-content:center;grid-gap:.5rem;gap:.5rem;padding:.5rem 1rem 1rem;box-shadow:0 2px 10px -6px #000;border:1px solid gray}kwikid-forms-builder input,kwikid-forms-builder select{flex:1;width:100%;border:1px solid black;outline:none;padding:.25rem;overflow-x:auto}kwikid-forms-builder table,kwikid-forms-builder tr,kwikid-forms-builder td{border:1px solid black;padding:.5rem 1rem}\n"], components: [{ type: i1.BasicElementConfigEditor, selector: "basic-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None });
58
+ /** @nocollapse */ ElementConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementConfigEditor, selector: "element-config-editor", inputs: { formKey: "formKey", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"container\"\n *ngIf=\"elementConfig\"\n>\n <div class=\"element-config-editor-header\">\n '{{ elementConfig.elementType }}' Element Config Editor\n </div>\n <div class=\"element-config-editor-body\"\n ><ng-container [ngSwitch]=\"elementCategory\">\n <!-- Basic -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <basic-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></basic-element-config-editor>\n </ng-container>\n <!-- Document -->\n <ng-container *ngSwitchCase=\"'document'\">\n <document-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></document-element-config-editor>\n </ng-container>\n <!-- Other -->\n <ng-container *ngSwitchCase=\"'other'\">\n <other-element-config-editor\n [saveClickCounter]=\"saveClickCounter\"\n [elementConfig]=\"elementConfig\"\n (updateElement)=\"handleOnSaveUpdateElement($event)\"\n ></other-element-config-editor>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"element-config-editor-footer\">\n <!-- <button\n class=\"save-button\"\n type=\"submit\"\n (click)=\"handleOnClickSave()\"\n >\n Save\n </button> -->\n <kwikui-button\n [disabled]=\"false\"\n label=\"Save\"\n [showLoader]=\"false\"\n styles=\"\"\n class=\"save-button\"\n type=\"button\"\n appearance=\"primary\"\n icon=\"\"\n iconRight=\"\"\n size=\"m\"\n (onClick)=\"handleOnClickSave()\"\n ></kwikui-button>\n </div>\n</div>\n", styles: ["form{display:flex;align-content:center;justify-content:flex-start;flex:1;flex-direction:column;align-items:stretch;grid-gap:1rem;gap:1rem}.form-group{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;padding:.5rem 0}.form-group-title{margin-top:1rem}.container{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem}.container .element-config-editor-footer{display:flex;flex-direction:row;align-items:center;justify-content:center;align-content:center;grid-gap:1rem;gap:1rem}\n", "kwikid-forms-builder fieldset{display:flex;flex-direction:column;justify-content:center;align-items:stretch;align-content:center;grid-gap:.5rem;gap:.5rem;padding:.5rem 1rem 1rem;box-shadow:0 0 10px -6px #000;border:0px solid gray;border-radius:1rem}kwikid-forms-builder table,kwikid-forms-builder tr,kwikid-forms-builder td{border:1px solid black;padding:.5rem 1rem}kwikui-table table{width:100%;box-shadow:0 0 10px -6px #000;border:0px solid gray;padding:0}\n"], components: [{ type: i1.BasicElementConfigEditor, selector: "basic-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i2.DocumentElementConfigEditor, selector: "document-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i3.OtherElementConfigEditor, selector: "other-element-config-editor", inputs: ["saveClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i4.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None });
56
59
  __decorate([
57
60
  logMethod
58
61
  ], ElementConfigEditor.prototype, "ngOnInit", null);
@@ -86,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
86
89
  }], updateElement: [{
87
90
  type: Output
88
91
  }], ngOnInit: [], ngOnChanges: [], updateFormGroup: [], handleOnSaveUpdateElement: [], handleOnClickSave: [] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VsZW1lbnQtY29uZmlnLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lbGVtZW50LWNvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCO1FBZEEsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUdyQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUcvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0IsMkJBQXNCLEdBQWMsU0FBUyxDQUFDO1FBRTlDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztJQUVkLENBQUM7SUFHaEIsUUFBUSxLQUFJLENBQUM7SUFHYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDN0M7UUFDRCxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBRXhELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7YUFDM0Q7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO2FBQy9EO1NBQ0Y7SUFDSCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMxQyxVQUFVLEVBQUUsSUFBSSxTQUFTLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUN6QztvQkFDRSxRQUFRLEVBQUUsUUFBUTtpQkFDbkIsQ0FDRjthQUNGLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBR0QseUJBQXlCLENBQUMsS0FBVTtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7b0lBakVVLG1CQUFtQjt3SEFBbkIsbUJBQW1CLCtMQ3RCaEMscTBCQTBCQTtBRGVFO0lBREMsU0FBUzttREFDRztBQUdiO0lBREMsU0FBUztzREFtQlQ7QUFHRDtJQURDLFNBQVM7MERBYVQ7QUFHRDtJQURDLFNBQVM7b0VBR1Q7QUFHRDtJQURDLFNBQVM7NERBR1Q7NEZBakVVLG1CQUFtQjtrQkFUL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsd0NBQXdDO29CQUNyRCxTQUFTLEVBQUU7d0JBQ1Qsd0NBQXdDO3dCQUN4Qyx1QkFBdUI7cUJBQ3hCO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzswRUFHQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGFBQWE7c0JBRFosTUFBTTtnQkFZUCxRQUFRLE1BR1IsV0FBVyxNQXFCWCxlQUFlLE1BZWYseUJBQXlCLE1BS3pCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGxvZ01ldGhvZCB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZWxlbWVudC1jb25maWctZWRpdG9yXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1xuICAgIFwiLi9lbGVtZW50LWNvbmZpZy1lZGl0b3IuY29tcG9uZW50LnNjc3NcIixcbiAgICBcIi4uL3NoYXJlZC9zaGFyZWQuc2Nzc1wiXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgZm9ybUtleTogc3RyaW5nID0gXCJcIjtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpXG4gIHVwZGF0ZUVsZW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBlbGVtZW50VHlwZTogc3RyaW5nID0gXCJcIjtcbiAgZWxlbWVudENhdGVnb3J5OiBzdHJpbmcgPSBcIlwiO1xuICBlbGVtZW50RWRpdG9yRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB1bmRlZmluZWQ7XG5cbiAgc2F2ZUNsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJmb3JtS2V5XCIpKSB7XG4gICAgICB0aGlzLmZvcm1LZXkgPSBjaGFuZ2VzLmZvcm1LZXkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgaWYgKHRoaXMuZWxlbWVudENvbmZpZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFR5cGUgPSB0aGlzLmVsZW1lbnRDb25maWcuZWxlbWVudFR5cGU7XG4gICAgICAgIHRoaXMuZWxlbWVudENhdGVnb3J5ID0gdGhpcy5lbGVtZW50Q29uZmlnLmVsZW1lbnRDYXRlZ29yeTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIidlbGVtZW50Q29uZmlnJyBkb2Vzbid0IGhhdmUgJ2VsZW1lbnRUeXBlJ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIHVwZGF0ZUZvcm1Hcm91cCgpIHtcbiAgICB0aGlzLmVsZW1lbnRFZGl0b3JGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIHByb3BlcnRpZXM6IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBvcmllbnRhdGlvbjogbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgIHRoaXMuZWxlbWVudENvbmZpZy5wcm9wZXJ0aWVzLm9yaWVudGF0aW9uLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuZWxlbWVudEVkaXRvckZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja1NhdmUoKSB7XG4gICAgdGhpcy5zYXZlQ2xpY2tDb3VudGVyKys7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiAqbmdJZj1cImVsZW1lbnRDb25maWdcIj5cbiAgPGRpdiBjbGFzcz1cImVsZW1lbnQtY29uZmlnLWVkaXRvci1oZWFkZXJcIj5cbiAgICAne3sgZWxlbWVudENvbmZpZy5lbGVtZW50VHlwZSB9fScgRWxlbWVudCBDb25maWcgRWRpdG9yXG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZWxlbWVudC1jb25maWctZWRpdG9yLWJvZHlcIlxuICAgID48bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbGVtZW50Q2F0ZWdvcnlcIj5cbiAgICAgIDwhLS0gQmFzaWMgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYmFzaWMnXCI+XG4gICAgICAgIDxiYXNpYy1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9iYXNpYy1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbmZpZy1lZGl0b3ItZm9vdGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVPbkNsaWNrU2F2ZSgpXCJcbiAgICA+XG4gICAgICBTYXZlXG4gICAgPC9idXR0b24+PC9kaXZcbiAgPlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VsZW1lbnQtY29uZmlnLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lbGVtZW50LWNvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBVzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCO1FBZEEsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUdyQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUcvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0IsMkJBQXNCLEdBQWMsU0FBUyxDQUFDO1FBRTlDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztJQUVkLENBQUM7SUFHaEIsUUFBUSxLQUFJLENBQUM7SUFHYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDN0M7UUFDRCxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBRXhELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7YUFDM0Q7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO2FBQy9EO1NBQ0Y7SUFDSCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMxQyxVQUFVLEVBQUUsSUFBSSxTQUFTLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUN6QztvQkFDRSxRQUFRLEVBQUUsUUFBUTtpQkFDbkIsQ0FDRjthQUNGLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBR0QseUJBQXlCLENBQUMsS0FBVTtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7b0lBakVVLG1CQUFtQjt3SEFBbkIsbUJBQW1CLCtMQ3RCaEMsOHpEQTBEQTtBRGpCRTtJQURDLFNBQVM7bURBQ0c7QUFHYjtJQURDLFNBQVM7c0RBbUJUO0FBR0Q7SUFEQyxTQUFTOzBEQWFUO0FBR0Q7SUFEQyxTQUFTO29FQUdUO0FBR0Q7SUFEQyxTQUFTOzREQUdUOzRGQWpFVSxtQkFBbUI7a0JBVC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsU0FBUyxFQUFFO3dCQUNULHdDQUF3Qzt3QkFDeEMsdUJBQXVCO3FCQUN4QjtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MEVBR0MsT0FBTztzQkFETixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBWVAsUUFBUSxNQUdSLFdBQVcsTUFxQlgsZUFBZSxNQWVmLHlCQUF5QixNQUt6QixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBsb2dNZXRob2QgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImVsZW1lbnQtY29uZmlnLWVkaXRvclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2VsZW1lbnQtY29uZmlnLWVkaXRvci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vZWxlbWVudC1jb25maWctZWRpdG9yLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgXCIuLi9zaGFyZWQvc2hhcmVkLnNjc3NcIlxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb25maWdFZGl0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGZvcm1LZXk6IHN0cmluZyA9IFwiXCI7XG5cbiAgQElucHV0KClcbiAgZWxlbWVudENvbmZpZzogYW55ID0gdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZWxlbWVudFR5cGU6IHN0cmluZyA9IFwiXCI7XG4gIGVsZW1lbnRDYXRlZ29yeTogc3RyaW5nID0gXCJcIjtcbiAgZWxlbWVudEVkaXRvckZvcm1Hcm91cDogRm9ybUdyb3VwID0gdW5kZWZpbmVkO1xuXG4gIHNhdmVDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkluaXQoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZm9ybUtleVwiKSkge1xuICAgICAgdGhpcy5mb3JtS2V5ID0gY2hhbmdlcy5mb3JtS2V5LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImVsZW1lbnRDb25maWdcIikpIHtcbiAgICAgIHRoaXMuZWxlbWVudENvbmZpZyA9IGNoYW5nZXMuZWxlbWVudENvbmZpZy5jdXJyZW50VmFsdWU7XG5cbiAgICAgIGlmICh0aGlzLmVsZW1lbnRDb25maWcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRUeXBlID0gdGhpcy5lbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlO1xuICAgICAgICB0aGlzLmVsZW1lbnRDYXRlZ29yeSA9IHRoaXMuZWxlbWVudENvbmZpZy5lbGVtZW50Q2F0ZWdvcnk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCInZWxlbWVudENvbmZpZycgZG9lc24ndCBoYXZlICdlbGVtZW50VHlwZSdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICB1cGRhdGVGb3JtR3JvdXAoKSB7XG4gICAgdGhpcy5lbGVtZW50RWRpdG9yRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBwcm9wZXJ0aWVzOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgb3JpZW50YXRpb246IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICB0aGlzLmVsZW1lbnRDb25maWcucHJvcGVydGllcy5vcmllbnRhdGlvbixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9KTtcbiAgICB0aGlzLmVsZW1lbnRFZGl0b3JGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUVsZW1lbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uQ2xpY2tTYXZlKCkge1xuICAgIHRoaXMuc2F2ZUNsaWNrQ291bnRlcisrO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY29udGFpbmVyXCJcbiAgKm5nSWY9XCJlbGVtZW50Q29uZmlnXCJcbj5cbiAgPGRpdiBjbGFzcz1cImVsZW1lbnQtY29uZmlnLWVkaXRvci1oZWFkZXJcIj5cbiAgICAne3sgZWxlbWVudENvbmZpZy5lbGVtZW50VHlwZSB9fScgRWxlbWVudCBDb25maWcgRWRpdG9yXG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZWxlbWVudC1jb25maWctZWRpdG9yLWJvZHlcIlxuICAgID48bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbGVtZW50Q2F0ZWdvcnlcIj5cbiAgICAgIDwhLS0gQmFzaWMgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYmFzaWMnXCI+XG4gICAgICAgIDxiYXNpYy1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9iYXNpYy1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gRG9jdW1lbnQgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZG9jdW1lbnQnXCI+XG4gICAgICAgIDxkb2N1bWVudC1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9kb2N1bWVudC1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gT3RoZXIgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb3RoZXInXCI+XG4gICAgICAgIDxvdGhlci1lbGVtZW50LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICBbc2F2ZUNsaWNrQ291bnRlcl09XCJzYXZlQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICA+PC9vdGhlci1lbGVtZW50LWNvbmZpZy1lZGl0b3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbmZpZy1lZGl0b3ItZm9vdGVyXCI+XG4gICAgPCEtLSA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNhdmUtYnV0dG9uXCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZU9uQ2xpY2tTYXZlKClcIlxuICAgID5cbiAgICAgIFNhdmVcbiAgICA8L2J1dHRvbj4gLS0+XG4gICAgPGt3aWt1aS1idXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICBsYWJlbD1cIlNhdmVcIlxuICAgICAgW3Nob3dMb2FkZXJdPVwiZmFsc2VcIlxuICAgICAgc3R5bGVzPVwiXCJcbiAgICAgIGNsYXNzPVwic2F2ZS1idXR0b25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICBpY29uPVwiXCJcbiAgICAgIGljb25SaWdodD1cIlwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICAob25DbGljayk9XCJoYW5kbGVPbkNsaWNrU2F2ZSgpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19