keevo-components 1.8.161 → 1.8.163

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.
@@ -156,11 +156,11 @@ export class KvPageStepperComponent {
156
156
  }
157
157
  }
158
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPageStepperComponent, selector: "kv-page-stepper", inputs: { panels: "panels", activeStep: "activeStep", orientation: "orientation", linear: "linear", formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", disableBtnSair: "disableBtnSair" }, outputs: { activeStepChange: "activeStepChange", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column h-12rem\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n\r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary>\r\n\r\n <!-- panel.id !== 0 -->\r\n @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (click)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n }\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n }\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:#f2f3f5!important;background-color:#002542!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Stepper, selector: "p-stepper", inputs: ["activeStep", "orientation", "linear", "transitionOptions"], outputs: ["onClick", "activeStepChange"] }, { kind: "component", type: i4.StepperPanel, selector: "p-stepperPanel", inputs: ["header"] }, { kind: "component", type: i5.KvButtonSecondaryComponent, selector: "kv-button-secondary" }, { kind: "component", type: i6.KvButtonSuccessComponent, selector: "kv-button-success" }, { kind: "component", type: i7.KvButtonPersonalizeComponent, selector: "kv-button-personalize", inputs: ["colorHover", "textColor"] }, { kind: "directive", type: i8.DynamicInputDirective, selector: "[dynamicComponent]", inputs: ["dynamicComponent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPageStepperComponent, selector: "kv-page-stepper", inputs: { panels: "panels", activeStep: "activeStep", orientation: "orientation", linear: "linear", formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", disableBtnSair: "disableBtnSair" }, outputs: { activeStepChange: "activeStepChange", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n\r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary>\r\n\r\n <!-- panel.id !== 0 -->\r\n @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (click)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n }\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n }\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:#f2f3f5!important;background-color:#002542!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Stepper, selector: "p-stepper", inputs: ["activeStep", "orientation", "linear", "transitionOptions"], outputs: ["onClick", "activeStepChange"] }, { kind: "component", type: i4.StepperPanel, selector: "p-stepperPanel", inputs: ["header"] }, { kind: "component", type: i5.KvButtonSecondaryComponent, selector: "kv-button-secondary" }, { kind: "component", type: i6.KvButtonSuccessComponent, selector: "kv-button-success" }, { kind: "component", type: i7.KvButtonPersonalizeComponent, selector: "kv-button-personalize", inputs: ["colorHover", "textColor"] }, { kind: "directive", type: i8.DynamicInputDirective, selector: "[dynamicComponent]", inputs: ["dynamicComponent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
160
160
  }
161
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageStepperComponent, decorators: [{
162
162
  type: Component,
163
- args: [{ selector: 'kv-page-stepper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column h-12rem\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n\r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary>\r\n\r\n <!-- panel.id !== 0 -->\r\n @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (click)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n }\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n }\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:#f2f3f5!important;background-color:#002542!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"] }]
163
+ args: [{ selector: 'kv-page-stepper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- [formGroup]=\"formGroup\" -->\r\n<div\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n <p-stepper\r\n [activeStep]=\"activeStep\"\r\n [orientation]=\"orientation\"\r\n [linear]=\"linear\"\r\n (activeStepChange)=\"onActiveStepChange($event)\"\r\n >\r\n <ng-container *ngFor=\"let panel of panels; let i = index\">\r\n <p-stepperPanel [header]=\"panel.header\">\r\n\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n >\r\n\r\n <div class=\"flex flex-column\">\r\n <div class=\"content-panel\" [dynamicComponent]=\"{ component: panel.contentTemplate, inputs: panel.inputs || {} }\">\r\n <!-- <ng-container\r\n *ngComponentOutlet=\"panel.contentTemplate\"\r\n ></ng-container> -->\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex pt-4\"\r\n [ngClass]=\"{\r\n 'justify-content-between': panel.id !== 0,\r\n 'justify-content-end': panel.id === 0,\r\n 'justify-content-start': orientation === 'vertical'\r\n }\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n\r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary>\r\n\r\n <!-- panel.id !== 0 -->\r\n @if(true){\r\n <kv-button-personalize\r\n class=\"w-full lg:w-auto\"\r\n [label]=\"'Voltar'\"\r\n color=\"#002542\"\r\n [disabled]=\"panel.id == 0\"\r\n [icon]=\"'pi pi-arrow-left'\"\r\n (click)=\"prevCallback.emit()\"\r\n >\r\n </kv-button-personalize>\r\n }\r\n\r\n\r\n <!-- panel.id !== panels.length - 1 -->\r\n @if(true){\r\n <kv-button-success\r\n (click)=\" panel.id != panels.length-1 ? nextCallback.emit() : save($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [icon]=\"'pi pi-arrow-right'\"\r\n [label]=\"panel.id != panels.length-1 ? 'Avan\u00E7ar ' : txtBtnSave\"\r\n iconPos=\"right\"\r\n ></kv-button-success>\r\n }\r\n<!--\r\n <kv-button-success\r\n *ngIf=\"showBtnSave && panel.id === panels.length - 1 \"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave || panel.id !== panels.length - 1\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"nextCallback.emit()\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n /> -->\r\n\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'start'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n [icon]=\"iconBtnCancelToogle\"\r\n (click)=\"menuCancel.toggle($event)\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-secondary border-300'\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuCancel\r\n [popup]=\"true\"\r\n [model]=\"actionsCancelToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <kv-button-popup\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menuSave.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n [classBtn]=\"'btn-success border-green-500'\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menuSave\r\n [popup]=\"true\"\r\n [model]=\"actionsSaveToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu> -->\r\n\r\n\r\n <!-- @if(positionBtnToogle == 'end'){\r\n <kv-button-popup\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n (click)=\"menuToogle.toggle($event)\"\r\n [disabled]=\"disableBtnToogle\"\r\n class=\"w-full lg:w-auto\"\r\n classBtn=\"{{classBtnToogle}}\"\r\n >\r\n </kv-button-popup>\r\n <p-menu\r\n #menuToogle\r\n [popup]=\"true\"\r\n [model]=\"actionsToogle\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n } -->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n </p-stepperPanel>\r\n </ng-container>\r\n </p-stepper>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!--______________________________________________________________________________________________________-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}.kv-stepper{display:flex;flex-direction:column}:host ::ng-deep .p-stepper .p-stepper-header.p-highlight .p-stepper-number{color:#f2f3f5!important;background-color:#002542!important}:host ::ng-deep .p-stepper .p-stepper-header:has(~.p-highlight) .p-stepper-separator{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number{color:#002542;background-color:#f2f3f5}:host ::ng-deep .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator{background-color:#f2f3f5}.btn-secondary{background-color:#f2f3f5!important;color:#000000de!important;height:35px}.btn-secondary:hover{background-color:#d8d9db!important}.btn-secondary:disabled{pointer-events:none}\n"] }]
164
164
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { panels: [{
165
165
  type: Input
166
166
  }], activeStep: [{
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
204
204
  }], onCancel: [{
205
205
  type: Output
206
206
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1zdGVwcGVyL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBU3hELE1BQU0sT0FBTyxzQkFBc0I7SUE4QmpDLHlEQUF5RDtJQUV6RCxrQkFBa0IsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELGNBQWMsQ0FBQyxJQUFTO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7YUFDekM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBMkZELFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBeEluQzs7V0FFRztRQUNNLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBRXZDLHlEQUF5RDtRQUd6RDs7V0FFRztRQUNNLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxnQkFBVyxHQUE4QixZQUFZLENBQUM7UUFDdEQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUUvQjs7O1NBR0M7UUFDTyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBNkN4RDs7V0FFRztRQUNNLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF1QixFQUFFLENBQUM7UUFFdkMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2Qix5QkFBb0IsR0FBc0IsUUFBUSxDQUFDO1FBQzVELGlDQUFpQztRQUVqQzs7V0FFRztRQUNNLGtCQUFhLEdBQVcsbUJBQW1CLENBQUM7UUFDNUMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFFM0MsTUFBTTtRQUNOLGtDQUFrQztRQUNsQyxNQUFNO1FBQ04sK0NBQStDO1FBQy9DLCtEQUErRDtRQUMvRCxpREFBaUQ7UUFDakQsb0RBQW9EO1FBRXBEOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxZQUFZLENBQUM7UUFDbkMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZUFBVSxHQUFXLFFBQVEsQ0FBQztRQUM5QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUV6QyxNQUFNO1FBQ04sZ0NBQWdDO1FBQ2hDLE1BQU07UUFDTiw2Q0FBNkM7UUFDN0MsNkRBQTZEO1FBQzdELCtDQUErQztRQUMvQywrQ0FBK0M7UUFFL0MsTUFBTTtRQUNOLCtCQUErQjtRQUMvQixNQUFNO1FBQ04seUNBQXlDO1FBQ3pDLHlEQUF5RDtRQUN6RCwyQ0FBMkM7UUFDM0MsMkNBQTJDO1FBQzNDLDhDQUE4QztRQUM5Qyw4Q0FBOEM7UUFDOUMsbURBQW1EO1FBRW5EOztXQUVHO1FBQ00sbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFeEM7O1dBRUc7UUFDTyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFekQ7O1dBRUc7UUFDTyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHekQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVGOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUMzRSxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2RCxlQUFlLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2pELGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQTtnQkFDMUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO2dCQUNwQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7Z0JBRXhDLGFBQWEsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQVk7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksQ0FBQyxLQUFZO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsOEJBQThCO1FBQzVCLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hDLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUUxRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ2pDLElBQUksYUFBYSxDQUFDO2dCQUVsQixhQUFhLEdBQUcsU0FBUyxHQUFHLEdBQUcsQ0FBQTtZQUVqQyxDQUFDO1FBQ0gsQ0FBQztJQUdILENBQUM7OEdBMU1VLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDRwQkNuQm5DLGtnT0EyUEE7OzJGRHhPYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07Z0ZBV3RDLE1BQU07c0JBQWQsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQU1JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFnREUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQU1HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQWFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBd0JHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0ksTUFBTTtzQkFBZixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3Rpb25JdGVtIH0gZnJvbSAnLi4vLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLWl0ZW0nO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBLdlN0ZXBwZXJQYW5lbCB9IGZyb20gJy4uLy4uL2FwaS9jb21wb25lbnRzL3N0ZXBwZXIva3Ytc3RlcHBlcnBhbmVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtcGFnZS1zdGVwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZQYWdlU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAvKipcclxuICAgKiBQcm9waWVkYWRlIHF1ZSByZWNlYmUgdW1hIGxpc3RhIGRlIHBhaW5pZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBwYW5lbHM6IEt2U3RlcHBlclBhbmVsW10gPSBbXTtcclxuXHJcbiAgLy8gQElucHV0KCkgdGVtcGxhdGVQYW5lbHNIZWFkZXJzOiBLdlN0ZXBwZXJQYW5lbFtdID0gW107XHJcblxyXG5cclxuICAvKipcclxuICAgKiBQcm9waWVkYWRlIHF1ZSBkZWZpbmUgbyBzdGVwcGVyIGF0aXZvIG5vIG1vbWVudG9cclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmVTdGVwOiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9waWVkYWRlIHF1ZSBkZWZpbmUgYSBmb3JtYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnID0gJ2hvcml6b250YWwnO1xyXG4gIEBJbnB1dCgpIGxpbmVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAqIERpc3BhcmEgbyBldmVudG8gcGFyYSBhdHVhbGl6YcOnw6NvIGRhIHByb3BpZWRhZGUgYWNpdmVTdGVwXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmVTdGVwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLy8gQE91dHB1dCgpIGNvbmNsdWlyQ2FsbGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIG9uQWN0aXZlU3RlcENoYW5nZShzdGVwOiBudW1iZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlU3RlcCA9IHN0ZXA7XHJcbiAgICB0aGlzLmFjdGl2ZVN0ZXBDaGFuZ2UuZW1pdChzdGVwKTtcclxuICB9XHJcblxyXG4gIGFzc2lnbklkc1RvUGFuZWxzKCkge1xyXG4gICAgdGhpcy5wYW5lbHMuZm9yRWFjaCgocGFuZWwsIGluZGV4KSA9PiB7XHJcbiAgICAgIHBhbmVsLmlkID0gaW5kZXg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgY3JlYXRlSW5qZWN0b3IoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiAnaW5wdXREYXRhJywgdXNlVmFsdWU6IGRhdGEgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYcOnw7VlcyBkbyBmb3JtdWzDoXJpb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQElucHV0KCkgVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgU3ViVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgaXNTYXZlTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsb2NhdGlvblVzZUNvbXBvbmVudDogJ3BhZ2UnIHwgJ2RpYWxvZycgPSAnZGlhbG9nJztcclxuICAvLyBASW5wdXQoKSBleHBhbmRNZW51ITogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGNhbmNlbGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWNvbkJ0bkNhbmNlbDogc3RyaW5nID0gJ3BpIHBpLWZ3IHBpLXRpbWVzJztcclxuICBASW5wdXQoKSBzaG93QnRuQ2FuY2VsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5DYW5jZWw6IHN0cmluZyA9IFwiQ2FuY2VsYXJcIjtcclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogQm90w6NvIGRlIGNhbmNlbGFyIGNvbSBvcMOnw7Vlc1xyXG4gIC8vICAqL1xyXG4gIC8vIEBJbnB1dCgpIGFjdGlvbnNDYW5jZWxUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgLy8gQElucHV0KCkgaWNvbkJ0bkNhbmNlbFRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICAvLyBASW5wdXQoKSBzaG93QnRuQ2FuY2VsVG9vZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gQElucHV0KCkgdHh0QnRuQ2FuY2VsVG9vZ2xlOiBzdHJpbmcgPSBcIkNhbmNlbGFyXCI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBzYWx2YXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuU2F2ZTogc3RyaW5nID0gJ3BpIHBpLXNhdmUnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5TYXZlOiBzdHJpbmcgPSBcIlNhbHZhclwiO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdG5TYXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIEJvdMOjbyBkZSBzYWx2YXIgY29tIG9ww6fDtWVzXHJcbiAgLy8gICovXHJcbiAgLy8gQElucHV0KCkgYWN0aW9uc1NhdmVUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgLy8gQElucHV0KCkgaWNvbkJ0blNhdmVUb29nbGU6IHN0cmluZyA9IFwicGkgcGktY2hldnJvbi1kb3duXCI7XHJcbiAgLy8gQElucHV0KCkgc2hvd0J0blNhdmVUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKSB0eHRCdG5TYXZlVG9vZ2xlOiBzdHJpbmcgPSBcIkHDp8O1ZXNcIjtcclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogQm90w6NvIGdlbsOpcmljbyBjb20gb3DDp8O1ZXNcclxuICAvLyAgKi9cclxuICAvLyBASW5wdXQoKSBhY3Rpb25zVG9vZ2xlITogQWN0aW9uSXRlbVtdO1xyXG4gIC8vIEBJbnB1dCgpIGljb25CdG5Ub29nbGU6IHN0cmluZyA9IFwicGkgcGktY2hldnJvbi1kb3duXCI7XHJcbiAgLy8gQElucHV0KCkgc2hvd0J0blRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIEBJbnB1dCgpIHR4dEJ0blRvb2dsZTogc3RyaW5nID0gXCJBw6fDtWVzXCI7XHJcbiAgLy8gQElucHV0KCkgZGlzYWJsZUJ0blRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIEBJbnB1dCgpIHBvc2l0aW9uQnRuVG9vZ2xlOiBzdHJpbmcgPSAnZW5kJztcclxuICAvLyBASW5wdXQoKSBjbGFzc0J0blRvb2dsZTogc3RyaW5nID0gJ2JnLWdsdWUtNTAwJztcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGZlY2hhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdG5TYWlyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2FsdmFyIGRhZG9zXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uU2F2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbGFyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHRoaXMuYXNzaWduSWRzVG9QYW5lbHMoKTtcclxuICAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGljaW9uYSBzdWItdMOtdHVsbyDDoCB0ZWxhXHJcbiAgICovXHJcbiAgYWRkU3ViVGl0bGUoKSB7XHJcbiAgICBpZiAodGhpcy5TdWJUaXR1bG9Gb3JtKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1kaWFsb2cgLnAtZGlhbG9nLWhlYWRlcicpO1xyXG4gICAgICBpZiAoaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHN1YnRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLlN1YlRpdHVsb0Zvcm07XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLmZvbnRTaXplID0gJzAuNzVyZW0nXHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnXHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMnB4J1xyXG5cclxuICAgICAgICBoZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHN1YnRpdGxlRWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hZGRTdWJUaXRsZSgpO1xyXG4gICAgdGhpcy5zZXRQYWdlRm9ybUNvbnRhaW5lckF0dHJpYnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BhcmEgbyBtw6l0b2RvIGRlIGNhbmNlbGFtZW50byBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIGNhbmNlbChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25DYW5jZWwuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXJhIG8gbcOpdG9kbyBkZSBzYWx2YXIgZGEgdGVsYVxyXG4gICAqIEBwYXJhbSBldmVudCBldmVudG9cclxuICAgKi9cclxuICBzYXZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vblNhdmUuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBanVzdGEgbyB0YW1hbmhvIGRhIHRlbGEgY29uc2lkZXJhbmRvIG8gbWVudSBsYXRlcmFsXHJcbiAgICovXHJcbiAgc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCkge1xyXG4gICAgaWYgKHRoaXMubG9jYXRpb25Vc2VDb21wb25lbnQgPT0gJ3BhZ2UnKSB7XHJcbiAgICAgIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2UtZm9ybS1jb250YWluZXInKTtcclxuXHJcbiAgICAgIGlmIChmb3JtKSB7XHJcbiAgICAgICAgdmFyIHdpZHRoRnVsbCA9IGZvcm0uY2xpZW50V2lkdGg7XHJcbiAgICAgICAgdmFyIHdpZHRoQWRqdXN0ZWQ7XHJcblxyXG4gICAgICAgIHdpZHRoQWRqdXN0ZWQgPSB3aWR0aEZ1bGwgLSAzMzJcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxufVxyXG4iLCI8IS0tIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgLS0+XHJcbjxkaXZcclxuICBjbGFzcz1cImdyaWQtbm9ndXR0ZXIgbS0wXCJcclxuICBpZD1cInBhZ2UtZm9ybS1jb250YWluZXJcIlxyXG4+XHJcblxyXG4gIDwhLS0gUmVuZGVyaXphw6fDo28gZG8gZm9ybSAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIHAtMFwiIGlkPVwicGFnZS1mb3JtLWNvbnRlbnRcIj5cclxuXHJcblxyXG5cclxuPCEtLV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXy0tPlxyXG5cclxuXHJcblxyXG4gICAgPHAtc3RlcHBlclxyXG4gICAgW2FjdGl2ZVN0ZXBdPVwiYWN0aXZlU3RlcFwiXHJcbiAgICBbb3JpZW50YXRpb25dPVwib3JpZW50YXRpb25cIlxyXG4gICAgW2xpbmVhcl09XCJsaW5lYXJcIlxyXG4gICAgKGFjdGl2ZVN0ZXBDaGFuZ2UpPVwib25BY3RpdmVTdGVwQ2hhbmdlKCRldmVudClcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhbmVsIG9mIHBhbmVsczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8cC1zdGVwcGVyUGFuZWwgW2hlYWRlcl09XCJwYW5lbC5oZWFkZXJcIj5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBwVGVtcGxhdGU9XCJjb250ZW50XCJcclxuICAgICAgICAgIGxldC1uZXh0Q2FsbGJhY2s9XCJuZXh0Q2FsbGJhY2tcIlxyXG4gICAgICAgICAgbGV0LXByZXZDYWxsYmFjaz1cInByZXZDYWxsYmFja1wiXHJcbiAgICAgICAgPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGgtMTJyZW1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFuZWxcIiBbZHluYW1pY0NvbXBvbmVudF09XCJ7IGNvbXBvbmVudDogcGFuZWwuY29udGVudFRlbXBsYXRlLCBpbnB1dHM6IHBhbmVsLmlucHV0cyB8fCB7fSB9XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJwYW5lbC5jb250ZW50VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggcHQtNFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nOiBwYW5lbC5pZCAhPT0gMCxcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LWVuZCc6IHBhbmVsLmlkID09PSAwLFxyXG4gICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnOiBvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGxnOmZsZXgtcm93IGp1c3RpZnktY29udGVudC1lbmQgY29sLTEyIGdhcC0yIGJhcnJhLWFjb2VzIGdyaWQgZ3JpZC1ub2d1dHRlciBwLWZsdWlkXCI+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1zZWNvbmRhcnlcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0J0bkNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5DYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwva3YtYnV0dG9uLXNlY29uZGFyeT5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBwYW5lbC5pZCAhPT0gMCAtLT5cclxuICAgICAgICAgICAgICBAaWYodHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICA8a3YtYnV0dG9uLXBlcnNvbmFsaXplXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInVm9sdGFyJ1wiXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwiIzAwMjU0MlwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwYW5lbC5pZCA9PSAwXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ3BpIHBpLWFycm93LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZDYWxsYmFjay5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9rdi1idXR0b24tcGVyc29uYWxpemU+XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBwYW5lbC5pZCAhPT0gcGFuZWxzLmxlbmd0aCAtIDEgLS0+XHJcbiAgICAgICAgICAgICAgQGlmKHRydWUpe1xyXG4gICAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1zdWNjZXNzXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCIgcGFuZWwuaWQgIT0gcGFuZWxzLmxlbmd0aC0xID8gbmV4dENhbGxiYWNrLmVtaXQoKSA6IHNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidwaSBwaS1hcnJvdy1yaWdodCdcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwicGFuZWwuaWQgIT0gcGFuZWxzLmxlbmd0aC0xID8gJ0F2YW7Dp2FyICcgOiB0eHRCdG5TYXZlXCJcclxuICAgICAgICAgICAgICAgICAgaWNvblBvcz1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgID48L2t2LWJ1dHRvbi1zdWNjZXNzPlxyXG4gICAgICAgICAgICAgIH1cclxuPCEtLVxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b24tc3VjY2Vzc1xyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QnRuU2F2ZSAmJiAgcGFuZWwuaWQgPT09IHBhbmVscy5sZW5ndGggLSAxIFwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ0blNhdmUgfHwgcGFuZWwuaWQgIT09IHBhbmVscy5sZW5ndGggLSAxXCJcclxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRDYWxsYmFjay5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlQnRuU2F2ZSA/IHNhdmUoJGV2ZW50KSA6ICcnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgLz4gLS0+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBAaWYocG9zaXRpb25CdG5Ub29nbGUgPT0gJ3N0YXJ0Jyl7XHJcbiAgICAgICAgICAgICAgICA8a3YtYnV0dG9uLXBvcHVwXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uc1Rvb2dsZSAmJiBzaG93QnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWVudVRvb2dsZS50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3NCdG49XCJ7e2NsYXNzQnRuVG9vZ2xlfX1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9rdi1idXR0b24tcG9wdXA+XHJcbiAgICAgICAgICAgICAgICA8cC1tZW51XHJcbiAgICAgICAgICAgICAgICAgICNtZW51VG9vZ2xlXHJcbiAgICAgICAgICAgICAgICAgIFtwb3B1cF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImFjdGlvbnNUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgPjwvcC1tZW51PlxyXG4gICAgICAgICAgICAgIH0gLS0+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gPGt2LWJ1dHRvbi1wb3B1cFxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbnNDYW5jZWxUb29nbGUgJiYgc2hvd0J0bkNhbmNlbFRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5DYW5jZWxUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuQ2FuY2VsVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVDYW5jZWwudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3NCdG5dPVwiJ2J0bi1zZWNvbmRhcnkgYm9yZGVyLTMwMCdcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9rdi1idXR0b24tcG9wdXA+XHJcbiAgICAgICAgICAgICAgICA8cC1tZW51XHJcbiAgICAgICAgICAgICAgICAgICNtZW51Q2FuY2VsXHJcbiAgICAgICAgICAgICAgICAgIFtwb3B1cF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImFjdGlvbnNDYW5jZWxUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgPjwvcC1tZW51PiAtLT5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSA8a3YtYnV0dG9uLXBvcHVwXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbnNTYXZlVG9vZ2xlICYmIHNob3dCdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJtZW51U2F2ZS50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3NCdG5dPVwiJ2J0bi1zdWNjZXNzIGJvcmRlci1ncmVlbi01MDAnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9rdi1idXR0b24tcG9wdXA+XHJcblxyXG4gICAgICAgICAgICAgIDxwLW1lbnVcclxuICAgICAgICAgICAgICAgICNtZW51U2F2ZVxyXG4gICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW21vZGVsXT1cImFjdGlvbnNTYXZlVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgID48L3AtbWVudT4gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIEBpZihwb3NpdGlvbkJ0blRvb2dsZSA9PSAnZW5kJyl7XHJcbiAgICAgICAgICAgICAgICA8a3YtYnV0dG9uLXBvcHVwXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uc1Rvb2dsZSAmJiBzaG93QnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25CdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWVudVRvb2dsZS50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3NCdG49XCJ7e2NsYXNzQnRuVG9vZ2xlfX1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9rdi1idXR0b24tcG9wdXA+XHJcbiAgICAgICAgICAgICAgICA8cC1tZW51XHJcbiAgICAgICAgICAgICAgICAgICNtZW51VG9vZ2xlXHJcbiAgICAgICAgICAgICAgICAgIFtwb3B1cF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImFjdGlvbnNUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgPjwvcC1tZW51PlxyXG4gICAgICAgICAgICAgIH0gLS0+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8L3Atc3RlcHBlclBhbmVsPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9wLXN0ZXBwZXI+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG48IS0tX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fLS0+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuIl19
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1zdGVwcGVyL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBU3hELE1BQU0sT0FBTyxzQkFBc0I7SUE4QmpDLHlEQUF5RDtJQUV6RCxrQkFBa0IsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELGNBQWMsQ0FBQyxJQUFTO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7YUFDekM7U0FD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S0ksTUFBTTtzQkFBZixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3Rpb25JdGVtIH0gZnJvbSAnLi4vLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLWl0ZW0nO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBLdlN0ZXBwZXJQYW5lbCB9IGZyb20gJy4uLy4uL2FwaS9jb21wb25lbnRzL3N0ZXBwZXIva3Ytc3RlcHBlcnBhbmVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtcGFnZS1zdGVwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZQYWdlU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAvKipcclxuICAgKiBQcm9waWVkYWRlIHF1ZSByZWNlYmUgdW1hIGxpc3RhIGRlIHBhaW5pZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBwYW5lbHM6IEt2U3RlcHBlclBhbmVsW10gPSBbXTtcclxuXHJcbiAgLy8gQElucHV0KCkgdGVtcGxhdGVQYW5lbHNIZWFkZXJzOiBLdlN0ZXBwZXJQYW5lbFtdID0gW107XHJcblxyXG5cclxuICAvKipcclxuICAgKiBQcm9waWVkYWRlIHF1ZSBkZWZpbmUgbyBzdGVwcGVyIGF0aXZvIG5vIG1vbWVudG9cclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmVTdGVwOiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9waWVkYWRlIHF1ZSBkZWZpbmUgYSBmb3JtYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnID0gJ2hvcml6b250YWwnO1xyXG4gIEBJbnB1dCgpIGxpbmVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAqIERpc3BhcmEgbyBldmVudG8gcGFyYSBhdHVhbGl6YcOnw6NvIGRhIHByb3BpZWRhZGUgYWNpdmVTdGVwXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmVTdGVwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLy8gQE91dHB1dCgpIGNvbmNsdWlyQ2FsbGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIG9uQWN0aXZlU3RlcENoYW5nZShzdGVwOiBudW1iZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlU3RlcCA9IHN0ZXA7XHJcbiAgICB0aGlzLmFjdGl2ZVN0ZXBDaGFuZ2UuZW1pdChzdGVwKTtcclxuICB9XHJcblxyXG4gIGFzc2lnbklkc1RvUGFuZWxzKCkge1xyXG4gICAgdGhpcy5wYW5lbHMuZm9yRWFjaCgocGFuZWwsIGluZGV4KSA9PiB7XHJcbiAgICAgIHBhbmVsLmlkID0gaW5kZXg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgY3JlYXRlSW5qZWN0b3IoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiAnaW5wdXREYXRhJywgdXNlVmFsdWU6IGRhdGEgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYcOnw7VlcyBkbyBmb3JtdWzDoXJpb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQElucHV0KCkgVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgU3ViVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgaXNTYXZlTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsb2NhdGlvblVzZUNvbXBvbmVudDogJ3BhZ2UnIHwgJ2RpYWxvZycgPSAnZGlhbG9nJztcclxuICAvLyBASW5wdXQoKSBleHBhbmRNZW51ITogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGNhbmNlbGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWNvbkJ0bkNhbmNlbDogc3RyaW5nID0gJ3BpIHBpLWZ3IHBpLXRpbWVzJztcclxuICBASW5wdXQoKSBzaG93QnRuQ2FuY2VsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5DYW5jZWw6IHN0cmluZyA9IFwiQ2FuY2VsYXJcIjtcclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogQm90w6NvIGRlIGNhbmNlbGFyIGNvbSBvcMOnw7Vlc1xyXG4gIC8vICAqL1xyXG4gIC8vIEBJbnB1dCgpIGFjdGlvbnNDYW5jZWxUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgLy8gQElucHV0KCkgaWNvbkJ0bkNhbmNlbFRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICAvLyBASW5wdXQoKSBzaG93QnRuQ2FuY2VsVG9vZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gQElucHV0KCkgdHh0QnRuQ2FuY2VsVG9vZ2xlOiBzdHJpbmcgPSBcIkNhbmNlbGFyXCI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBzYWx2YXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuU2F2ZTogc3RyaW5nID0gJ3BpIHBpLXNhdmUnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5TYXZlOiBzdHJpbmcgPSBcIlNhbHZhclwiO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdG5TYXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIEJvdMOjbyBkZSBzYWx2YXIgY29tIG9ww6fDtWVzXHJcbiAgLy8gICovXHJcbiAgLy8gQElucHV0KCkgYWN0aW9uc1NhdmVUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgLy8gQElucHV0KCkgaWNvbkJ0blNhdmVUb29nbGU6IHN0cmluZyA9IFwicGkgcGktY2hldnJvbi1kb3duXCI7XHJcbiAgLy8gQElucHV0KCkgc2hvd0J0blNhdmVUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKSB0eHRCdG5TYXZlVG9vZ2xlOiBzdHJpbmcgPSBcIkHDp8O1ZXNcIjtcclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogQm90w6NvIGdlbsOpcmljbyBjb20gb3DDp8O1ZXNcclxuICAvLyAgKi9cclxuICAvLyBASW5wdXQoKSBhY3Rpb25zVG9vZ2xlITogQWN0aW9uSXRlbVtdO1xyXG4gIC8vIEBJbnB1dCgpIGljb25CdG5Ub29nbGU6IHN0cmluZyA9IFwicGkgcGktY2hldnJvbi1kb3duXCI7XHJcbiAgLy8gQElucHV0KCkgc2hvd0J0blRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIEBJbnB1dCgpIHR4dEJ0blRvb2dsZTogc3RyaW5nID0gXCJBw6fDtWVzXCI7XHJcbiAgLy8gQElucHV0KCkgZGlzYWJsZUJ0blRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIEBJbnB1dCgpIHBvc2l0aW9uQnRuVG9vZ2xlOiBzdHJpbmcgPSAnZW5kJztcclxuICAvLyBASW5wdXQoKSBjbGFzc0J0blRvb2dsZTogc3RyaW5nID0gJ2JnLWdsdWUtNTAwJztcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGZlY2hhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdG5TYWlyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2FsdmFyIGRhZG9zXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uU2F2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbGFyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHRoaXMuYXNzaWduSWRzVG9QYW5lbHMoKTtcclxuICAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGljaW9uYSBzdWItdMOtdHVsbyDDoCB0ZWxhXHJcbiAgICovXHJcbiAgYWRkU3ViVGl0bGUoKSB7XHJcbiAgICBpZiAodGhpcy5TdWJUaXR1bG9Gb3JtKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1kaWFsb2cgLnAtZGlhbG9nLWhlYWRlcicpO1xyXG4gICAgICBpZiAoaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHN1YnRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLlN1YlRpdHVsb0Zvcm07XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLmZvbnRTaXplID0gJzAuNzVyZW0nXHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnXHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMnB4J1xyXG5cclxuICAgICAgICBoZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHN1YnRpdGxlRWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hZGRTdWJUaXRsZSgpO1xyXG4gICAgdGhpcy5zZXRQYWdlRm9ybUNvbnRhaW5lckF0dHJpYnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BhcmEgbyBtw6l0b2RvIGRlIGNhbmNlbGFtZW50byBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIGNhbmNlbChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25DYW5jZWwuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXJhIG8gbcOpdG9kbyBkZSBzYWx2YXIgZGEgdGVsYVxyXG4gICAqIEBwYXJhbSBldmVudCBldmVudG9cclxuICAgKi9cclxuICBzYXZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vblNhdmUuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBanVzdGEgbyB0YW1hbmhvIGRhIHRlbGEgY29uc2lkZXJhbmRvIG8gbWVudSBsYXRlcmFsXHJcbiAgICovXHJcbiAgc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCkge1xyXG4gICAgaWYgKHRoaXMubG9jYXRpb25Vc2VDb21wb25lbnQgPT0gJ3BhZ2UnKSB7XHJcbiAgICAgIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2UtZm9ybS1jb250YWluZXInKTtcclxuXHJcbiAgICAgIGlmIChmb3JtKSB7XHJcbiAgICAgICAgdmFyIHdpZHRoRnVsbCA9IGZvcm0uY2xpZW50V2lkdGg7XHJcbiAgICAgICAgdmFyIHdpZHRoQWRqdXN0ZWQ7XHJcblxyXG4gICAgICAgIHdpZHRoQWRqdXN0ZWQgPSB3aWR0aEZ1bGwgLSAzMzJcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxufVxyXG4iLCI8IS0tIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgLS0+XHJcbjxkaXZcclxuICBjbGFzcz1cImdyaWQtbm9ndXR0ZXIgbS0wXCJcclxuICBpZD1cInBhZ2UtZm9ybS1jb250YWluZXJcIlxyXG4+XHJcblxyXG4gIDwhLS0gUmVuZGVyaXphw6fDo28gZG8gZm9ybSAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIHAtMFwiIGlkPVwicGFnZS1mb3JtLWNvbnRlbnRcIj5cclxuXHJcblxyXG5cclxuPCEtLV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXy0tPlxyXG5cclxuXHJcblxyXG4gICAgPHAtc3RlcHBlclxyXG4gICAgW2FjdGl2ZVN0ZXBdPVwiYWN0aXZlU3RlcFwiXHJcbiAgICBbb3JpZW50YXRpb25dPVwib3JpZW50YXRpb25cIlxyXG4gICAgW2xpbmVhcl09XCJsaW5lYXJcIlxyXG4gICAgKGFjdGl2ZVN0ZXBDaGFuZ2UpPVwib25BY3RpdmVTdGVwQ2hhbmdlKCRldmVudClcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhbmVsIG9mIHBhbmVsczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8cC1zdGVwcGVyUGFuZWwgW2hlYWRlcl09XCJwYW5lbC5oZWFkZXJcIj5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBwVGVtcGxhdGU9XCJjb250ZW50XCJcclxuICAgICAgICAgIGxldC1uZXh0Q2FsbGJhY2s9XCJuZXh0Q2FsbGJhY2tcIlxyXG4gICAgICAgICAgbGV0LXByZXZDYWxsYmFjaz1cInByZXZDYWxsYmFja1wiXHJcbiAgICAgICAgPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXBhbmVsXCIgW2R5bmFtaWNDb21wb25lbnRdPVwieyBjb21wb25lbnQ6IHBhbmVsLmNvbnRlbnRUZW1wbGF0ZSwgaW5wdXRzOiBwYW5lbC5pbnB1dHMgfHwge30gfVwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwicGFuZWwuY29udGVudFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+IC0tPlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHB0LTRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJzogcGFuZWwuaWQgIT09IDAsXHJcbiAgICAgICAgICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBwYW5lbC5pZCA9PT0gMCxcclxuICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50LXN0YXJ0Jzogb3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICA+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBsZzpmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtZW5kIGNvbC0xMiBnYXAtMiBiYXJyYS1hY29lcyBncmlkIGdyaWQtbm9ndXR0ZXIgcC1mbHVpZFwiPlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b24tc2Vjb25kYXJ5XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dCdG5DYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0bkNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbi1zZWNvbmRhcnk+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gcGFuZWwuaWQgIT09IDAgLS0+XHJcbiAgICAgICAgICAgICAgQGlmKHRydWUpe1xyXG4gICAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1wZXJzb25hbGl6ZVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1ZvbHRhcidcIlxyXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cIiMwMDI1NDJcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGFuZWwuaWQgPT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidwaSBwaS1hcnJvdy1sZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2Q2FsbGJhY2suZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBlcnNvbmFsaXplPlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gcGFuZWwuaWQgIT09IHBhbmVscy5sZW5ndGggLSAxIC0tPlxyXG4gICAgICAgICAgICAgIEBpZih0cnVlKXtcclxuICAgICAgICAgICAgICAgIDxrdi1idXR0b24tc3VjY2Vzc1xyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiIHBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/IG5leHRDYWxsYmFjay5lbWl0KCkgOiBzYXZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIncGkgcGktYXJyb3ctcmlnaHQnXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInBhbmVsLmlkICE9IHBhbmVscy5sZW5ndGgtMSA/ICdBdmFuw6dhciAnIDogdHh0QnRuU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGljb25Qb3M9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICA+PC9rdi1idXR0b24tc3VjY2Vzcz5cclxuICAgICAgICAgICAgICB9XHJcbjwhLS1cclxuICAgICAgICAgICAgICA8a3YtYnV0dG9uLXN1Y2Nlc3NcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0J0blNhdmUgJiYgIHBhbmVsLmlkID09PSBwYW5lbHMubGVuZ3RoIC0gMSBcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInR4dEJ0blNhdmVcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0blNhdmVcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5TYXZlIHx8IHBhbmVsLmlkICE9PSBwYW5lbHMubGVuZ3RoIC0gMVwiXHJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0Q2FsbGJhY2suZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCIhZGlzYWJsZUJ0blNhdmUgPyBzYXZlKCRldmVudCkgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgIC8+IC0tPlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gQGlmKHBvc2l0aW9uQnRuVG9vZ2xlID09ICdzdGFydCcpe1xyXG4gICAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1wb3B1cFxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbnNUb29nbGUgJiYgc2hvd0J0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVUb29nbGUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzQnRuPVwie3tjbGFzc0J0blRvb2dsZX19XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBvcHVwPlxyXG4gICAgICAgICAgICAgICAgPHAtbWVudVxyXG4gICAgICAgICAgICAgICAgICAjbWVudVRvb2dsZVxyXG4gICAgICAgICAgICAgICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhY3Rpb25zVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgID48L3AtbWVudT5cclxuICAgICAgICAgICAgICB9IC0tPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIDxrdi1idXR0b24tcG9wdXBcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25zQ2FuY2VsVG9vZ2xlICYmIHNob3dCdG5DYW5jZWxUb29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuQ2FuY2VsVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkJ0bkNhbmNlbFRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtZW51Q2FuY2VsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzQnRuXT1cIididG4tc2Vjb25kYXJ5IGJvcmRlci0zMDAnXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBvcHVwPlxyXG4gICAgICAgICAgICAgICAgPHAtbWVudVxyXG4gICAgICAgICAgICAgICAgICAjbWVudUNhbmNlbFxyXG4gICAgICAgICAgICAgICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhY3Rpb25zQ2FuY2VsVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgID48L3AtbWVudT4gLS0+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gPGt2LWJ1dHRvbi1wb3B1cFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25zU2F2ZVRvb2dsZSAmJiBzaG93QnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHh0QnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibWVudVNhdmUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzQnRuXT1cIididG4tc3VjY2VzcyBib3JkZXItZ3JlZW4tNTAwJ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBvcHVwPlxyXG5cclxuICAgICAgICAgICAgICA8cC1tZW51XHJcbiAgICAgICAgICAgICAgICAjbWVudVNhdmVcclxuICAgICAgICAgICAgICAgIFtwb3B1cF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJhY3Rpb25zU2F2ZVRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICA+PC9wLW1lbnU+IC0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBAaWYocG9zaXRpb25CdG5Ub29nbGUgPT0gJ2VuZCcpe1xyXG4gICAgICAgICAgICAgICAgPGt2LWJ1dHRvbi1wb3B1cFxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbnNUb29nbGUgJiYgc2hvd0J0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0eHRCdG5Ub29nbGVcIlxyXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uQnRuVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnVUb29nbGUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ0blRvb2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzQnRuPVwie3tjbGFzc0J0blRvb2dsZX19XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwva3YtYnV0dG9uLXBvcHVwPlxyXG4gICAgICAgICAgICAgICAgPHAtbWVudVxyXG4gICAgICAgICAgICAgICAgICAjbWVudVRvb2dsZVxyXG4gICAgICAgICAgICAgICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhY3Rpb25zVG9vZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgICAgICAgICAgICAgID48L3AtbWVudT5cclxuICAgICAgICAgICAgICB9IC0tPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPC9wLXN0ZXBwZXJQYW5lbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvcC1zdGVwcGVyPlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuPCEtLV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXy0tPlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -429,11 +429,11 @@ export class KvTableComponent {
429
429
  this.dataSource = [...this.dataSource];
430
430
  }
431
431
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: i2.CpfCnpjPipe }, { token: i3.TelefonePipe }], target: i0.ɵɵFactoryTarget.Component }); }
432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableComponent, selector: "kv-table", inputs: { _templates: ["templates", "_templates"], setConfig: ["config", "setConfig"], defaultSortField: "defaultSortField", dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", pageLinksOptions: "pageLinksOptions", showFirstLastIcon: "showFirstLastIcon", tableSize: "tableSize", applyStyle: "applyStyle", filterColumnsBtn: "filterColumnsBtn", filtrosAvancados: "filtrosAvancados", scrollHeight: "scrollHeight", isTableScrollable: "isTableScrollable", tableCaptalized: "tableCaptalized", rowTrackBy: "rowTrackBy", responsiveLayout: "responsiveLayout", disabledHeaderCheckbox: "disabledHeaderCheckbox" }, outputs: { onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange", doubleClickEvent: "doubleClickEvent", filterField: "filterField", onSwitchTableChange: "onSwitchTableChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "menuFiltroDiv", first: true, predicate: ["menuFiltroDiv"], descendants: true }, { propertyName: "botaoFiltro", first: true, predicate: ["botaoFiltro"], descendants: true }], ngImport: i0, template: "<div>\r\n @if (filtrosAvancados) {\r\n <p-panel\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n @if (!collapsed) {\r\n <i class=\"pi pi-filter\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n @if (collapsed) {\r\n <i class=\"pi pi-minus\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n }\r\n\r\n @if (config) {\r\n <p-table\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event);\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (onSort)=\"onSort($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n >\r\n @if (config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if (config.title) {\r\n <div class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n }\r\n @if (config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n @if (config.enableFilter) {\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n }\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n @for (col of columns; track col) {\r\n <div class=\"flex flex-column text-medium w-15rem\">\r\n {{ checkMenuFiltro(col) }}\r\n @if (!dinamicDisableColumn(col)) {\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n ></p-checkbox>\r\n }\r\n </div>\r\n }\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n @for (action of config.actionsLote; track i; let i = $index) {\r\n <div\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n @if ((selectedItems.length > 0 || action.showAcoesLote) &&\r\n (getOrExecute(action.visible, selectedItems) ?? true)) {\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(); activeItemLote(selectedItems)\r\n \"\r\n style=\"background-color: #1DA750\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"getOrExecute(action.tooltip, selectedItems)?.length ?? 0 > 7 && config.actionsLote && i == config.actionsLote.length - 1 ? 'left' : 'bottom'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems)\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n style=\"color: white\"\r\n >\r\n {{ getOrExecute(action.icon, selectedItems) }}\r\n </span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n @if (config.enableSelect) {\r\n <th style=\"width: 4rem; border-left: solid 4px transparent\">\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\" [disabled]=\"disabledHeaderCheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]='col.field'\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]='col.field'\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n }\r\n @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions && config.actions.length > 0) {\r\n <th></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n let-rowIndex=\"rowIndex\"\r\n >\r\n <tr\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n @if (config.enableSelect) {\r\n <td [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\">\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData.data)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (rowgroup && !col.template) {\r\n <td\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{transformValue(rowData, col)}}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >{{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (!rowgroup && !col.grouped && !col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </td>\r\n }\r\n\r\n </ng-container>\r\n }\r\n\r\n @if (config.actions && config.actions.length > 0) {\r\n <td [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\">\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n\r\n\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n\r\n <!-- </button> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"tableActions[rowIndex - actionsOffset]\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"emptymessage\"\r\n let-columns\r\n >\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>", styles: ["@charset \"UTF-8\";.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-datatable-table{border-spacing:0px 2px}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-radius:10px 0 0 10px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:20%;width:1.625rem!important;height:1.625rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i9.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i10.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i11.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: i12.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i15.KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }] }); }
432
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableComponent, selector: "kv-table", inputs: { _templates: ["templates", "_templates"], setConfig: ["config", "setConfig"], defaultSortField: "defaultSortField", dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", pageLinksOptions: "pageLinksOptions", showFirstLastIcon: "showFirstLastIcon", tableSize: "tableSize", applyStyle: "applyStyle", filterColumnsBtn: "filterColumnsBtn", filtrosAvancados: "filtrosAvancados", scrollHeight: "scrollHeight", isTableScrollable: "isTableScrollable", tableCaptalized: "tableCaptalized", rowTrackBy: "rowTrackBy", responsiveLayout: "responsiveLayout", disabledHeaderCheckbox: "disabledHeaderCheckbox" }, outputs: { onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange", doubleClickEvent: "doubleClickEvent", filterField: "filterField", onSwitchTableChange: "onSwitchTableChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "menuFiltroDiv", first: true, predicate: ["menuFiltroDiv"], descendants: true }, { propertyName: "botaoFiltro", first: true, predicate: ["botaoFiltro"], descendants: true }], ngImport: i0, template: "<div>\r\n @if (filtrosAvancados) {\r\n <p-panel\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n @if (!collapsed) {\r\n <i class=\"pi pi-filter\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n @if (collapsed) {\r\n <i class=\"pi pi-minus\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n }\r\n\r\n @if (config) {\r\n <p-table\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event);\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (onSort)=\"onSort($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n >\r\n @if (config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if (config.title) {\r\n <div class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n }\r\n @if (config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n @if (config.enableFilter) {\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n }\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n @for (col of columns; track col) {\r\n <div class=\"flex flex-column text-medium w-15rem\">\r\n {{ checkMenuFiltro(col) }}\r\n @if (!dinamicDisableColumn(col)) {\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n ></p-checkbox>\r\n }\r\n </div>\r\n }\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n @for (action of config.actionsLote; track i; let i = $index) {\r\n <div\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n @if ((selectedItems.length > 0 || action.showAcoesLote) &&\r\n (getOrExecute(action.visible, selectedItems) ?? true)) {\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(); activeItemLote(selectedItems)\r\n \"\r\n style=\"background-color: #1DA750\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"getOrExecute(action.tooltip, selectedItems)?.length ?? 0 > 7 && config.actionsLote && i == config.actionsLote.length - 1 ? 'left' : 'bottom'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems)\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n style=\"color: white\"\r\n >\r\n {{ getOrExecute(action.icon, selectedItems) }}\r\n </span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n @if (config.enableSelect) {\r\n <th style=\"width: 4rem; border-left: solid 4px transparent\">\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\" [disabled]=\"disabledHeaderCheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]='col.field'\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]='col.field'\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n }\r\n @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions && config.actions.length > 0) {\r\n <th></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n let-rowIndex=\"rowIndex\"\r\n >\r\n <tr\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n @if (config.enableSelect) {\r\n <td [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\">\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData.data)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (rowgroup && !col.template) {\r\n <td\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{transformValue(rowData, col)}}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >{{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (!rowgroup && !col.grouped && !col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </td>\r\n }\r\n\r\n </ng-container>\r\n }\r\n\r\n @if (config.actions && config.actions.length > 0) {\r\n <td [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\">\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n\r\n\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n\r\n <!-- </button> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"tableActions[rowIndex - actionsOffset]\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"emptymessage\"\r\n let-columns\r\n >\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i9.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i10.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i11.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: i12.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i15.KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }] }); }
433
433
  }
434
434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableComponent, decorators: [{
435
435
  type: Component,
436
- args: [{ selector: 'kv-table', template: "<div>\r\n @if (filtrosAvancados) {\r\n <p-panel\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n @if (!collapsed) {\r\n <i class=\"pi pi-filter\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n @if (collapsed) {\r\n <i class=\"pi pi-minus\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n }\r\n\r\n @if (config) {\r\n <p-table\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event);\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (onSort)=\"onSort($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n >\r\n @if (config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if (config.title) {\r\n <div class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n }\r\n @if (config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n @if (config.enableFilter) {\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n }\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n @for (col of columns; track col) {\r\n <div class=\"flex flex-column text-medium w-15rem\">\r\n {{ checkMenuFiltro(col) }}\r\n @if (!dinamicDisableColumn(col)) {\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n ></p-checkbox>\r\n }\r\n </div>\r\n }\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n @for (action of config.actionsLote; track i; let i = $index) {\r\n <div\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n @if ((selectedItems.length > 0 || action.showAcoesLote) &&\r\n (getOrExecute(action.visible, selectedItems) ?? true)) {\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(); activeItemLote(selectedItems)\r\n \"\r\n style=\"background-color: #1DA750\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"getOrExecute(action.tooltip, selectedItems)?.length ?? 0 > 7 && config.actionsLote && i == config.actionsLote.length - 1 ? 'left' : 'bottom'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems)\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n style=\"color: white\"\r\n >\r\n {{ getOrExecute(action.icon, selectedItems) }}\r\n </span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n @if (config.enableSelect) {\r\n <th style=\"width: 4rem; border-left: solid 4px transparent\">\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\" [disabled]=\"disabledHeaderCheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]='col.field'\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]='col.field'\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n }\r\n @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions && config.actions.length > 0) {\r\n <th></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n let-rowIndex=\"rowIndex\"\r\n >\r\n <tr\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n @if (config.enableSelect) {\r\n <td [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\">\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData.data)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (rowgroup && !col.template) {\r\n <td\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{transformValue(rowData, col)}}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >{{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (!rowgroup && !col.grouped && !col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </td>\r\n }\r\n\r\n </ng-container>\r\n }\r\n\r\n @if (config.actions && config.actions.length > 0) {\r\n <td [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\">\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n\r\n\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n\r\n <!-- </button> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"tableActions[rowIndex - actionsOffset]\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"emptymessage\"\r\n let-columns\r\n >\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>", styles: ["@charset \"UTF-8\";.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-datatable-table{border-spacing:0px 2px}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-radius:10px 0 0 10px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:20%;width:1.625rem!important;height:1.625rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important}\n"] }]
436
+ args: [{ selector: 'kv-table', template: "<div>\r\n @if (filtrosAvancados) {\r\n <p-panel\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n @if (!collapsed) {\r\n <i class=\"pi pi-filter\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n @if (collapsed) {\r\n <i class=\"pi pi-minus\"></i>\r\n }\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n }\r\n\r\n @if (config) {\r\n <p-table\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event);\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (onSort)=\"onSort($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n >\r\n @if (config.enableCation) {\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n @if (config.title) {\r\n <div class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n }\r\n @if (config.subtitle) {\r\n <div class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n @if (config.enableFilter) {\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n }\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n @for (col of columns; track col) {\r\n <div class=\"flex flex-column text-medium w-15rem\">\r\n {{ checkMenuFiltro(col) }}\r\n @if (!dinamicDisableColumn(col)) {\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n ></p-checkbox>\r\n }\r\n </div>\r\n }\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n @for (action of config.actionsLote; track i; let i = $index) {\r\n <div\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n @if ((selectedItems.length > 0 || action.showAcoesLote) &&\r\n (getOrExecute(action.visible, selectedItems) ?? true)) {\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(); activeItemLote(selectedItems)\r\n \"\r\n style=\"background-color: #1DA750\"\r\n [pTooltip]=\"getOrExecute(action.tooltip, selectedItems)\"\r\n [tooltipPosition]=\"getOrExecute(action.tooltip, selectedItems)?.length ?? 0 > 7 && config.actionsLote && i == config.actionsLote.length - 1 ? 'left' : 'bottom'\"\r\n [disabled]=\"getOrExecute(action.disabled, selectedItems)\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n style=\"color: white\"\r\n >\r\n {{ getOrExecute(action.icon, selectedItems) }}\r\n </span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n @if (config.enableSelect) {\r\n <th style=\"width: 4rem; border-left: solid 4px transparent\">\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\" [disabled]=\"disabledHeaderCheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <th\r\n [pSortableColumn]='col.field'\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon\r\n [field]='col.field'\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n }\r\n @if (col.headerTooltip) {\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n }\r\n </div>\r\n </th>\r\n }\r\n @if (config.actions && config.actions.length > 0) {\r\n <th></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n let-rowIndex=\"rowIndex\"\r\n >\r\n <tr\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n @if (config.enableSelect) {\r\n <td [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\">\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData.data)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n }\r\n\r\n @for (col of columns; track $index) {\r\n <ng-container>\r\n @if (rowgroup && !col.template) {\r\n <td\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{transformValue(rowData, col)}}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >{{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (!rowgroup && !col.grouped && !col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n @if (!isChipField(col) && !col.iconField && !isImageField(col)) {\r\n <span>\r\n @if (col.icon) {\r\n <i [class]=\"col.icon + ' mr-2'\"></i>\r\n }\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n }\r\n\r\n @if (isChipField(col) && !col.iconField) {\r\n <div>\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n }\r\n </span>\r\n\r\n @if (isImageField(col)) {\r\n <span>\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n }\r\n\r\n @if (col.iconField) {\r\n <i\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n }\r\n\r\n <ng-template #booleanField>\r\n\r\n @if (!col.iconField && !isSwitchField(col)) {\r\n <i [ngClass]=\"rowData[col.field] ? 'text-green-500' : 'text-red-500'\"><span\r\n class=\"material-symbols-outlined\"\r\n >\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n }\r\n\r\n @if (isSwitchField(col)) {\r\n <span [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </td>\r\n }\r\n\r\n @if (col.template) {\r\n <td\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n @if (getCustomTemplate(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </td>\r\n }\r\n\r\n </ng-container>\r\n }\r\n\r\n @if (config.actions && config.actions.length > 0) {\r\n <td [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\">\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n\r\n\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n\r\n <!-- </button> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"tableActions[rowIndex - actionsOffset]\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"emptymessage\"\r\n let-columns\r\n >\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>" }]
437
437
  }], ctorParameters: () => [{ type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: i2.CpfCnpjPipe }, { type: i3.TelefonePipe }], propDecorators: { templates: [{
438
438
  type: ContentChildren,
439
439
  args: [TemplateDirective]