libey-ng-component-library 0.0.20 → 0.0.21

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.
@@ -175,7 +175,7 @@ export class LibeyNgSignatureComponent {
175
175
  }
176
176
  }
177
177
  LibeyNgSignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
178
- LibeyNgSignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgSignatureComponent, selector: "lib-libey-ng-signature", inputs: { DeviceType: "DeviceType" }, outputs: { OutputSignature: "OutputSignature" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["sigImg"], descendants: true }, { propertyName: "signaturePad", first: true, predicate: SignaturePad, descendants: true }], ngImport: i0, template: "<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n\n<div class=\"row\">\n <div class=\"col-md-12\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"width: 485px;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>", styles: [".container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}\n"], components: [{ type: i1.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { type: i2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
178
+ LibeyNgSignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgSignatureComponent, selector: "lib-libey-ng-signature", inputs: { DeviceType: "DeviceType" }, outputs: { OutputSignature: "OutputSignature" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["sigImg"], descendants: true }, { propertyName: "signaturePad", first: true, predicate: SignaturePad, descendants: true }], ngImport: i0, template: "<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-12\" style=\"padding-top: 17px !important; padding-bottom: 17px !important;\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"border: none;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>", styles: [".container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}\n"], components: [{ type: i1.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { type: i2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
179
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, decorators: [{
180
180
  type: Component,
181
181
  args: [{
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
194
194
  type: ViewChild,
195
195
  args: [SignaturePad]
196
196
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQU9yRCxNQUFNLGFBQWE7Q0FJbEI7QUFPRCxNQUFNLE9BQU8seUJBQXlCO0lBdUJwQztRQXRCVSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ3RELGVBQVUsR0FBVyxVQUFVLENBQUM7UUFFakMsY0FBUyxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTTdELGNBQVMsR0FBVyxHQUFHLENBQUM7UUFDeEIsZUFBVSxHQUFXLEdBQUcsQ0FBQztRQUN6QixnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUMxQixpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUMzQix3QkFBbUIsR0FBVztZQUM1QixRQUFRLEVBQUUsQ0FBQztZQUNYLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMz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bXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaWdXZWJUYWJsZXQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9TaWdXZWIvU2lnV2ViJztcbmltcG9ydCB7IEZvcm0sIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkIH0gZnJvbSAnYW5ndWxhcjItc2lnbmF0dXJlcGFkJztcbmludGVyZmFjZSBJT3V0cHV0TWVzc2FnZSB7XG4gIGJpb1NpZ0RhdGE6IHN0cmluZztcbiAgc2lnSW1nRGF0YTogc3RyaW5nO1xuICBzaWdTdHJpbmc6IHN0cmluZztcbn1cblxuY2xhc3MgT3V0cHV0TWVzc2FnZSBpbXBsZW1lbnRzIElPdXRwdXRNZXNzYWdlIHtcbiAgYmlvU2lnRGF0YTogc3RyaW5nO1xuICBzaWdJbWdEYXRhOiBzdHJpbmc7XG4gIHNpZ1N0cmluZzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbGliZXktbmctc2lnbmF0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpYmV5TmdTaWduYXR1cmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCkgT3V0cHV0U2lnbmF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcjxJT3V0cHV0TWVzc2FnZT4oKTtcbiAgQElucHV0KCkgRGV2aWNlVHlwZTogc3RyaW5nID0gJ21vdXNlcGFkJztcblxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIEBWaWV3Q2hpbGQoJ3NpZ0ltZycsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjYW52YXMhOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChTaWduYXR1cmVQYWQpIHNpZ25hdHVyZVBhZDogU2lnbmF0dXJlUGFkO1xuICBjbnZDb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIHRtcjogYW55O1xuICB3aWR0aFZpZXc6IG51bWJlciA9IDUwMDtcbiAgaGVpZ2h0VmlldzogbnVtYmVyID0gMjAwO1xuICB3aWR0aFJlbmRlcjogbnVtYmVyID0gNTAwO1xuICBoZWlnaHRSZW5kZXI6IG51bWJlciA9IDIwMDtcbiAgc2lnbmF0dXJlUGFkT3B0aW9uczogT2JqZWN0ID0ge1xuICAgIG1pbldpZHRoOiA1LFxuICAgIGNhbnZhc1dpZHRoOiB0aGlzLndpZHRoVmlldyxcbiAgICBjYW52YXNIZWlnaHQ6IHRoaXMuaGVpZ2h0VmlldyxcbiAgfTtcbiAgRmlsZVZhbGlkYXRlZCA9IGZhbHNlO1xuICBOb3REcml2ZXIgPSBmYWxzZTtcbiAgVXBsb2FkRmlsZTogc3RyaW5nID0gbnVsbDtcbiAgRmlsZTogYW55O1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuSW5pdERldmljZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zaW5nU2lnV2ViKCk7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIENoYW5nZURldmljZSgpIHtcbiAgICB0aGlzLk5vdERyaXZlciA9IGZhbHNlO1xuICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XG4gICAgdGhpcy5GaWxlID0gbnVsbDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuSW5pdERldmljZSgpO1xuICAgIH0sIDIwMCk7XG4gIH1cblxuICBJbml0RGV2aWNlKCkge1xuICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ3BpbnBhZCcpIHtcbiAgICAgIHRoaXMuY252Q29udGV4dCA9ICg8SFRNTENhbnZhc0VsZW1lbnQ+KFxuICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50XG4gICAgICApKS5nZXRDb250ZXh0KCcyZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5EZXZpY2VUeXBlID09ICdtb3VzZXBhZCcpIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlUGFkLnNldCgnbWluV2lkdGgnLCA1KTtcbiAgICAgIHRoaXMuc2lnbmF0dXJlUGFkLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2luZ1NpZ1dlYigpIHtcbiAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcbiAgICBTaWdXZWJUYWJsZXQuU2V0VGFibGV0U3RhdGUoMCwgdGhpcy50bXIsIG51bGwpO1xuICB9XG5cbiAgb25TaWduKCkge1xuICAgIHRoaXMuTm90RHJpdmVyID0gZmFsc2U7XG4gICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcbiAgICB2YXIgZHJpdmVyID0gU2lnV2ViVGFibGV0LkdldFZlcnNpb25TdHJpbmcoKTtcbiAgICBpZihkcml2ZXIgPT0gbnVsbCl7XG4gICAgICB0aGlzLk5vdERyaXZlciA9IHRydWU7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLk5vdERyaXZlciA9IGZhbHNlO1xuICAgICAgY29uc29sZS5sb2coJ29uU2lnbiBDbGlja2VkIScpO1xuICAgICAgU2lnV2ViVGFibGV0LlNldERpc3BsYXlYU2l6ZSh0aGlzLndpZHRoUmVuZGVyKTtcbiAgICAgIFNpZ1dlYlRhYmxldC5TZXREaXNwbGF5WVNpemUodGhpcy5oZWlnaHRSZW5kZXIpO1xuICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcbiAgICAgIFNpZ1dlYlRhYmxldC5TZXRKdXN0aWZ5TW9kZSgwKTtcbiAgICAgIFNpZ1dlYlRhYmxldC5DbGVhclRhYmxldCgpO1xuXG4gICAgICBpZiAodGhpcy50bXIgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnRtciA9IFNpZ1dlYlRhYmxldC5TZXRUYWJsZXRTdGF0ZSgxLCB0aGlzLmNudkNvbnRleHQsIDUwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIFNpZ1dlYlRhYmxldC5TZXRUYWJsZXRTdGF0ZSgwLCB0aGlzLnRtciwgbnVsbCk7XG4gICAgICAgIHRoaXMudG1yID0gbnVsbDtcbiAgICAgICAgdGhpcy50bXIgPSBTaWdXZWJUYWJsZXQuU2V0VGFibGV0U3RhdGUoMSwgdGhpcy5jbnZDb250ZXh0LCA1MCk7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYodGhpcy5VcGxvYWRGaWxlID09IG51bGwpe1xuICAgICAgaWYgKHRoaXMuRGV2aWNlVHlwZSA9PSAncGlucGFkJykge1xuICAgICAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcbiAgICAgICAgaWYgKHRoaXMuY252Q29udGV4dCkge1xuICAgICAgICAgIHRoaXMuY252Q29udGV4dC5jbGVhclJlY3QoXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGgsXG4gICAgICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ21vdXNlcGFkJykge1xuICAgICAgICB0aGlzLnNpZ25hdHVyZVBhZC5jbGVhcigpO1xuICAgICAgfVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5GaWxlID0gbnVsbDtcbiAgICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XG4gICAgICB0aGlzLkNoYW5nZURldmljZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uRG9uZSgpIHtcbiAgICB2YXIgcmVzdWx0ID0gbmV3IE91dHB1dE1lc3NhZ2UoKTtcbiAgICBpZih0aGlzLlVwbG9hZEZpbGUgPT0gbnVsbCl7XG4gICAgICBpZiAodGhpcy5EZXZpY2VUeXBlID09ICdwaW5wYWQnKSB7XG4gICAgICAgIC8vIGlmIChOdW1iZXIoU2lnV2ViVGFibGV0Lk51bWJlck9mVGFibGV0UG9pbnRzKCkpID09PSAwKSB7XG4gICAgICAgIC8vICAgYWxlcnQoJ1BvciBmYXZvciBmaXJtZSBhbnRlcyBkZSBjb250aW51YXInKTtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcblxuICAgICAgICBTaWdXZWJUYWJsZXQuU2V0U2lnQ29tcHJlc3Npb25Nb2RlKDEpO1xuICAgICAgICByZXN1bHQuYmlvU2lnRGF0YSA9IFNpZ1dlYlRhYmxldC5HZXRTaWdTdHJpbmcoKTtcbiAgICAgICAgcmVzdWx0LnNpZ0ltZ0RhdGEgPSBTaWdXZWJUYWJsZXQuR2V0U2lnU3RyaW5nKCk7XG4gICAgICAgIFNpZ1dlYlRhYmxldC5TZXRJbWFnZVhTaXplKHRoaXMud2lkdGhSZW5kZXIpO1xuICAgICAgICBTaWdXZWJUYWJsZXQuU2V0SW1hZ2VZU2l6ZSh0aGlzLmhlaWdodFJlbmRlcik7XG4gICAgICAgIFNpZ1dlYlRhYmxldC5TZXRJbWFnZVBlbldpZHRoKDUpO1xuICAgICAgICBTaWdXZWJUYWJsZXQuR2V0U2lnSW1hZ2VCNjQoKGJhc2U2NDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmVzdWx0LnNpZ1N0cmluZyA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LFwiICsgYmFzZTY0O1xuICAgICAgICAgIHRoaXMuT3V0cHV0U2lnbmF0dXJlLmVtaXQocmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ21vdXNlcGFkJykge1xuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IE91dHB1dE1lc3NhZ2UoKTtcbiAgICAgICAgcmVzdWx0LnNpZ1N0cmluZyA9IHRoaXMuc2lnbmF0dXJlUGFkLnRvRGF0YVVSTCgpO1xuICAgICAgICB0aGlzLk91dHB1dFNpZ25hdHVyZS5lbWl0KHJlc3VsdCk7XG4gICAgICB9XG4gICAgfWVsc2V7XG4gICAgICByZXN1bHQuc2lnU3RyaW5nID0gdGhpcy5VcGxvYWRGaWxlO1xuICAgICAgdGhpcy5PdXRwdXRTaWduYXR1cmUuZW1pdChyZXN1bHQpO1xuICAgIH1cbiAgfVxuICBmaWxlRXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XG4gICAgdGhpcy5GaWxlVmFsaWRhdGVkID0gZmFsc2U7XG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcbiAgICBpZiAoZmlsZS50eXBlID09ICdpbWFnZS9qcGVnJyB8fCBmaWxlLnR5cGUgPT0gJ2ltYWdlL3BuZycpIHtcbiAgICAgIHRoaXMuRmlsZVZhbGlkYXRlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLndpZHRoUmVuZGVyO1xuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gdGhpcy5oZWlnaHRSZW5kZXI7XG4gICAgICB0aGlzLnJlc2l6ZUltYWdlKGZpbGUsIG5ld1dpZHRoLCBuZXdIZWlnaHQpXG4gICAgICAgIC50aGVuKChyZXNpemVkSW1hZ2VEYXRhVXJsKSA9PiB7XG4gICAgICAgICAgdGhpcy5VcGxvYWRGaWxlID0gcmVzaXplZEltYWdlRGF0YVVybDtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFsIHJlZGltZW5zaW9uYXIgbGEgaW1hZ2VuOicsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLkZpbGUgPSBudWxsO1xuICAgICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcbiAgICAgIHRoaXMuRmlsZVZhbGlkYXRlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIHJlc2l6ZUltYWdlKGltYWdlOiBGaWxlLCBuZXdXaWR0aDogbnVtYmVyLCBuZXdIZWlnaHQ6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHtcbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5zcmMgPSBlLnRhcmdldC5yZXN1bHQgYXMgc3RyaW5nO1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICAgIGNhbnZhcy53aWR0aCA9IG5ld1dpZHRoO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIG5ld1dpZHRoLCBuZXdIZWlnaHQpO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZWRJbWFnZURhdGFVcmwgPSBjYW52YXMudG9EYXRhVVJMKGltYWdlLnR5cGUpO1xuICAgICAgICAgIHJlc29sdmUocmVzaXplZEltYWdlRGF0YVVybCk7XG4gICAgICAgIH07XG4gICAgICAgIGltZy5vbmVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChpbWFnZSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgPGRpdiAqbmdJZj1cIlVwbG9hZEZpbGU9PW51bGxcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiRGV2aWNlVHlwZT09J3BpbnBhZCdcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjsgYm9yZGVyOiAxcHggcmlkZ2UgI2QyZDJkMjtcIj5cbiAgICAgIDxjYW52YXMgIChjbGljayk9XCJvblNpZ24oKVwiICNzaWdJbWcgW3dpZHRoXT1cIndpZHRoVmlld1wiIFtoZWlnaHRdPVwiaGVpZ2h0Vmlld1wiPjwvY2FudmFzPiAgXG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIkRldmljZVR5cGU9PSdtb3VzZXBhZCdcIiBzdHlsZT1cImJvcmRlcjogMXB4IHJpZGdlICNkMmQyZDI7XCI+XG4gICAgICA8c2lnbmF0dXJlLXBhZCBbb3B0aW9uc109XCJzaWduYXR1cmVQYWRPcHRpb25zXCI+PC9zaWduYXR1cmUtcGFkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIlVwbG9hZEZpbGUhPW51bGxcIiBzdHlsZT1cImJvcmRlcjogMXB4IHJpZGdlICNkMmQyZDI7XCI+XG4gICAgPGltZyBbc3JjXT1cIlVwbG9hZEZpbGVcIiBbd2lkdGhdPVwid2lkdGhWaWV3XCIgW2hlaWdodF09XCJoZWlnaHRWaWV3XCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgKGNoYW5nZSk9XCJmaWxlRXZlbnQoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1waFwiXG4gICAgYWNjZXB0PVwiaW1hZ2UvcG5nLCBpbWFnZS9qcGVnXCIgc3R5bGU9XCJ3aWR0aDogNDg1cHg7XCI+XG4gICAgPGxhYmVsICpuZ0lmPVwiRmlsZVZhbGlkYXRlZFwiIFtuZ0NsYXNzXT1cIid0ZXh0LWRhbmdlcidcIj5BcmNoaXZvIHJlcXVlcmlkby4gRm9ybWF0b3MgcGVybWl0aWRvcyAoanBlZywganBnLCBwbmcpPC9sYWJlbD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICA8bmctc2VsZWN0IFsobmdNb2RlbCldPVwiRGV2aWNlVHlwZVwiIGNsYXNzPVwibmctc2VsZWN0XCIgcGxhY2Vob2xkZXI9XCJTZWxlY2Npb25hclwiIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxuICAgICAgKGNoYW5nZSk9XCJDaGFuZ2VEZXZpY2UoKVwiPlxuICAgICAgICAgIDxuZy1vcHRpb24gW3ZhbHVlXT1cIidwaW5wYWQnXCI+UGlucGFkPC9uZy1vcHRpb24+XG4gICAgICAgICAgPG5nLW9wdGlvbiBbdmFsdWVdPVwiJ21vdXNlcGFkJ1wiPk1vdXNlcGFkPC9uZy1vcHRpb24+XG4gICAgICA8L25nLXNlbGVjdD5cbiAgICAgIDxsYWJlbCAqbmdJZj1cIk5vdERyaXZlclwiIFtuZ0NsYXNzXT1cIid0ZXh0LWRhbmdlcidcIj5ObyB0aWVuZSBlbCBkcml2ZXIgaW5zdGFsYWRvPC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1saW5rLXJwXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJvbkNsZWFyKClcIj5cbiAgICAgICAgICBMaW1waWFyIGZpcm1hXG4gICAgICA8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIgbXQtMTUgbWItNFwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc2F2ZS1ycFwiIChjbGljayk9XCJvbkRvbmUoKVwiPiBcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1zYXZlLXdoaXRlXCI+PC9pPiBHdWFyZGFyXG4gIDwvYnV0dG9uPlxuPC9kaXY+Il19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQU9yRCxNQUFNLGFBQWE7Q0FJbEI7QUFPRCxNQUFNLE9BQU8seUJBQXlCO0lBdUJwQztRQXRCVSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ3RELGVBQVUsR0FBVyxVQUFVLENBQUM7UUFFakMsY0FBUyxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTTdELGNBQVMsR0FBVyxHQUFHLENBQUM7UUFDeEIsZUFBVSxHQUFXLEdBQUcsQ0FBQztRQUN6QixnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUMxQixpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUMzQix3QkFBbUIsR0FBVztZQUM1QixRQUFRLEVBQUUsQ0FBQztZQUNYLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMz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bXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaWdXZWJUYWJsZXQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9TaWdXZWIvU2lnV2ViJztcbmltcG9ydCB7IEZvcm0sIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkIH0gZnJvbSAnYW5ndWxhcjItc2lnbmF0dXJlcGFkJztcbmludGVyZmFjZSBJT3V0cHV0TWVzc2FnZSB7XG4gIGJpb1NpZ0RhdGE6IHN0cmluZztcbiAgc2lnSW1nRGF0YTogc3RyaW5nO1xuICBzaWdTdHJpbmc6IHN0cmluZztcbn1cblxuY2xhc3MgT3V0cHV0TWVzc2FnZSBpbXBsZW1lbnRzIElPdXRwdXRNZXNzYWdlIHtcbiAgYmlvU2lnRGF0YTogc3RyaW5nO1xuICBzaWdJbWdEYXRhOiBzdHJpbmc7XG4gIHNpZ1N0cmluZzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbGliZXktbmctc2lnbmF0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpYmV5TmdTaWduYXR1cmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCkgT3V0cHV0U2lnbmF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcjxJT3V0cHV0TWVzc2FnZT4oKTtcbiAgQElucHV0KCkgRGV2aWNlVHlwZTogc3RyaW5nID0gJ21vdXNlcGFkJztcblxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIEBWaWV3Q2hpbGQoJ3NpZ0ltZycsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjYW52YXMhOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChTaWduYXR1cmVQYWQpIHNpZ25hdHVyZVBhZDogU2lnbmF0dXJlUGFkO1xuICBjbnZDb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIHRtcjogYW55O1xuICB3aWR0aFZpZXc6IG51bWJlciA9IDUwMDtcbiAgaGVpZ2h0VmlldzogbnVtYmVyID0gMjAwO1xuICB3aWR0aFJlbmRlcjogbnVtYmVyID0gNTAwO1xuICBoZWlnaHRSZW5kZXI6IG51bWJlciA9IDIwMDtcbiAgc2lnbmF0dXJlUGFkT3B0aW9uczogT2JqZWN0ID0ge1xuICAgIG1pbldpZHRoOiA1LFxuICAgIGNhbnZhc1dpZHRoOiB0aGlzLndpZHRoVmlldyxcbiAgICBjYW52YXNIZWlnaHQ6IHRoaXMuaGVpZ2h0VmlldyxcbiAgfTtcbiAgRmlsZVZhbGlkYXRlZCA9IGZhbHNlO1xuICBOb3REcml2ZXIgPSBmYWxzZTtcbiAgVXBsb2FkRmlsZTogc3RyaW5nID0gbnVsbDtcbiAgRmlsZTogYW55O1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuSW5pdERldmljZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zaW5nU2lnV2ViKCk7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIENoYW5nZURldmljZSgpIHtcbiAgICB0aGlzLk5vdERyaXZlciA9IGZhbHNlO1xuICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XG4gICAgdGhpcy5GaWxlID0gbnVsbDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuSW5pdERldmljZSgpO1xuICAgIH0sIDIwMCk7XG4gIH1cblxuICBJbml0RGV2aWNlKCkge1xuICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ3BpbnBhZCcpIHtcbiAgICAgIHRoaXMuY252Q29udGV4dCA9ICg8SFRNTENhbnZhc0VsZW1lbnQ+KFxuICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50XG4gICAgICApKS5nZXRDb250ZXh0KCcyZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5EZXZpY2VUeXBlID09ICdtb3VzZXBhZCcpIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlUGFkLnNldCgnbWluV2lkdGgnLCA1KTtcbiAgICAgIHRoaXMuc2lnbmF0dXJlUGFkLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2luZ1NpZ1dlYigpIHtcbiAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcbiAgICBTaWdXZWJUYWJsZXQuU2V0VGFibGV0U3RhdGUoMCwgdGhpcy50bXIsIG51bGwpO1xuICB9XG5cbiAgb25TaWduKCkge1xuICAgIHRoaXMuTm90RHJpdmVyID0gZmFsc2U7XG4gICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcbiAgICB2YXIgZHJpdmVyID0gU2lnV2ViVGFibGV0LkdldFZlcnNpb25TdHJpbmcoKTtcbiAgICBpZihkcml2ZXIgPT0gbnVsbCl7XG4gICAgICB0aGlzLk5vdERyaXZlciA9IHRydWU7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLk5vdERyaXZlciA9IGZhbHNlO1xuICAgICAgY29uc29sZS5sb2coJ29uU2lnbiBDbGlja2VkIScpO1xuICAgICAgU2lnV2ViVGFibGV0LlNldERpc3BsYXlYU2l6ZSh0aGlzLndpZHRoUmVuZGVyKTtcbiAgICAgIFNpZ1dlYlRhYmxldC5TZXREaXNwbGF5WVNpemUodGhpcy5oZWlnaHRSZW5kZXIpO1xuICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcbiAgICAgIFNpZ1dlYlRhYmxldC5TZXRKdXN0aWZ5TW9kZSgwKTtcbiAgICAgIFNpZ1dlYlRhYmxldC5DbGVhclRhYmxldCgpO1xuXG4gICAgICBpZiAodGhpcy50bXIgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnRtciA9IFNpZ1dlYlRhYmxldC5TZXRUYWJsZXRTdGF0ZSgxLCB0aGlzLmNudkNvbnRleHQsIDUwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIFNpZ1dlYlRhYmxldC5TZXRUYWJsZXRTdGF0ZSgwLCB0aGlzLnRtciwgbnVsbCk7XG4gICAgICAgIHRoaXMudG1yID0gbnVsbDtcbiAgICAgICAgdGhpcy50bXIgPSBTaWdXZWJUYWJsZXQuU2V0VGFibGV0U3RhdGUoMSwgdGhpcy5jbnZDb250ZXh0LCA1MCk7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYodGhpcy5VcGxvYWRGaWxlID09IG51bGwpe1xuICAgICAgaWYgKHRoaXMuRGV2aWNlVHlwZSA9PSAncGlucGFkJykge1xuICAgICAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcbiAgICAgICAgaWYgKHRoaXMuY252Q29udGV4dCkge1xuICAgICAgICAgIHRoaXMuY252Q29udGV4dC5jbGVhclJlY3QoXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGgsXG4gICAgICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ21vdXNlcGFkJykge1xuICAgICAgICB0aGlzLnNpZ25hdHVyZVBhZC5jbGVhcigpO1xuICAgICAgfVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5GaWxlID0gbnVsbDtcbiAgICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XG4gICAgICB0aGlzLkNoYW5nZURldmljZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uRG9uZSgpIHtcbiAgICB2YXIgcmVzdWx0ID0gbmV3IE91dHB1dE1lc3NhZ2UoKTtcbiAgICBpZih0aGlzLlVwbG9hZEZpbGUgPT0gbnVsbCl7XG4gICAgICBpZiAodGhpcy5EZXZpY2VUeXBlID09ICdwaW5wYWQnKSB7XG4gICAgICAgIC8vIGlmIChOdW1iZXIoU2lnV2ViVGFibGV0Lk51bWJlck9mVGFibGV0UG9pbnRzKCkpID09PSAwKSB7XG4gICAgICAgIC8vICAgYWxlcnQoJ1BvciBmYXZvciBmaXJtZSBhbnRlcyBkZSBjb250aW51YXInKTtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcblxuICAgICAgICBTaWdXZWJUYWJsZXQuU2V0U2lnQ29tcHJlc3Npb25Nb2RlKDEpO1xuICAgICAgICByZXN1bHQuYmlvU2lnRGF0YSA9IFNpZ1dlYlRhYmxldC5HZXRTaWdTdHJpbmcoKTtcbiAgICAgICAgcmVzdWx0LnNpZ0ltZ0RhdGEgPSBTaWdXZWJUYWJsZXQuR2V0U2lnU3RyaW5nKCk7XG4gICAgICAgIFNpZ1dlYlRhYmxldC5TZXRJbWFnZVhTaXplKHRoaXMud2lkdGhSZW5kZXIpO1xuICAgICAgICBTaWdXZWJUYWJsZXQuU2V0SW1hZ2VZU2l6ZSh0aGlzLmhlaWdodFJlbmRlcik7XG4gICAgICAgIFNpZ1dlYlRhYmxldC5TZXRJbWFnZVBlbldpZHRoKDUpO1xuICAgICAgICBTaWdXZWJUYWJsZXQuR2V0U2lnSW1hZ2VCNjQoKGJhc2U2NDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmVzdWx0LnNpZ1N0cmluZyA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LFwiICsgYmFzZTY0O1xuICAgICAgICAgIHRoaXMuT3V0cHV0U2lnbmF0dXJlLmVtaXQocmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ21vdXNlcGFkJykge1xuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IE91dHB1dE1lc3NhZ2UoKTtcbiAgICAgICAgcmVzdWx0LnNpZ1N0cmluZyA9IHRoaXMuc2lnbmF0dXJlUGFkLnRvRGF0YVVSTCgpO1xuICAgICAgICB0aGlzLk91dHB1dFNpZ25hdHVyZS5lbWl0KHJlc3VsdCk7XG4gICAgICB9XG4gICAgfWVsc2V7XG4gICAgICByZXN1bHQuc2lnU3RyaW5nID0gdGhpcy5VcGxvYWRGaWxlO1xuICAgICAgdGhpcy5PdXRwdXRTaWduYXR1cmUuZW1pdChyZXN1bHQpO1xuICAgIH1cbiAgfVxuICBmaWxlRXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XG4gICAgdGhpcy5GaWxlVmFsaWRhdGVkID0gZmFsc2U7XG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcbiAgICBpZiAoZmlsZS50eXBlID09ICdpbWFnZS9qcGVnJyB8fCBmaWxlLnR5cGUgPT0gJ2ltYWdlL3BuZycpIHtcbiAgICAgIHRoaXMuRmlsZVZhbGlkYXRlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLndpZHRoUmVuZGVyO1xuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gdGhpcy5oZWlnaHRSZW5kZXI7XG4gICAgICB0aGlzLnJlc2l6ZUltYWdlKGZpbGUsIG5ld1dpZHRoLCBuZXdIZWlnaHQpXG4gICAgICAgIC50aGVuKChyZXNpemVkSW1hZ2VEYXRhVXJsKSA9PiB7XG4gICAgICAgICAgdGhpcy5VcGxvYWRGaWxlID0gcmVzaXplZEltYWdlRGF0YVVybDtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFsIHJlZGltZW5zaW9uYXIgbGEgaW1hZ2VuOicsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLkZpbGUgPSBudWxsO1xuICAgICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcbiAgICAgIHRoaXMuRmlsZVZhbGlkYXRlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIHJlc2l6ZUltYWdlKGltYWdlOiBGaWxlLCBuZXdXaWR0aDogbnVtYmVyLCBuZXdIZWlnaHQ6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHtcbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5zcmMgPSBlLnRhcmdldC5yZXN1bHQgYXMgc3RyaW5nO1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICAgIGNhbnZhcy53aWR0aCA9IG5ld1dpZHRoO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIG5ld1dpZHRoLCBuZXdIZWlnaHQpO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZWRJbWFnZURhdGFVcmwgPSBjYW52YXMudG9EYXRhVVJMKGltYWdlLnR5cGUpO1xuICAgICAgICAgIHJlc29sdmUocmVzaXplZEltYWdlRGF0YVVybCk7XG4gICAgICAgIH07XG4gICAgICAgIGltZy5vbmVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChpbWFnZSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgPGRpdiAqbmdJZj1cIlVwbG9hZEZpbGU9PW51bGxcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiRGV2aWNlVHlwZT09J3BpbnBhZCdcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjsgYm9yZGVyOiAxcHggcmlkZ2UgI2QyZDJkMjtcIj5cbiAgICAgIDxjYW52YXMgIChjbGljayk9XCJvblNpZ24oKVwiICNzaWdJbWcgW3dpZHRoXT1cIndpZHRoVmlld1wiIFtoZWlnaHRdPVwiaGVpZ2h0Vmlld1wiPjwvY2FudmFzPiAgXG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIkRldmljZVR5cGU9PSdtb3VzZXBhZCdcIiBzdHlsZT1cImJvcmRlcjogMXB4IHJpZGdlICNkMmQyZDI7XCI+XG4gICAgICA8c2lnbmF0dXJlLXBhZCBbb3B0aW9uc109XCJzaWduYXR1cmVQYWRPcHRpb25zXCI+PC9zaWduYXR1cmUtcGFkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIlVwbG9hZEZpbGUhPW51bGxcIiBzdHlsZT1cImJvcmRlcjogMXB4IHJpZGdlICNkMmQyZDI7XCI+XG4gICAgPGltZyBbc3JjXT1cIlVwbG9hZEZpbGVcIiBbd2lkdGhdPVwid2lkdGhWaWV3XCIgW2hlaWdodF09XCJoZWlnaHRWaWV3XCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIHN0eWxlPVwicGFkZGluZy10b3A6IDE3cHggIWltcG9ydGFudDsgcGFkZGluZy1ib3R0b206IDE3cHggIWltcG9ydGFudDtcIj5cbiAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cImZpbGVFdmVudCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJGaWxlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXBoXCJcbiAgICBhY2NlcHQ9XCJpbWFnZS9wbmcsIGltYWdlL2pwZWdcIiBzdHlsZT1cImJvcmRlcjogbm9uZTtcIj5cbiAgICA8bGFiZWwgKm5nSWY9XCJGaWxlVmFsaWRhdGVkXCIgW25nQ2xhc3NdPVwiJ3RleHQtZGFuZ2VyJ1wiPkFyY2hpdm8gcmVxdWVyaWRvLiBGb3JtYXRvcyBwZXJtaXRpZG9zIChqcGVnLCBqcGcsIHBuZyk8L2xhYmVsPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgIDxuZy1zZWxlY3QgWyhuZ01vZGVsKV09XCJEZXZpY2VUeXBlXCIgY2xhc3M9XCJuZy1zZWxlY3RcIiBwbGFjZWhvbGRlcj1cIlNlbGVjY2lvbmFyXCIgW2NsZWFyYWJsZV09XCJmYWxzZVwiXG4gICAgICAoY2hhbmdlKT1cIkNoYW5nZURldmljZSgpXCI+XG4gICAgICAgICAgPG5nLW9wdGlvbiBbdmFsdWVdPVwiJ3BpbnBhZCdcIj5QaW5wYWQ8L25nLW9wdGlvbj5cbiAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInbW91c2VwYWQnXCI+TW91c2VwYWQ8L25nLW9wdGlvbj5cbiAgICAgIDwvbmctc2VsZWN0PlxuICAgICAgPGxhYmVsICpuZ0lmPVwiTm90RHJpdmVyXCIgW25nQ2xhc3NdPVwiJ3RleHQtZGFuZ2VyJ1wiPk5vIHRpZW5lIGVsIGRyaXZlciBpbnN0YWxhZG88L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LWxpbmstcnBcIiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0OyBjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiPlxuICAgICAgICAgIExpbXBpYXIgZmlybWFcbiAgICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciBtdC0xNSBtYi00XCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zYXZlLXJwXCIgKGNsaWNrKT1cIm9uRG9uZSgpXCI+IFxuICAgICAgPGkgY2xhc3M9XCJpY29uLXNhdmUtd2hpdGVcIj48L2k+IEd1YXJkYXJcbiAgPC9idXR0b24+XG48L2Rpdj4iXX0=
@@ -1955,7 +1955,7 @@ class LibeyNgSignatureComponent {
1955
1955
  }
1956
1956
  }
1957
1957
  LibeyNgSignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1958
- LibeyNgSignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgSignatureComponent, selector: "lib-libey-ng-signature", inputs: { DeviceType: "DeviceType" }, outputs: { OutputSignature: "OutputSignature" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["sigImg"], descendants: true }, { propertyName: "signaturePad", first: true, predicate: SignaturePad, descendants: true }], ngImport: i0, template: "<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n\n<div class=\"row\">\n <div class=\"col-md-12\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"width: 485px;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>", styles: [".container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}\n"], components: [{ type: i1$1.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { type: i2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1958
+ LibeyNgSignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgSignatureComponent, selector: "lib-libey-ng-signature", inputs: { DeviceType: "DeviceType" }, outputs: { OutputSignature: "OutputSignature" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["sigImg"], descendants: true }, { propertyName: "signaturePad", first: true, predicate: SignaturePad, descendants: true }], ngImport: i0, template: "<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-12\" style=\"padding-top: 17px !important; padding-bottom: 17px !important;\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"border: none;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>", styles: [".container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}\n"], components: [{ type: i1$1.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { type: i2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1959
1959
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, decorators: [{
1960
1960
  type: Component,
1961
1961
  args: [{