libey-ng-component-library 0.0.18 → 0.0.20

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.
@@ -0,0 +1,197 @@
1
+ import { Component, ViewChild, Output, EventEmitter, Input, } from '@angular/core';
2
+ import { SigWebTablet } from '../../../utils/SigWeb/SigWeb';
3
+ import { Subject } from 'rxjs';
4
+ import { SignaturePad } from 'angular2-signaturepad';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "angular2-signaturepad";
7
+ import * as i2 from "@ng-select/ng-select";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/forms";
10
+ class OutputMessage {
11
+ }
12
+ export class LibeyNgSignatureComponent {
13
+ constructor() {
14
+ this.OutputSignature = new EventEmitter();
15
+ this.DeviceType = 'mousepad';
16
+ this._destroy$ = new Subject();
17
+ this.widthView = 500;
18
+ this.heightView = 200;
19
+ this.widthRender = 500;
20
+ this.heightRender = 200;
21
+ this.signaturePadOptions = {
22
+ minWidth: 5,
23
+ canvasWidth: this.widthView,
24
+ canvasHeight: this.heightView,
25
+ };
26
+ this.FileValidated = false;
27
+ this.NotDriver = false;
28
+ this.UploadFile = null;
29
+ }
30
+ ngAfterViewInit() {
31
+ this.InitDevice();
32
+ }
33
+ ngOnDestroy() {
34
+ this.closingSigWeb();
35
+ this._destroy$.next(true);
36
+ }
37
+ ChangeDevice() {
38
+ this.NotDriver = false;
39
+ this.UploadFile = null;
40
+ this.File = null;
41
+ setTimeout(() => {
42
+ this.InitDevice();
43
+ }, 200);
44
+ }
45
+ InitDevice() {
46
+ if (this.DeviceType == 'pinpad') {
47
+ this.cnvContext = (this.canvas.nativeElement).getContext('2d');
48
+ }
49
+ if (this.DeviceType == 'mousepad') {
50
+ this.signaturePad.set('minWidth', 5);
51
+ this.signaturePad.clear();
52
+ }
53
+ }
54
+ closingSigWeb() {
55
+ SigWebTablet.ClearTablet();
56
+ SigWebTablet.SetTabletState(0, this.tmr, null);
57
+ }
58
+ onSign() {
59
+ this.NotDriver = false;
60
+ this.UploadFile = null;
61
+ var driver = SigWebTablet.GetVersionString();
62
+ if (driver == null) {
63
+ this.NotDriver = true;
64
+ }
65
+ else {
66
+ this.NotDriver = false;
67
+ console.log('onSign Clicked!');
68
+ SigWebTablet.SetDisplayXSize(this.widthRender);
69
+ SigWebTablet.SetDisplayYSize(this.heightRender);
70
+ SigWebTablet.SetTabletState(0, this.tmr, null);
71
+ SigWebTablet.SetJustifyMode(0);
72
+ SigWebTablet.ClearTablet();
73
+ if (this.tmr == null) {
74
+ this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);
75
+ }
76
+ else {
77
+ SigWebTablet.SetTabletState(0, this.tmr, null);
78
+ this.tmr = null;
79
+ this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);
80
+ }
81
+ }
82
+ }
83
+ onClear() {
84
+ if (this.UploadFile == null) {
85
+ if (this.DeviceType == 'pinpad') {
86
+ SigWebTablet.ClearTablet();
87
+ if (this.cnvContext) {
88
+ this.cnvContext.clearRect(0, 0, this.canvas.nativeElement.width, this.canvas.nativeElement.height);
89
+ }
90
+ }
91
+ if (this.DeviceType == 'mousepad') {
92
+ this.signaturePad.clear();
93
+ }
94
+ }
95
+ else {
96
+ this.File = null;
97
+ this.UploadFile = null;
98
+ this.ChangeDevice();
99
+ }
100
+ }
101
+ onDone() {
102
+ var result = new OutputMessage();
103
+ if (this.UploadFile == null) {
104
+ if (this.DeviceType == 'pinpad') {
105
+ // if (Number(SigWebTablet.NumberOfTabletPoints()) === 0) {
106
+ // alert('Por favor firme antes de continuar');
107
+ // } else {
108
+ SigWebTablet.SetTabletState(0, this.tmr, null);
109
+ SigWebTablet.SetSigCompressionMode(1);
110
+ result.bioSigData = SigWebTablet.GetSigString();
111
+ result.sigImgData = SigWebTablet.GetSigString();
112
+ SigWebTablet.SetImageXSize(this.widthRender);
113
+ SigWebTablet.SetImageYSize(this.heightRender);
114
+ SigWebTablet.SetImagePenWidth(5);
115
+ SigWebTablet.GetSigImageB64((base64) => {
116
+ result.sigString = "data:image/png;base64," + base64;
117
+ this.OutputSignature.emit(result);
118
+ });
119
+ // }
120
+ }
121
+ if (this.DeviceType == 'mousepad') {
122
+ var result = new OutputMessage();
123
+ result.sigString = this.signaturePad.toDataURL();
124
+ this.OutputSignature.emit(result);
125
+ }
126
+ }
127
+ else {
128
+ result.sigString = this.UploadFile;
129
+ this.OutputSignature.emit(result);
130
+ }
131
+ }
132
+ fileEvent(event) {
133
+ this.UploadFile = null;
134
+ this.FileValidated = false;
135
+ const file = event.target.files[0];
136
+ if (file.type == 'image/jpeg' || file.type == 'image/png') {
137
+ this.FileValidated = false;
138
+ const newWidth = this.widthRender;
139
+ const newHeight = this.heightRender;
140
+ this.resizeImage(file, newWidth, newHeight)
141
+ .then((resizedImageDataUrl) => {
142
+ this.UploadFile = resizedImageDataUrl;
143
+ })
144
+ .catch((error) => {
145
+ console.error('Error al redimensionar la imagen:', error);
146
+ });
147
+ }
148
+ else {
149
+ this.File = null;
150
+ this.UploadFile = null;
151
+ this.FileValidated = true;
152
+ }
153
+ }
154
+ resizeImage(image, newWidth, newHeight) {
155
+ return new Promise((resolve, reject) => {
156
+ const reader = new FileReader();
157
+ reader.onload = (e) => {
158
+ const img = new Image();
159
+ img.src = e.target.result;
160
+ img.onload = () => {
161
+ const canvas = document.createElement('canvas');
162
+ const ctx = canvas.getContext('2d');
163
+ canvas.width = newWidth;
164
+ canvas.height = newHeight;
165
+ ctx.drawImage(img, 0, 0, newWidth, newHeight);
166
+ const resizedImageDataUrl = canvas.toDataURL(image.type);
167
+ resolve(resizedImageDataUrl);
168
+ };
169
+ img.onerror = (error) => {
170
+ reject(error);
171
+ };
172
+ };
173
+ reader.readAsDataURL(image);
174
+ });
175
+ }
176
+ }
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"] }] });
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, decorators: [{
180
+ type: Component,
181
+ args: [{
182
+ selector: 'lib-libey-ng-signature',
183
+ templateUrl: './libey-ng-signature.component.html',
184
+ styleUrls: ['./libey-ng-signature.component.css'],
185
+ }]
186
+ }], ctorParameters: function () { return []; }, propDecorators: { OutputSignature: [{
187
+ type: Output
188
+ }], DeviceType: [{
189
+ type: Input
190
+ }], canvas: [{
191
+ type: ViewChild,
192
+ args: ['sigImg', { static: false }]
193
+ }], signaturePad: [{
194
+ type: ViewChild,
195
+ args: [SignaturePad]
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
@@ -0,0 +1,53 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { LibeyNgSignatureComponent } from './libey-ng-signature/libey-ng-signature.component';
5
+ import { SignaturePadModule } from 'angular2-signaturepad';
6
+ import { NgSelectModule } from '@ng-select/ng-select';
7
+ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
8
+ import * as i0 from "@angular/core";
9
+ export class LibeyNgSignatureModule {
10
+ }
11
+ LibeyNgSignatureModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ LibeyNgSignatureModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, declarations: [LibeyNgSignatureComponent], imports: [FormsModule,
13
+ ReactiveFormsModule,
14
+ SignaturePadModule,
15
+ CommonModule,
16
+ NgSelectModule,
17
+ NgbModule], exports: [LibeyNgSignatureComponent,
18
+ SignaturePadModule,
19
+ NgSelectModule,
20
+ NgbModule] });
21
+ LibeyNgSignatureModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, imports: [[
22
+ FormsModule,
23
+ ReactiveFormsModule,
24
+ SignaturePadModule,
25
+ CommonModule,
26
+ NgSelectModule,
27
+ NgbModule
28
+ ], SignaturePadModule,
29
+ NgSelectModule,
30
+ NgbModule] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ declarations: [
35
+ LibeyNgSignatureComponent
36
+ ],
37
+ imports: [
38
+ FormsModule,
39
+ ReactiveFormsModule,
40
+ SignaturePadModule,
41
+ CommonModule,
42
+ NgSelectModule,
43
+ NgbModule
44
+ ],
45
+ exports: [
46
+ LibeyNgSignatureComponent,
47
+ SignaturePadModule,
48
+ NgSelectModule,
49
+ NgbModule
50
+ ]
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctc2lnbmF0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBcUJ2RCxNQUFNLE9BQU8sc0JBQXNCOztvSEFBdEIsc0JBQXNCO3FIQUF0QixzQkFBc0IsaUJBakIvQix5QkFBeUIsYUFHekIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGNBQWM7UUFDZCxTQUFTLGFBR1QseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsU0FBUztxSEFHQSxzQkFBc0IsWUFmeEI7WUFDUCxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osY0FBYztZQUNkLFNBQVM7U0FDVixFQUdDLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsU0FBUzs0RkFHQSxzQkFBc0I7a0JBbkJsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsU0FBUztxQkFDVjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsU0FBUztxQkFDVjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaWJleU5nU2lnbmF0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi9saWJleS1uZy1zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWduYXR1cmVQYWRNb2R1bGUgIH0gZnJvbSAnYW5ndWxhcjItc2lnbmF0dXJlcGFkJztcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBMaWJleU5nU2lnbmF0dXJlQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNpZ25hdHVyZVBhZE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgTmdiTW9kdWxlIFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTGliZXlOZ1NpZ25hdHVyZUNvbXBvbmVudCxcbiAgICBTaWduYXR1cmVQYWRNb2R1bGUsXG4gICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgTmdiTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGliZXlOZ1NpZ25hdHVyZU1vZHVsZSB7IH1cbiJdfQ==
@@ -7,4 +7,12 @@ export * from './lib/libey-ng-component-library.module';
7
7
  export * from './lib/table/libey-ng-table.module';
8
8
  export * from './lib/table/libey-ng-table.component';
9
9
  export * from './lib/table/directives/libey-column.directive';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGxpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL2xpYmV5LW5nLXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvZGlyZWN0aXZlcy9saWJleS1jb2x1bW4uZGlyZWN0aXZlJzsiXX0=
10
+ export * from './lib/signature/libey-ng-signature.module';
11
+ export * from './lib/signature/libey-ng-signature/libey-ng-signature.component';
12
+ export * from './utils/SigWeb/SigWeb';
13
+ import { SignaturePadModule, SignaturePad } from 'angular2-signaturepad';
14
+ export { SignaturePadModule, SignaturePad };
15
+ export { NgSelectModule } from '@ng-select/ng-select';
16
+ export { NgbModule } from '@ng-bootstrap/ng-bootstrap';
17
+ export * from '@popperjs/core';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGxpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL2xpYmV5LW5nLXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvZGlyZWN0aXZlcy9saWJleS1jb2x1bW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL1NpZ1dlYi9TaWdXZWInO1xuaW1wb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfSBmcm9tICdhbmd1bGFyMi1zaWduYXR1cmVwYWQnO1xuZXhwb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfTtcbmV4cG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuZXhwb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuZXhwb3J0ICogZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xuIl19