@unifylib/ui-lib 1.1.25 → 1.1.26
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/esm2022/lib/components/base-form-canvas/base-form-canvas.component.mjs +45 -4
- package/esm2022/lib/components/base-table/base-table.component.mjs +4 -4
- package/esm2022/lib/components/editable-base-table/editable-base-table.component.mjs +2 -2
- package/esm2022/lib/components/section-form-canvas/section-form-canvas.component.mjs +8 -3
- package/esm2022/lib/components/shared/attachment-uploader/attachment-uploader.component.mjs +6 -4
- package/fesm2022/unifylib-ui-lib.mjs +119 -72
- package/fesm2022/unifylib-ui-lib.mjs.map +1 -1
- package/lib/components/base-form-canvas/base-form-canvas.component.d.ts +2 -0
- package/lib/components/base-table/base-table.component.d.ts +1 -0
- package/lib/components/section-form-canvas/section-form-canvas.component.d.ts +3 -1
- package/lib/components/shared/attachment-uploader/attachment-uploader.component.d.ts +2 -1
- package/package.json +1 -1
- package/esm2022/iq-ui-lib.mjs +0 -5
- package/fesm2022/iq-ui-lib.mjs +0 -5852
- package/fesm2022/iq-ui-lib.mjs.map +0 -1
|
@@ -10,6 +10,7 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
import * as i1 from "@ngx-translate/core";
|
|
11
11
|
export class SectionFormCanvasComponent {
|
|
12
12
|
constructor() {
|
|
13
|
+
this.isTranslateSubtitle = true;
|
|
13
14
|
this.hideToggle = true;
|
|
14
15
|
this.isExpanded = true;
|
|
15
16
|
this.alwaysOpen = true;
|
|
@@ -28,7 +29,7 @@ export class SectionFormCanvasComponent {
|
|
|
28
29
|
this.buttonClicked.emit({ ...btn, sectionKey: sectionKey });
|
|
29
30
|
}
|
|
30
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionFormCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionFormCanvasComponent, isStandalone: true, selector: "lib-section-form-canvas", inputs: { pageInfo: "pageInfo", fields: "fields", itemId: "itemId", editable: "editable", hideBackButton: "hideBackButton", item: "item", title: "title", isTranslateTitle: "isTranslateTitle", key: "key", hideToggle: "hideToggle", isExpanded: "isExpanded", alwaysOpen: "alwaysOpen", buttons: "buttons", itemStatus: "itemStatus" }, outputs: { actionEdit: "actionEdit", formEdit: "formEdit", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header class=\"card-header\" (click)=\"toggleExpand()\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <button mat-button *ngIf=\"itemStatus\" class=\"stateType\" [ngClass]=\"itemStatus\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\">\r\n <div class=\"row flex-auto buttons-wrapper\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 20px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.buttons-wrapper .action{min-height:32px!important;min-width:20px!important;width:auto!important;padding:0 12px!important;border-radius:9999px!important}.buttons-wrapper .action .mat-icon{font-size:18px!important;width:18px!important;height:22px!important}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionFormCanvasComponent, isStandalone: true, selector: "lib-section-form-canvas", inputs: { pageInfo: "pageInfo", fields: "fields", itemId: "itemId", editable: "editable", hideBackButton: "hideBackButton", item: "item", title: "title", subtitle: "subtitle", isTranslateTitle: "isTranslateTitle", isTranslateSubtitle: "isTranslateSubtitle", key: "key", hideToggle: "hideToggle", isExpanded: "isExpanded", alwaysOpen: "alwaysOpen", buttons: "buttons", itemStatus: "itemStatus" }, outputs: { actionEdit: "actionEdit", formEdit: "formEdit", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header class=\"card-header\" (click)=\"toggleExpand()\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button mat-button *ngIf=\"itemStatus\" class=\"stateType\" [ngClass]=\"itemStatus\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\">\r\n <div class=\"row flex-auto buttons-wrapper\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 20px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.buttons-wrapper .action{min-height:32px!important;min-width:20px!important;width:auto!important;padding:0 12px!important;border-radius:9999px!important}.buttons-wrapper .action .mat-icon{font-size:18px!important;width:18px!important;height:22px!important}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
32
33
|
}
|
|
33
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionFormCanvasComponent, decorators: [{
|
|
34
35
|
type: Component,
|
|
@@ -45,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
45
46
|
MatExpansionPanelDescription,
|
|
46
47
|
MatExpansionPanelHeader,
|
|
47
48
|
NgForOf
|
|
48
|
-
], template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header class=\"card-header\" (click)=\"toggleExpand()\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <button mat-button *ngIf=\"itemStatus\" class=\"stateType\" [ngClass]=\"itemStatus\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\">\r\n <div class=\"row flex-auto buttons-wrapper\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 20px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.buttons-wrapper .action{min-height:32px!important;min-width:20px!important;width:auto!important;padding:0 12px!important;border-radius:9999px!important}.buttons-wrapper .action .mat-icon{font-size:18px!important;width:18px!important;height:22px!important}}\n"] }]
|
|
49
|
+
], template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header class=\"card-header\" (click)=\"toggleExpand()\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button mat-button *ngIf=\"itemStatus\" class=\"stateType\" [ngClass]=\"itemStatus\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\">\r\n <div class=\"row flex-auto buttons-wrapper\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 20px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.buttons-wrapper .action{min-height:32px!important;min-width:20px!important;width:auto!important;padding:0 12px!important;border-radius:9999px!important}.buttons-wrapper .action .mat-icon{font-size:18px!important;width:18px!important;height:22px!important}}\n"] }]
|
|
49
50
|
}], propDecorators: { pageInfo: [{
|
|
50
51
|
type: Input
|
|
51
52
|
}], fields: [{
|
|
@@ -60,8 +61,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
60
61
|
type: Input
|
|
61
62
|
}], title: [{
|
|
62
63
|
type: Input
|
|
64
|
+
}], subtitle: [{
|
|
65
|
+
type: Input
|
|
63
66
|
}], isTranslateTitle: [{
|
|
64
67
|
type: Input
|
|
68
|
+
}], isTranslateSubtitle: [{
|
|
69
|
+
type: Input
|
|
65
70
|
}], key: [{
|
|
66
71
|
type: Input
|
|
67
72
|
}], hideToggle: [{
|
|
@@ -81,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
81
86
|
}], buttonClicked: [{
|
|
82
87
|
type: Output
|
|
83
88
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdkIsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBc0JyQyxNQUFNLE9BQU8sMEJBQTBCO0lBcEJ2QztRQThCVyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFFcEMsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGFBQVEsR0FBNEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUVwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FjbkQ7SUFaQyxXQUFXLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBeUIsRUFBRSxVQUFrQjtRQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsR0FBRyxFQUFHLFVBQVUsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBaENVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDRqQkNwQ3ZDLDR6RUFxREEsK21FRGpDSSxPQUFPLDJJQUNQLFNBQVMsaUxBRVQsdUJBQXVCLG1aQUN2QixJQUFJLDZGQUNKLE9BQU8sbUZBQ1AsZUFBZSw0RkFDZixpQkFBaUIsc0xBQ2pCLHNCQUFzQiw0REFDdEIsNEJBQTRCLGtFQUM1Qix1QkFBdUIsa0lBQ3ZCLE9BQU87OzRGQUtFLDBCQUEwQjtrQkFwQnRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLElBQUk7d0JBQ0osT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsT0FBTztxQkFDUjs4QkFLUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdEljb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7TWF0QnV0dG9ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7QnV0dG9uQWN0aW9uU2V0dGluZ3MsIEZpZWxkSW5mbywgUGFnZUluZm99IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7QmFzZUZvcm1Db21wb25lbnR9IGZyb20gXCIuLi9iYXNlLWZvcm0vYmFzZS1mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Jhc2VGb3JtQ2FudmFzQ29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS1mb3JtLWNhbnZhcy9iYXNlLWZvcm0tY2FudmFzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtcclxuICBNYXRFeHBhbnNpb25QYW5lbCxcclxuICBNYXRFeHBhbnNpb25QYW5lbEhlYWRlcixcclxuICBNYXRFeHBhbnNpb25QYW5lbERlc2NyaXB0aW9uLFxyXG4gIE1hdEV4cGFuc2lvblBhbmVsVGl0bGVcclxufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uLWZvcm0tY2FudmFzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb24sXHJcbiAgICBNYXRCdXR0b24sXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ2FudmFzQ29tcG9uZW50LFxyXG4gICAgTmdJZixcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbCxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsVGl0bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbERlc2NyaXB0aW9uLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsXHJcbiAgICBOZ0Zvck9mXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlY3Rpb24tZm9ybS1jYW52YXMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN0aW9uRm9ybUNhbnZhc0NvbXBvbmVudHtcclxuICBASW5wdXQoKSBwYWdlSW5mbzogUGFnZUluZm87XHJcbiAgQElucHV0KCkgZmllbGRzOiBGaWVsZEluZm9bXTtcclxuICBASW5wdXQoKSBpdGVtSWQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlQmFja0J1dHRvbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpdGVtOiBhbnk7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzVHJhbnNsYXRlVGl0bGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNUcmFuc2xhdGVTdWJ0aXRsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkga2V5OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaGlkZVRvZ2dsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgaXNFeHBhbmRlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgYWx3YXlzT3BlbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkVkaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRWRpdDogRXZlbnRFbWl0dGVyPEZvcm1Hcm91cD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgYnV0dG9uczogQnV0dG9uQWN0aW9uU2V0dGluZ3NbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGl0ZW1TdGF0dXM6IHN0cmluZztcclxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBmb3JtVXBkYXRlZCgkZXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybUVkaXQuZW1pdCgkZXZlbnQpO1xyXG5cclxuICB9XHJcblxyXG4gIHRvZ2dsZUV4cGFuZCgpIHtcclxuICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKGJ0bjogQnV0dG9uQWN0aW9uU2V0dGluZ3MsIHNlY3Rpb25LZXk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoey4uLmJ0biAsIHNlY3Rpb25LZXk6IHNlY3Rpb25LZXl9KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJsb2NhdGlvbi1jYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgI3BhbmVsPVwibWF0RXhwYW5zaW9uUGFuZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtoaWRlVG9nZ2xlXT1cImhpZGVUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAob3BlbmVkKT1cImFsd2F5c09wZW4gPyBwYW5lbC5vcGVuKCkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsb3NlZCk9XCJhbHdheXNPcGVuID8gcGFuZWwub3BlbigpIDogbnVsbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBjbGFzcz1cImNhcmQtaGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZCgpXCI+XHJcbiAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiICpuZ0lmPVwiaXNUcmFuc2xhdGVUaXRsZVwiPlxyXG4gICAgICAgICAge3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCIgKm5nSWY9XCIhaXNUcmFuc2xhdGVUaXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cImNhcmQtc3VidGl0bGVcIiAqbmdJZj1cInN1YnRpdGxlXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVHJhbnNsYXRlU3VidGl0bGVcIj57eyBwYWdlSW5mby5sYWJlbHNTZWN0aW9uICsgJy4nICsgc3VidGl0bGUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1RyYW5zbGF0ZVN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cIml0ZW1TdGF0dXNcIiBjbGFzcz1cInN0YXRlVHlwZVwiIFtuZ0NsYXNzXT1cIml0ZW1TdGF0dXNcIj5cclxuICAgICAgICAgIHt7IHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24gKyAnLicgKyBpdGVtU3RhdHVzIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcblxyXG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbiBjbGFzcz1cInBhbmVsLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZmxleC1hdXRvIGJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25zXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImJ0bi5jb2xvciB8fCAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soYnRuICwga2V5KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuLW5vbmUtYmFja2dyb3VuZC1wcmltYXJ5IGFjdGlvblwiXHJcbiAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCdzZWN0aW9uLWJ0bi0nICsgKGJ0bi5hY3Rpb24gfHwgYnRuLmxhYmVsIHx8IGJ0bi5rZXkpKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImJ0bi5pY29uXCI+e3sgYnRuLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBidG4ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+XHJcbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyXCIvPlxyXG4gICAgPGFwcC1iYXNlLWZvcm0tY2FudmFzXHJcbiAgICAgIFtwYWdlSW5mb109XCJwYWdlSW5mb1wiXHJcbiAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICAgICAgW2VkaXRhYmxlXT1cImVkaXRhYmxlXCJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIChmb3JtVXBkYXRlZCk9XCJmb3JtVXBkYXRlZCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1iYXNlLWZvcm0tY2FudmFzPlxyXG4gIDwvZGl2PlxyXG48L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { MatIcon } from "@angular/material/icon";
|
|
3
3
|
import { TranslateModule } from "@ngx-translate/core";
|
|
4
4
|
import { MatButton, MatIconButton } from "@angular/material/button";
|
|
@@ -49,7 +49,7 @@ export class AttachmentUploaderComponent {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AttachmentUploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AttachmentUploaderComponent, isStandalone: true, selector: "app-attachment-uploader", outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "fileUpload", first: true, predicate: ["fileUpload"], descendants: true }], ngImport: i0, template: "<div class=\"attachment-uploader\"\r\n [class.drag-over]=\"isDragOver\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\">\r\n <div class=\"upload-content\">\r\n <div class=\"upload-icon\">\r\n <mat-icon>upload_file</mat-icon>\r\n </div>\r\n\r\n <p class=\"main-text\">{{ 'attachmentUploader.dragAndDrop' | translate }}</p>\r\n\r\n <p class=\"info-text\">{{ 'attachmentUploader.fileInfo' | translate }}</p>\r\n\r\n <button mat-stroked-button\r\n class=\"browse-button\"\r\n (click)=\"triggerAttachmentUpload()\">\r\n {{ 'attachmentUploader.browseFiles' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"selectedFile\" class=\"selected-file\">\r\n <div class=\"file-info\">\r\n <mat-icon class=\"file-icon\">description</mat-icon>\r\n <span class=\"file-name\">{{ selectedFile.name }}</span>\r\n </div>\r\n <button mat-icon-button\r\n class=\"clear-button\"\r\n (click)=\"clearFile()\"\r\n matTooltip=\"{{ 'attachmentUploader.removeFile' | translate }}\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <input #fileUpload type=\"file\" class=\"hidden-input\" (change)=\"uploadFileToServer()\" />\r\n</div>\r\n", styles: [".attachment-uploader{background-color:var(--background-color);border:1px dashed #b7b7b7;border-radius:8px;position:relative;width:100%;transition:all .3s ease;cursor:pointer}.attachment-uploader.drag-over{border-color:var(--primary-color-3nd);background-color:var(--selected-hover)}.upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;min-height:200px}.upload-icon{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.upload-icon mat-icon{font-size:48px;width:48px;height:48px;color:#888}.main-text{font-family:Lusail,sans-serif;font-size:16px;font-weight:500;line-height:1.2;color:#000;margin:0;text-align:center}.info-text{font-family:Lusail,sans-serif;font-size:14px;font-weight:300;line-height:1.2;color:#888;margin:0;text-align:center}.browse-button{margin-top:8px;border:1px solid var(--primary-color-3nd);border-radius:8px;background-color:var(--background-color);color:var(--primary-color-3nd);font-family:Lusail,sans-serif;font-size:16px;font-weight:500;padding:8px 16px;transition:all .2s ease}.browse-button:hover{background-color:var(--selected-hover)}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--background-color);border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px}.file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-icon{color:#888;font-size:24px;width:24px;height:24px;flex-shrink:0}.file-name{font-family:Lusail,sans-serif;font-size:14px;font-weight:400;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-button{background-color:transparent;border:none;color:#d32f2f;transition:color .2s ease;padding:4px;flex-shrink:0}.clear-button:hover{color:#b71c1c;background-color:transparent}.clear-button mat-icon{font-size:20px;width:20px;height:20px}.hidden-input{display:none}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AttachmentUploaderComponent, isStandalone: true, selector: "app-attachment-uploader", inputs: { acceptedTypes: "acceptedTypes" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "fileUpload", first: true, predicate: ["fileUpload"], descendants: true }], ngImport: i0, template: "<div class=\"attachment-uploader\"\r\n [class.drag-over]=\"isDragOver\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\">\r\n <div class=\"upload-content\">\r\n <div class=\"upload-icon\">\r\n <mat-icon>upload_file</mat-icon>\r\n </div>\r\n\r\n <p class=\"main-text\">{{ 'attachmentUploader.dragAndDrop' | translate }}</p>\r\n\r\n <p class=\"info-text\">{{ 'attachmentUploader.fileInfo' | translate }}</p>\r\n\r\n <button mat-stroked-button\r\n class=\"browse-button\"\r\n (click)=\"triggerAttachmentUpload()\">\r\n {{ 'attachmentUploader.browseFiles' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"selectedFile\" class=\"selected-file\">\r\n <div class=\"file-info\">\r\n <mat-icon class=\"file-icon\">description</mat-icon>\r\n <span class=\"file-name\">{{ selectedFile.name }}</span>\r\n </div>\r\n <button mat-icon-button\r\n class=\"clear-button\"\r\n (click)=\"clearFile()\"\r\n matTooltip=\"{{ 'attachmentUploader.removeFile' | translate }}\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <input #fileUpload type=\"file\" class=\"hidden-input\" [accept]=\"acceptedTypes\" (change)=\"uploadFileToServer()\" />\r\n</div>\r\n", styles: [".attachment-uploader{background-color:var(--background-color);border:1px dashed #b7b7b7;border-radius:8px;position:relative;width:100%;transition:all .3s ease;cursor:pointer}.attachment-uploader.drag-over{border-color:var(--primary-color-3nd);background-color:var(--selected-hover)}.upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;min-height:200px}.upload-icon{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.upload-icon mat-icon{font-size:48px;width:48px;height:48px;color:#888}.main-text{font-family:Lusail,sans-serif;font-size:16px;font-weight:500;line-height:1.2;color:#000;margin:0;text-align:center}.info-text{font-family:Lusail,sans-serif;font-size:14px;font-weight:300;line-height:1.2;color:#888;margin:0;text-align:center}.browse-button{margin-top:8px;border:1px solid var(--primary-color-3nd);border-radius:8px;background-color:var(--background-color);color:var(--primary-color-3nd);font-family:Lusail,sans-serif;font-size:16px;font-weight:500;padding:8px 16px;transition:all .2s ease}.browse-button:hover{background-color:var(--selected-hover)}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--background-color);border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px}.file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-icon{color:#888;font-size:24px;width:24px;height:24px;flex-shrink:0}.file-name{font-family:Lusail,sans-serif;font-size:14px;font-weight:400;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-button{background-color:transparent;border:none;color:#d32f2f;transition:color .2s ease;padding:4px;flex-shrink:0}.clear-button:hover{color:#b71c1c;background-color:transparent}.clear-button mat-icon{font-size:20px;width:20px;height:20px}.hidden-input{display:none}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
|
|
53
53
|
}
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AttachmentUploaderComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
@@ -60,11 +60,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
60
60
|
NgIf,
|
|
61
61
|
MatTooltip,
|
|
62
62
|
MatIconButton,
|
|
63
|
-
], template: "<div class=\"attachment-uploader\"\r\n [class.drag-over]=\"isDragOver\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\">\r\n <div class=\"upload-content\">\r\n <div class=\"upload-icon\">\r\n <mat-icon>upload_file</mat-icon>\r\n </div>\r\n\r\n <p class=\"main-text\">{{ 'attachmentUploader.dragAndDrop' | translate }}</p>\r\n\r\n <p class=\"info-text\">{{ 'attachmentUploader.fileInfo' | translate }}</p>\r\n\r\n <button mat-stroked-button\r\n class=\"browse-button\"\r\n (click)=\"triggerAttachmentUpload()\">\r\n {{ 'attachmentUploader.browseFiles' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"selectedFile\" class=\"selected-file\">\r\n <div class=\"file-info\">\r\n <mat-icon class=\"file-icon\">description</mat-icon>\r\n <span class=\"file-name\">{{ selectedFile.name }}</span>\r\n </div>\r\n <button mat-icon-button\r\n class=\"clear-button\"\r\n (click)=\"clearFile()\"\r\n matTooltip=\"{{ 'attachmentUploader.removeFile' | translate }}\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <input #fileUpload type=\"file\" class=\"hidden-input\" (change)=\"uploadFileToServer()\" />\r\n</div>\r\n", styles: [".attachment-uploader{background-color:var(--background-color);border:1px dashed #b7b7b7;border-radius:8px;position:relative;width:100%;transition:all .3s ease;cursor:pointer}.attachment-uploader.drag-over{border-color:var(--primary-color-3nd);background-color:var(--selected-hover)}.upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;min-height:200px}.upload-icon{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.upload-icon mat-icon{font-size:48px;width:48px;height:48px;color:#888}.main-text{font-family:Lusail,sans-serif;font-size:16px;font-weight:500;line-height:1.2;color:#000;margin:0;text-align:center}.info-text{font-family:Lusail,sans-serif;font-size:14px;font-weight:300;line-height:1.2;color:#888;margin:0;text-align:center}.browse-button{margin-top:8px;border:1px solid var(--primary-color-3nd);border-radius:8px;background-color:var(--background-color);color:var(--primary-color-3nd);font-family:Lusail,sans-serif;font-size:16px;font-weight:500;padding:8px 16px;transition:all .2s ease}.browse-button:hover{background-color:var(--selected-hover)}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--background-color);border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px}.file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-icon{color:#888;font-size:24px;width:24px;height:24px;flex-shrink:0}.file-name{font-family:Lusail,sans-serif;font-size:14px;font-weight:400;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-button{background-color:transparent;border:none;color:#d32f2f;transition:color .2s ease;padding:4px;flex-shrink:0}.clear-button:hover{color:#b71c1c;background-color:transparent}.clear-button mat-icon{font-size:20px;width:20px;height:20px}.hidden-input{display:none}\n"] }]
|
|
63
|
+
], template: "<div class=\"attachment-uploader\"\r\n [class.drag-over]=\"isDragOver\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\">\r\n <div class=\"upload-content\">\r\n <div class=\"upload-icon\">\r\n <mat-icon>upload_file</mat-icon>\r\n </div>\r\n\r\n <p class=\"main-text\">{{ 'attachmentUploader.dragAndDrop' | translate }}</p>\r\n\r\n <p class=\"info-text\">{{ 'attachmentUploader.fileInfo' | translate }}</p>\r\n\r\n <button mat-stroked-button\r\n class=\"browse-button\"\r\n (click)=\"triggerAttachmentUpload()\">\r\n {{ 'attachmentUploader.browseFiles' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"selectedFile\" class=\"selected-file\">\r\n <div class=\"file-info\">\r\n <mat-icon class=\"file-icon\">description</mat-icon>\r\n <span class=\"file-name\">{{ selectedFile.name }}</span>\r\n </div>\r\n <button mat-icon-button\r\n class=\"clear-button\"\r\n (click)=\"clearFile()\"\r\n matTooltip=\"{{ 'attachmentUploader.removeFile' | translate }}\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <input #fileUpload type=\"file\" class=\"hidden-input\" [accept]=\"acceptedTypes\" (change)=\"uploadFileToServer()\" />\r\n</div>\r\n", styles: [".attachment-uploader{background-color:var(--background-color);border:1px dashed #b7b7b7;border-radius:8px;position:relative;width:100%;transition:all .3s ease;cursor:pointer}.attachment-uploader.drag-over{border-color:var(--primary-color-3nd);background-color:var(--selected-hover)}.upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;min-height:200px}.upload-icon{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.upload-icon mat-icon{font-size:48px;width:48px;height:48px;color:#888}.main-text{font-family:Lusail,sans-serif;font-size:16px;font-weight:500;line-height:1.2;color:#000;margin:0;text-align:center}.info-text{font-family:Lusail,sans-serif;font-size:14px;font-weight:300;line-height:1.2;color:#888;margin:0;text-align:center}.browse-button{margin-top:8px;border:1px solid var(--primary-color-3nd);border-radius:8px;background-color:var(--background-color);color:var(--primary-color-3nd);font-family:Lusail,sans-serif;font-size:16px;font-weight:500;padding:8px 16px;transition:all .2s ease}.browse-button:hover{background-color:var(--selected-hover)}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--background-color);border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px}.file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-icon{color:#888;font-size:24px;width:24px;height:24px;flex-shrink:0}.file-name{font-family:Lusail,sans-serif;font-size:14px;font-weight:400;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-button{background-color:transparent;border:none;color:#d32f2f;transition:color .2s ease;padding:4px;flex-shrink:0}.clear-button:hover{color:#b71c1c;background-color:transparent}.clear-button mat-icon{font-size:20px;width:20px;height:20px}.hidden-input{display:none}\n"] }]
|
|
64
64
|
}], propDecorators: { fileUpload: [{
|
|
65
65
|
type: ViewChild,
|
|
66
66
|
args: ['fileUpload']
|
|
67
67
|
}], fileSelected: [{
|
|
68
68
|
type: Output
|
|
69
|
+
}], acceptedTypes: [{
|
|
70
|
+
type: Input
|
|
69
71
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC9hdHRhY2htZW50LXVwbG9hZGVyL2F0dGFjaG1lbnQtdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvYXR0YWNobWVudC11cGxvYWRlci9hdHRhY2htZW50LXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7QUFnQnJELE1BQU0sT0FBTywyQkFBMkI7SUFkeEM7UUFnQlksaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBR3pELGlCQUFZLEdBQWdCLElBQUksQ0FBQztRQUNqQyxlQUFVLEdBQUcsS0FBSyxDQUFDO0tBNENwQjtJQTFDQyx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWdCO1FBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFnQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0I7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQztRQUN4QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQzsrR0FqRFUsMkJBQTJCO21HQUEzQiwyQkFBMkIsb1JDckJ4QywwMENBb0NBLGs2RER6QkksT0FBTywwSUFDUCxlQUFlLDRGQUNmLFNBQVMsaUxBQ1QsSUFBSSw2RkFDSixVQUFVLGlSQUNWLGFBQWE7OzRGQUtKLDJCQUEyQjtrQkFkdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixTQUFTO3dCQUNULElBQUk7d0JBQ0osVUFBVTt3QkFDVixhQUFhO3FCQUNkOzhCQUt3QixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ2IsWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRJY29ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHtNYXRCdXR0b24sIE1hdEljb25CdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF0dGFjaG1lbnQtdXBsb2FkZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SWNvbixcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbixcclxuICAgIE5nSWYsXHJcbiAgICBNYXRUb29sdGlwLFxyXG4gICAgTWF0SWNvbkJ1dHRvbixcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdHRhY2htZW50LXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFVwbG9hZGVyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdmaWxlVXBsb2FkJykgZmlsZVVwbG9hZCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQE91dHB1dCgpIGZpbGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IG51bGw+KCk7XHJcbiAgQElucHV0KCkgYWNjZXB0ZWRUeXBlcz86IHN0cmluZzsgLy8gZS5nLiwgXCIuanBnLC5wbmcsLnBkZlwiIG9yIFwiaW1hZ2UvKixhcHBsaWNhdGlvbi9wZGZcIlxyXG5cclxuICBzZWxlY3RlZEZpbGU6IEZpbGUgfCBudWxsID0gbnVsbDtcclxuICBpc0RyYWdPdmVyID0gZmFsc2U7XHJcblxyXG4gIHRyaWdnZXJBdHRhY2htZW50VXBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHVwbG9hZEZpbGVUb1NlcnZlcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbGVVcGxvYWQubmF0aXZlRWxlbWVudC5maWxlcz8uWzBdO1xyXG4gICAgaWYgKGZpbGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xyXG4gICAgICB0aGlzLmZpbGVTZWxlY3RlZC5lbWl0KGZpbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJGaWxlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBudWxsO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuZmlsZVNlbGVjdGVkLmVtaXQobnVsbCk7XHJcbiAgfVxyXG5cclxuICBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuaXNEcmFnT3ZlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmlzRHJhZ092ZXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmlzRHJhZ092ZXIgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XHJcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcclxuICAgICAgdGhpcy5maWxlU2VsZWN0ZWQuZW1pdChmaWxlKTtcclxuICAgIH1cclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiYXR0YWNobWVudC11cGxvYWRlclwiXHJcbiAgICAgW2NsYXNzLmRyYWctb3Zlcl09XCJpc0RyYWdPdmVyXCJcclxuICAgICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcclxuICAgICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ0xlYXZlKCRldmVudClcIlxyXG4gICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCI+XHJcbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWljb25cIj5cclxuICAgICAgPG1hdC1pY29uPnVwbG9hZF9maWxlPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxwIGNsYXNzPVwibWFpbi10ZXh0XCI+e3sgJ2F0dGFjaG1lbnRVcGxvYWRlci5kcmFnQW5kRHJvcCcgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gICAgPHAgY2xhc3M9XCJpbmZvLXRleHRcIj57eyAnYXR0YWNobWVudFVwbG9hZGVyLmZpbGVJbmZvJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuXHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJyb3dzZS1idXR0b25cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidHJpZ2dlckF0dGFjaG1lbnRVcGxvYWQoKVwiPlxyXG4gICAgICB7eyAnYXR0YWNobWVudFVwbG9hZGVyLmJyb3dzZUZpbGVzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzZWxlY3RlZEZpbGVcIiBjbGFzcz1cInNlbGVjdGVkLWZpbGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmlsZS1pY29uXCI+ZGVzY3JpcHRpb248L21hdC1pY29uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IHNlbGVjdGVkRmlsZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImNsZWFyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhckZpbGUoKVwiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnYXR0YWNobWVudFVwbG9hZGVyLnJlbW92ZUZpbGUnIHwgdHJhbnNsYXRlIH19XCI+XHJcbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGlucHV0ICNmaWxlVXBsb2FkIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiBbYWNjZXB0XT1cImFjY2VwdGVkVHlwZXNcIiAoY2hhbmdlKT1cInVwbG9hZEZpbGVUb1NlcnZlcigpXCIgLz5cclxuPC9kaXY+XHJcbiJdfQ==
|