@viablelogic/ngx-signature-pad 7.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/lib/ngx-signature-pad.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/ngx-signature-pad.module.mjs +5 -5
- package/{fesm2015 → fesm2022}/viablelogic-ngx-signature-pad.mjs +7 -7
- package/{fesm2015 → fesm2022}/viablelogic-ngx-signature-pad.mjs.map +1 -1
- package/lib/ngx-signature-pad.component.d.ts +2 -2
- package/package.json +7 -13
- package/fesm2020/viablelogic-ngx-signature-pad.mjs +0 -152
- package/fesm2020/viablelogic-ngx-signature-pad.mjs.map +0 -1
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/viablelogic-ngx-signature-pad.mjs +0 -0
|
@@ -108,10 +108,10 @@ export class SignaturePad {
|
|
|
108
108
|
queryPad() {
|
|
109
109
|
return this.signaturePad;
|
|
110
110
|
}
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePad, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: SignaturePad, selector: "signature-pad", inputs: { options: "options" }, outputs: { onBeginEvent: "onBeginEvent", onEndEvent: "onEndEvent" }, ngImport: i0, template: '<canvas></canvas>', isInline: true }); }
|
|
111
113
|
}
|
|
112
|
-
|
|
113
|
-
SignaturePad.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: SignaturePad, selector: "signature-pad", inputs: { options: "options" }, outputs: { onBeginEvent: "onBeginEvent", onEndEvent: "onEndEvent" }, ngImport: i0, template: '<canvas></canvas>', isInline: true });
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePad, decorators: [{
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePad, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
116
|
args: [{
|
|
117
117
|
template: '<canvas></canvas>',
|
|
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
124
124
|
}], onEndEvent: [{
|
|
125
125
|
type: Output
|
|
126
126
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNpZ25hdHVyZS1wYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpZ25hdHVyZS1wYWQvc3JjL2xpYi9uZ3gtc2lnbmF0dXJlLXBhZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGVBQWUsQ0FBQzs7QUFjcEQsTUFBTSxPQUFPLFlBQVk7SUFRdkIsWUFBWSxVQUFzQjtRQU5qQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFNeEQsUUFBUTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixNQUFNLE1BQU0sR0FBUSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUUsSUFBSyxJQUFJLENBQUMsT0FBZSxDQUFDLFlBQVksRUFBRTtZQUN0QyxNQUFNLENBQUMsTUFBTSxHQUFJLElBQUksQ0FBQyxPQUFlLENBQUMsWUFBWSxDQUFDO1NBQ3BEO1FBRUQsSUFBSyxJQUFJLENBQUMsT0FBZSxDQUFDLFdBQVcsRUFBRTtZQUNyQyxNQUFNLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxPQUFlLENBQUMsV0FBVyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FB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QixPQUFPO3NCQUF0QixLQUFLO2dCQUNXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsVUFBVTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFNpZ25hdHVyZVBhZE5hdGl2ZSBmcm9tICdzaWduYXR1cmVfcGFkJztcblxuZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB0aW1lOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBvaW50R3JvdXAgPSBBcnJheTxQb2ludD47XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJzxjYW52YXM+PC9jYW52YXM+JyxcbiAgc2VsZWN0b3I6ICdzaWduYXR1cmUtcGFkJyxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmF0dXJlUGFkIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkJlZ2luRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25FbmRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHNpZ25hdHVyZVBhZDogYW55O1xuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIC8vIG5vIG9wXG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwge307XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbnZhczogYW55ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJyk7XG5cbiAgICBpZiAoKHRoaXMub3B0aW9ucyBhcyBhbnkpLmNhbnZhc0hlaWdodCkge1xuICAgICAgY2FudmFzLmhlaWdodCA9ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNIZWlnaHQ7XG4gICAgfVxuXG4gICAgaWYgKCh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNXaWR0aCkge1xuICAgICAgY2FudmFzLndpZHRoID0gKHRoaXMub3B0aW9ucyBhcyBhbnkpLmNhbnZhc1dpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuc2lnbmF0dXJlUGFkID0gbmV3IFNpZ25hdHVyZVBhZE5hdGl2ZS5kZWZhdWx0KGNhbnZhcywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5hZGRFdmVudExpc3RlbmVyKCdiZWdpblN0cm9rZScsIHRoaXMub25CZWdpbi5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5hZGRFdmVudExpc3RlbmVyKCdlbmRTdHJva2UnLCB0aGlzLm9uRW5kLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbnZhczogYW55ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJyk7XG4gICAgY2FudmFzLndpZHRoID0gMDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gMDtcblxuICAgIHRoaXMuc2lnbmF0dXJlUGFkLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JlZ2luU3Ryb2tlJywgdGhpcy5vbkJlZ2luKTtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5yZW1vdmVFdmVudExpc3RlbmVyKCdlbmRTdHJva2UnLCB0aGlzLm9uRW5kKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNpemVDYW52YXMoKTogdm9pZCB7XG4gICAgLy8gV2hlbiB6b29tZWQgb3V0IHRvIGxlc3MgdGhhbiAxMDAlLCBmb3Igc29tZSB2ZXJ5IHN0cmFuZ2UgcmVhc29uLFxuICAgIC8vIHNvbWUgYnJvd3NlcnMgcmVwb3J0IGRldmljZVBpeGVsUmF0aW8gYXMgbGVzcyB0aGFuIDFcbiAgICAvLyBhbmQgb25seSBwYXJ0IG9mIHRoZSBjYW52YXMgaXMgY2xlYXJlZCB0aGVuLlxuICAgIGNvbnN0IHJhdGlvOiBudW1iZXIgPSBNYXRoLm1heCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxLCAxKTtcbiAgICBjb25zdCBjYW52YXM6IGFueSA9IHRoaXMuc2lnbmF0dXJlUGFkLmNhbnZhcztcbiAgICBjYW52YXMud2lkdGggPSBjYW52YXMub2Zmc2V0V2lkdGggKiByYXRpbztcbiAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzLm9mZnNldEhlaWdodCAqIHJhdGlvO1xuICAgIGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLnNjYWxlKHJhdGlvLCByYXRpbyk7XG4gICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTsgLy8gb3RoZXJ3aXNlIGlzRW1wdHkoKSBtaWdodCByZXR1cm4gaW5jb3JyZWN0IHZhbHVlXG4gIH1cblxuICAvLyBSZXR1cm5zIHNpZ25hdHVyZSBpbWFnZSBhcyBhbiBhcnJheSBvZiBwb2ludCBncm91cHNcbiAgcHVibGljIHRvRGF0YSgpOiBBcnJheTxQb2ludEdyb3VwPiB7XG4gICAgaWYgKHRoaXMuc2lnbmF0dXJlUGFkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICAvLyBEcmF3cyBzaWduYXR1cmUgaW1hZ2UgZnJvbSBhbiBhcnJheSBvZiBwb2ludCBncm91cHNcbiAgcHVibGljIGZyb21EYXRhKHBvaW50czogQXJyYXk8UG9pbnRHcm91cD4pOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5mcm9tRGF0YShwb2ludHMgYXMgYW55KTtcbiAgfVxuXG4gIC8vIFJldHVybnMgc2lnbmF0dXJlIGltYWdlIGFzIGRhdGEgVVJMIChzZWUgaHR0cHM6Ly9tZG4uaW8vdG9kYXRhdXJsIGZvciB0aGUgbGlzdCBvZiBwb3NzaWJsZSBwYXJhbXRlcnMpXG4gIHB1YmxpYyB0b0RhdGFVUkwoaW1hZ2VUeXBlPzogc3RyaW5nLCBxdWFsaXR5PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhVVJMKGltYWdlVHlwZSwgcXVhbGl0eSk7IC8vIHNhdmUgaW1hZ2UgYXMgZGF0YSBVUkxcbiAgfVxuXG4gIC8vIERyYXdzIHNpZ25hdHVyZSBpbWFnZSBmcm9tIGRhdGEgVVJMXG4gIHB1YmxpYyBmcm9tRGF0YVVSTChkYXRhVVJMOiBzdHJpbmcsIG9wdGlvbnM6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgLy8gc2V0IGRlZmF1bHQgaGVpZ2h0IGFuZCB3aWR0aCBvbiByZWFkIGRhdGEgZnJvbSBVUkxcbiAgICBpZiAoXG4gICAgICAhb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnaGVpZ2h0JykgJiZcbiAgICAgICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNIZWlnaHRcbiAgICApIHtcbiAgICAgIG9wdGlvbnMuaGVpZ2h0ID0gKHRoaXMub3B0aW9ucyBhcyBhbnkpLmNhbnZhc0hlaWdodDtcbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLmhhc093blByb3BlcnR5KCd3aWR0aCcpICYmICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNXaWR0aCkge1xuICAgICAgb3B0aW9ucy53aWR0aCA9ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNXaWR0aDtcbiAgICB9XG4gICAgdGhpcy5zaWduYXR1cmVQYWQuZnJvbURhdGFVUkwoZGF0YVVSTCwgb3B0aW9ucyk7XG4gIH1cblxuICAvLyBDbGVhcnMgdGhlIGNhbnZhc1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcbiAgfVxuXG4gIC8vIFJldHVybnMgdHJ1ZSBpZiBjYW52YXMgaXMgZW1wdHksIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZVBhZC5pc0VtcHR5KCk7XG4gIH1cblxuICAvLyBVbmJpbmRzIGFsbCBldmVudCBoYW5kbGVyc1xuICBwdWJsaWMgb2ZmKCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmF0dXJlUGFkLm9mZigpO1xuICB9XG5cbiAgLy8gUmViaW5kcyBhbGwgZXZlbnQgaGFuZGxlcnNcbiAgcHVibGljIG9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmF0dXJlUGFkLm9uKCk7XG4gIH1cblxuICAvLyBzZXQgYW4gb3B0aW9uIG9uIHRoZSBzaWduYXR1cmVQYWQgLSBlLmcuIHNldCgnbWluV2lkdGgnLCA1MCk7XG4gIHB1YmxpYyBzZXQob3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgY2FzZSAnY2FudmFzSGVpZ2h0JzpcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2FudmFzLmhlaWdodCA9IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NhbnZhc1dpZHRoJzpcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2FudmFzLndpZHRoID0gdmFsdWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWRbb3B0aW9uXSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIG5vdGlmeSBzdWJzY3JpYmVycyBvbiBzaWduYXR1cmUgYmVnaW5cbiAgcHVibGljIG9uQmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5vbkJlZ2luRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8vIG5vdGlmeSBzdWJzY3JpYmVycyBvbiBzaWduYXR1cmUgZW5kXG4gIHB1YmxpYyBvbkVuZCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRW5kRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBxdWVyeVBhZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZVBhZDtcbiAgfVxufVxuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNpZ25hdHVyZS1wYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpZ25hdHVyZS1wYWQvc3JjL2xpYi9uZ3gtc2lnbmF0dXJlLXBhZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGVBQWUsQ0FBQzs7QUFjcEQsTUFBTSxPQUFPLFlBQVk7SUFRdkIsWUFBWSxVQUFzQjtRQU5qQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFNeEQsUUFBUTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixNQUFNLE1BQU0sR0FBUSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUUsSUFBSyxJQUFJLENBQUMsT0FBZSxDQUFDLFlBQVksRUFBRTtZQUN0QyxNQUFNLENBQUMsTUFBTSxHQUFJLElBQUksQ0FBQyxPQUFlLENBQUMsWUFBWSxDQUFDO1NBQ3BEO1FBRUQsSUFBSyxJQUFJLENBQUMsT0FBZSxDQUFDLFdBQVcsRUFBRTtZQUNyQyxNQUFNLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxPQUFlLENBQUMsV0FBVyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FB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QixPQUFPO3NCQUF0QixLQUFLO2dCQUNXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsVUFBVTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFNpZ25hdHVyZVBhZE5hdGl2ZSBmcm9tICdzaWduYXR1cmVfcGFkJztcblxuZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB0aW1lOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBvaW50R3JvdXAgPSBBcnJheTxQb2ludD47XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJzxjYW52YXM+PC9jYW52YXM+JyxcbiAgc2VsZWN0b3I6ICdzaWduYXR1cmUtcGFkJyxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmF0dXJlUGFkIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkJlZ2luRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25FbmRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHNpZ25hdHVyZVBhZDogYW55O1xuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIC8vIG5vIG9wXG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwge307XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbnZhczogYW55ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJyk7XG5cbiAgICBpZiAoKHRoaXMub3B0aW9ucyBhcyBhbnkpLmNhbnZhc0hlaWdodCkge1xuICAgICAgY2FudmFzLmhlaWdodCA9ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNIZWlnaHQ7XG4gICAgfVxuXG4gICAgaWYgKCh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNXaWR0aCkge1xuICAgICAgY2FudmFzLndpZHRoID0gKHRoaXMub3B0aW9ucyBhcyBhbnkpLmNhbnZhc1dpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuc2lnbmF0dXJlUGFkID0gbmV3IFNpZ25hdHVyZVBhZE5hdGl2ZS5kZWZhdWx0KGNhbnZhcywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5hZGRFdmVudExpc3RlbmVyKCdiZWdpblN0cm9rZScsIHRoaXMub25CZWdpbi5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5hZGRFdmVudExpc3RlbmVyKCdlbmRTdHJva2UnLCB0aGlzLm9uRW5kLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbnZhczogYW55ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJyk7XG4gICAgY2FudmFzLndpZHRoID0gMDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gMDtcblxuICAgIHRoaXMuc2lnbmF0dXJlUGFkLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JlZ2luU3Ryb2tlJywgdGhpcy5vbkJlZ2luKTtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5yZW1vdmVFdmVudExpc3RlbmVyKCdlbmRTdHJva2UnLCB0aGlzLm9uRW5kKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNpemVDYW52YXMoKTogdm9pZCB7XG4gICAgLy8gV2hlbiB6b29tZWQgb3V0IHRvIGxlc3MgdGhhbiAxMDAlLCBmb3Igc29tZSB2ZXJ5IHN0cmFuZ2UgcmVhc29uLFxuICAgIC8vIHNvbWUgYnJvd3NlcnMgcmVwb3J0IGRldmljZVBpeGVsUmF0aW8gYXMgbGVzcyB0aGFuIDFcbiAgICAvLyBhbmQgb25seSBwYXJ0IG9mIHRoZSBjYW52YXMgaXMgY2xlYXJlZCB0aGVuLlxuICAgIGNvbnN0IHJhdGlvOiBudW1iZXIgPSBNYXRoLm1heCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxLCAxKTtcbiAgICBjb25zdCBjYW52YXM6IGFueSA9IHRoaXMuc2lnbmF0dXJlUGFkLmNhbnZhcztcbiAgICBjYW52YXMud2lkdGggPSBjYW52YXMub2Zmc2V0V2lkdGggKiByYXRpbztcbiAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzLm9mZnNldEhlaWdodCAqIHJhdGlvO1xuICAgIGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLnNjYWxlKHJhdGlvLCByYXRpbyk7XG4gICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTsgLy8gb3RoZXJ3aXNlIGlzRW1wdHkoKSBtaWdodCByZXR1cm4gaW5jb3JyZWN0IHZhbHVlXG4gIH1cblxuICAvLyBSZXR1cm5zIHNpZ25hdHVyZSBpbWFnZSBhcyBhbiBhcnJheSBvZiBwb2ludCBncm91cHNcbiAgcHVibGljIHRvRGF0YSgpOiBBcnJheTxQb2ludEdyb3VwPiB7XG4gICAgaWYgKHRoaXMuc2lnbmF0dXJlUGFkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICAvLyBEcmF3cyBzaWduYXR1cmUgaW1hZ2UgZnJvbSBhbiBhcnJheSBvZiBwb2ludCBncm91cHNcbiAgcHVibGljIGZyb21EYXRhKHBvaW50czogQXJyYXk8UG9pbnRHcm91cD4pOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25hdHVyZVBhZC5mcm9tRGF0YShwb2ludHMgYXMgYW55KTtcbiAgfVxuXG4gIC8vIFJldHVybnMgc2lnbmF0dXJlIGltYWdlIGFzIGRhdGEgVVJMIChzZWUgaHR0cHM6Ly9tZG4uaW8vdG9kYXRhdXJsIGZvciB0aGUgbGlzdCBvZiBwb3NzaWJsZSBwYXJhbXRlcnMpXG4gIHB1YmxpYyB0b0RhdGFVUkwoaW1hZ2VUeXBlPzogc3RyaW5nLCBxdWFsaXR5PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhVVJMKGltYWdlVHlwZSwgcXVhbGl0eSk7IC8vIHNhdmUgaW1hZ2UgYXMgZGF0YSBVUkxcbiAgfVxuXG4gIC8vIERyYXdzIHNpZ25hdHVyZSBpbWFnZSBmcm9tIGRhdGEgVVJMXG4gIHB1YmxpYyBmcm9tRGF0YVVSTChkYXRhVVJMOiBzdHJpbmcsIG9wdGlvbnM6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgLy8gc2V0IGRlZmF1bHQgaGVpZ2h0IGFuZCB3aWR0aCBvbiByZWFkIGRhdGEgZnJvbSBVUkxcbiAgICBpZiAoXG4gICAgICAhb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnaGVpZ2h0JykgJiZcbiAgICAgICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNIZWlnaHRcbiAgICApIHtcbiAgICAgIG9wdGlvbnMuaGVpZ2h0ID0gKHRoaXMub3B0aW9ucyBhcyBhbnkpLmNhbnZhc0hlaWdodDtcbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLmhhc093blByb3BlcnR5KCd3aWR0aCcpICYmICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNXaWR0aCkge1xuICAgICAgb3B0aW9ucy53aWR0aCA9ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5jYW52YXNXaWR0aDtcbiAgICB9XG4gICAgdGhpcy5zaWduYXR1cmVQYWQuZnJvbURhdGFVUkwoZGF0YVVSTCwgb3B0aW9ucyk7XG4gIH1cblxuICAvLyBDbGVhcnMgdGhlIGNhbnZhc1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcbiAgfVxuXG4gIC8vIFJldHVybnMgdHJ1ZSBpZiBjYW52YXMgaXMgZW1wdHksIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZVBhZC5pc0VtcHR5KCk7XG4gIH1cblxuICAvLyBVbmJpbmRzIGFsbCBldmVudCBoYW5kbGVyc1xuICBwdWJsaWMgb2ZmKCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmF0dXJlUGFkLm9mZigpO1xuICB9XG5cbiAgLy8gUmViaW5kcyBhbGwgZXZlbnQgaGFuZGxlcnNcbiAgcHVibGljIG9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmF0dXJlUGFkLm9uKCk7XG4gIH1cblxuICAvLyBzZXQgYW4gb3B0aW9uIG9uIHRoZSBzaWduYXR1cmVQYWQgLSBlLmcuIHNldCgnbWluV2lkdGgnLCA1MCk7XG4gIHB1YmxpYyBzZXQob3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgY2FzZSAnY2FudmFzSGVpZ2h0JzpcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2FudmFzLmhlaWdodCA9IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NhbnZhc1dpZHRoJzpcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2FudmFzLndpZHRoID0gdmFsdWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWRbb3B0aW9uXSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIG5vdGlmeSBzdWJzY3JpYmVycyBvbiBzaWduYXR1cmUgYmVnaW5cbiAgcHVibGljIG9uQmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5vbkJlZ2luRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8vIG5vdGlmeSBzdWJzY3JpYmVycyBvbiBzaWduYXR1cmUgZW5kXG4gIHB1YmxpYyBvbkVuZCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRW5kRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBxdWVyeVBhZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZVBhZDtcbiAgfVxufVxuIl19
|
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { SignaturePad } from './ngx-signature-pad.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class SignaturePadModule {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule, declarations: [SignaturePad], exports: [SignaturePad] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule }); }
|
|
5
8
|
}
|
|
6
|
-
|
|
7
|
-
SignaturePadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, declarations: [SignaturePad], exports: [SignaturePad] });
|
|
8
|
-
SignaturePadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, decorators: [{
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [SignaturePad],
|
|
@@ -14,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
14
14
|
exports: [SignaturePad],
|
|
15
15
|
}]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNpZ25hdHVyZS1wYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpZ25hdHVyZS1wYWQvc3JjL2xpYi9uZ3gtc2lnbmF0dXJlLXBhZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBTzdELE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQUpkLFlBQVksYUFFakIsWUFBWTsrR0FFWCxrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUM1QixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNpZ25hdHVyZVBhZCB9IGZyb20gJy4vbmd4LXNpZ25hdHVyZS1wYWQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2lnbmF0dXJlUGFkXSxcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtTaWduYXR1cmVQYWRdLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduYXR1cmVQYWRNb2R1bGUge31cbiJdfQ==
|
|
@@ -109,10 +109,10 @@ class SignaturePad {
|
|
|
109
109
|
queryPad() {
|
|
110
110
|
return this.signaturePad;
|
|
111
111
|
}
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePad, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: SignaturePad, selector: "signature-pad", inputs: { options: "options" }, outputs: { onBeginEvent: "onBeginEvent", onEndEvent: "onEndEvent" }, ngImport: i0, template: '<canvas></canvas>', isInline: true }); }
|
|
112
114
|
}
|
|
113
|
-
|
|
114
|
-
SignaturePad.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: SignaturePad, selector: "signature-pad", inputs: { options: "options" }, outputs: { onBeginEvent: "onBeginEvent", onEndEvent: "onEndEvent" }, ngImport: i0, template: '<canvas></canvas>', isInline: true });
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePad, decorators: [{
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePad, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{
|
|
118
118
|
template: '<canvas></canvas>',
|
|
@@ -127,11 +127,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
127
127
|
}] } });
|
|
128
128
|
|
|
129
129
|
class SignaturePadModule {
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
131
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule, declarations: [SignaturePad], exports: [SignaturePad] }); }
|
|
132
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule }); }
|
|
130
133
|
}
|
|
131
|
-
|
|
132
|
-
SignaturePadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, declarations: [SignaturePad], exports: [SignaturePad] });
|
|
133
|
-
SignaturePadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule });
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, decorators: [{
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SignaturePadModule, decorators: [{
|
|
135
135
|
type: NgModule,
|
|
136
136
|
args: [{
|
|
137
137
|
declarations: [SignaturePad],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viablelogic-ngx-signature-pad.mjs","sources":["../../../projects/ngx-signature-pad/src/lib/ngx-signature-pad.component.ts","../../../projects/ngx-signature-pad/src/lib/ngx-signature-pad.module.ts","../../../projects/ngx-signature-pad/src/public-api.ts","../../../projects/ngx-signature-pad/src/viablelogic-ngx-signature-pad.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, EventEmitter, Input, Output, OnDestroy } from '@angular/core';\nimport * as SignaturePadNative from 'signature_pad';\n\nexport interface Point {\n x: number;\n y: number;\n time: number;\n}\n\nexport type PointGroup = Array<Point>;\n\n@Component({\n template: '<canvas></canvas>',\n selector: 'signature-pad',\n})\nexport class SignaturePad implements AfterContentInit, OnDestroy {\n @Input() public options: any;\n @Output() public onBeginEvent = new EventEmitter<boolean>();\n @Output() public onEndEvent = new EventEmitter<boolean>();\n\n private signaturePad: any;\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n // no op\n this.elementRef = elementRef;\n this.options = this.options || {};\n }\n\n public ngAfterContentInit(): void {\n const canvas: any = this.elementRef.nativeElement.querySelector('canvas');\n\n if ((this.options as any).canvasHeight) {\n canvas.height = (this.options as any).canvasHeight;\n }\n\n if ((this.options as any).canvasWidth) {\n canvas.width = (this.options as any).canvasWidth;\n }\n\n this.signaturePad = new SignaturePadNative.default(canvas, this.options);\n this.signaturePad.addEventListener('beginStroke', this.onBegin.bind(this));\n this.signaturePad.addEventListener('endStroke', this.onEnd.bind(this));\n }\n\n public ngOnDestroy(): void {\n const canvas: any = this.elementRef.nativeElement.querySelector('canvas');\n canvas.width = 0;\n canvas.height = 0;\n\n this.signaturePad.removeEventListener('beginStroke', this.onBegin);\n this.signaturePad.removeEventListener('endStroke', this.onEnd);\n }\n\n public resizeCanvas(): void {\n // When zoomed out to less than 100%, for some very strange reason,\n // some browsers report devicePixelRatio as less than 1\n // and only part of the canvas is cleared then.\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\n const canvas: any = this.signaturePad.canvas;\n canvas.width = canvas.offsetWidth * ratio;\n canvas.height = canvas.offsetHeight * ratio;\n canvas.getContext('2d').scale(ratio, ratio);\n this.signaturePad.clear(); // otherwise isEmpty() might return incorrect value\n }\n\n // Returns signature image as an array of point groups\n public toData(): Array<PointGroup> {\n if (this.signaturePad) {\n return this.signaturePad.toData();\n } else {\n return [];\n }\n }\n\n // Draws signature image from an array of point groups\n public fromData(points: Array<PointGroup>): void {\n this.signaturePad.fromData(points as any);\n }\n\n // Returns signature image as data URL (see https://mdn.io/todataurl for the list of possible paramters)\n public toDataURL(imageType?: string, quality?: number): string {\n return this.signaturePad.toDataURL(imageType, quality); // save image as data URL\n }\n\n // Draws signature image from data URL\n public fromDataURL(dataURL: string, options: any = {}): void {\n // set default height and width on read data from URL\n if (\n !options.hasOwnProperty('height') &&\n (this.options as any).canvasHeight\n ) {\n options.height = (this.options as any).canvasHeight;\n }\n if (!options.hasOwnProperty('width') && (this.options as any).canvasWidth) {\n options.width = (this.options as any).canvasWidth;\n }\n this.signaturePad.fromDataURL(dataURL, options);\n }\n\n // Clears the canvas\n public clear(): void {\n this.signaturePad.clear();\n }\n\n // Returns true if canvas is empty, otherwise returns false\n public isEmpty(): boolean {\n return this.signaturePad.isEmpty();\n }\n\n // Unbinds all event handlers\n public off(): void {\n this.signaturePad.off();\n }\n\n // Rebinds all event handlers\n public on(): void {\n this.signaturePad.on();\n }\n\n // set an option on the signaturePad - e.g. set('minWidth', 50);\n public set(option: string, value: any): void {\n switch (option) {\n case 'canvasHeight':\n this.signaturePad.canvas.height = value;\n break;\n case 'canvasWidth':\n this.signaturePad.canvas.width = value;\n break;\n default:\n this.signaturePad[option] = value;\n }\n }\n\n // notify subscribers on signature begin\n public onBegin(): void {\n this.onBeginEvent.emit(true);\n }\n\n // notify subscribers on signature end\n public onEnd(): void {\n this.onEndEvent.emit(true);\n }\n\n public queryPad(): any {\n return this.signaturePad;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SignaturePad } from './ngx-signature-pad.component';\n\n@NgModule({\n declarations: [SignaturePad],\n imports: [],\n exports: [SignaturePad],\n})\nexport class SignaturePadModule {}\n","/*\n * Public API Surface of ngx-signature-pad\n */\n\nexport * from './lib/ngx-signature-pad.component';\nexport * from './lib/ngx-signature-pad.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"viablelogic-ngx-signature-pad.mjs","sources":["../../../projects/ngx-signature-pad/src/lib/ngx-signature-pad.component.ts","../../../projects/ngx-signature-pad/src/lib/ngx-signature-pad.module.ts","../../../projects/ngx-signature-pad/src/public-api.ts","../../../projects/ngx-signature-pad/src/viablelogic-ngx-signature-pad.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, EventEmitter, Input, Output, OnDestroy } from '@angular/core';\nimport * as SignaturePadNative from 'signature_pad';\n\nexport interface Point {\n x: number;\n y: number;\n time: number;\n}\n\nexport type PointGroup = Array<Point>;\n\n@Component({\n template: '<canvas></canvas>',\n selector: 'signature-pad',\n})\nexport class SignaturePad implements AfterContentInit, OnDestroy {\n @Input() public options: any;\n @Output() public onBeginEvent = new EventEmitter<boolean>();\n @Output() public onEndEvent = new EventEmitter<boolean>();\n\n private signaturePad: any;\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n // no op\n this.elementRef = elementRef;\n this.options = this.options || {};\n }\n\n public ngAfterContentInit(): void {\n const canvas: any = this.elementRef.nativeElement.querySelector('canvas');\n\n if ((this.options as any).canvasHeight) {\n canvas.height = (this.options as any).canvasHeight;\n }\n\n if ((this.options as any).canvasWidth) {\n canvas.width = (this.options as any).canvasWidth;\n }\n\n this.signaturePad = new SignaturePadNative.default(canvas, this.options);\n this.signaturePad.addEventListener('beginStroke', this.onBegin.bind(this));\n this.signaturePad.addEventListener('endStroke', this.onEnd.bind(this));\n }\n\n public ngOnDestroy(): void {\n const canvas: any = this.elementRef.nativeElement.querySelector('canvas');\n canvas.width = 0;\n canvas.height = 0;\n\n this.signaturePad.removeEventListener('beginStroke', this.onBegin);\n this.signaturePad.removeEventListener('endStroke', this.onEnd);\n }\n\n public resizeCanvas(): void {\n // When zoomed out to less than 100%, for some very strange reason,\n // some browsers report devicePixelRatio as less than 1\n // and only part of the canvas is cleared then.\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\n const canvas: any = this.signaturePad.canvas;\n canvas.width = canvas.offsetWidth * ratio;\n canvas.height = canvas.offsetHeight * ratio;\n canvas.getContext('2d').scale(ratio, ratio);\n this.signaturePad.clear(); // otherwise isEmpty() might return incorrect value\n }\n\n // Returns signature image as an array of point groups\n public toData(): Array<PointGroup> {\n if (this.signaturePad) {\n return this.signaturePad.toData();\n } else {\n return [];\n }\n }\n\n // Draws signature image from an array of point groups\n public fromData(points: Array<PointGroup>): void {\n this.signaturePad.fromData(points as any);\n }\n\n // Returns signature image as data URL (see https://mdn.io/todataurl for the list of possible paramters)\n public toDataURL(imageType?: string, quality?: number): string {\n return this.signaturePad.toDataURL(imageType, quality); // save image as data URL\n }\n\n // Draws signature image from data URL\n public fromDataURL(dataURL: string, options: any = {}): void {\n // set default height and width on read data from URL\n if (\n !options.hasOwnProperty('height') &&\n (this.options as any).canvasHeight\n ) {\n options.height = (this.options as any).canvasHeight;\n }\n if (!options.hasOwnProperty('width') && (this.options as any).canvasWidth) {\n options.width = (this.options as any).canvasWidth;\n }\n this.signaturePad.fromDataURL(dataURL, options);\n }\n\n // Clears the canvas\n public clear(): void {\n this.signaturePad.clear();\n }\n\n // Returns true if canvas is empty, otherwise returns false\n public isEmpty(): boolean {\n return this.signaturePad.isEmpty();\n }\n\n // Unbinds all event handlers\n public off(): void {\n this.signaturePad.off();\n }\n\n // Rebinds all event handlers\n public on(): void {\n this.signaturePad.on();\n }\n\n // set an option on the signaturePad - e.g. set('minWidth', 50);\n public set(option: string, value: any): void {\n switch (option) {\n case 'canvasHeight':\n this.signaturePad.canvas.height = value;\n break;\n case 'canvasWidth':\n this.signaturePad.canvas.width = value;\n break;\n default:\n this.signaturePad[option] = value;\n }\n }\n\n // notify subscribers on signature begin\n public onBegin(): void {\n this.onBeginEvent.emit(true);\n }\n\n // notify subscribers on signature end\n public onEnd(): void {\n this.onEndEvent.emit(true);\n }\n\n public queryPad(): any {\n return this.signaturePad;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SignaturePad } from './ngx-signature-pad.component';\n\n@NgModule({\n declarations: [SignaturePad],\n imports: [],\n exports: [SignaturePad],\n})\nexport class SignaturePadModule {}\n","/*\n * Public API Surface of ngx-signature-pad\n */\n\nexport * from './lib/ngx-signature-pad.component';\nexport * from './lib/ngx-signature-pad.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export interface Point {
|
|
|
5
5
|
y: number;
|
|
6
6
|
time: number;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export type PointGroup = Array<Point>;
|
|
9
9
|
export declare class SignaturePad implements AfterContentInit, OnDestroy {
|
|
10
10
|
options: any;
|
|
11
11
|
onBeginEvent: EventEmitter<boolean>;
|
|
@@ -29,5 +29,5 @@ export declare class SignaturePad implements AfterContentInit, OnDestroy {
|
|
|
29
29
|
onEnd(): void;
|
|
30
30
|
queryPad(): any;
|
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<SignaturePad, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SignaturePad, "signature-pad", never, { "options": "options"; }, { "onBeginEvent": "onBeginEvent"; "onEndEvent": "onEndEvent"; }, never, never, false>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SignaturePad, "signature-pad", never, { "options": { "alias": "options"; "required": false; }; }, { "onBeginEvent": "onBeginEvent"; "onEndEvent": "onEndEvent"; }, never, never, false, never>;
|
|
33
33
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@viablelogic/ngx-signature-pad",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "Angular Component wrapper for szimek / signature_pad",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,18 +15,14 @@
|
|
|
15
15
|
"author": "Wulf Solter <wulf@wulf.co.nz> (http://wulf.co.nz)",
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@angular/common": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
|
|
19
|
-
"@angular/core": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0"
|
|
18
|
+
"@angular/common": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
|
|
19
|
+
"@angular/core": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"signature_pad": "4.0.9",
|
|
23
23
|
"tslib": "^2.0.0"
|
|
24
24
|
},
|
|
25
|
-
"module": "
|
|
26
|
-
"es2020": "fesm2020/viablelogic-ngx-signature-pad.mjs",
|
|
27
|
-
"esm2020": "esm2020/viablelogic-ngx-signature-pad.mjs",
|
|
28
|
-
"fesm2020": "fesm2020/viablelogic-ngx-signature-pad.mjs",
|
|
29
|
-
"fesm2015": "fesm2015/viablelogic-ngx-signature-pad.mjs",
|
|
25
|
+
"module": "fesm2022/viablelogic-ngx-signature-pad.mjs",
|
|
30
26
|
"typings": "index.d.ts",
|
|
31
27
|
"exports": {
|
|
32
28
|
"./package.json": {
|
|
@@ -34,11 +30,9 @@
|
|
|
34
30
|
},
|
|
35
31
|
".": {
|
|
36
32
|
"types": "./index.d.ts",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"node": "./fesm2015/viablelogic-ngx-signature-pad.mjs",
|
|
41
|
-
"default": "./fesm2020/viablelogic-ngx-signature-pad.mjs"
|
|
33
|
+
"esm2022": "./esm2022/viablelogic-ngx-signature-pad.mjs",
|
|
34
|
+
"esm": "./esm2022/viablelogic-ngx-signature-pad.mjs",
|
|
35
|
+
"default": "./fesm2022/viablelogic-ngx-signature-pad.mjs"
|
|
42
36
|
}
|
|
43
37
|
},
|
|
44
38
|
"sideEffects": false
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
|
|
3
|
-
import * as SignaturePadNative from 'signature_pad';
|
|
4
|
-
|
|
5
|
-
class SignaturePad {
|
|
6
|
-
constructor(elementRef) {
|
|
7
|
-
this.onBeginEvent = new EventEmitter();
|
|
8
|
-
this.onEndEvent = new EventEmitter();
|
|
9
|
-
// no op
|
|
10
|
-
this.elementRef = elementRef;
|
|
11
|
-
this.options = this.options || {};
|
|
12
|
-
}
|
|
13
|
-
ngAfterContentInit() {
|
|
14
|
-
const canvas = this.elementRef.nativeElement.querySelector('canvas');
|
|
15
|
-
if (this.options.canvasHeight) {
|
|
16
|
-
canvas.height = this.options.canvasHeight;
|
|
17
|
-
}
|
|
18
|
-
if (this.options.canvasWidth) {
|
|
19
|
-
canvas.width = this.options.canvasWidth;
|
|
20
|
-
}
|
|
21
|
-
this.signaturePad = new SignaturePadNative.default(canvas, this.options);
|
|
22
|
-
this.signaturePad.addEventListener('beginStroke', this.onBegin.bind(this));
|
|
23
|
-
this.signaturePad.addEventListener('endStroke', this.onEnd.bind(this));
|
|
24
|
-
}
|
|
25
|
-
ngOnDestroy() {
|
|
26
|
-
const canvas = this.elementRef.nativeElement.querySelector('canvas');
|
|
27
|
-
canvas.width = 0;
|
|
28
|
-
canvas.height = 0;
|
|
29
|
-
this.signaturePad.removeEventListener('beginStroke', this.onBegin);
|
|
30
|
-
this.signaturePad.removeEventListener('endStroke', this.onEnd);
|
|
31
|
-
}
|
|
32
|
-
resizeCanvas() {
|
|
33
|
-
// When zoomed out to less than 100%, for some very strange reason,
|
|
34
|
-
// some browsers report devicePixelRatio as less than 1
|
|
35
|
-
// and only part of the canvas is cleared then.
|
|
36
|
-
const ratio = Math.max(window.devicePixelRatio || 1, 1);
|
|
37
|
-
const canvas = this.signaturePad.canvas;
|
|
38
|
-
canvas.width = canvas.offsetWidth * ratio;
|
|
39
|
-
canvas.height = canvas.offsetHeight * ratio;
|
|
40
|
-
canvas.getContext('2d').scale(ratio, ratio);
|
|
41
|
-
this.signaturePad.clear(); // otherwise isEmpty() might return incorrect value
|
|
42
|
-
}
|
|
43
|
-
// Returns signature image as an array of point groups
|
|
44
|
-
toData() {
|
|
45
|
-
if (this.signaturePad) {
|
|
46
|
-
return this.signaturePad.toData();
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// Draws signature image from an array of point groups
|
|
53
|
-
fromData(points) {
|
|
54
|
-
this.signaturePad.fromData(points);
|
|
55
|
-
}
|
|
56
|
-
// Returns signature image as data URL (see https://mdn.io/todataurl for the list of possible paramters)
|
|
57
|
-
toDataURL(imageType, quality) {
|
|
58
|
-
return this.signaturePad.toDataURL(imageType, quality); // save image as data URL
|
|
59
|
-
}
|
|
60
|
-
// Draws signature image from data URL
|
|
61
|
-
fromDataURL(dataURL, options = {}) {
|
|
62
|
-
// set default height and width on read data from URL
|
|
63
|
-
if (!options.hasOwnProperty('height') &&
|
|
64
|
-
this.options.canvasHeight) {
|
|
65
|
-
options.height = this.options.canvasHeight;
|
|
66
|
-
}
|
|
67
|
-
if (!options.hasOwnProperty('width') && this.options.canvasWidth) {
|
|
68
|
-
options.width = this.options.canvasWidth;
|
|
69
|
-
}
|
|
70
|
-
this.signaturePad.fromDataURL(dataURL, options);
|
|
71
|
-
}
|
|
72
|
-
// Clears the canvas
|
|
73
|
-
clear() {
|
|
74
|
-
this.signaturePad.clear();
|
|
75
|
-
}
|
|
76
|
-
// Returns true if canvas is empty, otherwise returns false
|
|
77
|
-
isEmpty() {
|
|
78
|
-
return this.signaturePad.isEmpty();
|
|
79
|
-
}
|
|
80
|
-
// Unbinds all event handlers
|
|
81
|
-
off() {
|
|
82
|
-
this.signaturePad.off();
|
|
83
|
-
}
|
|
84
|
-
// Rebinds all event handlers
|
|
85
|
-
on() {
|
|
86
|
-
this.signaturePad.on();
|
|
87
|
-
}
|
|
88
|
-
// set an option on the signaturePad - e.g. set('minWidth', 50);
|
|
89
|
-
set(option, value) {
|
|
90
|
-
switch (option) {
|
|
91
|
-
case 'canvasHeight':
|
|
92
|
-
this.signaturePad.canvas.height = value;
|
|
93
|
-
break;
|
|
94
|
-
case 'canvasWidth':
|
|
95
|
-
this.signaturePad.canvas.width = value;
|
|
96
|
-
break;
|
|
97
|
-
default:
|
|
98
|
-
this.signaturePad[option] = value;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
// notify subscribers on signature begin
|
|
102
|
-
onBegin() {
|
|
103
|
-
this.onBeginEvent.emit(true);
|
|
104
|
-
}
|
|
105
|
-
// notify subscribers on signature end
|
|
106
|
-
onEnd() {
|
|
107
|
-
this.onEndEvent.emit(true);
|
|
108
|
-
}
|
|
109
|
-
queryPad() {
|
|
110
|
-
return this.signaturePad;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
SignaturePad.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePad, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
-
SignaturePad.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: SignaturePad, selector: "signature-pad", inputs: { options: "options" }, outputs: { onBeginEvent: "onBeginEvent", onEndEvent: "onEndEvent" }, ngImport: i0, template: '<canvas></canvas>', isInline: true });
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePad, decorators: [{
|
|
116
|
-
type: Component,
|
|
117
|
-
args: [{
|
|
118
|
-
template: '<canvas></canvas>',
|
|
119
|
-
selector: 'signature-pad',
|
|
120
|
-
}]
|
|
121
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { options: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], onBeginEvent: [{
|
|
124
|
-
type: Output
|
|
125
|
-
}], onEndEvent: [{
|
|
126
|
-
type: Output
|
|
127
|
-
}] } });
|
|
128
|
-
|
|
129
|
-
class SignaturePadModule {
|
|
130
|
-
}
|
|
131
|
-
SignaturePadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
132
|
-
SignaturePadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, declarations: [SignaturePad], exports: [SignaturePad] });
|
|
133
|
-
SignaturePadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule });
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SignaturePadModule, decorators: [{
|
|
135
|
-
type: NgModule,
|
|
136
|
-
args: [{
|
|
137
|
-
declarations: [SignaturePad],
|
|
138
|
-
imports: [],
|
|
139
|
-
exports: [SignaturePad],
|
|
140
|
-
}]
|
|
141
|
-
}] });
|
|
142
|
-
|
|
143
|
-
/*
|
|
144
|
-
* Public API Surface of ngx-signature-pad
|
|
145
|
-
*/
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Generated bundle index. Do not edit.
|
|
149
|
-
*/
|
|
150
|
-
|
|
151
|
-
export { SignaturePad, SignaturePadModule };
|
|
152
|
-
//# sourceMappingURL=viablelogic-ngx-signature-pad.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"viablelogic-ngx-signature-pad.mjs","sources":["../../../projects/ngx-signature-pad/src/lib/ngx-signature-pad.component.ts","../../../projects/ngx-signature-pad/src/lib/ngx-signature-pad.module.ts","../../../projects/ngx-signature-pad/src/public-api.ts","../../../projects/ngx-signature-pad/src/viablelogic-ngx-signature-pad.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, EventEmitter, Input, Output, OnDestroy } from '@angular/core';\nimport * as SignaturePadNative from 'signature_pad';\n\nexport interface Point {\n x: number;\n y: number;\n time: number;\n}\n\nexport type PointGroup = Array<Point>;\n\n@Component({\n template: '<canvas></canvas>',\n selector: 'signature-pad',\n})\nexport class SignaturePad implements AfterContentInit, OnDestroy {\n @Input() public options: any;\n @Output() public onBeginEvent = new EventEmitter<boolean>();\n @Output() public onEndEvent = new EventEmitter<boolean>();\n\n private signaturePad: any;\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n // no op\n this.elementRef = elementRef;\n this.options = this.options || {};\n }\n\n public ngAfterContentInit(): void {\n const canvas: any = this.elementRef.nativeElement.querySelector('canvas');\n\n if ((this.options as any).canvasHeight) {\n canvas.height = (this.options as any).canvasHeight;\n }\n\n if ((this.options as any).canvasWidth) {\n canvas.width = (this.options as any).canvasWidth;\n }\n\n this.signaturePad = new SignaturePadNative.default(canvas, this.options);\n this.signaturePad.addEventListener('beginStroke', this.onBegin.bind(this));\n this.signaturePad.addEventListener('endStroke', this.onEnd.bind(this));\n }\n\n public ngOnDestroy(): void {\n const canvas: any = this.elementRef.nativeElement.querySelector('canvas');\n canvas.width = 0;\n canvas.height = 0;\n\n this.signaturePad.removeEventListener('beginStroke', this.onBegin);\n this.signaturePad.removeEventListener('endStroke', this.onEnd);\n }\n\n public resizeCanvas(): void {\n // When zoomed out to less than 100%, for some very strange reason,\n // some browsers report devicePixelRatio as less than 1\n // and only part of the canvas is cleared then.\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\n const canvas: any = this.signaturePad.canvas;\n canvas.width = canvas.offsetWidth * ratio;\n canvas.height = canvas.offsetHeight * ratio;\n canvas.getContext('2d').scale(ratio, ratio);\n this.signaturePad.clear(); // otherwise isEmpty() might return incorrect value\n }\n\n // Returns signature image as an array of point groups\n public toData(): Array<PointGroup> {\n if (this.signaturePad) {\n return this.signaturePad.toData();\n } else {\n return [];\n }\n }\n\n // Draws signature image from an array of point groups\n public fromData(points: Array<PointGroup>): void {\n this.signaturePad.fromData(points as any);\n }\n\n // Returns signature image as data URL (see https://mdn.io/todataurl for the list of possible paramters)\n public toDataURL(imageType?: string, quality?: number): string {\n return this.signaturePad.toDataURL(imageType, quality); // save image as data URL\n }\n\n // Draws signature image from data URL\n public fromDataURL(dataURL: string, options: any = {}): void {\n // set default height and width on read data from URL\n if (\n !options.hasOwnProperty('height') &&\n (this.options as any).canvasHeight\n ) {\n options.height = (this.options as any).canvasHeight;\n }\n if (!options.hasOwnProperty('width') && (this.options as any).canvasWidth) {\n options.width = (this.options as any).canvasWidth;\n }\n this.signaturePad.fromDataURL(dataURL, options);\n }\n\n // Clears the canvas\n public clear(): void {\n this.signaturePad.clear();\n }\n\n // Returns true if canvas is empty, otherwise returns false\n public isEmpty(): boolean {\n return this.signaturePad.isEmpty();\n }\n\n // Unbinds all event handlers\n public off(): void {\n this.signaturePad.off();\n }\n\n // Rebinds all event handlers\n public on(): void {\n this.signaturePad.on();\n }\n\n // set an option on the signaturePad - e.g. set('minWidth', 50);\n public set(option: string, value: any): void {\n switch (option) {\n case 'canvasHeight':\n this.signaturePad.canvas.height = value;\n break;\n case 'canvasWidth':\n this.signaturePad.canvas.width = value;\n break;\n default:\n this.signaturePad[option] = value;\n }\n }\n\n // notify subscribers on signature begin\n public onBegin(): void {\n this.onBeginEvent.emit(true);\n }\n\n // notify subscribers on signature end\n public onEnd(): void {\n this.onEndEvent.emit(true);\n }\n\n public queryPad(): any {\n return this.signaturePad;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SignaturePad } from './ngx-signature-pad.component';\n\n@NgModule({\n declarations: [SignaturePad],\n imports: [],\n exports: [SignaturePad],\n})\nexport class SignaturePadModule {}\n","/*\n * Public API Surface of ngx-signature-pad\n */\n\nexport * from './lib/ngx-signature-pad.component';\nexport * from './lib/ngx-signature-pad.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|